1 /*      $Id$
2 
3         This program is free software; you can redistribute it and/or modify
4         it under the terms of the GNU General Public License as published by
5         the Free Software Foundation; either version 2, or (at your option)
6         any later version.
7 
8         This program is distributed in the hope that it will be useful,
9         but WITHOUT ANY WARRANTY; without even the implied warranty of
10         MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11         GNU General Public License for more details.
12 
13         You should have received a copy of the GNU General Public License
14         along with this program; if not, write to the Free Software
15         Foundation, Inc., Inc., 51 Franklin Street, Fifth Floor, Boston,
16         MA 02110-1301, USA.
17 
18 
19         oroborus - (c) 2001 Ken Lynch
20         xfwm4    - (c) 2002-2011 Olivier Fourdan
21 
22  */
23 
24 #ifndef INC_MYWINDOW_H
25 #define INC_MYWINDOW_H
26 
27 #ifdef HAVE_CONFIG_H
28 #include "config.h"
29 #endif
30 
31 #include <X11/Xlib.h>
32 #include <glib.h>
33 #include "mypixmap.h"
34 #include "screen.h"
35 
36 #ifdef HAVE_RENDER
37 #include <X11/extensions/Xrender.h>
38 #endif
39 
40 #define MYWINDOW_XWINDOW(w) (w.window)
41 
42 typedef struct _xfwmWindow xfwmWindow;
43 struct _xfwmWindow
44 {
45     ScreenInfo *screen_info;
46     Visual *visual;
47 #ifdef HAVE_RENDER
48     XRenderPictFormat *pict_format;
49 #endif
50     gint depth;
51     Window window;
52     gint x, y;
53     gint width, height;
54     gboolean map;
55 };
56 
57 void                     xfwmWindowInit                         (xfwmWindow *);
58 void                     xfwmWindowSetCursor                    (xfwmWindow *,
59                                                                  Cursor);
60 void                     xfwmWindowCreate                       (ScreenInfo *,
61                                                                  Visual *,
62                                                                  gint,
63                                                                  Window,
64                                                                  xfwmWindow *,
65                                                                  long,
66                                                                  Cursor);
67 void                     xfwmWindowTemp                         (ScreenInfo *,
68                                                                  Visual *,
69                                                                  gint,
70                                                                  Window,
71                                                                  xfwmWindow *,
72                                                                  int,
73                                                                  int,
74                                                                  int,
75                                                                  int,
76                                                                  long,
77                                                                  gboolean);
78 void                     xfwmWindowDelete                       (xfwmWindow *);
79 void                     xfwmWindowShow                         (xfwmWindow *,
80                                                                  int,
81                                                                  int,
82                                                                  int,
83                                                                  int,
84                                                                  gboolean);
85 void                     xfwmWindowHide                         (xfwmWindow *);
86 gboolean                 xfwmWindowVisible                      (xfwmWindow *);
87 gboolean                 xfwmWindowDeleted                      (xfwmWindow *);
88 void                     xfwmWindowSetBG                        (xfwmWindow *,
89                                                                  xfwmPixmap *);
90 
91 #endif /* INC_MYWINDOW_H */
92