OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #ifndef CHROME_BROWSER_UI_COCOA_LOCATION_BAR_BUTTON_DECORATION_H_ | 5 #ifndef CHROME_BROWSER_UI_COCOA_LOCATION_BAR_BUTTON_DECORATION_H_ |
6 #define CHROME_BROWSER_UI_COCOA_LOCATION_BAR_BUTTON_DECORATION_H_ | 6 #define CHROME_BROWSER_UI_COCOA_LOCATION_BAR_BUTTON_DECORATION_H_ |
7 | 7 |
8 #import "base/mac/scoped_nsobject.h" | 8 #import "base/mac/scoped_nsobject.h" |
9 #include "chrome/browser/ui/cocoa/location_bar/location_bar_decoration.h" | 9 #include "chrome/browser/ui/cocoa/location_bar/location_bar_decoration.h" |
10 #import "ui/base/cocoa/appkit_utils.h" | 10 #import "ui/base/cocoa/appkit_utils.h" |
(...skipping 20 matching lines...) Expand all Loading... |
31 int hover_icon_id, | 31 int hover_icon_id, |
32 ui::NinePartImageIds pressed_image_ids, | 32 ui::NinePartImageIds pressed_image_ids, |
33 int pressed_icon_id, | 33 int pressed_icon_id, |
34 CGFloat max_inner_padding); | 34 CGFloat max_inner_padding); |
35 | 35 |
36 virtual ~ButtonDecoration(); | 36 virtual ~ButtonDecoration(); |
37 | 37 |
38 void SetButtonState(ButtonState state); | 38 void SetButtonState(ButtonState state); |
39 ButtonState GetButtonState() const; | 39 ButtonState GetButtonState() const; |
40 | 40 |
| 41 // Whether a click on this decoration should prevent focusing of the omnibox |
| 42 // or not. |
| 43 virtual bool PreventFocus(NSPoint location) const; |
| 44 |
41 // Changes the icon for the specified button state only. | 45 // Changes the icon for the specified button state only. |
42 void SetIcon(ButtonState state, int icon_id); | 46 void SetIcon(ButtonState state, int icon_id); |
43 | 47 |
44 // Changes the icon for all button states. | 48 // Changes the icon for all button states. |
45 void SetIcon(int icon_id); | 49 void SetIcon(int icon_id); |
46 | 50 |
47 // Changes the background image for all button states. | 51 // Changes the background image for all button states. |
48 void SetBackgroundImageIds(ui::NinePartImageIds normal_image_ids, | 52 void SetBackgroundImageIds(ui::NinePartImageIds normal_image_ids, |
49 ui::NinePartImageIds hover_image_ids, | 53 ui::NinePartImageIds hover_image_ids, |
50 ui::NinePartImageIds pressed_image_ids); | 54 ui::NinePartImageIds pressed_image_ids); |
51 | 55 |
52 ui::NinePartImageIds GetBackgroundImageIds() const; | 56 ui::NinePartImageIds GetBackgroundImageIds() const; |
53 NSImage* GetIconImage() const; | 57 NSImage* GetIconImage() const; |
54 | 58 |
55 // Implement |LocationBarDecoration|. | 59 // Implement |LocationBarDecoration|. |
56 virtual CGFloat GetWidthForSpace(CGFloat width) OVERRIDE; | 60 virtual CGFloat GetWidthForSpace(CGFloat width) OVERRIDE; |
57 virtual void DrawInFrame(NSRect frame, NSView* control_view) OVERRIDE; | 61 virtual void DrawInFrame(NSRect frame, NSView* control_view) OVERRIDE; |
58 virtual bool AcceptsMousePress() OVERRIDE; | 62 virtual bool AcceptsMousePress() OVERRIDE; |
59 virtual bool IsDraggable() OVERRIDE; | 63 virtual bool IsDraggable() OVERRIDE; |
60 virtual bool OnMousePressed(NSRect frame) OVERRIDE; | 64 virtual bool OnMousePressed(NSRect frame, NSPoint location) OVERRIDE; |
61 virtual ButtonDecoration* AsButtonDecoration() OVERRIDE; | 65 virtual ButtonDecoration* AsButtonDecoration() OVERRIDE; |
62 | 66 |
63 private: | 67 private: |
64 ui::NinePartImageIds normal_image_ids_; | 68 ui::NinePartImageIds normal_image_ids_; |
65 ui::NinePartImageIds hover_image_ids_; | 69 ui::NinePartImageIds hover_image_ids_; |
66 ui::NinePartImageIds pressed_image_ids_; | 70 ui::NinePartImageIds pressed_image_ids_; |
67 int normal_icon_id_; | 71 int normal_icon_id_; |
68 int hover_icon_id_; | 72 int hover_icon_id_; |
69 int pressed_icon_id_; | 73 int pressed_icon_id_; |
70 ButtonState state_; | 74 ButtonState state_; |
71 CGFloat max_inner_padding_; | 75 CGFloat max_inner_padding_; |
72 | 76 |
73 DISALLOW_COPY_AND_ASSIGN(ButtonDecoration); | 77 DISALLOW_COPY_AND_ASSIGN(ButtonDecoration); |
74 }; | 78 }; |
75 | 79 |
76 #endif // CHROME_BROWSER_UI_COCOA_LOCATION_BAR_BUTTON_DECORATION_H_ | 80 #endif // CHROME_BROWSER_UI_COCOA_LOCATION_BAR_BUTTON_DECORATION_H_ |
OLD | NEW |