mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-10 01:58:19 +00:00
Improve grow
This commit is contained in:
parent
8923116324
commit
fbdd66c092
|
@ -261,15 +261,15 @@ class CTextRender : public IEngineTextRender
|
||||||
m_RenderFlags = Flags;
|
m_RenderFlags = Flags;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Grow(unsigned char *pIn, unsigned char *pOut, int w, int h)
|
void Grow(unsigned char *pIn, unsigned char *pOut, int w, int h, int OutlineCount)
|
||||||
{
|
{
|
||||||
for(int y = 0; y < h; y++)
|
for(int y = 0; y < h; y++)
|
||||||
for(int x = 0; x < w; x++)
|
for(int x = 0; x < w; x++)
|
||||||
{
|
{
|
||||||
int c = pIn[y*w+x];
|
int c = pIn[y*w+x];
|
||||||
|
|
||||||
for(int sy = -1; sy <= 1; sy++)
|
for(int sy = -OutlineCount; sy <= OutlineCount; sy++)
|
||||||
for(int sx = -1; sx <= 1; sx++)
|
for(int sx = -OutlineCount; sx <= OutlineCount; sx++)
|
||||||
{
|
{
|
||||||
int GetX = x+sx;
|
int GetX = x+sx;
|
||||||
int GetY = y+sy;
|
int GetY = y+sy;
|
||||||
|
@ -511,28 +511,13 @@ class CTextRender : public IEngineTextRender
|
||||||
}
|
}
|
||||||
UploadGlyph(pFont, 0, X, Y, (int)Width, (int)Height, ms_aGlyphData);
|
UploadGlyph(pFont, 0, X, Y, (int)Width, (int)Height, ms_aGlyphData);
|
||||||
|
|
||||||
if(OutlineThickness == 1)
|
Grow(ms_aGlyphData, ms_aGlyphDataOutlined, Width, Height, OutlineThickness);
|
||||||
|
|
||||||
|
while(!GetCharacterSpace(pFont, 1, (int)Width, (int)Height, X, Y))
|
||||||
{
|
{
|
||||||
Grow(ms_aGlyphData, ms_aGlyphDataOutlined, Width, Height);
|
IncreaseFontTexture(pFont, 1);
|
||||||
while(!GetCharacterSpace(pFont, 1, (int)Width, (int)Height, X, Y))
|
|
||||||
{
|
|
||||||
IncreaseFontTexture(pFont, 1);
|
|
||||||
}
|
|
||||||
UploadGlyph(pFont, 1, X, Y, (int)Width, (int)Height, ms_aGlyphDataOutlined);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
for(int i = OutlineThickness; i > 0; i-=2)
|
|
||||||
{
|
|
||||||
Grow(ms_aGlyphData, ms_aGlyphDataOutlined, Width, Height);
|
|
||||||
Grow(ms_aGlyphDataOutlined, ms_aGlyphData, Width, Height);
|
|
||||||
}
|
|
||||||
while(!GetCharacterSpace(pFont, 1, (int)Width, (int)Height, X, Y))
|
|
||||||
{
|
|
||||||
IncreaseFontTexture(pFont, 1);
|
|
||||||
}
|
|
||||||
UploadGlyph(pFont, 1, X, Y, (int)Width, (int)Height, ms_aGlyphData);
|
|
||||||
}
|
}
|
||||||
|
UploadGlyph(pFont, 1, X, Y, (int)Width, (int)Height, ms_aGlyphDataOutlined);
|
||||||
|
|
||||||
// set char info
|
// set char info
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue