aboutsummaryrefslogtreecommitdiff
path: root/src/ThemeBuilder/components/stylers/ContentBrushStylerEditor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ThemeBuilder/components/stylers/ContentBrushStylerEditor.cpp')
-rw-r--r--src/ThemeBuilder/components/stylers/ContentBrushStylerEditor.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/ThemeBuilder/components/stylers/ContentBrushStylerEditor.cpp b/src/ThemeBuilder/components/stylers/ContentBrushStylerEditor.cpp
new file mode 100644
index 00000000..bd649c67
--- /dev/null
+++ b/src/ThemeBuilder/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