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
path: root/source
diff options
context:
space:
mode:
authorJoshua Leung <aligorith@gmail.com>2009-06-19 16:57:31 +0400
committerJoshua Leung <aligorith@gmail.com>2009-06-19 16:57:31 +0400
commitbb9323a720483b0c02bf25ecfca9c6ccc8699519 (patch)
tree922daae074ae7bfabf6355c872f0ed734f069dc0 /source
parentd525ae17829ae13640488e6f50022b317a8eba63 (diff)
NLA SoC: Minor Tweaks (Duplicate + Muted-Strip Drawing)
* Duplicate operator now inits transform once strips have been created * Muted strips now draw with a dotted outline
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/space_nla/nla_draw.c15
-rw-r--r--source/blender/editors/space_nla/nla_edit.c20
2 files changed, 32 insertions, 3 deletions
diff --git a/source/blender/editors/space_nla/nla_draw.c b/source/blender/editors/space_nla/nla_draw.c
index 3a3f86bb5a3..9a9cbeeff21 100644
--- a/source/blender/editors/space_nla/nla_draw.c
+++ b/source/blender/editors/space_nla/nla_draw.c
@@ -68,6 +68,7 @@
#include "ED_screen.h"
#include "BIF_gl.h"
+#include "BIF_glutil.h"
#include "WM_api.h"
#include "WM_types.h"
@@ -184,7 +185,10 @@ static void nla_draw_strip (AnimData *adt, NlaTrack *nlt, NlaStrip *strip, View2
uiSetRoundBox(15); /* all corners rounded */
gl_round_box_shade(GL_POLYGON, strip->start, yminc, strip->end, ymaxc, 0.0, 0.5, 0.1);
- /* draw strip outline - different colors are used here... */
+
+ /* draw strip outline
+ * - color used here is to indicate active vs non-active
+ */
if (strip->flag & NLASTRIP_FLAG_ACTIVE) {
/* strip should appear 'sunken', so draw a light border around it */
glColor3f(0.9f, 1.0f, 0.9f); // FIXME: hardcoded temp-hack colors
@@ -193,7 +197,16 @@ static void nla_draw_strip (AnimData *adt, NlaTrack *nlt, NlaStrip *strip, View2
/* strip should appear to stand out, so draw a dark border around it */
glColor3f(0.0f, 0.0f, 0.0f);
}
+
+ /* - line style: dotted for muted */
+ if (strip->flag & NLASTRIP_FLAG_MUTED)
+ setlinestyle(4);
+
+ /* draw outline */
gl_round_box_shade(GL_LINE_LOOP, strip->start, yminc, strip->end, ymaxc, 0.0, 0.0, 0.1);
+
+ /* reset linestyle */
+ setlinestyle(0);
}
/* add the relevant text to the cache of text-strings to draw in pixelspace */
diff --git a/source/blender/editors/space_nla/nla_edit.c b/source/blender/editors/space_nla/nla_edit.c
index d2cf728ea58..8b7c6bb99c6 100644
--- a/source/blender/editors/space_nla/nla_edit.c
+++ b/source/blender/editors/space_nla/nla_edit.c
@@ -59,6 +59,8 @@
#include "ED_space_api.h"
#include "ED_screen.h"
+#include "BIF_transform.h"
+
#include "RNA_access.h"
#include "RNA_define.h"
@@ -506,13 +508,23 @@ static int nlaedit_duplicate_exec (bContext *C, wmOperator *op)
ANIM_animdata_send_notifiers(C, &ac, ANIM_CHANGED_BOTH);
WM_event_add_notifier(C, NC_SCENE, NULL);
- /* done + allow for tweaking to be invoked */
- return OPERATOR_FINISHED|OPERATOR_PASS_THROUGH;
+ /* done */
+ return OPERATOR_FINISHED;
}
else
return OPERATOR_CANCELLED;
}
+static int nlaedit_duplicate_invoke(bContext *C, wmOperator *op, wmEvent *event)
+{
+ nlaedit_duplicate_exec(C, op);
+
+ RNA_int_set(op->ptr, "mode", TFM_TIME_TRANSLATE); // XXX
+ WM_operator_name_call(C, "TFM_OT_transform", WM_OP_INVOKE_REGION_WIN, op->ptr);
+
+ return OPERATOR_FINISHED;
+}
+
void NLAEDIT_OT_duplicate (wmOperatorType *ot)
{
/* identifiers */
@@ -521,11 +533,15 @@ void NLAEDIT_OT_duplicate (wmOperatorType *ot)
ot->description= "Duplicate selected NLA-Strips, adding the new strips in new tracks above the originals.";
/* api callbacks */
+ ot->invoke= nlaedit_duplicate_invoke;
ot->exec= nlaedit_duplicate_exec;
ot->poll= nlaop_poll_tweakmode_off;
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+ /* to give to transform */
+ RNA_def_int(ot->srna, "mode", TFM_TRANSLATION, 0, INT_MAX, "Mode", "", 0, INT_MAX);
}
/* ******************** Delete Strips Operator ***************************** */