| /* |
| * Copyright 2022 Rive |
| */ |
| |
| #include "gm.hpp" |
| #include "gmutils.hpp" |
| |
| using namespace rivegm; |
| |
| class OvalGM : public GM |
| { |
| public: |
| OvalGM() : GM(410, 410) {} |
| |
| void onDraw(rive::Renderer* ren) override |
| { |
| Paint paint; |
| |
| paint->color(0xFFFF0000); |
| draw_oval(ren, {10, 10, 100, 50}, paint.get()); |
| paint->color(0xFF00FF00); |
| draw_oval(ren, {10, 60, 50, 200}, paint.get()); |
| |
| rive::AABB r = {70, 70, 200, 200}; |
| paint->color(0xFF0000FF); |
| |
| Path path; |
| path_addOval(path, r, PathDirection::cw); |
| path_addOval(path, r.inset(20, 20), PathDirection::ccw); |
| ren->drawPath(path, paint); |
| |
| path = Path(); |
| r = {210, 10, 210 + 100, 10 + 100}; |
| path_addOval(path, r); |
| path_addOval(path, r.offset(80, 30)); |
| path_addOval(path, r.offset(30, 80)); |
| paint->color(0xFFCC8844); |
| ren->drawPath(path, paint); |
| |
| ren->translate(-95, 205); |
| path->fillRule(rive::FillRule::evenOdd); |
| paint->color(0xFF4488CC); |
| ren->drawPath(path, paint); |
| } |
| }; |
| GMREGISTER(oval, return new OvalGM) |