wmaker: replace and be replaced (ICCCM protocol)
[wmaker-crm.git] / src / wcore.h
blob6065c5fe266daa92d52aea8e3a3f1e3ac530cc22
1 /*
2 * Window Maker window manager
4 * Copyright (c) 1997-2003 Alfredo K. Kojima
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License along
17 * with this program; if not, write to the Free Software Foundation, Inc.,
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
22 #ifndef WMCORE_H_
23 #define WMCORE_H_
25 #include "screen.h"
27 typedef struct WStacking {
28 struct _WCoreWindow *above;
29 struct _WCoreWindow *under;
30 short window_level;
31 struct _WCoreWindow *child_of; /* owner for transient window */
32 } WStacking;
34 typedef struct _WCoreWindow {
35 Window window;
36 int width; /* size of the window */
37 int height;
38 WScreen *screen_ptr; /* ptr to screen of the window */
40 WObjDescriptor descriptor;
41 WStacking *stacking; /* window stacking information */
42 } WCoreWindow;
44 WCoreWindow *wCoreCreateTopLevel(WScreen *screen, int x, int y, int width,
45 int height, int bwidth,
46 int depth, Visual *visual, Colormap colormap,
47 WMPixel border_pixel);
49 WCoreWindow *wCoreCreate(WCoreWindow *parent, int x, int y,
50 int width, int height);
52 void wCoreDestroy(WCoreWindow *core);
53 void wCoreConfigure(WCoreWindow *core, int req_x, int req_y,
54 int req_w, int req_h);
55 #endif