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

Side by Side Diff: chrome/browser/views/constrained_window_impl.h

Issue 27317: Support DWM switching.... (Closed) Base URL: svn://chrome-svn.corp.google.com/chrome/trunk/src/
Patch Set: '' Created 11 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
OLDNEW
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 CHROME_BROWSER_CONSTRAINED_WINDOW_IMPL_H_ 5 #ifndef CHROME_BROWSER_CONSTRAINED_WINDOW_IMPL_H_
6 #define CHROME_BROWSER_CONSTRAINED_WINDOW_IMPL_H_ 6 #define CHROME_BROWSER_CONSTRAINED_WINDOW_IMPL_H_
7 7
8 #include "base/gfx/rect.h" 8 #include "base/gfx/rect.h"
9 #include "chrome/browser/tab_contents/constrained_window.h" 9 #include "chrome/browser/tab_contents/constrained_window.h"
10 #include "chrome/browser/tab_contents/tab_contents_delegate.h" 10 #include "chrome/browser/tab_contents/tab_contents_delegate.h"
11 #include "chrome/views/custom_frame_window.h" 11 #include "chrome/views/window.h"
12 12
13 class ConstrainedTabContentsWindowDelegate; 13 class ConstrainedTabContentsWindowDelegate;
14 class ConstrainedWindowAnimation; 14 class ConstrainedWindowAnimation;
15 class ConstrainedWindowNonClientView; 15 class ConstrainedWindowFrameView;
16 namespace views { 16 namespace views {
17 class HWNDView; 17 class HWNDView;
18 class WindowDelegate; 18 class WindowDelegate;
19 } 19 }
20 20
21 /////////////////////////////////////////////////////////////////////////////// 21 ///////////////////////////////////////////////////////////////////////////////
22 // ConstrainedWindowImpl 22 // ConstrainedWindowImpl
23 // 23 //
24 // A ConstrainedWindow implementation that implements a Constrained Window as 24 // A ConstrainedWindow implementation that implements a Constrained Window as
25 // a child HWND with a custom window frame. 25 // a child HWND with a custom window frame.
26 // 26 //
27 class ConstrainedWindowImpl : public ConstrainedWindow, 27 class ConstrainedWindowImpl : public ConstrainedWindow,
28 public views::CustomFrameWindow { 28 public views::Window {
29 public: 29 public:
30 virtual ~ConstrainedWindowImpl(); 30 virtual ~ConstrainedWindowImpl();
31 31
32 // Returns the TabContents that constrains this Constrained Window. 32 // Returns the TabContents that constrains this Constrained Window.
33 TabContents* owner() const { return owner_; } 33 TabContents* owner() const { return owner_; }
34 34
35 // Returns the non-client view inside this Constrained Window. 35 // Overridden from views::Window:
36 // NOTE: Defining the function body here would require pulling in the 36 virtual views::NonClientFrameView* CreateFrameViewForWindow();
37 // declarations of ConstrainedWindowNonClientView, as well as all the classes
38 // it depends on, from the .cc file; the benefit isn't worth it.
39 ConstrainedWindowNonClientView* non_client_view();
40
41 // Overridden from views::CustomFrameWindow:
42 virtual void UpdateWindowTitle(); 37 virtual void UpdateWindowTitle();
43 38
44 // Overridden from ConstrainedWindow: 39 // Overridden from ConstrainedWindow:
45 virtual void CloseConstrainedWindow(); 40 virtual void CloseConstrainedWindow();
46 virtual void ActivateConstrainedWindow(); 41 virtual void ActivateConstrainedWindow();
47 virtual void RepositionConstrainedWindowTo(const gfx::Point& anchor_point) {} 42 virtual void RepositionConstrainedWindowTo(const gfx::Point& anchor_point) {}
48 virtual void WasHidden(); 43 virtual void WasHidden();
49 virtual void DidBecomeSelected(); 44 virtual void DidBecomeSelected();
50 virtual std::wstring GetWindowTitle() const; 45 virtual std::wstring GetWindowTitle() const;
51 virtual const gfx::Rect& GetCurrentBounds() const; 46 virtual const gfx::Rect& GetCurrentBounds() const;
52 47
53 protected: 48 protected:
54 // Windows message handlers: 49 // Windows message handlers:
55 virtual void OnDestroy(); 50 virtual void OnDestroy();
56 virtual void OnFinalMessage(HWND window); 51 virtual void OnFinalMessage(HWND window);
57 virtual LRESULT OnMouseActivate(HWND window, UINT hittest_code, UINT message); 52 virtual LRESULT OnMouseActivate(HWND window, UINT hittest_code, UINT message);
58 virtual void OnWindowPosChanged(WINDOWPOS* window_pos); 53 virtual void OnWindowPosChanged(WINDOWPOS* window_pos);
59 54
60 private: 55 private:
61 friend class ConstrainedWindow; 56 friend class ConstrainedWindow;
62 57
63 // Use the static factory methods on ConstrainedWindow to construct a 58 // Use the static factory methods on ConstrainedWindow to construct a
64 // ConstrainedWindow. 59 // ConstrainedWindow.
65 ConstrainedWindowImpl(TabContents* owner, 60 ConstrainedWindowImpl(TabContents* owner,
66 views::WindowDelegate* window_delegate); 61 views::WindowDelegate* window_delegate);
67 void Init(TabContents* owner); 62 void Init();
68 63
69 // Initialize the Constrained Window as a Constrained Dialog containing a 64 // Initialize the Constrained Window as a Constrained Dialog containing a
70 // views::View client area. 65 // views::View client area.
71 void InitAsDialog(const gfx::Rect& initial_bounds); 66 void InitAsDialog(const gfx::Rect& initial_bounds);
72 67
73 // Updates the portions of the UI as specified in |changed_flags|. 68 // Updates the portions of the UI as specified in |changed_flags|.
74 void UpdateUI(unsigned int changed_flags); 69 void UpdateUI(unsigned int changed_flags);
75 70
76 // The TabContents that owns and constrains this ConstrainedWindow. 71 // The TabContents that owns and constrains this ConstrainedWindow.
77 TabContents* owner_; 72 TabContents* owner_;
(...skipping 10 matching lines...) Expand all
88 // the constrained title bar. 83 // the constrained title bar.
89 gfx::Point anchor_point_; 84 gfx::Point anchor_point_;
90 85
91 // Current display rectangle (relative to owner_'s visible area). 86 // Current display rectangle (relative to owner_'s visible area).
92 gfx::Rect current_bounds_; 87 gfx::Rect current_bounds_;
93 88
94 DISALLOW_COPY_AND_ASSIGN(ConstrainedWindowImpl); 89 DISALLOW_COPY_AND_ASSIGN(ConstrainedWindowImpl);
95 }; 90 };
96 91
97 #endif // #ifndef CHROME_BROWSER_CONSTRAINED_WINDOW_IMPL_H_ 92 #endif // #ifndef CHROME_BROWSER_CONSTRAINED_WINDOW_IMPL_H_
OLDNEW
« no previous file with comments | « chrome/browser/views/browser_views.vcproj ('k') | chrome/browser/views/constrained_window_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698