diff options
author | crupest <crupest@outlook.com> | 2018-11-10 15:53:32 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2018-11-10 15:53:32 +0800 |
commit | 8d5a08e8d054e9504ca31e0bfbfff7a1018c23c0 (patch) | |
tree | fdd8ac836b266044de380fea26e8f5fc80a5d9d9 /src/ui/controls | |
parent | ac4b0f8d438e7a7c2ecd836af8332b5da1e035c9 (diff) | |
download | cru-8d5a08e8d054e9504ca31e0bfbfff7a1018c23c0.tar.gz cru-8d5a08e8d054e9504ca31e0bfbfff7a1018c23c0.tar.bz2 cru-8d5a08e8d054e9504ca31e0bfbfff7a1018c23c0.zip |
Refactor predefine resources. Add check for dead recursion in singletons in debug mode.
Diffstat (limited to 'src/ui/controls')
-rw-r--r-- | src/ui/controls/button.cpp | 6 | ||||
-rw-r--r-- | src/ui/controls/text_block.cpp | 7 | ||||
-rw-r--r-- | src/ui/controls/text_box.cpp | 14 | ||||
-rw-r--r-- | src/ui/controls/text_control.cpp | 4 | ||||
-rw-r--r-- | src/ui/controls/toggle_button.cpp | 6 |
5 files changed, 18 insertions, 19 deletions
diff --git a/src/ui/controls/button.cpp b/src/ui/controls/button.cpp index a90c218d..0bd6a70d 100644 --- a/src/ui/controls/button.cpp +++ b/src/ui/controls/button.cpp @@ -1,13 +1,13 @@ #include "button.hpp" #include "graph/graph.hpp" -#include "ui/predefine.hpp" +#include "ui/ui_manager.hpp" namespace cru::ui::controls { Button::Button() : Control(true), - normal_border_{predefine::GetPredefineResource<BorderProperty>(predefine::key_button_normal_border)}, - pressed_border_{predefine::GetPredefineResource<BorderProperty>(predefine::key_button_press_border)} + normal_border_{UiManager::GetInstance()->GetPredefineResources()->button_normal_border}, + pressed_border_{UiManager::GetInstance()->GetPredefineResources()->button_press_border} { SetBordered(true); GetBorderProperty() = normal_border_; diff --git a/src/ui/controls/text_block.cpp b/src/ui/controls/text_block.cpp index 290ddd58..8276ce4e 100644 --- a/src/ui/controls/text_block.cpp +++ b/src/ui/controls/text_block.cpp @@ -1,13 +1,12 @@ #include "text_block.hpp" -#include "ui/window.hpp" -#include "ui/predefine.hpp" +#include "ui/ui_manager.hpp" namespace cru::ui::controls { TextBlock::TextBlock() : TextControl( - predefine::GetPredefineResourceComPtr<IDWriteTextFormat>(predefine::key_text_block_text_format), - predefine::GetPredefineResourceComPtr<ID2D1Brush>(predefine::key_text_block_text_brush) + UiManager::GetInstance()->GetPredefineResources()->text_block_text_format, + UiManager::GetInstance()->GetPredefineResources()->text_block_text_brush ) { diff --git a/src/ui/controls/text_box.cpp b/src/ui/controls/text_box.cpp index 0ed1248c..fd357fdb 100644 --- a/src/ui/controls/text_box.cpp +++ b/src/ui/controls/text_box.cpp @@ -6,7 +6,7 @@ #include "graph/graph.hpp" #include "exception.hpp" #include "application.hpp" -#include "ui/predefine.hpp" +#include "ui/ui_manager.hpp" namespace cru::ui::controls { @@ -16,15 +16,15 @@ namespace cru::ui::controls } TextBox::TextBox() : TextControl( - predefine::GetPredefineResourceComPtr<IDWriteTextFormat>(predefine::key_text_box_text_format), - predefine::GetPredefineResourceComPtr<ID2D1Brush>(predefine::key_text_box_text_brush) + UiManager::GetInstance()->GetPredefineResources()->text_box_text_format, + UiManager::GetInstance()->GetPredefineResources()->text_box_text_brush ) { SetSelectable(true); - caret_brush_ = predefine::GetPredefineResourceComPtr<ID2D1Brush>(predefine::key_text_box_caret_brush); + caret_brush_ = UiManager::GetInstance()->GetPredefineResources()->text_box_caret_brush; - GetBorderProperty() = predefine::GetPredefineResource<BorderProperty>(predefine::key_text_box_border); + GetBorderProperty() = UiManager::GetInstance()->GetPredefineResources()->text_box_border; SetBordered(true); } @@ -40,7 +40,7 @@ namespace cru::ui::controls TextControl::OnDrawContent(device_context); if (is_caret_show_) { - const auto caret_half_width = Application::GetInstance()->GetCaretInfo().half_caret_width; + const auto caret_half_width = UiManager::GetInstance()->GetCaretInfo().half_caret_width; FLOAT x, y; DWRITE_HIT_TEST_METRICS metrics{}; ThrowIfFailed(text_layout_->HitTestTextPosition(caret_position_, FALSE, &x, &y, &metrics)); @@ -53,7 +53,7 @@ namespace cru::ui::controls TextControl::OnGetFocusCore(args); assert(!caret_timer_.has_value()); is_caret_show_ = true; - caret_timer_ = SetInterval(Application::GetInstance()->GetCaretInfo().caret_blink_duration, [this] + caret_timer_ = SetInterval(UiManager::GetInstance()->GetCaretInfo().caret_blink_duration, [this] { is_caret_show_ = !is_caret_show_; Repaint(); diff --git a/src/ui/controls/text_control.cpp b/src/ui/controls/text_control.cpp index 42214583..974001b3 100644 --- a/src/ui/controls/text_control.cpp +++ b/src/ui/controls/text_control.cpp @@ -5,7 +5,7 @@ #include "ui/window.hpp" #include "graph/graph.hpp" #include "exception.hpp" -#include "ui/predefine.hpp" +#include "ui/ui_manager.hpp" namespace cru::ui::controls { @@ -23,7 +23,7 @@ namespace cru::ui::controls brush_ = init_brush; - selection_brush_ = predefine::GetPredefineResourceComPtr<ID2D1Brush>(predefine::key_text_control_selection_brush); + selection_brush_ = UiManager::GetInstance()->GetPredefineResources()->text_control_selection_brush; } diff --git a/src/ui/controls/toggle_button.cpp b/src/ui/controls/toggle_button.cpp index a901f650..b16eca23 100644 --- a/src/ui/controls/toggle_button.cpp +++ b/src/ui/controls/toggle_button.cpp @@ -2,7 +2,7 @@ #include "graph/graph.hpp" #include "ui/animations/animation.hpp" -#include "ui/predefine.hpp" +#include "ui/ui_manager.hpp" namespace cru::ui::controls { @@ -19,8 +19,8 @@ namespace cru::ui::controls { graph::GraphManager::GetInstance()->GetD2D1Factory()->CreateRoundedRectangleGeometry(D2D1::RoundedRect(D2D1::RectF(-half_width, -half_height, half_width, half_height), half_height, half_height), &frame_path_); - on_brush_ = predefine::GetPredefineResourceComPtr<ID2D1Brush>(predefine::key_toggle_button_on_brush); - off_brush_ = predefine::GetPredefineResourceComPtr<ID2D1Brush>(predefine::key_toggle_button_off_brush); + on_brush_ = UiManager::GetInstance()->GetPredefineResources()->toggle_button_on_brush; + off_brush_ = UiManager::GetInstance()->GetPredefineResources()->toggle_button_off_brush; } inline D2D1_POINT_2F ConvertPoint(const Point& point) |