void G2DTestSystemDriver::WriteCentered (int mode, int dy, int fg, int bg, const char *format, ...) { if (!font) return; csString text; va_list arg; va_start (arg, format); text.FormatV (format, arg); va_end (arg); int fw, fh; font->GetDimensions (text, fw, fh); int x = (myG2D->GetWidth () - fw) / 2; int y = 0; switch (mode) { case 0: // centered by Y y = dy + myG2D->GetHeight () / 2; break; case 1: // from top y = dy; break; case 2: // from bottom y = dy + (myG2D->GetHeight () - 1 - fh); break; } myG2D->Write (font, x, y + fh - font->GetDescent(), fg, bg, text, CS_WRITE_BASELINE); }