[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [58768] branches/soc-2013-paint: * Rearrange UI to hide colour wheel when gradient is active

Antony Riakiotakis kalast at gmail.com
Wed Jul 31 16:15:40 CEST 2013


Revision: 58768
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58768
Author:   psy-fi
Date:     2013-07-31 14:15:40 +0000 (Wed, 31 Jul 2013)
Log Message:
-----------
* Rearrange UI to hide colour wheel when gradient is active
* Palette colour goes to active color band color if gradient is active

Modified Paths:
--------------
    branches/soc-2013-paint/release/scripts/startup/bl_ui/space_image.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/space_view3d_toolbar.py
    branches/soc-2013-paint/source/blender/editors/interface/interface_handlers.c

Modified: branches/soc-2013-paint/release/scripts/startup/bl_ui/space_image.py
===================================================================
--- branches/soc-2013-paint/release/scripts/startup/bl_ui/space_image.py	2013-07-31 13:58:55 UTC (rev 58767)
+++ branches/soc-2013-paint/release/scripts/startup/bl_ui/space_image.py	2013-07-31 14:15:40 UTC (rev 58768)
@@ -708,14 +708,16 @@
             col = layout.column()
 
             if brush.image_tool == 'DRAW' and brush.blend not in ('ERASE_ALPHA', 'ADD_ALPHA'):
-                col.template_color_picker(brush, "color", value_slider=True)
-                col = layout.column(align=True)
-                col.prop(brush, "color", text="")
-                col.prop(brush, "secondary_color", text="")
+                if not brush.use_gradient:
+                    col.template_color_picker(brush, "color", value_slider=True)
                 col.prop(brush, "use_gradient")
                 if brush.use_gradient:
                     col.prop(brush, "gradient_source")
-                    layout.template_color_ramp(brush, "gradient", expand=True)
+                    col.template_color_ramp(brush, "gradient", expand=True)
+                else:
+                    col = layout.column(align=True)            
+                    col.prop(brush, "color", text="")
+                col.prop(brush, "secondary_color", text="")
                 col = layout.column()
                 col.template_ID(toolsettings, "palette", new="palette.new")
                 if toolsettings.palette:

Modified: branches/soc-2013-paint/release/scripts/startup/bl_ui/space_view3d_toolbar.py
===================================================================
--- branches/soc-2013-paint/release/scripts/startup/bl_ui/space_view3d_toolbar.py	2013-07-31 13:58:55 UTC (rev 58767)
+++ branches/soc-2013-paint/release/scripts/startup/bl_ui/space_view3d_toolbar.py	2013-07-31 14:15:40 UTC (rev 58768)
@@ -685,14 +685,16 @@
             col = layout.column()
 
             if brush.image_tool == 'DRAW' and brush.blend not in ('ERASE_ALPHA', 'ADD_ALPHA'):
-                col.template_color_picker(brush, "color", value_slider=True)
-                col = layout.column(align=True)
-                col.prop(brush, "color", text="")
-                col.prop(brush, "secondary_color", text="")
+                if not brush.use_gradient:
+                    col.template_color_picker(brush, "color", value_slider=True)
                 col.prop(brush, "use_gradient")
                 if brush.use_gradient:
                     col.prop(brush, "gradient_source")
-                    layout.template_color_ramp(brush, "gradient", expand=True)
+                    col.template_color_ramp(brush, "gradient", expand=True)
+                else:
+                    col = layout.column(align=True)            
+                    col.prop(brush, "color", text="")
+                col.prop(brush, "secondary_color", text="")
                 col = layout.column()
                 col.template_ID(settings, "palette", new="palette.new")
                 if settings.palette:

Modified: branches/soc-2013-paint/source/blender/editors/interface/interface_handlers.c
===================================================================
--- branches/soc-2013-paint/source/blender/editors/interface/interface_handlers.c	2013-07-31 13:58:55 UTC (rev 58767)
+++ branches/soc-2013-paint/source/blender/editors/interface/interface_handlers.c	2013-07-31 14:15:40 UTC (rev 58768)
@@ -3607,13 +3607,27 @@
 				Paint *paint = BKE_paint_get_active(scene);
 				Brush *brush = BKE_paint_brush(paint);
 
-				if (but->rnaprop && RNA_property_subtype(but->rnaprop) == PROP_COLOR_GAMMA) {
-					RNA_property_float_get_array(&but->rnapoin, but->rnaprop, brush->rgb);
-				} else if (but->rnaprop && RNA_property_subtype(but->rnaprop) == PROP_COLOR) {
-					float color[3];
-					RNA_property_float_get_array(&but->rnapoin, but->rnaprop, color);
-					linearrgb_to_srgb_v3_v3(brush->rgb, color);
+				if (brush->flag & BRUSH_USE_GRADIENT) {
+					float *target = &brush->gradient->data[brush->gradient->cur].r;
+
+					if (but->rnaprop && RNA_property_subtype(but->rnaprop) == PROP_COLOR_GAMMA) {
+						float color[3];
+						RNA_property_float_get_array(&but->rnapoin, but->rnaprop, color);
+						srgb_to_linearrgb_v3_v3(target, color);
+					} else if (but->rnaprop && RNA_property_subtype(but->rnaprop) == PROP_COLOR) {
+						RNA_property_float_get_array(&but->rnapoin, but->rnaprop, target);
+					}
 				}
+				else {
+					if (but->rnaprop && RNA_property_subtype(but->rnaprop) == PROP_COLOR_GAMMA) {
+						RNA_property_float_get_array(&but->rnapoin, but->rnaprop, brush->rgb);
+					} else if (but->rnaprop && RNA_property_subtype(but->rnaprop) == PROP_COLOR) {
+						float color[3];
+						RNA_property_float_get_array(&but->rnapoin, but->rnaprop, color);
+						linearrgb_to_srgb_v3_v3(brush->rgb, color);
+					}
+				}
+
 				button_activate_state(C, but, BUTTON_STATE_EXIT);
 			} else {
 				button_activate_state(C, but, BUTTON_STATE_MENU_OPEN);




More information about the Bf-blender-cvs mailing list