| #include <rive/file.hpp> |
| #include <rive/node.hpp> |
| #include <rive/nested_artboard.hpp> |
| #include <rive/shapes/paint/shape_paint.hpp> |
| #include "rive_file_reader.hpp" |
| |
| TEST_CASE("Nested artboard background renders with opacity", "[file]") |
| { |
| auto file = ReadRiveFile("../../test/assets/nested_artboard_opacity.riv"); |
| |
| auto mainArtboard = file->artboard()->instance(); |
| REQUIRE(mainArtboard->find("Parent Artboard") != nullptr); |
| auto artboard = mainArtboard->find<rive::Artboard>("Parent Artboard"); |
| artboard->updateComponents(); |
| REQUIRE(artboard->is<rive::Artboard>()); |
| REQUIRE(artboard->find("Nested artboard container") != nullptr); |
| auto nestedArtboardContainer = |
| artboard->find<rive::NestedArtboard>("Nested artboard container"); |
| REQUIRE(nestedArtboardContainer->artboard() != nullptr); |
| auto nestedArtboard = nestedArtboardContainer->artboard(); |
| nestedArtboard->updateComponents(); |
| auto paints = nestedArtboard->shapePaints(); |
| REQUIRE(paints.size() == 1); |
| auto paint = paints[0]; |
| REQUIRE(paint->is<rive::ShapePaint>()); |
| REQUIRE(paint->renderOpacity() == 0.3275f); |
| } |