Commit: e9634349f6a18c597b96c3d389310edf7afcc15e
Author: Antonio Vazquez
Date:   Mon Jun 12 13:48:17 2017 +0200
Branches: greasepencil-object
https://developer.blender.org/rBe9634349f6a18c597b96c3d389310edf7afcc15e

Set sculpt cursor when enter in sculpt mode

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

M       source/blender/editors/gpencil/gpencil_brush.c
M       source/blender/editors/gpencil/gpencil_edit.c
M       source/blender/editors/gpencil/gpencil_intern.h

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

diff --git a/source/blender/editors/gpencil/gpencil_brush.c 
b/source/blender/editors/gpencil/gpencil_brush.c
index ca0ae35f61e..1ffd260bd28 100644
--- a/source/blender/editors/gpencil/gpencil_brush.c
+++ b/source/blender/editors/gpencil/gpencil_brush.c
@@ -1025,7 +1025,7 @@ static void gp_brush_drawcursor(bContext *C, int x, int 
y, void *UNUSED(customda
 }
 
 /* Turn brush cursor in on/off */
-static void gpencil_toggle_brush_cursor(bContext *C, bool enable)
+void ED_gpencil_toggle_brush_cursor(bContext *C, bool enable)
 {
        GP_BrushEdit_Settings *gset = gpsculpt_get_settings(CTX_data_scene(C));
        
@@ -1146,8 +1146,9 @@ static bool gpsculpt_brush_init(bContext *C, wmOperator 
*op)
        
        /* setup cursor drawing */
        WM_cursor_modal_set(CTX_wm_window(C), BC_CROSSCURSOR);
-       gpencil_toggle_brush_cursor(C, true);
-       
+       if (gso->sa->spacetype != SPACE_VIEW3D) {
+               ED_gpencil_toggle_brush_cursor(C, true);
+       }
        return true;
 }
 
@@ -1187,7 +1188,9 @@ static void gpsculpt_brush_exit(bContext *C, wmOperator 
*op)
        /* disable cursor and headerprints */
        ED_area_headerprint(CTX_wm_area(C), NULL);
        WM_cursor_modal_restore(win);
-       gpencil_toggle_brush_cursor(C, false);
+       if (gso->sa->spacetype != SPACE_VIEW3D) {
+               ED_gpencil_toggle_brush_cursor(C, false);
+       }
        
        /* free operator data */
        MEM_freeN(gso);
diff --git a/source/blender/editors/gpencil/gpencil_edit.c 
b/source/blender/editors/gpencil/gpencil_edit.c
index 93e17f4ca44..abc40a2d746 100644
--- a/source/blender/editors/gpencil/gpencil_edit.c
+++ b/source/blender/editors/gpencil/gpencil_edit.c
@@ -98,24 +98,28 @@ static void gpencil_setup_modes(bContext *C, bGPdata *gpd, 
int newmode)
                gpd->flag &= ~GP_DATA_STROKE_PAINTMODE;
                gpd->flag &= ~GP_DATA_STROKE_SCULPTMODE;
                WM_cursor_modal_set(CTX_wm_window(C), CURSOR_STD);
+               ED_gpencil_toggle_brush_cursor(C, false);
                break;
        case OB_MODE_GPENCIL_PAINT:
                gpd->flag &= ~GP_DATA_STROKE_EDITMODE;
                gpd->flag |= GP_DATA_STROKE_PAINTMODE;
                gpd->flag &= ~GP_DATA_STROKE_SCULPTMODE;
                WM_cursor_modal_set(CTX_wm_window(C), BC_PAINTBRUSHCURSOR);
+               ED_gpencil_toggle_brush_cursor(C, false);
                break;
        case OB_MODE_GPENCIL_SCULPT:
                gpd->flag &= ~GP_DATA_STROKE_EDITMODE;
                gpd->flag &= ~GP_DATA_STROKE_PAINTMODE;
                gpd->flag |= GP_DATA_STROKE_SCULPTMODE;
                WM_cursor_modal_set(CTX_wm_window(C), BC_CROSSCURSOR);
+               ED_gpencil_toggle_brush_cursor(C, true);
                break;
        default:
                gpd->flag &= ~GP_DATA_STROKE_EDITMODE;
                gpd->flag &= ~GP_DATA_STROKE_PAINTMODE;
                gpd->flag &= ~GP_DATA_STROKE_SCULPTMODE;
                WM_cursor_modal_set(CTX_wm_window(C), CURSOR_STD);
+               ED_gpencil_toggle_brush_cursor(C, false);
                break;
        }
 }
diff --git a/source/blender/editors/gpencil/gpencil_intern.h 
b/source/blender/editors/gpencil/gpencil_intern.h
index 9915f5eb4f3..6d7f86c01b2 100644
--- a/source/blender/editors/gpencil/gpencil_intern.h
+++ b/source/blender/editors/gpencil/gpencil_intern.h
@@ -202,6 +202,9 @@ void gp_subdivide_stroke(bGPDstroke *gps, const int 
new_totpoints);
 */
 void gp_randomize_stroke(bGPDstroke *gps, bGPDbrush *brush);
 
+/* set sculpt cursor */
+void ED_gpencil_toggle_brush_cursor(struct bContext *C, bool enable);
+
 /* Layers Enums -------------------------------------- */
 
 struct EnumPropertyItem *ED_gpencil_layers_enum_itemf(struct bContext *C, 
struct PointerRNA *ptr, struct PropertyRNA *prop, bool *r_free);

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

Reply via email to