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 #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_button.h" | 5 #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_button.h" |
6 | 6 |
7 #include "base/mac/scoped_nsobject.h" | 7 #include "base/mac/scoped_nsobject.h" |
8 #import "chrome/browser/ui/cocoa/key_equivalent_constants.h" | 8 #import "chrome/browser/ui/cocoa/key_equivalent_constants.h" |
9 #include "skia/ext/skia_utils_mac.h" | 9 #include "skia/ext/skia_utils_mac.h" |
10 #import "third_party/molokocacao/NSBezierPath+MCAdditions.h" | 10 #import "third_party/molokocacao/NSBezierPath+MCAdditions.h" |
(...skipping 28 matching lines...) Expand all Loading... |
39 } | 39 } |
40 | 40 |
41 // The functions below use hex color values to make it easier to compare | 41 // The functions below use hex color values to make it easier to compare |
42 // the code with the spec. Table of hex values are also more readable | 42 // the code with the spec. Table of hex values are also more readable |
43 // then tables of NSColor constructors. | 43 // then tables of NSColor constructors. |
44 | 44 |
45 NSGradient* GetButtonGradient(ButtonState button_state) { | 45 NSGradient* GetButtonGradient(ButtonState button_state) { |
46 const SkColor start[] = {0xFFF0F0F0, 0xFFF4F4F4, 0xFFEBEBEB, 0xFFEDEDED}; | 46 const SkColor start[] = {0xFFF0F0F0, 0xFFF4F4F4, 0xFFEBEBEB, 0xFFEDEDED}; |
47 const SkColor end[] = {0xFFE0E0E0, 0xFFE4E4E4, 0xFFDBDBDB, 0xFFDEDEDE}; | 47 const SkColor end[] = {0xFFE0E0E0, 0xFFE4E4E4, 0xFFDBDBDB, 0xFFDEDEDE}; |
48 | 48 |
49 NSColor* start_color = gfx::SkColorToCalibratedNSColor(start[button_state]); | 49 NSColor* start_color = skia::SkColorToCalibratedNSColor(start[button_state]); |
50 NSColor* end_color = gfx::SkColorToCalibratedNSColor(end[button_state]); | 50 NSColor* end_color = skia::SkColorToCalibratedNSColor(end[button_state]); |
51 return [[[NSGradient alloc] initWithColorsAndLocations: | 51 return [[[NSGradient alloc] initWithColorsAndLocations: |
52 start_color, 0.0, | 52 start_color, 0.0, |
53 start_color, 0.38, | 53 start_color, 0.38, |
54 end_color, 1.0, | 54 end_color, 1.0, |
55 nil] autorelease]; | 55 nil] autorelease]; |
56 } | 56 } |
57 | 57 |
58 NSShadow* GetButtonHighlight(ButtonState button_state) { | 58 NSShadow* GetButtonHighlight(ButtonState button_state) { |
59 const SkColor color[] = {0xBFFFFFFF, 0xF2FFFFFF, 0x24000000, 0x00000000}; | 59 const SkColor color[] = {0xBFFFFFFF, 0xF2FFFFFF, 0x24000000, 0x00000000}; |
60 | 60 |
61 NSShadow* shadow = [[[NSShadow alloc] init] autorelease]; | 61 NSShadow* shadow = [[[NSShadow alloc] init] autorelease]; |
62 [shadow setShadowColor:gfx::SkColorToCalibratedNSColor(color[button_state])]; | 62 [shadow setShadowColor:skia::SkColorToCalibratedNSColor(color[button_state])]; |
63 [shadow setShadowOffset:NSMakeSize(0, -1)]; | 63 [shadow setShadowOffset:NSMakeSize(0, -1)]; |
64 [shadow setShadowBlurRadius:2]; | 64 [shadow setShadowBlurRadius:2]; |
65 return shadow; | 65 return shadow; |
66 } | 66 } |
67 | 67 |
68 NSShadow* GetButtonShadow(ButtonState button_state) { | 68 NSShadow* GetButtonShadow(ButtonState button_state) { |
69 const SkColor color[] = {0x14000000, 0x1F000000, 0x00000000, 0x00000000}; | 69 const SkColor color[] = {0x14000000, 0x1F000000, 0x00000000, 0x00000000}; |
70 | 70 |
71 NSShadow* shadow = [[[NSShadow alloc] init] autorelease]; | 71 NSShadow* shadow = [[[NSShadow alloc] init] autorelease]; |
72 [shadow setShadowColor:gfx::SkColorToCalibratedNSColor(color[button_state])]; | 72 [shadow setShadowColor:skia::SkColorToCalibratedNSColor(color[button_state])]; |
73 [shadow setShadowOffset:NSMakeSize(0, -1)]; | 73 [shadow setShadowOffset:NSMakeSize(0, -1)]; |
74 [shadow setShadowBlurRadius:0]; | 74 [shadow setShadowBlurRadius:0]; |
75 return shadow; | 75 return shadow; |
76 } | 76 } |
77 | 77 |
78 NSColor* GetButtonBorderColor(ButtonState button_state) { | 78 NSColor* GetButtonBorderColor(ButtonState button_state) { |
79 const SkColor color[] = {0x40000000, 0x4D000000, 0x4D000000, 0x1F000000}; | 79 const SkColor color[] = {0x40000000, 0x4D000000, 0x4D000000, 0x1F000000}; |
80 | 80 |
81 return gfx::SkColorToCalibratedNSColor(color[button_state]); | 81 return skia::SkColorToCalibratedNSColor(color[button_state]); |
82 } | 82 } |
83 | 83 |
84 NSAttributedString* GetButtonAttributedString( | 84 NSAttributedString* GetButtonAttributedString( |
85 NSString* title, | 85 NSString* title, |
86 NSString* key_equivalent, | 86 NSString* key_equivalent, |
87 id<ConstrainedWindowButtonDrawableCell> cell) { | 87 id<ConstrainedWindowButtonDrawableCell> cell) { |
88 const SkColor text_color[] = {0xFF333333, 0XFF000000, 0xFF000000, 0xFFAAAAAA}; | 88 const SkColor text_color[] = {0xFF333333, 0XFF000000, 0xFF000000, 0xFFAAAAAA}; |
89 // The shadow color should be 0xFFF0F0F0 but that doesn't show up so use | 89 // The shadow color should be 0xFFF0F0F0 but that doesn't show up so use |
90 // pure white instead. | 90 // pure white instead. |
91 const SkColor shadow_color[] = | 91 const SkColor shadow_color[] = |
92 {0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFF}; | 92 {0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFF}; |
93 | 93 |
94 base::scoped_nsobject<NSShadow> shadow([[NSShadow alloc] init]); | 94 base::scoped_nsobject<NSShadow> shadow([[NSShadow alloc] init]); |
95 [shadow setShadowColor: | 95 [shadow setShadowColor: |
96 gfx::SkColorToCalibratedNSColor(shadow_color[cellButtonState(cell)])]; | 96 skia::SkColorToCalibratedNSColor(shadow_color[cellButtonState(cell)])]; |
97 [shadow setShadowOffset:NSMakeSize(0, -1)]; | 97 [shadow setShadowOffset:NSMakeSize(0, -1)]; |
98 [shadow setShadowBlurRadius:0]; | 98 [shadow setShadowBlurRadius:0]; |
99 | 99 |
100 base::scoped_nsobject<NSMutableParagraphStyle> paragraphStyle( | 100 base::scoped_nsobject<NSMutableParagraphStyle> paragraphStyle( |
101 [[NSMutableParagraphStyle alloc] init]); | 101 [[NSMutableParagraphStyle alloc] init]); |
102 [paragraphStyle setAlignment:NSCenterTextAlignment]; | 102 [paragraphStyle setAlignment:NSCenterTextAlignment]; |
103 | 103 |
104 NSFont* font = nil; | 104 NSFont* font = nil; |
105 if ([key_equivalent isEqualToString:kKeyEquivalentReturn]) | 105 if ([key_equivalent isEqualToString:kKeyEquivalentReturn]) |
106 font = [NSFont boldSystemFontOfSize:12]; | 106 font = [NSFont boldSystemFontOfSize:12]; |
107 else | 107 else |
108 font = [NSFont systemFontOfSize:12]; | 108 font = [NSFont systemFontOfSize:12]; |
109 | 109 |
110 NSDictionary* attributes = [NSDictionary dictionaryWithObjectsAndKeys: | 110 NSDictionary* attributes = [NSDictionary dictionaryWithObjectsAndKeys: |
111 font, NSFontAttributeName, | 111 font, NSFontAttributeName, |
112 gfx::SkColorToCalibratedNSColor(text_color[cellButtonState(cell)]), | 112 skia::SkColorToCalibratedNSColor(text_color[cellButtonState(cell)]), |
113 NSForegroundColorAttributeName, | 113 NSForegroundColorAttributeName, |
114 shadow.get(), NSShadowAttributeName, | 114 shadow.get(), NSShadowAttributeName, |
115 paragraphStyle.get(), NSParagraphStyleAttributeName, | 115 paragraphStyle.get(), NSParagraphStyleAttributeName, |
116 nil]; | 116 nil]; |
117 return [[[NSAttributedString alloc] initWithString:title | 117 return [[[NSAttributedString alloc] initWithString:title |
118 attributes:attributes] autorelease]; | 118 attributes:attributes] autorelease]; |
119 } | 119 } |
120 | 120 |
121 void DrawBackgroundAndShadow(const NSRect& frame, | 121 void DrawBackgroundAndShadow(const NSRect& frame, |
122 id<ConstrainedWindowButtonDrawableCell> cell, | 122 id<ConstrainedWindowButtonDrawableCell> cell, |
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
281 size.width += kButtonPaddingX * 2; | 281 size.width += kButtonPaddingX * 2; |
282 return size; | 282 return size; |
283 } | 283 } |
284 | 284 |
285 - (NSAttributedString*)getAttributedTitle { | 285 - (NSAttributedString*)getAttributedTitle { |
286 return GetButtonAttributedString( | 286 return GetButtonAttributedString( |
287 [self title], [self keyEquivalent], self); | 287 [self title], [self keyEquivalent], self); |
288 } | 288 } |
289 | 289 |
290 @end | 290 @end |
OLD | NEW |