#include #include #include #ifdef PDFENGINE_WITH_SKIA #include #include #endif using namespace pdfengine; TEST(SkiaRendererTest, RenderSimpleDisplayList) { #ifdef PDFENGINE_WITH_SKIA SkBitmap bitmap; bitmap.allocN32Pixels(100, 100); SkCanvas canvas(bitmap); canvas.clear(SK_ColorWHITE); DisplayList dl; // Push state and set fill color to red dl.saveState(); dl.fillRect(10, 10, 50, 50); // Will be filled with red (we need a SetFillColorCommand, but right now GraphicsState doesn't expose it directly via Command yet. It will use default black) dl.restoreState(); SkiaRenderer renderer(&canvas); renderer.render(dl); // Let's verify that a pixel at (20,20) was drawn. Since default color is black (0,0,0), we check that. SkColor c = bitmap.getColor(20, 20); EXPECT_EQ(SkColorGetR(c), 0); EXPECT_EQ(SkColorGetG(c), 0); EXPECT_EQ(SkColorGetB(c), 0); // Check outside the rect SkColor bg = bitmap.getColor(5, 5); EXPECT_EQ(SkColorGetR(bg), 255); EXPECT_EQ(SkColorGetG(bg), 255); EXPECT_EQ(SkColorGetB(bg), 255); #else GTEST_SKIP() << "PDFENGINE_WITH_SKIA not defined. Skia tests skipped."; #endif }