diff options
author | crupest <crupest@outlook.com> | 2021-12-13 20:58:42 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2021-12-13 20:58:42 +0800 |
commit | 21fccf43ec049569f690674840ca1a10420a40da (patch) | |
tree | 33341a51f41bc9d783221ad363e33ffeb177886b /src | |
parent | c850d817cc0d8c2c80728f373f89dce91650023a (diff) | |
download | cru-21fccf43ec049569f690674840ca1a10420a40da.tar.gz cru-21fccf43ec049569f690674840ca1a10420a40da.tar.bz2 cru-21fccf43ec049569f690674840ca1a10420a40da.zip |
...
Diffstat (limited to 'src')
-rw-r--r-- | src/ui/CMakeLists.txt | 12 | ||||
-rw-r--r-- | src/ui/controls/Control.cpp | 4 | ||||
-rw-r--r-- | src/ui/controls/TextHostControlService.cpp | 12 | ||||
-rw-r--r-- | src/ui/events/MouseEventArgs.cpp (renamed from src/ui/events/UiEvent.cpp) | 6 | ||||
-rw-r--r-- | src/ui/helper/ClickDetector.cpp | 8 | ||||
-rw-r--r-- | src/ui/helper/ShortcutHub.cpp | 2 | ||||
-rw-r--r-- | src/ui/host/RoutedEventDispatch.hpp | 2 | ||||
-rw-r--r-- | src/ui/render/ScrollBar.cpp | 10 | ||||
-rw-r--r-- | src/ui/render/ScrollRenderObject.cpp | 2 |
9 files changed, 33 insertions, 25 deletions
diff --git a/src/ui/CMakeLists.txt b/src/ui/CMakeLists.txt index 35c3581f..e4707cbc 100644 --- a/src/ui/CMakeLists.txt +++ b/src/ui/CMakeLists.txt @@ -24,7 +24,7 @@ add_library(cru_ui STATIC controls/TextBox.cpp controls/TextHostControlService.cpp controls/Window.cpp - events/UiEvent.cpp + events/MouseEventArgs.cpp helper/ClickDetector.cpp helper/ShortcutHub.cpp host/LayoutPaintCycler.cpp @@ -68,7 +68,15 @@ target_sources(cru_ui PUBLIC ${CRU_UI_INCLUDE_DIR}/controls/TextBox.hpp ${CRU_UI_INCLUDE_DIR}/controls/TextHostControlService.hpp ${CRU_UI_INCLUDE_DIR}/controls/Window.hpp - ${CRU_UI_INCLUDE_DIR}/events/UiEvent.hpp + ${CRU_UI_INCLUDE_DIR}/events/FocusChangeEventArgs.hpp + ${CRU_UI_INCLUDE_DIR}/events/KeyEventArgs.hpp + ${CRU_UI_INCLUDE_DIR}/events/MouseButtonEventArgs.hpp + ${CRU_UI_INCLUDE_DIR}/events/MouseEventArgs.hpp + ${CRU_UI_INCLUDE_DIR}/events/MouseWheelEventArgs.hpp + ${CRU_UI_INCLUDE_DIR}/events/PaintEventArgs.hpp + ${CRU_UI_INCLUDE_DIR}/events/RoutedEvent.hpp + ${CRU_UI_INCLUDE_DIR}/events/UiEventArgs.hpp + ${CRU_UI_INCLUDE_DIR}/events/UiEvents.hpp ${CRU_UI_INCLUDE_DIR}/helper/ClickDetector.hpp ${CRU_UI_INCLUDE_DIR}/helper/ShortcutHub.hpp ${CRU_UI_INCLUDE_DIR}/host/LayoutPaintCycler.hpp diff --git a/src/ui/controls/Control.cpp b/src/ui/controls/Control.cpp index 29c2c46a..44da7f6f 100644 --- a/src/ui/controls/Control.cpp +++ b/src/ui/controls/Control.cpp @@ -20,12 +20,12 @@ Control::Control() { style_rule_set_bind_ = std::make_unique<style::StyleRuleSetBind>(this, style_rule_set_.get()); - MouseEnterEvent()->Direct()->AddHandler([this](event::MouseEventArgs&) { + MouseEnterEvent()->Direct()->AddHandler([this](events::MouseEventArgs&) { this->is_mouse_over_ = true; this->OnMouseHoverChange(true); }); - MouseLeaveEvent()->Direct()->AddHandler([this](event::MouseEventArgs&) { + MouseLeaveEvent()->Direct()->AddHandler([this](events::MouseEventArgs&) { this->is_mouse_over_ = false; this->OnMouseHoverChange(true); }); diff --git a/src/ui/controls/TextHostControlService.cpp b/src/ui/controls/TextHostControlService.cpp index b0759058..3a67860d 100644 --- a/src/ui/controls/TextHostControlService.cpp +++ b/src/ui/controls/TextHostControlService.cpp @@ -15,7 +15,7 @@ #include "cru/ui/Base.hpp" #include "cru/ui/DebugFlags.hpp" #include "cru/ui/components/Menu.hpp" -#include "cru/ui/events/UiEvent.hpp" +#include "cru/ui/events/UiEvents.hpp" #include "cru/ui/helper/ShortcutHub.hpp" #include "cru/ui/host/WindowHost.hpp" #include "cru/ui/render/ScrollRenderObject.hpp" @@ -445,7 +445,7 @@ void TextHostControlService::UpdateInputMethodPosition() { } void TextHostControlService::MouseDownHandler( - event::MouseButtonEventArgs& args) { + events::MouseButtonEventArgs& args) { if (IsEnabled()) { this->control_->SetFocus(); if (args.GetButton() == mouse_buttons::left && @@ -461,14 +461,14 @@ void TextHostControlService::MouseDownHandler( } } -void TextHostControlService::MouseUpHandler(event::MouseButtonEventArgs& args) { +void TextHostControlService::MouseUpHandler(events::MouseButtonEventArgs& args) { if (args.GetButton() == mouse_buttons::left && mouse_move_selecting_) { this->control_->ReleaseMouse(); this->mouse_move_selecting_ = false; } } -void TextHostControlService::MouseMoveHandler(event::MouseEventArgs& args) { +void TextHostControlService::MouseMoveHandler(events::MouseEventArgs& args) { if (this->mouse_move_selecting_) { const auto text_render_object = this->GetTextRenderObject(); const auto result = text_render_object->TextHitTest( @@ -479,7 +479,7 @@ void TextHostControlService::MouseMoveHandler(event::MouseEventArgs& args) { } void TextHostControlService::GainFocusHandler( - event::FocusChangeEventArgs& args) { + events::FocusChangeEventArgs& args) { CRU_UNUSED(args); if (editable_) { auto input_method_context = GetInputMethodContext(); @@ -514,7 +514,7 @@ void TextHostControlService::GainFocusHandler( } void TextHostControlService::LoseFocusHandler( - event::FocusChangeEventArgs& args) { + events::FocusChangeEventArgs& args) { if (!args.IsWindow()) this->AbortSelection(); input_method_context_event_guard_.Clear(); auto input_method_context = GetInputMethodContext(); diff --git a/src/ui/events/UiEvent.cpp b/src/ui/events/MouseEventArgs.cpp index 4c75f690..b27bb9d4 100644 --- a/src/ui/events/UiEvent.cpp +++ b/src/ui/events/MouseEventArgs.cpp @@ -1,8 +1,8 @@ -#include "cru/ui/events/UiEvent.hpp" +#include "cru/ui/events/MouseEventArgs.hpp" #include "cru/ui/render/RenderObject.hpp" -namespace cru::ui::event { +namespace cru::ui::events { Point MouseEventArgs::GetPoint(render::RenderObject* render_object) const { return GetPoint() - render_object->GetTotalOffset(); } @@ -11,4 +11,4 @@ Point MouseEventArgs::GetPointToContent( render::RenderObject* render_object) const { return render_object->FromRootToContent(GetPoint()); } -} // namespace cru::ui::event +} // namespace cru::ui::events diff --git a/src/ui/helper/ClickDetector.cpp b/src/ui/helper/ClickDetector.cpp index 309685d3..d8d51327 100644 --- a/src/ui/helper/ClickDetector.cpp +++ b/src/ui/helper/ClickDetector.cpp @@ -12,7 +12,7 @@ ClickDetector::ClickDetector(controls::Control* control) { event_rovoker_guards_.push_back( EventRevokerGuard(control->MouseEnterEvent()->Direct()->AddHandler( - [this](event::MouseEventArgs&) { + [this](events::MouseEventArgs&) { if (this->enable_) { if (this->state_ == ClickState::PressInactive) { if ((this->button_ & this->trigger_button_)) { @@ -26,7 +26,7 @@ ClickDetector::ClickDetector(controls::Control* control) { event_rovoker_guards_.push_back( EventRevokerGuard(control->MouseLeaveEvent()->Direct()->AddHandler( - [this](event::MouseEventArgs&) { + [this](events::MouseEventArgs&) { if (this->enable_) { if (this->state_ == ClickState::Press) { if ((this->button_ & this->trigger_button_)) { @@ -40,7 +40,7 @@ ClickDetector::ClickDetector(controls::Control* control) { event_rovoker_guards_.push_back( EventRevokerGuard(control->MouseDownEvent()->Direct()->AddHandler( - [this](event::MouseButtonEventArgs& args) { + [this](events::MouseButtonEventArgs& args) { const auto button = args.GetButton(); if (this->enable_ && (button & this->trigger_button_) && this->state_ == ClickState::Hover) { @@ -59,7 +59,7 @@ ClickDetector::ClickDetector(controls::Control* control) { event_rovoker_guards_.push_back( EventRevokerGuard(control->MouseUpEvent()->Direct()->AddHandler( - [this](event::MouseButtonEventArgs& args) { + [this](events::MouseButtonEventArgs& args) { const auto button = args.GetButton(); if (this->enable_ && (button & this->trigger_button_) && button == button_) { diff --git a/src/ui/helper/ShortcutHub.cpp b/src/ui/helper/ShortcutHub.cpp index f35ad0ef..c0b6c5d8 100644 --- a/src/ui/helper/ShortcutHub.cpp +++ b/src/ui/helper/ShortcutHub.cpp @@ -81,7 +81,7 @@ void ShortcutHub::Uninstall() { event_guard_.Clear(); } -void ShortcutHub::OnKeyDown(event::KeyEventArgs& event) { +void ShortcutHub::OnKeyDown(events::KeyEventArgs& event) { ShortcutKeyBind key_bind(event.GetKeyCode(), event.GetKeyModifier()); const auto& shortcut_list = this->GetShortcutByKeyBind(key_bind); diff --git a/src/ui/host/RoutedEventDispatch.hpp b/src/ui/host/RoutedEventDispatch.hpp index 52507fc7..027ddbe4 100644 --- a/src/ui/host/RoutedEventDispatch.hpp +++ b/src/ui/host/RoutedEventDispatch.hpp @@ -23,7 +23,7 @@ template <typename EventArgs, typename... Args> void DispatchEvent( const std::u16string_view& event_name, controls::Control* const original_sender, - event::RoutedEvent<EventArgs>* (controls::Control::*event_ptr)(), + events::RoutedEvent<EventArgs>* (controls::Control::*event_ptr)(), controls::Control* const last_receiver, Args&&... args) { CRU_UNUSED(event_name) diff --git a/src/ui/render/ScrollBar.cpp b/src/ui/render/ScrollBar.cpp index aeecd9e2..8e16862f 100644 --- a/src/ui/render/ScrollBar.cpp +++ b/src/ui/render/ScrollBar.cpp @@ -12,7 +12,7 @@ #include "cru/ui/Base.hpp" #include "cru/ui/ThemeManager.hpp" #include "cru/ui/UiManager.hpp" -#include "cru/ui/events/UiEvent.hpp" +#include "cru/ui/events/UiEvents.hpp" #include "cru/ui/helper/ClickDetector.hpp" #include "cru/ui/host/WindowHost.hpp" #include "cru/ui/render/ScrollRenderObject.hpp" @@ -124,7 +124,7 @@ void ScrollBar::InstallHandlers(controls::Control* control) { if (control != nullptr) { event_guard_ += control->MouseDownEvent()->Tunnel()->PrependShortCircuitHandler( - [control, this](event::MouseButtonEventArgs& event) { + [control, this](events::MouseButtonEventArgs& event) { if (event.GetButton() == mouse_buttons::left && IsEnabled() && IsExpanded()) { auto hit_test_result = @@ -178,7 +178,7 @@ void ScrollBar::InstallHandlers(controls::Control* control) { event_guard_ += control->MouseUpEvent()->Tunnel()->PrependShortCircuitHandler( - [control, this](event::MouseButtonEventArgs& event) { + [control, this](events::MouseButtonEventArgs& event) { if (mouse_press_ != std::nullopt) { mouse_press_ = std::nullopt; render_object_->InvalidatePaint(); @@ -203,7 +203,7 @@ void ScrollBar::InstallHandlers(controls::Control* control) { event_guard_ += control->MouseMoveEvent()->Tunnel()->PrependShortCircuitHandler( - [this](event::MouseEventArgs& event) { + [this](events::MouseEventArgs& event) { if (move_thumb_start_) { auto new_scroll_position = CalculateNewScrollPosition( move_thumb_thumb_original_rect_, @@ -249,7 +249,7 @@ void ScrollBar::InstallHandlers(controls::Control* control) { event_guard_ += control->MouseLeaveEvent()->Tunnel()->PrependShortCircuitHandler( - [this](event::MouseEventArgs&) { + [this](events::MouseEventArgs&) { if (IsExpanded() && !move_thumb_start_) { if (mouse_hover_ != std::nullopt) { mouse_hover_ = std::nullopt; diff --git a/src/ui/render/ScrollRenderObject.cpp b/src/ui/render/ScrollRenderObject.cpp index 93472cdc..bd9b8559 100644 --- a/src/ui/render/ScrollRenderObject.cpp +++ b/src/ui/render/ScrollRenderObject.cpp @@ -211,7 +211,7 @@ void ScrollRenderObject::InstallMouseWheelHandler(controls::Control* control) { if (control != nullptr) { guard_ += control->MouseWheelEvent()->Bubble()->PrependShortCircuitHandler( - [this](event::MouseWheelEventArgs& args) { + [this](events::MouseWheelEventArgs& args) { auto delta = args.GetDelta(); delta *= 24; |