| /* |
| * Copyright 2022 Rive |
| */ |
| |
| #include "gm.hpp" |
| #include "gmutils.hpp" |
| |
| #include "assets/batdude.png.hpp" |
| #include "assets/nomoon.png.hpp" |
| |
| using namespace rivegm; |
| |
| class ImageGM : public GM |
| { |
| public: |
| ImageGM() : GM(530, 310) {} |
| |
| void onDraw(rive::Renderer* ren) override |
| { |
| rive::Span<uint8_t> images[] = { |
| assets::batdude_png(), |
| assets::nomoon_png(), |
| }; |
| |
| rive::AABB r = {0, 0, 250, 250}; |
| |
| ren->save(); |
| ren->translate(10, 10); |
| for (auto image : images) |
| { |
| auto img = LoadImage(image); |
| if (!img) |
| { |
| ren->restore(); |
| Paint p; |
| p->color(0xFFFF0000); |
| draw_rect(ren, {0, 0, 530, 310}, p); |
| return; |
| } |
| draw_image(ren, img.get(), r); |
| |
| ren->translate(r.width() + 10, 0); |
| } |
| ren->restore(); |
| } |
| }; |
| GMREGISTER(image, return new ImageGM) |