REQUIRE(radius == 0.0f);
}
-TEST_CASE("Filling Dupliction", "[tvgFill]")
+TEST_CASE("Linear Filling Dupliction", "[tvgFill]")
+{
+ auto fill = LinearGradient::gen();
+ REQUIRE(fill);
+
+ //Setup
+ Fill::ColorStop cs[4] = {
+ {0.0f, 0, 0, 0, 0},
+ {0.2f, 50, 25, 50, 25},
+ {0.5f, 100, 100, 100, 125},
+ {1.0f, 255, 255, 255, 255}
+ };
+
+ REQUIRE(fill->colorStops(cs, 4) == Result::Success);
+ REQUIRE(fill->spread(FillSpread::Reflect) == Result::Success);
+ REQUIRE(fill->linear(-10.0f, 10.0f, 100.0f, 120.0f) == Result::Success);
+
+ //Duplication
+ auto dup = unique_ptr<LinearGradient>(static_cast<LinearGradient*>(fill->duplicate()));
+ REQUIRE(dup);
+
+ REQUIRE(dup->spread() == FillSpread::Reflect);
+
+ float x1, y1, x2, y2;
+ REQUIRE(fill->linear(&x1, &y1, &x2, &y2) == Result::Success);
+ REQUIRE(x1 == -10.0f);
+ REQUIRE(y1 == 10.0f);
+ REQUIRE(x2 == 100.0f);
+ REQUIRE(y2 == 120.0f);
+
+ const Fill::ColorStop* cs2 = nullptr;
+ REQUIRE(fill->colorStops(&cs2) == 4);
+
+ for (int i = 0; i < 4; ++i) {
+ REQUIRE(cs[i].offset == cs2[i].offset);
+ REQUIRE(cs[i].r == cs2[i].r);
+ REQUIRE(cs[i].g == cs2[i].g);
+ REQUIRE(cs[i].b == cs2[i].b);
+ };
+}
+
+TEST_CASE("Radial Filling Dupliction", "[tvgFill]")
{
auto fill = RadialGradient::gen();
REQUIRE(fill);
REQUIRE(cs[i].g == cs2[i].g);
REQUIRE(cs[i].b == cs2[i].b);
};
-}
\ No newline at end of file
+}
REQUIRE(picture->size(w, h) == Result::Success);
}
+TEST_CASE("Picture Duplication", "[tvgPicture]")
+{
+ auto picture = Picture::gen();
+ REQUIRE(picture);
+
+ REQUIRE(picture->load(TEST_DIR"/logo.svg") == Result::Success);
+ REQUIRE(picture->size(100, 100) == Result::Success);
+
+ auto dup = picture->duplicate();
+ REQUIRE(dup);
+
+ float w, h;
+ REQUIRE(picture->size(&w, &h) == Result::Success);
+ REQUIRE(w == 100);
+ REQUIRE(h == 100);
+}
+
TEST_CASE("Load SVG file and render", "[tvgPicture]")
{
REQUIRE(Initializer::init(CanvasEngine::Sw, 0) == Result::Success);
file.close();
REQUIRE(picture->load(data, 200, 300, false) == Result::Success);
+ REQUIRE(picture->size(100, 150) == Result::Success);
REQUIRE(canvas->push(move(picture)) == Result::Success);