Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <montagne29@wanadoo.fr>2012-12-03 17:07:43 +0400
committerBastien Montagne <montagne29@wanadoo.fr>2012-12-03 17:07:43 +0400
commit582a9d1c45e5d75210a2d4010e55cd9a0f3673a2 (patch)
treeb9e9a1d5303324029d49bf69c526538b216cacd8 /source/blender/editors/gpencil
parent4f3fdb8d5a4a3b01de3c3660f6111cf911d9569f (diff)
Fix for [#33378] Grease pencil dopesheet fails on a few operations
Snapping operator in action editor for grease pencil and mask wasn't implemented. We could probably re-enabled/fix/cleanup more things in this area (e.g. use a custom poll func for operators not supporting gp/mask, instead of silently doing nothing), but this is for after 2.65 imho).
Diffstat (limited to 'source/blender/editors/gpencil')
-rw-r--r--source/blender/editors/gpencil/editaction_gpencil.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/source/blender/editors/gpencil/editaction_gpencil.c b/source/blender/editors/gpencil/editaction_gpencil.c
index a59a3f7a5ec..137ef50be3c 100644
--- a/source/blender/editors/gpencil/editaction_gpencil.c
+++ b/source/blender/editors/gpencil/editaction_gpencil.c
@@ -49,6 +49,7 @@
#include "ED_anim_api.h"
#include "ED_gpencil.h"
#include "ED_keyframes_edit.h"
+#include "ED_markers.h"
#include "gpencil_intern.h"
@@ -460,11 +461,12 @@ void paste_gpdata(Scene *scene)
/* undo and redraw stuff */
BIF_undo_push("Paste Grease Pencil Frames");
}
+#endif /* XXX disabled until Grease Pencil code stabilises again... */
/* -------------------------------------- */
/* Snap Tools */
-static short snap_gpf_nearest(bGPDframe *gpf, Scene *scene)
+static short snap_gpf_nearest(bGPDframe *gpf, Scene *UNUSED(scene))
{
if (gpf->flag & GP_FRAME_SELECT)
gpf->framenum = (int)(floor(gpf->framenum + 0.5));
@@ -489,33 +491,32 @@ static short snap_gpf_cframe(bGPDframe *gpf, Scene *scene)
static short snap_gpf_nearmarker(bGPDframe *gpf, Scene *scene)
{
if (gpf->flag & GP_FRAME_SELECT)
- gpf->framenum = (int)find_nearest_marker_time(&scene->markers, (float)gpf->framenum);
+ gpf->framenum = (int)ED_markers_find_nearest_marker_time(&scene->markers, (float)gpf->framenum);
return 0;
}
-
/* snap selected frames to ... */
-void snap_gplayer_frames(bGPDlayer *gpl, Scene *scene, short mode)
+void ED_gplayer_snap_frames(bGPDlayer *gpl, Scene *scene, short mode)
{
switch (mode) {
- case 1: /* snap to nearest frame */
+ case SNAP_KEYS_NEARFRAME: /* snap to nearest frame */
ED_gplayer_frames_looper(gpl, scene, snap_gpf_nearest);
break;
- case 2: /* snap to current frame */
+ case SNAP_KEYS_CURFRAME: /* snap to current frame */
ED_gplayer_frames_looper(gpl, scene, snap_gpf_cframe);
break;
- case 3: /* snap to nearest marker */
+ case SNAP_KEYS_NEARMARKER: /* snap to nearest marker */
ED_gplayer_frames_looper(gpl, scene, snap_gpf_nearmarker);
break;
- case 4: /* snap to nearest second */
+ case SNAP_KEYS_NEARSEC: /* snap to nearest second */
ED_gplayer_frames_looper(gpl, scene, snap_gpf_nearestsec);
break;
default: /* just in case */
- ED_gplayer_frames_looper(gpl, scene, snap_gpf_nearest);
break;
}
}
+#if 0 /* XXX disabled until grease pencil code stabilises again */
/* -------------------------------------- */
/* Mirror Tools */