Files
pdf/engine/tests/skia_renderer_test.cpp
2026-06-22 15:18:47 +05:30

40 lines
979 B
C++

#include <gtest/gtest.h>
#include <pdfengine/display_list.hpp>
#include <pdfengine/skia_renderer.hpp>
#ifdef PDFENGINE_WITH_SKIA
#include <include/core/SkBitmap.h>
#include <include/core/SkCanvas.h>
#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;
dl.saveState();
dl.fillRect(10, 10, 50, 50);
dl.restoreState();
SkiaRenderer renderer(&canvas);
renderer.render(dl);
SkColor c = bitmap.getColor(20, 20);
EXPECT_EQ(SkColorGetR(c), 0);
EXPECT_EQ(SkColorGetG(c), 0);
EXPECT_EQ(SkColorGetB(c), 0);
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
}