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

Side by Side Diff: ui/views/style/typography_provider.cc

Issue 2801583002: Use views::style for buttons, bootstrap ash_typography to do so. (Closed)
Patch Set: placate gn check. new_avatar_button now just avatar_button Created 3 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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/style/typography_provider.h" 5 #include "ui/views/style/typography_provider.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "ui/base/default_style.h" 8 #include "ui/base/default_style.h"
9 #include "ui/base/resource/resource_bundle.h" 9 #include "ui/base/resource/resource_bundle.h"
10 #include "ui/views/style/typography.h" 10 #include "ui/views/style/typography.h"
11 11
12 using gfx::Font;
13
12 namespace views { 14 namespace views {
15 namespace {
16
17 Font::Weight GetValueBolderThan(Font::Weight weight) {
18 switch (weight) {
19 case Font::Weight::BOLD:
20 return Font::Weight::EXTRA_BOLD;
21 case Font::Weight::EXTRA_BOLD:
22 case Font::Weight::BLACK:
23 return Font::Weight::BLACK;
24 default:
25 return Font::Weight::BOLD;
26 }
27 }
28
29 } // namespace
30
31 // static
32 Font::Weight TypographyProvider::WeightNotLighterThanNormal(
33 Font::Weight weight) {
34 if (ResourceBundle::GetSharedInstance()
35 .GetFontListWithDelta(0, Font::NORMAL, Font::Weight::NORMAL)
36 .GetFontWeight() < weight)
37 return weight;
38 return Font::Weight::NORMAL;
39 }
13 40
14 const gfx::FontList& DefaultTypographyProvider::GetFont(int context, 41 const gfx::FontList& DefaultTypographyProvider::GetFont(int context,
15 int style) const { 42 int style) const {
16 int size_delta; 43 int size_delta;
17 gfx::Font::Weight font_weight; 44 Font::Weight font_weight;
18 GetDefaultFont(context, style, &size_delta, &font_weight); 45 GetDefaultFont(context, style, &size_delta, &font_weight);
19 return ResourceBundle::GetSharedInstance().GetFontListWithDelta( 46 return ResourceBundle::GetSharedInstance().GetFontListWithDelta(
20 size_delta, gfx::Font::NORMAL, font_weight); 47 size_delta, Font::NORMAL, font_weight);
21 } 48 }
22 49
23 void DefaultTypographyProvider::GetDefaultFont( 50 SkColor DefaultTypographyProvider::GetColor(int context, int style) const {
24 int context, 51 return SK_ColorBLACK;
25 int style, 52 }
26 int* size_delta, 53
27 gfx::Font::Weight* font_weight) const { 54 int DefaultTypographyProvider::GetLineHeight(int context, int style) const {
55 return 0;
56 }
57
58 // static
59 void DefaultTypographyProvider::GetDefaultFont(int context,
60 int style,
61 int* size_delta,
62 Font::Weight* font_weight) {
63 *font_weight = Font::Weight::NORMAL;
64
28 switch (context) { 65 switch (context) {
66 case style::CONTEXT_BUTTON_MD:
67 *size_delta = ui::kLabelFontSizeDelta;
68 *font_weight = WeightNotLighterThanNormal(Font::Weight::MEDIUM);
69 break;
29 case style::CONTEXT_DIALOG_TITLE: 70 case style::CONTEXT_DIALOG_TITLE:
30 *size_delta = ui::kTitleFontSizeDelta; 71 *size_delta = ui::kTitleFontSizeDelta;
31 break; 72 break;
73 case style::CONTEXT_TOUCH_MENU:
74 *size_delta = -1;
75 break;
32 default: 76 default:
33 *size_delta = ui::kLabelFontSizeDelta; 77 *size_delta = ui::kLabelFontSizeDelta;
34 break; 78 break;
35 } 79 }
36 80
37 switch (style) { 81 switch (style) {
38 case style::STYLE_TAB_ACTIVE: 82 case style::STYLE_TAB_ACTIVE:
39 *font_weight = gfx::Font::Weight::BOLD; 83 *font_weight = Font::Weight::BOLD;
40 break; 84 break;
41 default: 85 case style::STYLE_DIALOG_BUTTON_DEFAULT:
42 *font_weight = gfx::Font::Weight::NORMAL; 86 // Only non-MD default buttons should "increase" in boldness.
87 if (context == style::CONTEXT_BUTTON) {
88 *font_weight = GetValueBolderThan(
89 ResourceBundle::GetSharedInstance()
90 .GetFontListWithDelta(*size_delta, Font::NORMAL, *font_weight)
91 .GetFontWeight());
92 }
43 break; 93 break;
44 } 94 }
45 } 95 }
46 96
47 SkColor DefaultTypographyProvider::GetColor(int context, int style) const {
48 return SK_ColorBLACK;
49 }
50
51 int DefaultTypographyProvider::GetLineHeight(int context, int style) const {
52 return 0;
53 }
54
55 } // namespace views 97 } // namespace views
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698