diff options
Diffstat (limited to 'include/cru')
-rw-r--r-- | include/cru/platform/graphics/Geometry.h | 6 | ||||
-rw-r--r-- | include/cru/platform/graphics/cairo/CairoGeometry.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/include/cru/platform/graphics/Geometry.h b/include/cru/platform/graphics/Geometry.h index 19620789..d1045b59 100644 --- a/include/cru/platform/graphics/Geometry.h +++ b/include/cru/platform/graphics/Geometry.h @@ -5,6 +5,12 @@ namespace cru::platform::graphics { struct CRU_PLATFORM_GRAPHICS_API IGeometry : virtual IGraphicsResource { + /** + * \remarks Because I designed CreateStrokeGeometry first, which might be not + * that rational. So the default implementation calls that method and do the + * test. New implementation should override this. + */ + virtual bool StrokeContains(float width, const Point& point); virtual bool FillContains(const Point& point) = 0; virtual Rect GetBounds() = 0; virtual std::unique_ptr<IGeometry> Transform(const Matrix& matrix) = 0; diff --git a/include/cru/platform/graphics/cairo/CairoGeometry.h b/include/cru/platform/graphics/cairo/CairoGeometry.h index f8391670..f510d687 100644 --- a/include/cru/platform/graphics/cairo/CairoGeometry.h +++ b/include/cru/platform/graphics/cairo/CairoGeometry.h @@ -13,6 +13,7 @@ class CRU_PLATFORM_GRAPHICS_CAIRO_API CairoGeometry : public CairoResource, bool auto_destroy = true); ~CairoGeometry(); + bool StrokeContains(float width, const Point& point) override; bool FillContains(const Point& point) override; Rect GetBounds() override; std::unique_ptr<IGeometry> Transform(const Matrix& matrix) override; |