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 |