[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53636] trunk/blender/source/blender: Make options for background gradient more organized.

Antony Riakiotakis kalast at gmail.com
Mon Jan 7 16:42:42 CET 2013


Revision: 53636
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53636
Author:   psy-fi
Date:     2013-01-07 15:42:42 +0000 (Mon, 07 Jan 2013)
Log Message:
-----------
Make options for background gradient more organized.

This was difficult to do because we group theme colours and display them
together in user preferences. To make the background options more
presentable and keep them grouped and separate, I needed to group the
two gradient colours somehow. I added a separate ThemeSpaceGradient RNA
struct as opposed to ThemeSpaceGeneric. This struct is the same as
ThemeSpaceGeneric but it lacks the window background option (which does
nothing now) and includes the UiGradient struct which now has both
gradient colours. I modified the clear functions to use a new high
colour from the gradient. Now all options appear grouped and any other
editor that may use a gradient for the window background may do so.

Also corrected incorrect MAIN_VERSION_ATLEAST macro, it would not detect
versions correctly

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_blender.h
    trunk/blender/source/blender/blenkernel/BKE_main.h
    trunk/blender/source/blender/editors/include/UI_resources.h
    trunk/blender/source/blender/editors/interface/resources.c
    trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
    trunk/blender/source/blender/makesdna/DNA_userdef_types.h
    trunk/blender/source/blender/makesrna/RNA_access.h
    trunk/blender/source/blender/makesrna/intern/rna_userdef.c

Modified: trunk/blender/source/blender/blenkernel/BKE_blender.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_blender.h	2013-01-07 15:35:20 UTC (rev 53635)
+++ trunk/blender/source/blender/blenkernel/BKE_blender.h	2013-01-07 15:42:42 UTC (rev 53636)
@@ -42,7 +42,7 @@
  * and keep comment above the defines.
  * Use STRINGIFY() rather than defining with quotes */
 #define BLENDER_VERSION         265
-#define BLENDER_SUBVERSION      5
+#define BLENDER_SUBVERSION      6
 
 /* 262 was the last editmesh release but it has compatibility code for bmesh data */
 #define BLENDER_MINVERSION      262

Modified: trunk/blender/source/blender/blenkernel/BKE_main.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_main.h	2013-01-07 15:35:20 UTC (rev 53635)
+++ trunk/blender/source/blender/blenkernel/BKE_main.h	2013-01-07 15:42:42 UTC (rev 53636)
@@ -93,7 +93,7 @@
 } Main;
 
 #define MAIN_VERSION_ATLEAST(main, ver, subver) \
-	((main)->versionfile >= (ver) || (main->versionfile == (ver) && (main)->subversionfile >= (subver)))
+	((main)->versionfile > (ver) || (main->versionfile == (ver) && (main)->subversionfile >= (subver)))
 
 #ifdef __cplusplus
 }

Modified: trunk/blender/source/blender/editors/include/UI_resources.h
===================================================================
--- trunk/blender/source/blender/editors/include/UI_resources.h	2013-01-07 15:35:20 UTC (rev 53635)
+++ trunk/blender/source/blender/editors/include/UI_resources.h	2013-01-07 15:42:42 UTC (rev 53636)
@@ -225,7 +225,8 @@
 	TH_AXIS_Y,
 	TH_AXIS_Z,
 
-	TH_BACK_GRAD,
+	TH_LOW_GRAD,
+	TH_HIGH_GRAD,
 	TH_SHOW_BACK_GRAD
 };
 /* XXX WARNING: previous is saved in file, so do not change order! */

Modified: trunk/blender/source/blender/editors/interface/resources.c
===================================================================
--- trunk/blender/source/blender/editors/interface/resources.c	2013-01-07 15:35:20 UTC (rev 53635)
+++ trunk/blender/source/blender/editors/interface/resources.c	2013-01-07 15:42:42 UTC (rev 53636)
@@ -170,9 +170,12 @@
 					else
 						cp = ts->button;
 					break;
-				case TH_BACK_GRAD:
+				case TH_LOW_GRAD:
 					cp = ts->gradients.gradient;
 					break;
+				case TH_HIGH_GRAD:
+					cp = ts->gradients.high_gradient;
+					break;
 				case TH_SHOW_BACK_GRAD:
 					cp = &setting;
 					setting = ts->gradients.show_grad;
@@ -780,6 +783,7 @@
 
 	rgba_char_args_set(btheme->tv3d.skin_root, 180, 77, 77, 255);
 	rgba_char_args_set(btheme->tv3d.gradients.gradient, 0, 0, 0, 0);
+	rgba_char_args_set(btheme->tv3d.gradients.high_gradient, 0.225, 0.225, 0.225, 1.0);
 	btheme->tv3d.gradients.show_grad = FALSE;
 
 	/* space buttons */
@@ -2100,7 +2104,7 @@
 		}
 	}
 
-	if (!MAIN_VERSION_ATLEAST(bmain, 266, 4)) {
+	if (!MAIN_VERSION_ATLEAST(bmain, 265, 4)) {
 		bTheme *btheme;
 		for (btheme = U.themes.first; btheme; btheme = btheme->next) {
 			rgba_char_args_set(btheme->text.syntaxd,    50, 0, 140, 255);   /* Decorator/Preprocessor Dir.  Blue-purple */
@@ -2109,6 +2113,13 @@
 		}
 	}
 
+	if (!MAIN_VERSION_ATLEAST(bmain, 265, 6)) {
+		bTheme *btheme;
+		for (btheme = U.themes.first; btheme; btheme = btheme->next) {
+			copy_v4_v4_char(btheme->tv3d.gradients.high_gradient, btheme->tv3d.back);
+		}
+	}
+
 	if (U.pixelsize == 0.0f)
 		U.pixelsize = 1.0f;
 	

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_draw.c	2013-01-07 15:35:20 UTC (rev 53635)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_draw.c	2013-01-07 15:42:42 UTC (rev 53636)
@@ -3108,10 +3108,10 @@
 
 			glShadeModel(GL_SMOOTH);
 			glBegin(GL_QUADS);
-			UI_ThemeColor(TH_BACK_GRAD);
+			UI_ThemeColor(TH_LOW_GRAD);
 			glVertex2f(-1.0, -1.0);
 			glVertex2f(1.0, -1.0);
-			UI_ThemeColor(TH_BACK);
+			UI_ThemeColor(TH_HIGH_GRAD);
 			glVertex2f(1.0, 1.0);
 			glVertex2f(-1.0, 1.0);
 			glEnd();
@@ -3124,7 +3124,7 @@
 			glPopMatrix();
 		}
 		else {
-			UI_ThemeClearColor(TH_BACK);
+			UI_ThemeClearColor(TH_HIGH_GRAD);
 			glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 		}
 	}

Modified: trunk/blender/source/blender/makesdna/DNA_userdef_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_userdef_types.h	2013-01-07 15:35:20 UTC (rev 53635)
+++ trunk/blender/source/blender/makesdna/DNA_userdef_types.h	2013-01-07 15:42:42 UTC (rev 53636)
@@ -151,7 +151,7 @@
 
 typedef struct uiGradientColors {
 	char gradient[4];
-	char pad[4];
+	char high_gradient[4];
 	int show_grad;
 	int pad2;
 } uiGradientColors;

Modified: trunk/blender/source/blender/makesrna/RNA_access.h
===================================================================
--- trunk/blender/source/blender/makesrna/RNA_access.h	2013-01-07 15:35:20 UTC (rev 53635)
+++ trunk/blender/source/blender/makesrna/RNA_access.h	2013-01-07 15:42:42 UTC (rev 53636)
@@ -571,6 +571,7 @@
 extern StructRNA RNA_ThemeProperties;
 extern StructRNA RNA_ThemeSequenceEditor;
 extern StructRNA RNA_ThemeSpaceGeneric;
+extern StructRNA RNA_ThemeSpaceGradient;
 extern StructRNA RNA_ThemeSpaceListGeneric;
 extern StructRNA RNA_ThemeStyle;
 extern StructRNA RNA_ThemeTextEditor;

Modified: trunk/blender/source/blender/makesrna/intern/rna_userdef.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_userdef.c	2013-01-07 15:35:20 UTC (rev 53635)
+++ trunk/blender/source/blender/makesrna/intern/rna_userdef.c	2013-01-07 15:42:42 UTC (rev 53636)
@@ -345,6 +345,11 @@
 	return rna_pointer_inherit_refine(ptr, &RNA_ThemeSpaceGeneric, ptr->data);
 }
 
+static PointerRNA rna_Theme_space_gradient_get(PointerRNA *ptr)
+{
+	return rna_pointer_inherit_refine(ptr, &RNA_ThemeSpaceGradient, ptr->data);
+}
+
 static PointerRNA rna_Theme_space_list_generic_get(PointerRNA *ptr)
 {
 	return rna_pointer_inherit_refine(ptr, &RNA_ThemeSpaceListGeneric, ptr->data);
@@ -766,16 +771,22 @@
 	srna = RNA_def_struct(brna, "ThemeGradientColors", NULL);
 	RNA_def_struct_sdna(srna, "uiGradientColors");
 	RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
-	RNA_def_struct_ui_text(srna, "Theme Gradient Color", "Theme settings for gradient colors");
+	RNA_def_struct_ui_text(srna, "Theme Background Color", "Theme settings for background colors and gradient");
 
-	prop = RNA_def_property(srna, "gradient", PROP_FLOAT, PROP_COLOR_GAMMA);
-	RNA_def_property_ui_text(prop, "Gradient Color", "");
-	RNA_def_property_update(prop, 0, "rna_userdef_update");
-
 	prop = RNA_def_property(srna, "show_grad", PROP_BOOLEAN, PROP_NONE);
 	RNA_def_property_ui_text(prop, "Use Gradient",
 	                         "Do a gradient for the background of the viewport working area");
 	RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+	prop = RNA_def_property(srna, "gradient", PROP_FLOAT, PROP_COLOR_GAMMA);
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Gradient Low", "");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+	prop = RNA_def_property(srna, "high_gradient", PROP_FLOAT, PROP_COLOR_GAMMA);
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Gradient High/Off", "");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
 }
 
 static void rna_def_userdef_theme_ui(BlenderRNA *brna)
@@ -997,6 +1008,83 @@
 /*	} */
 }
 
+static void rna_def_userdef_theme_space_gradient(BlenderRNA *brna)
+{
+	StructRNA *srna;
+	PropertyRNA *prop;
+
+	srna = RNA_def_struct(brna, "ThemeSpaceGradient", NULL);
+	RNA_def_struct_sdna(srna, "ThemeSpace");
+	RNA_def_struct_ui_text(srna, "Theme Space Settings", "");
+
+	/* window */
+	prop = RNA_def_property(srna, "title", PROP_FLOAT, PROP_COLOR_GAMMA);
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Title", "");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+	prop = RNA_def_property(srna, "text", PROP_FLOAT, PROP_COLOR_GAMMA);
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Text", "");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+	prop = RNA_def_property(srna, "text_hi", PROP_FLOAT, PROP_COLOR_GAMMA);
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Text Highlight", "");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+	/* header */
+	prop = RNA_def_property(srna, "header", PROP_FLOAT, PROP_COLOR_GAMMA);
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Header", "");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+	prop = RNA_def_property(srna, "header_text", PROP_FLOAT, PROP_COLOR_GAMMA);
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Header Text", "");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+	prop = RNA_def_property(srna, "header_text_hi", PROP_FLOAT, PROP_COLOR_GAMMA);
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Header Text Highlight", "");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+	/* panel settings */
+	prop = RNA_def_property(srna, "panelcolors", PROP_POINTER, PROP_NONE);
+	RNA_def_property_flag(prop, PROP_NEVER_NULL);
+	RNA_def_property_ui_text(prop, "Panel Colors", "");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+	/* gradient/background settings */
+	prop = RNA_def_property(srna, "gradients", PROP_POINTER, PROP_NONE);
+	RNA_def_property_flag(prop, PROP_NEVER_NULL);
+	RNA_def_property_ui_text(prop, "Gradient Colors", "");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+	/* buttons */
+/*	if (! ELEM(spacetype, SPACE_BUTS, SPACE_OUTLINER)) { */
+	prop = RNA_def_property(srna, "button", PROP_FLOAT, PROP_COLOR_GAMMA);
+	RNA_def_property_array(prop, 4);
+	RNA_def_property_ui_text(prop, "Region Background", "");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+	prop = RNA_def_property(srna, "button_title", PROP_FLOAT, PROP_COLOR_GAMMA);
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Region Text Titles", "");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+	prop = RNA_def_property(srna, "button_text", PROP_FLOAT, PROP_COLOR_GAMMA);
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Region Text", "");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
+

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list