summaryrefslogtreecommitdiffstats
path: root/chrome/browser/cocoa/vertical_gradient_view.mm
blob: 701053d5e953276efe9f20fc1357a7f38e9006a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Copyright (c) 2010 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.

#include "chrome/browser/cocoa/vertical_gradient_view.h"

@implementation VerticalGradientView

- (NSGradient*)gradient {
  return gradient_;
}

- (void)setGradient:(NSGradient*)gradient {
  gradient_.reset([gradient retain]);
}

- (NSColor*)strokeColor {
  return strokeColor_;
}

- (void)setStrokeColor:(NSColor*)strokeColor {
  strokeColor_.reset([strokeColor retain]);
}

- (void)drawRect:(NSRect)rect {
  // Draw gradient.
  [[self gradient] drawInRect:[self bounds] angle:270];

  // Draw bottom stroke.
  NSColor* strokeColor = [self strokeColor];
  if (strokeColor) {
    [[self strokeColor] set];
    NSRect borderRect, contentRect;
    NSDivideRect([self bounds], &borderRect, &contentRect, 1, NSMinYEdge);
    NSRectFillUsingOperation(borderRect, NSCompositeSourceOver);
  }
}

@end