Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1210)

Side by Side Diff: views/window/window.h

Issue 7036014: Consolidate ShouldUseNativeFrame/AlwaysUseNativeFrame/UseNativeFrame spaghetti. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « views/window/non_client_view.cc ('k') | views/window/window.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
55 Window(); 61 Window();
56 virtual ~Window(); 62 virtual ~Window();
57 63
58 // Creates an instance of an object implementing this interface. 64 // Creates an instance of an object implementing this interface.
59 // TODO(beng): create a version of this function that takes a NativeView, for 65 // TODO(beng): create a version of this function that takes a NativeView, for
60 // constrained windows. 66 // constrained windows.
61 static Window* CreateChromeWindow(gfx::NativeWindow parent, 67 static Window* CreateChromeWindow(gfx::NativeWindow parent,
62 const gfx::Rect& bounds, 68 const gfx::Rect& bounds,
63 WindowDelegate* window_delegate); 69 WindowDelegate* window_delegate);
64 70
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 161
156 // Creates an appropriate NonClientFrameView for this window. 162 // Creates an appropriate NonClientFrameView for this window.
157 virtual NonClientFrameView* CreateFrameViewForWindow(); 163 virtual NonClientFrameView* CreateFrameViewForWindow();
158 164
159 // Updates the frame after an event caused it to be changed. 165 // Updates the frame after an event caused it to be changed.
160 virtual void UpdateFrameAfterFrameChange(); 166 virtual void UpdateFrameAfterFrameChange();
161 167
162 // Retrieves the Window's native window handle. 168 // Retrieves the Window's native window handle.
163 gfx::NativeWindow GetNativeWindow() const; 169 gfx::NativeWindow GetNativeWindow() const;
164 170
171 void set_frame_type(FrameType frame_type) { frame_type_ = frame_type; }
172 FrameType frame_type() const { return frame_type_; }
173
165 // Whether we should be using a native frame. 174 // Whether we should be using a native frame.
166 bool ShouldUseNativeFrame() const; 175 bool ShouldUseNativeFrame() const;
167 176
177 // Forces the frame into the alternate frame type (custom or native) depending
178 // on its current state.
179 void DebugToggleFrameType();
180
168 // Tell the window that something caused the frame type to change. 181 // Tell the window that something caused the frame type to change.
169 void FrameTypeChanged(); 182 void FrameTypeChanged();
170 183
171 WindowDelegate* window_delegate() { 184 WindowDelegate* window_delegate() {
172 return const_cast<WindowDelegate*>( 185 return const_cast<WindowDelegate*>(
173 const_cast<const Window*>(this)->window_delegate()); 186 const_cast<const Window*>(this)->window_delegate());
174 } 187 }
175 const WindowDelegate* window_delegate() const { 188 const WindowDelegate* window_delegate() const {
176 return window_delegate_; 189 return window_delegate_;
177 } 190 }
(...skipping 16 matching lines...) Expand all
194 207
195 NativeWindow* native_window() { return native_window_; } 208 NativeWindow* native_window() { return native_window_; }
196 209
197 protected: 210 protected:
198 // Overridden from NativeWindowDelegate: 211 // Overridden from NativeWindowDelegate:
199 virtual bool CanActivate() const OVERRIDE; 212 virtual bool CanActivate() const OVERRIDE;
200 virtual bool IsInactiveRenderingDisabled() const OVERRIDE; 213 virtual bool IsInactiveRenderingDisabled() const OVERRIDE;
201 virtual void EnableInactiveRendering() OVERRIDE; 214 virtual void EnableInactiveRendering() OVERRIDE;
202 virtual bool IsModal() const OVERRIDE; 215 virtual bool IsModal() const OVERRIDE;
203 virtual bool IsDialogBox() const OVERRIDE; 216 virtual bool IsDialogBox() const OVERRIDE;
204 virtual bool IsUsingNativeFrame() const OVERRIDE;
205 virtual gfx::Size GetMinimumSize() const OVERRIDE; 217 virtual gfx::Size GetMinimumSize() const OVERRIDE;
206 virtual int GetNonClientComponent(const gfx::Point& point) const OVERRIDE; 218 virtual int GetNonClientComponent(const gfx::Point& point) const OVERRIDE;
207 virtual bool ExecuteCommand(int command_id) OVERRIDE; 219 virtual bool ExecuteCommand(int command_id) OVERRIDE;
208 virtual void OnNativeWindowCreated(const gfx::Rect& bounds) OVERRIDE; 220 virtual void OnNativeWindowCreated(const gfx::Rect& bounds) OVERRIDE;
209 virtual void OnNativeWindowActivationChanged(bool active) OVERRIDE; 221 virtual void OnNativeWindowActivationChanged(bool active) OVERRIDE;
210 virtual void OnNativeWindowBeginUserBoundsChange() OVERRIDE; 222 virtual void OnNativeWindowBeginUserBoundsChange() OVERRIDE;
211 virtual void OnNativeWindowEndUserBoundsChange() OVERRIDE; 223 virtual void OnNativeWindowEndUserBoundsChange() OVERRIDE;
212 virtual void OnNativeWindowDestroying() OVERRIDE; 224 virtual void OnNativeWindowDestroying() OVERRIDE;
213 virtual void OnNativeWindowDestroyed() OVERRIDE; 225 virtual void OnNativeWindowDestroyed() OVERRIDE;
214 virtual void OnNativeWindowBoundsChanged() OVERRIDE; 226 virtual void OnNativeWindowBoundsChanged() OVERRIDE;
(...skipping 26 matching lines...) Expand all
241 // The smallest size the window can be. 253 // The smallest size the window can be.
242 gfx::Size minimum_size_; 254 gfx::Size minimum_size_;
243 255
244 // True when the window should be rendered as active, regardless of whether 256 // True when the window should be rendered as active, regardless of whether
245 // or not it actually is. 257 // or not it actually is.
246 bool disable_inactive_rendering_; 258 bool disable_inactive_rendering_;
247 259
248 // Set to true if the window is in the process of closing . 260 // Set to true if the window is in the process of closing .
249 bool window_closed_; 261 bool window_closed_;
250 262
263 // The current frame type in use by this window. Defaults to
264 // FRAME_TYPE_DEFAULT.
265 FrameType frame_type_;
266
251 DISALLOW_COPY_AND_ASSIGN(Window); 267 DISALLOW_COPY_AND_ASSIGN(Window);
252 }; 268 };
253 269
254 } // namespace views 270 } // namespace views
255 271
256 #endif // #ifndef VIEWS_WINDOW_WINDOW_H_ 272 #endif // #ifndef VIEWS_WINDOW_WINDOW_H_
OLDNEW
« no previous file with comments | « views/window/non_client_view.cc ('k') | views/window/window.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698