From bce77bba23bfa36797aecbeda77e7041216daf82 Mon Sep 17 00:00:00 2001 From: emb <> Date: Mon, 12 Jan 2015 12:11:13 -0600 Subject: [PATCH] Fixed font rendering bleeding effects. --- RetroFE/Source/Graphics/Component/Text.cpp | 1 + RetroFE/Source/Graphics/Font.cpp | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/RetroFE/Source/Graphics/Component/Text.cpp b/RetroFE/Source/Graphics/Component/Text.cpp index 5b9cb2a..dc686dc 100644 --- a/RetroFE/Source/Graphics/Component/Text.cpp +++ b/RetroFE/Source/Graphics/Component/Text.cpp @@ -101,6 +101,7 @@ void Text::Draw() rect.y = static_cast(yOrigin); SDL_LockMutex(SDL::GetMutex()); + SDL_SetTextureBlendMode(t, SDL_BLENDMODE_ADD); SDL_SetTextureColorMod(t, FontColor.r, FontColor.g, FontColor.b); SDL_UnlockMutex(SDL::GetMutex()); diff --git a/RetroFE/Source/Graphics/Font.cpp b/RetroFE/Source/Graphics/Font.cpp index be002c2..30e54ec 100644 --- a/RetroFE/Source/Graphics/Font.cpp +++ b/RetroFE/Source/Graphics/Font.cpp @@ -50,6 +50,7 @@ bool Font::GetRect(unsigned int charCode, GlyphInfo &glyph) return false; } + bool Font::Initialize(std::string fontPath) { TTF_Font *font = TTF_OpenFont(fontPath.c_str(), 128); @@ -121,7 +122,6 @@ bool Font::Initialize(std::string fontPath) #endif SDL_Surface *atlasSurface = SDL_CreateRGBSurface(0, atlasWidth, atlasHeight, 24, rmask, gmask, bmask, amask); - SDL_FillRect(atlasSurface, NULL, SDL_MapRGB(atlasSurface->format, 0, 0, 0)); std::map::iterator it; for(it = Atlas.begin(); it != Atlas.end(); it++) @@ -133,7 +133,7 @@ bool Font::Initialize(std::string fontPath) } SDL_LockMutex(SDL::GetMutex()); - SDL_SetColorKey(atlasSurface, SDL_TRUE, SDL_MapRGB(atlasSurface->format, 0x00, 0x00, 0x00)); + Texture = SDL_CreateTextureFromSurface(SDL::GetRenderer(), atlasSurface); SDL_FreeSurface(atlasSurface); SDL_UnlockMutex(SDL::GetMutex()); @@ -143,6 +143,8 @@ bool Font::Initialize(std::string fontPath) return true; } + + void Font::DeInitialize() { if(Texture)