forked from bartvdbraak/blender
Sequence Slide transformation (easier to do special sequence code there than in a generic transform)
Also make the transform operator creation a bit more automagic (I always forget either operator registration or modal keymap registration, this is all automatic now).
This commit is contained in:
parent
1f8cd19d4b
commit
90e9aee9b8
@ -450,55 +450,6 @@ static void view_editmove(unsigned short event)
|
||||
#endif
|
||||
}
|
||||
|
||||
#if 0
|
||||
static char *transform_to_undostr(TransInfo *t)
|
||||
{
|
||||
switch (t->mode) {
|
||||
case TFM_TRANSLATION:
|
||||
return "Translate";
|
||||
case TFM_ROTATION:
|
||||
return "Rotate";
|
||||
case TFM_RESIZE:
|
||||
return "Scale";
|
||||
case TFM_TOSPHERE:
|
||||
return "To Sphere";
|
||||
case TFM_SHEAR:
|
||||
return "Shear";
|
||||
case TFM_WARP:
|
||||
return "Warp";
|
||||
case TFM_SHRINKFATTEN:
|
||||
return "Shrink/Fatten";
|
||||
case TFM_TILT:
|
||||
return "Tilt";
|
||||
case TFM_TRACKBALL:
|
||||
return "Trackball";
|
||||
case TFM_PUSHPULL:
|
||||
return "Push/Pull";
|
||||
case TFM_BEVEL:
|
||||
return "Bevel";
|
||||
case TFM_BWEIGHT:
|
||||
return "Bevel Weight";
|
||||
case TFM_CREASE:
|
||||
return "Crease";
|
||||
case TFM_BONESIZE:
|
||||
return "Bone Width";
|
||||
case TFM_BONE_ENVELOPE:
|
||||
return "Bone Envelope";
|
||||
case TFM_TIME_TRANSLATE:
|
||||
return "Translate Anim. Data";
|
||||
case TFM_TIME_SCALE:
|
||||
return "Scale Anim. Data";
|
||||
case TFM_TIME_SLIDE:
|
||||
return "Time Slide";
|
||||
case TFM_BAKE_TIME:
|
||||
return "Key Time";
|
||||
case TFM_MIRROR:
|
||||
return "Mirror";
|
||||
}
|
||||
return "Transform";
|
||||
}
|
||||
#endif
|
||||
|
||||
/* ************************************************* */
|
||||
|
||||
/* NOTE: these defines are saved in keymap files, do not change values but just add new ones */
|
||||
@ -521,7 +472,7 @@ static char *transform_to_undostr(TransInfo *t)
|
||||
#define TFM_MODAL_REMOVE_SNAP 17
|
||||
|
||||
/* called in transform_ops.c, on each regeneration of keymaps */
|
||||
void transform_modal_keymap(wmKeyConfig *keyconf)
|
||||
wmKeyMap* transform_modal_keymap(wmKeyConfig *keyconf)
|
||||
{
|
||||
static EnumPropertyItem modal_items[] = {
|
||||
{TFM_MODAL_CANCEL, "CANCEL", 0, "Cancel", ""},
|
||||
@ -546,7 +497,7 @@ void transform_modal_keymap(wmKeyConfig *keyconf)
|
||||
wmKeyMap *keymap= WM_modalkeymap_get(keyconf, "Transform Modal Map");
|
||||
|
||||
/* this function is called for each spacetype, only needs to add map once */
|
||||
if(keymap) return;
|
||||
if(keymap) return NULL;
|
||||
|
||||
keymap= WM_modalkeymap_add(keyconf, "Transform Modal Map", modal_items);
|
||||
|
||||
@ -568,19 +519,7 @@ void transform_modal_keymap(wmKeyConfig *keyconf)
|
||||
WM_modalkeymap_add_item(keymap, AKEY, KM_PRESS, 0, 0, TFM_MODAL_ADD_SNAP);
|
||||
WM_modalkeymap_add_item(keymap, AKEY, KM_PRESS, KM_ALT, 0, TFM_MODAL_REMOVE_SNAP);
|
||||
|
||||
/* assign map to operators */
|
||||
WM_modalkeymap_assign(keymap, "TRANSFORM_OT_transform");
|
||||
WM_modalkeymap_assign(keymap, "TRANSFORM_OT_translate");
|
||||
WM_modalkeymap_assign(keymap, "TRANSFORM_OT_rotate");
|
||||
WM_modalkeymap_assign(keymap, "TRANSFORM_OT_tosphere");
|
||||
WM_modalkeymap_assign(keymap, "TRANSFORM_OT_resize");
|
||||
WM_modalkeymap_assign(keymap, "TRANSFORM_OT_shear");
|
||||
WM_modalkeymap_assign(keymap, "TRANSFORM_OT_warp");
|
||||
WM_modalkeymap_assign(keymap, "TRANSFORM_OT_shrink_fatten");
|
||||
WM_modalkeymap_assign(keymap, "TRANSFORM_OT_tilt");
|
||||
WM_modalkeymap_assign(keymap, "TRANSFORM_OT_trackball");
|
||||
WM_modalkeymap_assign(keymap, "TRANSFORM_OT_mirror");
|
||||
WM_modalkeymap_assign(keymap, "TRANSFORM_OT_edge_slide");
|
||||
return keymap;
|
||||
}
|
||||
|
||||
|
||||
@ -1620,6 +1559,9 @@ int initTransform(bContext *C, TransInfo *t, wmOperator *op, wmEvent *event, int
|
||||
case TFM_ALIGN:
|
||||
initAlign(t);
|
||||
break;
|
||||
case TFM_SEQ_SLIDE:
|
||||
initSeqSlide(t);
|
||||
break;
|
||||
}
|
||||
|
||||
/* overwrite initial values if operator supplied a non-null vector */
|
||||
@ -3290,11 +3232,11 @@ static void applyTranslation(TransInfo *t, float vec[3]) {
|
||||
/* uses t->vec to store actual translation in */
|
||||
int Translation(TransInfo *t, short mval[2])
|
||||
{
|
||||
float tvec[3];
|
||||
char str[250];
|
||||
|
||||
if (t->con.mode & CON_APPLY) {
|
||||
float pvec[3] = {0.0f, 0.0f, 0.0f};
|
||||
float tvec[3];
|
||||
applySnapping(t, t->values);
|
||||
t->con.applyVec(t, NULL, t->values, tvec, pvec);
|
||||
VECCOPY(t->values, tvec);
|
||||
@ -5018,6 +4960,90 @@ int Align(TransInfo *t, short mval[2])
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ************************** SEQ SLIDE *************************** */
|
||||
|
||||
void initSeqSlide(TransInfo *t)
|
||||
{
|
||||
t->transform = SeqSlide;
|
||||
|
||||
initMouseInputMode(t, &t->mouse, INPUT_VECTOR);
|
||||
|
||||
t->idx_max = 1;
|
||||
t->num.flag = 0;
|
||||
t->num.idx_max = t->idx_max;
|
||||
|
||||
t->ndof.axis = 1|2;
|
||||
|
||||
t->snap[0] = 0.0f;
|
||||
t->snap[1] = floor(t->scene->r.frs_sec / t->scene->r.frs_sec_base);
|
||||
t->snap[2] = 10.0f;
|
||||
}
|
||||
|
||||
static void headerSeqSlide(TransInfo *t, float val[2], char *str)
|
||||
{
|
||||
char tvec[60];
|
||||
|
||||
if (hasNumInput(&t->num)) {
|
||||
outputNumInput(&(t->num), tvec);
|
||||
}
|
||||
else {
|
||||
sprintf(&tvec[0], "%.0f, %.0f", val[0], val[1]);
|
||||
}
|
||||
|
||||
sprintf(str, "Sequence Slide: %s%s", &tvec[0], t->con.text);
|
||||
}
|
||||
|
||||
static void applySeqSlide(TransInfo *t, float val[2]) {
|
||||
TransData *td = t->data;
|
||||
int i;
|
||||
|
||||
for(i = 0 ; i < t->total; i++, td++) {
|
||||
float tvec[2];
|
||||
|
||||
if (td->flag & TD_NOACTION)
|
||||
break;
|
||||
|
||||
if (td->flag & TD_SKIP)
|
||||
continue;
|
||||
|
||||
copy_v2_v2(tvec, val);
|
||||
|
||||
mul_v2_fl(tvec, td->factor);
|
||||
|
||||
td->loc[0] = td->iloc[0] + tvec[0];
|
||||
td->loc[1] = td->iloc[1] + tvec[1];
|
||||
}
|
||||
}
|
||||
|
||||
int SeqSlide(TransInfo *t, short mval[2])
|
||||
{
|
||||
char str[200];
|
||||
|
||||
if (t->con.mode & CON_APPLY) {
|
||||
float pvec[3] = {0.0f, 0.0f, 0.0f};
|
||||
float tvec[3];
|
||||
t->con.applyVec(t, NULL, t->values, tvec, pvec);
|
||||
VECCOPY(t->values, tvec);
|
||||
}
|
||||
else {
|
||||
applyNDofInput(&t->ndof, t->values);
|
||||
snapGrid(t, t->values);
|
||||
applyNumInput(&t->num, t->values);
|
||||
}
|
||||
|
||||
t->values[0] = floor(t->values[0] + 0.5);
|
||||
t->values[1] = floor(t->values[1] + 0.5);
|
||||
|
||||
headerSeqSlide(t, t->values, str);
|
||||
applySeqSlide(t, t->values);
|
||||
|
||||
recalcData(t);
|
||||
|
||||
ED_area_headerprint(t->sa, str);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ************************** ANIM EDITORS - TRANSFORM TOOLS *************************** */
|
||||
|
||||
/* ---------------- Special Helpers for Various Settings ------------- */
|
||||
|
@ -53,6 +53,8 @@ struct BezTriple;
|
||||
struct wmOperatorType;
|
||||
struct wmOperator;
|
||||
struct wmWindowManager;
|
||||
struct wmKeyMap;
|
||||
struct wmKeyConfig;
|
||||
struct bContext;
|
||||
struct wmEvent;
|
||||
struct wmTimer;
|
||||
@ -522,9 +524,12 @@ int Mirror(TransInfo *t, short mval[2]);
|
||||
void initAlign(TransInfo *t);
|
||||
int Align(TransInfo *t, short mval[2]);
|
||||
|
||||
void initSeqSlide(TransInfo *t);
|
||||
int SeqSlide(TransInfo *t, short mval[2]);
|
||||
|
||||
void drawPropCircle(const struct bContext *C, TransInfo *t);
|
||||
|
||||
void transform_modal_keymap(struct wmKeyConfig *keyconf);
|
||||
struct wmKeyMap *transform_modal_keymap(struct wmKeyConfig *keyconf);
|
||||
|
||||
|
||||
/*********************** transform_conversions.c ********** */
|
||||
|
@ -51,6 +51,7 @@ typedef struct TransformModeItem
|
||||
{
|
||||
char *idname;
|
||||
int mode;
|
||||
void (*opfunc)(wmOperatorType*);
|
||||
} TransformModeItem;
|
||||
|
||||
static float VecOne[3] = {1, 1, 1};
|
||||
@ -66,21 +67,35 @@ char OP_TILT[] = "TRANSFORM_OT_tilt";
|
||||
char OP_TRACKBALL[] = "TRANSFORM_OT_trackball";
|
||||
char OP_MIRROR[] = "TRANSFORM_OT_mirror";
|
||||
char OP_EDGE_SLIDE[] = "TRANSFORM_OT_edge_slide";
|
||||
char OP_SEQ_SLIDE[] = "TRANSFORM_OT_seq_slide";
|
||||
|
||||
void TRANSFORM_OT_translate(struct wmOperatorType *ot);
|
||||
void TRANSFORM_OT_rotate(struct wmOperatorType *ot);
|
||||
void TRANSFORM_OT_tosphere(struct wmOperatorType *ot);
|
||||
void TRANSFORM_OT_resize(struct wmOperatorType *ot);
|
||||
void TRANSFORM_OT_shear(struct wmOperatorType *ot);
|
||||
void TRANSFORM_OT_warp(struct wmOperatorType *ot);
|
||||
void TRANSFORM_OT_shrink_fatten(struct wmOperatorType *ot);
|
||||
void TRANSFORM_OT_tilt(struct wmOperatorType *ot);
|
||||
void TRANSFORM_OT_trackball(struct wmOperatorType *ot);
|
||||
void TRANSFORM_OT_mirror(struct wmOperatorType *ot);
|
||||
void TRANSFORM_OT_edge_slide(struct wmOperatorType *ot);
|
||||
void TRANSFORM_OT_seq_slide(struct wmOperatorType *ot);
|
||||
|
||||
TransformModeItem transform_modes[] =
|
||||
{
|
||||
{OP_TRANSLATION, TFM_TRANSLATION},
|
||||
{OP_ROTATION, TFM_ROTATION},
|
||||
{OP_TOSPHERE, TFM_TOSPHERE},
|
||||
{OP_RESIZE, TFM_RESIZE},
|
||||
{OP_SHEAR, TFM_SHEAR},
|
||||
{OP_WARP, TFM_WARP},
|
||||
{OP_SHRINK_FATTEN, TFM_SHRINKFATTEN},
|
||||
{OP_TILT, TFM_TILT},
|
||||
{OP_TRACKBALL, TFM_TRACKBALL},
|
||||
{OP_MIRROR, TFM_MIRROR},
|
||||
{OP_EDGE_SLIDE, TFM_EDGE_SLIDE},
|
||||
{OP_TRANSLATION, TFM_TRANSLATION, TRANSFORM_OT_translate},
|
||||
{OP_ROTATION, TFM_ROTATION, TRANSFORM_OT_rotate},
|
||||
{OP_TOSPHERE, TFM_TOSPHERE, TRANSFORM_OT_tosphere},
|
||||
{OP_RESIZE, TFM_RESIZE, TRANSFORM_OT_resize},
|
||||
{OP_SHEAR, TFM_SHEAR, TRANSFORM_OT_shear},
|
||||
{OP_WARP, TFM_WARP, TRANSFORM_OT_warp},
|
||||
{OP_SHRINK_FATTEN, TFM_SHRINKFATTEN, TRANSFORM_OT_shrink_fatten},
|
||||
{OP_TILT, TFM_TILT, TRANSFORM_OT_tilt},
|
||||
{OP_TRACKBALL, TFM_TRACKBALL, TRANSFORM_OT_trackball},
|
||||
{OP_MIRROR, TFM_MIRROR, TRANSFORM_OT_mirror},
|
||||
{OP_EDGE_SLIDE, TFM_EDGE_SLIDE, TRANSFORM_OT_edge_slide},
|
||||
{OP_SEQ_SLIDE, TFM_SEQ_SLIDE, TRANSFORM_OT_seq_slide},
|
||||
{NULL, 0}
|
||||
};
|
||||
|
||||
@ -671,6 +686,26 @@ void TRANSFORM_OT_edge_slide(struct wmOperatorType *ot)
|
||||
Properties_Snapping(ot, 0, 0);
|
||||
}
|
||||
|
||||
void TRANSFORM_OT_seq_slide(struct wmOperatorType *ot)
|
||||
{
|
||||
/* identifiers */
|
||||
ot->name = "Sequence Slide";
|
||||
ot->description= "Slide a sequence strip in time.";
|
||||
ot->idname = OP_SEQ_SLIDE;
|
||||
ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
|
||||
|
||||
/* api callbacks */
|
||||
ot->invoke = transform_invoke;
|
||||
ot->exec = transform_exec;
|
||||
ot->modal = transform_modal;
|
||||
ot->cancel = transform_cancel;
|
||||
ot->poll = ED_operator_sequencer_active;
|
||||
|
||||
RNA_def_float_vector(ot->srna, "value", 2, VecOne, -FLT_MAX, FLT_MAX, "angle", "", -FLT_MAX, FLT_MAX);
|
||||
|
||||
Properties_Snapping(ot, 0, 0);
|
||||
}
|
||||
|
||||
void TRANSFORM_OT_transform(struct wmOperatorType *ot)
|
||||
{
|
||||
static EnumPropertyItem transform_mode_types[] = {
|
||||
@ -701,6 +736,7 @@ void TRANSFORM_OT_transform(struct wmOperatorType *ot)
|
||||
{TFM_BWEIGHT, "BWEIGHT", 0, "Bweight", ""},
|
||||
{TFM_ALIGN, "ALIGN", 0, "Align", ""},
|
||||
{TFM_EDGE_SLIDE, "EDGESLIDE", 0, "Edge Slide", ""},
|
||||
{TFM_SEQ_SLIDE, "SEQSLIDE", 0, "Sequence Slide", ""},
|
||||
{0, NULL, 0, NULL, NULL}
|
||||
};
|
||||
|
||||
@ -729,18 +765,14 @@ void TRANSFORM_OT_transform(struct wmOperatorType *ot)
|
||||
|
||||
void transform_operatortypes(void)
|
||||
{
|
||||
TransformModeItem *tmode;
|
||||
|
||||
for (tmode = transform_modes; tmode->idname; tmode++)
|
||||
{
|
||||
WM_operatortype_append(tmode->opfunc);
|
||||
}
|
||||
|
||||
WM_operatortype_append(TRANSFORM_OT_transform);
|
||||
WM_operatortype_append(TRANSFORM_OT_translate);
|
||||
WM_operatortype_append(TRANSFORM_OT_rotate);
|
||||
WM_operatortype_append(TRANSFORM_OT_tosphere);
|
||||
WM_operatortype_append(TRANSFORM_OT_resize);
|
||||
WM_operatortype_append(TRANSFORM_OT_shear);
|
||||
WM_operatortype_append(TRANSFORM_OT_warp);
|
||||
WM_operatortype_append(TRANSFORM_OT_shrink_fatten);
|
||||
WM_operatortype_append(TRANSFORM_OT_tilt);
|
||||
WM_operatortype_append(TRANSFORM_OT_trackball);
|
||||
WM_operatortype_append(TRANSFORM_OT_mirror);
|
||||
WM_operatortype_append(TRANSFORM_OT_edge_slide);
|
||||
|
||||
WM_operatortype_append(TRANSFORM_OT_select_orientation);
|
||||
WM_operatortype_append(TRANSFORM_OT_create_orientation);
|
||||
@ -749,36 +781,48 @@ void transform_operatortypes(void)
|
||||
WM_operatortype_append(TRANSFORM_OT_snap_type);
|
||||
}
|
||||
|
||||
void transform_keymap_for_space(struct wmKeyConfig *keyconf, struct wmKeyMap *keymap, int spaceid)
|
||||
void transform_keymap_for_space(wmKeyConfig *keyconf, wmKeyMap *keymap, int spaceid)
|
||||
{
|
||||
wmKeyMapItem *km;
|
||||
wmKeyMap *modalmap;
|
||||
|
||||
/* transform.c, only adds modal map once, checks if it's there */
|
||||
transform_modal_keymap(keyconf);
|
||||
modalmap = transform_modal_keymap(keyconf);
|
||||
|
||||
/* assign map to operators only the first time */
|
||||
if (modalmap) {
|
||||
TransformModeItem *tmode;
|
||||
|
||||
for (tmode = transform_modes; tmode->idname; tmode++)
|
||||
{
|
||||
WM_modalkeymap_assign(modalmap, tmode->idname);
|
||||
}
|
||||
WM_modalkeymap_assign(modalmap, "TRANSFORM_OT_transform");
|
||||
}
|
||||
|
||||
switch(spaceid)
|
||||
{
|
||||
case SPACE_VIEW3D:
|
||||
km = WM_keymap_add_item(keymap, "TRANSFORM_OT_translate", GKEY, KM_PRESS, 0, 0);
|
||||
km = WM_keymap_add_item(keymap, OP_TRANSLATION, GKEY, KM_PRESS, 0, 0);
|
||||
|
||||
km= WM_keymap_add_item(keymap, "TRANSFORM_OT_translate", EVT_TWEAK_S, KM_ANY, 0, 0);
|
||||
km= WM_keymap_add_item(keymap, OP_TRANSLATION, EVT_TWEAK_S, KM_ANY, 0, 0);
|
||||
|
||||
km = WM_keymap_add_item(keymap, "TRANSFORM_OT_rotate", RKEY, KM_PRESS, 0, 0);
|
||||
km = WM_keymap_add_item(keymap, OP_ROTATION, RKEY, KM_PRESS, 0, 0);
|
||||
|
||||
km = WM_keymap_add_item(keymap, "TRANSFORM_OT_resize", SKEY, KM_PRESS, 0, 0);
|
||||
km = WM_keymap_add_item(keymap, OP_RESIZE, SKEY, KM_PRESS, 0, 0);
|
||||
|
||||
km = WM_keymap_add_item(keymap, "TRANSFORM_OT_warp", WKEY, KM_PRESS, KM_SHIFT, 0);
|
||||
km = WM_keymap_add_item(keymap, OP_WARP, WKEY, KM_PRESS, KM_SHIFT, 0);
|
||||
|
||||
km = WM_keymap_add_item(keymap, "TRANSFORM_OT_tosphere", SKEY, KM_PRESS, KM_ALT|KM_SHIFT, 0);
|
||||
km = WM_keymap_add_item(keymap, OP_TOSPHERE, SKEY, KM_PRESS, KM_ALT|KM_SHIFT, 0);
|
||||
|
||||
km = WM_keymap_add_item(keymap, "TRANSFORM_OT_shear", SKEY, KM_PRESS, KM_ALT|KM_CTRL|KM_SHIFT, 0);
|
||||
km = WM_keymap_add_item(keymap, OP_SHEAR, SKEY, KM_PRESS, KM_ALT|KM_CTRL|KM_SHIFT, 0);
|
||||
|
||||
km = WM_keymap_add_item(keymap, "TRANSFORM_OT_select_orientation", SPACEKEY, KM_PRESS, KM_ALT, 0);
|
||||
|
||||
km = WM_keymap_add_item(keymap, "TRANSFORM_OT_create_orientation", SPACEKEY, KM_PRESS, KM_CTRL|KM_ALT, 0);
|
||||
RNA_boolean_set(km->ptr, "use", 1);
|
||||
|
||||
km = WM_keymap_add_item(keymap, "TRANSFORM_OT_mirror", MKEY, KM_PRESS, KM_CTRL, 0);
|
||||
km = WM_keymap_add_item(keymap, OP_MIRROR, MKEY, KM_PRESS, KM_CTRL, 0);
|
||||
|
||||
km = WM_keymap_add_item(keymap, "WM_OT_context_toggle", TABKEY, KM_PRESS, KM_SHIFT, 0);
|
||||
RNA_string_set(km->ptr, "path", "scene.tool_settings.snap");
|
||||
@ -803,17 +847,17 @@ void transform_keymap_for_space(struct wmKeyConfig *keyconf, struct wmKeyMap *ke
|
||||
RNA_int_set(km->ptr, "mode", TFM_TIME_SLIDE);
|
||||
break;
|
||||
case SPACE_IPO:
|
||||
km= WM_keymap_add_item(keymap, "TRANSFORM_OT_translate", GKEY, KM_PRESS, 0, 0);
|
||||
km= WM_keymap_add_item(keymap, OP_TRANSLATION, GKEY, KM_PRESS, 0, 0);
|
||||
|
||||
km= WM_keymap_add_item(keymap, "TRANSFORM_OT_translate", EVT_TWEAK_S, KM_ANY, 0, 0);
|
||||
km= WM_keymap_add_item(keymap, OP_TRANSLATION, EVT_TWEAK_S, KM_ANY, 0, 0);
|
||||
|
||||
// XXX the 'mode' identifier here is not quite right
|
||||
km= WM_keymap_add_item(keymap, "TRANSFORM_OT_transform", EKEY, KM_PRESS, 0, 0);
|
||||
RNA_int_set(km->ptr, "mode", TFM_TIME_EXTEND);
|
||||
|
||||
km = WM_keymap_add_item(keymap, "TRANSFORM_OT_rotate", RKEY, KM_PRESS, 0, 0);
|
||||
km = WM_keymap_add_item(keymap, OP_ROTATION, RKEY, KM_PRESS, 0, 0);
|
||||
|
||||
km = WM_keymap_add_item(keymap, "TRANSFORM_OT_resize", SKEY, KM_PRESS, 0, 0);
|
||||
km = WM_keymap_add_item(keymap, OP_RESIZE, SKEY, KM_PRESS, 0, 0);
|
||||
break;
|
||||
case SPACE_NLA:
|
||||
km= WM_keymap_add_item(keymap, "TRANSFORM_OT_transform", GKEY, KM_PRESS, 0, 0);
|
||||
@ -829,31 +873,31 @@ void transform_keymap_for_space(struct wmKeyConfig *keyconf, struct wmKeyMap *ke
|
||||
RNA_int_set(km->ptr, "mode", TFM_TIME_SCALE);
|
||||
break;
|
||||
case SPACE_NODE:
|
||||
km= WM_keymap_add_item(keymap, "TRANSFORM_OT_translate", GKEY, KM_PRESS, 0, 0);
|
||||
km= WM_keymap_add_item(keymap, OP_TRANSLATION, GKEY, KM_PRESS, 0, 0);
|
||||
|
||||
km= WM_keymap_add_item(keymap, "TRANSFORM_OT_translate", EVT_TWEAK_A, KM_ANY, 0, 0);
|
||||
km= WM_keymap_add_item(keymap, "TRANSFORM_OT_translate", EVT_TWEAK_S, KM_ANY, 0, 0);
|
||||
km= WM_keymap_add_item(keymap, OP_TRANSLATION, EVT_TWEAK_A, KM_ANY, 0, 0);
|
||||
km= WM_keymap_add_item(keymap, OP_TRANSLATION, EVT_TWEAK_S, KM_ANY, 0, 0);
|
||||
|
||||
km = WM_keymap_add_item(keymap, "TRANSFORM_OT_rotate", RKEY, KM_PRESS, 0, 0);
|
||||
km = WM_keymap_add_item(keymap, OP_ROTATION, RKEY, KM_PRESS, 0, 0);
|
||||
|
||||
km = WM_keymap_add_item(keymap, "TRANSFORM_OT_resize", SKEY, KM_PRESS, 0, 0);
|
||||
km = WM_keymap_add_item(keymap, OP_RESIZE, SKEY, KM_PRESS, 0, 0);
|
||||
break;
|
||||
case SPACE_SEQ:
|
||||
km= WM_keymap_add_item(keymap, "TRANSFORM_OT_translate", GKEY, KM_PRESS, 0, 0);
|
||||
km= WM_keymap_add_item(keymap, OP_SEQ_SLIDE, GKEY, KM_PRESS, 0, 0);
|
||||
|
||||
km= WM_keymap_add_item(keymap, "TRANSFORM_OT_translate", EVT_TWEAK_S, KM_ANY, 0, 0);
|
||||
km= WM_keymap_add_item(keymap, OP_SEQ_SLIDE, EVT_TWEAK_S, KM_ANY, 0, 0);
|
||||
|
||||
km= WM_keymap_add_item(keymap, "TRANSFORM_OT_transform", EKEY, KM_PRESS, 0, 0);
|
||||
RNA_int_set(km->ptr, "mode", TFM_TIME_EXTEND);
|
||||
break;
|
||||
case SPACE_IMAGE:
|
||||
km = WM_keymap_add_item(keymap, "TRANSFORM_OT_translate", GKEY, KM_PRESS, 0, 0);
|
||||
km = WM_keymap_add_item(keymap, OP_TRANSLATION, GKEY, KM_PRESS, 0, 0);
|
||||
|
||||
km= WM_keymap_add_item(keymap, "TRANSFORM_OT_translate", EVT_TWEAK_S, KM_ANY, 0, 0);
|
||||
km= WM_keymap_add_item(keymap, OP_TRANSLATION, EVT_TWEAK_S, KM_ANY, 0, 0);
|
||||
|
||||
km = WM_keymap_add_item(keymap, "TRANSFORM_OT_rotate", RKEY, KM_PRESS, 0, 0);
|
||||
km = WM_keymap_add_item(keymap, OP_ROTATION, RKEY, KM_PRESS, 0, 0);
|
||||
|
||||
km = WM_keymap_add_item(keymap, "TRANSFORM_OT_resize", SKEY, KM_PRESS, 0, 0);
|
||||
km = WM_keymap_add_item(keymap, OP_RESIZE, SKEY, KM_PRESS, 0, 0);
|
||||
|
||||
km = WM_keymap_add_item(keymap, "TRANSFORM_OT_mirror", MKEY, KM_PRESS, KM_CTRL, 0);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user