void G2DTestSystemDriver::BlitTest () { int w = myG2D->GetWidth (); int h = myG2D->GetHeight (); myG2D->SetClipRect(0,0,w,h); myG2D->DrawBox(0,0,w,h, dsteel); SetFont (fontItalic); WriteCentered (0,-16*8, white, -1, "BLIT() TEST"); SetFont (fontLarge); WriteCentered (0,-16*7, black, dsteel, "This will test whether iGraphics2D->Blit() works correctly"); WriteCentered (0,-16*6, black, dsteel, "on this canvas."); WriteCentered (0,-16*4, black, dsteel, "You should see an image of an arrow and the word %s.", CS::Quote::Double ("up")); WriteCentered (0,-16*3, black, dsteel, "It is surrounded by a green rectangle, and the image"); WriteCentered (0,-16*2, black, dsteel, "itself has a black border. No red should be visible"); WriteCentered (0,-16*1, black, dsteel, "and the border has to be complete, too."); if (blitTestImage.IsValid ()) { const int imW = blitTestImage->GetWidth (); const int imH = blitTestImage->GetHeight (); const int bx = (w - imW) / 2; const int by = h / 2; DrawClipRect (bx, by, imW + 1, imH + 1); myG2D->Blit (bx + 1, by + 1, imW, imH, (unsigned char*)blitTestImage->GetImageData ()); } }
void G2DTestSystemDriver::DrawAlphaTestScreen () { int w = myG2D->GetWidth (); int h = myG2D->GetHeight (); myG2D->SetClipRect(0,0,w,h); myG2D->DrawBox(0,0,w,h, dsteel); SetFont (fontItalic); WriteCentered (1, 1, white, -1, "ALPHA COLOR TEST"); SetFont (fontLarge); WriteCentered (1, 16*2, black, -1, "If your current canvas is in 32-bit mode, you should"); WriteCentered (1, 16*3, black, -1, "see various text and geometry at various transparencies."); myG2D->DrawBox (190, 80, 50, 100, black); myG2D->DrawBox (20, 100, 150, 75, myG2D->FindRGB (205, 0, 125, 200)); myG2D->DrawBox (120, 100, 100, 50, myG2D->FindRGB (120, 50, 50, 100)); myG2D->DrawLine (30, 110, 120, 60, myG2D->FindRGB (255, 128, 128, 128)); myG2D->DrawLine (120, 60, 70, 120, myG2D->FindRGB (128, 255, 128, 128)); myG2D->DrawLine (70, 120, 30, 110, myG2D->FindRGB (128, 128, 255, 128)); if (alphaBlitImage.IsValid ()) { myG2D->Blit (20, 160, alphaBlitImage->GetWidth (), alphaBlitImage->GetHeight (), (unsigned char*)alphaBlitImage->GetImageData ()); } myG2D->Write (font, 50, 140, myG2D->FindRGB (255, 255, 255, 100), -1, L"Here is some partially transparent text"); myG2D->Write (font, 50, 150, myG2D->FindRGB (0, 0, 255, 150), -1, L"overlaying partially transparent boxes."); csString str; int i; int y = 140; int tw, th; font->GetMaxSize (tw, th); for (i = 0; i < 6; i++) { const uint8 alpha = (i * 51); str.Format ("FG has alpha %" PRIu8 , alpha); myG2D->Write (font, 320, y, MakeColor (255, 255, 255, alpha), black, str); y += th; str.Format ("BG has alpha %" PRIu8, alpha); myG2D->Write (font, 320, y, white, MakeColor (0, 0, 0, alpha), str); y += th; } }