aboutsummaryrefslogtreecommitdiff
path: root/include/cru/ui/render
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-05-10 19:34:01 +0800
committercrupest <crupest@outlook.com>2021-05-10 19:34:01 +0800
commit43a1883ac80ce3ff4782cd74e5ad16a03887c2aa (patch)
treedaa3c374813f478e0ce99dfca858393b6ad95a3a /include/cru/ui/render
parentae5042599688af2d8b462e49e3cd103b6ec92fe9 (diff)
downloadcru-43a1883ac80ce3ff4782cd74e5ad16a03887c2aa.tar.gz
cru-43a1883ac80ce3ff4782cd74e5ad16a03887c2aa.tar.bz2
cru-43a1883ac80ce3ff4782cd74e5ad16a03887c2aa.zip
...
Diffstat (limited to 'include/cru/ui/render')
-rw-r--r--include/cru/ui/render/ScrollBar.hpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/include/cru/ui/render/ScrollBar.hpp b/include/cru/ui/render/ScrollBar.hpp
index f72aef9b..8f18c821 100644
--- a/include/cru/ui/render/ScrollBar.hpp
+++ b/include/cru/ui/render/ScrollBar.hpp
@@ -38,6 +38,10 @@ enum class ScrollBarAreaKind {
};
enum class ScrollBarBrushUsageKind { Arrow, ArrowBackground, Slot, Thumb };
+enum class ScrollBarBrushStateKind { Normal, Hover, Press, Disable };
+
+std::u16string GenerateScrollBarThemeColorKey(ScrollBarBrushUsageKind usage,
+ ScrollBarBrushStateKind state);
class ScrollBar : public Object {
public:
@@ -71,9 +75,9 @@ class ScrollBar : public Object {
void SetCollapsedThumbBrush(
std::shared_ptr<platform::graphics::IBrush> brush);
gsl::not_null<std::shared_ptr<platform::graphics::IBrush>> GetBrush(
- ScrollBarBrushUsageKind kind, helper::ClickState click_state);
+ ScrollBarBrushUsageKind usage, ScrollBarBrushStateKind state);
// Brush could be nullptr to use the theme brush.
- void SetBrush(ScrollBarBrushUsageKind kind, helper::ClickState click_state,
+ void SetBrush(ScrollBarBrushUsageKind usage, ScrollBarBrushStateKind state,
std::shared_ptr<platform::graphics::IBrush> brush);
protected:
@@ -124,7 +128,7 @@ class ScrollBar : public Object {
std::shared_ptr<platform::graphics::IBrush> collapsed_thumb_brush_;
std::unordered_map<
ScrollBarBrushUsageKind,
- std::unordered_map<helper::ClickState,
+ std::unordered_map<ScrollBarBrushStateKind,
std::shared_ptr<platform::graphics::IBrush>>>
brushes_;