From 4a372102c708ee5a53af5b70a4efec30f2d87b6f Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 7 Jan 2014 17:04:19 +1100 Subject: Text3d: move text selection boxes from Curve to EditFont struct resolves T38079 --- source/blender/editors/space_view3d/drawobject.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'source/blender/editors/space_view3d') diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index 93106ea9161..f34eb6a763f 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -6815,7 +6815,9 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, const short case OB_FONT: cu = ob->data; if (cu->editfont) { - draw_textcurs(rv3d, cu->editfont->textcurs); + EditFont *ef = cu->editfont; + + draw_textcurs(rv3d, ef->textcurs); if (cu->flag & CU_FAST) { cpack(0xFFFFFF); @@ -6866,18 +6868,19 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, const short setlinestyle(0); - if (BKE_vfont_select_get(ob, &selstart, &selend) && cu->selboxes) { + if (BKE_vfont_select_get(ob, &selstart, &selend) && ef->selboxes) { + const int seltot = selend - selstart; float selboxw; cpack(0xffffff); set_inverted_drawing(1); - for (i = 0; i <= (selend - selstart); i++) { - SelBox *sb = &(cu->selboxes[i]); + for (i = 0; i <= seltot; i++) { + EditFontSelBox *sb = &ef->selboxes[i]; float tvec[3]; - if (i < (selend - selstart)) { - if (cu->selboxes[i + 1].y == sb->y) - selboxw = cu->selboxes[i + 1].x - sb->x; + if (i != seltot) { + if (ef->selboxes[i + 1].y == sb->y) + selboxw = ef->selboxes[i + 1].x - sb->x; else selboxw = sb->w; } -- cgit v1.2.3