|
PieDock 1.6.0
|
00001 /* 00002 * O ,- 00003 * ° o . -´ ' ,- 00004 * ° .´ ` . ´,´ 00005 * ( ° )) . ( 00006 * `-;_ . -´ `.`. 00007 * `._' ´ 00008 * 00009 * Copyright (c) 2007-2010 Markus Fisch <mf@markusfisch.de> 00010 * 00011 * Licensed under the MIT license: 00012 * http://www.opensource.org/licenses/mit-license.php 00013 */ 00014 #ifndef _PieDock_WindowStack_ 00015 #define _PieDock_WindowStack_ 00016 00017 #include <X11/Xlib.h> 00018 00019 #include <vector> 00020 00021 namespace PieDock 00022 { 00028 class WindowStack 00029 { 00030 public: 00031 typedef struct 00032 { 00033 Window window; 00034 XWindowAttributes attributes; 00035 } WindowInfo; 00036 00037 typedef std::vector<WindowInfo> WindowInfos; 00038 00039 WindowStack() : last( 0 ) {} 00040 virtual ~WindowStack() {} 00041 inline WindowInfos &getWindowInfos() { 00042 return windowInfos; } 00043 inline const bool hasWindows() const { 00044 return windowInfos.empty()^true; } 00045 inline void clearWindows() { windowInfos.clear(); } 00046 void addWindow( Display *, Window ); 00047 const Window getNextWindow(); 00048 const Window getPreviousWindow(); 00049 const bool isUnmapped(); 00050 00051 private: 00052 WindowInfos windowInfos; 00053 Window last; 00054 }; 00055 } 00056 00057 #endif
1.7.3