Fix T58636: repeat image in UV editor not working.

A little too much code got removed in fb24813.
This commit is contained in:
Brecht Van Lommel 2018-12-03 20:06:10 +01:00
parent dc26c5e1ad
commit f0432e37ab
Notes: blender-bot 2023-02-14 04:45:01 +01:00
Referenced by issue #58799, Dynamic Paint shows no color
Referenced by issue #58747, Blender 2.8 - Select Linked DupliCollection is named Dupligroup
Referenced by issue #58710, Eevee material preview white
Referenced by issue #58660, Blender 2.8 - A face cannot be in two face maps
Referenced by issue #58652, blender 2.8 - hard crash - editing shape keys weirdness with instances
Referenced by issue #58656, Running reload scripts operator shifts toolbar icons
Referenced by issue #58657, Blender 2.8 - 2.7x Keymap does not honor Alt A to play timeline
Referenced by issue #58636, "Repeat Image" button in UV/Image Editor not working
1 changed files with 24 additions and 1 deletions

View File

@ -549,6 +549,26 @@ static void draw_image_buffer(const bContext *C, SpaceImage *sima, ARegion *ar,
}
}
static void draw_image_buffer_repeated(const bContext *C, SpaceImage *sima, ARegion *ar, Scene *scene, ImBuf *ibuf, float zoomx, float zoomy)
{
const double time_current = PIL_check_seconds_timer();
const int xmax = ceil(ar->v2d.cur.xmax);
const int ymax = ceil(ar->v2d.cur.ymax);
const int xmin = floor(ar->v2d.cur.xmin);
const int ymin = floor(ar->v2d.cur.ymin);
for (int x = xmin; x < xmax; x++) {
for (int y = ymin; y < ymax; y++) {
draw_image_buffer(C, sima, ar, scene, ibuf, x, y, zoomx, zoomy);
/* only draw until running out of time */
if ((PIL_check_seconds_timer() - time_current) > 0.25)
return;
}
}
}
/* draw uv edit */
/* draw grease pencil */
@ -699,7 +719,10 @@ void draw_image_main(const bContext *C, ARegion *ar)
ED_region_grid_draw(ar, zoomx, zoomy);
}
else {
draw_image_buffer(C, sima, ar, scene, ibuf, 0.0f, 0.0f, zoomx, zoomy);
if (sima->flag & SI_DRAW_TILE)
draw_image_buffer_repeated(C, sima, ar, scene, ibuf, zoomx, zoomy);
else
draw_image_buffer(C, sima, ar, scene, ibuf, 0.0f, 0.0f, zoomx, zoomy);
if (sima->flag & SI_DRAW_METADATA) {
int x, y;