diff options
Diffstat (limited to 'src/ui')
| -rw-r--r-- | src/ui/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | src/ui/Helper.cpp | 15 | ||||
| -rw-r--r-- | src/ui/Helper.h | 7 | ||||
| -rw-r--r-- | src/ui/controls/TextHostControlService.cpp | 12 | ||||
| -rw-r--r-- | src/ui/mapper/BrushMapper.cpp | 8 | ||||
| -rw-r--r-- | src/ui/mapper/CursorMapper.cpp | 8 | ||||
| -rw-r--r-- | src/ui/mapper/FontMapper.cpp | 6 | ||||
| -rw-r--r-- | src/ui/render/BorderRenderObject.cpp | 5 | ||||
| -rw-r--r-- | src/ui/render/ScrollBar.cpp | 16 | ||||
| -rw-r--r-- | src/ui/render/TextRenderObject.cpp | 5 | ||||
| -rw-r--r-- | src/ui/style/Styler.cpp | 25 |
11 files changed, 48 insertions, 60 deletions
diff --git a/src/ui/CMakeLists.txt b/src/ui/CMakeLists.txt index d2188e0b..0dd5bc32 100644 --- a/src/ui/CMakeLists.txt +++ b/src/ui/CMakeLists.txt @@ -1,5 +1,4 @@ add_library(CruUi - Helper.cpp ThemeManager.cpp ThemeResourceDictionary.cpp components/Component.cpp diff --git a/src/ui/Helper.cpp b/src/ui/Helper.cpp deleted file mode 100644 index abfd001b..00000000 --- a/src/ui/Helper.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include "Helper.h" - -#include "cru/platform/graphics/Factory.h" -#include "cru/platform/gui/UiApplication.h" - -namespace cru::ui { -using cru::platform::graphics::IGraphicsFactory; -using cru::platform::gui::IUiApplication; - -IGraphicsFactory* GetGraphicsFactory() { - return IUiApplication::GetInstance()->GetGraphicsFactory(); -} - -IUiApplication* GetUiApplication() { return IUiApplication::GetInstance(); } -} // namespace cru::ui diff --git a/src/ui/Helper.h b/src/ui/Helper.h deleted file mode 100644 index 625ba6e3..00000000 --- a/src/ui/Helper.h +++ /dev/null @@ -1,7 +0,0 @@ -#pragma once -#include <cru/platform/gui/UiApplication.h> - -namespace cru::ui { -cru::platform::graphics::IGraphicsFactory* GetGraphicsFactory(); -cru::platform::gui::IUiApplication* GetUiApplication(); -} // namespace cru::ui diff --git a/src/ui/controls/TextHostControlService.cpp b/src/ui/controls/TextHostControlService.cpp index 5780b6d7..39c28393 100644 --- a/src/ui/controls/TextHostControlService.cpp +++ b/src/ui/controls/TextHostControlService.cpp @@ -1,12 +1,11 @@ #include "cru/ui/controls/TextHostControlService.h" -#include <cru/platform/gui/Input.h> -#include "../Helper.h" #include "cru/base/Base.h" #include "cru/base/StringUtil.h" #include "cru/base/log/Logger.h" #include "cru/platform/gui/Clipboard.h" #include "cru/platform/gui/Cursor.h" +#include "cru/platform/gui/Input.h" #include "cru/platform/gui/InputMethod.h" #include "cru/platform/gui/UiApplication.h" #include "cru/platform/gui/Window.h" @@ -22,6 +21,7 @@ namespace cru::ui::controls { using namespace cru::string; +using platform::gui::IUiApplication; TextControlMovePattern TextControlMovePattern::kLeft( "Left", helper::ShortcutKeyBind(platform::gui::KeyCode::Left), @@ -173,7 +173,7 @@ void TextHostControlService::SetEnabled(bool enable) { this->SetupCaret(); } this->control_->SetCursor( - GetUiApplication()->GetCursorManager()->GetSystemCursor( + IUiApplication::GetInstance()->GetCursorManager()->GetSystemCursor( platform::gui::SystemCursorType::IBeam)); } else { this->AbortSelection(); @@ -406,19 +406,19 @@ void TextHostControlService::Cut() { void TextHostControlService::Copy() { auto selected_text = GetSelectedText(); if (selected_text.size() == 0) return; - auto clipboard = GetUiApplication()->GetClipboard(); + auto clipboard = IUiApplication::GetInstance()->GetClipboard(); clipboard->SetText(std::string(selected_text)); } void TextHostControlService::Paste() { - auto clipboard = GetUiApplication()->GetClipboard(); + auto clipboard = IUiApplication::GetInstance()->GetClipboard(); auto text = clipboard->GetText(); if (text.empty()) return; ReplaceSelectedText(text); } void TextHostControlService::SetupCaret() { - const auto application = GetUiApplication(); + const auto application = IUiApplication::GetInstance(); this->GetTextRenderObject()->SetDrawCaret(true); this->caret_timer_canceler_.Reset(application->SetInterval( std::chrono::milliseconds(this->caret_blink_duration_), diff --git a/src/ui/mapper/BrushMapper.cpp b/src/ui/mapper/BrushMapper.cpp index 4f17bd12..6a3d7941 100644 --- a/src/ui/mapper/BrushMapper.cpp +++ b/src/ui/mapper/BrushMapper.cpp @@ -1,11 +1,11 @@ #include "cru/ui/mapper/BrushMapper.h" -#include "../Helper.h" #include "cru/base/StringUtil.h" +#include "cru/base/xml/XmlNode.h" #include "cru/platform/Color.h" #include "cru/platform/graphics/Brush.h" #include "cru/platform/graphics/Factory.h" +#include "cru/platform/gui/UiApplication.h" #include "cru/ui/mapper/MapperRegistry.h" -#include "cru/base/xml/XmlNode.h" #include <memory> @@ -35,6 +35,8 @@ std::shared_ptr<platform::graphics::IBrush> BrushMapper::DoMapFromXml( } } - return GetGraphicsFactory()->CreateSolidColorBrush(color); + return platform::gui::IUiApplication::GetInstance() + ->GetGraphicsFactory() + ->CreateSolidColorBrush(color); } } // namespace cru::ui::mapper diff --git a/src/ui/mapper/CursorMapper.cpp b/src/ui/mapper/CursorMapper.cpp index 6a08b788..6dfa942f 100644 --- a/src/ui/mapper/CursorMapper.cpp +++ b/src/ui/mapper/CursorMapper.cpp @@ -1,5 +1,4 @@ #include "cru/ui/mapper/CursorMapper.h" -#include "../Helper.h" #include "cru/platform/gui/Cursor.h" #include "cru/platform/gui/UiApplication.h" @@ -7,14 +6,15 @@ namespace cru::ui::mapper { using cru::platform::gui::ICursor; using cru::platform::gui::SystemCursorType; -bool CursorMapper::XmlElementIsOfThisType(xml::XmlElementNode *node) { +bool CursorMapper::XmlElementIsOfThisType(xml::XmlElementNode* node) { return cru::string::CaseInsensitiveCompare(node->GetTag(), "Cursor") == 0; } std::shared_ptr<ICursor> CursorMapper::DoMapFromString(std::string str) { if (str.empty()) return nullptr; - auto cursor_manager = GetUiApplication()->GetCursorManager(); + auto cursor_manager = + platform::gui::IUiApplication::GetInstance()->GetCursorManager(); if (cru::string::CaseInsensitiveCompare(str, "arrow") == 0) { return cursor_manager->GetSystemCursor(SystemCursorType::Arrow); @@ -27,7 +27,7 @@ std::shared_ptr<ICursor> CursorMapper::DoMapFromString(std::string str) { } } -std::shared_ptr<ICursor> CursorMapper::DoMapFromXml(xml::XmlElementNode *node) { +std::shared_ptr<ICursor> CursorMapper::DoMapFromXml(xml::XmlElementNode* node) { auto value_attr = node->GetOptionalAttributeValueCaseInsensitive("value"); if (!value_attr) return nullptr; return DoMapFromString(*value_attr); diff --git a/src/ui/mapper/FontMapper.cpp b/src/ui/mapper/FontMapper.cpp index 6ba37964..8f83116d 100644 --- a/src/ui/mapper/FontMapper.cpp +++ b/src/ui/mapper/FontMapper.cpp @@ -1,7 +1,7 @@ #include "cru/ui/mapper/FontMapper.h" -#include "../Helper.h" #include "cru/base/StringUtil.h" #include "cru/platform/graphics/Factory.h" +#include "cru/platform/gui/UiApplication.h" namespace cru::ui::mapper { bool FontMapper::XmlElementIsOfThisType(xml::XmlElementNode* node) { @@ -18,6 +18,8 @@ std::shared_ptr<platform::graphics::IFont> FontMapper::DoMapFromXml( font_size_attr ? cru::string::ParseToNumber<float>(*font_size_attr).value : 16.0f; - return GetGraphicsFactory()->CreateFont(font_family, font_size); + return platform::gui::IUiApplication::GetInstance() + ->GetGraphicsFactory() + ->CreateFont(font_family, font_size); } } // namespace cru::ui::mapper diff --git a/src/ui/render/BorderRenderObject.cpp b/src/ui/render/BorderRenderObject.cpp index 674f82b1..954bf6c7 100644 --- a/src/ui/render/BorderRenderObject.cpp +++ b/src/ui/render/BorderRenderObject.cpp @@ -1,10 +1,10 @@ #include "cru/ui/render/BorderRenderObject.h" -#include "../Helper.h" #include "cru/base/log/Logger.h" #include "cru/platform/graphics/Factory.h" #include "cru/platform/graphics/Geometry.h" #include "cru/platform/graphics/Painter.h" +#include "cru/platform/gui/UiApplication.h" #include "cru/ui/DebugFlags.h" #include "cru/ui/render/RenderObject.h" @@ -224,7 +224,8 @@ void BorderRenderObject::RecreateGeometry() { const Rect outer_rect{margin.left, margin.top, size.width - margin.GetHorizontalTotal(), size.height - margin.GetVerticalTotal()}; - const auto graph_factory = GetGraphicsFactory(); + const auto graph_factory = + platform::gui::IUiApplication::GetInstance()->GetGraphicsFactory(); std::unique_ptr<platform::graphics::IGeometryBuilder> builder{ graph_factory->CreateGeometryBuilder()}; f(builder.get(), outer_rect, outer_radius); diff --git a/src/ui/render/ScrollBar.cpp b/src/ui/render/ScrollBar.cpp index 79c2ea42..9e35cd30 100644 --- a/src/ui/render/ScrollBar.cpp +++ b/src/ui/render/ScrollBar.cpp @@ -1,11 +1,11 @@ #include "cru/ui/render/ScrollBar.h" -#include "../Helper.h" #include "cru/platform/GraphicsBase.h" #include "cru/platform/graphics/Factory.h" #include "cru/platform/graphics/Geometry.h" #include "cru/platform/graphics/Painter.h" #include "cru/platform/gui/Cursor.h" +#include "cru/platform/gui/UiApplication.h" #include "cru/ui/Base.h" #include "cru/ui/ThemeManager.h" #include "cru/ui/controls/ControlHost.h" @@ -71,7 +71,9 @@ std::string GenerateScrollBarThemeColorKey(ScrollBarBrushUsageKind usage, namespace { std::unique_ptr<platform::graphics::IGeometry> CreateScrollBarArrowGeometry() { - auto geometry_builder = GetGraphicsFactory()->CreateGeometryBuilder(); + auto geometry_builder = platform::gui::IUiApplication::GetInstance() + ->GetGraphicsFactory() + ->CreateGeometryBuilder(); geometry_builder->MoveTo({-kScrollBarArrowHeight / 2, 0}); geometry_builder->LineTo({kScrollBarArrowHeight / 2, kScrollBarArrowHeight}); geometry_builder->LineTo({kScrollBarArrowHeight / 2, -kScrollBarArrowHeight}); @@ -319,8 +321,9 @@ void ScrollBar::SetCursor() { if (const auto control = render_object_->GetAttachedControl()) { if (const auto host = control->GetControlHost()) { host->SetOverrideCursor( - GetUiApplication()->GetCursorManager()->GetSystemCursor( - platform::gui::SystemCursorType::Arrow)); + platform::gui::IUiApplication::GetInstance() + ->GetCursorManager() + ->GetSystemCursor(platform::gui::SystemCursorType::Arrow)); cursor_overridden_ = true; } } @@ -339,8 +342,9 @@ void ScrollBar::RestoreCursor() { void ScrollBar::BeginAutoCollapseTimer() { if (!auto_collapse_timer_canceler_ && IsExpanded()) { - auto_collapse_timer_canceler_.Reset(GetUiApplication()->SetTimeout( - kScrollBarAutoCollapseDelay, [this] { this->SetExpanded(false); })); + auto_collapse_timer_canceler_.Reset( + platform::gui::IUiApplication::GetInstance()->SetTimeout( + kScrollBarAutoCollapseDelay, [this] { this->SetExpanded(false); })); } } diff --git a/src/ui/render/TextRenderObject.cpp b/src/ui/render/TextRenderObject.cpp index 217029b2..3af08e49 100644 --- a/src/ui/render/TextRenderObject.cpp +++ b/src/ui/render/TextRenderObject.cpp @@ -1,10 +1,10 @@ #include "cru/ui/render/TextRenderObject.h" -#include "../Helper.h" #include "cru/base/log/Logger.h" #include "cru/platform/graphics/Factory.h" #include "cru/platform/graphics/Painter.h" #include "cru/platform/graphics/TextLayout.h" +#include "cru/platform/gui/UiApplication.h" #include "cru/ui/DebugFlags.h" #include "cru/ui/render/RenderObject.h" @@ -28,7 +28,8 @@ TextRenderObject::TextRenderObject( selection_brush.swap(selection_brush_); caret_brush.swap(caret_brush_); - const auto graph_factory = GetGraphicsFactory(); + const auto graph_factory = + platform::gui::IUiApplication::GetInstance()->GetGraphicsFactory(); text_layout_ = graph_factory->CreateTextLayout(font_, ""); } diff --git a/src/ui/style/Styler.cpp b/src/ui/style/Styler.cpp index 8b4405cd..251d403c 100644 --- a/src/ui/style/Styler.cpp +++ b/src/ui/style/Styler.cpp @@ -1,6 +1,5 @@ #include "cru/ui/style/Styler.h" -#include "../Helper.h" #include "cru/base/ClonePtr.h" #include "cru/platform/gui/Cursor.h" #include "cru/platform/gui/UiApplication.h" @@ -14,42 +13,44 @@ namespace cru::ui::style { BorderStyler::BorderStyler(ApplyBorderStyleInfo style) : style_(std::move(style)) {} -void BorderStyler::Apply(controls::Control *control) const { - if (auto border_control = dynamic_cast<controls::IBorderControl *>(control)) { +void BorderStyler::Apply(controls::Control* control) const { + if (auto border_control = dynamic_cast<controls::IBorderControl*>(control)) { border_control->ApplyBorderStyle(style_); } } ClonePtr<CursorStyler> CursorStyler::Create( platform::gui::SystemCursorType type) { - return Create(GetUiApplication()->GetCursorManager()->GetSystemCursor(type)); + return Create(platform::gui::IUiApplication::GetInstance() + ->GetCursorManager() + ->GetSystemCursor(type)); } -void CursorStyler::Apply(controls::Control *control) const { +void CursorStyler::Apply(controls::Control* control) const { control->SetCursor(cursor_); } -void PreferredSizeStyler::Apply(controls::Control *control) const { +void PreferredSizeStyler::Apply(controls::Control* control) const { control->SetPreferredSize(size_); } -void MarginStyler::Apply(controls::Control *control) const { +void MarginStyler::Apply(controls::Control* control) const { control->SetMargin(margin_); } -void PaddingStyler::Apply(controls::Control *control) const { +void PaddingStyler::Apply(controls::Control* control) const { control->SetPadding(padding_); } -void ContentBrushStyler::Apply(controls::Control *control) const { +void ContentBrushStyler::Apply(controls::Control* control) const { if (auto content_brush_control = - dynamic_cast<controls::IContentBrushControl *>(control)) { + dynamic_cast<controls::IContentBrushControl*>(control)) { content_brush_control->SetContentBrush(brush_); } } -void FontStyler::Apply(controls::Control *control) const { - if (auto font_control = dynamic_cast<controls::IFontControl *>(control)) { +void FontStyler::Apply(controls::Control* control) const { + if (auto font_control = dynamic_cast<controls::IFontControl*>(control)) { font_control->SetFont(font_); } } |
