1 /*
2  * pwm/screen.h
3  *
4  * Copyright (c) Tuomo Valkonen 1999-2001.
5  *
6  * You may distribute and modify this program under the terms of either
7  * the Clarified Artistic License or the GNU GPL, version 2 or later.
8  */
9 
10 struct _WScreen;
11 
12 #ifndef INCLUDED_SCREEN_H
13 #define INCLUDED_SCREEN_H
14 
15 #include "common.h"
16 #include "font.h"
17 #include "winobj.h"
18 #include "draw.h"
19 
20 
21 struct _WDock;
22 
23 
24 typedef struct _WScreen{
25 	INHERIT_WTHING;
26 
27 	int xscr;
28 	int width, height;
29 	Window root;
30 	Colormap default_cmap;
31 
32 	Window moveres_win;
33 	Window tabdrag_win;
34 	int moveres_win_w, moveres_win_h;
35 
36 	struct _WWinObj *winobj_stack_lists[N_STACK_LVLS];
37 	struct _WClientWin *clientwin_list;
38 	int n_clientwin;
39 
40 	int opaque_move;
41 
42 	int n_workspaces;
43 	int workspaces_horiz, workspaces_vert;
44 	int current_workspace;
45 
46 	struct _WDock *dock;
47 } WScreen;
48 
49 
50 extern bool preinit_screen(int xscr);
51 extern void postinit_screen();
52 extern void deinit_screen();
53 extern Window create_simple_window(int x, int y, int w, int h,
54 								   ulong background);
55 
56 
57 extern bool alloc_color(const char *name, ulong *cret);
58 
59 #include "workspace.h"
60 #include "dock.h"
61 
62 #endif /* INCLUDED_SCREEN_H */
63