Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(936)

Unified Diff: ui/views/controls/label.cc

Issue 2913933002: Move views::Label DisabledColor logic into views::LabelButtonLabel (Closed)
Patch Set: missed-some Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« ui/views/controls/label.h ('K') | « ui/views/controls/label.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/controls/label.cc
diff --git a/ui/views/controls/label.cc b/ui/views/controls/label.cc
index 1db98e38acece6a602712d7867780a6365489096..50e35b95feec905895c9bf5d3c39e8a81360e2d2 100644
--- a/ui/views/controls/label.cc
+++ b/ui/views/controls/label.cc
@@ -109,22 +109,13 @@ void Label::SetEnabledColor(SkColor color) {
RecalculateColors();
}
-// TODO(tapted): Move this into a subclass used only by LabelButton.
-void Label::SetDisabledColorForLabelButton(SkColor color) {
- if (disabled_color_set_ && requested_disabled_color_ == color)
- return;
- is_first_paint_text_ = true;
- requested_disabled_color_ = color;
- disabled_color_set_ = true;
- RecalculateColors();
-}
-
void Label::SetBackgroundColor(SkColor color) {
if (background_color_set_ && background_color_ == color)
return;
is_first_paint_text_ = true;
background_color_ = color;
background_color_set_ = true;
+ OnBackgroundColorChanged();
RecalculateColors();
}
@@ -433,11 +424,6 @@ bool Label::GetTooltipText(const gfx::Point& p, base::string16* tooltip) const {
return false;
}
-void Label::OnEnabledChanged() {
- ApplyTextColors();
tapted 2017/06/06 12:30:24 I tested and ran jobs in earlier patchsets with th
- View::OnEnabledChanged();
-}
-
std::unique_ptr<gfx::RenderText> Label::CreateRenderText(
const base::string16& text,
gfx::HorizontalAlignment alignment,
@@ -507,6 +493,31 @@ void Label::PaintText(gfx::Canvas* canvas) {
#endif
}
+SkColor Label::EnsureTextColorReadable(SkColor requested) const {
+ return auto_color_readability_
+ ? color_utils::GetReadableColor(requested, background_color_)
+ : requested;
+}
+
+SkColor Label::GetForegroundColor() const {
+ return enabled_color();
+}
+
+void Label::OnBackgroundColorChanged() {}
+
+void Label::ApplyTextColors() const {
+ bool subpixel_rendering_suppressed =
+ SkColorGetA(background_color_) != SK_AlphaOPAQUE ||
+ !subpixel_rendering_enabled_;
+ for (size_t i = 0; i < lines_.size(); ++i) {
+ lines_[i]->SetColor(GetForegroundColor());
+ lines_[i]->set_selection_color(actual_selection_text_color_);
+ lines_[i]->set_selection_background_focused_color(
+ selection_background_color_);
+ lines_[i]->set_subpixel_rendering_suppressed(subpixel_rendering_suppressed);
+ }
+}
+
void Label::OnBoundsChanged(const gfx::Rect& previous_bounds) {
if (previous_bounds.size() != size())
InvalidateLayout();
@@ -829,7 +840,7 @@ void Label::Init(const base::string16& text, const gfx::FontList& font_list) {
elide_behavior_ = gfx::ELIDE_TAIL;
stored_selection_range_ = gfx::Range::InvalidRange();
- enabled_color_set_ = disabled_color_set_ = background_color_set_ = false;
+ enabled_color_set_ = background_color_set_ = false;
selection_text_color_set_ = selection_background_color_set_ = false;
subpixel_rendering_enabled_ = true;
auto_color_readability_ = true;
@@ -971,14 +982,7 @@ gfx::Size Label::GetTextSize() const {
}
void Label::RecalculateColors() {
- actual_enabled_color_ = auto_color_readability_ ?
- color_utils::GetReadableColor(requested_enabled_color_,
- background_color_) :
- requested_enabled_color_;
- actual_disabled_color_ = auto_color_readability_ ?
- color_utils::GetReadableColor(requested_disabled_color_,
- background_color_) :
- requested_disabled_color_;
+ actual_enabled_color_ = EnsureTextColorReadable(requested_enabled_color_);
actual_selection_text_color_ =
auto_color_readability_
? color_utils::GetReadableColor(requested_selection_text_color_,
@@ -989,29 +993,11 @@ void Label::RecalculateColors() {
SchedulePaint();
}
-void Label::ApplyTextColors() const {
- SkColor color = enabled() ? actual_enabled_color_ : actual_disabled_color_;
- bool subpixel_rendering_suppressed =
- SkColorGetA(background_color_) != SK_AlphaOPAQUE ||
- !subpixel_rendering_enabled_;
- for (size_t i = 0; i < lines_.size(); ++i) {
- lines_[i]->SetColor(color);
- lines_[i]->set_selection_color(actual_selection_text_color_);
- lines_[i]->set_selection_background_focused_color(
- selection_background_color_);
- lines_[i]->set_subpixel_rendering_suppressed(subpixel_rendering_suppressed);
- }
-}
-
void Label::UpdateColorsFromTheme(const ui::NativeTheme* theme) {
if (!enabled_color_set_) {
requested_enabled_color_ =
style::GetColor(text_context_, style::STYLE_PRIMARY, theme);
}
- if (!disabled_color_set_) {
- requested_disabled_color_ =
- style::GetColor(text_context_, style::STYLE_DISABLED, theme);
- }
if (!background_color_set_) {
background_color_ =
theme->GetSystemColor(ui::NativeTheme::kColorId_DialogBackground);
« ui/views/controls/label.h ('K') | « ui/views/controls/label.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698