[Bf-blender-cvs] [5bbe385a9ee] greasepencil-object: GPencil: Replace duplicate brush preset code by function
Antonio Vazquez
noreply at git.blender.org
Sat Nov 2 20:44:23 CET 2019
Commit: 5bbe385a9ee8fdf833e4fe46a4dbd41811d16fc8
Author: Antonio Vazquez
Date: Sat Nov 2 20:44:15 2019 +0100
Branches: greasepencil-object
https://developer.blender.org/rB5bbe385a9ee8fdf833e4fe46a4dbd41811d16fc8
GPencil: Replace duplicate brush preset code by function
===================================================================
M source/blender/blenkernel/intern/brush.c
===================================================================
diff --git a/source/blender/blenkernel/intern/brush.c b/source/blender/blenkernel/intern/brush.c
index 0d05297f6ed..08d32b44b0f 100644
--- a/source/blender/blenkernel/intern/brush.c
+++ b/source/blender/blenkernel/intern/brush.c
@@ -241,6 +241,20 @@ static void brush_gpencil_curvemap_reset(CurveMap *cuma, int tot, int preset)
}
}
+static Brush *gpencil_brush_ensure(Main *bmain, ToolSettings *ts, char *brush_name)
+{
+ Brush *brush = BLI_findstring(&bmain->brushes, brush_name, offsetof(ID, name) + 2);
+ if (brush == NULL) {
+ brush = BKE_brush_add_gpencil(bmain, ts, brush_name);
+ }
+
+ if (brush->gpencil_settings == NULL) {
+ BKE_brush_init_gpencil_settings(brush);
+ }
+
+ return brush;
+}
+
/* create a set of grease pencil presets. */
void BKE_brush_gpencil_presets(Main *bmain, ToolSettings *ts)
{
@@ -254,10 +268,7 @@ void BKE_brush_gpencil_presets(Main *bmain, ToolSettings *ts)
CurveMapping *custom_curve;
/* Airbrush brush. */
- brush = BLI_findstring(&bmain->brushes, "Airbrush", offsetof(ID, name) + 2);
- if (brush == NULL) {
- brush = BKE_brush_add_gpencil(bmain, ts, "Airbrush");
- }
+ brush = gpencil_brush_ensure(bmain, ts, "Airbrush");
brush->size = 300.0f;
brush->gpencil_settings->flag |= (GP_BRUSH_USE_PRESSURE | GP_BRUSH_ENABLE_CURSOR);
@@ -291,10 +302,8 @@ void BKE_brush_gpencil_presets(Main *bmain, ToolSettings *ts)
brush->gpencil_settings->flag |= GP_BRUSH_MATERIAL_PINNED;
/* Ink Pen brush. */
- brush = BLI_findstring(&bmain->brushes, "Ink Pen", offsetof(ID, name) + 2);
- if (brush == NULL) {
- brush = BKE_brush_add_gpencil(bmain, ts, "Ink Pen");
- }
+ brush = gpencil_brush_ensure(bmain, ts, "Ink Pen");
+
brush->size = 60.0f;
brush->gpencil_settings->flag |= (GP_BRUSH_USE_PRESSURE | GP_BRUSH_ENABLE_CURSOR);
@@ -331,10 +340,7 @@ void BKE_brush_gpencil_presets(Main *bmain, ToolSettings *ts)
brush->smooth_stroke_factor = SMOOTH_STROKE_FACTOR;
/* Ink Pen Rough brush. */
- brush = BLI_findstring(&bmain->brushes, "Ink Pen Rough", offsetof(ID, name) + 2);
- if (brush == NULL) {
- brush = BKE_brush_add_gpencil(bmain, ts, "Ink Pen Rough");
- }
+ brush = gpencil_brush_ensure(bmain, ts, "Ink Pen Rough");
brush->size = 60.0f;
brush->gpencil_settings->flag |= (GP_BRUSH_USE_PRESSURE | GP_BRUSH_ENABLE_CURSOR);
@@ -374,10 +380,8 @@ void BKE_brush_gpencil_presets(Main *bmain, ToolSettings *ts)
brush->smooth_stroke_factor = SMOOTH_STROKE_FACTOR;
/* Marker Bold brush. */
- brush = BLI_findstring(&bmain->brushes, "Marker Bold", offsetof(ID, name) + 2);
- if (brush == NULL) {
- brush = BKE_brush_add_gpencil(bmain, ts, "Marker Bold");
- }
+ brush = gpencil_brush_ensure(bmain, ts, "Marker Bold");
+
brush->size = 150.0f;
brush->gpencil_settings->flag &= ~GP_BRUSH_USE_PRESSURE;
@@ -416,10 +420,8 @@ void BKE_brush_gpencil_presets(Main *bmain, ToolSettings *ts)
brush->smooth_stroke_factor = SMOOTH_STROKE_FACTOR;
/* Marker Chisel brush. */
- brush = BLI_findstring(&bmain->brushes, "Marker Chisel", offsetof(ID, name) + 2);
- if (brush == NULL) {
- brush = BKE_brush_add_gpencil(bmain, ts, "Marker Chisel");
- }
+ brush = gpencil_brush_ensure(bmain, ts, "Marker Chisel");
+
brush->size = 80.0f;
brush->gpencil_settings->flag |= (GP_BRUSH_USE_PRESSURE | GP_BRUSH_ENABLE_CURSOR);
@@ -451,10 +453,8 @@ void BKE_brush_gpencil_presets(Main *bmain, ToolSettings *ts)
brush->smooth_stroke_factor = SMOOTH_STROKE_FACTOR;
/* Pen brush. */
- brush = BLI_findstring(&bmain->brushes, "Pen", offsetof(ID, name) + 2);
- if (brush == NULL) {
- brush = BKE_brush_add_gpencil(bmain, ts, "Pen");
- }
+ brush = gpencil_brush_ensure(bmain, ts, "Pen");
+
brush->size = 30.0f;
brush->gpencil_settings->flag |= (GP_BRUSH_USE_PRESSURE | GP_BRUSH_ENABLE_CURSOR);
@@ -487,10 +487,7 @@ void BKE_brush_gpencil_presets(Main *bmain, ToolSettings *ts)
brush->smooth_stroke_factor = SMOOTH_STROKE_FACTOR;
/* Pencil Soft brush. */
- brush = BLI_findstring(&bmain->brushes, "Pencil Soft", offsetof(ID, name) + 2);
- if (brush == NULL) {
- brush = BKE_brush_add_gpencil(bmain, ts, "Pencil Soft");
- }
+ brush = gpencil_brush_ensure(bmain, ts, "Pencil Soft");
brush->size = 80.0f;
brush->gpencil_settings->flag |= (GP_BRUSH_USE_PRESSURE | GP_BRUSH_ENABLE_CURSOR);
@@ -524,10 +521,7 @@ void BKE_brush_gpencil_presets(Main *bmain, ToolSettings *ts)
brush->smooth_stroke_factor = SMOOTH_STROKE_FACTOR;
/* Pencil brush. */
- brush = BLI_findstring(&bmain->brushes, "Pencil", offsetof(ID, name) + 2);
- if (brush == NULL) {
- brush = BKE_brush_add_gpencil(bmain, ts, "Pencil");
- }
+ brush = gpencil_brush_ensure(bmain, ts, "Pencil");
deft = brush; /* save default brush. */
brush->size = 25.0f;
@@ -561,10 +555,8 @@ void BKE_brush_gpencil_presets(Main *bmain, ToolSettings *ts)
brush->smooth_stroke_factor = SMOOTH_STROKE_FACTOR;
/* Fill brush. */
- brush = BLI_findstring(&bmain->brushes, "Fill Area", offsetof(ID, name) + 2);
- if (brush == NULL) {
- brush = BKE_brush_add_gpencil(bmain, ts, "Fill Area");
- }
+ brush = gpencil_brush_ensure(bmain, ts, "Fill Area");
+
brush->size = 20.0f;
brush->gpencil_settings->flag |= GP_BRUSH_ENABLE_CURSOR;
@@ -588,10 +580,8 @@ void BKE_brush_gpencil_presets(Main *bmain, ToolSettings *ts)
brush->smooth_stroke_factor = SMOOTH_STROKE_FACTOR;
/* Soft Eraser brush. */
- brush = BLI_findstring(&bmain->brushes, "Eraser Soft", offsetof(ID, name) + 2);
- if (brush == NULL) {
- brush = BKE_brush_add_gpencil(bmain, ts, "Eraser Soft");
- }
+ brush = gpencil_brush_ensure(bmain, ts, "Eraser Soft");
+
brush->size = 30.0f;
brush->gpencil_settings->draw_strength = 0.5f;
brush->gpencil_settings->flag |= (GP_BRUSH_ENABLE_CURSOR | GP_BRUSH_DEFAULT_ERASER);
@@ -604,10 +594,8 @@ void BKE_brush_gpencil_presets(Main *bmain, ToolSettings *ts)
brush->gpencil_settings->era_thickness_f = 10.0f;
/* Hard Eraser brush. */
- brush = BLI_findstring(&bmain->brushes, "Eraser Hard", offsetof(ID, name) + 2);
- if (brush == NULL) {
- brush = BKE_brush_add_gpencil(bmain, ts, "Eraser Hard");
- }
+ brush = gpencil_brush_ensure(bmain, ts, "Eraser Hard");
+
brush->size = 30.0f;
brush->gpencil_settings->draw_strength = 1.0f;
brush->gpencil_settings->flag |= (GP_BRUSH_ENABLE_CURSOR | GP_BRUSH_DEFAULT_ERASER);
@@ -619,10 +607,8 @@ void BKE_brush_gpencil_presets(Main *bmain, ToolSettings *ts)
brush->gpencil_tool = GPAINT_TOOL_ERASE;
/* Point Eraser brush. */
- brush = BLI_findstring(&bmain->brushes, "Eraser Point", offsetof(ID, name) + 2);
- if (brush == NULL) {
- brush = BKE_brush_add_gpencil(bmain, ts, "Eraser Point");
- }
+ brush = gpencil_brush_ensure(bmain, ts, "Eraser Point");
+
brush->size = 30.0f;
brush->gpencil_settings->flag |= GP_BRUSH_ENABLE_CURSOR;
brush->gpencil_settings->eraser_mode = GP_BRUSH_ERASER_HARD;
@@ -631,10 +617,8 @@ void BKE_brush_gpencil_presets(Main *bmain, ToolSettings *ts)
brush->gpencil_tool = GPAINT_TOOL_ERASE;
/* Stroke Eraser brush. */
- brush = BLI_findstring(&bmain->brushes, "Eraser Stroke", offsetof(ID, name) + 2);
- if (brush == NULL) {
- brush = BKE_brush_add_gpencil(bmain, ts, "Eraser Stroke");
- }
+ brush = gpencil_brush_ensure(bmain, ts, "Eraser Stroke");
+
brush->size = 30.0f;
brush->gpencil_settings->flag |= GP_BRUSH_ENABLE_CURSOR;
brush->gpencil_settings->eraser_mode = GP_BRUSH_ERASER_STROKE;
@@ -643,23 +627,16 @@ void BKE_brush_gpencil_presets(Main *bmain, ToolSettings *ts)
brush->gpencil_tool = GPAINT_TOOL_ERASE;
/* Tint brush. */
- brush = BLI_findstring(&bmain->brushes, "Tint", offsetof(ID, name) + 2);
- if (brush == NULL) {
- brush = BKE_brush_add_gpencil(bmain, ts, "Tint");
- }
-
- if (brush->gpencil_settings == NULL) {
- BKE_brush_init_gpencil_settings(brush);
- }
+ brush = gpencil_brush_ensure(bmain, ts, "Tint");
brush->size = 25.0f;
brush->gpencil_settings->flag |= (GP_BRUSH_USE_PRESSURE | GP_BRUSH_ENABLE_CURSOR);
brush->gpencil_settings->draw_strength = 0.6f;
brush->gpencil_settings->flag |= GP_BRUSH_USE_STENGTH_PRESSURE;
- brush->rgb[0] = 0.8f;
- brush->rgb[1] = 0.5f;
- brush->rgb[2] = 0.0f;
+ brush->rgb[0] = 1.0f;
+ brush->rgb[1] = 1.0f;
+ brush->rgb[2] = 1.0f;
brush->gpencil_settings->icon_id = GP_BRUSH_ICON_TINT;
brush->gpencil_tool = GPAINT_TOOL_TINT;
More information about the Bf-blender-cvs
mailing list