diff options
Diffstat (limited to 'include/cru/ui/render')
-rw-r--r-- | include/cru/ui/render/CanvasRenderObject.h | 17 | ||||
-rw-r--r-- | include/cru/ui/render/StackLayoutRenderObject.h | 5 |
2 files changed, 22 insertions, 0 deletions
diff --git a/include/cru/ui/render/CanvasRenderObject.h b/include/cru/ui/render/CanvasRenderObject.h index 8343a5f5..2488dc91 100644 --- a/include/cru/ui/render/CanvasRenderObject.h +++ b/include/cru/ui/render/CanvasRenderObject.h @@ -4,6 +4,23 @@ #include "cru/common/Event.h" namespace cru::ui::render { +class CanvasPaintEventArgs { + public: + CanvasPaintEventArgs(platform::graphics::IPainter* painter, + const Size& paint_size) + : painter_(painter), paint_size_(paint_size) {} + CRU_DEFAULT_COPY(CanvasPaintEventArgs) + CRU_DEFAULT_MOVE(CanvasPaintEventArgs) + ~CanvasPaintEventArgs() = default; + + platform::graphics::IPainter* GetPainter() const { return painter_; } + Size GetPaintSize() const { return paint_size_; } + + private: + platform::graphics::IPainter* painter_; + Size paint_size_; +}; + // Layout logic: // If no preferred size is set. Then (100, 100) is used and then coerced to // required range. diff --git a/include/cru/ui/render/StackLayoutRenderObject.h b/include/cru/ui/render/StackLayoutRenderObject.h index 65b81b3d..b522ecbb 100644 --- a/include/cru/ui/render/StackLayoutRenderObject.h +++ b/include/cru/ui/render/StackLayoutRenderObject.h @@ -2,6 +2,11 @@ #include "LayoutRenderObject.h" namespace cru::ui::render { +struct StackChildLayoutData { + std::optional<Alignment> horizontal; + std::optional<Alignment> vertical; +}; + // Measure Logic: // Following rules are applied both horizontally and vertically. // |