diff options
author | Ton Roosendaal <ton@blender.org> | 2012-12-15 20:22:18 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2012-12-15 20:22:18 +0400 |
commit | 695468a3b9a54dc2f26b2aac7c48d6d066f80b3d (patch) | |
tree | 2bc4287465ca19a682c0dc503b4d7dcba1562c7b /source/blender/editors/interface/interface_panel.c | |
parent | c26746ccec8f7513cc28612842dc4033dddaa91d (diff) |
Finished themes for transparent Button regions in Blender.
Notes and image:
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.66/Usability
- now each editor has own settings for "show panel header" and
"show panel background", and colors+alpha for this.
- this setting used to be global for all editors, but it can conflict
with looks of specific editors.
- Now you can set for editors to show panels with a 100% transparent
tool/properties region.
Note: read XML theme files now might get an error, Campbell will fix.
Diffstat (limited to 'source/blender/editors/interface/interface_panel.c')
-rw-r--r-- | source/blender/editors/interface/interface_panel.c | 14 |
1 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 3eb4026f0e0..8b5f69e9dc3 100644 --- a/source/blender/editors/interface/interface_panel.c +++ b/source/blender/editors/interface/interface_panel.c @@ -499,7 +499,6 @@ static void rectf_scale(rctf *rect, const float scale) /* 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; @@ -521,10 +520,11 @@ void ui_draw_aligned_panel(uiStyle *style, uiBlock *block, rcti *rect) glEnable(GL_BLEND); - if (btheme->tui.panel.show_header) { + + if (UI_GetThemeValue(TH_PANEL_SHOW_HEADER)) { /* draw with background color */ glEnable(GL_BLEND); - glColor4ubv((unsigned char *)btheme->tui.panel.header); + UI_ThemeColor4(TH_PANEL_HEADER); glRectf(minx, headrect.ymin + 1, maxx, y); fdrawline(minx, y, maxx, y); @@ -581,6 +581,14 @@ void ui_draw_aligned_panel(uiStyle *style, uiBlock *block, rcti *rect) uiRoundRect(0.5f + rect->xmin, 0.5f + rect->ymin, 0.5f + rect->xmax, 0.5f + headrect.ymax + 1, 8); } + /* panel backdrop */ + if (UI_GetThemeValue(TH_PANEL_SHOW_BACK)) { + /* draw with background color */ + glEnable(GL_BLEND); + UI_ThemeColor4(TH_PANEL_BACK); + glRecti(rect->xmin, rect->ymin, rect->xmax, rect->ymax); + } + if (panel->control & UI_PNL_SCALE) ui_draw_panel_scalewidget(rect); } |