diff options
Diffstat (limited to 'src/ui/render/render_object.cpp')
-rw-r--r-- | src/ui/render/render_object.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/ui/render/render_object.cpp b/src/ui/render/render_object.cpp index bfa250d6..0828fc9c 100644 --- a/src/ui/render/render_object.cpp +++ b/src/ui/render/render_object.cpp @@ -67,11 +67,18 @@ namespace cru::ui::render template class ShapeRenderObject<Ellipse>; } - void RoundedRectangleStrokeRenderObject::Draw(ID2D1RenderTarget* render_target) + namespace details + { + template ShapeStrokeRenderObject<Rect, D2D1_RECT_F, &ID2D1RenderTarget::DrawRectangle>; + template ShapeStrokeRenderObject<RoundedRect, D2D1_ROUNDED_RECT, &ID2D1RenderTarget::DrawRoundedRectangle>; + template ShapeStrokeRenderObject<Ellipse, D2D1_ELLIPSE, &ID2D1RenderTarget::DrawEllipse>; + } + + namespace details { - const auto brush = GetBrush(); - if (brush != nullptr) - render_target->DrawRoundedRectangle(Convert(GetShape()), GetBrush().Get(), GetStrokeWidth()); + template ShapeFillRenderObject<Rect, D2D1_RECT_F, &ID2D1RenderTarget::FillRectangle>; + template ShapeFillRenderObject<RoundedRect, D2D1_ROUNDED_RECT, &ID2D1RenderTarget::FillRoundedRectangle>; + template ShapeFillRenderObject<Ellipse, D2D1_ELLIPSE, &ID2D1RenderTarget::FillEllipse>; } void CustomDrawHandlerRenderObject::SetDrawHandler(DrawHandler new_draw_handler) |