| /* | |
| * 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) |