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

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

Issue 6622002: Do all OOLing in the views code. linux_views now builds clean with the clang plugin. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 9 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
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #pragma once 7 #pragma once
8 8
9 #include "base/task.h" 9 #include "base/task.h"
10 #include "views/view.h" 10 #include "views/view.h"
(...skipping 30 matching lines...) Expand all
41 SchedulePaint(); 41 SchedulePaint();
42 } 42 }
43 43
44 // Returns the bounds (in this View's parent's coordinates) that the client 44 // Returns the bounds (in this View's parent's coordinates) that the client
45 // view should be laid out within. 45 // view should be laid out within.
46 virtual gfx::Rect GetBoundsForClientView() const = 0; 46 virtual gfx::Rect GetBoundsForClientView() const = 0;
47 47
48 // Returns true if this FrameView should always use the custom frame, 48 // Returns true if this FrameView should always use the custom frame,
49 // regardless of the system settings. An example is the Constrained Window, 49 // regardless of the system settings. An example is the Constrained Window,
50 // which is a child window and must always provide its own frame. 50 // which is a child window and must always provide its own frame.
51 virtual bool AlwaysUseCustomFrame() const { return false; } 51 virtual bool AlwaysUseCustomFrame() const;
52 52
53 // Like AlwaysUseCustomFrame, returns true if this FrameView should always use 53 // Like AlwaysUseCustomFrame, returns true if this FrameView should always use
54 // the native frame, regardless of theme settings. An example is popup/app 54 // the native frame, regardless of theme settings. An example is popup/app
55 // windows, which we do not ever want to show themed. 55 // windows, which we do not ever want to show themed.
56 virtual bool AlwaysUseNativeFrame() const { return false; } 56 virtual bool AlwaysUseNativeFrame() const;
57 57
58 virtual gfx::Rect GetWindowBoundsForClientBounds( 58 virtual gfx::Rect GetWindowBoundsForClientBounds(
59 const gfx::Rect& client_bounds) const = 0; 59 const gfx::Rect& client_bounds) const = 0;
60 60
61 // This function must ask the ClientView to do a hittest. We don't do this in 61 // This function must ask the ClientView to do a hittest. We don't do this in
62 // the parent NonClientView because that makes it more difficult to calculate 62 // the parent NonClientView because that makes it more difficult to calculate
63 // hittests for regions that are partially obscured by the ClientView, e.g. 63 // hittests for regions that are partially obscured by the ClientView, e.g.
64 // HTSYSMENU. 64 // HTSYSMENU.
65 virtual int NonClientHitTest(const gfx::Point& point) = 0; 65 virtual int NonClientHitTest(const gfx::Point& point) = 0;
66 virtual void GetWindowMask(const gfx::Size& size, 66 virtual void GetWindowMask(const gfx::Size& size,
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 // This object is not owned by the view hierarchy because it can be replaced 229 // This object is not owned by the view hierarchy because it can be replaced
230 // dynamically as the system settings change. 230 // dynamically as the system settings change.
231 scoped_ptr<NonClientFrameView> frame_view_; 231 scoped_ptr<NonClientFrameView> frame_view_;
232 232
233 DISALLOW_COPY_AND_ASSIGN(NonClientView); 233 DISALLOW_COPY_AND_ASSIGN(NonClientView);
234 }; 234 };
235 235
236 } // namespace views 236 } // namespace views
237 237
238 #endif // #ifndef VIEWS_WINDOW_NON_CLIENT_VIEW_H_ 238 #endif // #ifndef VIEWS_WINDOW_NON_CLIENT_VIEW_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698