| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #import "ui/base/cocoa/hover_image_button.h" | 5 #import "ui/base/cocoa/hover_image_button.h" |
| 6 | 6 |
| 7 @implementation HoverImageButton | 7 @implementation HoverImageButton |
| 8 | 8 |
| 9 - (void)drawRect:(NSRect)rect { | 9 - (void)setIsMouseInside:(BOOL)isInside { |
| 10 if (hoverState_ == kHoverStateMouseDown && pressedImage_) { | 10 if (isInside && hoverImage_) |
| 11 [super setImage:pressedImage_.get()]; | 11 [self setImage:hoverImage_]; |
| 12 } else if (hoverState_ == kHoverStateMouseOver && hoverImage_) { | 12 else |
| 13 [super setImage:hoverImage_.get()]; | 13 [self setImage:defaultImage_]; |
| 14 } else { | |
| 15 [super setImage:defaultImage_.get()]; | |
| 16 } | |
| 17 | 14 |
| 18 [super drawRect:rect]; | 15 [super setIsMouseInside:isInside]; |
| 19 } | 16 } |
| 20 | 17 |
| 21 - (void)setDefaultImage:(NSImage*)image { | 18 - (void)setDefaultImage:(NSImage*)image { |
| 22 defaultImage_.reset([image retain]); | 19 defaultImage_.reset([image retain]); |
| 20 [self checkImageState]; |
| 23 } | 21 } |
| 24 | 22 |
| 25 - (void)setHoverImage:(NSImage*)image { | 23 - (void)setHoverImage:(NSImage*)image { |
| 26 hoverImage_.reset([image retain]); | 24 hoverImage_.reset([image retain]); |
| 25 [self checkImageState]; |
| 27 } | 26 } |
| 28 | 27 |
| 29 - (void)setPressedImage:(NSImage*)image { | 28 - (void)setPressedImage:(NSImage*)image { |
| 30 pressedImage_.reset([image retain]); | 29 [self setAlternateImage:image]; |
| 31 } | 30 } |
| 32 | 31 |
| 33 @end | 32 @end |
| OLD | NEW |