• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 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 #ifndef UI_BASE_COCOA_CONTROLS_HOVER_IMAGE_MENU_BUTTON_CELL_H_
6 #define UI_BASE_COCOA_CONTROLS_HOVER_IMAGE_MENU_BUTTON_CELL_H_
7 
8 #import <Cocoa/Cocoa.h>
9 
10 #include "base/mac/scoped_nsobject.h"
11 #include "ui/base/ui_base_export.h"
12 
13 // A custom NSPopUpButtonCell that permits a hover image, and draws only an
14 // image in its frame; no border, bezel or drop-down arrow. Use setDefaultImage:
15 // to set the default image, setAlternateImage: to set the button shown while
16 // the menu is active, and setHoverImage: for the mouseover hover image.
17 UI_BASE_EXPORT
18 @interface HoverImageMenuButtonCell : NSPopUpButtonCell {
19  @private
20   base::scoped_nsobject<NSImage> hoverImage_;
21   BOOL hovered_;
22 }
23 
24 @property(retain, nonatomic) NSImage* hoverImage;
25 @property(assign, nonatomic, getter=isHovered) BOOL hovered;
26 
27 // Return the image that would be drawn based on the current state flags.
28 - (NSImage*)imageToDraw;
29 
30 // Set the default image to show on the menu button.
31 - (void)setDefaultImage:(NSImage*)defaultImage;
32 
33 @end
34 
35 #endif  // UI_BASE_COCOA_CONTROLS_HOVER_IMAGE_MENU_BUTTON_CELL_H_
36