From 884c94500bce8545aa988a85136e49948b245d05 Mon Sep 17 00:00:00 2001 From: Ton Roosendaal <ton@blender.org> Date: Wed, 11 May 2005 21:09:13 +0000 Subject: [PATCH] Another update on FTGL texture fonts drawing. Added the same floor() trick to precisely align the glyphs to pixel coordinates as used in the Pixmap version. It now looks fully identical here. --- extern/bFTGL/src/FTTextureGlyph.cpp | 13 +++++++++---- source/blender/src/space.c | 4 ++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/extern/bFTGL/src/FTTextureGlyph.cpp b/extern/bFTGL/src/FTTextureGlyph.cpp index 4b29268f1ce..b8267dcce89 100755 --- a/extern/bFTGL/src/FTTextureGlyph.cpp +++ b/extern/bFTGL/src/FTTextureGlyph.cpp @@ -54,27 +54,32 @@ FTTextureGlyph::FTTextureGlyph( FT_GlyphSlot glyph, int id, int xOffset, int yOf FTTextureGlyph::~FTTextureGlyph() {} +#include <math.h> float FTTextureGlyph::Render( const FTPoint& pen) { + float dx; + glGetIntegerv( GL_TEXTURE_2D_BINDING_EXT, &activeTextureID); if( activeTextureID != glTextureID) { glBindTexture( GL_TEXTURE_2D, (GLuint)glTextureID); } + dx= floor( (pen.x + pos.x ) ); + glBegin( GL_QUADS); glTexCoord2f( uv[0].x, uv[0].y); - glVertex2f( pen.x + pos.x, pen.y + pos.y); + glVertex2f( dx, pen.y + pos.y); glTexCoord2f( uv[0].x, uv[1].y); - glVertex2f( pen.x + pos.x, pen.y + pos.y - destHeight); + glVertex2f( dx, pen.y + pos.y - destHeight); glTexCoord2f( uv[1].x, uv[1].y); - glVertex2f( pen.x + destWidth + pos.x, pen.y + pos.y - destHeight); + glVertex2f( dx + destWidth, pen.y + pos.y - destHeight); glTexCoord2f( uv[1].x, uv[0].y); - glVertex2f( pen.x + destWidth + pos.x, pen.y + pos.y); + glVertex2f( dx + destWidth, pen.y + pos.y); glEnd(); return advance; diff --git a/source/blender/src/space.c b/source/blender/src/space.c index a49f5167e77..d41d0868d11 100644 --- a/source/blender/src/space.c +++ b/source/blender/src/space.c @@ -2281,10 +2281,10 @@ void drawinfospace(ScrArea *sa, void *spacedata) if(curarea->winx<=1280.0) { fac= ((float)curarea->winx)/1280.0f; - myortho2(0.0, 1280.0, 0.0, curarea->winy/fac); + myortho2(0.375, 1280.375, 0.375, curarea->winy/fac + 0.375); } else { - myortho2(0.0, (float)curarea->winx, 0.0, (float)curarea->winy); + myortho2(0.375, (float)curarea->winx + 0.375, 0.375, (float)curarea->winy + 0.375); } sprintf(naam, "infowin %d", curarea->win); -- GitLab