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