blob: 142a89f0ee3235846b31c514e923163d11d8459c [file] [log] [blame] [edit]
/*
* 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)