diff options
Diffstat (limited to 'chrome/browser/chromeos/frame/bubble_frame_view.h')
| -rw-r--r-- | chrome/browser/chromeos/frame/bubble_frame_view.h | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/chrome/browser/chromeos/frame/bubble_frame_view.h b/chrome/browser/chromeos/frame/bubble_frame_view.h index 18505f7..7ebb29e 100644 --- a/chrome/browser/chromeos/frame/bubble_frame_view.h +++ b/chrome/browser/chromeos/frame/bubble_frame_view.h @@ -6,6 +6,8 @@ #define CHROME_BROWSER_CHROMEOS_FRAME_BUBBLE_FRAME_VIEW_H_ #pragma once +#include "chrome/browser/chromeos/frame/bubble_window.h" +#include "views/controls/button/button.h" #include "views/window/non_client_view.h" namespace gfx { @@ -17,6 +19,7 @@ class Size; } namespace views { +class ImageButton; class Label; class Window; } @@ -24,9 +27,10 @@ class Window; namespace chromeos { // BubbleFrameView implements a BubbleBorder based window frame. -class BubbleFrameView : public views::NonClientFrameView { +class BubbleFrameView : public views::NonClientFrameView, + public views::ButtonListener { public: - explicit BubbleFrameView(views::Window* frame); + BubbleFrameView(views::Window* frame, BubbleWindow::Style style); virtual ~BubbleFrameView(); // Overridden from views::NonClientFrameView: @@ -44,16 +48,26 @@ class BubbleFrameView : public views::NonClientFrameView { virtual void Layout(); virtual void Paint(gfx::Canvas* canvas); + // Overridden from views::ButtonListener: + virtual void ButtonPressed(views::Button* sender, + const views::Event& event); + private: // The window that owns this view. views::Window* frame_; + // Allows to tweak appearance of the view. + BubbleWindow::Style style_; + // Title label views::Label* title_; // The bounds of the client view, in this view's coordinates. gfx::Rect client_view_bounds_; + // Close button for STYLE_XBAR case. + views::ImageButton* close_button_; + DISALLOW_COPY_AND_ASSIGN(BubbleFrameView); }; |
