| OLD | NEW | 
|---|
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 VIEWS_CONTROLS_BUTTON_IMAGE_BUTTON_H_ | 5 #ifndef VIEWS_CONTROLS_BUTTON_IMAGE_BUTTON_H_ | 
| 6 #define VIEWS_CONTROLS_BUTTON_IMAGE_BUTTON_H_ | 6 #define VIEWS_CONTROLS_BUTTON_IMAGE_BUTTON_H_ | 
| 7 | 7 | 
| 8 #include "third_party/skia/include/core/SkBitmap.h" | 8 #include "third_party/skia/include/core/SkBitmap.h" | 
| 9 #include "views/controls/button/custom_button.h" | 9 #include "views/controls/button/custom_button.h" | 
| 10 | 10 | 
| 11 namespace views { | 11 namespace views { | 
| 12 | 12 | 
| 13 // An image button. | 13 // An image button. | 
| 14 | 14 | 
| 15 // Note that this type of button is not focusable by default and will not be | 15 // Note that this type of button is not focusable by default and will not be | 
| 16 // part of the focus chain.  Call SetFocusable(true) to make it part of the | 16 // part of the focus chain.  Call SetFocusable(true) to make it part of the | 
| 17 // focus chain. | 17 // focus chain. | 
| 18 | 18 | 
| 19 class ImageButton : public CustomButton { | 19 class ImageButton : public CustomButton { | 
| 20  public: | 20  public: | 
|  | 21   enum HorizontalAlignment { ALIGN_LEFT = 0, | 
|  | 22                              ALIGN_CENTER, | 
|  | 23                              ALIGN_RIGHT, }; | 
|  | 24 | 
|  | 25   enum VerticalAlignment { ALIGN_TOP = 0, | 
|  | 26                            ALIGN_MIDDLE, | 
|  | 27                            ALIGN_BOTTOM }; | 
|  | 28 | 
| 21   explicit ImageButton(ButtonListener* listener); | 29   explicit ImageButton(ButtonListener* listener); | 
| 22   virtual ~ImageButton(); | 30   virtual ~ImageButton(); | 
| 23 | 31 | 
| 24   // Set the image the button should use for the provided state. | 32   // Set the image the button should use for the provided state. | 
| 25   virtual void SetImage(ButtonState aState, const SkBitmap* anImage); | 33   virtual void SetImage(ButtonState aState, const SkBitmap* anImage); | 
| 26 | 34 | 
| 27   // Set the background details. | 35   // Set the background details. | 
| 28   void SetBackground(SkColor color, | 36   void SetBackground(SkColor color, | 
| 29                      const SkBitmap* image, | 37                      const SkBitmap* image, | 
| 30                      const SkBitmap* mask); | 38                      const SkBitmap* mask); | 
| 31 | 39 | 
| 32   enum HorizontalAlignment { ALIGN_LEFT = 0, | 40   // Explicitly sets the background image. | 
| 33                              ALIGN_CENTER, | 41   void set_background_image(const SkBitmap& background) { | 
| 34                              ALIGN_RIGHT, }; | 42     background_image_ = background; | 
| 35 | 43   } | 
| 36   enum VerticalAlignment { ALIGN_TOP = 0, |  | 
| 37                            ALIGN_MIDDLE, |  | 
| 38                            ALIGN_BOTTOM }; |  | 
| 39 | 44 | 
| 40   // Sets how the image is laid out within the button's bounds. | 45   // Sets how the image is laid out within the button's bounds. | 
| 41   void SetImageAlignment(HorizontalAlignment h_align, | 46   void SetImageAlignment(HorizontalAlignment h_align, | 
| 42                          VerticalAlignment v_align); | 47                          VerticalAlignment v_align); | 
| 43 | 48 | 
| 44   // Overridden from View: | 49   // Overridden from View: | 
| 45   virtual gfx::Size GetPreferredSize(); | 50   virtual gfx::Size GetPreferredSize(); | 
| 46   virtual void Paint(gfx::Canvas* canvas); | 51   virtual void Paint(gfx::Canvas* canvas); | 
| 47 | 52 | 
| 48  protected: | 53  protected: | 
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 105   // The parent class's tooltip_text_ is displayed when not toggled, and | 110   // The parent class's tooltip_text_ is displayed when not toggled, and | 
| 106   // this one is shown when toggled. | 111   // this one is shown when toggled. | 
| 107   std::wstring toggled_tooltip_text_; | 112   std::wstring toggled_tooltip_text_; | 
| 108 | 113 | 
| 109   DISALLOW_COPY_AND_ASSIGN(ToggleImageButton); | 114   DISALLOW_COPY_AND_ASSIGN(ToggleImageButton); | 
| 110 }; | 115 }; | 
| 111 | 116 | 
| 112 }  // namespace views | 117 }  // namespace views | 
| 113 | 118 | 
| 114 #endif  // VIEWS_CONTROLS_BUTTON_IMAGE_BUTTON_H_ | 119 #endif  // VIEWS_CONTROLS_BUTTON_IMAGE_BUTTON_H_ | 
| OLD | NEW | 
|---|