Hi, Looks like after this commit i can't see full content of panels anymore -- last several pixels of last panel in region isn't available, see http://www.pasteall.org/pic/show.php?id=21111 for example.
On Sun, Nov 20, 2011 at 2:57 AM, Brecht Van Lommel < [email protected]> wrote: > Revision: 41992 > > http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41992 > Author: blendix > Date: 2011-11-19 20:57:53 +0000 (Sat, 19 Nov 2011) > Log Message: > ----------- > UI: > * Add theme option to show panel header background. > * Draw panel collapse widget a bit smaller. > * Add theme option to draw icons muted. > * Code tweak: replace U.themes.first by UI_GetTheme() calls. > > Modified Paths: > -------------- > trunk/blender/release/scripts/startup/bl_ui/space_userpref.py > trunk/blender/source/blender/blenkernel/BKE_blender.h > trunk/blender/source/blender/editors/include/UI_resources.h > trunk/blender/source/blender/editors/interface/interface_icons.c > trunk/blender/source/blender/editors/interface/interface_intern.h > trunk/blender/source/blender/editors/interface/interface_panel.c > trunk/blender/source/blender/editors/interface/interface_style.c > trunk/blender/source/blender/editors/interface/interface_widgets.c > trunk/blender/source/blender/editors/interface/resources.c > trunk/blender/source/blender/editors/interface/view2d.c > trunk/blender/source/blender/editors/screen/area.c > trunk/blender/source/blender/editors/space_text/text_draw.c > trunk/blender/source/blender/editors/space_view3d/drawarmature.c > trunk/blender/source/blender/makesdna/DNA_userdef_types.h > trunk/blender/source/blender/makesrna/intern/rna_userdef.c > > Modified: trunk/blender/release/scripts/startup/bl_ui/space_userpref.py > =================================================================== > --- trunk/blender/release/scripts/startup/bl_ui/space_userpref.py > 2011-11-19 20:40:46 UTC (rev 41991) > +++ trunk/blender/release/scripts/startup/bl_ui/space_userpref.py > 2011-11-19 20:57:53 UTC (rev 41992) > @@ -634,13 +634,52 @@ > colsub.row().prop(ui, "inner_key_sel") > colsub.row().prop(ui, "blend") > > + col.separator() > + col.separator() > + > ui = theme.user_interface > + col.label("Icons:") > + > + row = col.row() > + > + subsplit = row.split(percentage=0.95) > + > + padding = subsplit.split(percentage=0.15) > + colsub = padding.column() > + colsub = padding.column() > + colsub.row().prop(ui, "icon_file") > + > + subsplit = row.split(percentage=0.85) > + > + padding = subsplit.split(percentage=0.15) > + colsub = padding.column() > + colsub = padding.column() > + colsub.row().prop(ui, "icon_alpha") > + > col.separator() > col.separator() > > - split = col.split(percentage=0.93) > - split.prop(ui, "icon_file") > + ui = theme.user_interface.panel > + col.label("Panels:") > > + row = col.row() > + > + subsplit = row.split(percentage=0.95) > + > + padding = subsplit.split(percentage=0.15) > + colsub = padding.column() > + colsub = padding.column() > + rowsub = colsub.row() > + rowsub.prop(ui, "show_header") > + rowsub.label() > + > + subsplit = row.split(percentage=0.85) > + > + padding = subsplit.split(percentage=0.15) > + colsub = padding.column() > + colsub = padding.column() > + colsub.row().prop(ui, "header") > + > layout.separator() > layout.separator() > elif theme.theme_area == 'BONE_COLOR_SETS': > > Modified: trunk/blender/source/blender/blenkernel/BKE_blender.h > =================================================================== > --- trunk/blender/source/blender/blenkernel/BKE_blender.h 2011-11-19 > 20:40:46 UTC (rev 41991) > +++ trunk/blender/source/blender/blenkernel/BKE_blender.h 2011-11-19 > 20:57:53 UTC (rev 41992) > @@ -42,7 +42,7 @@ > * and keep comment above the defines. > * Use STRINGIFY() rather than defining with quotes */ > #define BLENDER_VERSION 260 > -#define BLENDER_SUBVERSION 4 > +#define BLENDER_SUBVERSION 5 > > #define BLENDER_MINVERSION 250 > #define BLENDER_MINSUBVERSION 0 > > Modified: trunk/blender/source/blender/editors/include/UI_resources.h > =================================================================== > --- trunk/blender/source/blender/editors/include/UI_resources.h 2011-11-19 > 20:40:46 UTC (rev 41991) > +++ trunk/blender/source/blender/editors/include/UI_resources.h 2011-11-19 > 20:57:53 UTC (rev 41992) > @@ -318,6 +318,9 @@ > // internal (blender) usage only, for init and set active > void UI_SetTheme(int spacetype, int regionid); > > +// get current theme > +struct bTheme *UI_GetTheme(void); > + > /* only for buttons in theme editor! */ > const unsigned char *UI_ThemeGetColorPtr(struct bTheme *btheme, int > spacetype, int colorid); > > > Modified: trunk/blender/source/blender/editors/interface/interface_icons.c > =================================================================== > --- trunk/blender/source/blender/editors/interface/interface_icons.c > 2011-11-19 20:40:46 UTC (rev 41991) > +++ trunk/blender/source/blender/editors/interface/interface_icons.c > 2011-11-19 20:57:53 UTC (rev 41992) > @@ -506,7 +506,7 @@ > > static void init_internal_icons(void) > { > - bTheme *btheme= U.themes.first; > + bTheme *btheme= UI_GetTheme(); > ImBuf *bbuf= NULL; > int x, y, icontype; > char iconfilestr[FILE_MAXDIR+FILE_MAXFILE]; > @@ -950,6 +950,7 @@ > > static void icon_draw_size(float x, float y, int icon_id, float aspect, > float alpha, float *rgb, enum eIconSizes size, int draw_size, int > UNUSED(nocreate), short is_preview) > { > + bTheme *btheme= UI_GetTheme(); > Icon *icon = NULL; > DrawInfo *di = NULL; > IconImage *iimg; > @@ -957,6 +958,7 @@ > int w, h; > > icon = BKE_icon_get(icon_id); > + alpha *= btheme->tui.icon_alpha; > > if (icon==NULL) { > if (G.f & G_DEBUG) > > Modified: trunk/blender/source/blender/editors/interface/interface_intern.h > =================================================================== > --- trunk/blender/source/blender/editors/interface/interface_intern.h > 2011-11-19 20:40:46 UTC (rev 41991) > +++ trunk/blender/source/blender/editors/interface/interface_intern.h > 2011-11-19 20:57:53 UTC (rev 41992) > @@ -112,7 +112,7 @@ > > /* internal panel drawing defines */ > #define PNL_GRID (UI_UNIT_Y / 5) /* 4 default */ > -#define PNL_HEADER UI_UNIT_Y /* 20 default */ > +#define PNL_HEADER (UI_UNIT_Y + 4) /* 24 default */ > > /* panel->flag */ > #define PNL_SELECT 1 > > Modified: trunk/blender/source/blender/editors/interface/interface_panel.c > =================================================================== > --- trunk/blender/source/blender/editors/interface/interface_panel.c > 2011-11-19 20:40:46 UTC (rev 41991) > +++ trunk/blender/source/blender/editors/interface/interface_panel.c > 2011-11-19 20:57:53 UTC (rev 41992) > @@ -59,6 +59,7 @@ > #include "ED_screen.h" > > #include "UI_interface.h" > +#include "UI_resources.h" > > #include "interface_intern.h" > > @@ -173,7 +174,6 @@ > > Panel *uiBeginPanel(ScrArea *sa, ARegion *ar, uiBlock *block, PanelType > *pt, int *open) > { > - uiStyle *style= UI_GetStyle(); > Panel *pa, *patab, *palast, *panext; > char *drawname= pt->label; > char *idname= pt->idname; > @@ -208,7 +208,7 @@ > } > > pa->ofsx= 0; > - pa->ofsy= style->panelouter; > + pa->ofsy= 0; > pa->sizex= 0; > pa->sizey= 0; > pa->runtime_flag |= PNL_NEW_ADDED; > @@ -482,6 +482,7 @@ > /* panel integrated in buttonswindow, tool/property lists etc */ > void ui_draw_aligned_panel(uiStyle *style, uiBlock *block, rcti *rect) > { > + bTheme *btheme= UI_GetTheme(); > Panel *panel= block->panel; > rcti headrect; > rctf itemrect; > @@ -493,19 +494,37 @@ > /* calculate header rect */ > /* + 0.001f to prevent flicker due to float inaccuracy */ > headrect= *rect; > - headrect.ymin= headrect.ymax; > + headrect.ymin= headrect.ymax - 2.0f/block->aspect; > headrect.ymax= headrect.ymin + floor(PNL_HEADER/block->aspect + > 0.001f); > > - if(!(panel->runtime_flag & PNL_FIRST)) { > - float minx= rect->xmin+5.0f/block->aspect; > - float maxx= rect->xmax-5.0f/block->aspect; > + { > + float minx= rect->xmin; > + float maxx= rect->xmax; > float y= headrect.ymax; > - > + > glEnable(GL_BLEND); > - glColor4f(0.0f, 0.0f, 0.0f, 0.5f); > - fdrawline(minx, y+1, maxx, y+1); > - glColor4f(1.0f, 1.0f, 1.0f, 0.25f); > - fdrawline(minx, y, maxx, y); > + > + if(btheme->tui.panel.show_header) { > + /* draw with background color */ > + glEnable(GL_BLEND); > + glColor4ubv((unsigned > char*)btheme->tui.panel.header); > + glRectf(minx, headrect.ymin, maxx, y); > + > + fdrawline(minx, y, maxx, y); > + fdrawline(minx, y, maxx, y); > + } > + else if(!(panel->runtime_flag & PNL_FIRST)) { > + /* draw embossed separator */ > + minx += 5.0f/block->aspect; > + maxx -= 5.0f/block->aspect; > + > + glColor4f(0.0f, 0.0f, 0.0f, 0.5f); > + fdrawline(minx, y+1, maxx, y+1); > + glColor4f(1.0f, 1.0f, 1.0f, 0.25f); > + fdrawline(minx, y, maxx, y); > + glDisable(GL_BLEND); > + } > + > glDisable(GL_BLEND); > } > > @@ -518,7 +537,8 @@ > itemrect.xmin= itemrect.xmax - > (headrect.ymax-headrect.ymin); > itemrect.ymin= headrect.ymin; > itemrect.ymax= headrect.ymax; > - rectf_scale(&itemrect, 0.8f); > + > + rectf_scale(&itemrect, 0.7f); > ui_draw_panel_dragwidget(&itemrect); > } > > @@ -538,7 +558,7 @@ > /* in some occasions, draw a border */ > if(panel->flag & PNL_SELECT) { > if(panel->control & UI_PNL_SOLID) > uiSetRoundBox(UI_CNR_ALL); > - else uiSetRoundBox(UI_CNR_TOP_LEFT | > UI_CNR_TOP_RIGHT); > + else uiSetRoundBox(UI_CNR_NONE); > > UI_ThemeColorShade(TH_BACK, -120); > uiRoundRect(0.5f + rect->xmin, 0.5f + rect->ymin, > 0.5f + rect->xmax, 0.5f + headrect.ymax+1, 8); > @@ -567,7 +587,7 @@ > itemrect.ymin= headrect.ymin; > itemrect.ymax= headrect.ymax; > > - rectf_scale(&itemrect, 0.5f); > + rectf_scale(&itemrect, 0.35f); > > if(panel->flag & PNL_CLOSEDY) > ui_draw_tria_rect(&itemrect, 'h'); > @@ -589,12 +609,12 @@ > return PNL_HEADER; > } > > -static int get_panel_size_y(uiStyle *style, Panel *pa) > +static int get_panel_size_y(Panel *pa) > { > if(pa->type && (pa->type->flag & PNL_NO_HEADER)) > return pa->sizey; > > - return PNL_HEADER + pa->sizey + style->panelouter; > + return PNL_HEADER + pa->sizey; > } > > /* this function is needed because uiBlock and Panel itself dont > @@ -667,7 +687,6 @@ > /* returns 1 when it did something */ > static int uiAlignPanelStep(ScrArea *sa, ARegion *ar, float fac, int drag) > { > - uiStyle *style= UI_GetStyle(); > Panel *pa; > PanelSort *ps, *panelsort, *psnext; > int a, tot=0, done; > @@ -719,18 +738,18 @@ > /* no smart other default start loc! this keeps switching f5/f6/etc > compatible */ > ps= panelsort; > ps->pa->ofsx= 0; > - ps->pa->ofsy= -get_panel_size_y(style, ps->pa); > + ps->pa->ofsy= -get_panel_size_y(ps->pa); > > for(a=0; a<tot-1; a++, ps++) { > psnext= ps+1; > > if(align==BUT_VERTICAL) { > psnext->pa->ofsx= ps->pa->ofsx; > - psnext->pa->ofsy= get_panel_real_ofsy(ps->pa) - > get_panel_size_y(style, psnext->pa); > + psnext->pa->ofsy= get_panel_real_ofsy(ps->pa) - > get_panel_size_y(psnext->pa); > } > else { > psnext->pa->ofsx= get_panel_real_ofsx(ps->pa); > - psnext->pa->ofsy= ps->pa->ofsy + > get_panel_size_y(style, ps->pa) - get_panel_size_y(style, psnext->pa); > + psnext->pa->ofsy= ps->pa->ofsy + > get_panel_size_y(ps->pa) - get_panel_size_y(psnext->pa); > } > } > > > Modified: trunk/blender/source/blender/editors/interface/interface_style.c > =================================================================== > --- trunk/blender/source/blender/editors/interface/interface_style.c > 2011-11-19 20:40:46 UTC (rev 41991) > +++ trunk/blender/source/blender/editors/interface/interface_style.c > 2011-11-19 20:57:53 UTC (rev 41992) > @@ -124,7 +124,6 @@ > style->buttonspacex= 8; > style->buttonspacey= 2; > style->panelspace= 8; > - style->panelouter= 4; > > return style; > } > > Modified: > trunk/blender/source/blender/editors/interface/interface_widgets.c > =================================================================== > --- trunk/blender/source/blender/editors/interface/interface_widgets.c > 2011-11-19 20:40:46 UTC (rev 41991) > > @@ Diff output truncated at 10240 characters. @@ > _______________________________________________ > Bf-blender-cvs mailing list > [email protected] > http://lists.blender.org/mailman/listinfo/bf-blender-cvs > -- With best regards, Sergey Sharybin _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
