[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