[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