1 /*
2  * Motif
3  *
4  * Copyright (c) 1987-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 /*
25  * HISTORY
26  */
27 /* $XConsortium: GeoUtilsI.h /main/5 1995/07/13 17:28:18 drk $ */
28 #ifndef _XmGeoUtilsI_h
29 #define _XmGeoUtilsI_h
30 
31 #include <Xm/XmP.h>
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 /********    Private Function Declarations for GeoUtils.c    ********/
38 
39 extern XtGeometryResult _XmHandleQueryGeometry(
40                         Widget wid,
41                         XtWidgetGeometry *intended,
42                         XtWidgetGeometry *desired,
43 #if NeedWidePrototypes
44                         unsigned int policy,
45 #else
46                         unsigned char policy,
47 #endif /* NeedWidePrototypes */
48                         XmGeoCreateProc createMatrix) ;
49 extern XtGeometryResult _XmHandleGeometryManager(
50                         Widget wid,
51                         Widget instigator,
52                         XtWidgetGeometry *desired,
53                         XtWidgetGeometry *allowed,
54 #if NeedWidePrototypes
55                         unsigned int policy,
56 #else
57                         unsigned char policy,
58 #endif /* NeedWidePrototypes */
59                         XmGeoMatrix *cachePtr,
60                         XmGeoCreateProc createMatrix) ;
61 extern void _XmHandleSizeUpdate(
62                         Widget wid,
63 #if NeedWidePrototypes
64                         unsigned int policy,
65 #else
66                         unsigned char policy,
67 #endif /* NeedWidePrototypes */
68                         XmGeoCreateProc createMatrix) ;
69 extern XmGeoMatrix _XmGeoMatrixAlloc(
70                         unsigned int numRows,
71                         unsigned int numBoxes,
72                         unsigned int extSize) ;
73 extern void _XmGeoMatrixFree(
74                         XmGeoMatrix geo_spec) ;
75 extern Boolean _XmGeoSetupKid(
76                         XmKidGeometry geo,
77                         Widget kidWid) ;
78 extern void _XmGeoMatrixGet(
79                         XmGeoMatrix geoSpec,
80                         int geoType) ;
81 extern void _XmGeoMatrixSet(
82                         XmGeoMatrix geoSpec) ;
83 extern void _XmGeoAdjustBoxes(
84                         XmGeoMatrix geoSpec) ;
85 extern void _XmGeoGetDimensions(
86                         XmGeoMatrix geoSpec) ;
87 extern void _XmGeoArrangeBoxes(
88                         XmGeoMatrix geoSpec,
89 #if NeedWidePrototypes
90                         int x,
91                         int y,
92 #else
93                         Position x,
94                         Position y,
95 #endif /* NeedWidePrototypes */
96                         Dimension *pW,
97                         Dimension *pH) ;
98 extern Dimension _XmGeoBoxesSameWidth(
99                         XmKidGeometry rowPtr,
100 #if NeedWidePrototypes
101                         int width) ;
102 #else
103                         Dimension width) ;
104 #endif /* NeedWidePrototypes */
105 extern Dimension _XmGeoBoxesSameHeight(
106                         XmKidGeometry rowPtr,
107 #if NeedWidePrototypes
108                         int height) ;
109 #else
110                         Dimension height) ;
111 #endif /* NeedWidePrototypes */
112 extern void _XmSeparatorFix(
113                         XmGeoMatrix geoSpec,
114                         int action,
115                         XmGeoMajorLayout layoutPtr,
116                         XmKidGeometry rowPtr) ;
117 extern void _XmMenuBarFix(
118                         XmGeoMatrix geoSpec,
119                         int action,
120                         XmGeoMajorLayout layoutPtr,
121                         XmKidGeometry rowPtr) ;
122 extern void _XmGeoLoadValues(
123                         Widget wid,
124                         int geoType,
125                         Widget instigator,
126                         XtWidgetGeometry *request,
127                         XtWidgetGeometry *geoResult) ;
128 extern int _XmGeoCount_kids(
129                         register CompositeWidget c) ;
130 extern XmKidGeometry _XmGetKidGeo(
131                         Widget wid,
132                         Widget instigator,
133                         XtWidgetGeometry *request,
134                         int uniform_border,
135 #if NeedWidePrototypes
136                         int border,
137 #else
138                         Dimension border,
139 #endif /* NeedWidePrototypes */
140                         int uniform_width_margins,
141                         int uniform_height_margins,
142                         Widget help,
143                         int geo_type) ;
144 extern void _XmGeoClearRectObjAreas(
145                         RectObj r,
146                         XWindowChanges *old) ;
147 extern void _XmSetKidGeo(
148                         XmKidGeometry kg,
149                         Widget instigator) ;
150 extern Boolean _XmGeometryEqual(
151                         Widget wid,
152                         XtWidgetGeometry *geoA,
153                         XtWidgetGeometry *geoB) ;
154 extern Boolean _XmGeoReplyYes(
155                         Widget wid,
156                         XtWidgetGeometry *desired,
157                         XtWidgetGeometry *response) ;
158 extern XtGeometryResult _XmMakeGeometryRequest(
159                         Widget w,
160                         XtWidgetGeometry *geom) ;
161 
162 /********    End Private Function Declarations    ********/
163 
164 #ifdef __cplusplus
165 }  /* Close scope of 'extern "C"' declaration which encloses file. */
166 #endif
167 
168 #endif /* _XmGeoUtilsI_h */
169 /* DON'T ADD ANYTHING AFTER THIS #endif */
170