diff options
author | crupest <crupest@outlook.com> | 2022-03-10 18:23:42 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-03-10 18:23:42 +0800 |
commit | 9fa5b4c09507d4f1bc860bb93c077ab3c90cc373 (patch) | |
tree | fbdc0a5ae5ce3bc62ee7fb7d4761059a667bac42 /src/theme_builder/components/stylers/ContentBrushStylerEditor.cpp | |
parent | 1cf1002f1d3cd81ddb920eb7196a067b566f11e2 (diff) | |
download | cru-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.cpp | 31 |
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 |