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:
authorTon Roosendaal <ton@blender.org>2011-01-05 20:27:26 +0300
committerTon Roosendaal <ton@blender.org>2011-01-05 20:27:26 +0300
commit37931a6b1a9931c8eeb8a7dcd3ea79ed50a86064 (patch)
tree2c354594754438412c27fc9b604d4a9457fdb045 /source/blender/editors/transform
parent91d352024b8fd6eb21e73db2c3893f732f41ebde (diff)
Todo item: brought transform texture space back.
Code changes are minimal, re-using the code as already was there. Options are in pulldown menu, or SHIFT+T and SHIFT+ALT+T Might be that Martin likes to see it different... do we need a special operatortype for it?
Diffstat (limited to 'source/blender/editors/transform')
-rw-r--r--source/blender/editors/transform/transform.c3
-rw-r--r--source/blender/editors/transform/transform_conversions.c1
-rw-r--r--source/blender/editors/transform/transform_ops.c16
3 files changed, 18 insertions, 2 deletions
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c
index 7d32ee69a5e..2b1746f0e96 100644
--- a/source/blender/editors/transform/transform.c
+++ b/source/blender/editors/transform/transform.c
@@ -1499,6 +1499,9 @@ int initTransform(bContext *C, TransInfo *t, wmOperator *op, wmEvent *event, int
t->state = TRANS_STARTING;
+ if(RNA_boolean_get(op->ptr, "texture_space"))
+ options |= CTX_TEXTURE;
+
t->options = options;
t->mode = mode;
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c
index df267254d8f..333f0731289 100644
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@ -268,6 +268,7 @@ static void createTransTexspace(TransInfo *t)
invert_m3_m3(td->smtx, td->mtx);
if (give_obdata_texspace(ob, &texflag, &td->loc, &td->ext->size, &td->ext->rot)) {
+ ob->dtx |= OB_TEXSPACE;
*texflag &= ~AUTOSPACE;
}
diff --git a/source/blender/editors/transform/transform_ops.c b/source/blender/editors/transform/transform_ops.c
index 322bb7cb7db..1854e05b574 100644
--- a/source/blender/editors/transform/transform_ops.c
+++ b/source/blender/editors/transform/transform_ops.c
@@ -444,6 +444,11 @@ void Transform_Properties(struct wmOperatorType *ot, int flags)
}
}
}
+
+ if (flags & P_OPTIONS)
+ {
+ RNA_def_boolean(ot->srna, "texture_space", 0, "Edit Object data texture space", "");
+ }
// Add confirm method all the time. At the end because it's not really that important and should be hidden only in log, not in keymap edit
prop = RNA_def_boolean(ot->srna, "release_confirm", 0, "Confirm on Release", "Always confirm operation when releasing button");
@@ -467,7 +472,7 @@ void TRANSFORM_OT_translate(struct wmOperatorType *ot)
RNA_def_float_vector_xyz(ot->srna, "value", 3, NULL, -FLT_MAX, FLT_MAX, "Vector", "", -FLT_MAX, FLT_MAX);
- Transform_Properties(ot, P_CONSTRAINT|P_PROPORTIONAL|P_MIRROR|P_ALIGN_SNAP);
+ Transform_Properties(ot, P_CONSTRAINT|P_PROPORTIONAL|P_MIRROR|P_ALIGN_SNAP|P_OPTIONS);
}
void TRANSFORM_OT_resize(struct wmOperatorType *ot)
@@ -487,7 +492,7 @@ void TRANSFORM_OT_resize(struct wmOperatorType *ot)
RNA_def_float_vector(ot->srna, "value", 3, VecOne, -FLT_MAX, FLT_MAX, "Vector", "", -FLT_MAX, FLT_MAX);
- Transform_Properties(ot, P_CONSTRAINT|P_PROPORTIONAL|P_MIRROR|P_GEO_SNAP);
+ Transform_Properties(ot, P_CONSTRAINT|P_PROPORTIONAL|P_MIRROR|P_GEO_SNAP|P_OPTIONS);
}
@@ -854,6 +859,13 @@ void transform_keymap_for_space(wmKeyConfig *keyconf, wmKeyMap *keymap, int spac
RNA_string_set(km->ptr, "data_path", "tool_settings.use_snap");
km = WM_keymap_add_item(keymap, "TRANSFORM_OT_snap_type", TABKEY, KM_PRESS, KM_SHIFT|KM_CTRL, 0);
+
+ km = WM_keymap_add_item(keymap, OP_TRANSLATION, TKEY, KM_PRESS, KM_SHIFT, 0);
+ RNA_boolean_set(km->ptr, "texture_space", 1);
+
+ km = WM_keymap_add_item(keymap, OP_RESIZE, TKEY, KM_PRESS, KM_SHIFT|KM_ALT, 0);
+ RNA_boolean_set(km->ptr, "texture_space", 1);
+
break;
case SPACE_ACTION: