[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [21546] branches/blender2.5/blender/source /blender: made text editor margin work with different font sizes.
Campbell Barton
ideasman42 at gmail.com
Sun Jul 12 09:37:26 CEST 2009
Revision: 21546
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21546
Author: campbellbarton
Date: 2009-07-12 09:37:25 +0200 (Sun, 12 Jul 2009)
Log Message:
-----------
made text editor margin work with different font sizes.
also made it draw the width needed, was fixed at 4.
Modified Paths:
--------------
branches/blender2.5/blender/source/blender/editors/space_text/text_draw.c
branches/blender2.5/blender/source/blender/editors/space_text/text_intern.h
branches/blender2.5/blender/source/blender/makesdna/DNA_space_types.h
Modified: branches/blender2.5/blender/source/blender/editors/space_text/text_draw.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_text/text_draw.c 2009-07-12 07:28:25 UTC (rev 21545)
+++ branches/blender2.5/blender/source/blender/editors/space_text/text_draw.c 2009-07-12 07:37:25 UTC (rev 21546)
@@ -1300,25 +1300,30 @@
linecount++;
}
+ text_font_begin(st);
+ st->cwidth= BLF_fixed_width();
+ st->cwidth= MAX2(st->cwidth, 1);
+
/* draw line numbers background */
if(st->showlinenrs) {
+ st->linenrs_tot = (int)floor(log10((float)(linecount + st->viewlines))) + 1;
+ x= TXT_OFFSET + TEXTXLOC;
+
UI_ThemeColor(TH_GRID);
- glRecti(23, 0, (st->lheight==15)? 63: 59, ar->winy - 2);
+ glRecti((TXT_OFFSET-12), 0, (TXT_OFFSET-5) + TEXTXLOC, ar->winy - 2);
}
+ else {
+ st->linenrs_tot= 0; /* not used */
+ x= TXT_OFFSET;
+ }
+ y= ar->winy-st->lheight;
- text_font_begin(st);
- st->cwidth= BLF_fixed_width();
- st->cwidth= MAX2(st->cwidth, 1);
-
/* draw cursor */
draw_cursor(st, ar);
/* draw the text */
UI_ThemeColor(TH_TEXT);
- y= ar->winy-st->lheight;
- x= (st->showlinenrs)? TXT_OFFSET + TEXTXLOC: TXT_OFFSET;
-
for(i=0; y>0 && i<st->viewlines && tmp; i++, tmp= tmp->next) {
if(st->showsyntax && !tmp->format)
txt_format_line(st, tmp, 0);
@@ -1330,14 +1335,8 @@
else
UI_ThemeColor(TH_TEXT);
- if(((float)(i + linecount + 1)/10000.0) < 1.0) {
- sprintf(linenr, "%4d", i + linecount + 1);
- text_font_draw(st, TXT_OFFSET - 7, y, linenr);
- }
- else {
- sprintf(linenr, "%5d", i + linecount + 1);
- text_font_draw(st, TXT_OFFSET - 11, y, linenr);
- }
+ sprintf(linenr, "%d", i + linecount + 1);
+ text_font_draw(st, TXT_OFFSET - 7, y, linenr);
UI_ThemeColor(TH_TEXT);
}
Modified: branches/blender2.5/blender/source/blender/editors/space_text/text_intern.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_text/text_intern.h 2009-07-12 07:28:25 UTC (rev 21545)
+++ branches/blender2.5/blender/source/blender/editors/space_text/text_intern.h 2009-07-12 07:37:25 UTC (rev 21546)
@@ -58,7 +58,7 @@
void text_update_character_width(struct SpaceText *st);
void text_update_cursor_moved(struct SpaceText *st, struct ARegion *ar);
-#define TEXTXLOC 38
+#define TEXTXLOC (st->cwidth * st->linenrs_tot)
#define SUGG_LIST_SIZE 7
#define SUGG_LIST_WIDTH 20
Modified: branches/blender2.5/blender/source/blender/makesdna/DNA_space_types.h
===================================================================
--- branches/blender2.5/blender/source/blender/makesdna/DNA_space_types.h 2009-07-12 07:28:25 UTC (rev 21545)
+++ branches/blender2.5/blender/source/blender/makesdna/DNA_space_types.h 2009-07-12 07:37:25 UTC (rev 21546)
@@ -294,7 +294,7 @@
short flags, menunr;
short lheight; /* user preference */
- short cwidth; /* runtime computed */
+ char cwidth, linenrs_tot; /* runtime computed, character width and the number of chars to use when showing line numbers */
int left;
int showlinenrs;
int tabnumber;
More information about the Bf-blender-cvs
mailing list