diff options
author | Martin Poirier <theeth@yahoo.com> | 2005-05-10 08:21:11 +0400 |
---|---|---|
committer | Martin Poirier <theeth@yahoo.com> | 2005-05-10 08:21:11 +0400 |
commit | d07dccc3869943c8c24275c59917429af4eae452 (patch) | |
tree | 8488705a716557daa0bfd2a8782db29f04306b87 /source/blender/src/space.c | |
parent | 0c3f0556770ba1ef599400546beec62577904b35 (diff) |
Found some time do sanitize the big Transform call:
- Splited off the event treatment into a fonction of its own
- Splited off the initialisation phase into a function of its own (will have to do it for the manipulator function too)
Calling transform now works like this:
initTransform(mode, context)
- possible post init calls, constraints mostly
Transform()
- eventually, the postTransform function, so that Transform is just a simple big loop which could in the end just be tied in the blender event system instead.
- Added a state variable in TransInfo to replace the ret_val local variable. Possible values are: TRANS_RUNNING, TRANS_CANCEL, TRANS_CONFIRM
- Tied MMB and the hotkey select for constraint together, so selecting an axis with MMB and pressing the axis key after that goes to local mode on that axis. Much less confusing.
Diffstat (limited to 'source/blender/src/space.c')
-rw-r--r-- | source/blender/src/space.c | 69 |
1 files changed, 46 insertions, 23 deletions
diff --git a/source/blender/src/space.c b/source/blender/src/space.c index f613cb6a055..bec4fd46264 100644 --- a/source/blender/src/space.c +++ b/source/blender/src/space.c @@ -1215,7 +1215,8 @@ static void winqreadview3dspace(ScrArea *sa, void *spacedata, BWinEvent *evt) } else if (G.qual==LR_SHIFTKEY) { if (G.obedit && G.obedit->type==OB_MESH) { - Transform(TFM_CREASE, CTX_EDGE); + initTransform(TFM_CREASE, CTX_EDGE); + Transform(); } } break; @@ -1257,7 +1258,8 @@ static void winqreadview3dspace(ScrArea *sa, void *spacedata, BWinEvent *evt) doredraw= 1; } else if((G.qual==0)) { - Transform(TFM_TRANSLATION, CTX_NONE); + initTransform(TFM_TRANSLATION, CTX_NONE); + Transform(); } break; case HKEY: @@ -1500,13 +1502,17 @@ static void winqreadview3dspace(ScrArea *sa, void *spacedata, BWinEvent *evt) separatemenu(); else if ((G.qual==0) && ELEM(G.obedit->type, OB_CURVE, OB_SURF)) separate_nurb(); - else if (G.qual==LR_SHIFTKEY) - Transform(TFM_PUSHPULL, CTX_NONE); + else if (G.qual==LR_SHIFTKEY) { + initTransform(TFM_PUSHPULL, CTX_NONE); + Transform(); + } } else if(G.qual==LR_CTRLKEY || G.qual==(LR_SHIFTKEY|LR_CTRLKEY)) make_parent(); - else if(G.qual==LR_SHIFTKEY) - Transform(TFM_PUSHPULL, CTX_NONE); + else if(G.qual==LR_SHIFTKEY) { + initTransform(TFM_PUSHPULL, CTX_NONE); + Transform(); + } else if(G.qual==LR_ALTKEY) clear_parent(); else if((G.qual==0)) { @@ -1537,11 +1543,13 @@ static void winqreadview3dspace(ScrArea *sa, void *spacedata, BWinEvent *evt) loopoperations(LOOP_CUT); } else if((G.qual==0)) { - Transform(TFM_ROTATION, CTX_NONE); + initTransform(TFM_ROTATION, CTX_NONE); + Transform(); } } else if((G.qual==0)) { - Transform(TFM_ROTATION, CTX_NONE); + initTransform(TFM_ROTATION, CTX_NONE); + Transform(); } break; case SKEY: @@ -1550,19 +1558,27 @@ static void winqreadview3dspace(ScrArea *sa, void *spacedata, BWinEvent *evt) doredraw= 1; } else if(G.obedit) { - if(G.qual==LR_ALTKEY) - Transform(TFM_SHRINKFATTEN, CTX_NONE); - else if(G.qual==LR_CTRLKEY) - Transform(TFM_SHEAR, CTX_NONE); - else if(G.qual==(LR_CTRLKEY|LR_ALTKEY)) - Transform(TFM_SHEAR, CTX_NONE); + if(G.qual==LR_ALTKEY) { + initTransform(TFM_SHRINKFATTEN, CTX_NONE); + Transform(); + } + else if(G.qual==LR_CTRLKEY) { + initTransform(TFM_SHEAR, CTX_NONE); + Transform(); + } + else if(G.qual==(LR_CTRLKEY|LR_ALTKEY)) { + initTransform(TFM_SHEAR, CTX_NONE); + Transform(); + } else if(G.qual==LR_SHIFTKEY) snapmenu(); else if(G.qual==0) { - Transform(TFM_RESIZE, CTX_NONE); + initTransform(TFM_RESIZE, CTX_NONE); + Transform(); } else if(G.qual==(LR_SHIFTKEY|LR_CTRLKEY)){ - Transform(TFM_TOSPHERE, CTX_NONE); + initTransform(TFM_TOSPHERE, CTX_NONE); + Transform(); } } @@ -1575,12 +1591,17 @@ static void winqreadview3dspace(ScrArea *sa, void *spacedata, BWinEvent *evt) snapmenu(); } else if((G.qual==0)) { - Transform(TFM_RESIZE, CTX_NONE); + initTransform(TFM_RESIZE, CTX_NONE); + Transform(); + } + else if(G.qual==(LR_SHIFTKEY|LR_CTRLKEY)) { + initTransform(TFM_TOSPHERE, CTX_NONE); + Transform(); + } + else if(G.qual==(LR_CTRLKEY|LR_ALTKEY)) { + initTransform(TFM_SHEAR, CTX_NONE); + Transform(); } - else if(G.qual==(LR_SHIFTKEY|LR_CTRLKEY)) - Transform(TFM_TOSPHERE, CTX_NONE); - else if(G.qual==(LR_CTRLKEY|LR_ALTKEY)) - Transform(TFM_SHEAR, CTX_NONE); break; case TKEY: if(G.obedit){ @@ -1595,7 +1616,8 @@ static void winqreadview3dspace(ScrArea *sa, void *spacedata, BWinEvent *evt) clear_tilt(); } else if (G.qual==0) { - Transform(TFM_TILT, CTX_NONE); + initTransform(TFM_TILT, CTX_NONE); + Transform(); } } } @@ -1661,7 +1683,8 @@ static void winqreadview3dspace(ScrArea *sa, void *spacedata, BWinEvent *evt) break; case WKEY: if((G.qual==LR_SHIFTKEY)) { - Transform(TFM_WARP, CTX_NONE); + initTransform(TFM_WARP, CTX_NONE); + Transform(); } else if(G.qual==LR_ALTKEY) { /* if(G.obedit && G.obedit->type==OB_MESH) write_videoscape(); */ |