[Bf-blender-cvs] [5c2ee58c7c5] greasepencil-object: Cleanup: Define macros for GP modes

Antonio Vazquez noreply at git.blender.org
Mon Oct 9 23:47:11 CEST 2017


Commit: 5c2ee58c7c50d013a2b60c44177c5c9cd1525a60
Author: Antonio Vazquez
Date:   Mon Oct 9 23:47:01 2017 +0200
Branches: greasepencil-object
https://developer.blender.org/rB5c2ee58c7c50d013a2b60c44177c5c9cd1525a60

Cleanup: Define macros for GP modes

Define new macros for checking grease pencil object mode to cleanup code.

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

M	source/blender/blenkernel/intern/gpencil_modifier.c
M	source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
M	source/blender/draw/engines/gpencil/gpencil_vfx.c
M	source/blender/editors/gpencil/gpencil_ops.c
M	source/blender/editors/gpencil/gpencil_select.c
M	source/blender/editors/gpencil/gpencil_utils.c
M	source/blender/editors/include/ED_gpencil.h
M	source/blender/editors/space_view3d/view3d_edit.c
M	source/blender/editors/transform/transform_generics.c
M	source/blender/editors/transform/transform_manipulator.c

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

diff --git a/source/blender/blenkernel/intern/gpencil_modifier.c b/source/blender/blenkernel/intern/gpencil_modifier.c
index 8973162965a..88a53c402e2 100644
--- a/source/blender/blenkernel/intern/gpencil_modifier.c
+++ b/source/blender/blenkernel/intern/gpencil_modifier.c
@@ -50,6 +50,8 @@
 #include "BKE_modifier.h"
 #include "BKE_colortools.h"
 
+#define GPENCIL_ANY_EDIT_MODE(gpd) ((gpd) && (gpd->flag & (GP_DATA_STROKE_EDITMODE | GP_DATA_STROKE_SCULPTMODE | GP_DATA_STROKE_WEIGHTMODE))) 
+
 /* used to save temp strokes */
 typedef struct tGPencilStrokeCache {
 	struct bGPDstroke *gps;
@@ -967,7 +969,7 @@ void BKE_gpencil_stroke_modifiers(Object *ob, bGPDlayer *gpl, bGPDframe *UNUSED(
 {
 	ModifierData *md;
 	bGPdata *gpd = ob->gpd;
-	bool is_edit = (bool)((gpd->flag & (GP_DATA_STROKE_EDITMODE | GP_DATA_STROKE_SCULPTMODE | GP_DATA_STROKE_WEIGHTMODE)));
+	bool is_edit = (bool)(GPENCIL_ANY_EDIT_MODE(gpd));
 
 	int id = 0;
 	for (md = ob->modifiers.first; md; md = md->next) {
@@ -1022,7 +1024,7 @@ void BKE_gpencil_geometry_modifiers(Object *ob, bGPDlayer *gpl, bGPDframe *gpf)
 {
 	ModifierData *md;
 	bGPdata *gpd = ob->gpd;
-	bool is_edit = (bool)((gpd->flag & (GP_DATA_STROKE_EDITMODE | GP_DATA_STROKE_SCULPTMODE | GP_DATA_STROKE_WEIGHTMODE)));
+	bool is_edit = (bool)(GPENCIL_ANY_EDIT_MODE(gpd));
 
 	int id = 0;
 	for (md = ob->modifiers.first; md; md = md->next) {
diff --git a/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c b/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
index 0c2f3122fbc..82a045d6579 100644
--- a/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
+++ b/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
@@ -131,7 +131,7 @@ static bool gpencil_batch_cache_valid(Object *ob, bGPdata *gpd, int cfra)
 		return false;
 	}
 
-	cache->is_editmode = gpd->flag & (GP_DATA_STROKE_EDITMODE | GP_DATA_STROKE_SCULPTMODE | GP_DATA_STROKE_WEIGHTMODE);
+	cache->is_editmode = (bool)(GPENCIL_ANY_EDIT_MODE(gpd));
 
 	if (cfra != cache->cache_frame) {
 		return false;
@@ -194,7 +194,7 @@ static void gpencil_batch_cache_init(Object *ob, int cfra)
 	cache->batch_edit = MEM_callocN(sizeof(struct Gwn_Batch) * cache->cache_size, "Gpencil_Batch_Edit");
 	cache->batch_edlin = MEM_callocN(sizeof(struct Gwn_Batch) * cache->cache_size, "Gpencil_Batch_Edlin");
 
-	cache->is_editmode = gpd->flag & (GP_DATA_STROKE_EDITMODE | GP_DATA_STROKE_SCULPTMODE | GP_DATA_STROKE_WEIGHTMODE);
+	cache->is_editmode = (bool)(GPENCIL_ANY_EDIT_MODE(gpd));
 	gpd->flag &= ~GP_DATA_CACHE_IS_DIRTY;
 
 	cache->cache_idx = 0;
@@ -604,7 +604,7 @@ static void gpencil_add_stroke_shgroup(GpencilBatchCache *cache, DRWShadingGroup
 /* add edit points shading group to pass */
 static void gpencil_add_editpoints_shgroup(GPENCIL_StorageList *stl, GpencilBatchCache *cache, ToolSettings *ts,
 	Object *ob, bGPdata *gpd, bGPDlayer *gpl, bGPDframe *gpf, bGPDstroke *gps) {
-	if ((gpl->flag & GP_LAYER_LOCKED) == 0 && (gpd->flag & (GP_DATA_STROKE_EDITMODE | GP_DATA_STROKE_SCULPTMODE | GP_DATA_STROKE_WEIGHTMODE)))
+	if (((gpl->flag & GP_LAYER_LOCKED) == 0) && (GPENCIL_ANY_EDIT_MODE(gpd)))
 	{
 		const DRWContextState *draw_ctx = DRW_context_state_get();
 		Object *obact = draw_ctx->obact;
@@ -1203,7 +1203,7 @@ void gpencil_array_modifiers(GPENCIL_StorageList *stl, Object *ob)
 
 	if ((ob) && (ob->gpd)) {
 		gpd = ob->gpd;
-		if (gpd->flag & (GP_DATA_STROKE_EDITMODE | GP_DATA_STROKE_SCULPTMODE | GP_DATA_STROKE_WEIGHTMODE)) {
+		if (GPENCIL_ANY_EDIT_MODE(gpd)) {
 			return;
 		}
 	}
diff --git a/source/blender/draw/engines/gpencil/gpencil_vfx.c b/source/blender/draw/engines/gpencil/gpencil_vfx.c
index 442803feaca..2302211a3f1 100644
--- a/source/blender/draw/engines/gpencil/gpencil_vfx.c
+++ b/source/blender/draw/engines/gpencil/gpencil_vfx.c
@@ -34,6 +34,7 @@
 #include "DNA_screen_types.h"
 
 #include "ED_view3d.h"
+#include "ED_gpencil.h"
 
 #include "gpencil_engine.h"
 
@@ -50,7 +51,7 @@ static ModifierData *modifier_available(Object *ob, ModifierType type)
 		return NULL;
 	}
 
-	bool is_edit = (bool)((gpd->flag & (GP_DATA_STROKE_EDITMODE | GP_DATA_STROKE_SCULPTMODE | GP_DATA_STROKE_WEIGHTMODE)));
+	bool is_edit = (bool)(GPENCIL_ANY_EDIT_MODE(gpd));
 	if (((md->mode & eModifierMode_Editmode) == 0) && (is_edit)) {
 		return NULL;
 	}
@@ -75,7 +76,7 @@ static bool modifier_is_active(Object *ob, ModifierData *md)
 		return false;
 	}
 
-	bool is_edit = (bool)((gpd->flag & (GP_DATA_STROKE_EDITMODE | GP_DATA_STROKE_SCULPTMODE | GP_DATA_STROKE_WEIGHTMODE)));
+	bool is_edit = (bool)(GPENCIL_ANY_EDIT_MODE(gpd));
 	if (((md->mode & eModifierMode_Editmode) == 0) && (is_edit)) {
 		return false;
 	}
diff --git a/source/blender/editors/gpencil/gpencil_ops.c b/source/blender/editors/gpencil/gpencil_ops.c
index 3f43caab975..bb6ebc78098 100644
--- a/source/blender/editors/gpencil/gpencil_ops.c
+++ b/source/blender/editors/gpencil/gpencil_ops.c
@@ -126,7 +126,7 @@ static int gp_stroke_sculptmode_poll(bContext *C)
 	else {
 		/* weight paint is a submode of sculpt */
 		if ((ob) && (ob->type == OB_GPENCIL)) {
-			return ((gpd) && (gpd->flag & (GP_DATA_STROKE_SCULPTMODE | GP_DATA_STROKE_WEIGHTMODE)));
+			return GPENCIL_SCULPT_OR_WEIGHT_MODE(gpd);
 		}
 	}
 
diff --git a/source/blender/editors/gpencil/gpencil_select.c b/source/blender/editors/gpencil/gpencil_select.c
index df5a2678623..0b2c8878eee 100644
--- a/source/blender/editors/gpencil/gpencil_select.c
+++ b/source/blender/editors/gpencil/gpencil_select.c
@@ -73,7 +73,7 @@ static int gpencil_select_poll(bContext *C)
 	bGPdata *gpd = ED_gpencil_data_get_active(C);
 	
 	/* we just need some visible strokes, and to be in editmode or other modes only to catch event */
-	if ((gpd) && (gpd->flag & (GP_DATA_STROKE_EDITMODE | GP_DATA_STROKE_PAINTMODE | GP_DATA_STROKE_SCULPTMODE | GP_DATA_STROKE_WEIGHTMODE))) {
+	if (GPENCIL_ANY_MODE(gpd)) {
 		/* TODO: include a check for visible strokes? */
 		if (gpd->layers.first)
 			return true;
@@ -96,7 +96,7 @@ static int gpencil_select_all_exec(bContext *C, wmOperator *op)
 	}
 	
 	/* if not edit/sculpt mode, the event is catched but not processed */
-	if ((gpd->flag & (GP_DATA_STROKE_EDITMODE | GP_DATA_STROKE_SCULPTMODE | GP_DATA_STROKE_WEIGHTMODE)) == 0) {
+	if (GPENCIL_ANY_EDIT_MODE(gpd) == 0) {
 		return OPERATOR_CANCELLED;
 	}
 
@@ -220,7 +220,7 @@ static int gpencil_select_linked_exec(bContext *C, wmOperator *op)
 	}
 
 	/* if not edit/sculpt mode, the event is catched but not processed */
-	if ((gpd->flag & (GP_DATA_STROKE_EDITMODE | GP_DATA_STROKE_SCULPTMODE | GP_DATA_STROKE_WEIGHTMODE)) == 0) {
+	if (GPENCIL_NONE_EDIT_MODE(gpd)) {
 		return OPERATOR_CANCELLED;
 	}
 
@@ -363,7 +363,7 @@ static int gpencil_select_grouped_exec(bContext *C, wmOperator *op)
 	eGP_SelectGrouped mode = RNA_enum_get(op->ptr, "type");
 	bGPdata *gpd = ED_gpencil_data_get_active(C);
 	/* if not edit/sculpt mode, the event is catched but not processed */
-	if ((gpd->flag & (GP_DATA_STROKE_EDITMODE | GP_DATA_STROKE_SCULPTMODE | GP_DATA_STROKE_WEIGHTMODE)) == 0) {
+	if (GPENCIL_NONE_EDIT_MODE(gpd)) {
 		return OPERATOR_CANCELLED;
 	}
 
@@ -417,7 +417,7 @@ static int gpencil_select_first_exec(bContext *C, wmOperator *op)
 {
 	bGPdata *gpd = ED_gpencil_data_get_active(C);
 	/* if not edit/sculpt mode, the event is catched but not processed */
-	if ((gpd->flag & (GP_DATA_STROKE_EDITMODE | GP_DATA_STROKE_SCULPTMODE | GP_DATA_STROKE_WEIGHTMODE)) == 0) {
+	if (GPENCIL_NONE_EDIT_MODE(gpd)) {
 		return OPERATOR_CANCELLED;
 	}
 
@@ -483,7 +483,7 @@ static int gpencil_select_last_exec(bContext *C, wmOperator *op)
 {
 	bGPdata *gpd = ED_gpencil_data_get_active(C);
 	/* if not edit/sculpt mode, the event is catched but not processed */
-	if ((gpd->flag & (GP_DATA_STROKE_EDITMODE | GP_DATA_STROKE_SCULPTMODE | GP_DATA_STROKE_WEIGHTMODE)) == 0) {
+	if (GPENCIL_NONE_EDIT_MODE(gpd)) {
 		return OPERATOR_CANCELLED;
 	}
 
@@ -549,7 +549,7 @@ static int gpencil_select_more_exec(bContext *C, wmOperator *UNUSED(op))
 {
 	bGPdata *gpd = ED_gpencil_data_get_active(C);
 	/* if not edit/sculpt mode, the event is catched but not processed */
-	if ((gpd->flag & (GP_DATA_STROKE_EDITMODE | GP_DATA_STROKE_SCULPTMODE | GP_DATA_STROKE_WEIGHTMODE)) == 0) {
+	if (GPENCIL_NONE_EDIT_MODE(gpd)) {
 		return OPERATOR_CANCELLED;
 	}
 
@@ -625,7 +625,7 @@ static int gpencil_select_less_exec(bContext *C, wmOperator *UNUSED(op))
 {
 	bGPdata *gpd = ED_gpencil_data_get_active(C);
 	/* if not edit/sculpt mode, the event is catched but not processed */
-	if ((gpd->flag & (GP_DATA_STROKE_EDITMODE | GP_DATA_STROKE_SCULPTMODE | GP_DATA_STROKE_WEIGHTMODE)) == 0) {
+	if (GPENCIL_NONE_EDIT_MODE(gpd)) {
 		return OPERATOR_CANCELLED;
 	}
 
@@ -794,7 +794,7 @@ static int gpencil_circle_select_exec(bContext *C, wmOperator *op)
 {
 	bGPdata *gpd = ED_gpencil_data_get_active(C);
 	/* if not edit/sculpt mode, the event is catched but not processed */
-	if ((gpd->flag & (GP_DATA_STROKE_EDITMODE | GP_DATA_STROKE_SCULPTMODE | GP_DATA_STROKE_WEIGHTMODE)) == 0) {
+	if (GPENCIL_NONE_EDIT_MODE(gpd)) {
 		return OPERATOR_CANCELLED;
 	}
 
@@ -877,7 +877,7 @@ static int gpencil_border_select_exec(bContext *C, wmOperator *op)
 {
 	bGPdata *gpd = ED_gpencil_data_get_active(C);
 	/* if not edit/sculpt mode, the event is catched but not processed */
-	if ((gpd->flag & (GP_DATA_STROKE_EDITMODE | GP_DATA_STROKE_SCULPTMODE | GP_DATA_STROKE_WEIGHTMODE)) == 0) {
+	if (GPENCIL_NONE_EDIT_MODE(gpd)) {
 		return OPERATOR_CANCELLED;
 	}
 
@@ -992,7 +992,7 @@ static int gpencil_lasso_select_exec(bContext *C, wmOperator *op)
 {
 	bGPdata *gpd = ED_gpencil_data_get_active(C);
 	/* if not edit/sculpt mode, the event is catched but not processed */
-	if ((gpd->flag & (GP_DATA_STROKE_EDITMODE | GP_DATA_STROKE_SCULPTMODE | GP_DATA_STROKE_WEIGHTMODE)) == 0) {
+	if (GPENCIL_NONE_EDIT_MODE(gpd)) {
 		return OPERATOR_CANCELLED;
 	}
 
diff --git a/source/blender/editors/gpencil/gpencil_utils.c b/source/blender/editors/gpencil/gpencil_utils.c
index 5248d472ff1..228f9604f1a 100644
--- a/source/blender/editors/gpencil/gpencil_utils.c
+++ b/source/blender/editors/gpencil/gpencil_utils.c
@@ -1392,7 +1392,7 @@ static void gp_brush_drawcursor(bContext *C, int x, int y, void *UNUSED(customda
 	}
 
 	/* for 

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list