dtwm: Cleanup some implicit definitions
[oweals/cde.git] / cde / programs / dtwm / WmICCC.h
1 /*
2  * CDE - Common Desktop Environment
3  *
4  * Copyright (c) 1993-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these librararies and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22  */
23 /* 
24  * (c) Copyright 1989, 1990, 1991, 1992, 1993, 1994 OPEN SOFTWARE FOUNDATION, INC. 
25  * ALL RIGHTS RESERVED 
26 */ 
27 /* 
28  * Motif Release 1.2.4
29 */ 
30 /*   $XConsortium: WmICCC.h /main/3 1995/11/01 11:40:07 rswiston $ */
31 /*
32  * (c) Copyright 1987, 1988, 1989, 1990 HEWLETT-PACKARD COMPANY */
33
34 #ifndef _Dt_WmICCC_h_
35 #define _Dt_WmICCC_h_
36 /*
37  * Included Files:
38  */
39
40 #include <X11/Xatom.h>
41 #include <X11/Xmd.h>
42
43
44 /*
45  * Value definitions and macros:
46  */
47
48
49 \f
50 /*************************************<->*************************************
51  *
52  *  ICCC property data structures ...
53  *
54  *
55  *  Description:
56  *  -----------
57  *  These data structures are mwm versions of the window manager data
58  *  stuctures that are specified in the ICCCM and the Xlib specification
59  *  for client/window manager communication.  In general these data
60  *  structures correspond to client window property values.
61  *
62  *************************************<->***********************************/
63
64
65 /* mwm version of the xPropSizeHints structure: */
66
67 typedef struct _PropSizeHints
68 {
69     unsigned long       flags;
70     long                x;                      /* R2 conventions */
71     long                y;                      /* R2 conventions */
72     long                width;                  /* R2 conventions */
73     long                height;                 /* R2 conventions */
74     long                minWidth;
75     long                minHeight;
76     long                maxWidth;
77     long                maxHeight;
78     long                widthInc;
79     long                heightInc;
80     long                minAspectX;
81     long                minAspectY;
82     long                maxAspectX;
83     long                maxAspectY;
84     long                baseWidth;              /* current conventions */
85     long                baseHeight;             /* current conventions */
86     long                winGravity;             /* current conventions */
87
88 } PropSizeHints;
89
90 #define PROP_SIZE_HINTS_ELEMENTS        18
91
92
93 /* mwm version of the XSizeHints structure: */
94
95 typedef struct _SizeHints
96 {
97     int         icccVersion;
98     long        flags;
99     int         x;                              /* R2 conventions */
100     int         y;                              /* R2 conventions */
101     int         width;                          /* R2 conventions */
102     int         height;                         /* R2 conventions */
103     int         min_width;
104     int         min_height;
105     int         max_width;
106     int         max_height;
107     int         width_inc;
108     int         height_inc;
109     AspectRatio min_aspect;
110     AspectRatio max_aspect;
111     int         base_width;                     /* current conventions */
112     int         base_height;                    /* current conventions */
113     int         win_gravity;                    /* current conventions */
114
115 } SizeHints;
116
117 /* mwm version of the xPropWMState structure: */
118
119 typedef struct _PropWMState
120 {
121     unsigned long       state;
122     unsigned long       icon;
123 } PropWMState;
124
125 #define PROP_WM_STATE_ELEMENTS          2
126
127
128 /* ICCC versions (icccVersion): */
129 #define ICCC_R2         0
130 #define ICCC_CURRENT    1
131 #define ICCC_UNKNOWN    ICCC_CURRENT
132
133
134 /* SizeHints flags field values: */
135 #define US_POSITION             (1L << 0)
136 #define US_SIZE                 (1L << 1)
137 #define P_POSITION              (1L << 2)
138 #define P_SIZE                  (1L << 3)
139 #define P_MIN_SIZE              (1L << 4)
140 #define P_MAX_SIZE              (1L << 5)
141 #define P_RESIZE_INC            (1L << 6)
142 #define P_ASPECT                (1L << 7)
143 #define P_BASE_SIZE             (1L << 8)
144 #define P_WIN_GRAVITY           (1L << 9)
145
146 /* PropWMState state field value: */
147 #define WithdrawnSTATE          0
148 #endif /* _Dt_WmICCC_h_ */