| 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 |