static void image_panel_preview(ScrArea *sa, short cntrl) // IMAGE_HANDLER_PREVIEW { uiBlock *block; SpaceImage *sima = sa->spacedata.first; int ofsx, ofsy; if (is_preview_allowed(sa) == 0) { rem_blockhandler(sa, IMAGE_HANDLER_PREVIEW); G.scene->r.scemode &= ~R_COMP_CROP; /* quite weak */ return; } block = uiBeginBlock(C, ar, __func__, UI_EMBOSS); uiPanelControl(UI_PNL_SOLID | UI_PNL_CLOSE | UI_PNL_SCALE | cntrl); uiSetPanelHandler(IMAGE_HANDLER_PREVIEW); // for close and esc ofsx = -150 + (sa->winx / 2) / sima->blockscale; ofsy = -100 + (sa->winy / 2) / sima->blockscale; if (uiNewPanel(C, ar, block, "Preview", "Image", ofsx, ofsy, 300, 200) == 0) return; uiBlockSetDrawExtraFunc(block, preview_cb); }
static void view3d_panel_preview(bContext *C, ARegion *ar, short cntrl) // VIEW3D_HANDLER_PREVIEW { uiBlock *block; View3D *v3d= sa->spacedata.first; int ofsx, ofsy; block= uiBeginBlock(C, ar, "view3d_panel_preview", UI_EMBOSS); uiPanelControl(UI_PNL_SOLID | UI_PNL_CLOSE | UI_PNL_SCALE | cntrl); uiSetPanelHandler(VIEW3D_HANDLER_PREVIEW); // for close and esc ofsx= -150+(sa->winx/2)/v3d->blockscale; ofsy= -100+(sa->winy/2)/v3d->blockscale; if(uiNewPanel(C, ar, block, "Preview", "View3d", ofsx, ofsy, 300, 200)==0) return; uiBlockSetDrawExtraFunc(block, BIF_view3d_previewdraw); if(scene->recalc & SCE_PRV_CHANGED) { scene->recalc &= ~SCE_PRV_CHANGED; //printf("found recalc\n"); BIF_view3d_previewrender_free(sa->spacedata.first); BIF_preview_changed(0); } }