mirror of
https://github.com/RetroDECK/ES-DE.git
synced 2025-01-30 12:05:39 +00:00
Changed it so that only fonts of a certain minimum size gets linear texture magnification applied.
This commit is contained in:
parent
ff0e76332c
commit
b079421205
|
@ -587,11 +587,12 @@ bool Font::FontTexture::findEmpty(const glm::ivec2& size, glm::ivec2& cursor_out
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Font::FontTexture::initTexture()
|
void Font::FontTexture::initTexture(bool linearMagnification)
|
||||||
{
|
{
|
||||||
assert(textureId == 0);
|
assert(textureId == 0);
|
||||||
textureId = Renderer::getInstance()->createTexture(
|
textureId = Renderer::getInstance()->createTexture(Renderer::TextureType::RED, true,
|
||||||
Renderer::TextureType::RED, true, true, false, textureSize.x, textureSize.y, nullptr);
|
linearMagnification, false, false,
|
||||||
|
textureSize.x, textureSize.y, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Font::FontTexture::deinitTexture()
|
void Font::FontTexture::deinitTexture()
|
||||||
|
@ -623,7 +624,7 @@ void Font::rebuildTextures()
|
||||||
{
|
{
|
||||||
// Recreate OpenGL textures.
|
// Recreate OpenGL textures.
|
||||||
for (auto it = mTextures.begin(); it != mTextures.end(); ++it)
|
for (auto it = mTextures.begin(); it != mTextures.end(); ++it)
|
||||||
it->initTexture();
|
it->initTexture(mSize > MIN_SIZE_LINEAR_MAGNIFICATION);
|
||||||
|
|
||||||
// Re-upload the texture data.
|
// Re-upload the texture data.
|
||||||
for (auto it = mGlyphMap.cbegin(); it != mGlyphMap.cend(); ++it) {
|
for (auto it = mGlyphMap.cbegin(); it != mGlyphMap.cend(); ++it) {
|
||||||
|
@ -678,7 +679,7 @@ void Font::getTextureForNewGlyph(const glm::ivec2& glyphSize,
|
||||||
|
|
||||||
mTextures.push_back(FontTexture(mSize));
|
mTextures.push_back(FontTexture(mSize));
|
||||||
tex_out = &mTextures.back();
|
tex_out = &mTextures.back();
|
||||||
tex_out->initTexture();
|
tex_out->initTexture(mSize > MIN_SIZE_LINEAR_MAGNIFICATION);
|
||||||
|
|
||||||
bool ok = tex_out->findEmpty(glyphSize, cursor_out);
|
bool ok = tex_out->findEmpty(glyphSize, cursor_out);
|
||||||
if (!ok) {
|
if (!ok) {
|
||||||
|
|
|
@ -31,6 +31,8 @@ class TextCache;
|
||||||
std::min(Renderer::getScreenHeight(), Renderer::getScreenWidth())))
|
std::min(Renderer::getScreenHeight(), Renderer::getScreenWidth())))
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
#define MIN_SIZE_LINEAR_MAGNIFICATION 30
|
||||||
|
|
||||||
#define FONT_PATH_LIGHT ":/fonts/Akrobat-Regular.ttf"
|
#define FONT_PATH_LIGHT ":/fonts/Akrobat-Regular.ttf"
|
||||||
#define FONT_PATH_REGULAR ":/fonts/Akrobat-SemiBold.ttf"
|
#define FONT_PATH_REGULAR ":/fonts/Akrobat-SemiBold.ttf"
|
||||||
#define FONT_PATH_BOLD ":/fonts/Akrobat-Bold.ttf"
|
#define FONT_PATH_BOLD ":/fonts/Akrobat-Bold.ttf"
|
||||||
|
@ -131,7 +133,7 @@ private:
|
||||||
// You must call initTexture() after creating a FontTexture to get a textureId.
|
// You must call initTexture() after creating a FontTexture to get a textureId.
|
||||||
// Initializes the OpenGL texture according to this FontTexture's settings,
|
// Initializes the OpenGL texture according to this FontTexture's settings,
|
||||||
// updating textureId.
|
// updating textureId.
|
||||||
void initTexture();
|
void initTexture(bool linearMagnification);
|
||||||
|
|
||||||
// Deinitializes the OpenGL texture if any exists, is automatically called
|
// Deinitializes the OpenGL texture if any exists, is automatically called
|
||||||
// in the destructor.
|
// in the destructor.
|
||||||
|
|
Loading…
Reference in a new issue