* Make image Histogram only update when region is visible

* Clean up some remaining code
This commit is contained in:
Matt Ebb 2010-01-19 02:26:36 +00:00
parent b079dcc140
commit 2fa3baf30b
2 changed files with 17 additions and 16 deletions

@ -204,16 +204,6 @@ void draw_image_info(ARegion *ar, int channels, int x, int y, char *cp, float *f
UI_DrawString(10, 10, str);
}
static inline int get_bin_float(float f)
{
CLAMP(f, 0.0, 1.0);
//return (int) (((f + 0.25) / 1.5) * 512);
return (int)(f * 511);
}
/* image drawing */
static void draw_image_grid(ARegion *ar, float zoomx, float zoomy)

@ -75,6 +75,21 @@
#include "image_intern.h"
static void image_histogram_tag_refresh(ScrArea *sa)
{
SpaceImage *sima= (SpaceImage *)sa->spacedata.first;
ARegion *ar;
/* only while histogram is visible */
for (ar=sa->regionbase.first; ar; ar=ar->next) {
if (ar->regiontype == RGN_TYPE_PREVIEW && ar->flag & RGN_FLAG_HIDDEN)
return;
}
sima->hist.ok=0;
}
/* ******************** manage regions ********************* */
ARegion *image_has_buttons_region(ScrArea *sa)
@ -128,6 +143,8 @@ ARegion *image_has_scope_region(ScrArea *sa)
arnew->flag = RGN_FLAG_HIDDEN;
image_histogram_tag_refresh(sa);
return arnew;
}
@ -315,12 +332,6 @@ static void image_refresh(const bContext *C, ScrArea *sa)
}
}
static void image_histogram_tag_refresh(ScrArea *sa)
{
SpaceImage *sima= (SpaceImage *)sa->spacedata.first;
sima->hist.ok=0;
}
static void image_listener(ScrArea *sa, wmNotifier *wmn)
{
SpaceImage *sima= (SpaceImage *)sa->spacedata.first;