| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_WINDOW_H_ | 5 #ifndef VIEWS_WINDOW_WINDOW_H_ |
| 6 #define VIEWS_WINDOW_WINDOW_H_ | 6 #define VIEWS_WINDOW_WINDOW_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include "ui/gfx/native_widget_types.h" | 9 #include "ui/gfx/native_widget_types.h" |
| 10 #include "views/widget/widget.h" | 10 #include "views/widget/widget.h" |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 45 struct InitParams { | 45 struct InitParams { |
| 46 // |window_delegate| cannot be NULL. | 46 // |window_delegate| cannot be NULL. |
| 47 explicit InitParams(WindowDelegate* window_delegate); | 47 explicit InitParams(WindowDelegate* window_delegate); |
| 48 | 48 |
| 49 WindowDelegate* window_delegate; | 49 WindowDelegate* window_delegate; |
| 50 gfx::NativeWindow parent_window; | 50 gfx::NativeWindow parent_window; |
| 51 NativeWindow* native_window; | 51 NativeWindow* native_window; |
| 52 Widget::InitParams widget_init_params; | 52 Widget::InitParams widget_init_params; |
| 53 }; | 53 }; |
| 54 | 54 |
| 55 enum FrameType { | |
| 56 FRAME_TYPE_DEFAULT, // Use whatever the default would be. | |
| 57 FRAME_TYPE_FORCE_CUSTOM, // Force the custom frame. | |
| 58 FRAME_TYPE_FORCE_NATIVE // Force the native frame. | |
| 59 }; | |
| 60 | |
| 61 Window(); | 55 Window(); |
| 62 virtual ~Window(); | 56 virtual ~Window(); |
| 63 | 57 |
| 64 // Creates an instance of an object implementing this interface. | 58 // Creates an instance of an object implementing this interface. |
| 65 // TODO(beng): create a version of this function that takes a NativeView, for | 59 // TODO(beng): create a version of this function that takes a NativeView, for |
| 66 // constrained windows. | 60 // constrained windows. |
| 67 static Window* CreateChromeWindow(gfx::NativeWindow parent, | 61 static Window* CreateChromeWindow(gfx::NativeWindow parent, |
| 68 const gfx::Rect& bounds, | 62 const gfx::Rect& bounds, |
| 69 WindowDelegate* window_delegate); | 63 WindowDelegate* window_delegate); |
| 70 | 64 |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 161 | 155 |
| 162 // Creates an appropriate NonClientFrameView for this window. | 156 // Creates an appropriate NonClientFrameView for this window. |
| 163 virtual NonClientFrameView* CreateFrameViewForWindow(); | 157 virtual NonClientFrameView* CreateFrameViewForWindow(); |
| 164 | 158 |
| 165 // Updates the frame after an event caused it to be changed. | 159 // Updates the frame after an event caused it to be changed. |
| 166 virtual void UpdateFrameAfterFrameChange(); | 160 virtual void UpdateFrameAfterFrameChange(); |
| 167 | 161 |
| 168 // Retrieves the Window's native window handle. | 162 // Retrieves the Window's native window handle. |
| 169 gfx::NativeWindow GetNativeWindow() const; | 163 gfx::NativeWindow GetNativeWindow() const; |
| 170 | 164 |
| 171 void set_frame_type(FrameType frame_type) { frame_type_ = frame_type; } | |
| 172 FrameType frame_type() const { return frame_type_; } | |
| 173 | |
| 174 // Whether we should be using a native frame. | 165 // Whether we should be using a native frame. |
| 175 bool ShouldUseNativeFrame() const; | 166 bool ShouldUseNativeFrame() const; |
| 176 | 167 |
| 177 // Forces the frame into the alternate frame type (custom or native) depending | |
| 178 // on its current state. | |
| 179 void DebugToggleFrameType(); | |
| 180 | |
| 181 // Tell the window that something caused the frame type to change. | 168 // Tell the window that something caused the frame type to change. |
| 182 void FrameTypeChanged(); | 169 void FrameTypeChanged(); |
| 183 | 170 |
| 184 WindowDelegate* window_delegate() { | 171 WindowDelegate* window_delegate() { |
| 185 return const_cast<WindowDelegate*>( | 172 return const_cast<WindowDelegate*>( |
| 186 const_cast<const Window*>(this)->window_delegate()); | 173 const_cast<const Window*>(this)->window_delegate()); |
| 187 } | 174 } |
| 188 const WindowDelegate* window_delegate() const { | 175 const WindowDelegate* window_delegate() const { |
| 189 return window_delegate_; | 176 return window_delegate_; |
| 190 } | 177 } |
| (...skipping 16 matching lines...) Expand all Loading... |
| 207 | 194 |
| 208 NativeWindow* native_window() { return native_window_; } | 195 NativeWindow* native_window() { return native_window_; } |
| 209 | 196 |
| 210 protected: | 197 protected: |
| 211 // Overridden from NativeWindowDelegate: | 198 // Overridden from NativeWindowDelegate: |
| 212 virtual bool CanActivate() const OVERRIDE; | 199 virtual bool CanActivate() const OVERRIDE; |
| 213 virtual bool IsInactiveRenderingDisabled() const OVERRIDE; | 200 virtual bool IsInactiveRenderingDisabled() const OVERRIDE; |
| 214 virtual void EnableInactiveRendering() OVERRIDE; | 201 virtual void EnableInactiveRendering() OVERRIDE; |
| 215 virtual bool IsModal() const OVERRIDE; | 202 virtual bool IsModal() const OVERRIDE; |
| 216 virtual bool IsDialogBox() const OVERRIDE; | 203 virtual bool IsDialogBox() const OVERRIDE; |
| 204 virtual bool IsUsingNativeFrame() const OVERRIDE; |
| 217 virtual gfx::Size GetMinimumSize() const OVERRIDE; | 205 virtual gfx::Size GetMinimumSize() const OVERRIDE; |
| 218 virtual int GetNonClientComponent(const gfx::Point& point) const OVERRIDE; | 206 virtual int GetNonClientComponent(const gfx::Point& point) const OVERRIDE; |
| 219 virtual bool ExecuteCommand(int command_id) OVERRIDE; | 207 virtual bool ExecuteCommand(int command_id) OVERRIDE; |
| 220 virtual void OnNativeWindowCreated(const gfx::Rect& bounds) OVERRIDE; | 208 virtual void OnNativeWindowCreated(const gfx::Rect& bounds) OVERRIDE; |
| 221 virtual void OnNativeWindowActivationChanged(bool active) OVERRIDE; | 209 virtual void OnNativeWindowActivationChanged(bool active) OVERRIDE; |
| 222 virtual void OnNativeWindowBeginUserBoundsChange() OVERRIDE; | 210 virtual void OnNativeWindowBeginUserBoundsChange() OVERRIDE; |
| 223 virtual void OnNativeWindowEndUserBoundsChange() OVERRIDE; | 211 virtual void OnNativeWindowEndUserBoundsChange() OVERRIDE; |
| 224 virtual void OnNativeWindowDestroying() OVERRIDE; | 212 virtual void OnNativeWindowDestroying() OVERRIDE; |
| 225 virtual void OnNativeWindowDestroyed() OVERRIDE; | 213 virtual void OnNativeWindowDestroyed() OVERRIDE; |
| 226 virtual void OnNativeWindowBoundsChanged() OVERRIDE; | 214 virtual void OnNativeWindowBoundsChanged() OVERRIDE; |
| (...skipping 26 matching lines...) Expand all Loading... |
| 253 // The smallest size the window can be. | 241 // The smallest size the window can be. |
| 254 gfx::Size minimum_size_; | 242 gfx::Size minimum_size_; |
| 255 | 243 |
| 256 // True when the window should be rendered as active, regardless of whether | 244 // True when the window should be rendered as active, regardless of whether |
| 257 // or not it actually is. | 245 // or not it actually is. |
| 258 bool disable_inactive_rendering_; | 246 bool disable_inactive_rendering_; |
| 259 | 247 |
| 260 // Set to true if the window is in the process of closing . | 248 // Set to true if the window is in the process of closing . |
| 261 bool window_closed_; | 249 bool window_closed_; |
| 262 | 250 |
| 263 // The current frame type in use by this window. Defaults to | |
| 264 // FRAME_TYPE_DEFAULT. | |
| 265 FrameType frame_type_; | |
| 266 | |
| 267 DISALLOW_COPY_AND_ASSIGN(Window); | 251 DISALLOW_COPY_AND_ASSIGN(Window); |
| 268 }; | 252 }; |
| 269 | 253 |
| 270 } // namespace views | 254 } // namespace views |
| 271 | 255 |
| 272 #endif // #ifndef VIEWS_WINDOW_WINDOW_H_ | 256 #endif // #ifndef VIEWS_WINDOW_WINDOW_H_ |
| OLD | NEW |