aboutsummaryrefslogtreecommitdiff
path: root/include/cru/ui
diff options
context:
space:
mode:
Diffstat (limited to 'include/cru/ui')
-rw-r--r--include/cru/ui/components/Menu.h8
-rw-r--r--include/cru/ui/controls/TextBlock.h2
-rw-r--r--include/cru/ui/controls/TextBox.h2
-rw-r--r--include/cru/ui/controls/TextHostControlService.h31
-rw-r--r--include/cru/ui/render/ScrollBar.h64
-rw-r--r--include/cru/ui/render/TextRenderObject.h8
-rw-r--r--include/cru/ui/style/StyleRuleSet.h8
7 files changed, 56 insertions, 67 deletions
diff --git a/include/cru/ui/components/Menu.h b/include/cru/ui/components/Menu.h
index f4e54c9f..82766aa5 100644
--- a/include/cru/ui/components/Menu.h
+++ b/include/cru/ui/components/Menu.h
@@ -48,13 +48,11 @@ class CRU_UI_API Menu : public Component {
public:
controls::Control* GetRootControl() override { return &container_; }
- gsl::index GetItemCount() const {
- return static_cast<gsl::index>(items_.size());
- }
+ Index GetItemCount() const { return static_cast<Index>(items_.size()); }
void AddItem(Component* component) { AddItemAt(component, GetItemCount()); }
- void AddItemAt(Component* component, gsl::index index);
- Component* RemoveItemAt(gsl::index index);
+ void AddItemAt(Component* component, Index index);
+ Component* RemoveItemAt(Index index);
void ClearItems();
void AddTextItem(String text, std::function<void()> on_click) {
diff --git a/include/cru/ui/controls/TextBlock.h b/include/cru/ui/controls/TextBlock.h
index 12c9d2f9..ad44ad2d 100644
--- a/include/cru/ui/controls/TextBlock.h
+++ b/include/cru/ui/controls/TextBlock.h
@@ -47,7 +47,7 @@ class CRU_UI_API TextBlock : public NoChildControl,
}
void SetTextColor(const Color& color);
- gsl::not_null<render::TextRenderObject*> GetTextRenderObject() override;
+ render::TextRenderObject* GetTextRenderObject() override;
render::ScrollRenderObject* GetScrollRenderObject() override {
return nullptr;
}
diff --git a/include/cru/ui/controls/TextBox.h b/include/cru/ui/controls/TextBox.h
index c3d8fc4d..9388d3fd 100644
--- a/include/cru/ui/controls/TextBox.h
+++ b/include/cru/ui/controls/TextBox.h
@@ -29,7 +29,7 @@ class CRU_UI_API TextBox : public NoChildControl,
render::RenderObject* GetRenderObject() const override;
- gsl::not_null<render::TextRenderObject*> GetTextRenderObject() override;
+ render::TextRenderObject* GetTextRenderObject() override;
render::ScrollRenderObject* GetScrollRenderObject() override;
bool GetMultiLine() const;
diff --git a/include/cru/ui/controls/TextHostControlService.h b/include/cru/ui/controls/TextHostControlService.h
index ae86e1e9..7efd7760 100644
--- a/include/cru/ui/controls/TextHostControlService.h
+++ b/include/cru/ui/controls/TextHostControlService.h
@@ -23,7 +23,7 @@ namespace cru::ui::controls {
constexpr int k_default_caret_blink_duration = 500;
struct CRU_UI_API ITextHostControl : virtual Interface {
- virtual gsl::not_null<render::TextRenderObject*> GetTextRenderObject() = 0;
+ virtual render::TextRenderObject* GetTextRenderObject() = 0;
// May return nullptr.
virtual render::ScrollRenderObject* GetScrollRenderObject() = 0;
};
@@ -48,8 +48,8 @@ class TextControlMovePattern : public Object {
static std::vector<TextControlMovePattern> kDefaultPatterns;
using MoveFunction =
- std::function<gsl::index(TextHostControlService* service, StringView text,
- gsl::index current_position)>;
+ std::function<Index(TextHostControlService* service, StringView text,
+ Index current_position)>;
TextControlMovePattern(String name, helper::ShortcutKeyBind key_bind,
MoveFunction move_function)
@@ -65,8 +65,8 @@ class TextControlMovePattern : public Object {
public:
String GetName() const { return name_; }
helper::ShortcutKeyBind GetKeyBind() const { return key_bind_; }
- gsl::index Move(TextHostControlService* service, StringView text,
- gsl::index current_position) const {
+ Index Move(TextHostControlService* service, StringView text,
+ Index current_position) const {
return move_function_(service, text, current_position);
}
@@ -80,7 +80,7 @@ class CRU_UI_API TextHostControlService : public Object {
CRU_DEFINE_CLASS_LOG_TAG(u"TextControlService")
public:
- TextHostControlService(gsl::not_null<Control*> control);
+ TextHostControlService(Control* control);
CRU_DELETE_COPY(TextHostControlService)
CRU_DELETE_MOVE(TextHostControlService)
@@ -105,13 +105,12 @@ class CRU_UI_API TextHostControlService : public Object {
StringView GetTextView() { return this->text_; }
void SetText(String text, bool stop_composition = false);
- void InsertText(gsl::index position, StringView text,
+ void InsertText(Index position, StringView text,
bool stop_composition = false);
- void DeleteChar(gsl::index position, bool stop_composition = false);
+ void DeleteChar(Index position, bool stop_composition = false);
// Return the position of deleted character.
- gsl::index DeleteCharPrevious(gsl::index position,
- bool stop_composition = false);
+ Index DeleteCharPrevious(Index position, bool stop_composition = false);
void DeleteText(TextRange range, bool stop_composition = false);
void CancelComposition();
@@ -124,17 +123,17 @@ class CRU_UI_API TextHostControlService : public Object {
int GetCaretBlinkDuration() { return caret_blink_duration_; }
void SetCaretBlinkDuration(int milliseconds);
- gsl::index GetCaretPosition() { return selection_.GetEnd(); }
+ Index GetCaretPosition() { return selection_.GetEnd(); }
TextRange GetSelection() { return selection_; }
StringView GetSelectedText();
- void SetSelection(gsl::index caret_position);
+ void SetSelection(Index caret_position);
void SetSelection(TextRange selection, bool scroll_to_caret = true);
void SelectAll();
- void ChangeSelectionEnd(gsl::index new_end);
+ void ChangeSelectionEnd(Index new_end);
void AbortSelection();
void DeleteSelectedText();
@@ -150,7 +149,7 @@ class CRU_UI_API TextHostControlService : public Object {
IEvent<std::nullptr_t>* TextChangeEvent() { return &text_change_event_; }
- gsl::not_null<render::TextRenderObject*> GetTextRenderObject();
+ render::TextRenderObject* GetTextRenderObject();
render::ScrollRenderObject* GetScrollRenderObject();
private:
@@ -192,8 +191,8 @@ class CRU_UI_API TextHostControlService : public Object {
void OpenContextMenu(const Point& position, ContextMenuItem items);
private:
- gsl::not_null<Control*> control_;
- gsl::not_null<ITextHostControl*> text_host_control_;
+ Control* control_;
+ ITextHostControl* text_host_control_;
Event<std::nullptr_t> text_change_event_;
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;
diff --git a/include/cru/ui/style/StyleRuleSet.h b/include/cru/ui/style/StyleRuleSet.h
index 8f3495bc..080c2eb8 100644
--- a/include/cru/ui/style/StyleRuleSet.h
+++ b/include/cru/ui/style/StyleRuleSet.h
@@ -27,16 +27,16 @@ class CRU_UI_API StyleRuleSet : public Object, public model::IListChangeNotify {
std::shared_ptr<StyleRuleSet> GetParent() const { return parent_; }
void SetParent(std::shared_ptr<StyleRuleSet> parent);
- gsl::index GetSize() const { return static_cast<gsl::index>(rules_.size()); }
+ Index GetSize() const { return static_cast<Index>(rules_.size()); }
const std::vector<StyleRule>& GetRules() const { return rules_; }
void AddStyleRule(StyleRule rule) {
AddStyleRule(std::move(rule), GetSize());
}
- void AddStyleRule(StyleRule rule, gsl::index index);
+ void AddStyleRule(StyleRule rule, Index index);
- void RemoveStyleRule(gsl::index index, gsl::index count = 1);
+ void RemoveStyleRule(Index index, Index count = 1);
const StyleRule& GetStyleRule(Index index) const { return rules_[index]; }
void SetStyleRule(Index index, StyleRule rule);
@@ -45,7 +45,7 @@ class CRU_UI_API StyleRuleSet : public Object, public model::IListChangeNotify {
void Set(const StyleRuleSet& other, bool set_parent = false);
- const StyleRule& operator[](gsl::index index) const { return rules_[index]; }
+ const StyleRule& operator[](Index index) const { return rules_[index]; }
// Triggered whenever a change happened to this (rule add or remove, parent
// change ...). Subscribe to this and update style change listeners and style.