Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2009-06-08 20:24:37 +0400
committerTon Roosendaal <ton@blender.org>2009-06-08 20:24:37 +0400
commitddbd871567911a5243de23de3c7ec8fa1ef061aa (patch)
tree391f890c88b1872ffa4bda1860e7a6bda1a31edf /source
parentc33b6a54f7ae13c49b9b4ccf3e0e69024a9db36e (diff)
2.5
Small fixes: - Preview render now accepts resize of 1 pixel without re-render, solves re-renders on scrolling window or dragging panel, because of float rounding. - Panel dragging outline was off 0.5 pixel, showed as fat AA lines - On switching tab, the preview gets re-rendered
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/interface/interface_panel.c2
-rw-r--r--source/blender/editors/interface/interface_widgets.c1
-rw-r--r--source/blender/editors/preview/previewrender.c10
-rw-r--r--source/blender/editors/space_buttons/buttons_header.c1
4 files changed, 11 insertions, 3 deletions
diff --git a/source/blender/editors/interface/interface_panel.c b/source/blender/editors/interface/interface_panel.c
index a141e58fbe9..278f7c026b1 100644
--- a/source/blender/editors/interface/interface_panel.c
+++ b/source/blender/editors/interface/interface_panel.c
@@ -580,7 +580,7 @@ void ui_draw_aligned_panel(ARegion *ar, uiStyle *style, uiBlock *block, rcti *re
else uiSetRoundBox(3);
UI_ThemeColorShade(TH_BACK, -120);
- uiRoundRect(rect->xmin, rect->ymin, rect->xmax, headrect.ymax+1, 8);
+ uiRoundRect(0.5f + rect->xmin, 0.5f + rect->ymin, 0.5f + rect->xmax, 0.5f + headrect.ymax+1, 8);
}
if(panel->flag & PNL_OVERLAP) {
if(panel->control & UI_PNL_SOLID) uiSetRoundBox(15);
diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c
index 0660b7f19a9..03487e2301c 100644
--- a/source/blender/editors/interface/interface_widgets.c
+++ b/source/blender/editors/interface/interface_widgets.c
@@ -1632,6 +1632,7 @@ static void widget_draw_extra_mask(const bContext *C, uiBut *but, uiWidgetType *
widget_init(&wtb);
if(but->block->drawextra) {
+ /* note: drawextra can change rect +1 or -1, to match round errors of existing previews */
but->block->drawextra(C, but->poin, rect);
/* make mask to draw over image */
diff --git a/source/blender/editors/preview/previewrender.c b/source/blender/editors/preview/previewrender.c
index 56ec22a44b0..b0d093dc10b 100644
--- a/source/blender/editors/preview/previewrender.c
+++ b/source/blender/editors/preview/previewrender.c
@@ -639,7 +639,12 @@ void ED_preview_draw(const bContext *C, void *idp, rcti *rect)
RE_GetResultImage(RE_GetRender(name), &rres);
if(rres.rectf) {
- if(rres.rectx==newx && rres.recty==newy) {
+
+ if( ABS(rres.rectx-newx)<2 && ABS(rres.recty-newy)<2 ) {
+ /* correct size, then black outline matches */
+ rect->xmax= rect->xmin + rres.rectx;
+ rect->ymax= rect->ymin + rres.recty;
+
glaDrawPixelsSafe(rect->xmin, rect->ymin, rres.rectx, rres.recty, rres.rectx, GL_RGBA, GL_FLOAT, rres.rectf);
ok= 1;
}
@@ -1039,7 +1044,8 @@ static void shader_preview_startjob(void *customdata, short *stop, short *do_upd
}
/* lens adjust */
oldlens= ((Camera *)sce->camera->data)->lens;
- ((Camera *)sce->camera->data)->lens *= (float)sp->sizey/(float)sp->sizex;
+ if(sp->sizex > sp->sizey)
+ ((Camera *)sce->camera->data)->lens *= (float)sp->sizey/(float)sp->sizex;
/* entire cycle for render engine */
RE_SetCamera(re, sce->camera);
diff --git a/source/blender/editors/space_buttons/buttons_header.c b/source/blender/editors/space_buttons/buttons_header.c
index ee710cd7b67..80f7ff42c5b 100644
--- a/source/blender/editors/space_buttons/buttons_header.c
+++ b/source/blender/editors/space_buttons/buttons_header.c
@@ -130,6 +130,7 @@ static void do_buttons_buttons(bContext *C, void *arg, int event)
else if(sbuts->mainb != BCONTEXT_TEXTURE)
sbuts->flag &= ~SB_WORLD_TEX;
+ sbuts->preview= 1;
break;
}
}