diff options
author | crupest <crupest@outlook.com> | 2024-02-08 15:12:29 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2024-02-08 15:12:29 +0800 |
commit | f3af6c7e5b46f4209a4981e5d7be217368f40b15 (patch) | |
tree | e932747ad91a718abb667a6170b21f1521a04d1e /include/cru/ui/render | |
parent | bfe23251a54b036abef9241ba0994c9e51db25b2 (diff) | |
download | cru-f3af6c7e5b46f4209a4981e5d7be217368f40b15.tar.gz cru-f3af6c7e5b46f4209a4981e5d7be217368f40b15.tar.bz2 cru-f3af6c7e5b46f4209a4981e5d7be217368f40b15.zip |
Get rid of GSL.
Diffstat (limited to 'include/cru/ui/render')
-rw-r--r-- | include/cru/ui/render/ScrollBar.h | 64 | ||||
-rw-r--r-- | include/cru/ui/render/TextRenderObject.h | 8 |
2 files changed, 32 insertions, 40 deletions
diff --git a/include/cru/ui/render/ScrollBar.h b/include/cru/ui/render/ScrollBar.h index c65c0345..20b6e6cf 100644 --- a/include/cru/ui/render/ScrollBar.h +++ b/include/cru/ui/render/ScrollBar.h @@ -12,7 +12,6 @@ #include "cru/ui/controls/Control.h" #include "cru/ui/helper/ClickDetector.h" -#include <gsl/pointers> #include <memory> #include <optional> #include <unordered_map> @@ -45,8 +44,7 @@ String CRU_UI_API GenerateScrollBarThemeColorKey(ScrollBarBrushUsageKind usage, class CRU_UI_API ScrollBar : public Object { public: - ScrollBar(gsl::not_null<ScrollRenderObject*> render_object, - Direction direction); + ScrollBar(ScrollRenderObject* render_object, Direction direction); CRU_DELETE_COPY(ScrollBar) CRU_DELETE_MOVE(ScrollBar) @@ -69,12 +67,11 @@ class CRU_UI_API ScrollBar : public Object { void InstallHandlers(controls::Control* control); void UninstallHandlers() { InstallHandlers(nullptr); } - gsl::not_null<std::shared_ptr<platform::graphics::IBrush>> - GetCollapsedThumbBrush(); + std::shared_ptr<platform::graphics::IBrush> GetCollapsedThumbBrush(); // Brush could be nullptr to use the theme brush. void SetCollapsedThumbBrush( std::shared_ptr<platform::graphics::IBrush> brush); - gsl::not_null<std::shared_ptr<platform::graphics::IBrush>> GetBrush( + std::shared_ptr<platform::graphics::IBrush> GetBrush( ScrollBarBrushUsageKind usage, ScrollBarBrushStateKind state); // Brush could be nullptr to use the theme brush. void SetBrush(ScrollBarBrushUsageKind usage, ScrollBarBrushStateKind state, @@ -83,14 +80,14 @@ class CRU_UI_API ScrollBar : public Object { protected: void OnDraw(platform::graphics::IPainter* painter, bool expand); - virtual void DrawUpArrow( - platform::graphics::IPainter* painter, const Rect& area, - gsl::not_null<platform::graphics::IBrush*> arrow_brush, - gsl::not_null<platform::graphics::IBrush*> background_brush) = 0; - virtual void DrawDownArrow( - platform::graphics::IPainter* painter, const Rect& area, - gsl::not_null<platform::graphics::IBrush*> arrow_brush, - gsl::not_null<platform::graphics::IBrush*> background_brush) = 0; + virtual void DrawUpArrow(platform::graphics::IPainter* painter, + const Rect& area, + platform::graphics::IBrush* arrow_brush, + platform::graphics::IBrush* background_brush) = 0; + virtual void DrawDownArrow(platform::graphics::IPainter* painter, + const Rect& area, + platform::graphics::IBrush* arrow_brush, + platform::graphics::IBrush* background_brush) = 0; std::optional<ScrollBarAreaKind> ExpandedHitTest(const Point& point); @@ -119,7 +116,7 @@ class CRU_UI_API ScrollBar : public Object { ScrollBarBrushStateKind GetState(ScrollBarAreaKind area); protected: - gsl::not_null<ScrollRenderObject*> render_object_; + ScrollRenderObject* render_object_; std::unique_ptr<platform::graphics::IGeometry> arrow_geometry_; @@ -154,8 +151,7 @@ class CRU_UI_API ScrollBar : public Object { class CRU_UI_API HorizontalScrollBar : public ScrollBar { public: - explicit HorizontalScrollBar( - gsl::not_null<ScrollRenderObject*> render_object); + explicit HorizontalScrollBar(ScrollRenderObject* render_object); CRU_DELETE_COPY(HorizontalScrollBar) CRU_DELETE_MOVE(HorizontalScrollBar) @@ -163,14 +159,12 @@ class CRU_UI_API HorizontalScrollBar : public ScrollBar { ~HorizontalScrollBar() override = default; protected: - void DrawUpArrow( - platform::graphics::IPainter* painter, const Rect& area, - gsl::not_null<platform::graphics::IBrush*> arrow_brush, - gsl::not_null<platform::graphics::IBrush*> background_brush) override; - void DrawDownArrow( - platform::graphics::IPainter* painter, const Rect& area, - gsl::not_null<platform::graphics::IBrush*> arrow_brush, - gsl::not_null<platform::graphics::IBrush*> background_brush) override; + void DrawUpArrow(platform::graphics::IPainter* painter, const Rect& area, + platform::graphics::IBrush* arrow_brush, + platform::graphics::IBrush* background_brush) override; + void DrawDownArrow(platform::graphics::IPainter* painter, const Rect& area, + platform::graphics::IBrush* arrow_brush, + platform::graphics::IBrush* background_brush) override; bool IsShowBar() override; @@ -187,7 +181,7 @@ class CRU_UI_API HorizontalScrollBar : public ScrollBar { class CRU_UI_API VerticalScrollBar : public ScrollBar { public: - explicit VerticalScrollBar(gsl::not_null<ScrollRenderObject*> render_object); + explicit VerticalScrollBar(ScrollRenderObject* render_object); CRU_DELETE_COPY(VerticalScrollBar) CRU_DELETE_MOVE(VerticalScrollBar) @@ -195,14 +189,12 @@ class CRU_UI_API VerticalScrollBar : public ScrollBar { ~VerticalScrollBar() override = default; protected: - void DrawUpArrow( - platform::graphics::IPainter* painter, const Rect& area, - gsl::not_null<platform::graphics::IBrush*> arrow_brush, - gsl::not_null<platform::graphics::IBrush*> background_brush) override; - void DrawDownArrow( - platform::graphics::IPainter* painter, const Rect& area, - gsl::not_null<platform::graphics::IBrush*> arrow_brush, - gsl::not_null<platform::graphics::IBrush*> background_brush) override; + void DrawUpArrow(platform::graphics::IPainter* painter, const Rect& area, + platform::graphics::IBrush* arrow_brush, + platform::graphics::IBrush* background_brush) override; + void DrawDownArrow(platform::graphics::IPainter* painter, const Rect& area, + platform::graphics::IBrush* arrow_brush, + platform::graphics::IBrush* background_brush) override; bool IsShowBar() override; @@ -220,7 +212,7 @@ class CRU_UI_API VerticalScrollBar : public ScrollBar { // A delegate to draw scrollbar and register related events. class CRU_UI_API ScrollBarDelegate : public Object { public: - explicit ScrollBarDelegate(gsl::not_null<ScrollRenderObject*> render_object); + explicit ScrollBarDelegate(ScrollRenderObject* render_object); CRU_DELETE_COPY(ScrollBarDelegate) CRU_DELETE_MOVE(ScrollBarDelegate) @@ -244,7 +236,7 @@ class CRU_UI_API ScrollBarDelegate : public Object { void UninstallHandlers() { InstallHandlers(nullptr); } private: - gsl::not_null<ScrollRenderObject*> render_object_; + ScrollRenderObject* render_object_; HorizontalScrollBar horizontal_bar_; VerticalScrollBar vertical_bar_; diff --git a/include/cru/ui/render/TextRenderObject.h b/include/cru/ui/render/TextRenderObject.h index f12ac72f..0cb3623d 100644 --- a/include/cru/ui/render/TextRenderObject.h +++ b/include/cru/ui/render/TextRenderObject.h @@ -51,7 +51,7 @@ class CRU_UI_API TextRenderObject : public RenderObject { Index GetLineIndexFromCharIndex(Index char_index); float GetLineHeight(Index line_index); std::vector<Rect> TextRangeRect(const TextRange& text_range); - Rect TextSinglePoint(gsl::index position, bool trailing); + Rect TextSinglePoint(Index position, bool trailing); platform::graphics::TextHitTestResult TextHitTest(const Point& point); std::optional<TextRange> GetSelectionRange() const { @@ -70,8 +70,8 @@ class CRU_UI_API TextRenderObject : public RenderObject { // Caret position can be any value. When it is negative, 0 is used. When it // exceeds the size of the string, the size of the string is used. - gsl::index GetCaretPosition() const { return caret_position_; } - void SetCaretPosition(gsl::index position); + Index GetCaretPosition() const { return caret_position_; } + void SetCaretPosition(Index position); // Lefttop relative to content lefttop. Rect GetCaretRectInContent(); @@ -115,7 +115,7 @@ class CRU_UI_API TextRenderObject : public RenderObject { std::shared_ptr<platform::graphics::IBrush> selection_brush_; bool draw_caret_ = false; - gsl::index caret_position_ = 0; + Index caret_position_ = 0; std::shared_ptr<platform::graphics::IBrush> caret_brush_; float caret_width_ = default_caret_width; |