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:
Diffstat (limited to 'source/blender/editors/transform/transform_generics.c')
-rw-r--r--source/blender/editors/transform/transform_generics.c41
1 files changed, 22 insertions, 19 deletions
diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c
index 490a2a83da3..0a0b6e6f07a 100644
--- a/source/blender/editors/transform/transform_generics.c
+++ b/source/blender/editors/transform/transform_generics.c
@@ -85,9 +85,11 @@
#include "ED_anim_api.h"
#include "ED_armature.h"
-#include "ED_view3d.h"
+#include "ED_image.h"
#include "ED_mesh.h"
#include "ED_space_api.h"
+#include "ED_uvedit.h"
+#include "ED_view3d.h"
//#include "BDR_unwrapper.h"
@@ -446,10 +448,13 @@ void recalcData(TransInfo *t)
else if (t->obedit) {
if (t->obedit->type == OB_MESH) {
if(t->spacetype==SPACE_IMAGE) {
+ SpaceImage *sima= t->sa->spacedata.first;
+
flushTransUVs(t);
- /* TRANSFORM_FIX_ME */
-// if (G.sima->flag & SI_LIVE_UNWRAP)
-// unwrap_lscm_live_re_solve();
+ if(sima->flag & SI_LIVE_UNWRAP)
+ ED_uvedit_live_unwrap_re_solve();
+
+ DAG_object_flush_update(t->scene, t->obedit, OB_RECALC_DATA);
} else {
EditMesh *em = ((Mesh*)t->obedit->data)->edit_mesh;
/* mirror modifier clipping? */
@@ -728,11 +733,9 @@ void initTransInfo (bContext *C, TransInfo *t, wmEvent *event)
}
else if(t->spacetype==SPACE_IMAGE || t->spacetype==SPACE_NODE)
{
- View2D *v2d = sa->spacedata.first; // XXX no!
-
- t->view = v2d;
-
- t->around = v2d->around;
+ // XXX for now, get View2D from the active region
+ t->view = &ar->v2d;
+ t->around = ar->v2d.around;
}
else
{
@@ -776,10 +779,9 @@ void postTrans (TransInfo *t)
}
if(t->spacetype==SPACE_IMAGE) {
-#if 0 // TRANSFORM_FIX_ME
- if (G.sima->flag & SI_LIVE_UNWRAP)
- unwrap_lscm_live_end(t->state == TRANS_CANCEL);
-#endif
+ SpaceImage *sima= t->sa->spacedata.first;
+ if(sima->flag & SI_LIVE_UNWRAP)
+ ED_uvedit_live_unwrap_end(t->state == TRANS_CANCEL);
}
else if(t->spacetype==SPACE_ACTION) {
if (t->customData)
@@ -908,16 +910,17 @@ void calculateCenterCursor(TransInfo *t)
void calculateCenterCursor2D(TransInfo *t)
{
-#if 0 // TRANSFORM_FIX_ME
+ View2D *v2d= t->view;
float aspx=1.0, aspy=1.0;
if(t->spacetype==SPACE_IMAGE) /* only space supported right now but may change */
- transform_aspect_ratio_tface_uv(&aspx, &aspy);
- if (G.v2d) {
- t->center[0] = G.v2d->cursor[0] * aspx;
- t->center[1] = G.v2d->cursor[1] * aspy;
+ ED_space_image_uv_aspect(t->sa->spacedata.first, &aspx, &aspy);
+
+ if (v2d) {
+ t->center[0] = v2d->cursor[0] * aspx;
+ t->center[1] = v2d->cursor[1] * aspy;
}
-#endif
+
calculateCenter2D(t);
}