for UI text drawing use BLF_ascender(fs->uifont_id) rather then BLF_height(fs->uifont_id, "2"), while profiling draw noticed that the hash lookup on the character and utf8 next were being called on every text draw, use BLF_ascender since it doesn't do any lookups.
This commit is contained in:
parent
d78be1f762
commit
dc4dede802
@ -149,9 +149,9 @@ void uiStyleFontDrawExt(uiFontStyle *fs, rcti *rect, const char *str,
|
||||
int xofs=0, yofs;
|
||||
|
||||
uiStyleFontSet(fs);
|
||||
|
||||
height= BLF_height(fs->uifont_id, "2"); /* correct offset is on baseline, the j is below that */
|
||||
yofs= floor( 0.5f*(rect->ymax - rect->ymin - height));
|
||||
|
||||
height= BLF_ascender(fs->uifont_id);
|
||||
yofs= ceil( 0.5f*(rect->ymax - rect->ymin - height));
|
||||
|
||||
if(fs->align==UI_STYLE_TEXT_CENTER) {
|
||||
xofs= floor( 0.5f*(rect->xmax - rect->xmin - BLF_width(fs->uifont_id, str)));
|
||||
@ -206,9 +206,9 @@ void uiStyleFontDrawRotated(uiFontStyle *fs, rcti *rect, const char *str)
|
||||
|
||||
uiStyleFontSet(fs);
|
||||
|
||||
height= BLF_height(fs->uifont_id, "2"); /* correct offset is on baseline, the j is below that */
|
||||
height= BLF_ascender(fs->uifont_id);
|
||||
/* becomes x-offset when rotated */
|
||||
xofs= floor( 0.5f*(rect->ymax - rect->ymin - height)) + 1;
|
||||
xofs= ceil( 0.5f*(rect->ymax - rect->ymin - height));
|
||||
|
||||
/* ignore UI_STYLE, always aligned to top */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user