diff options
author | Ton Roosendaal <ton@blender.org> | 2009-01-23 17:43:25 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2009-01-23 17:43:25 +0300 |
commit | 66437a62a73966de8ccb673473ba69d6c1ed66a3 (patch) | |
tree | 6b200663643b67dea804e8b9805abf128a010493 /source/blender/editors/space_view3d/drawobject.c | |
parent | f4133b730c93f6db985b6751d18b72ea7f429c34 (diff) |
2.5
Font object + editing back.
Was quite some work due to a myriad of globals all over!
Works nicely 100% local now.
To enable a single textedit operator, I've added a new
keymap entry KM_TEXTEDIT, which gives all keyboard events
to the handler. Also had to add a new keymap-add function
to force a keymap handler in beginning of region handlers.
In future this can be used to prioritize handlers.
Also: split off the arrow keys (frame change) to a separate
region level handler. Can be set with default flag in
regiontype->keymapflag ED_KEYMAP_FRAMES
Diffstat (limited to 'source/blender/editors/space_view3d/drawobject.c')
-rw-r--r-- | source/blender/editors/space_view3d/drawobject.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index ad9de1453f5..fee766ee3ff 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -4053,16 +4053,16 @@ static void curve_draw_speed(Scene *scene, Object *ob) } -static void tekentextcurs(void) +static void draw_textcurs(float textcurs[][2]) { cpack(0); set_inverted_drawing(1); glBegin(GL_QUADS); - glVertex2fv(G.textcurs[0]); - glVertex2fv(G.textcurs[1]); - glVertex2fv(G.textcurs[2]); - glVertex2fv(G.textcurs[3]); + glVertex2fv(textcurs[0]); + glVertex2fv(textcurs[1]); + glVertex2fv(textcurs[2]); + glVertex2fv(textcurs[3]); glEnd(); set_inverted_drawing(0); } @@ -4932,8 +4932,8 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag) case OB_FONT: cu= ob->data; if (cu->disp.first==NULL) makeDispListCurveTypes(scene, ob, 0); - if(cu->editstr) { - tekentextcurs(); + if(cu->editfont) { + draw_textcurs(cu->editfont->textcurs); if (cu->flag & CU_FAST) { cpack(0xFFFFFF); @@ -4987,17 +4987,17 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag) setlinestyle(0); - if (getselection(ob, &selstart, &selend) && selboxes) { + if (BKE_font_getselection(ob, &selstart, &selend) && cu->selboxes) { float selboxw; cpack(0xffffff); set_inverted_drawing(1); for (i=0; i<(selend-selstart+1); i++) { - SelBox *sb = &(selboxes[i]); + SelBox *sb = &(cu->selboxes[i]); if (i<(selend-selstart)) { - if (selboxes[i+1].y == sb->y) - selboxw= selboxes[i+1].x - sb->x; + if (cu->selboxes[i+1].y == sb->y) + selboxw= cu->selboxes[i+1].x - sb->x; else selboxw= sb->w; } |