[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60904] trunk/blender/source/blender/ editors: code cleanup: minor transform refactor

Campbell Barton ideasman42 at gmail.com
Wed Oct 23 08:48:36 CEST 2013


Revision: 60904
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60904
Author:   campbellbarton
Date:     2013-10-23 06:48:36 +0000 (Wed, 23 Oct 2013)
Log Message:
-----------
code cleanup: minor transform refactor
redraw flag were mixing up types - int/char/bool, add enum type to use instead.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/include/ED_numinput.h
    trunk/blender/source/blender/editors/transform/transform.c
    trunk/blender/source/blender/editors/transform/transform.h
    trunk/blender/source/blender/editors/transform/transform_constraints.c
    trunk/blender/source/blender/editors/transform/transform_generics.c
    trunk/blender/source/blender/editors/transform/transform_input.c
    trunk/blender/source/blender/editors/transform/transform_snap.c
    trunk/blender/source/blender/editors/util/numinput.c

Modified: trunk/blender/source/blender/editors/include/ED_numinput.h
===================================================================
--- trunk/blender/source/blender/editors/include/ED_numinput.h	2013-10-23 05:33:42 UTC (rev 60903)
+++ trunk/blender/source/blender/editors/include/ED_numinput.h	2013-10-23 06:48:36 UTC (rev 60904)
@@ -27,7 +27,6 @@
 #ifndef __ED_NUMINPUT_H__
 #define __ED_NUMINPUT_H__
 
-
 /*
  *  The ctrl value has different meaning:
  *      0           : No value has been typed
@@ -59,11 +58,11 @@
 void initNumInput(NumInput *n);
 #define NUM_STR_REP_LEN 20 /* str must be NUM_STR_LEN * (idx_max + 1) length. */
 void outputNumInput(NumInput *n, char *str);
-short hasNumInput(NumInput *n);
+bool hasNumInput(const NumInput *n);
 void applyNumInput(NumInput *n, float *vec);
-char handleNumInput(NumInput *n, const struct wmEvent *event);
+bool handleNumInput(NumInput *n, const struct wmEvent *event);
 
 #define NUM_MODAL_INCREMENT_UP   18
 #define NUM_MODAL_INCREMENT_DOWN 19
 
-#endif
+#endif  /* __ED_NUMINPUT_H__ */

Modified: trunk/blender/source/blender/editors/transform/transform.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform.c	2013-10-23 05:33:42 UTC (rev 60903)
+++ trunk/blender/source/blender/editors/transform/transform.c	2013-10-23 06:48:36 UTC (rev 60904)
@@ -111,11 +111,11 @@
 
 /* Transform Callbacks */
 static void initWarp(TransInfo *t);
-static int handleEventWarp(TransInfo *t, const struct wmEvent *event);
+static eRedrawFlag handleEventWarp(TransInfo *t, const struct wmEvent *event);
 static void Warp(TransInfo *t, const int mval[2]);
 
 static void initShear(TransInfo *t);
-static int handleEventShear(TransInfo *t, const struct wmEvent *event);
+static eRedrawFlag handleEventShear(TransInfo *t, const struct wmEvent *event);
 static void applyShear(TransInfo *t, const int mval[2]);
 
 static void initResize(TransInfo *t);
@@ -167,11 +167,11 @@
 static void applyBoneRoll(TransInfo *t, const int mval[2]);
 
 static void initEdgeSlide(TransInfo *t);
-static int handleEventEdgeSlide(TransInfo *t, const struct wmEvent *event);
+static eRedrawFlag handleEventEdgeSlide(TransInfo *t, const struct wmEvent *event);
 static void applyEdgeSlide(TransInfo *t, const int mval[2]);
 
 static void initVertSlide(TransInfo *t);
-static int handleEventVertSlide(TransInfo *t, const struct wmEvent *event);
+static eRedrawFlag handleEventVertSlide(TransInfo *t, const struct wmEvent *event);
 static void applyVertSlide(TransInfo *t, const int mval[2]);
 
 static void initTimeTranslate(TransInfo *t);
@@ -1220,8 +1220,10 @@
 				break;
 		}
 
-		// Modal numinput events
-		t->redraw |= handleNumInput(&(t->num), event);
+		/* Modal numinput events */
+		if (handleNumInput(&(t->num), event)) {
+			t->redraw |= TREDRAW_HARD;
+		}
 	}
 	/* else do non-mapped events */
 	else if (event->val == KM_PRESS) {
@@ -1325,7 +1327,7 @@
 					t->flag ^= T_PROP_CONNECTED;
 					sort_trans_data_dist(t);
 					calculatePropRatio(t);
-					t->redraw = 1;
+					t->redraw = TREDRAW_HARD;
 				}
 				else {
 					stopConstraint(t);
@@ -1351,7 +1353,7 @@
 						t->prop_size = min_ff(t->prop_size, ((View3D *)t->view)->far);
 					calculatePropRatio(t);
 				}
-				t->redraw = 1;
+				t->redraw = TREDRAW_HARD;
 				break;
 			case PAGEUPKEY:
 			case WHEELDOWNMOUSE:
@@ -1361,14 +1363,14 @@
 				else {
 					view_editmove(event->type);
 				}
-				t->redraw = 1;
+				t->redraw = TREDRAW_HARD;
 				break;
 			case PADMINUS:
 				if (event->alt && t->flag & T_PROP_EDIT) {
 					t->prop_size *= 0.90909090f;
 					calculatePropRatio(t);
 				}
-				t->redraw = 1;
+				t->redraw = TREDRAW_HARD;
 				break;
 			case PAGEDOWNKEY:
 			case WHEELUPMOUSE:
@@ -1378,7 +1380,7 @@
 				else {
 					view_editmove(event->type);
 				}
-				t->redraw = 1;
+				t->redraw = TREDRAW_HARD;
 				break;
 			case LEFTALTKEY:
 			case RIGHTALTKEY:
@@ -1393,10 +1395,12 @@
 				break;
 		}
 
-		// Numerical input events
-		t->redraw |= handleNumInput(&(t->num), event);
+		/* Numerical input events */
+		if (handleNumInput(&(t->num), event)) {
+			t->redraw |= TREDRAW_HARD;
+		}
 
-		// Snapping key events
+		/* Snapping key events */
 		t->redraw |= handleSnapping(t, event);
 
 	}
@@ -2735,9 +2739,9 @@
 	t->customData = data;
 }
 
-static int handleEventWarp(TransInfo *UNUSED(t), const wmEvent *event)
+static eRedrawFlag handleEventWarp(TransInfo *UNUSED(t), const wmEvent *event)
 {
-	int status = TREDRAW_NOTHING;
+	eRedrawFlag status = TREDRAW_NOTHING;
 	
 	if (event->type == MIDDLEMOUSE && event->val == KM_PRESS) {
 		status = TREDRAW_HARD;
@@ -2898,9 +2902,9 @@
 	t->flag |= T_NO_CONSTRAINT;
 }
 
-static int handleEventShear(TransInfo *t, const wmEvent *event)
+static eRedrawFlag handleEventShear(TransInfo *t, const wmEvent *event)
 {
-	int status = TREDRAW_NOTHING;
+	eRedrawFlag status = TREDRAW_NOTHING;
 	
 	if (event->type == MIDDLEMOUSE && event->val == KM_PRESS) {
 		// Use customData pointer to signal Shear direction
@@ -5867,7 +5871,7 @@
 	t->flag |= T_NO_CONSTRAINT | T_NO_PROJECT;
 }
 
-static int handleEventEdgeSlide(struct TransInfo *t, const struct wmEvent *event)
+static eRedrawFlag handleEventEdgeSlide(struct TransInfo *t, const struct wmEvent *event)
 {
 	if (t->mode == TFM_EDGE_SLIDE) {
 		EdgeSlideData *sld = t->customData;
@@ -5877,7 +5881,7 @@
 				case EKEY:
 					if (event->val == KM_PRESS) {
 						sld->is_proportional = !sld->is_proportional;
-						return 1;
+						return TREDRAW_HARD;
 					}
 					break;
 				case FKEY:
@@ -5886,7 +5890,7 @@
 						if (sld->is_proportional == FALSE) {
 							sld->flipped_vtx = !sld->flipped_vtx;
 						}
-						return 1;
+						return TREDRAW_HARD;
 					}
 					break;
 				}
@@ -5911,7 +5915,7 @@
 			}
 		}
 	}
-	return 0;
+	return TREDRAW_NOTHING;
 }
 
 static void drawEdgeSlide(const struct bContext *C, TransInfo *t)
@@ -6338,7 +6342,7 @@
 	recalcData(t);
 }
 
-void initVertSlide(TransInfo *t)
+static void initVertSlide(TransInfo *t)
 {
 	VertSlideData *sld;
 
@@ -6373,7 +6377,7 @@
 	t->flag |= T_NO_CONSTRAINT | T_NO_PROJECT;
 }
 
-int handleEventVertSlide(struct TransInfo *t, const struct wmEvent *event)
+static eRedrawFlag handleEventVertSlide(struct TransInfo *t, const struct wmEvent *event)
 {
 	if (t->mode == TFM_VERT_SLIDE) {
 		VertSlideData *sld = t->customData;
@@ -6386,7 +6390,7 @@
 						if (sld->flipped_vtx) {
 							calcVertSlideCustomPoints(t);
 						}
-						return 1;
+						return TREDRAW_HARD;
 					}
 					break;
 				case FKEY:
@@ -6394,7 +6398,7 @@
 					if (event->val == KM_PRESS) {
 						sld->flipped_vtx = !sld->flipped_vtx;
 						calcVertSlideCustomPoints(t);
-						return 1;
+						return TREDRAW_HARD;
 					}
 					break;
 				}
@@ -6404,7 +6408,7 @@
 					if (event->val == KM_PRESS) {
 						t->flag ^= T_ALT_TRANSFORM;
 						calcVertSlideCustomPoints(t);
-						return 1;
+						return TREDRAW_HARD;
 					}
 					break;
 				}
@@ -6440,7 +6444,7 @@
 			}
 		}
 	}
-	return 0;
+	return TREDRAW_NOTHING;
 }
 
 static void drawVertSlide(const struct bContext *C, TransInfo *t)
@@ -6557,7 +6561,7 @@
 	return 1;
 }
 
-void applyVertSlide(TransInfo *t, const int UNUSED(mval[2]))
+static void applyVertSlide(TransInfo *t, const int UNUSED(mval[2]))
 {
 	char str[MAX_INFO_LEN];
 	size_t ofs = 0;

Modified: trunk/blender/source/blender/editors/transform/transform.h
===================================================================
--- trunk/blender/source/blender/editors/transform/transform.h	2013-10-23 05:33:42 UTC (rev 60903)
+++ trunk/blender/source/blender/editors/transform/transform.h	2013-10-23 06:48:36 UTC (rev 60904)
@@ -62,6 +62,13 @@
 struct ARegion;
 struct ReportList;
 
+/* transinfo->redraw */
+typedef enum {
+	TREDRAW_NOTHING   = 0,
+	TREDRAW_HARD      = 1,
+	TREDRAW_SOFT      = 2,
+} eRedrawFlag;
+
 typedef struct TransSnapPoint {
 	struct TransSnapPoint *next, *prev;
 	float co[3];
@@ -286,7 +293,7 @@
 	float       fac;            /* factor for distance based transform  */
 	void      (*transform)(struct TransInfo *, const int[2]);
 								/* transform function pointer           */
-	int       (*handleEvent)(struct TransInfo *, const struct wmEvent *);
+	eRedrawFlag (*handleEvent)(struct TransInfo *, const struct wmEvent *);
 								/* event handler function pointer  RETURN 1 if redraw is needed */
 	int         total;          /* total number of transformed data     */
 	TransData  *data;           /* transformed data (array)             */
@@ -296,7 +303,7 @@
 	TransSnap	tsnap;
 	NumInput    num;            /* numerical input                      */
 	MouseInput	mouse;			/* mouse input                          */
-	char        redraw;         /* redraw flag                          */
+	eRedrawFlag redraw;         /* redraw flag                          */
 	float		prop_size;		/* proportional circle radius           */
 	char		proptext[20];	/* proportional falloff text			*/
 	float       center[3];      /* center of transformation             */
@@ -372,12 +379,6 @@
 #define TRANS_CONFIRM	2
 #define TRANS_CANCEL	3
 
-/* transinfo->redraw */
-#define TREDRAW_NOTHING  	0
-#define TREDRAW_HARD		1
-#define TREDRAW_SOFT		2
-
-
 /* transinfo->flag */
 #define T_OBJECT		(1 << 0)
 #define T_EDIT			(1 << 1)
@@ -575,14 +576,14 @@
 void applyProject(TransInfo *t);
 void applySnapping(TransInfo *t, float *vec);
 void resetSnapping(TransInfo *t);
-bool handleSnapping(TransInfo *t, const struct wmEvent *event);
+eRedrawFlag handleSnapping(TransInfo *t, const struct wmEvent *event);
 void drawSnapping(const struct bContext *C, TransInfo *t);
 bool usingSnappingNormal(TransInfo *t);
 bool validSnappingNormal(TransInfo *t);
 
 void getSnapPoint(TransInfo *t, float vec[3]);
 void addSnapPoint(TransInfo *t);
-bool updateSelectedSnapPoint(TransInfo *t);
+eRedrawFlag updateSelectedSnapPoint(TransInfo *t);
 void removeSnapPoint(TransInfo *t);
 
 /********************** Mouse Input ******************************/
@@ -605,7 +606,7 @@
 
 void initMouseInput(TransInfo *t, MouseInput *mi, const float center[2], const int mval[2]);
 void initMouseInputMode(TransInfo *t, MouseInput *mi, MouseInputMode mode);
-int handleMouseInput(struct TransInfo *t, struct MouseInput *mi, const struct wmEvent *event);
+eRedrawFlag handleMouseInput(struct TransInfo *t, struct MouseInput *mi, const struct wmEvent *event);
 void applyMouseInput(struct TransInfo *t, struct MouseInput *mi, const int mval[2], float output[3]);
 

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list