From 835ec1f25454cd14c5eda45b5bcb614c894fc948 Mon Sep 17 00:00:00 2001 From: crupest Date: Tue, 16 Nov 2021 21:02:21 +0800 Subject: ... --- include/cru/platform/graphics/TextLayout.hpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'include/cru/platform') diff --git a/include/cru/platform/graphics/TextLayout.hpp b/include/cru/platform/graphics/TextLayout.hpp index 5f98696d..d10c9f22 100644 --- a/include/cru/platform/graphics/TextLayout.hpp +++ b/include/cru/platform/graphics/TextLayout.hpp @@ -5,6 +5,8 @@ #include namespace cru::platform::graphics { +// Requirement: +// All text must be left-top aligned. struct ITextLayout : virtual IGraphicsResource { virtual String GetText() = 0; virtual void SetText(String new_text) = 0; @@ -15,6 +17,9 @@ struct ITextLayout : virtual IGraphicsResource { virtual void SetMaxWidth(float max_width) = 0; virtual void SetMaxHeight(float max_height) = 0; + virtual bool IsEditMode() = 0; + virtual void SetEditMode(bool enable) = 0; + virtual Rect GetTextBounds(bool includingTrailingSpace = false) = 0; virtual std::vector TextRangeRect(const TextRange& text_range) = 0; // Width is always 0, height is line height. -- cgit v1.2.3