diff options
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/BKE_brush.h | 1 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/brush.c | 12 | ||||
-rw-r--r-- | source/blender/blenloader/intern/versioning_280.c | 2 | ||||
-rw-r--r-- | source/blender/draw/engines/gpencil/gpencil_draw_utils.c | 3 | ||||
-rw-r--r-- | source/blender/editors/gpencil/drawgpencil.c | 7 | ||||
-rw-r--r-- | source/blender/editors/gpencil/gpencil_brush.c | 78 | ||||
-rw-r--r-- | source/blender/editors/gpencil/gpencil_fill.c | 9 | ||||
-rw-r--r-- | source/blender/editors/gpencil/gpencil_ops.c | 3 | ||||
-rw-r--r-- | source/blender/editors/gpencil/gpencil_paint.c | 20 | ||||
-rw-r--r-- | source/blender/editors/gpencil/gpencil_primitive.c | 8 | ||||
-rw-r--r-- | source/blender/editors/gpencil/gpencil_utils.c | 60 | ||||
-rw-r--r-- | source/blender/editors/screen/screen_context.c | 2 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_scene_types.h | 4 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_sculpt_paint.c | 2 |
14 files changed, 94 insertions, 117 deletions
diff --git a/source/blender/blenkernel/BKE_brush.h b/source/blender/blenkernel/BKE_brush.h index 1a341d0208b..864d7d06438 100644 --- a/source/blender/blenkernel/BKE_brush.h +++ b/source/blender/blenkernel/BKE_brush.h @@ -61,7 +61,6 @@ void BKE_brush_free(struct Brush *brush); void BKE_brush_sculpt_reset(struct Brush *brush); void BKE_brush_gpencil_presets(struct bContext *C); void BKE_brush_update_material(struct Main *bmain, struct Material *ma, struct Brush *exclude_brush); -struct Brush *BKE_brush_getactive_gpencil(struct ToolSettings *ts); /* image icon function */ struct ImBuf *get_brush_icon(struct Brush *brush); diff --git a/source/blender/blenkernel/intern/brush.c b/source/blender/blenkernel/intern/brush.c index 286ba5f7902..62c72a4fa58 100644 --- a/source/blender/blenkernel/intern/brush.c +++ b/source/blender/blenkernel/intern/brush.c @@ -535,18 +535,6 @@ void BKE_brush_update_material(Main *bmain, Material *ma, Brush *exclude_brush) } } -/* get the active gp-brush for editing */ -Brush *BKE_brush_getactive_gpencil(ToolSettings *ts) -{ - /* error checking */ - if (ELEM(NULL, ts, ts->gp_paint)) { - return NULL; - } - Paint *paint = &ts->gp_paint->paint; - - return paint->brush; -} - struct Brush *BKE_brush_first_search(struct Main *bmain, const eObjectMode ob_mode) { Brush *brush; diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c index fc873e3a3a1..a72304a6d92 100644 --- a/source/blender/blenloader/intern/versioning_280.c +++ b/source/blender/blenloader/intern/versioning_280.c @@ -1098,7 +1098,7 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain) ToolSettings *ts = scene->toolsettings; /* sculpt brushes */ GP_BrushEdit_Settings *gset = &ts->gp_sculpt; - for (int i = 0; i < TOT_GP_EDITBRUSH_TYPES; ++i) { + for (int i = 0; i < GP_EDITBRUSH_TYPE_MAX; ++i) { gp_brush = &gset->brush[i]; gp_brush->flag |= GP_EDITBRUSH_FLAG_ENABLE_CURSOR; copy_v3_v3(gp_brush->curcolor_add, curcolor_add); diff --git a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c index 79ad855108e..ae62e61c5c1 100644 --- a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c +++ b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c @@ -33,6 +33,7 @@ #include "BKE_gpencil_modifier.h" #include "BKE_image.h" #include "BKE_material.h" +#include "BKE_paint.h" #include "ED_gpencil.h" #include "ED_view3d.h" @@ -921,7 +922,7 @@ void DRW_gpencil_populate_buffer_strokes(GPENCIL_e_data *e_data, void *vedata, T { GPENCIL_PassList *psl = ((GPENCIL_Data *)vedata)->psl; GPENCIL_StorageList *stl = ((GPENCIL_Data *)vedata)->stl; - Brush *brush = BKE_brush_getactive_gpencil(ts); + Brush *brush = BKE_paint_brush(&ts->gp_paint->paint); bGPdata *gpd_eval = ob->data; /* need the original to avoid cow overhead while drawing */ bGPdata *gpd = (bGPdata *)DEG_get_original_id(&gpd_eval->id); diff --git a/source/blender/editors/gpencil/drawgpencil.c b/source/blender/editors/gpencil/drawgpencil.c index e160c7e05a1..03589bb69ae 100644 --- a/source/blender/editors/gpencil/drawgpencil.c +++ b/source/blender/editors/gpencil/drawgpencil.c @@ -1679,12 +1679,11 @@ static void gp_draw_data_all( int cfra, int dflag, const char UNUSED(spacetype)) { bGPdata *gpd_source = NULL; - ToolSettings *ts = NULL; Brush *brush = NULL; Object *ob = OBACT(view_layer); if (scene) { - ts = scene->toolsettings; - brush = BKE_brush_getactive_gpencil(ts); + ToolSettings *ts = scene->toolsettings; + brush = BKE_paint_brush(&ts->gp_paint->paint); if (gpd_source) { if (brush != NULL) { @@ -1827,7 +1826,7 @@ void ED_gpencil_draw_view3d_object(wmWindowManager *wm, Scene *scene, Depsgraph /* draw it! */ ToolSettings *ts = scene->toolsettings; - Brush *brush = BKE_brush_getactive_gpencil(ts); + Brush *brush = BKE_paint_brush(&ts->gp_paint->paint); if (brush != NULL) { gp_draw_data(rv3d, brush, 1.0f, ob, gpd, offsx, offsy, winx, winy, CFRA, dflag); diff --git a/source/blender/editors/gpencil/gpencil_brush.c b/source/blender/editors/gpencil/gpencil_brush.c index ba104a6d57e..8e2cc8fd143 100644 --- a/source/blender/editors/gpencil/gpencil_brush.c +++ b/source/blender/editors/gpencil/gpencil_brush.c @@ -108,7 +108,7 @@ typedef struct tGP_BrushEditData { /* Brush Settings */ GP_BrushEdit_Settings *settings; - GP_EditBrush_Data *brush; + GP_EditBrush_Data *gp_brush; eGP_EditBrush_Types brush_type; eGP_EditBrush_Flag flag; @@ -208,15 +208,15 @@ static GP_BrushEdit_Settings *gpsculpt_get_settings(Scene *scene) static GP_EditBrush_Data *gpsculpt_get_brush(Scene *scene, bool is_weight_mode) { GP_BrushEdit_Settings *gset = &scene->toolsettings->gp_sculpt; - GP_EditBrush_Data *brush = NULL; + GP_EditBrush_Data *gp_brush = NULL; if (is_weight_mode) { - brush = &gset->brush[gset->weighttype]; + gp_brush = &gset->brush[gset->weighttype]; } else { - brush = &gset->brush[gset->brushtype]; + gp_brush = &gset->brush[gset->brushtype]; } - return brush; + return gp_brush; } /* Brush Operations ------------------------------- */ @@ -225,7 +225,7 @@ static GP_EditBrush_Data *gpsculpt_get_brush(Scene *scene, bool is_weight_mode) static bool gp_brush_invert_check(tGP_BrushEditData *gso) { /* The basic setting is the brush's setting (from the panel) */ - bool invert = ((gso->brush->flag & GP_EDITBRUSH_FLAG_INVERT) != 0); + bool invert = ((gso->gp_brush->flag & GP_EDITBRUSH_FLAG_INVERT) != 0); /* During runtime, the user can hold down the Ctrl key to invert the basic behaviour */ if (gso->flag & GP_EDITBRUSH_FLAG_INVERT) { @@ -234,10 +234,10 @@ static bool gp_brush_invert_check(tGP_BrushEditData *gso) /* set temporary status */ if (invert) { - gso->brush->flag |= GP_EDITBRUSH_FLAG_TMP_INVERT; + gso->gp_brush->flag |= GP_EDITBRUSH_FLAG_TMP_INVERT; } else { - gso->brush->flag &= ~GP_EDITBRUSH_FLAG_TMP_INVERT; + gso->gp_brush->flag &= ~GP_EDITBRUSH_FLAG_TMP_INVERT; } return invert; @@ -246,18 +246,18 @@ static bool gp_brush_invert_check(tGP_BrushEditData *gso) /* Compute strength of effect */ static float gp_brush_influence_calc(tGP_BrushEditData *gso, const int radius, const int co[2]) { - GP_EditBrush_Data *brush = gso->brush; + GP_EditBrush_Data *gp_brush = gso->gp_brush; /* basic strength factor from brush settings */ - float influence = brush->strength; + float influence = gp_brush->strength; /* use pressure? */ - if (brush->flag & GP_EDITBRUSH_FLAG_USE_PRESSURE) { + if (gp_brush->flag & GP_EDITBRUSH_FLAG_USE_PRESSURE) { influence *= gso->pressure; } /* distance fading */ - if (brush->flag & GP_EDITBRUSH_FLAG_USE_FALLOFF) { + if (gp_brush->flag & GP_EDITBRUSH_FLAG_USE_FALLOFF) { float distance = (float)len_v2v2_int(gso->mval, co); float fac; @@ -288,7 +288,7 @@ static bool gp_brush_smooth_apply( tGP_BrushEditData *gso, bGPDstroke *gps, int pt_index, const int radius, const int co[2]) { - // GP_EditBrush_Data *brush = gso->brush; + // GP_EditBrush_Data *gp_brush = gso->brush; float inf = gp_brush_influence_calc(gso, radius, co); /* need one flag enabled by default */ if ((gso->settings->flag & @@ -1108,7 +1108,7 @@ static void gp_brush_clone_adjust(tGP_BrushEditData *gso) int i; for (i = 0, pt = gps->points; i < gps->totpoints; i++, pt++) { - if (gso->brush->flag & GP_EDITBRUSH_FLAG_USE_FALLOFF) { + if (gso->gp_brush->flag & GP_EDITBRUSH_FLAG_USE_FALLOFF) { /* "Smudge" Effect when falloff is enabled */ float delta[3] = {0.0f}; int sco[2] = {0}; @@ -1116,7 +1116,7 @@ static void gp_brush_clone_adjust(tGP_BrushEditData *gso) /* compute influence on point */ gp_point_to_xy(&gso->gsc, gps, pt, &sco[0], &sco[1]); - influence = gp_brush_influence_calc(gso, gso->brush->size, sco); + influence = gp_brush_influence_calc(gso, gso->gp_brush->size, sco); /* adjust the amount of displacement to apply */ mul_v3_v3fl(delta, gso->dvec, influence); @@ -1209,7 +1209,7 @@ static bool gpsculpt_brush_init(bContext *C, wmOperator *op) gso->depsgraph = CTX_data_depsgraph(C); /* store state */ gso->settings = gpsculpt_get_settings(scene); - gso->brush = gpsculpt_get_brush(scene, is_weight_mode); + gso->gp_brush = gpsculpt_get_brush(scene, is_weight_mode); if (is_weight_mode) { gso->brush_type = gso->settings->weighttype; @@ -1231,7 +1231,7 @@ static bool gpsculpt_brush_init(bContext *C, wmOperator *op) /* some brushes cannot use pressure for radius */ if (ELEM(gso->brush_type, GP_EDITBRUSH_TYPE_GRAB, GP_EDITBRUSH_TYPE_CLONE)) { - gso->brush->flag &= ~GP_EDITBRUSH_FLAG_PRESSURE_RADIUS; + gso->gp_brush->flag &= ~GP_EDITBRUSH_FLAG_PRESSURE_RADIUS; } gso->scene = scene; @@ -1363,7 +1363,7 @@ static void gpsculpt_brush_exit(bContext *C, wmOperator *op) } /* disable temp invert flag */ - gso->brush->flag &= ~GP_EDITBRUSH_FLAG_TMP_INVERT; + gso->gp_brush->flag &= ~GP_EDITBRUSH_FLAG_TMP_INVERT; /* free operator data */ MEM_freeN(gso); @@ -1420,8 +1420,8 @@ static bool gpsculpt_brush_do_stroke( { GP_SpaceConversion *gsc = &gso->gsc; rcti *rect = &gso->brush_rect; - GP_EditBrush_Data *brush = gso->brush; - const int radius = (brush->flag & GP_EDITBRUSH_FLAG_PRESSURE_RADIUS) ? gso->brush->size * gso->pressure : gso->brush->size; + GP_EditBrush_Data *gp_brush = gso->gp_brush; + const int radius = (gp_brush->flag & GP_EDITBRUSH_FLAG_PRESSURE_RADIUS) ? gso->gp_brush->size * gso->pressure : gso->gp_brush->size; bGPDspoint *pt1, *pt2; int pc1[2] = {0}; @@ -1713,8 +1713,10 @@ static bool gpsculpt_brush_apply_standard(bContext *C, tGP_BrushEditData *gso) static void gpsculpt_brush_apply(bContext *C, wmOperator *op, PointerRNA *itemptr) { tGP_BrushEditData *gso = op->customdata; - GP_EditBrush_Data *brush = gso->brush; - const int radius = (brush->flag & GP_EDITBRUSH_FLAG_PRESSURE_RADIUS) ? gso->brush->size * gso->pressure : gso->brush->size; + GP_EditBrush_Data *gp_brush = gso->gp_brush; + const int radius = ( + (gp_brush->flag & GP_EDITBRUSH_FLAG_PRESSURE_RADIUS) ? + gso->gp_brush->size * gso->pressure : gso->gp_brush->size); float mousef[2]; int mouse[2]; bool changed = false; @@ -1942,13 +1944,13 @@ static int gpsculpt_brush_modal(bContext *C, wmOperator *op, const wmEvent *even case PADPLUSKEY: if (event->shift) { /* increase strength */ - gso->brush->strength += 0.05f; - CLAMP_MAX(gso->brush->strength, 1.0f); + gso->gp_brush->strength += 0.05f; + CLAMP_MAX(gso->gp_brush->strength, 1.0f); } else { /* increase brush size */ - gso->brush->size += 3; - CLAMP_MAX(gso->brush->size, 300); + gso->gp_brush->size += 3; + CLAMP_MAX(gso->gp_brush->size, 300); } redraw_region = true; @@ -1959,13 +1961,13 @@ static int gpsculpt_brush_modal(bContext *C, wmOperator *op, const wmEvent *even case PADMINUS: if (event->shift) { /* decrease strength */ - gso->brush->strength -= 0.05f; - CLAMP_MIN(gso->brush->strength, 0.0f); + gso->gp_brush->strength -= 0.05f; + CLAMP_MIN(gso->gp_brush->strength, 0.0f); } else { /* decrease brush size */ - gso->brush->size -= 3; - CLAMP_MIN(gso->brush->size, 1); + gso->gp_brush->size -= 3; + CLAMP_MIN(gso->gp_brush->size, 1); } redraw_region = true; @@ -2033,13 +2035,13 @@ static int gpsculpt_brush_modal(bContext *C, wmOperator *op, const wmEvent *even case PADPLUSKEY: if (event->shift) { /* increase strength */ - gso->brush->strength += 0.05f; - CLAMP_MAX(gso->brush->strength, 1.0f); + gso->gp_brush->strength += 0.05f; + CLAMP_MAX(gso->gp_brush->strength, 1.0f); } else { /* increase brush size */ - gso->brush->size += 3; - CLAMP_MAX(gso->brush->size, 300); + gso->gp_brush->size += 3; + CLAMP_MAX(gso->gp_brush->size, 300); } redraw_region = true; @@ -2050,13 +2052,13 @@ static int gpsculpt_brush_modal(bContext *C, wmOperator *op, const wmEvent *even case PADMINUS: if (event->shift) { /* decrease strength */ - gso->brush->strength -= 0.05f; - CLAMP_MIN(gso->brush->strength, 0.0f); + gso->gp_brush->strength -= 0.05f; + CLAMP_MIN(gso->gp_brush->strength, 0.0f); } else { /* decrease brush size */ - gso->brush->size -= 3; - CLAMP_MIN(gso->brush->size, 1); + gso->gp_brush->size -= 3; + CLAMP_MIN(gso->gp_brush->size, 1); } redraw_region = true; diff --git a/source/blender/editors/gpencil/gpencil_fill.c b/source/blender/editors/gpencil/gpencil_fill.c index 9b6a36ce8af..99a6710ea4d 100644 --- a/source/blender/editors/gpencil/gpencil_fill.c +++ b/source/blender/editors/gpencil/gpencil_fill.c @@ -813,11 +813,10 @@ static void gpencil_points_from_stack(tGPDfill *tgpf) /* create a grease pencil stroke using points in buffer */ static void gpencil_stroke_from_buffer(tGPDfill *tgpf) { - ToolSettings *ts = tgpf->scene->toolsettings; - int cfra_eval = (int)DEG_get_ctime(tgpf->depsgraph); + const int cfra_eval = (int)DEG_get_ctime(tgpf->depsgraph); - Brush *brush; - brush = BKE_brush_getactive_gpencil(ts); + ToolSettings *ts = tgpf->scene->toolsettings; + Brush *brush = BKE_paint_brush(&ts->gp_paint->paint); if (brush == NULL) { return; } @@ -1026,7 +1025,7 @@ static tGPDfill *gp_session_init_fill(bContext *C, wmOperator *UNUSED(op)) tgpf->depth_arr = NULL; /* save filling parameters */ - Brush *brush = BKE_brush_getactive_gpencil(ts); + Brush *brush = BKE_paint_brush(&ts->gp_paint->paint); tgpf->flag = brush->gpencil_settings->flag; tgpf->fill_leak = brush->gpencil_settings->fill_leak; tgpf->fill_threshold = brush->gpencil_settings->fill_threshold; diff --git a/source/blender/editors/gpencil/gpencil_ops.c b/source/blender/editors/gpencil/gpencil_ops.c index 5ea8c0b783f..a199f943a8d 100644 --- a/source/blender/editors/gpencil/gpencil_ops.c +++ b/source/blender/editors/gpencil/gpencil_ops.c @@ -37,6 +37,7 @@ #include "BKE_context.h" #include "BKE_brush.h" #include "BKE_gpencil.h" +#include "BKE_paint.h" #include "DNA_brush_types.h" #include "DNA_gpencil_types.h" @@ -88,7 +89,7 @@ static bool gp_stroke_paintmode_poll_with_tool(bContext *C, const char gpencil_t /* TODO: limit this to mode, but review 2D editors */ bGPdata *gpd = CTX_data_gpencil_data(C); ToolSettings *ts = CTX_data_tool_settings(C); - Brush *brush = BKE_brush_getactive_gpencil(ts); + Brush *brush = BKE_paint_brush(&ts->gp_paint->paint); return ((gpd) && (gpd->flag & GP_DATA_STROKE_PAINTMODE) && (brush && brush->gpencil_settings) && WM_toolsystem_active_tool_is_brush(C) && diff --git a/source/blender/editors/gpencil/gpencil_paint.c b/source/blender/editors/gpencil/gpencil_paint.c index 7c74847c514..f95122b2282 100644 --- a/source/blender/editors/gpencil/gpencil_paint.c +++ b/source/blender/editors/gpencil/gpencil_paint.c @@ -1681,7 +1681,6 @@ static Brush *gp_get_default_eraser(Main *bmain, ToolSettings *ts) /* initialize a drawing brush */ static void gp_init_drawing_brush(bContext *C, tGPsdata *p) { - Brush *brush; Scene *scene = CTX_data_scene(C); ToolSettings *ts = CTX_data_tool_settings(C); @@ -1691,24 +1690,19 @@ static void gp_init_drawing_brush(bContext *C, tGPsdata *p) if (paint->brush == NULL) { /* create new brushes */ BKE_brush_gpencil_presets(C); - brush = BKE_brush_getactive_gpencil(ts); - } - else { - /* Use the current */ - brush = BKE_brush_getactive_gpencil(ts); } /* be sure curves are initializated */ - curvemapping_initialize(brush->gpencil_settings->curve_sensitivity); - curvemapping_initialize(brush->gpencil_settings->curve_strength); - curvemapping_initialize(brush->gpencil_settings->curve_jitter); + curvemapping_initialize(paint->brush->gpencil_settings->curve_sensitivity); + curvemapping_initialize(paint->brush->gpencil_settings->curve_strength); + curvemapping_initialize(paint->brush->gpencil_settings->curve_jitter); /* assign to temp tGPsdata */ - p->brush = brush; - if (brush->gpencil_tool != GPAINT_TOOL_ERASE) { + p->brush = paint->brush; + if (paint->brush->gpencil_tool != GPAINT_TOOL_ERASE) { p->eraser = gp_get_default_eraser(p->bmain, ts); } else { - p->eraser = brush; + p->eraser = paint->brush; } /* use radius of eraser */ p->radius = (short)p->eraser->size; @@ -2313,7 +2307,7 @@ static int gpencil_draw_init(bContext *C, wmOperator *op, const wmEvent *event) tGPsdata *p; eGPencil_PaintModes paintmode = RNA_enum_get(op->ptr, "mode"); ToolSettings *ts = CTX_data_tool_settings(C); - Brush *brush = BKE_brush_getactive_gpencil(ts); + Brush *brush = BKE_paint_brush(&ts->gp_paint->paint); /* if mode is draw and the brush is eraser, cancel */ if (paintmode != GP_PAINTMODE_ERASER) { diff --git a/source/blender/editors/gpencil/gpencil_primitive.c b/source/blender/editors/gpencil/gpencil_primitive.c index c371700381d..cc93e0433f1 100644 --- a/source/blender/editors/gpencil/gpencil_primitive.c +++ b/source/blender/editors/gpencil/gpencil_primitive.c @@ -140,7 +140,6 @@ static void gp_primitive_set_initdata(bContext *C, tGPDprimitive *tgpi) int cfra_eval = (int)DEG_get_ctime(depsgraph); bGPDlayer *gpl = CTX_data_active_gpencil_layer(C); - Brush *brush; /* if brush doesn't exist, create a new one */ Paint *paint = &ts->gp_paint->paint; @@ -148,13 +147,8 @@ static void gp_primitive_set_initdata(bContext *C, tGPDprimitive *tgpi) if (paint->brush == NULL) { /* create new brushes */ BKE_brush_gpencil_presets(C); - brush = BKE_brush_getactive_gpencil(ts); } - else { - /* Use the current */ - brush = BKE_brush_getactive_gpencil(ts); - } - tgpi->brush = brush; + tgpi->brush = paint->brush; /* if layer doesn't exist, create a new one */ if (gpl == NULL) { diff --git a/source/blender/editors/gpencil/gpencil_utils.c b/source/blender/editors/gpencil/gpencil_utils.c index 369a3828c05..992fb32dcb5 100644 --- a/source/blender/editors/gpencil/gpencil_utils.c +++ b/source/blender/editors/gpencil/gpencil_utils.c @@ -1510,17 +1510,17 @@ static void gp_brush_drawcursor(bContext *C, int x, int y, void *customdata) GP_BrushEdit_Settings *gset = &scene->toolsettings->gp_sculpt; bGPdata *gpd = ED_gpencil_data_get_active(C); - GP_EditBrush_Data *brush = NULL; - Brush *paintbrush = NULL; + GP_EditBrush_Data *gp_brush = NULL; + Brush *brush = NULL; Material *ma = NULL; MaterialGPencilStyle *gp_style = NULL; int *last_mouse_position = customdata; if ((gpd) && (gpd->flag & GP_DATA_STROKE_WEIGHTMODE)) { - brush = &gset->brush[gset->weighttype]; + gp_brush = &gset->brush[gset->weighttype]; } else { - brush = &gset->brush[gset->brushtype]; + gp_brush = &gset->brush[gset->brushtype]; } /* default radius and color */ @@ -1536,51 +1536,51 @@ static void gp_brush_drawcursor(bContext *C, int x, int y, void *customdata) /* for paint use paint brush size and color */ if (gpd->flag & GP_DATA_STROKE_PAINTMODE) { - paintbrush = BKE_brush_getactive_gpencil(scene->toolsettings); + brush = scene->toolsettings->gp_paint->paint.brush; /* while drawing hide */ if ((gpd->runtime.sbuffer_size > 0) && - (paintbrush) && ((paintbrush->gpencil_settings->flag & GP_BRUSH_STABILIZE_MOUSE) == 0) && - ((paintbrush->gpencil_settings->flag & GP_BRUSH_STABILIZE_MOUSE_TEMP) == 0)) + (brush) && ((brush->gpencil_settings->flag & GP_BRUSH_STABILIZE_MOUSE) == 0) && + ((brush->gpencil_settings->flag & GP_BRUSH_STABILIZE_MOUSE_TEMP) == 0)) { return; } - if (paintbrush) { - if ((paintbrush->gpencil_settings->flag & GP_BRUSH_ENABLE_CURSOR) == 0) { + if (brush) { + if ((brush->gpencil_settings->flag & GP_BRUSH_ENABLE_CURSOR) == 0) { return; } /* eraser has special shape and use a different shader program */ - if (paintbrush->gpencil_tool == GPAINT_TOOL_ERASE) { - ED_gpencil_brush_draw_eraser(paintbrush, x, y); + if (brush->gpencil_tool == GPAINT_TOOL_ERASE) { + ED_gpencil_brush_draw_eraser(brush, x, y); return; } /* get current drawing color */ - ma = BKE_gpencil_get_material_from_brush(paintbrush); + ma = BKE_gpencil_get_material_from_brush(brush); if (ma == NULL) { BKE_gpencil_material_ensure(bmain, ob); /* assign the first material to the brush */ ma = give_current_material(ob, 1); - paintbrush->gpencil_settings->material = ma; + brush->gpencil_settings->material = ma; } gp_style = ma->gp_style; /* after some testing, display the size of the brush is not practical because * is too disruptive and the size of cursor does not change with zoom factor. - * The decision was to use a fix size, instead of paintbrush->thickness value. + * The decision was to use a fix size, instead of brush->thickness value. */ if ((gp_style) && (GPENCIL_PAINT_MODE(gpd)) && - ((paintbrush->gpencil_settings->flag & GP_BRUSH_STABILIZE_MOUSE) == 0) && - ((paintbrush->gpencil_settings->flag & GP_BRUSH_STABILIZE_MOUSE_TEMP) == 0) && - (paintbrush->gpencil_tool == GPAINT_TOOL_DRAW)) + ((brush->gpencil_settings->flag & GP_BRUSH_STABILIZE_MOUSE) == 0) && + ((brush->gpencil_settings->flag & GP_BRUSH_STABILIZE_MOUSE_TEMP) == 0) && + (brush->gpencil_tool == GPAINT_TOOL_DRAW)) { radius = 2.0f; copy_v3_v3(color, gp_style->stroke_rgba); } else { radius = 5.0f; - copy_v3_v3(color, paintbrush->add_col); + copy_v3_v3(color, brush->add_col); } } else { @@ -1590,17 +1590,17 @@ static void gp_brush_drawcursor(bContext *C, int x, int y, void *customdata) /* for sculpt use sculpt brush size */ if (GPENCIL_SCULPT_OR_WEIGHT_MODE(gpd)) { - if (brush) { - if ((brush->flag & GP_EDITBRUSH_FLAG_ENABLE_CURSOR) == 0) { + if (gp_brush) { + if ((gp_brush->flag & GP_EDITBRUSH_FLAG_ENABLE_CURSOR) == 0) { return; } - radius = brush->size; - if (brush->flag & (GP_EDITBRUSH_FLAG_INVERT | GP_EDITBRUSH_FLAG_TMP_INVERT)) { - copy_v3_v3(color, brush->curcolor_sub); + radius = gp_brush->size; + if (gp_brush->flag & (GP_EDITBRUSH_FLAG_INVERT | GP_EDITBRUSH_FLAG_TMP_INVERT)) { + copy_v3_v3(color, gp_brush->curcolor_sub); } else { - copy_v3_v3(color, brush->curcolor_add); + copy_v3_v3(color, gp_brush->curcolor_add); } } } @@ -1616,9 +1616,9 @@ static void gp_brush_drawcursor(bContext *C, int x, int y, void *customdata) /* Inner Ring: Color from UI panel */ immUniformColor4f(color[0], color[1], color[2], 0.8f); if ((gp_style) && (GPENCIL_PAINT_MODE(gpd)) && - ((paintbrush->gpencil_settings->flag & GP_BRUSH_STABILIZE_MOUSE) == 0) && - ((paintbrush->gpencil_settings->flag & GP_BRUSH_STABILIZE_MOUSE_TEMP) == 0) && - (paintbrush->gpencil_tool == GPAINT_TOOL_DRAW)) + ((brush->gpencil_settings->flag & GP_BRUSH_STABILIZE_MOUSE) == 0) && + ((brush->gpencil_settings->flag & GP_BRUSH_STABILIZE_MOUSE_TEMP) == 0) && + (brush->gpencil_tool == GPAINT_TOOL_DRAW)) { imm_draw_circle_fill_2d(pos, x, y, radius, 40); } @@ -1636,12 +1636,12 @@ static void gp_brush_drawcursor(bContext *C, int x, int y, void *customdata) /* Draw line for lazy mouse */ if ((last_mouse_position) && - (paintbrush->gpencil_settings->flag & GP_BRUSH_STABILIZE_MOUSE_TEMP)) + (brush->gpencil_settings->flag & GP_BRUSH_STABILIZE_MOUSE_TEMP)) { glEnable(GL_LINE_SMOOTH); glEnable(GL_BLEND); - copy_v3_v3(color, paintbrush->add_col); + copy_v3_v3(color, brush->add_col); immUniformColor4f(color[0], color[1], color[2], 0.8f); immBegin(GPU_PRIM_LINES, 2); @@ -1703,7 +1703,7 @@ static void gpencil_verify_brush_type(bContext *C, int newmode) break; case OB_MODE_GPENCIL_WEIGHT: gset->flag |= GP_BRUSHEDIT_FLAG_WEIGHT_MODE; - if ((gset->weighttype < GP_EDITBRUSH_TYPE_WEIGHT) || (gset->weighttype >= TOT_GP_EDITBRUSH_TYPES)) { + if ((gset->weighttype < GP_EDITBRUSH_TYPE_WEIGHT) || (gset->weighttype >= GP_EDITBRUSH_TYPE_MAX)) { gset->weighttype = GP_EDITBRUSH_TYPE_WEIGHT; } break; diff --git a/source/blender/editors/screen/screen_context.c b/source/blender/editors/screen/screen_context.c index ff048edae9c..1cfe34c86a1 100644 --- a/source/blender/editors/screen/screen_context.c +++ b/source/blender/editors/screen/screen_context.c @@ -542,7 +542,7 @@ int ed_screen_context(const bContext *C, const char *member, bContextDataResult } } else if (CTX_data_equals(member, "active_gpencil_brush")) { - Brush *brush = BKE_brush_getactive_gpencil(scene->toolsettings); + Brush *brush = BKE_paint_brush(&scene->toolsettings->gp_paint->paint); if (brush) { CTX_data_pointer_set(result, &scene->id, &RNA_Brush, brush); diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index d235cef1109..1352e28e6c2 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -977,7 +977,7 @@ typedef enum eGP_EditBrush_Types { /* add any weight paint brush below this value. Do no mix brushes */ /* !!! Update GP_EditBrush_Data brush[###]; below !!! */ - TOT_GP_EDITBRUSH_TYPES + GP_EDITBRUSH_TYPE_MAX, } eGP_EditBrush_Types; /* GP_BrushEdit_Settings.lock_axis */ @@ -1022,7 +1022,7 @@ typedef enum eGP_EditBrush_Flag { /* GPencil Stroke Sculpting Settings */ typedef struct GP_BrushEdit_Settings { - GP_EditBrush_Data brush[12]; /* TOT_GP_EDITBRUSH_TYPES */ + GP_EditBrush_Data brush[12]; /* GP_EDITBRUSH_TYPE_MAX */ void *paintcursor; /* runtime */ int brushtype; /* eGP_EditBrush_Types (sculpt) */ diff --git a/source/blender/makesrna/intern/rna_sculpt_paint.c b/source/blender/makesrna/intern/rna_sculpt_paint.c index 4ea514295fb..99c43156880 100644 --- a/source/blender/makesrna/intern/rna_sculpt_paint.c +++ b/source/blender/makesrna/intern/rna_sculpt_paint.c @@ -522,7 +522,7 @@ static PointerRNA rna_GPencilSculptSettings_brush_get(PointerRNA *ptr) GP_EditBrush_Data *brush = NULL; if ((gset) && (gset->flag & GP_BRUSHEDIT_FLAG_WEIGHT_MODE)) { - if ((gset->weighttype >= GP_EDITBRUSH_TYPE_WEIGHT) && (gset->weighttype < TOT_GP_EDITBRUSH_TYPES)) + if ((gset->weighttype >= GP_EDITBRUSH_TYPE_WEIGHT) && (gset->weighttype < GP_EDITBRUSH_TYPE_MAX)) brush = &gset->brush[gset->weighttype]; } else { |