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 UI_VIEWS_BUBBLE_BUBBLE_FRAME_VIEW_H_ | 5 #ifndef UI_VIEWS_BUBBLE_BUBBLE_FRAME_VIEW_H_ |
6 #define UI_VIEWS_BUBBLE_BUBBLE_FRAME_VIEW_H_ | 6 #define UI_VIEWS_BUBBLE_BUBBLE_FRAME_VIEW_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 #include "base/gtest_prod_util.h" | 10 #include "base/gtest_prod_util.h" |
11 #include "ui/gfx/insets.h" | 11 #include "ui/gfx/insets.h" |
12 #include "ui/views/controls/button/button.h" | 12 #include "ui/views/controls/button/button.h" |
13 #include "ui/views/window/non_client_view.h" | 13 #include "ui/views/window/non_client_view.h" |
14 | 14 |
15 namespace views { | 15 namespace views { |
16 | 16 |
17 class Label; | 17 class Label; |
18 class LabelButton; | 18 class LabelButton; |
19 class BubbleBorder; | 19 class BubbleBorder; |
20 | 20 |
21 // The non-client frame view of bubble-styled widgets. | 21 // The non-client frame view of bubble-styled widgets. |
22 class VIEWS_EXPORT BubbleFrameView : public NonClientFrameView, | 22 class VIEWS_EXPORT BubbleFrameView : public NonClientFrameView, |
23 public ButtonListener { | 23 public ButtonListener { |
24 public: | 24 public: |
25 // Internal class name. | 25 // Internal class name. |
26 static const char kViewClassName[]; | 26 static const char kViewClassName[]; |
27 | 27 |
| 28 // Insets to make bubble contents align horizontal with the bubble title. |
| 29 // NOTE: this does not take into account whether a title actually exists. |
| 30 static gfx::Insets GetTitleInsets(); |
| 31 |
28 explicit BubbleFrameView(const gfx::Insets& content_margins); | 32 explicit BubbleFrameView(const gfx::Insets& content_margins); |
29 virtual ~BubbleFrameView(); | 33 virtual ~BubbleFrameView(); |
30 | 34 |
31 // NonClientFrameView overrides: | 35 // NonClientFrameView overrides: |
32 virtual gfx::Rect GetBoundsForClientView() const OVERRIDE; | 36 virtual gfx::Rect GetBoundsForClientView() const OVERRIDE; |
33 virtual gfx::Rect GetWindowBoundsForClientBounds( | 37 virtual gfx::Rect GetWindowBoundsForClientBounds( |
34 const gfx::Rect& client_bounds) const OVERRIDE; | 38 const gfx::Rect& client_bounds) const OVERRIDE; |
35 virtual int NonClientHitTest(const gfx::Point& point) OVERRIDE; | 39 virtual int NonClientHitTest(const gfx::Point& point) OVERRIDE; |
36 virtual void GetWindowMask(const gfx::Size& size, | 40 virtual void GetWindowMask(const gfx::Size& size, |
37 gfx::Path* window_mask) OVERRIDE; | 41 gfx::Path* window_mask) OVERRIDE; |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 // When supplied, this view is placed in the titlebar between the title and | 100 // When supplied, this view is placed in the titlebar between the title and |
97 // (x) close button. | 101 // (x) close button. |
98 View* titlebar_extra_view_; | 102 View* titlebar_extra_view_; |
99 | 103 |
100 DISALLOW_COPY_AND_ASSIGN(BubbleFrameView); | 104 DISALLOW_COPY_AND_ASSIGN(BubbleFrameView); |
101 }; | 105 }; |
102 | 106 |
103 } // namespace views | 107 } // namespace views |
104 | 108 |
105 #endif // UI_VIEWS_BUBBLE_BUBBLE_FRAME_VIEW_H_ | 109 #endif // UI_VIEWS_BUBBLE_BUBBLE_FRAME_VIEW_H_ |
OLD | NEW |