[Bf-blender-cvs] [13c60e2a526] greasepencil-object: Change Cursor management

Antonio Vazquez noreply at git.blender.org
Tue Jul 11 13:45:46 CEST 2017


Commit: 13c60e2a5268e9429dd8f5909c20622e6115ed5b
Author: Antonio Vazquez
Date:   Tue Jul 11 13:45:33 2017 +0200
Branches: greasepencil-object
https://developer.blender.org/rB13c60e2a5268e9429dd8f5909c20622e6115ed5b

Change Cursor management

Change how the cursor is displayed on screen and mimic standard look and feel for grease pencil

===================================================================

M	release/scripts/startup/bl_ui/properties_grease_pencil_common.py
M	release/scripts/startup/bl_ui/space_view3d_toolbar.py
M	source/blender/blenkernel/intern/gpencil.c
M	source/blender/blenkernel/intern/scene.c
M	source/blender/blenloader/intern/versioning_280.c
M	source/blender/editors/gpencil/gpencil_brush.c
M	source/blender/editors/gpencil/gpencil_edit.c
M	source/blender/editors/gpencil/gpencil_paint.c
M	source/blender/editors/gpencil/gpencil_utils.c
M	source/blender/editors/space_view3d/view3d_select.c
M	source/blender/editors/util/undo.c
M	source/blender/makesdna/DNA_gpencil_types.h
M	source/blender/makesdna/DNA_scene_types.h
M	source/blender/makesrna/intern/rna_scene.c
M	source/blender/makesrna/intern/rna_sculpt_paint.c

===================================================================

diff --git a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py
index b3a159f5473..55966566742 100644
--- a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py
+++ b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py
@@ -447,6 +447,42 @@ class GreasePencilStrokeSculptPanel:
             layout.prop(brush, "affect_pressure")
 
 
+class GreasePencilAppearancePanel:
+    bl_label = "Appearance"
+    bl_category = "Options"
+    bl_region_type = 'TOOLS'
+
+    @classmethod
+    def poll(cls, context):
+        if context.gpencil_data is None:
+            return False
+
+        if context.active_object and context.active_object.mode in ('GPENCIL_PAINT', 'GPENCIL_SCULPT'):
+            return True
+        else:
+            return False
+
+    @staticmethod
+    def draw(self, context):
+        layout = self.layout
+        settings = context.tool_settings.gpencil_sculpt
+        brush = settings.brush
+
+        col = layout.column()
+        if context.active_object.mode == 'GPENCIL_PAINT':
+            drawingbrush = context.active_gpencil_brush
+            col.prop(drawingbrush, "use_cursor", text="Show Brush")
+            row = col.row(align=True)
+            row.prop(drawingbrush, "cursor_color", text="Color")
+
+        if context.active_object.mode == 'GPENCIL_SCULPT':
+            col.prop(brush, "use_cursor", text="Show Brush")
+            row = col.row(align=True)
+            row.prop(brush, "cursor_color_add", text="Add")
+            row = col.row(align=True)
+            row.prop(brush, "cursor_color_sub", text="Subtract")
+
+
 class GreasePencilBrushCurvesPanel:
     # subclass must set
     # bl_space_type = 'IMAGE_EDITOR'
diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
index ce4f244cd92..897fe01d8f8 100644
--- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
@@ -27,7 +27,8 @@ from bl_ui.properties_grease_pencil_common import (
         GreasePencilInterpolatePanel,
         GreasePencilStrokeSculptPanel,
         GreasePencilBrushPanel,
-        GreasePencilBrushCurvesPanel
+        GreasePencilBrushCurvesPanel,
+        GreasePencilAppearancePanel
         )
 from bl_ui.properties_paint_common import (
         UnifiedPaintPanel,
@@ -2036,6 +2037,10 @@ class VIEW3D_PT_tools_grease_pencil_brush(GreasePencilBrushPanel, Panel):
 class VIEW3D_PT_tools_grease_pencil_brushcurves(GreasePencilBrushCurvesPanel, Panel):
     bl_space_type = 'VIEW_3D'
 
+# Grease Pencil drawing brushes
+class VIEW3D_PT_tools_grease_pencil_appearance(GreasePencilAppearancePanel, Panel):
+    bl_space_type = 'VIEW_3D'
+
 
 # Note: moved here so that it's always in last position in 'Tools' panels!
 class VIEW3D_PT_tools_history(View3DPanel, Panel):
@@ -2114,6 +2119,7 @@ classes = (
     VIEW3D_PT_sculpt_options,
     VIEW3D_PT_sculpt_symmetry,
     VIEW3D_PT_tools_brush_appearance,
+    VIEW3D_PT_tools_grease_pencil_appearance,
     VIEW3D_PT_tools_weightpaint,
     VIEW3D_PT_tools_weightpaint_options,
     VIEW3D_PT_tools_vertexpaint,
diff --git a/source/blender/blenkernel/intern/gpencil.c b/source/blender/blenkernel/intern/gpencil.c
index 85c587d1cf8..910f8457625 100644
--- a/source/blender/blenkernel/intern/gpencil.c
+++ b/source/blender/blenkernel/intern/gpencil.c
@@ -417,12 +417,16 @@ bGPDpalette *BKE_gpencil_palette_addnew(bGPdata *gpd, const char *name, bool set
 void BKE_gpencil_brush_init_presets(ToolSettings *ts)
 {
 	bGPDbrush *brush;
+	float curcolor[3];
+	ARRAY_SET_ITEMS(curcolor, 1.0f, 1.0f, 1.0f);
+
 	/* Basic brush */
 	brush = BKE_gpencil_brush_addnew(ts, "Basic", true);
 	brush->thickness = 3.0f;
 	brush->flag &= ~GP_BRUSH_USE_RANDOM_PRESSURE;
 	brush->draw_sensitivity = 1.0f;
 	brush->flag |= GP_BRUSH_USE_PRESSURE;
+	brush->flag |= GP_BRUSH_ENABLE_CURSOR;
 
 	brush->flag &= ~GP_BRUSH_USE_RANDOM_STRENGTH;
 	brush->draw_strength = 1.0f;
@@ -440,6 +444,7 @@ void BKE_gpencil_brush_init_presets(ToolSettings *ts)
 	brush->draw_smoothlvl = 1;
 	brush->sublevel = 0;
 	brush->draw_random_sub = 0.0f;
+	copy_v3_v3(brush->curcolor, curcolor);
 
 	/* Pencil brush */
 	brush = BKE_gpencil_brush_addnew(ts, "Pencil", false);
@@ -447,6 +452,7 @@ void BKE_gpencil_brush_init_presets(ToolSettings *ts)
 	brush->flag &= ~GP_BRUSH_USE_RANDOM_PRESSURE;
 	brush->draw_sensitivity = 1.0f;
 	brush->flag |= GP_BRUSH_USE_PRESSURE;
+	brush->flag |= GP_BRUSH_ENABLE_CURSOR;
 
 	brush->flag &= ~GP_BRUSH_USE_RANDOM_STRENGTH;
 	brush->draw_strength = 0.7f;
@@ -464,6 +470,7 @@ void BKE_gpencil_brush_init_presets(ToolSettings *ts)
 	brush->draw_smoothlvl = 2;
 	brush->sublevel = 2;
 	brush->draw_random_sub = 0.0f;
+	copy_v3_v3(brush->curcolor, curcolor);
 
 	/* Ink brush */
 	brush = BKE_gpencil_brush_addnew(ts, "Ink", false);
@@ -471,6 +478,7 @@ void BKE_gpencil_brush_init_presets(ToolSettings *ts)
 	brush->flag &= ~GP_BRUSH_USE_RANDOM_PRESSURE;
 	brush->draw_sensitivity = 1.6f;
 	brush->flag |= GP_BRUSH_USE_PRESSURE;
+	brush->flag |= GP_BRUSH_ENABLE_CURSOR;
 
 	brush->flag &= ~GP_BRUSH_USE_RANDOM_STRENGTH;
 	brush->draw_strength = 1.0f;
@@ -488,6 +496,7 @@ void BKE_gpencil_brush_init_presets(ToolSettings *ts)
 	brush->draw_smoothlvl = 2;
 	brush->sublevel = 2;
 	brush->draw_random_sub = 0.0f;
+	copy_v3_v3(brush->curcolor, curcolor);
 
 	/* Ink Noise brush */
 	brush = BKE_gpencil_brush_addnew(ts, "Ink noise", false);
@@ -495,6 +504,7 @@ void BKE_gpencil_brush_init_presets(ToolSettings *ts)
 	brush->flag |= GP_BRUSH_USE_RANDOM_PRESSURE;
 	brush->draw_sensitivity = 1.611f;
 	brush->flag |= GP_BRUSH_USE_PRESSURE;
+	brush->flag |= GP_BRUSH_ENABLE_CURSOR;
 
 	brush->flag &= ~GP_BRUSH_USE_RANDOM_STRENGTH;
 	brush->draw_strength = 1.0f;
@@ -512,6 +522,7 @@ void BKE_gpencil_brush_init_presets(ToolSettings *ts)
 	brush->draw_smoothlvl = 2;
 	brush->sublevel = 2;
 	brush->draw_random_sub = 0.0f;
+	copy_v3_v3(brush->curcolor, curcolor);
 
 	/* Marker brush */
 	brush = BKE_gpencil_brush_addnew(ts, "Marker", false);
@@ -523,6 +534,7 @@ void BKE_gpencil_brush_init_presets(ToolSettings *ts)
 	brush->flag &= ~GP_BRUSH_USE_RANDOM_STRENGTH;
 	brush->draw_strength = 1.0f;
 	brush->flag &= ~GP_BRUSH_USE_STENGTH_PRESSURE;
+	brush->flag |= GP_BRUSH_ENABLE_CURSOR;
 
 	brush->draw_random_press = 0.0f;
 
@@ -536,6 +548,7 @@ void BKE_gpencil_brush_init_presets(ToolSettings *ts)
 	brush->draw_smoothlvl = 2;
 	brush->sublevel = 2;
 	brush->draw_random_sub = 0.0f;
+	copy_v3_v3(brush->curcolor, curcolor);
 
 	/* Crayon brush */
 	brush = BKE_gpencil_brush_addnew(ts, "Crayon", false);
@@ -543,6 +556,7 @@ void BKE_gpencil_brush_init_presets(ToolSettings *ts)
 	brush->flag &= ~GP_BRUSH_USE_RANDOM_PRESSURE;
 	brush->draw_sensitivity = 3.0f;
 	brush->flag &= ~GP_BRUSH_USE_PRESSURE;
+	brush->flag |= GP_BRUSH_ENABLE_CURSOR;
 
 	brush->flag &= ~GP_BRUSH_USE_RANDOM_STRENGTH;
 	brush->draw_strength = 0.140f;
@@ -560,7 +574,7 @@ void BKE_gpencil_brush_init_presets(ToolSettings *ts)
 	brush->draw_smoothlvl = 1;
 	brush->sublevel = 2;
 	brush->draw_random_sub = 0.5f;
-
+	copy_v3_v3(brush->curcolor, curcolor);
 }
 
 /* add a new gp-brush and make it the active */
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index 85c28b8bf54..bc8aaacda90 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -917,46 +917,65 @@ void BKE_scene_init(Scene *sce)
 	{
 		GP_BrushEdit_Settings *gset = &sce->toolsettings->gp_sculpt;
 		GP_EditBrush_Data *gp_brush;
-		
+		float curcolor_add[3], curcolor_sub[3];
+		ARRAY_SET_ITEMS(curcolor_add, 1.0f, 0.6f, 0.6f);
+		ARRAY_SET_ITEMS(curcolor_sub, 0.6f, 0.6f, 1.0f);
+
 		gp_brush = &gset->brush[GP_EDITBRUSH_TYPE_SMOOTH];
 		gp_brush->size = 25;
 		gp_brush->strength = 0.3f;
-		gp_brush->flag = GP_EDITBRUSH_FLAG_USE_FALLOFF | GP_EDITBRUSH_FLAG_SMOOTH_PRESSURE;
-		
+		gp_brush->flag = GP_EDITBRUSH_FLAG_USE_FALLOFF | GP_EDITBRUSH_FLAG_SMOOTH_PRESSURE | GP_EDITBRUSH_FLAG_ENABLE_CURSOR;
+		copy_v3_v3(gp_brush->curcolor_add, curcolor_add);
+		copy_v3_v3(gp_brush->curcolor_sub, curcolor_sub);
+
 		gp_brush = &gset->brush[GP_EDITBRUSH_TYPE_THICKNESS];
 		gp_brush->size = 25;
 		gp_brush->strength = 0.5f;
-		gp_brush->flag = GP_EDITBRUSH_FLAG_USE_FALLOFF;
-		
+		gp_brush->flag = GP_EDITBRUSH_FLAG_USE_FALLOFF | GP_EDITBRUSH_FLAG_ENABLE_CURSOR;
+		copy_v3_v3(gp_brush->curcolor_add, curcolor_add);
+		copy_v3_v3(gp_brush->curcolor_sub, curcolor_sub);
+
 		gp_brush = &gset->brush[GP_EDITBRUSH_TYPE_STRENGTH];
 		gp_brush->size = 25;
 		gp_brush->strength = 0.5f;
-		gp_brush->flag = GP_EDITBRUSH_FLAG_USE_FALLOFF;
+		gp_brush->flag = GP_EDITBRUSH_FLAG_USE_FALLOFF | GP_EDITBRUSH_FLAG_ENABLE_CURSOR;
+		copy_v3_v3(gp_brush->curcolor_add, curcolor_add);
+		copy_v3_v3(gp_brush->curcolor_sub, curcolor_sub);
 
 		gp_brush = &gset->brush[GP_EDITBRUSH_TYPE_GRAB];
 		gp_brush->size = 50;
 		gp_brush->strength = 0.3f;
-		gp_brush->flag = GP_EDITBRUSH_FLAG_USE_FALLOFF;
-		
+		gp_brush->flag = GP_EDITBRUSH_FLAG_USE_FALLOFF | GP_EDITBRUSH_FLAG_ENABLE_CURSOR;
+		copy_v3_v3(gp_brush->curcolor_add, curcolor_add);
+		copy_v3_v3(gp_brush->curcolor_sub, curcolor_sub);
+
 		gp_brush = &gset->brush[GP_EDITBRUSH_TYPE_PUSH];
 		gp_brush->size = 25;
 		gp_brush->strength = 0.3f;
-		gp_brush->flag = GP_EDITBRUSH_FLAG_USE_FALLOFF;
-		
+		gp_brush->flag = GP_EDITBRUSH_FLAG_USE_FALLOFF | GP_EDITBRUSH_FLAG_ENABLE_CURSOR;
+		copy_v3_v3(gp_brush->curcolor_add, curcolor_add);
+		copy_v3_v3(gp_brush->curcolor_sub, curcolor_sub);
+
 		gp_brush = &gset->brush[GP_EDITBRUSH_TYPE_TWIST];
 		gp_brush->size = 50;
 		gp_brush->strength = 0.3f; // XXX?
-		gp_brush->flag = GP_EDITBRUSH_FLAG_USE_FALLOFF;
-		
+		gp_brush->flag = GP_EDITBRUSH_FLAG_USE_FALLOFF | GP_EDITBRUSH_FLAG_ENABLE_CURSOR;
+		copy_v3_v3(gp_brush->curcolor_add, curcolor_add);
+		copy_v3_v3(gp_brush->curcolor_sub, curcolor_sub);
+
 		gp_brush = &gset->brush[GP_EDITBRUSH_TYPE_PINCH];
 		gp_brush->size = 50;
 		gp_brush->strength = 0.5f; // XXX?
-		gp_brush->flag = GP_EDITBRUSH_FLAG_USE_FALLOFF;
-		
+		gp_brush->flag = GP_EDITBRUSH_FLAG_USE_FA

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list