Chromium Code Reviews| Index: chrome/browser/ui/cocoa/fullscreen_exit_bubble_view.mm |
| diff --git a/chrome/browser/ui/cocoa/fullscreen_exit_bubble_view.mm b/chrome/browser/ui/cocoa/fullscreen_exit_bubble_view.mm |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..8338218e0df777cc8e4b166f9f6ce345f5d971a7 |
| --- /dev/null |
| +++ b/chrome/browser/ui/cocoa/fullscreen_exit_bubble_view.mm |
| @@ -0,0 +1,51 @@ |
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#import "chrome/browser/ui/cocoa/fullscreen_exit_bubble_view.h" |
| + |
| +namespace { |
| + |
| +const CGFloat kShadowTop = 20; |
| +const CGFloat kShadowBottom = 50; |
| +const CGFloat kShadowLeft = 50; |
| +const CGFloat kShadowRight = 50; |
| +const CGFloat kShadowBlurRadius = 290; |
| +const CGFloat kShadowAlpha = 0.3; |
| +const CGFloat kBubbleCornerRadius = 8.0; |
| + |
| +} |
| + |
| +@implementation FullscreenExitBubbleView |
| + |
| +- (void)drawRect:(NSRect)rect { |
| + // Make room for the border to be seen. |
| + NSRect bounds = [self bounds]; |
| + bounds.size.width -= kShadowLeft + kShadowRight; |
| + bounds.size.height -= kShadowTop + kShadowBottom; |
| + bounds.origin.x += kShadowLeft; |
| + bounds.origin.y += kShadowBottom; |
| + NSBezierPath* bezier = [NSBezierPath bezierPath]; |
| + |
| + CGFloat radius = kBubbleCornerRadius; |
| + // Start with a rounded rectangle. |
| + [bezier appendBezierPathWithRoundedRect:bounds |
| + xRadius:radius |
| + yRadius:radius]; |
| + |
| + [bezier closePath]; |
| + [[NSColor whiteColor] set]; |
| + [NSGraphicsContext saveGraphicsState]; |
|
Nico
2011/11/01 07:19:39
Consider using ui/gfx/scoped_ns_graphics_context_s
koz (OOO until 15th September)
2011/11/01 23:52:14
Done.
|
| + NSShadow* theShadow = [[NSShadow alloc] init]; |
| + [theShadow setShadowBlurRadius:kShadowBlurRadius]; |
| + [theShadow setShadowColor:[[NSColor blackColor] |
| + colorWithAlphaComponent:kShadowAlpha]]; |
| + [theShadow set]; |
| + |
| + [bezier fill]; |
| + |
| + [NSGraphicsContext restoreGraphicsState]; |
| + [theShadow release]; |
|
Nico
2011/11/01 07:19:39
Make theShadow a scoped_nsobject instead. Also, ca
koz (OOO until 15th September)
2011/11/01 23:52:14
Done.
|
| +} |
| + |
| +@end |