Merging r38951 through r38987 from trunk into soc-2011-tomato
[blender.git] / source / blender / editors / transform / transform_ops.c
index e4ca1cfb90a947c681a60f909c30eb74d0c2f604..a6c8d1fd82d2016b1be475f1ad278c4a2ba7ed27 100644 (file)
@@ -360,11 +360,17 @@ static int transform_modal(bContext *C, wmOperator *op, wmEvent *event)
 
        TransInfo *t = op->customdata;
 
 
        TransInfo *t = op->customdata;
 
+       #if 0
+       // stable 2D mouse coords map to different 3D coords while the 3D mouse is active
+       // in other words, 2D deltas are no longer good enough!
+       // disable until individual 'transformers' behave better
+
        if (event->type == NDOF_MOTION)
        {
                /* puts("transform_modal: passing through NDOF_MOTION"); */
                return OPERATOR_PASS_THROUGH;
        }
        if (event->type == NDOF_MOTION)
        {
                /* puts("transform_modal: passing through NDOF_MOTION"); */
                return OPERATOR_PASS_THROUGH;
        }
+       #endif
 
        /* XXX insert keys are called here, and require context */
        t->context= C;
 
        /* XXX insert keys are called here, and require context */
        t->context= C;
@@ -502,6 +508,11 @@ void Transform_Properties(struct wmOperatorType *ot, int flags)
                RNA_def_boolean(ot->srna, "texture_space", 0, "Edit Object data texture space", "");
        }
 
                RNA_def_boolean(ot->srna, "texture_space", 0, "Edit Object data texture space", "");
        }
 
+       if (flags & P_CORRECT_UV)
+       {
+               RNA_def_boolean(ot->srna, "correct_uv", 0, "Correct UV coords when transforming", "");
+       }
+
        // 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");
        //RNA_def_property_flag(prop, PROP_HIDDEN);
        // 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");
        //RNA_def_property_flag(prop, PROP_HIDDEN);
@@ -749,7 +760,7 @@ void TRANSFORM_OT_edge_slide(struct wmOperatorType *ot)
 
        RNA_def_float_factor(ot->srna, "value", 0, -1.0f, 1.0f, "Factor", "", -1.0f, 1.0f);
 
 
        RNA_def_float_factor(ot->srna, "value", 0, -1.0f, 1.0f, "Factor", "", -1.0f, 1.0f);
 
-       Transform_Properties(ot, P_MIRROR|P_SNAP);
+       Transform_Properties(ot, P_MIRROR|P_SNAP|P_CORRECT_UV);
 }
 
 void TRANSFORM_OT_edge_crease(struct wmOperatorType *ot)
 }
 
 void TRANSFORM_OT_edge_crease(struct wmOperatorType *ot)