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

Side by Side Diff: chrome/browser/views/frame/opaque_frame.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
(Empty)
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
3 // found in the LICENSE file.
4
5 #ifndef CHROME_BROWSER_VIEWS_FRAME_OPAQUE_FRAME_H_
6 #define CHROME_BROWSER_VIEWS_FRAME_OPAQUE_FRAME_H_
7
8 #include "chrome/browser/views/frame/browser_frame.h"
9 #include "chrome/views/custom_frame_window.h"
10
11 class BrowserView;
12 namespace views {
13 class Window;
14 }
15 class OpaqueNonClientView;
16 class TabStrip;
17
18 ///////////////////////////////////////////////////////////////////////////////
19 // OpaqueFrame
20 //
21 // OpaqueFrame is a CustomFrameWindow subclass that in conjunction with
22 // OpaqueNonClientView provides the window frame on Windows XP and on Windows
23 // Vista when DWM desktop compositing is disabled. The window title and
24 // borders are provided with bitmaps.
25 //
26 class OpaqueFrame : public BrowserFrame,
27 public views::CustomFrameWindow {
28 public:
29 explicit OpaqueFrame(BrowserView* browser_view);
30 virtual ~OpaqueFrame();
31
32 void Init();
33
34 protected:
35 // Overridden from BrowserFrame:
36 virtual gfx::Rect GetWindowBoundsForClientBounds(
37 const gfx::Rect& client_bounds);
38 virtual void SizeToContents(const gfx::Rect& contents_bounds);
39 virtual gfx::Rect GetBoundsForTabStrip(TabStrip* tabstrip) const;
40 virtual void UpdateThrobber(bool running);
41 virtual views::Window* GetWindow();
42 virtual const views::Window* GetWindow() const;
43
44 // Overridden from views::CustomFrameWindow:
45 virtual void UpdateWindowIcon();
46 virtual int GetShowState() const;
47 virtual bool IsAppWindow() const { return true; }
48
49 // Overridden from views::WidgetWin:
50 virtual bool AcceleratorPressed(views::Accelerator* accelerator);
51 virtual bool GetAccelerator(int cmd_id, views::Accelerator* accelerator);
52 virtual void OnEnterSizeMove();
53 virtual void OnEndSession(BOOL ending, UINT logoff);
54 virtual void OnInitMenuPopup(HMENU menu, UINT position, BOOL is_system_menu);
55 virtual LRESULT OnMouseActivate(HWND window,
56 UINT hittest_code,
57 UINT message);
58 virtual void OnMove(const CPoint& point);
59 virtual void OnMoving(UINT param, const RECT* new_bounds);
60 virtual LRESULT OnNCActivate(BOOL active);
61 virtual void OnSysCommand(UINT notification_code, CPoint click);
62
63 private:
64 // Return a pointer to the concrete type of our non-client view.
65 OpaqueNonClientView* GetOpaqueNonClientView() const;
66
67 // The BrowserView is our ClientView. This is a pointer to it.
68 BrowserView* browser_view_;
69
70 DISALLOW_EVIL_CONSTRUCTORS(OpaqueFrame);
71 };
72
73 #endif // #ifndef CHROME_BROWSER_VIEWS_FRAME_OPAQUE_FRAME_H_
74
OLDNEW
« no previous file with comments | « chrome/browser/views/frame/opaque_browser_frame_view.cc ('k') | chrome/browser/views/frame/opaque_frame.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698