forked from bartvdbraak/blender
Merge branch 'blender-v2.82-release'
This commit is contained in:
commit
8c353931af
@ -781,6 +781,29 @@ static int image_view_all_exec(bContext *C, wmOperator *op)
|
||||
w = width * aspx;
|
||||
h = height * aspy;
|
||||
|
||||
float xof = 0.0f, yof = 0.0f;
|
||||
if ((sima->image == NULL) || (sima->image->source == IMA_SRC_TILED)) {
|
||||
/* Extend the shown area to cover all UDIM tiles. */
|
||||
int x_tiles, y_tiles;
|
||||
if (sima->image == NULL) {
|
||||
x_tiles = sima->tile_grid_shape[0];
|
||||
y_tiles = sima->tile_grid_shape[1];
|
||||
}
|
||||
else {
|
||||
x_tiles = y_tiles = 1;
|
||||
LISTBASE_FOREACH (ImageTile *, tile, &sima->image->tiles) {
|
||||
int tile_x = (tile->tile_number - 1001) % 10;
|
||||
int tile_y = (tile->tile_number - 1001) / 10;
|
||||
x_tiles = max_ii(x_tiles, tile_x + 1);
|
||||
y_tiles = max_ii(y_tiles, tile_y + 1);
|
||||
}
|
||||
}
|
||||
xof = 0.5f * (x_tiles - 1.0f) * w;
|
||||
yof = 0.5f * (y_tiles - 1.0f) * h;
|
||||
w *= x_tiles;
|
||||
h *= y_tiles;
|
||||
}
|
||||
|
||||
/* check if the image will fit in the image with (zoom == 1) */
|
||||
width = BLI_rcti_size_x(&ar->winrct) + 1;
|
||||
height = BLI_rcti_size_y(&ar->winrct) + 1;
|
||||
@ -806,7 +829,8 @@ static int image_view_all_exec(bContext *C, wmOperator *op)
|
||||
}
|
||||
}
|
||||
|
||||
sima->xof = sima->yof = 0.0f;
|
||||
sima->xof = xof;
|
||||
sima->yof = yof;
|
||||
|
||||
ED_region_tag_redraw(ar);
|
||||
|
||||
@ -4346,7 +4370,13 @@ static int tile_add_exec(bContext *C, wmOperator *op)
|
||||
Image *ima = CTX_data_edit_image(C);
|
||||
|
||||
int start_tile = RNA_int_get(op->ptr, "number");
|
||||
int end_tile = min_ii(start_tile + RNA_int_get(op->ptr, "count"), IMA_UDIM_MAX);
|
||||
int end_tile = start_tile + RNA_int_get(op->ptr, "count");
|
||||
|
||||
if (start_tile < 1001 || end_tile > IMA_UDIM_MAX) {
|
||||
BKE_report(op->reports, RPT_ERROR, "Invalid UDIM index range was specified");
|
||||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
|
||||
bool fill_tile = RNA_boolean_get(op->ptr, "fill");
|
||||
char *label = RNA_string_get_alloc(op->ptr, "label", NULL, 0);
|
||||
|
||||
@ -4442,8 +4472,15 @@ void IMAGE_OT_tile_add(wmOperatorType *ot)
|
||||
/* flags */
|
||||
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
|
||||
|
||||
RNA_def_int(
|
||||
ot->srna, "number", 1002, 1001, INT_MAX, "Number", "UDIM number of the tile", 1001, 1099);
|
||||
RNA_def_int(ot->srna,
|
||||
"number",
|
||||
1002,
|
||||
1001,
|
||||
IMA_UDIM_MAX,
|
||||
"Number",
|
||||
"UDIM number of the tile",
|
||||
1001,
|
||||
1099);
|
||||
RNA_def_int(ot->srna, "count", 1, 1, INT_MAX, "Count", "How many tiles to add", 1, 1000);
|
||||
RNA_def_string(ot->srna, "label", NULL, 0, "Label", "Optional tile label");
|
||||
RNA_def_boolean(ot->srna, "fill", true, "Fill", "Fill new tile with a generated image");
|
||||
|
Loading…
Reference in New Issue
Block a user