OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef CHROME_BROWSER_CHROMEOS_FRAME_DOM_BROWSER_VIEW_LAYOUT_H_ | |
6 #define CHROME_BROWSER_CHROMEOS_FRAME_DOM_BROWSER_VIEW_LAYOUT_H_ | |
7 #pragma once | |
8 | |
9 #include "base/compiler_specific.h" | |
10 #include "chrome/browser/chromeos/frame/dom_browser_view.h" | |
11 #include "chrome/browser/chromeos/status/status_area_host.h" | |
12 #include "chrome/browser/ui/views/frame/browser_view_layout.h" | |
13 | |
14 namespace chromeos { | |
15 | |
16 class DOMBrowserView; | |
17 class StatusAreaView; | |
18 | |
19 // LayoutManager for DOMBrowserView, which lays out the StatusAreaView in the | |
20 // top corner and ommits the other elements that have been removed from the | |
21 // view. There is a bar accross the top of the screen which is clearly divided | |
22 // from the rest of the screen. The far left side will eventually have Add User | |
23 // button in it. | |
24 // | |
25 // |-------------------------------------------------------| | |
26 // |[ Future Add User button] [Status Area View]| <-- DOMBrowserView | |
27 // |-------------------------------------------------------| | |
28 // | | | |
29 // | | | |
30 // | DOM screen | | |
31 // | | | |
32 // | | | |
33 // | | | |
34 // |-------------------------------------------------------| | |
35 // | | | |
36 // | | | |
37 // | Touch Keyboard | | |
38 // | | | |
39 // | | | |
40 // |-------------------------------------------------------| | |
41 | |
42 class DOMBrowserViewLayout : public ::BrowserViewLayout { | |
43 public: | |
44 DOMBrowserViewLayout(); | |
45 virtual ~DOMBrowserViewLayout(); | |
46 | |
47 // BrowserViewLayout overrides: | |
48 virtual void Installed(views::View* host) OVERRIDE; | |
49 virtual void ViewAdded(views::View* host, | |
50 views::View* view) OVERRIDE; | |
51 virtual bool IsPositionInWindowCaption(const gfx::Point& point) OVERRIDE; | |
52 virtual int NonClientHitTest(const gfx::Point& point) OVERRIDE; | |
53 | |
54 protected: | |
55 // BrowserViewLayout overrides: | |
56 virtual int LayoutTabStrip() OVERRIDE; | |
57 virtual int LayoutToolbar(int top) OVERRIDE; | |
58 virtual int LayoutBookmarkAndInfoBars(int top) OVERRIDE; | |
59 | |
60 private: | |
61 const DOMBrowserView* GetDOMBrowserView(); | |
62 StatusAreaView* status_area_; | |
63 | |
64 // Tests if the point is on one of views that are within the | |
65 // considered title bar area of client view. | |
66 bool IsPointInViewsInTitleArea(const gfx::Point& point) const; | |
67 | |
68 // Lays out tabstrip and status area in the title bar area (given by | |
69 // |bounds|). | |
70 int LayoutTitlebarComponents(const gfx::Rect& bounds); | |
71 | |
72 DISALLOW_COPY_AND_ASSIGN(DOMBrowserViewLayout); | |
73 }; | |
74 | |
75 } // namespace chromeos | |
76 | |
77 #endif // CHROME_BROWSER_CHROMEOS_FRAME_DOM_BROWSER_VIEW_LAYOUT_H_ | |
OLD | NEW |