Chromium Code Reviews| Index: chrome/browser/ui/cocoa/background_gradient_view.mm |
| diff --git a/chrome/browser/ui/cocoa/background_gradient_view.mm b/chrome/browser/ui/cocoa/background_gradient_view.mm |
| index 6458533dbc51ed8db54c04fa93f229d46d37d96d..e0ee183f5c16c7243492e2f94fb0d6e4d95aabf5 100644 |
| --- a/chrome/browser/ui/cocoa/background_gradient_view.mm |
| +++ b/chrome/browser/ui/cocoa/background_gradient_view.mm |
| @@ -12,31 +12,16 @@ |
| #import "ui/base/cocoa/nsview_additions.h" |
| #include "ui/base/material_design/material_design_controller.h" |
| -@interface BackgroundGradientView (Private) |
| -- (void)commonInit; |
| -- (NSColor*)backgroundImageColor; |
| -@end |
| - |
| @implementation BackgroundGradientView |
| +@synthesize divider = divider_; |
| @synthesize showsDivider = showsDivider_; |
| -- (id)initWithFrame:(NSRect)frameRect { |
| - if ((self = [super initWithFrame:frameRect])) { |
| - [self commonInit]; |
| - } |
| - return self; |
| -} |
| - |
| -- (id)initWithCoder:(NSCoder*)decoder { |
| - if ((self = [super initWithCoder:decoder])) { |
| - [self commonInit]; |
| - } |
| - return self; |
| -} |
| - |
| -- (void)commonInit { |
| - showsDivider_ = YES; |
|
Nico
2016/09/12 13:45:55
This used to default to divider-on, now it default
Sidney San Martín
2016/09/14 17:46:59
Fixed, thanks.
|
| +- (void)setDivider:(BackgroundGradientViewDivider)divider { |
| + if (divider_ == divider) |
| + return; |
| + divider_ = divider; |
| + [self setNeedsDisplay:YES]; |
| } |
| - (void)setShowsDivider:(BOOL)show { |
| @@ -68,10 +53,16 @@ |
| NSRectFillUsingOperation(dirtyRect, NSCompositeSourceOver); |
| if (showsDivider_) { |
| - // Draw bottom stroke |
| - NSRect borderRect, contentRect; |
| - NSDivideRect([self bounds], &borderRect, &contentRect, [self cr_lineWidth], |
| - NSMinYEdge); |
| + CGFloat lineWidth = [self cr_lineWidth]; |
| + NSRect borderRect = NSMakeRect(0, 0, self.bounds.size.width, lineWidth); |
| + |
| + switch (divider_) { |
| + case BackgroundGradientViewDivider::Bottom: |
| + break; |
| + case BackgroundGradientViewDivider::Top: |
| + borderRect.origin.y = self.bounds.size.height - lineWidth; |
| + break; |
| + } |
|
Nico
2016/09/12 13:45:55
These 7 lines are shorter as
if (divider_ == Ba
Sidney San Martín
2016/09/14 17:46:59
I think I had an incomplete understanding of NSDiv
|
| if (NSIntersectsRect(borderRect, dirtyRect)) { |
| [[self strokeColor] set]; |
| NSRectFillUsingOperation(NSIntersectionRect(borderRect, dirtyRect), |