mirror of
https://github.com/thorvg/thorvg.git
synced 2025-06-14 12:04:29 +00:00
common: code refactoring
Replace standard casting with tvg::cast()
This commit is contained in:
parent
4d722623a6
commit
9d9f38c875
9 changed files with 69 additions and 69 deletions
|
@ -46,7 +46,7 @@ void tvgDrawCmds(tvg::Canvas* canvas)
|
|||
shape1->fill(255, 0, 0, 255);
|
||||
|
||||
//Duplicate Shape, Switch fill method
|
||||
auto shape2 = unique_ptr<tvg::Shape>(static_cast<tvg::Shape*>(shape1->duplicate()));
|
||||
auto shape2 = tvg::cast<tvg::Shape>(shape1->duplicate());
|
||||
shape2->translate(0, 220);
|
||||
|
||||
auto fill = tvg::LinearGradient::gen();
|
||||
|
@ -60,7 +60,7 @@ void tvgDrawCmds(tvg::Canvas* canvas)
|
|||
shape2->fill(move(fill));
|
||||
|
||||
//Duplicate Shape 2
|
||||
auto shape3 = unique_ptr<tvg::Shape>(static_cast<tvg::Shape*>(shape2->duplicate()));
|
||||
auto shape3 = tvg::cast<tvg::Shape>(shape2->duplicate());
|
||||
shape3->translate(0, 440);
|
||||
|
||||
canvas->push(move(shape1));
|
||||
|
@ -93,7 +93,7 @@ void tvgDrawCmds(tvg::Canvas* canvas)
|
|||
scene1->translate(400, 0);
|
||||
|
||||
//Duplicate Scene1
|
||||
auto scene2 = unique_ptr<tvg::Scene>(static_cast<tvg::Scene*>(scene1->duplicate()));
|
||||
auto scene2 = tvg::cast<tvg::Scene>(scene1->duplicate());
|
||||
scene2->translate(600, 0);
|
||||
|
||||
canvas->push(move(scene1));
|
||||
|
@ -107,7 +107,7 @@ void tvgDrawCmds(tvg::Canvas* canvas)
|
|||
picture1->translate(350, 200);
|
||||
picture1->scale(0.25);
|
||||
|
||||
auto picture2 = unique_ptr<tvg::Picture>(static_cast<tvg::Picture*>(picture1->duplicate()));
|
||||
auto picture2 = tvg::cast<tvg::Picture>(picture1->duplicate());
|
||||
picture2->translate(550, 250);
|
||||
|
||||
canvas->push(move(picture1));
|
||||
|
@ -128,7 +128,7 @@ void tvgDrawCmds(tvg::Canvas* canvas)
|
|||
picture1->scale(0.8);
|
||||
picture1->translate(400, 450);
|
||||
|
||||
auto picture2 = unique_ptr<tvg::Picture>(static_cast<tvg::Picture*>(picture1->duplicate()));
|
||||
auto picture2 = tvg::cast<tvg::Picture>(picture1->duplicate());
|
||||
picture2->translate(600, 550);
|
||||
picture2->scale(0.7);
|
||||
picture2->rotate(8);
|
||||
|
|
|
@ -87,7 +87,7 @@ void tvgDrawCmds(tvg::Canvas* canvas)
|
|||
fillStroke2->colorStops(colorStops2, 2);
|
||||
shape2->stroke(move(fillStroke2));
|
||||
|
||||
auto shape3 = unique_ptr<tvg::Shape>(static_cast<tvg::Shape*>(shape2->duplicate()));
|
||||
auto shape3 = tvg::cast<tvg::Shape>(shape2->duplicate());
|
||||
shape3->translate(0, 200);
|
||||
|
||||
auto fillStroke3 = tvg::LinearGradient::gen();
|
||||
|
@ -95,7 +95,7 @@ void tvgDrawCmds(tvg::Canvas* canvas)
|
|||
fillStroke3->colorStops(colorStops3, 2);
|
||||
shape3->stroke(move(fillStroke3));
|
||||
|
||||
auto shape4 = unique_ptr<tvg::Shape>(static_cast<tvg::Shape*>(shape2->duplicate()));
|
||||
auto shape4 = tvg::cast<tvg::Shape>(shape2->duplicate());
|
||||
shape4->translate(0, 400);
|
||||
|
||||
if (canvas->push(move(shape2)) != tvg::Result::Success) return;
|
||||
|
|
|
@ -114,8 +114,8 @@ void tvgDrawCmds(tvg::Canvas* canvas)
|
|||
line1->stroke(15);
|
||||
line1->stroke(tvg::StrokeCap::Round);
|
||||
|
||||
auto line2 = std::unique_ptr<tvg::Shape>((tvg::Shape*)line1->duplicate());
|
||||
auto line3 = std::unique_ptr<tvg::Shape>((tvg::Shape*)line1->duplicate());
|
||||
auto line2 = tvg::cast<tvg::Shape>(line1->duplicate());
|
||||
auto line3 = tvg::cast<tvg::Shape>(line1->duplicate());
|
||||
if (canvas->push(move(line1)) != tvg::Result::Success) return;
|
||||
|
||||
line2->stroke(tvg::StrokeCap::Square);
|
||||
|
|
|
@ -351,7 +351,7 @@ TvgBinCounter TvgSaver::serializeChild(const Paint* parent, const Paint* child,
|
|||
}
|
||||
|
||||
//propagate composition
|
||||
if (compTarget) const_cast<Paint*>(child)->composite(unique_ptr<Paint>(compTarget->duplicate()), compMethod);
|
||||
if (compTarget) const_cast<Paint*>(child)->composite(cast<Paint>(compTarget->duplicate()), compMethod);
|
||||
|
||||
return serialize(child, transform);
|
||||
}
|
||||
|
|
|
@ -144,7 +144,7 @@ public:
|
|||
mErrorMsg = "None";
|
||||
|
||||
auto saver = tvg::Saver::gen();
|
||||
auto duplicate = unique_ptr<tvg::Picture>(static_cast<tvg::Picture*>(mPicture->duplicate()));
|
||||
auto duplicate = tvg::Cast<tvg::Picture>(mPicture->duplicate());
|
||||
if (!saver || !duplicate) {
|
||||
mErrorMsg = "Saving initialization failed";
|
||||
return false;
|
||||
|
|
|
@ -194,7 +194,7 @@ TEST_CASE("Linear Filling Dupliction", "[tvgFill]")
|
|||
REQUIRE(fill->transform(m) == Result::Success);
|
||||
|
||||
//Duplication
|
||||
auto dup = unique_ptr<LinearGradient>(static_cast<LinearGradient*>(fill->duplicate()));
|
||||
auto dup = tvg::cast<LinearGradient>(fill->duplicate());
|
||||
REQUIRE(dup);
|
||||
|
||||
REQUIRE(dup->spread() == FillSpread::Reflect);
|
||||
|
@ -249,7 +249,7 @@ TEST_CASE("Radial Filling Dupliction", "[tvgFill]")
|
|||
REQUIRE(fill->transform(m) == Result::Success);
|
||||
|
||||
//Duplication
|
||||
auto dup = unique_ptr<RadialGradient>(static_cast<RadialGradient*>(fill->duplicate()));
|
||||
auto dup = tvg::cast<RadialGradient>(fill->duplicate());
|
||||
REQUIRE(dup);
|
||||
|
||||
REQUIRE(dup->spread() == FillSpread::Reflect);
|
||||
|
|
|
@ -159,7 +159,7 @@ TEST_CASE("Duplication", "[tvgPaint]")
|
|||
REQUIRE(shape->composite(move(comp), CompositeMethod::ClipPath) == Result::Success);
|
||||
|
||||
//Duplication
|
||||
auto dup = unique_ptr<Shape>((Shape*)shape->duplicate());
|
||||
auto dup = tvg::cast<Shape>(shape->duplicate());
|
||||
REQUIRE(dup);
|
||||
|
||||
//Compare properties
|
||||
|
|
|
@ -216,7 +216,7 @@ TEST_CASE("Picture Duplication", "[tvgPicture]")
|
|||
REQUIRE(picture->load(data, 200, 300, false) == Result::Success);
|
||||
REQUIRE(picture->size(100, 100) == Result::Success);
|
||||
|
||||
auto dup = unique_ptr<Picture>((Picture*)picture->duplicate());
|
||||
auto dup = tvg::cast<Picture>(picture->duplicate());
|
||||
REQUIRE(dup);
|
||||
|
||||
float w, h;
|
||||
|
|
|
@ -125,31 +125,31 @@ TEST_CASE("Image Draw", "[tvgSwEngine]")
|
|||
REQUIRE(rleMask->fill(100, 100, 100, 255) == Result::Success);
|
||||
|
||||
// Rect images
|
||||
auto basicPicture2 = std::unique_ptr<Picture>(static_cast<Picture*>(basicPicture->duplicate()));
|
||||
auto basicPicture2 = tvg::cast<Picture>(basicPicture->duplicate());
|
||||
REQUIRE(basicPicture2);
|
||||
auto rectMask2 = std::unique_ptr<Shape>(static_cast<Shape*>(rectMask->duplicate()));
|
||||
auto rectMask2 = tvg::cast<Shape>(rectMask->duplicate());
|
||||
REQUIRE(rectMask2);
|
||||
|
||||
auto basicPicture3 = std::unique_ptr<Picture>(static_cast<Picture*>(basicPicture->duplicate()));
|
||||
auto basicPicture3 = tvg::cast<Picture>(basicPicture->duplicate());
|
||||
REQUIRE(basicPicture3);
|
||||
auto rectMask3 = std::unique_ptr<Shape>(static_cast<Shape*>(rectMask->duplicate()));
|
||||
auto rectMask3 = tvg::cast<Shape>(rectMask->duplicate());
|
||||
REQUIRE(rectMask3);
|
||||
|
||||
auto basicPicture4 = std::unique_ptr<Picture>(static_cast<Picture*>(basicPicture->duplicate()));
|
||||
auto basicPicture4 = tvg::cast<Picture>(basicPicture->duplicate());
|
||||
REQUIRE(basicPicture4);
|
||||
auto rectMask4 = std::unique_ptr<Shape>(static_cast<Shape*>(rectMask->duplicate()));
|
||||
auto rectMask4 = tvg::cast<Shape>(rectMask->duplicate());
|
||||
REQUIRE(rectMask4);
|
||||
|
||||
auto basicPicture5 = std::unique_ptr<Picture>(static_cast<Picture*>(basicPicture->duplicate()));
|
||||
auto basicPicture5 = tvg::cast<Picture>(basicPicture->duplicate());
|
||||
REQUIRE(basicPicture5);
|
||||
|
||||
// Rle images
|
||||
auto basicPicture6 = std::unique_ptr<Picture>(static_cast<Picture*>(basicPicture->duplicate()));
|
||||
auto basicPicture6 = tvg::cast<Picture>(basicPicture->duplicate());
|
||||
REQUIRE(basicPicture6);
|
||||
|
||||
auto basicPicture7 = std::unique_ptr<Picture>(static_cast<Picture*>(basicPicture->duplicate()));
|
||||
auto basicPicture7 = tvg::cast<Picture>(basicPicture->duplicate());
|
||||
REQUIRE(basicPicture7);
|
||||
auto rleMask7 = std::unique_ptr<Shape>(static_cast<Shape*>(rleMask->duplicate()));
|
||||
auto rleMask7 = tvg::cast<Shape>(rleMask->duplicate());
|
||||
REQUIRE(rleMask7);
|
||||
|
||||
// Rect
|
||||
|
@ -191,31 +191,31 @@ TEST_CASE("Image Draw", "[tvgSwEngine]")
|
|||
REQUIRE(rleMask->appendRect(0, 10, 20, 30, 5, 5) == Result::Success);
|
||||
|
||||
// Rect images
|
||||
basicPicture2 = std::unique_ptr<Picture>(static_cast<Picture*>(basicPicture->duplicate()));
|
||||
basicPicture2 = tvg::cast<Picture>(basicPicture->duplicate());
|
||||
REQUIRE(basicPicture2);
|
||||
rectMask2 = std::unique_ptr<Shape>(static_cast<Shape*>(rectMask->duplicate()));
|
||||
rectMask2 = tvg::cast<Shape>(rectMask->duplicate());
|
||||
REQUIRE(rectMask2);
|
||||
|
||||
basicPicture3 = std::unique_ptr<Picture>(static_cast<Picture*>(basicPicture->duplicate()));
|
||||
basicPicture3 = tvg::cast<Picture>(basicPicture->duplicate());
|
||||
REQUIRE(basicPicture3);
|
||||
rectMask3 = std::unique_ptr<Shape>(static_cast<Shape*>(rectMask->duplicate()));
|
||||
rectMask3 = tvg::cast<Shape>(rectMask->duplicate());
|
||||
REQUIRE(rectMask3);
|
||||
|
||||
basicPicture4 = std::unique_ptr<Picture>(static_cast<Picture*>(basicPicture->duplicate()));
|
||||
basicPicture4 = tvg::cast<Picture>(basicPicture->duplicate());
|
||||
REQUIRE(basicPicture4);
|
||||
rectMask4 = std::unique_ptr<Shape>(static_cast<Shape*>(rectMask->duplicate()));
|
||||
rectMask4 = tvg::cast<Shape>(rectMask->duplicate());
|
||||
REQUIRE(rectMask4);
|
||||
|
||||
basicPicture5 = std::unique_ptr<Picture>(static_cast<Picture*>(basicPicture->duplicate()));
|
||||
basicPicture5 = tvg::cast<Picture>(basicPicture->duplicate());
|
||||
REQUIRE(basicPicture5);
|
||||
|
||||
// Rle images
|
||||
basicPicture6 = std::unique_ptr<Picture>(static_cast<Picture*>(basicPicture->duplicate()));
|
||||
basicPicture6 = tvg::cast<Picture>(basicPicture->duplicate());
|
||||
REQUIRE(basicPicture6);
|
||||
|
||||
basicPicture7 = std::unique_ptr<Picture>(static_cast<Picture*>(basicPicture->duplicate()));
|
||||
basicPicture7 = tvg::cast<Picture>(basicPicture->duplicate());
|
||||
REQUIRE(basicPicture7);
|
||||
rleMask7 = std::unique_ptr<Shape>(static_cast<Shape*>(rleMask->duplicate()));
|
||||
rleMask7 = tvg::cast<Shape>(rleMask->duplicate());
|
||||
REQUIRE(rleMask7);
|
||||
|
||||
// Rect
|
||||
|
@ -256,31 +256,31 @@ TEST_CASE("Image Draw", "[tvgSwEngine]")
|
|||
REQUIRE(rleMask->appendRect(0, 10, 20, 30, 5, 5) == Result::Success);
|
||||
|
||||
// Rect images
|
||||
basicPicture2 = std::unique_ptr<Picture>(static_cast<Picture*>(basicPicture->duplicate()));
|
||||
basicPicture2 = tvg::cast<Picture>(basicPicture->duplicate());
|
||||
REQUIRE(basicPicture2);
|
||||
rectMask2 = std::unique_ptr<Shape>(static_cast<Shape*>(rectMask->duplicate()));
|
||||
rectMask2 = tvg::cast<Shape>(rectMask->duplicate());
|
||||
REQUIRE(rectMask2);
|
||||
|
||||
basicPicture3 = std::unique_ptr<Picture>(static_cast<Picture*>(basicPicture->duplicate()));
|
||||
basicPicture3 = tvg::cast<Picture>(basicPicture->duplicate());
|
||||
REQUIRE(basicPicture3);
|
||||
rectMask3 = std::unique_ptr<Shape>(static_cast<Shape*>(rectMask->duplicate()));
|
||||
rectMask3 = tvg::cast<Shape>(rectMask->duplicate());
|
||||
REQUIRE(rectMask3);
|
||||
|
||||
basicPicture4 = std::unique_ptr<Picture>(static_cast<Picture*>(basicPicture->duplicate()));
|
||||
basicPicture4 = tvg::cast<Picture>(basicPicture->duplicate());
|
||||
REQUIRE(basicPicture4);
|
||||
rectMask4 = std::unique_ptr<Shape>(static_cast<Shape*>(rectMask->duplicate()));
|
||||
rectMask4 = tvg::cast<Shape>(rectMask->duplicate());
|
||||
REQUIRE(rectMask4);
|
||||
|
||||
basicPicture5 = std::unique_ptr<Picture>(static_cast<Picture*>(basicPicture->duplicate()));
|
||||
basicPicture5 = tvg::cast<Picture>(basicPicture->duplicate());
|
||||
REQUIRE(basicPicture5);
|
||||
|
||||
// Rle images
|
||||
basicPicture6 = std::unique_ptr<Picture>(static_cast<Picture*>(basicPicture->duplicate()));
|
||||
basicPicture6 = tvg::cast<Picture>(basicPicture->duplicate());
|
||||
REQUIRE(basicPicture6);
|
||||
|
||||
basicPicture7 = std::unique_ptr<Picture>(static_cast<Picture*>(basicPicture->duplicate()));
|
||||
basicPicture7 = tvg::cast<Picture>(basicPicture->duplicate());
|
||||
REQUIRE(basicPicture7);
|
||||
rleMask7 = std::unique_ptr<Shape>(static_cast<Shape*>(rleMask->duplicate()));
|
||||
rleMask7 = tvg::cast<Shape>(rleMask->duplicate());
|
||||
REQUIRE(rleMask7);
|
||||
|
||||
// Rect
|
||||
|
@ -321,31 +321,31 @@ TEST_CASE("Image Draw", "[tvgSwEngine]")
|
|||
REQUIRE(rleMask->appendRect(0, 10, 20, 30, 5, 5) == Result::Success);
|
||||
|
||||
// Rect images
|
||||
basicPicture2 = std::unique_ptr<Picture>(static_cast<Picture*>(basicPicture->duplicate()));
|
||||
basicPicture2 = tvg::cast<Picture>(basicPicture->duplicate());
|
||||
REQUIRE(basicPicture2);
|
||||
rectMask2 = std::unique_ptr<Shape>(static_cast<Shape*>(rectMask->duplicate()));
|
||||
rectMask2 = tvg::cast<Shape>(rectMask->duplicate());
|
||||
REQUIRE(rectMask2);
|
||||
|
||||
basicPicture3 = std::unique_ptr<Picture>(static_cast<Picture*>(basicPicture->duplicate()));
|
||||
basicPicture3 = tvg::cast<Picture>(basicPicture->duplicate());
|
||||
REQUIRE(basicPicture3);
|
||||
rectMask3 = std::unique_ptr<Shape>(static_cast<Shape*>(rectMask->duplicate()));
|
||||
rectMask3 = tvg::cast<Shape>(rectMask->duplicate());
|
||||
REQUIRE(rectMask3);
|
||||
|
||||
basicPicture4 = std::unique_ptr<Picture>(static_cast<Picture*>(basicPicture->duplicate()));
|
||||
basicPicture4 = tvg::cast<Picture>(basicPicture->duplicate());
|
||||
REQUIRE(basicPicture4);
|
||||
rectMask4 = std::unique_ptr<Shape>(static_cast<Shape*>(rectMask->duplicate()));
|
||||
rectMask4 = tvg::cast<Shape>(rectMask->duplicate());
|
||||
REQUIRE(rectMask4);
|
||||
|
||||
basicPicture5 = std::unique_ptr<Picture>(static_cast<Picture*>(basicPicture->duplicate()));
|
||||
basicPicture5 = tvg::cast<Picture>(basicPicture->duplicate());
|
||||
REQUIRE(basicPicture5);
|
||||
|
||||
// Rle images
|
||||
basicPicture6 = std::unique_ptr<Picture>(static_cast<Picture*>(basicPicture->duplicate()));
|
||||
basicPicture6 = tvg::cast<Picture>(basicPicture->duplicate());
|
||||
REQUIRE(basicPicture6);
|
||||
|
||||
basicPicture7 = std::unique_ptr<Picture>(static_cast<Picture*>(basicPicture->duplicate()));
|
||||
basicPicture7 = tvg::cast<Picture>(basicPicture->duplicate());
|
||||
REQUIRE(basicPicture7);
|
||||
rleMask7 = std::unique_ptr<Shape>(static_cast<Shape*>(rleMask->duplicate()));
|
||||
rleMask7 = tvg::cast<Shape>(rleMask->duplicate());
|
||||
REQUIRE(rleMask7);
|
||||
|
||||
// Rect
|
||||
|
@ -401,22 +401,22 @@ TEST_CASE("Rect Draw", "[tvgSwEngine]")
|
|||
REQUIRE(basicMask->appendRect(10, 10, 30, 30, 0, 0) == Result::Success);
|
||||
REQUIRE(basicShape->fill(255, 255, 255, 155) == Result::Success);
|
||||
|
||||
auto basicShape2 = std::unique_ptr<Shape>(static_cast<Shape*>(basicShape->duplicate()));
|
||||
auto basicShape2 = tvg::cast<Shape>(basicShape->duplicate());
|
||||
REQUIRE(basicShape2);
|
||||
auto basicMask2 = std::unique_ptr<Shape>(static_cast<Shape*>(basicMask->duplicate()));
|
||||
auto basicMask2 = tvg::cast<Shape>(basicMask->duplicate());
|
||||
REQUIRE(basicMask2);
|
||||
|
||||
auto basicShape3 = std::unique_ptr<Shape>(static_cast<Shape*>(basicShape->duplicate()));
|
||||
auto basicShape3 = tvg::cast<Shape>(basicShape->duplicate());
|
||||
REQUIRE(basicShape3);
|
||||
auto basicMask3 = std::unique_ptr<Shape>(static_cast<Shape*>(basicMask->duplicate()));
|
||||
auto basicMask3 = tvg::cast<Shape>(basicMask->duplicate());
|
||||
REQUIRE(basicMask3);
|
||||
|
||||
auto basicShape4 = std::unique_ptr<Shape>(static_cast<Shape*>(basicShape->duplicate()));
|
||||
auto basicShape4 = tvg::cast<Shape>(basicShape->duplicate());
|
||||
REQUIRE(basicShape4);
|
||||
auto basicMask4 = std::unique_ptr<Shape>(static_cast<Shape*>(basicMask->duplicate()));
|
||||
auto basicMask4 = tvg::cast<Shape>(basicMask->duplicate());
|
||||
REQUIRE(basicMask4);
|
||||
|
||||
auto basicShape5 = std::unique_ptr<Shape>(static_cast<Shape*>(basicShape->duplicate()));
|
||||
auto basicShape5 = tvg::cast<Shape>(basicShape->duplicate());
|
||||
REQUIRE(basicShape5);
|
||||
|
||||
REQUIRE(basicShape->composite(move(basicMask), tvg::CompositeMethod::AlphaMask) == Result::Success);
|
||||
|
@ -460,22 +460,22 @@ TEST_CASE("RLE Draw", "[tvgSwEngine]")
|
|||
REQUIRE(basicMask->appendRect(10, 10, 30, 30, 0, 0) == Result::Success);
|
||||
REQUIRE(basicShape->fill(255, 255, 255, 100) == Result::Success);
|
||||
|
||||
auto basicShape2 = std::unique_ptr<Shape>(static_cast<Shape*>(basicShape->duplicate()));
|
||||
auto basicShape2 = tvg::cast<Shape>(basicShape->duplicate());
|
||||
REQUIRE(basicShape2);
|
||||
auto basicMask2 = std::unique_ptr<Shape>(static_cast<Shape*>(basicMask->duplicate()));
|
||||
auto basicMask2 = tvg::cast<Shape>(basicMask->duplicate());
|
||||
REQUIRE(basicMask2);
|
||||
|
||||
auto basicShape3 = std::unique_ptr<Shape>(static_cast<Shape*>(basicShape->duplicate()));
|
||||
auto basicShape3 = tvg::cast<Shape>(basicShape->duplicate());
|
||||
REQUIRE(basicShape3);
|
||||
auto basicMask3 = std::unique_ptr<Shape>(static_cast<Shape*>(basicMask->duplicate()));
|
||||
auto basicMask3 = tvg::cast<Shape>(basicMask->duplicate());
|
||||
REQUIRE(basicMask3);
|
||||
|
||||
auto basicShape4 = std::unique_ptr<Shape>(static_cast<Shape*>(basicShape->duplicate()));
|
||||
auto basicShape4 = tvg::cast<Shape>(basicShape->duplicate());
|
||||
REQUIRE(basicShape4);
|
||||
auto basicMask4 = std::unique_ptr<Shape>(static_cast<Shape*>(basicMask->duplicate()));
|
||||
auto basicMask4 = tvg::cast<Shape>(basicMask->duplicate());
|
||||
REQUIRE(basicMask4);
|
||||
|
||||
auto basicShape5 = std::unique_ptr<Shape>(static_cast<Shape*>(basicShape->duplicate()));
|
||||
auto basicShape5 = tvg::cast<Shape>(basicShape->duplicate());
|
||||
REQUIRE(basicShape5);
|
||||
|
||||
REQUIRE(basicShape->composite(move(basicMask), tvg::CompositeMethod::AlphaMask) == Result::Success);
|
||||
|
|
Loading…
Add table
Reference in a new issue