Commit: b83cf9d340c54ec3cd5e2cde98d6dfb0e739c4bf
Author: Antonioya
Date:   Tue Dec 4 22:34:50 2018 +0100
Branches: blender2.8
https://developer.blender.org/rBb83cf9d340c54ec3cd5e2cde98d6dfb0e739c4bf

GP: Enable Smooth Sculpt brush when press Shift key

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

M       source/blender/editors/gpencil/gpencil_brush.c

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

diff --git a/source/blender/editors/gpencil/gpencil_brush.c 
b/source/blender/editors/gpencil/gpencil_brush.c
index d73b39811ce..e6ceac0ef8d 100644
--- a/source/blender/editors/gpencil/gpencil_brush.c
+++ b/source/blender/editors/gpencil/gpencil_brush.c
@@ -109,8 +109,10 @@ typedef struct tGP_BrushEditData {
        /* Brush Settings */
        GP_Sculpt_Settings *settings;
        GP_Sculpt_Data *gp_brush;
+       GP_Sculpt_Data *gp_brush_old;
 
        eGP_Sculpt_Types brush_type;
+       eGP_Sculpt_Types brush_type_old;
        eGP_Sculpt_Flag  flag;
 
        /* Space Conversion Data */
@@ -119,6 +121,7 @@ typedef struct tGP_BrushEditData {
 
        /* Is the brush currently painting? */
        bool is_painting;
+       bool is_weight_mode;
 
        /* Start of new sculpt stroke */
        bool first;
@@ -1203,6 +1206,7 @@ static bool gpsculpt_brush_init(bContext *C, wmOperator 
*op)
        /* store state */
        gso->settings = gpsculpt_get_settings(scene);
        gso->gp_brush = gpsculpt_get_brush(scene, is_weight_mode);
+       gso->is_weight_mode = is_weight_mode;
 
        if (is_weight_mode) {
                gso->brush_type = gso->settings->weighttype;
@@ -1769,6 +1773,8 @@ static void gpsculpt_brush_apply(bContext *C, wmOperator 
*op, PointerRNA *itempt
 static void gpsculpt_brush_apply_event(bContext *C, wmOperator *op, const 
wmEvent *event)
 {
        tGP_BrushEditData *gso = op->customdata;
+       ToolSettings *ts = CTX_data_tool_settings(C);
+       GP_Sculpt_Settings *gset = &ts->gp_sculpt;
        PointerRNA itemptr;
        float mouse[2];
        int tablet = 0;
@@ -1802,6 +1808,22 @@ static void gpsculpt_brush_apply_event(bContext *C, 
wmOperator *op, const wmEven
                RNA_float_set(&itemptr, "pressure", 1.0f);
        }
 
+       if (!gso->is_weight_mode) {
+               if (event->shift) {
+                       gso->gp_brush_old = gso->gp_brush;
+                       gso->brush_type_old = gso->brush_type;
+
+                       gso->gp_brush = &gset->brush[GP_SCULPT_TYPE_SMOOTH];
+                       gso->brush_type = GP_SCULPT_TYPE_SMOOTH;
+               }
+               else {
+                       if (gso->gp_brush_old != NULL) {
+                               gso->gp_brush = gso->gp_brush_old;
+                               gso->brush_type = gso->brush_type_old;
+                       }
+               }
+       }
+
        /* apply */
        gpsculpt_brush_apply(C, op, &itemptr);
 }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to