| /* | |
| * Copyright 2022 Rive | |
| */ | |
| #include "rive/hittest_command_path.hpp" | |
| using namespace rive; | |
| HitTestCommandPath::HitTestCommandPath(const IAABB& area) : m_Area(area) { m_Tester.reset(m_Area); } | |
| bool HitTestCommandPath::wasHit() { return m_Tester.test(m_FillRule); } | |
| void HitTestCommandPath::rewind() { m_Tester.reset(m_Area); } | |
| void HitTestCommandPath::fillRule(FillRule value) | |
| { | |
| // remember this here, and pass it to test() | |
| m_FillRule = value; | |
| } | |
| void HitTestCommandPath::addPath(CommandPath* path, const Mat2D& transform) | |
| { | |
| assert(false); | |
| // not supported | |
| } | |
| RenderPath* HitTestCommandPath::renderPath() | |
| { | |
| assert(false); | |
| // not supported | |
| return nullptr; | |
| } | |
| void HitTestCommandPath::moveTo(float x, float y) { m_Tester.move(m_Xform * Vec2D(x, y)); } | |
| void HitTestCommandPath::lineTo(float x, float y) { m_Tester.line(m_Xform * Vec2D(x, y)); } | |
| void HitTestCommandPath::cubicTo(float ox, float oy, float ix, float iy, float x, float y) | |
| { | |
| m_Tester.cubic(m_Xform * Vec2D(ox, oy), m_Xform * Vec2D(ix, iy), m_Xform * Vec2D(x, y)); | |
| } | |
| void HitTestCommandPath::close() { m_Tester.close(); } |