#include "ui/views/examples/examples_themed_label.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/color/color_provider.h"
namespace views::examples {
ThemedLabel::ThemedLabel() = default;
ThemedLabel::~ThemedLabel() = default;
absl::optional<ui::ColorId> ThemedLabel::GetEnabledColorId() const {
return enabled_color_id_;
}
void ThemedLabel::SetEnabledColorId(
absl::optional<ui::ColorId> enabled_color_id) {
if (enabled_color_id == enabled_color_id_)
return;
enabled_color_id_ = enabled_color_id;
OnPropertyChanged(&enabled_color_id_, kPropertyEffectsPaint);
}
void ThemedLabel::OnThemeChanged() {
Label::OnThemeChanged();
if (enabled_color_id_)
SetEnabledColor(GetColorProvider()->GetColor(enabled_color_id_.value()));
}
BEGIN_METADATA(ThemedLabel, Label)
ADD_PROPERTY_METADATA(absl::optional<ui::ColorId>, EnabledColorId)
END_METADATA
}