aboutsummaryrefslogtreecommitdiff
path: root/src/theme_builder/components/stylers/ContentBrushStylerEditor.cpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-03-10 18:23:42 +0800
committercrupest <crupest@outlook.com>2022-03-10 18:23:42 +0800
commit9fa5b4c09507d4f1bc860bb93c077ab3c90cc373 (patch)
treefbdc0a5ae5ce3bc62ee7fb7d4761059a667bac42 /src/theme_builder/components/stylers/ContentBrushStylerEditor.cpp
parent1cf1002f1d3cd81ddb920eb7196a067b566f11e2 (diff)
downloadcru-9fa5b4c09507d4f1bc860bb93c077ab3c90cc373.tar.gz
cru-9fa5b4c09507d4f1bc860bb93c077ab3c90cc373.tar.bz2
cru-9fa5b4c09507d4f1bc860bb93c077ab3c90cc373.zip
...
Diffstat (limited to 'src/theme_builder/components/stylers/ContentBrushStylerEditor.cpp')
-rw-r--r--src/theme_builder/components/stylers/ContentBrushStylerEditor.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/theme_builder/components/stylers/ContentBrushStylerEditor.cpp b/src/theme_builder/components/stylers/ContentBrushStylerEditor.cpp
new file mode 100644
index 00000000..bd649c67
--- /dev/null
+++ b/src/theme_builder/components/stylers/ContentBrushStylerEditor.cpp
@@ -0,0 +1,31 @@
+#include "ContentBrushStylerEditor.h"
+#include "cru/platform/graphics/Factory.h"
+#include "cru/platform/gui/UiApplication.h"
+#include "cru/ui/style/Styler.h"
+
+namespace cru::theme_builder::components::stylers {
+ContentBrushStylerEditor::ContentBrushStylerEditor() {
+ GetContainer()->AddChild(color_editor_.GetRootControl());
+
+ ConnectChangeEvent(color_editor_);
+}
+
+ContentBrushStylerEditor::~ContentBrushStylerEditor() {}
+
+ClonablePtr<ui::style::ContentBrushStyler> ContentBrushStylerEditor::GetValue()
+ const {
+ return ui::style::ContentBrushStyler::Create(
+ platform::gui::IUiApplication::GetInstance()
+ ->GetGraphicsFactory()
+ ->CreateSolidColorBrush(color_editor_.GetValue()));
+}
+
+void ContentBrushStylerEditor::SetValue(ui::style::ContentBrushStyler* value,
+ bool trigger_change) {
+ color_editor_.SetValue(
+ std::dynamic_pointer_cast<platform::graphics::ISolidColorBrush>(
+ value->GetBrush())
+ ->GetColor(),
+ trigger_change);
+}
+} // namespace cru::theme_builder::components::stylers