Index: ui/base/cocoa/hover_image_button.mm |
diff --git a/ui/base/cocoa/hover_image_button.mm b/ui/base/cocoa/hover_image_button.mm |
index 3cdf509122e261023cab1bb464dc87d68214c2ef..0e433164977c9cacbd5a2990b92bd9928e7005a8 100644 |
--- a/ui/base/cocoa/hover_image_button.mm |
+++ b/ui/base/cocoa/hover_image_button.mm |
@@ -6,28 +6,27 @@ |
@implementation HoverImageButton |
-- (void)drawRect:(NSRect)rect { |
- if (hoverState_ == kHoverStateMouseDown && pressedImage_) { |
- [super setImage:pressedImage_.get()]; |
- } else if (hoverState_ == kHoverStateMouseOver && hoverImage_) { |
- [super setImage:hoverImage_.get()]; |
- } else { |
- [super setImage:defaultImage_.get()]; |
- } |
- |
- [super drawRect:rect]; |
+- (void)setIsMouseInside:(BOOL)isInside { |
+ if (isInside && hoverImage_) |
+ [self setImage:hoverImage_]; |
+ else |
+ [self setImage:defaultImage_]; |
+ |
+ [super setIsMouseInside:isInside]; |
} |
- (void)setDefaultImage:(NSImage*)image { |
defaultImage_.reset([image retain]); |
+ [self checkImageState]; |
} |
- (void)setHoverImage:(NSImage*)image { |
hoverImage_.reset([image retain]); |
+ [self checkImageState]; |
} |
- (void)setPressedImage:(NSImage*)image { |
- pressedImage_.reset([image retain]); |
+ [self setAlternateImage:image]; |
} |
@end |