test: added viewport test

This commit is contained in:
Hermet Park 2024-05-14 16:22:20 +09:00 committed by Hermet Park
parent de75c58b89
commit a8de40818e

View file

@ -310,4 +310,38 @@ TEST_CASE("Asynchronized Drawing", "[tvgSwCanvas]")
REQUIRE(canvas->sync() == Result::Success);
REQUIRE(Initializer::term() == Result::Success);
}
}
TEST_CASE("Viewport", "[tvgSwCanvas]")
{
REQUIRE(Initializer::init(0) == Result::Success);
auto canvas = SwCanvas::gen();
REQUIRE(canvas);
REQUIRE(canvas->viewport(25, 25, 100, 100) == Result::Success);
uint32_t buffer[100*100];
REQUIRE(canvas->target(buffer, 100, 100, 100, SwCanvas::Colorspace::ARGB8888) == Result::Success);
REQUIRE(canvas->viewport(25, 25, 50, 50) == Result::Success);
auto shape = Shape::gen();
REQUIRE(shape);
REQUIRE(shape->appendRect(0, 0, 100, 100) == Result::Success);
REQUIRE(shape->fill(255, 255, 255, 255) == Result::Success);
REQUIRE(canvas->push(std::move(shape)) == Result::Success);
//Negative, not allowed
REQUIRE(canvas->viewport(15, 25, 5, 5) == Result::InsufficientCondition);
REQUIRE(canvas->draw() == Result::Success);
//Negative, not allowed
REQUIRE(canvas->viewport(25, 25, 10, 10) == Result::InsufficientCondition);
REQUIRE(canvas->sync() == Result::Success);
REQUIRE(Initializer::term() == Result::Success);
}