side_tab_strip_view.mm revision ddb351dbec246cf1fab5ec20d2d5520909041de1
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.
4
5#import "chrome/browser/ui/cocoa/tabs/side_tab_strip_view.h"
6
7#include "base/memory/scoped_nsobject.h"
8#import "third_party/GTM/AppKit/GTMNSColor+Luminance.h"
9
10@implementation SideTabStripView
11
12- (void)drawBorder:(NSRect)bounds {
13  // Draw a border on the right side.
14  NSRect borderRect, contentRect;
15  NSDivideRect(bounds, &borderRect, &contentRect, 1, NSMaxXEdge);
16  [[NSColor colorWithCalibratedWhite:0.0 alpha:0.2] set];
17  NSRectFillUsingOperation(borderRect, NSCompositeSourceOver);
18}
19
20// Override to prevent double-clicks from minimizing the window. The side
21// tab strip doesn't have that behavior (since it's in the window content
22// area).
23- (BOOL)doubleClickMinimizesWindow {
24  return NO;
25}
26
27- (void)drawRect:(NSRect)rect {
28  // BOOL isKey = [[self window] isKeyWindow];
29  NSColor* aColor =
30      [NSColor colorWithCalibratedRed:0.506 green:0.660 blue:0.985 alpha:1.000];
31  NSColor* bColor =
32      [NSColor colorWithCalibratedRed:0.099 green:0.140 blue:0.254 alpha:1.000];
33  scoped_nsobject<NSGradient> gradient(
34      [[NSGradient alloc] initWithStartingColor:aColor endingColor:bColor]);
35
36  NSRect gradientRect = [self bounds];
37  [gradient drawInRect:gradientRect angle:270.0];
38
39  // Draw borders and any drop feedback.
40  [super drawRect:rect];
41}
42
43@end
44