| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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_WINDOW_NON_CLIENT_VIEW_H_ | 5 #ifndef VIEWS_WINDOW_NON_CLIENT_VIEW_H_ |
| 6 #define VIEWS_WINDOW_NON_CLIENT_VIEW_H_ | 6 #define VIEWS_WINDOW_NON_CLIENT_VIEW_H_ |
| 7 | 7 |
| 8 #include "base/task.h" | 8 #include "base/task.h" |
| 9 #include "views/view.h" | 9 #include "views/view.h" |
| 10 #include "views/window/client_view.h" | 10 #include "views/window/client_view.h" |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 188 // Layout just the frame view. This is necessary on Windows when non-client | 188 // Layout just the frame view. This is necessary on Windows when non-client |
| 189 // metrics such as the position of the window controls changes independently | 189 // metrics such as the position of the window controls changes independently |
| 190 // of a window resize message. | 190 // of a window resize message. |
| 191 void LayoutFrameView(); | 191 void LayoutFrameView(); |
| 192 | 192 |
| 193 // NonClientView, View overrides: | 193 // NonClientView, View overrides: |
| 194 virtual gfx::Size GetPreferredSize(); | 194 virtual gfx::Size GetPreferredSize(); |
| 195 virtual gfx::Size GetMinimumSize(); | 195 virtual gfx::Size GetMinimumSize(); |
| 196 virtual void Layout(); | 196 virtual void Layout(); |
| 197 | 197 |
| 198 // Call if the nonclientview is in an app or popup and we are in Vista, to |
| 199 // force usage of glass frame. |
| 200 void ForceAeroGlassFrame(); |
| 201 |
| 198 protected: | 202 protected: |
| 199 // NonClientView, View overrides: | 203 // NonClientView, View overrides: |
| 200 virtual void ViewHierarchyChanged(bool is_add, View* parent, View* child); | 204 virtual void ViewHierarchyChanged(bool is_add, View* parent, View* child); |
| 201 virtual views::View* GetViewForPoint(const gfx::Point& point); | 205 virtual views::View* GetViewForPoint(const gfx::Point& point); |
| 202 | 206 |
| 203 private: | 207 private: |
| 204 // The frame that hosts this NonClientView. | 208 // The frame that hosts this NonClientView. |
| 205 Window* frame_; | 209 Window* frame_; |
| 206 | 210 |
| 207 // A ClientView object or subclass, responsible for sizing the contents view | 211 // A ClientView object or subclass, responsible for sizing the contents view |
| 208 // of the window, hit testing and perhaps other tasks depending on the | 212 // of the window, hit testing and perhaps other tasks depending on the |
| 209 // implementation. | 213 // implementation. |
| 210 ClientView* client_view_; | 214 ClientView* client_view_; |
| 211 | 215 |
| 212 // The NonClientFrameView that renders the non-client portions of the window. | 216 // The NonClientFrameView that renders the non-client portions of the window. |
| 213 // This object is not owned by the view hierarchy because it can be replaced | 217 // This object is not owned by the view hierarchy because it can be replaced |
| 214 // dynamically as the system settings change. | 218 // dynamically as the system settings change. |
| 215 scoped_ptr<NonClientFrameView> frame_view_; | 219 scoped_ptr<NonClientFrameView> frame_view_; |
| 216 | 220 |
| 221 // True if the nonclientview is in an app or popup and we are in Vista. Used |
| 222 // to force usage of glass frame. |
| 223 bool force_aero_glass_frame_; |
| 224 |
| 217 DISALLOW_COPY_AND_ASSIGN(NonClientView); | 225 DISALLOW_COPY_AND_ASSIGN(NonClientView); |
| 218 }; | 226 }; |
| 219 | 227 |
| 220 } // namespace views | 228 } // namespace views |
| 221 | 229 |
| 222 #endif // #ifndef VIEWS_WINDOW_NON_CLIENT_VIEW_H_ | 230 #endif // #ifndef VIEWS_WINDOW_NON_CLIENT_VIEW_H_ |
| OLD | NEW |