win32: enable antialisaing with TTF fonts
This commit is contained in:
parent
05d6a4b3dd
commit
82ef08a01e
10
src/text.c
10
src/text.c
@ -607,6 +607,7 @@ byte *Render_text_Win32(const char *str, int font_number, int size, int antialia
|
|||||||
byte * pixels = NULL;
|
byte * pixels = NULL;
|
||||||
byte * new_brush = NULL;
|
byte * new_brush = NULL;
|
||||||
int i;
|
int i;
|
||||||
|
int x, y;
|
||||||
HFONT font;
|
HFONT font;
|
||||||
const char * font_name;
|
const char * font_name;
|
||||||
|
|
||||||
@ -635,7 +636,7 @@ byte *Render_text_Win32(const char *str, int font_number, int size, int antialia
|
|||||||
bi->bmiHeader.biWidth = (s.cx + 3) & ~3;
|
bi->bmiHeader.biWidth = (s.cx + 3) & ~3;
|
||||||
bi->bmiHeader.biHeight = -s.cy;
|
bi->bmiHeader.biHeight = -s.cy;
|
||||||
bi->bmiHeader.biPlanes = 1;
|
bi->bmiHeader.biPlanes = 1;
|
||||||
bi->bmiHeader.biBitCount = 8;
|
bi->bmiHeader.biBitCount = antialias ? 32 : 8; // the GDI does Antialiasing only on TrueColor DIB
|
||||||
bi->bmiHeader.biCompression = BI_RGB;
|
bi->bmiHeader.biCompression = BI_RGB;
|
||||||
|
|
||||||
for (i = 0; i < 256; i++) {
|
for (i = 0; i < 256; i++) {
|
||||||
@ -664,16 +665,15 @@ byte *Render_text_Win32(const char *str, int font_number, int size, int antialia
|
|||||||
new_brush = (byte *)malloc(s.cx*s.cy);
|
new_brush = (byte *)malloc(s.cx*s.cy);
|
||||||
if (antialias)
|
if (antialias)
|
||||||
{
|
{
|
||||||
int y;
|
|
||||||
// TODO complete the antialiasing processing
|
|
||||||
for (y = 0; y < s.cy; y++)
|
for (y = 0; y < s.cy; y++)
|
||||||
{
|
{
|
||||||
memcpy(new_brush + y * s.cx, pixels + y * bi->bmiHeader.biWidth, s.cx);
|
// get the value from the 1st color component.
|
||||||
|
for (x = 0; x < s.cx; x++)
|
||||||
|
new_brush[x + y * s.cx] = pixels[(x + y * bi->bmiHeader.biWidth) * 4];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int x, y;
|
|
||||||
for (y = 0; y < s.cy; y++)
|
for (y = 0; y < s.cy; y++)
|
||||||
{
|
{
|
||||||
for (x = 0; x < s.cx; x++)
|
for (x = 0; x < s.cx; x++)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user