• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2014 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 "ui/message_center/cocoa/opaque_views.h"
6
7@implementation MCDropDown
8// The view must be opaque to render subpixel antialiasing.
9- (BOOL)isOpaque {
10  return YES;
11}
12
13// The view must also fill its background to render subpixel antialiasing.
14- (void)drawRect:(NSRect)dirtyRect {
15  [backgroundColor_ set];
16  NSRectFill(dirtyRect);
17  [super drawRect:dirtyRect];
18}
19
20- (NSColor*)backgroundColor {
21  return backgroundColor_;
22}
23
24- (void)setBackgroundColor:(NSColor*)backgroundColor {
25  backgroundColor_.reset([backgroundColor retain]);
26}
27@end
28
29@implementation MCTextField
30- (id)initWithFrame:(NSRect)frameRect backgroundColor:(NSColor*)color {
31  self = [self initWithFrame:frameRect];
32  if (self) {
33    [self setBackgroundColor:color];
34    backgroundColor_.reset([color retain]);
35  }
36  return self;
37}
38
39- (id)initWithFrame:(NSRect)frameRect {
40  self = [super initWithFrame:frameRect];
41  if (self) {
42    [self setAutoresizingMask:NSViewMinYMargin];
43    [self setBezeled:NO];
44    [self setBordered:NO];
45    [self setEditable:NO];
46    [self setSelectable:NO];
47    [self setDrawsBackground:YES];
48  }
49  return self;
50}
51
52// The view must be opaque to render subpixel antialiasing.
53- (BOOL)isOpaque {
54  return YES;
55}
56
57// The view must also fill its background to render subpixel antialiasing.
58- (void)drawRect:(NSRect)dirtyRect {
59  [backgroundColor_ set];
60  NSRectFill(dirtyRect);
61  [super drawRect:dirtyRect];
62}
63@end
64