[Bf-blender-cvs] [da23f18] soc-2013-paint: Themefy paint curve colors, some tweaks to make selected paint handles more visible.
Antony Riakiotakis
noreply at git.blender.org
Wed Jul 16 00:56:03 CEST 2014
Commit: da23f184cead1594d696cb2258b3dde80048e39c
Author: Antony Riakiotakis
Date: Wed Jul 16 01:55:56 2014 +0300
https://developer.blender.org/rBda23f184cead1594d696cb2258b3dde80048e39c
Themefy paint curve colors, some tweaks to make selected paint handles
more visible.
===================================================================
M source/blender/editors/include/UI_resources.h
M source/blender/editors/interface/resources.c
M source/blender/editors/sculpt_paint/paint_cursor.c
M source/blender/makesdna/DNA_userdef_types.h
M source/blender/makesrna/intern/rna_userdef.c
===================================================================
diff --git a/source/blender/editors/include/UI_resources.h b/source/blender/editors/include/UI_resources.h
index 2e78940..da36535 100644
--- a/source/blender/editors/include/UI_resources.h
+++ b/source/blender/editors/include/UI_resources.h
@@ -237,6 +237,9 @@ enum {
TH_STITCH_PREVIEW_UNSTITCHABLE,
TH_STITCH_PREVIEW_ACTIVE,
+ TH_PAINT_CURVE_HANDLE,
+ TH_PAINT_CURVE_PIVOT,
+
TH_UV_SHADOW,
TH_UV_OTHERS,
diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c
index 2ea3e19..65c0178 100644
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@ -541,6 +541,13 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
cp = ts->preview_stitch_active;
break;
+ case TH_PAINT_CURVE_HANDLE:
+ cp = ts->paint_curve_handle;
+ break;
+ case TH_PAINT_CURVE_PIVOT:
+ cp = ts->paint_curve_pivot;
+ break;
+
case TH_UV_OTHERS:
cp = ts->uv_others;
break;
@@ -875,6 +882,8 @@ void ui_theme_init_default(void)
rgba_char_args_set(btheme->tv3d.title, 0, 0, 0, 255);
rgba_char_args_set(btheme->tv3d.freestyle_edge_mark, 0x7f, 0xff, 0x7f, 255);
rgba_char_args_set(btheme->tv3d.freestyle_face_mark, 0x7f, 0xff, 0x7f, 51);
+ rgba_char_args_set_fl(btheme->tv3d.paint_curve_handle, 0.5f, 1.0f, 0.5f, 0.5f);
+ rgba_char_args_set_fl(btheme->tv3d.paint_curve_pivot, 1.0f, 0.5f, 0.5f, 0.5f);
btheme->tv3d.facedot_size = 4;
@@ -2431,6 +2440,16 @@ void init_userdef_do_versions(void)
}
}
+ if (U.versionfile < 272|| (U.versionfile == 272 && U.subversionfile < 2)) {
+ bTheme *btheme;
+ for (btheme = U.themes.first; btheme; btheme = btheme->next) {
+ rgba_char_args_set_fl(btheme->tv3d.paint_curve_handle, 0.5f, 1.0f, 0.5f, 0.5f);
+ rgba_char_args_set_fl(btheme->tv3d.paint_curve_pivot, 1.0f, 0.5f, 0.5f, 0.5f);
+ rgba_char_args_set_fl(btheme->tima.paint_curve_handle, 0.5f, 1.0f, 0.5f, 0.5f);
+ rgba_char_args_set_fl(btheme->tima.paint_curve_pivot, 1.0f, 0.5f, 0.5f, 0.5f);
+ }
+ }
+
{
bTheme *btheme;
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
diff --git a/source/blender/editors/sculpt_paint/paint_cursor.c b/source/blender/editors/sculpt_paint/paint_cursor.c
index 44d2235..dcf3c13 100644
--- a/source/blender/editors/sculpt_paint/paint_cursor.c
+++ b/source/blender/editors/sculpt_paint/paint_cursor.c
@@ -59,6 +59,8 @@
#include "ED_view3d.h"
+#include "UI_resources.h"
+
#include "paint_intern.h"
/* still needed for sculpt_stroke_get_location, should be
* removed eventually (TODO) */
@@ -797,9 +799,9 @@ BLI_INLINE void draw_tri_point(float *co, float width, bool selected)
{
float w = width / 2.0f;
if (selected)
- glColor4f(1.0, 1.0, 0.5, 0.5);
+ UI_ThemeColor4(TH_VERTEX_SELECT);
else
- glColor4f(1.0, 0.5, 0.5, 0.5);
+ UI_ThemeColor4(TH_PAINT_CURVE_PIVOT);
glLineWidth(3.0);
@@ -823,9 +825,9 @@ BLI_INLINE void draw_rect_point(float *co, float width, bool selected)
{
float w = width / 2.0f;
if (selected)
- glColor4f(1.0, 1.0, 0.5, 0.5);
+ UI_ThemeColor4(TH_VERTEX_SELECT);
else
- glColor4f(0.5, 1.0, 0.5, 0.5);
+ UI_ThemeColor4(TH_PAINT_CURVE_HANDLE);
glLineWidth(3.0);
glBegin(GL_LINE_LOOP);
@@ -849,14 +851,25 @@ BLI_INLINE void draw_rect_point(float *co, float width, bool selected)
BLI_INLINE void draw_bezier_handle_lines(BezTriple *bez)
{
+ short line1[] = {0, 1};
+ short line2[] = {1, 2};
+
glVertexPointer(2, GL_FLOAT, 3 * sizeof(float), bez->vec);
glColor4f(0.0, 0.0, 0.0, 0.5);
glLineWidth(3.0);
glDrawArrays(GL_LINE_STRIP, 0, 3);
- glColor4f(1.0, 1.0, 1.0, 0.5);
glLineWidth(1.0);
- glDrawArrays(GL_LINE_STRIP, 0, 3);
+ if (bez->f1 || bez->f2)
+ UI_ThemeColor4(TH_VERTEX_SELECT);
+ else
+ glColor4f(1.0, 1.0, 1.0, 0.5);
+ glDrawElements(GL_LINES, 2, GL_UNSIGNED_SHORT, line1);
+ if (bez->f3 || bez->f2)
+ UI_ThemeColor4(TH_VERTEX_SELECT);
+ else
+ glColor4f(1.0, 1.0, 1.0, 0.5);
+ glDrawElements(GL_LINES, 2, GL_UNSIGNED_SHORT, line2);
}
static void paint_draw_curve_cursor(Brush *brush)
@@ -878,8 +891,8 @@ static void paint_draw_curve_cursor(Brush *brush)
/* use color coding to distinguish handles vs curve segments */
draw_bezier_handle_lines(&cp->bez);
draw_tri_point(&cp->bez.vec[1][0], 10.0, cp->bez.f2);
- draw_rect_point(&cp->bez.vec[0][0], 8.0, cp->bez.f1);
- draw_rect_point(&cp->bez.vec[2][0], 8.0, cp->bez.f3);
+ draw_rect_point(&cp->bez.vec[0][0], 8.0, cp->bez.f1 || cp->bez.f2);
+ draw_rect_point(&cp->bez.vec[2][0], 8.0, cp->bez.f3 || cp->bez.f2);
for (j = 0; j < 2; j++)
BKE_curve_forward_diff_bezier(
@@ -902,8 +915,8 @@ static void paint_draw_curve_cursor(Brush *brush)
/* draw last line segment */
draw_bezier_handle_lines(&cp->bez);
draw_tri_point(&cp->bez.vec[1][0], 10.0, cp->bez.f2);
- draw_rect_point(&cp->bez.vec[0][0], 8.0, cp->bez.f1);
- draw_rect_point(&cp->bez.vec[2][0], 8.0, cp->bez.f3);
+ draw_rect_point(&cp->bez.vec[0][0], 8.0, cp->bez.f1 || cp->bez.f2);
+ draw_rect_point(&cp->bez.vec[2][0], 8.0, cp->bez.f3 || cp->bez.f2);
glLineWidth(1.0);
diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h
index cb2341b..d7a3363 100644
--- a/source/blender/makesdna/DNA_userdef_types.h
+++ b/source/blender/makesdna/DNA_userdef_types.h
@@ -154,7 +154,6 @@ typedef struct uiGradientColors {
char high_gradient[4];
int show_grad;
int pad2;
-
} uiGradientColors;
typedef struct ThemeUI {
@@ -328,6 +327,9 @@ typedef struct ThemeSpace {
char info_warning[4], info_warning_text[4];
char info_info[4], info_info_text[4];
char info_debug[4], info_debug_text[4];
+
+ char paint_curve_pivot[4];
+ char paint_curve_handle[4];
} ThemeSpace;
diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c
index f497426..d43bd8c 100644
--- a/source/blender/makesrna/intern/rna_userdef.c
+++ b/source/blender/makesrna/intern/rna_userdef.c
@@ -1292,6 +1292,21 @@ static void rna_def_userdef_theme_spaces_face(StructRNA *srna)
RNA_def_property_update(prop, 0, "rna_userdef_update");
}
+static void rna_def_userdef_theme_spaces_paint_curves(StructRNA *srna)
+{
+ PropertyRNA *prop;
+
+ prop = RNA_def_property(srna, "paint_curve_handle", PROP_FLOAT, PROP_COLOR_GAMMA);
+ RNA_def_property_array(prop, 4);
+ RNA_def_property_ui_text(prop, "Paint Curve Handle", "");
+ RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+ prop = RNA_def_property(srna, "paint_curve_pivot", PROP_FLOAT, PROP_COLOR_GAMMA);
+ RNA_def_property_array(prop, 4);
+ RNA_def_property_ui_text(prop, "Paint Curve Pivot", "");
+ RNA_def_property_update(prop, 0, "rna_userdef_update");
+}
+
static void rna_def_userdef_theme_spaces_curves(StructRNA *srna, bool incl_nurbs, bool incl_lastsel, bool incl_vector)
{
PropertyRNA *prop;
@@ -1567,6 +1582,8 @@ static void rna_def_userdef_theme_space_view3d(BlenderRNA *brna)
RNA_def_property_array(prop, 3);
RNA_def_property_ui_text(prop, "Skin Root", "");
RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+ rna_def_userdef_theme_spaces_paint_curves(srna);
}
@@ -2259,6 +2276,8 @@ static void rna_def_userdef_theme_space_image(BlenderRNA *brna)
RNA_def_property_update(prop, 0, "rna_userdef_update");
rna_def_userdef_theme_spaces_curves(srna, false, false, false);
+
+ rna_def_userdef_theme_spaces_paint_curves(srna);
}
static void rna_def_userdef_theme_space_seq(BlenderRNA *brna)
More information about the Bf-blender-cvs
mailing list