Commit 48b1e663 authored by Huw Davies's avatar Huw Davies Committed by Alexandre Julliard

gdi32: Use an array of masks to simplify the bitmap conversion.

parent 6c9c9107
......@@ -5049,6 +5049,8 @@ static inline BYTE get_max_level( UINT format )
return 255;
}
static const BYTE masks[8] = {0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01};
static DWORD get_glyph_outline(GdiFont *incoming_font, UINT glyph, UINT format,
LPGLYPHMETRICS lpgm, DWORD buflen, LPVOID buf,
const MAT2* lpmat)
......@@ -5367,7 +5369,7 @@ static DWORD get_glyph_outline(GdiFont *incoming_font, UINT glyph, UINT format,
memset( buf, 0, needed );
while(h--) {
for(x = 0; x < pitch && x < ft_face->glyph->bitmap.width; x++)
if (src[x / 8] & (1 << ( (7 - (x % 8))))) dst[x] = max_level;
if (src[x / 8] & masks[x % 8]) dst[x] = max_level;
src += ft_face->glyph->bitmap.pitch;
dst += pitch;
}
......@@ -5439,7 +5441,7 @@ static DWORD get_glyph_outline(GdiFont *incoming_font, UINT glyph, UINT format,
{
for (x = 0; x < width && x < ft_face->glyph->bitmap.width; x++)
{
if ( src[x / 8] & (1 << ( (7 - (x % 8)))) )
if ( src[x / 8] & masks[x % 8] )
((unsigned int *)dst)[x] = ~0u;
}
src += src_pitch;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment