rendered paste bodyvoid mPrintf(BITMAP* bmp, int x, int y, int fore, int back, bool center,
bool shadow, const char* fmt, ...)
{
va_list ap;
char text[1000];
va_start(ap, fmt);
vsnprintf(text, (sizeof(text)/sizeof(*text))-1, fmt, ap);
if (shadow) {
set_font_color(getr(back), getg(back), getb(back),
0, 0, 0);
if (center) {
textprintf_centre_ex(bmp, mFont, x, y-1, -1, -1, text);
textprintf_centre_ex(bmp, mFont, x-1, y, -1, -1, text);
textprintf_centre_ex(bmp, mFont, x+1, y, -1, -1, text);
textprintf_centre_ex(bmp, mFont, x, y+1, -1, -1, text);
}
else {
textprintf_ex(bmp, mFont, x, y-1, -1, -1, text);
textprintf_ex(bmp, mFont, x-1, y, -1, -1, text);
textprintf_ex(bmp, mFont, x+1, y, -1, -1, text);
textprintf_ex(bmp, mFont, x, y+1, -1, -1, text);
}
set_font_color(getr(0), getg(0), getb(0),
getr(fore), getg(fore), getb(fore));
if (center)
textprintf_centre_ex(bmp, mFont, x, y, -1, -1, text);
else
textprintf_ex(bmp, mFont, x, y, -1, -1, text);
}
else {
set_font_color(getr(back), getg(back), getb(back),
getr(fore), getg(fore), getb(fore));
if (center)
textprintf_centre_ex(bmp, mFont, x, y, -1, -1, text);
else
textprintf_ex(bmp, mFont, x, y, -1, -1, text);
}
}