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);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to