diff options
author | Joshua Leung <aligorith@gmail.com> | 2015-12-13 16:36:02 +0300 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2015-12-13 17:06:50 +0300 |
commit | ab0b0efe822e246e8c371e8d9de953ac71201efc (patch) | |
tree | eed20e4deb9ee6afe167d429fdaf86e3f1d7f6c2 /source/blender/editors/gpencil | |
parent | a27477b9e8c0b12e3da77aad0cf891d13cdf6a12 (diff) |
Dopesheet: Mirroring GPencil keyframes now works again
Diffstat (limited to 'source/blender/editors/gpencil')
-rw-r--r-- | source/blender/editors/gpencil/editaction_gpencil.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/source/blender/editors/gpencil/editaction_gpencil.c b/source/blender/editors/gpencil/editaction_gpencil.c index 9f96ac6122f..a5d39d7be1c 100644 --- a/source/blender/editors/gpencil/editaction_gpencil.c +++ b/source/blender/editors/gpencil/editaction_gpencil.c @@ -535,7 +535,6 @@ void ED_gplayer_snap_frames(bGPDlayer *gpl, Scene *scene, short mode) } } -#if 0 /* XXX disabled until grease pencil code stabilises again */ /* -------------------------------------- */ /* Mirror Tools */ @@ -545,7 +544,7 @@ static short mirror_gpf_cframe(bGPDframe *gpf, Scene *scene) if (gpf->flag & GP_FRAME_SELECT) { diff = CFRA - gpf->framenum; - gpf->framenum = CFRA; + gpf->framenum = CFRA + diff; } return 0; @@ -567,6 +566,7 @@ static short mirror_gpf_xaxis(bGPDframe *gpf, Scene *scene) { int diff; + /* NOTE: since we can't really do this, we just do the same as for yaxis... */ if (gpf->flag & GP_FRAME_SELECT) { diff = -gpf->framenum; gpf->framenum = diff; @@ -617,19 +617,20 @@ static short mirror_gpf_marker(bGPDframe *gpf, Scene *scene) /* mirror selected gp-frames on... */ -void mirror_gplayer_frames(bGPDlayer *gpl, Scene *scene, short mode) +// TODO: mirror over a specific time +void ED_gplayer_mirror_frames(bGPDlayer *gpl, Scene *scene, short mode) { switch (mode) { - case 1: /* mirror over current frame */ + case MIRROR_KEYS_CURFRAME: /* mirror over current frame */ ED_gplayer_frames_looper(gpl, scene, mirror_gpf_cframe); break; - case 2: /* mirror over frame 0 */ + case MIRROR_KEYS_YAXIS: /* mirror over frame 0 */ ED_gplayer_frames_looper(gpl, scene, mirror_gpf_yaxis); break; - case 3: /* mirror over value 0 */ + case MIRROR_KEYS_XAXIS: /* mirror over value 0 */ ED_gplayer_frames_looper(gpl, scene, mirror_gpf_xaxis); break; - case 4: /* mirror over marker */ + case MIRROR_KEYS_MARKER: /* mirror over marker */ mirror_gpf_marker(NULL, NULL); ED_gplayer_frames_looper(gpl, scene, mirror_gpf_marker); mirror_gpf_marker(NULL, NULL); @@ -641,4 +642,3 @@ void mirror_gplayer_frames(bGPDlayer *gpl, Scene *scene, short mode) } /* ***************************************** */ -#endif // XXX disabled until Grease Pencil code stabilises again... |