aboutsummaryrefslogtreecommitdiff
path: root/include/cru/ui/render
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2024-02-08 15:12:29 +0800
committercrupest <crupest@outlook.com>2024-02-08 15:12:29 +0800
commitf3af6c7e5b46f4209a4981e5d7be217368f40b15 (patch)
treee932747ad91a718abb667a6170b21f1521a04d1e /include/cru/ui/render
parentbfe23251a54b036abef9241ba0994c9e51db25b2 (diff)
downloadcru-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.h64
-rw-r--r--include/cru/ui/render/TextRenderObject.h8
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;