From 33e4972cdb1eecdfb5a8833dbd6565dcca866eb8 Mon Sep 17 00:00:00 2001 From: Joshua Leung Date: Sun, 12 Aug 2007 07:30:11 +0000 Subject: Action Editor - Code Cleanups: * I've replaced the long lists of #defines in header_action.c with enums, which should make that easier to maintain/add new items as needed. * Added a few comments also --- source/blender/src/header_action.c | 172 +++++++++++++++++++++---------------- 1 file changed, 100 insertions(+), 72 deletions(-) (limited to 'source/blender/src/header_action.c') diff --git a/source/blender/src/header_action.c b/source/blender/src/header_action.c index db2f2bd9be2..4072dd042b4 100644 --- a/source/blender/src/header_action.c +++ b/source/blender/src/header_action.c @@ -30,7 +30,7 @@ * * The Original Code is: all of this file. * - * Contributor(s): none yet. + * Contributor(s): 2007, Joshua Leung (Action Editor recode) * * ***** END GPL/BL DUAL LICENSE BLOCK ***** */ @@ -79,84 +79,110 @@ #include "blendef.h" #include "mydevice.h" -#define ACTMENU_VIEW_CENTERVIEW 0 -#define ACTMENU_VIEW_AUTOUPDATE 1 -#define ACTMENU_VIEW_PLAY3D 2 -#define ACTMENU_VIEW_PLAYALL 3 -#define ACTMENU_VIEW_ALL 4 -#define ACTMENU_VIEW_MAXIMIZE 5 -#define ACTMENU_VIEW_LOCK 6 -#define ACTMENU_VIEW_SLIDERS 7 -#define ACTMENU_VIEW_NEXTMARKER 8 -#define ACTMENU_VIEW_PREVMARKER 9 -#define ACTMENU_VIEW_TIME 10 - -#define ACTMENU_SEL_BORDER 0 -#define ACTMENU_SEL_BORDERM 1 -#define ACTMENU_SEL_ALL_KEYS 2 -#define ACTMENU_SEL_ALL_CHAN 3 -#define ACTMENU_SEL_ALL_MARKERS 4 -#define ACTMENU_SEL_INVERSE_KEYS 5 -#define ACTMENU_SEL_INVERSE_MARKERS 6 - -#define ACTMENU_SEL_COLUMN_KEYS 1 -#define ACTMENU_SEL_COLUMN_MARKERSCOLUMN 2 -#define ACTMENU_SEL_COLUMN_MARKERSBETWEEN 3 - -#define ACTMENU_KEY_DUPLICATE 0 -#define ACTMENU_KEY_DELETE 1 -#define ACTMENU_KEY_BAKE 2 -#define ACTMENU_KEY_CLEAN 3 - -#define ACTMENU_KEY_CHANPOS_MOVE_CHANNEL_UP 0 -#define ACTMENU_KEY_CHANPOS_MOVE_CHANNEL_DOWN 1 -#define ACTMENU_KEY_CHANPOS_MOVE_CHANNEL_TOP 2 -#define ACTMENU_KEY_CHANPOS_MOVE_CHANNEL_BOTTOM 3 - -#define ACTMENU_KEY_TRANSFORM_MOVE 0 -#define ACTMENU_KEY_TRANSFORM_SCALE 1 -#define ACTMENU_KEY_TRANSFORM_SLIDE 2 - -#define ACTMENU_KEY_HANDLE_AUTO 0 -#define ACTMENU_KEY_HANDLE_ALIGN 1 -#define ACTMENU_KEY_HANDLE_FREE 2 -#define ACTMENU_KEY_HANDLE_VECTOR 3 - -#define ACTMENU_KEY_INTERP_CONST 0 -#define ACTMENU_KEY_INTERP_LINEAR 1 -#define ACTMENU_KEY_INTERP_BEZIER 2 - -#define ACTMENU_KEY_EXTEND_CONST 0 -#define ACTMENU_KEY_EXTEND_EXTRAPOLATION 1 -#define ACTMENU_KEY_EXTEND_CYCLIC 2 -#define ACTMENU_KEY_EXTEND_CYCLICEXTRAPOLATION 3 - -#define ACTMENU_KEY_SNAP_NEARFRAME 1 -#define ACTMENU_KEY_SNAP_CURFRAME 2 -#define ACTMENU_KEY_SNAP_NEARMARK 3 -#define ACTMENU_KEY_SNAP_NEARTIME 4 - -#define ACTMENU_KEY_MIRROR_CURFRAME 1 -#define ACTMENU_KEY_MIRROR_YAXIS 2 -#define ACTMENU_KEY_MIRROR_XAXIS 3 -#define ACTMENU_KEY_MIRROR_MARKER 4 - -#define ACTMENU_MARKERS_ADD 0 -#define ACTMENU_MARKERS_DUPLICATE 1 -#define ACTMENU_MARKERS_DELETE 2 -#define ACTMENU_MARKERS_NAME 3 -#define ACTMENU_MARKERS_MOVE 4 +/* enums declaring constants that are used as menu event codes */ + +enum { + ACTMENU_VIEW_CENTERVIEW= 0, + ACTMENU_VIEW_AUTOUPDATE, + ACTMENU_VIEW_PLAY3D, + ACTMENU_VIEW_PLAYALL, + ACTMENU_VIEW_ALL, + ACTMENU_VIEW_MAXIMIZE, + ACTMENU_VIEW_LOCK, + ACTMENU_VIEW_SLIDERS, + ACTMENU_VIEW_NEXTMARKER, + ACTMENU_VIEW_PREVMARKER, + ACTMENU_VIEW_TIME, +}; + +enum { + ACTMENU_SEL_BORDER = 0, + ACTMENU_SEL_BORDERM, + ACTMENU_SEL_ALL_KEYS, + ACTMENU_SEL_ALL_CHAN, + ACTMENU_SEL_ALL_MARKERS, + ACTMENU_SEL_INVERSE_KEYS, + ACTMENU_SEL_INVERSE_MARKERS +}; + +enum { + ACTMENU_SEL_COLUMN_KEYS = 1, + ACTMENU_SEL_COLUMN_MARKERSCOLUMN, + ACTMENU_SEL_COLUMN_MARKERSBETWEEN +}; + +enum { + ACTMENU_KEY_DUPLICATE = 0, + ACTMENU_KEY_DELETE, + ACTMENU_KEY_BAKE, + ACTMENU_KEY_CLEAN +}; + +enum { + ACTMENU_KEY_CHANPOS_MOVE_CHANNEL_UP = 0, + ACTMENU_KEY_CHANPOS_MOVE_CHANNEL_DOWN, + ACTMENU_KEY_CHANPOS_MOVE_CHANNEL_TOP, + ACTMENU_KEY_CHANPOS_MOVE_CHANNEL_BOTTOM +}; + +enum { + ACTMENU_KEY_TRANSFORM_MOVE = 0, + ACTMENU_KEY_TRANSFORM_SCALE, + ACTMENU_KEY_TRANSFORM_SLIDE +}; + +enum { + ACTMENU_KEY_HANDLE_AUTO = 0, + ACTMENU_KEY_HANDLE_ALIGN, + ACTMENU_KEY_HANDLE_FREE, + ACTMENU_KEY_HANDLE_VECTOR +}; + +enum { + ACTMENU_KEY_INTERP_CONST = 0, + ACTMENU_KEY_INTERP_LINEAR, + ACTMENU_KEY_INTERP_BEZIER +}; + +enum { + ACTMENU_KEY_EXTEND_CONST = 0, + ACTMENU_KEY_EXTEND_EXTRAPOLATION, + ACTMENU_KEY_EXTEND_CYCLIC, + ACTMENU_KEY_EXTEND_CYCLICEXTRAPOLATION +}; + +enum { + ACTMENU_KEY_SNAP_NEARFRAME = 1, + ACTMENU_KEY_SNAP_CURFRAME, + ACTMENU_KEY_SNAP_NEARMARK, + ACTMENU_KEY_SNAP_NEARTIME, +}; + +enum { + ACTMENU_KEY_MIRROR_CURFRAME = 1, + ACTMENU_KEY_MIRROR_YAXIS, + ACTMENU_KEY_MIRROR_XAXIS, + ACTMENU_KEY_MIRROR_MARKER +}; + +enum { + ACTMENU_MARKERS_ADD = 0, + ACTMENU_MARKERS_DUPLICATE, + ACTMENU_MARKERS_DELETE, + ACTMENU_MARKERS_NAME, + ACTMENU_MARKERS_MOVE +}; void do_action_buttons(unsigned short event) { Object *ob= OBACT; switch(event) { - case B_ACTHOME: + case B_ACTHOME: /* HOMEKEY in Action Editor */ /* Find X extents */ G.v2d->cur.xmin = 0; G.v2d->cur.ymin=-SCROLLB; - + if (G.saction->action) { float extra; @@ -185,10 +211,12 @@ void do_action_buttons(unsigned short event) G.v2d->tot= G.v2d->cur; test_view2d(G.v2d, curarea->winx, curarea->winy); view2d_do_locks(curarea, V2D_LOCK_COPY); - + addqueue (curarea->win, REDRAW, 1); - + break; + + /* copy/paste/paste-flip buttons in 3d-view header in PoseMode */ case B_ACTCOPY: copy_posebuf(); allqueue(REDRAWVIEW3D, 1); -- cgit v1.2.3