[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52035] trunk/blender/source/blender: Bugfix #33124
Ton Roosendaal
ton at blender.org
Fri Nov 9 11:33:44 CET 2012
Revision: 52035
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52035
Author: ton
Date: 2012-11-09 10:33:42 +0000 (Fri, 09 Nov 2012)
Log Message:
-----------
Bugfix #33124
User Preference setting for Color Picker type only affected the popup
version. Now it uses it for all color pickers in Panels too.
Note for UI Py team: col.template_color_wheel() function follows
the userpref - might be a need for rename here? Dunno how to handle
this. Comment noted in template code.
Modified Paths:
--------------
trunk/blender/source/blender/editors/interface/interface_templates.c
trunk/blender/source/blender/editors/interface/interface_widgets.c
trunk/blender/source/blender/makesrna/intern/rna_userdef.c
Modified: trunk/blender/source/blender/editors/interface/interface_templates.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_templates.c 2012-11-09 09:57:35 UTC (rev 52034)
+++ trunk/blender/source/blender/editors/interface/interface_templates.c 2012-11-09 10:33:42 UTC (rev 52035)
@@ -1951,10 +1951,11 @@
MEM_freeN(cb);
}
-/********************* ColorWheel Template ************************/
+/********************* ColorPicker Template ************************/
#define WHEEL_SIZE 100
+/* This template now follows User Preference for type - name is not correct anymore... */
void uiTemplateColorWheel(uiLayout *layout, PointerRNA *ptr, const char *propname, int value_slider, int lock, int lock_luminosity, int cubic)
{
PropertyRNA *prop = RNA_struct_find_property(ptr, propname);
@@ -1970,10 +1971,24 @@
RNA_property_float_ui_range(ptr, prop, &softmin, &softmax, &step, &precision);
- col = uiLayoutColumn(layout, FALSE);
+ col = uiLayoutColumn(layout, TRUE);
row = uiLayoutRow(col, TRUE);
- but = uiDefButR_prop(block, HSVCIRCLE, 0, "", 0, 0, WHEEL_SIZE, WHEEL_SIZE, ptr, prop, -1, 0.0, 0.0, 0, 0, "");
+ switch (U.color_picker_type) {
+ case USER_CP_CIRCLE:
+ but = uiDefButR_prop(block, HSVCIRCLE, 0, "", 0, 0, WHEEL_SIZE, WHEEL_SIZE, ptr, prop, -1, 0.0, 0.0, 0, 0, "");
+ break;
+ case USER_CP_SQUARE_SV:
+ but = uiDefButR_prop(block, HSVCUBE, 0, "", 0, 0, WHEEL_SIZE, WHEEL_SIZE, ptr, prop, -1, 0.0, 0.0, UI_GRAD_SV, 0, "");
+ break;
+ case USER_CP_SQUARE_HS:
+ but = uiDefButR_prop(block, HSVCUBE, 0, "", 0, 0, WHEEL_SIZE, WHEEL_SIZE, ptr, prop, -1, 0.0, 0.0, UI_GRAD_HS, 0, "");
+ break;
+ case USER_CP_SQUARE_HV:
+ but = uiDefButR_prop(block, HSVCUBE, 0, "", 0, 0, WHEEL_SIZE, WHEEL_SIZE, ptr, prop, -1, 0.0, 0.0, UI_GRAD_HV, 0, "");
+ break;
+ }
+
if (lock) {
but->flag |= UI_BUT_COLOR_LOCK;
@@ -1989,10 +2004,29 @@
if (cubic)
but->flag |= UI_BUT_COLOR_CUBIC;
- uiItemS(row);
- if (value_slider)
- uiDefButR_prop(block, HSVCUBE, 0, "", WHEEL_SIZE + 6, 0, 14, WHEEL_SIZE, ptr, prop, -1, softmin, softmax, UI_GRAD_V_ALT, 0, "");
+ if (value_slider) {
+
+ switch (U.color_picker_type) {
+ case USER_CP_CIRCLE:
+ uiItemS(row);
+ uiDefButR_prop(block, HSVCUBE, 0, "", WHEEL_SIZE + 6, 0, 14, WHEEL_SIZE, ptr, prop, -1, softmin, softmax, UI_GRAD_V_ALT, 0, "");
+ break;
+ case USER_CP_SQUARE_SV:
+ uiItemS(col);
+ uiDefButR_prop(block, HSVCUBE, 0, "", 0, 4, WHEEL_SIZE, 18, ptr, prop, -1, softmin, softmax, UI_GRAD_SV + 3, 0, "");
+ break;
+ case USER_CP_SQUARE_HS:
+ uiItemS(col);
+ uiDefButR_prop(block, HSVCUBE, 0, "", 0, 4, WHEEL_SIZE, 18, ptr, prop, -1, softmin, softmax, UI_GRAD_HS + 3, 0, "");
+ break;
+ case USER_CP_SQUARE_HV:
+ uiItemS(col);
+ uiDefButR_prop(block, HSVCUBE, 0, "", 0, 4, WHEEL_SIZE, 18, ptr, prop, -1, softmin, softmax, UI_GRAD_HV + 3, 0, "");
+ break;
+ }
+
+ }
}
/********************* Layer Buttons Template ************************/
Modified: trunk/blender/source/blender/editors/interface/interface_widgets.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_widgets.c 2012-11-09 09:57:35 UTC (rev 52034)
+++ trunk/blender/source/blender/editors/interface/interface_widgets.c 2012-11-09 10:33:42 UTC (rev 52035)
@@ -2059,7 +2059,7 @@
/* old below */
- for (dx = 0.0f; dx < 1.0f; dx += color_step) {
+ for (dx = 0.0f; dx < 0.999f; dx += color_step) { /* 0.999 = prevent float inaccuracy for steps */
/* previous color */
copy_v3_v3(col0[0], col1[0]);
copy_v3_v3(col0[1], col1[1]);
@@ -2114,7 +2114,7 @@
sx1 = rect->xmin + dx * BLI_rcti_size_x(rect);
sx2 = rect->xmin + (dx + color_step) * BLI_rcti_size_x(rect);
sy = rect->ymin;
- dy = BLI_rcti_size_y(rect) / 3.0;
+ dy = (float)BLI_rcti_size_y(rect) / 3.0;
glBegin(GL_QUADS);
for (a = 0; a < 3; a++, sy += dy) {
Modified: trunk/blender/source/blender/makesrna/intern/rna_userdef.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_userdef.c 2012-11-09 09:57:35 UTC (rev 52034)
+++ trunk/blender/source/blender/makesrna/intern/rna_userdef.c 2012-11-09 10:33:42 UTC (rev 52035)
@@ -3162,6 +3162,7 @@
RNA_def_property_enum_items(prop, color_picker_types);
RNA_def_property_enum_sdna(prop, NULL, "color_picker_type");
RNA_def_property_ui_text(prop, "Color Picker Type", "Different styles of displaying the color picker widget");
+ RNA_def_property_update(prop, 0, "rna_userdef_update");
prop = RNA_def_property(srna, "use_preview_images", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "uiflag", USER_ALLWINCODECS);
More information about the Bf-blender-cvs
mailing list