[Metrics] Make MetricsStateManager take a callback param to check if UMA is enabled.
[chromium-blink-merge.git] / chrome / browser / ui / cocoa / fullscreen_exit_bubble_view.mm
blob8d791277e161cb65bf59fc2353a34f7cdd816ab8
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #import "chrome/browser/ui/cocoa/fullscreen_exit_bubble_view.h"
7 #include "base/mac/mac_util.h"
8 #include "base/mac/scoped_nsobject.h"
9 #include "ui/gfx/scoped_ns_graphics_context_save_gstate_mac.h"
11 namespace {
13 const CGFloat kShadowTop = 20;
14 const CGFloat kShadowBottom = 50;
15 const CGFloat kShadowLeft = 50;
16 const CGFloat kShadowRight = 50;
17 const CGFloat kShadowBlurRadius = 150;
18 // NOTE(koz): The blur radius parameter to setShadowBlurRadius: has a bigger
19 // effect on lion, so use a smaller value for it.
20 const CGFloat kShadowBlurRadiusLion = 30;
21 const CGFloat kShadowAlpha = 0.5;
22 const CGFloat kBubbleCornerRadius = 8.0;
26 @implementation FullscreenExitBubbleView
28 - (void)drawRect:(NSRect)rect {
29   // Make room for the border to be seen.
30   NSRect bounds = [self bounds];
31   bounds.size.width -= kShadowLeft + kShadowRight;
32   bounds.size.height -= kShadowTop + kShadowBottom;
33   bounds.origin.x += kShadowLeft;
34   bounds.origin.y += kShadowBottom;
35   NSBezierPath* bezier = [NSBezierPath bezierPath];
37   CGFloat radius = kBubbleCornerRadius;
38   // Start with a rounded rectangle.
39   [bezier appendBezierPathWithRoundedRect:bounds
40                                   xRadius:radius
41                                   yRadius:radius];
43   [bezier closePath];
44   [[NSColor whiteColor] set];
45   gfx::ScopedNSGraphicsContextSaveGState scoped_g_state;
46   base::scoped_nsobject<NSShadow> shadow([[NSShadow alloc] init]);
47   if (base::mac::IsOSLionOrLater()) {
48     [shadow setShadowBlurRadius:kShadowBlurRadiusLion];
49   } else {
50     [shadow setShadowBlurRadius:kShadowBlurRadius];
51   }
52   [shadow setShadowColor:[[NSColor blackColor]
53     colorWithAlphaComponent:kShadowAlpha]];
54   [shadow set];
56   [bezier fill];
59 @end