Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(318)

Unified Diff: ui/base/cocoa/hover_image_button.mm

Issue 16098012: [Mac] Reimplement HoverButton and HoverImageButton using NSButton.state. Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: nonatomic, assign Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698