void expose(dt_view_t *self, cairo_t *cri, int32_t width, int32_t height, int32_t pointerx, int32_t pointery) { cairo_set_source_rgb(cri, .2, .2, .2); cairo_rectangle(cri, 0, 0, width, height); cairo_fill(cri); // Expose tethering center view cairo_save(cri); _expose_tethered_mode(self, cri, width, height, pointerx, pointery); cairo_restore(cri); // post expose to modules GList *modules = darktable.lib->plugins; while(modules) { dt_lib_module_t *module = (dt_lib_module_t *)(modules->data); if((module->views(module) & self->view(self)) && module->gui_post_expose) module->gui_post_expose(module, cri, width, height, pointerx, pointery); modules = g_list_next(modules); } }
void expose(dt_view_t *self, cairo_t *cri, int32_t width_i, int32_t height_i, int32_t pointerx, int32_t pointery) { dt_capture_t *lib = (dt_capture_t *)self->data; const int32_t capwd = darktable.thumbnail_width; const int32_t capht = darktable.thumbnail_height; int32_t width = MIN(width_i, capwd); int32_t height = MIN(height_i, capht); cairo_set_source_rgb (cri, .2, .2, .2); cairo_rectangle(cri, 0, 0, width_i, height_i); cairo_fill (cri); if(width_i > capwd) cairo_translate(cri, -(capwd-width_i) *.5f, 0.0f); if(height_i > capht) cairo_translate(cri, 0.0f, -(capht-height_i)*.5f); // Mode dependent expose of center view cairo_save(cri); switch(lib->mode) { case DT_CAPTURE_MODE_TETHERED: // tethered mode default: _expose_tethered_mode(self, cri, width, height, pointerx, pointery); break; } cairo_restore(cri); // post expose to modules GList *modules = darktable.lib->plugins; while(modules) { dt_lib_module_t *module = (dt_lib_module_t *)(modules->data); if( (module->views() & self->view(self)) && module->gui_post_expose ) module->gui_post_expose(module,cri,width,height,pointerx,pointery); modules = g_list_next(modules); } }