[Bf-blender-cvs] [e9634349f6a] greasepencil-object: Set sculpt cursor when enter in sculpt mode

Antonio Vazquez noreply at git.blender.org
Mon Jun 12 13:48:28 CEST 2017


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);




More information about the Bf-blender-cvs mailing list