From 3210dfe7696aade08d14d98a22b4a8b1c3240ccf Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 12 May 2014 11:19:55 +1000 Subject: Fix for rotate-around-selection in text-edit mode This wasn't supported and would print an error message. --- source/blender/editors/space_view3d/view3d_edit.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c index 8121a1be380..c3952821dbd 100644 --- a/source/blender/editors/space_view3d/view3d_edit.c +++ b/source/blender/editors/space_view3d/view3d_edit.c @@ -35,6 +35,7 @@ #include #include "DNA_armature_types.h" +#include "DNA_curve_types.h" #include "DNA_object_types.h" #include "DNA_scene_types.h" #include "DNA_camera_types.h" @@ -47,6 +48,7 @@ #include "BKE_camera.h" #include "BKE_context.h" +#include "BKE_font.h" #include "BKE_image.h" #include "BKE_library.h" #include "BKE_object.h" @@ -564,6 +566,21 @@ static bool view3d_orbit_calc_center(bContext *C, float r_dyn_ofs[3]) } is_set = true; } + else if (ob && (ob->mode & OB_MODE_EDIT) && (ob->type == OB_FONT)) { + Curve *cu = ob->data; + EditFont *ef = cu->editfont; + int i; + + zero_v3(lastofs); + for (i = 0; i < 4; i++) { + add_v2_v2(lastofs, ef->textcurs[i]); + } + mul_v2_fl(lastofs, 1.0f / 4.0f); + + mul_m4_v3(ob->obmat, lastofs); + + is_set = true; + } else { /* If there's no selection, lastofs is unmodified and last value since static */ is_set = calculateTransformCenter(C, V3D_CENTROID, lastofs, NULL); -- cgit v1.2.3