[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53033] trunk/blender: Finished themes for transparent Button regions in Blender.

Ton Roosendaal ton at blender.org
Sat Dec 15 17:22:22 CET 2012


Revision: 53033
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53033
Author:   ton
Date:     2012-12-15 16:22:18 +0000 (Sat, 15 Dec 2012)
Log Message:
-----------
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.

Modified Paths:
--------------
    trunk/blender/release/scripts/startup/bl_ui/space_userpref.py
    trunk/blender/source/blender/blenkernel/BKE_blender.h
    trunk/blender/source/blender/blenkernel/intern/blender.c
    trunk/blender/source/blender/editors/include/UI_resources.h
    trunk/blender/source/blender/editors/interface/interface_panel.c
    trunk/blender/source/blender/editors/interface/resources.c
    trunk/blender/source/blender/editors/screen/screen_ops.c
    trunk/blender/source/blender/editors/space_file/space_file.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	2012-12-15 16:13:27 UTC (rev 53032)
+++ trunk/blender/release/scripts/startup/bl_ui/space_userpref.py	2012-12-15 16:22:18 UTC (rev 53033)
@@ -707,30 +707,6 @@
             col.separator()
             col.separator()
 
-            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")
-
-            col.separator()
-            col.separator()
-
             ui = theme.user_interface
             col.label("Axis Colors:")
 

Modified: trunk/blender/source/blender/blenkernel/BKE_blender.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_blender.h	2012-12-15 16:13:27 UTC (rev 53032)
+++ trunk/blender/source/blender/blenkernel/BKE_blender.h	2012-12-15 16:22:18 UTC (rev 53033)
@@ -42,7 +42,7 @@
  * and keep comment above the defines.
  * Use STRINGIFY() rather than defining with quotes */
 #define BLENDER_VERSION         265
-#define BLENDER_SUBVERSION      1
+#define BLENDER_SUBVERSION      2
 
 /* 262 was the last editmesh release but it has compatibility code for bmesh data */
 #define BLENDER_MINVERSION      262

Modified: trunk/blender/source/blender/blenkernel/intern/blender.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/blender.c	2012-12-15 16:13:27 UTC (rev 53032)
+++ trunk/blender/source/blender/blenkernel/intern/blender.c	2012-12-15 16:22:18 UTC (rev 53033)
@@ -403,7 +403,6 @@
 /* handle changes in settings that need recalc */
 void BKE_userdef_state(void)
 {
-	if (U.pixelsize == 0) U.pixelsize = 1;
 	BLF_default_dpi(U.pixelsize * U.dpi);
 	U.widget_unit = (U.pixelsize * U.dpi * 20 + 36) / 72;
 

Modified: trunk/blender/source/blender/editors/include/UI_resources.h
===================================================================
--- trunk/blender/source/blender/editors/include/UI_resources.h	2012-12-15 16:13:27 UTC (rev 53032)
+++ trunk/blender/source/blender/editors/include/UI_resources.h	2012-12-15 16:22:18 UTC (rev 53033)
@@ -69,6 +69,13 @@
 	TH_PANEL_TEXT,
 	TH_PANEL_TEXT_HI,
 	
+	/* panels */
+	TH_PANEL_HEADER,
+	TH_PANEL_BACK,
+	TH_PANEL_SHOW_HEADER,
+	TH_PANEL_SHOW_BACK,
+	
+	
 	TH_BUTBACK,
 	TH_BUTBACK_TEXT,
 	TH_BUTBACK_TEXT_HI,

Modified: trunk/blender/source/blender/editors/interface/interface_panel.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_panel.c	2012-12-15 16:13:27 UTC (rev 53032)
+++ trunk/blender/source/blender/editors/interface/interface_panel.c	2012-12-15 16:22:18 UTC (rev 53033)
@@ -499,7 +499,6 @@
 /* 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 @@
 
 		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 @@
 			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);
 	}

Modified: trunk/blender/source/blender/editors/interface/resources.c
===================================================================
--- trunk/blender/source/blender/editors/interface/resources.c	2012-12-15 16:13:27 UTC (rev 53032)
+++ trunk/blender/source/blender/editors/interface/resources.c	2012-12-15 16:22:18 UTC (rev 53033)
@@ -86,7 +86,7 @@
 	static char error[4] = {240, 0, 240, 255};
 	static char alert[4] = {240, 60, 60, 255};
 	static char headerdesel[4] = {0, 0, 0, 255};
-	
+	static char setting = 0;
 	const char *cp = error;
 	
 	if (btheme) {
@@ -216,13 +216,19 @@
 				case TH_HEADER_TEXT_HI:
 					cp = ts->header_text_hi; break;
 
-				case TH_PANEL:
-					cp = ts->panel; break;
-				case TH_PANEL_TEXT:
-					cp = ts->panel_text; break;
-				case TH_PANEL_TEXT_HI:
-					cp = ts->panel_text_hi; break;
-
+				case TH_PANEL_HEADER:
+					cp = ts->panelcolors.header; break;
+				case TH_PANEL_BACK:
+					cp = ts->panelcolors.back; break;
+				case TH_PANEL_SHOW_HEADER:
+					cp = &setting;
+					setting = ts->panelcolors.show_header;
+					break;
+				case TH_PANEL_SHOW_BACK:
+					cp = &setting;
+					setting = ts->panelcolors.show_back;
+					break;
+					
 				case TH_BUTBACK:
 					cp = ts->button; break;
 				case TH_BUTBACK_TEXT:
@@ -603,9 +609,9 @@
 	rgba_char_args_test_set(ts->header_title,   0, 0, 0, 255);
 	rgba_char_args_test_set(ts->header_text_hi, 255, 255, 255, 255);
 
-	rgba_char_args_test_set(ts->panel_text,     0, 0, 0, 255);
-	rgba_char_args_test_set(ts->panel_title,        0, 0, 0, 255);
-	rgba_char_args_test_set(ts->panel_text_hi,  255, 255, 255, 255);
+//	rgba_char_args_test_set(ts->panel_text,     0, 0, 0, 255);
+//	rgba_char_args_test_set(ts->panel_title,        0, 0, 0, 255);
+//	rgba_char_args_test_set(ts->panel_text_hi,  255, 255, 255, 255);
 
 	rgba_char_args_test_set(ts->button,         145, 145, 145, 245);
 	rgba_char_args_test_set(ts->button_title,   0, 0, 0, 255);
@@ -684,7 +690,7 @@
 	
 	rgba_char_args_set_fl(btheme->tv3d.header,  0.45, 0.45, 0.45, 1.0);
 	rgba_char_args_set_fl(btheme->tv3d.button,  0.45, 0.45, 0.45, 0.5);
-	rgba_char_args_set(btheme->tv3d.panel,      165, 165, 165, 127);
+//	rgba_char_args_set(btheme->tv3d.panel,      165, 165, 165, 127);
 	
 	rgba_char_args_set(btheme->tv3d.shade1,  160, 160, 160, 100);
 	rgba_char_args_set(btheme->tv3d.shade2,  0x7f, 0x70, 0x70, 100);
@@ -763,14 +769,14 @@
 	btheme->tbuts = btheme->tv3d;
 
 	rgba_char_args_set_fl(btheme->tbuts.back,   0.45, 0.45, 0.45, 1.0);
-	rgba_char_args_set(btheme->tbuts.panel, 0x82, 0x82, 0x82, 255);
+//	rgba_char_args_set(btheme->tbuts.panel, 0x82, 0x82, 0x82, 255);
 
 	/* graph editor */
 	btheme->tipo = btheme->tv3d;
 	rgba_char_args_set_fl(btheme->tipo.back,    0.42, 0.42, 0.42, 1.0);
 	rgba_char_args_set_fl(btheme->tipo.list,    0.4, 0.4, 0.4, 1.0);
 	rgba_char_args_set(btheme->tipo.grid,   94, 94, 94, 255);
-	rgba_char_args_set(btheme->tipo.panel,  255, 255, 255, 150);
+//	rgba_char_args_set(btheme->tipo.panel,  255, 255, 255, 150);
 	rgba_char_args_set(btheme->tipo.shade1,     150, 150, 150, 100);    /* scrollbars */
 	rgba_char_args_set(btheme->tipo.shade2,     0x70, 0x70, 0x70, 100);
 	rgba_char_args_set(btheme->tipo.vertex,     0, 0, 0, 255);
@@ -816,11 +822,11 @@
 	/* to have something initialized */
 	btheme->tfile = btheme->tv3d;
 	rgba_char_args_set_fl(btheme->tfile.back, 0.3, 0.3, 0.3, 1);
-	rgba_char_args_set_fl(btheme->tfile.panel, 0.3, 0.3, 0.3, 1);
+//	rgba_char_args_set_fl(btheme->tfile.panel, 0.3, 0.3, 0.3, 1);
 	rgba_char_args_set_fl(btheme->tfile.list, 0.4, 0.4, 0.4, 1);
 	rgba_char_args_set(btheme->tfile.text,  250, 250, 250, 255);
 	rgba_char_args_set(btheme->tfile.text_hi, 15, 15, 15, 255);
-	rgba_char_args_set(btheme->tfile.panel, 145, 145, 145, 255);  /* bookmark/ui regions */
+//	rgba_char_args_set(btheme->tfile.panel, 145, 145, 145, 255);  /* bookmark/ui regions */
 	rgba_char_args_set(btheme->tfile.active, 130, 130, 130, 255); /* selected files */
 	rgba_char_args_set(btheme->tfile.hilite, 255, 140, 25, 255);  /* selected files */
 	
@@ -2024,6 +2030,38 @@
 			}
 		}
 	}
+	
+	/* panel header/backdrop supported locally per editor now */
+	if (bmain->versionfile < 265 || (bmain->versionfile == 265 && bmain->subversionfile < 2)) {
+		bTheme *btheme;
+		
+		for (btheme = U.themes.first; btheme; btheme = btheme->next) {
+			
+			/* new color, panel backdrop. Not used anywhere yet, until you enable it */
+			copy_v3_v3_char(btheme->tui.panel.back, btheme->tbuts.button);
+			btheme->tui.panel.back[3] = 128;
+			
+			btheme->tbuts.panelcolors = btheme->tui.panel;
+			btheme->tv3d.panelcolors = btheme->tui.panel;
+			btheme->tfile.panelcolors = btheme->tui.panel;
+			btheme->tipo.panelcolors = btheme->tui.panel;
+			btheme->tinfo.panelcolors = btheme->tui.panel;
+			btheme->tact.panelcolors = btheme->tui.panel;
+			btheme->tnla.panelcolors = btheme->tui.panel;
+			btheme->tseq.panelcolors = btheme->tui.panel;
+			btheme->tima.panelcolors = btheme->tui.panel;
+			btheme->text.panelcolors = btheme->tui.panel;
+			btheme->toops.panelcolors = btheme->tui.panel;
+			btheme->ttime.panelcolors = btheme->tui.panel;
+			btheme->tnode.panelcolors = btheme->tui.panel;
+			btheme->tlogic.panelcolors = btheme->tui.panel;
+			btheme->tuserpref.panelcolors = btheme->tui.panel;
+			btheme->tconsole.panelcolors = btheme->tui.panel;
+			btheme->tclip.panelcolors = btheme->tui.panel;
+		}
+	}
+	
+	
 	if (U.pixelsize == 0.0f)
 		U.pixelsize = 1.0f;
 	

Modified: trunk/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- trunk/blender/source/blender/editors/screen/screen_ops.c	2012-12-15 16:13:27 UTC (rev 53032)
+++ trunk/blender/source/blender/editors/screen/screen_ops.c	2012-12-15 16:22:18 UTC (rev 53033)
@@ -1021,11 +1021,8 @@
 	
 	select_connected_scredge(sc, actedge);
 	/* now all vertices with 'flag==1' are the ones that can be moved. Move this to editflag */
-	for (v1 = sc->vertbase.first; v1; v1 = v1->next) {
-		v1->editflag = 0;
-		if (v1->flag)

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list