]> git.decadent.org.uk Git - ion3.git/blob - ioncore/rootwin.h
74e50bda9330e930702d4edcaa4d50984747106c
[ion3.git] / ioncore / rootwin.h
1 /*
2  * ion/ioncore/rootwin.h
3  *
4  * Copyright (c) Tuomo Valkonen 1999-2007. 
5  *
6  * Ion is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU Lesser General Public License as published by
8  * the Free Software Foundation; either version 2.1 of the License, or
9  * (at your option) any later version.
10  */
11
12 #ifndef ION_IONCORE_ROOTWIN_H
13 #define ION_IONCORE_ROOTWIN_H
14
15 #include "common.h"
16 #include "window.h"
17 #include "screen.h"
18 #include "gr.h"
19 #include "rectangle.h"
20 #include "screen.h"
21
22
23 #define WROOTWIN_ROOT(X) (((WWindow*)(X))->win)
24 #define FOR_ALL_ROOTWINS(RW)         \
25     for(RW=ioncore_g.rootwins;         \
26         RW!=NULL;                    \
27         RW=OBJ_CAST(((WRegion*)RW)->p_next, WRootWin))
28
29
30 DECLCLASS(WRootWin){
31     WScreen scr;
32     int xscr;
33     
34     Colormap default_cmap;
35     
36     Window *tmpwins;
37     int tmpnwins;
38     
39     Window dummy_win;
40     
41     GC xor_gc;
42 };
43
44
45 extern void rootwin_deinit(WRootWin *rootwin);
46 extern WScreen *rootwin_current_scr(WRootWin *rootwin);
47
48 extern void rootwin_manage_initial_windows(WRootWin *rootwin);
49 extern WRootWin *create_rootwin(int xscr);
50
51 #endif /* ION_IONCORE_ROOTWIN_H */
52