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 3// found in the LICENSE file. 4 5#import "chrome/browser/ui/cocoa/hover_image_button.h" 6 7#include "base/memory/scoped_nsobject.h" 8#include "grit/generated_resources.h" 9#include "ui/base/l10n/l10n_util.h" 10 11@implementation HoverImageButton 12 13- (void)drawRect:(NSRect)rect { 14 if (hoverState_ == kHoverStateMouseDown && pressedImage_) { 15 [super setImage:pressedImage_.get()]; 16 [super setAlphaValue:pressedOpacity_]; 17 } else if (hoverState_ == kHoverStateMouseOver && hoverImage_) { 18 [super setImage:hoverImage_.get()]; 19 [super setAlphaValue:hoverOpacity_]; 20 } else { 21 [super setImage:defaultImage_.get()]; 22 [super setAlphaValue:defaultOpacity_]; 23 } 24 25 [super drawRect:rect]; 26} 27 28- (void)setDefaultImage:(NSImage*)image { 29 defaultImage_.reset([image retain]); 30} 31 32- (void)setDefaultOpacity:(float)opacity { 33 defaultOpacity_ = opacity; 34} 35 36- (void)setHoverImage:(NSImage*)image { 37 hoverImage_.reset([image retain]); 38} 39 40- (void)setHoverOpacity:(float)opacity { 41 hoverOpacity_ = opacity; 42} 43 44- (void)setPressedImage:(NSImage*)image { 45 pressedImage_.reset([image retain]); 46} 47 48- (void)setPressedOpacity:(float)opacity { 49 pressedOpacity_ = opacity; 50} 51 52@end 53