Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ui/views/controls/button/label_button.h" | 5 #include "ui/views/controls/button/label_button.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 29 | 29 |
| 30 // The default spacing between the icon and text. | 30 // The default spacing between the icon and text. |
| 31 const int kSpacing = 5; | 31 const int kSpacing = 5; |
| 32 | 32 |
| 33 #if !(defined(OS_LINUX) && !defined(OS_CHROMEOS)) | 33 #if !(defined(OS_LINUX) && !defined(OS_CHROMEOS)) |
| 34 // Default text and shadow colors for STYLE_BUTTON. | 34 // Default text and shadow colors for STYLE_BUTTON. |
| 35 const SkColor kStyleButtonTextColor = SK_ColorBLACK; | 35 const SkColor kStyleButtonTextColor = SK_ColorBLACK; |
| 36 const SkColor kStyleButtonShadowColor = SK_ColorWHITE; | 36 const SkColor kStyleButtonShadowColor = SK_ColorWHITE; |
| 37 #endif | 37 #endif |
| 38 | 38 |
| 39 gfx::Font::Weight GetValueBolderThan(gfx::Font::Weight weight) { | |
| 40 if (weight < gfx::Font::Weight::BOLD) | |
| 41 return gfx::Font::Weight::BOLD; | |
| 42 switch (weight) { | |
| 43 case gfx::Font::Weight::BOLD: | |
| 44 return gfx::Font::Weight::EXTRA_BOLD; | |
| 45 case gfx::Font::Weight::EXTRA_BOLD: | |
| 46 case gfx::Font::Weight::BLACK: | |
| 47 return gfx::Font::Weight::BLACK; | |
| 48 default: | |
| 49 NOTREACHED(); | |
| 50 } | |
| 51 return gfx::Font::Weight::INVALID; | |
| 52 } | |
| 53 | |
| 39 const gfx::FontList& GetDefaultNormalFontList() { | 54 const gfx::FontList& GetDefaultNormalFontList() { |
| 40 static base::LazyInstance<gfx::FontList>::Leaky font_list = | 55 static base::LazyInstance<gfx::FontList>::Leaky font_list = |
| 41 LAZY_INSTANCE_INITIALIZER; | 56 LAZY_INSTANCE_INITIALIZER; |
| 42 return font_list.Get(); | 57 return font_list.Get(); |
| 43 } | 58 } |
| 44 | 59 |
| 45 const gfx::FontList& GetDefaultBoldFontList() { | 60 const gfx::FontList& GetDefaultBoldFontList() { |
| 46 static base::LazyInstance<gfx::FontList>::Leaky font_list = | 61 static base::LazyInstance<gfx::FontList>::Leaky font_list = |
| 47 LAZY_INSTANCE_INITIALIZER; | 62 LAZY_INSTANCE_INITIALIZER; |
| 48 if ((font_list.Get().GetFontStyle() & gfx::Font::BOLD) == 0) { | 63 |
| 49 font_list.Get() = font_list.Get(). | 64 if (font_list.Get().GetFontWeight() < gfx::Font::Weight::BOLD) { |
|
msw
2016/03/22 18:24:11
Remove this conditional now, it should handle any
Mikus
2016/03/23 17:53:22
Done.
| |
| 50 DeriveWithStyle(font_list.Get().GetFontStyle() | gfx::Font::BOLD); | 65 font_list.Get() = font_list.Get().DeriveWithWeight( |
| 51 DCHECK_NE(font_list.Get().GetFontStyle() & gfx::Font::BOLD, 0); | 66 GetValueBolderThan(font_list.Get().GetFontWeight())); |
| 67 DCHECK_GE(font_list.Get().GetFontWeight(), gfx::Font::Weight::BOLD); | |
| 52 } | 68 } |
| 69 | |
| 53 return font_list.Get(); | 70 return font_list.Get(); |
| 54 } | 71 } |
| 55 | 72 |
| 56 // Ink drop container view that does not capture any events. | 73 // Ink drop container view that does not capture any events. |
| 57 class InkDropContainerView : public views::View { | 74 class InkDropContainerView : public views::View { |
| 58 public: | 75 public: |
| 59 InkDropContainerView() {} | 76 InkDropContainerView() {} |
| 60 | 77 |
| 61 // View: | 78 // View: |
| 62 bool CanProcessEventsWithinSubtree() const override { | 79 bool CanProcessEventsWithinSubtree() const override { |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 157 void LabelButton::SetTextSubpixelRenderingEnabled(bool enabled) { | 174 void LabelButton::SetTextSubpixelRenderingEnabled(bool enabled) { |
| 158 label_->SetSubpixelRenderingEnabled(enabled); | 175 label_->SetSubpixelRenderingEnabled(enabled); |
| 159 } | 176 } |
| 160 | 177 |
| 161 const gfx::FontList& LabelButton::GetFontList() const { | 178 const gfx::FontList& LabelButton::GetFontList() const { |
| 162 return label_->font_list(); | 179 return label_->font_list(); |
| 163 } | 180 } |
| 164 | 181 |
| 165 void LabelButton::SetFontList(const gfx::FontList& font_list) { | 182 void LabelButton::SetFontList(const gfx::FontList& font_list) { |
| 166 cached_normal_font_list_ = font_list; | 183 cached_normal_font_list_ = font_list; |
| 167 cached_bold_font_list_ = font_list.DeriveWithStyle( | 184 cached_bold_font_list_ = font_list.DeriveWithWeight(gfx::Font::Weight::BOLD); |
|
msw
2016/03/22 18:24:11
Use GetValueBolderThan here too.
| |
| 168 font_list.GetFontStyle() | gfx::Font::BOLD); | |
| 169 | 185 |
| 170 // STYLE_BUTTON uses bold text to indicate default buttons. | 186 // STYLE_BUTTON uses bold text to indicate default buttons. |
| 171 label_->SetFontList( | 187 label_->SetFontList( |
| 172 style_ == STYLE_BUTTON && is_default_ ? | 188 style_ == STYLE_BUTTON && is_default_ ? |
| 173 cached_bold_font_list_ : cached_normal_font_list_); | 189 cached_bold_font_list_ : cached_normal_font_list_); |
| 174 } | 190 } |
| 175 | 191 |
| 176 void LabelButton::SetElideBehavior(gfx::ElideBehavior elide_behavior) { | 192 void LabelButton::SetElideBehavior(gfx::ElideBehavior elide_behavior) { |
| 177 label_->SetElideBehavior(elide_behavior); | 193 label_->SetElideBehavior(elide_behavior); |
| 178 } | 194 } |
| (...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 562 GetExtraParams(params); | 578 GetExtraParams(params); |
| 563 return ui::NativeTheme::kHovered; | 579 return ui::NativeTheme::kHovered; |
| 564 } | 580 } |
| 565 | 581 |
| 566 void LabelButton::ResetCachedPreferredSize() { | 582 void LabelButton::ResetCachedPreferredSize() { |
| 567 cached_preferred_size_valid_ = false; | 583 cached_preferred_size_valid_ = false; |
| 568 cached_preferred_size_ = gfx::Size(); | 584 cached_preferred_size_ = gfx::Size(); |
| 569 } | 585 } |
| 570 | 586 |
| 571 } // namespace views | 587 } // namespace views |
| OLD | NEW |