OLD | NEW |
1 // Copyright (c) 2009 The Chromium OS Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium OS 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 __PLATFORM_WINDOW_MANAGER_STACKING_MANAGER_H__ | 5 #ifndef WINDOW_MANAGER_STACKING_MANAGER_H_ |
6 #define __PLATFORM_WINDOW_MANAGER_STACKING_MANAGER_H__ | 6 #define WINDOW_MANAGER_STACKING_MANAGER_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <set> | 9 #include <set> |
10 #include <tr1/memory> | 10 #include <tr1/memory> |
11 | 11 |
12 #include <gtest/gtest_prod.h> // for FRIEND_TEST() macro | 12 #include <gtest/gtest_prod.h> // for FRIEND_TEST() macro |
13 | 13 |
14 #include "window_manager/clutter_interface.h" | 14 #include "window_manager/clutter_interface.h" |
15 | 15 |
16 extern "C" { | 16 extern "C" { |
17 #include <X11/Xlib.h> | 17 #include <X11/Xlib.h> |
18 } | 18 } |
19 | 19 |
20 typedef ::Window XWindow; | 20 typedef ::Window XWindow; |
21 | 21 |
22 namespace chromeos { | 22 namespace window_manager { |
23 | 23 |
24 class Window; | 24 class Window; |
25 class XConnection; | 25 class XConnection; |
26 | 26 |
27 // Used to stack X11 client windows and Clutter actors. StackingManager creates | 27 // Used to stack X11 client windows and Clutter actors. StackingManager creates |
28 // a window and an actor to use as reference points for each logical stacking | 28 // a window and an actor to use as reference points for each logical stacking |
29 // layer and provides methods to move windows and actors between layers. | 29 // layer and provides methods to move windows and actors between layers. |
30 class StackingManager { | 30 class StackingManager { |
31 public: | 31 public: |
32 // The layer reference points will be created at the top of the current stack | 32 // The layer reference points will be created at the top of the current stack |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 // windows and actors directly beneath the corresponding reference | 110 // windows and actors directly beneath the corresponding reference |
111 // points). | 111 // points). |
112 std::map<Layer, XWindow> layer_to_xid_; | 112 std::map<Layer, XWindow> layer_to_xid_; |
113 std::map<Layer, std::tr1::shared_ptr<ClutterInterface::Actor> > | 113 std::map<Layer, std::tr1::shared_ptr<ClutterInterface::Actor> > |
114 layer_to_actor_; | 114 layer_to_actor_; |
115 | 115 |
116 // Set we can use for quick lookup of whether an X window belongs to us. | 116 // Set we can use for quick lookup of whether an X window belongs to us. |
117 std::set<XWindow> xids_; | 117 std::set<XWindow> xids_; |
118 }; | 118 }; |
119 | 119 |
120 } // namespace chromeos | 120 } // namespace window_manager |
121 | 121 |
122 #endif | 122 #endif |
OLD | NEW |