Bitmap.h revision eaef79e5
1/* $Xorg: Bitmap.h,v 1.4 2001/02/09 02:05:28 xorgcvs Exp $ */
2/*
3
4Copyright 1989, 1998  The Open Group
5
6Permission to use, copy, modify, distribute, and sell this software and its
7documentation for any purpose is hereby granted without fee, provided that
8the above copyright notice appear in all copies and that both that
9copyright notice and this permission notice appear in supporting
10documentation.
11
12The above copyright notice and this permission notice shall be included
13in all copies or substantial portions of the Software.
14
15THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
19OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
20ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
21OTHER DEALINGS IN THE SOFTWARE.
22
23Except as contained in this notice, the name of The Open Group shall
24not be used in advertising or otherwise to promote the sale, use or
25other dealings in this Software without prior written authorization
26from The Open Group.
27
28*/
29/* $XFree86: xc/programs/bitmap/Bitmap.h,v 1.4 2001/06/12 09:45:53 alanh Exp $ */
30
31/*
32 * Author:  Davor Matic, MIT X Consortium
33 */
34
35
36#ifndef _Bitmap_h
37#define _Bitmap_h
38
39/****************************************************************
40 *
41 * Bitmap widget
42 *
43 ****************************************************************/
44
45#include <X11/Xaw/Simple.h>
46
47/* Resources:
48
49 Name		     Class		RepType		Default Value
50 ----		     -----		-------		-------------
51 background	     Background		Pixel		XtDefaultBackground
52 foreground          Foredround         Pixel           XtDefaultForeground
53 highlight           Highlight          Pixel           XtDefaultForeground
54 frame               Frame              Pixel           XtDefaultForeground
55 border		     BorderColor	Pixel		XtDefaultForeground
56 borderWidth	     BorderWidth	Dimension	1
57 mappedWhenManaged   MappedWhenManaged	Boolean		True
58 resize              Resize             Boolean         True
59 sensitive	     Sensitive		Boolean		True
60 width		     Width		Dimension	0
61 height		     Height		Dimension	0
62 size                Size               String          32x32
63 squareWidht         SquareWidht        Dimension       16
64 squareHeight        SquareHeight       Dimension       16
65 x		     Position		Position	320
66 y		     Position		Position	320
67 xHot                XHot               Position        NotSet
68 yHot                YHot               Position        NotSet
69 margin              Margin             Dimension       16
70 grid                Grid               Boolean         True
71 gridTolerance       GridTolerance      Dimension       8
72 dashed              Dashed             Boolean         True
73 dashes              Dashes             Bitmap          XtUnspecifiedPixmap
74 stippled            Stippled           Boolean         True
75 stipple             Stipple            Bitmap          XtUnspecifiedPixmap
76 proportional        Proportional       Boolean         True
77 axes                Axes               Boolean         True
78 button1Function     Button1Function    ButtonFunction  Set
79 button2Function     Button2Function    ButtonFunction  Invert
80 button3Function     Button3Function    ButtonFunction  Clear
81 button4Function     Button4Function    ButtonFunction  Invert
82 button5Function     Button5Function    ButtonFunction  Invert
83 filename            Filename           String          None
84 basename            Basename           String          None
85*/
86
87/* define any special resource names here that are not in <X11/StringDefs.h> */
88
89#define XtNbitmapResource "bitmapResource"
90#define XtNstipple "stipple"
91#define XtNstippled "stippled"
92#define XtNdashes "dashes"
93#define XtNdashed "dashed"
94#define XtNgrid "grid"
95#define XtNgridTolerance "gridTolerance"
96#define XtNaxes "axes"
97#define XtNbitmapSize "bitmapSize"
98#define XtNsize "size"
99#define XtNsquareWidth "squareWidth"
100#define XtNsquareHeight "squareHeight"
101#define XtNxHot "xHot"
102#define XtNyHot "yHot"
103#define XtNbutton1Function "button1Function"
104#define XtNbutton2Function "button2Function"
105#define XtNbutton3Function "button3Function"
106#define XtNbutton4Function "button4Function"
107#define XtNbutton5Function "button5Function"
108#define XtNfilename "filename"
109#define XtNbasename "basename"
110#define XtNmouseForeground "mouseForeground"
111#define XtNmouseBackground "mouseBackground"
112#define XtNframe "frame"
113#define XtNmargin "margin"
114#define XtNproportional "proportional"
115
116#define XtCBitmapResource "BitmapResource"
117#define XtCHighlight "Highlight"
118#define XtCStipple "Stipple"
119#define XtCStippled "Stippled"
120#define XtCDashes "Dashes"
121#define XtCDashed "Dashed"
122#define XtCGrid "Grid"
123#define XtCGridTolerance "GridTolerance"
124#define XtCAxes "Axes"
125#define XtBitmapSize "BitmapSize"
126#define XtCSize "Size"
127#define XtCSquareWidth "SquareWidth"
128#define XtCSquareHeight "SquareHeight"
129#define XtCXHot "XHot"
130#define XtCYHot "YHot"
131#define XtCButton1Function "Button1Function"
132#define XtCButton2Function "Button2Function"
133#define XtCButton3Function "Button3Function"
134#define XtCButton4Function "Button4Function"
135#define XtCButton5Function "Button5Function"
136#define XtCFilename "Filename"
137#define XtCBasename "Basename"
138#define XtCFrame "Frame"
139#ifndef XtCMargin
140#define XtCMargin "Margin"
141#endif
142#define XtCProportional "Proportional"
143
144#define XtRButtonFunction "ButtonFunction"
145
146/* bitmap defines */
147
148#define NotSet   -1
149#define Clear     0
150#define Set       1
151#define Invert    2
152#define Highlight 3
153#define On        True
154#define Off       False
155
156#define XtClear "clear"
157#define XtSet "set"
158#define XtInvert "invert"
159
160#define MarkRequest "MarkRequest"
161#define StoreRequest "StoreRequest"
162#define RestoreRequest "RestoreRequest"
163#define CopyRequest "CopyRequest"
164#define MoveRequest "MoveRequest"
165#define PointRequest "PointRequest"
166#define LineRequest "LineRequest"
167#define CurveRequest "CurveRequest"
168#define RectangleRequest "RectangleRequest"
169#define FilledRectangleRequest "FilledRectangleRequest"
170#define CircleRequest "CircleRequest"
171#define FilledCircleRequest "FilledCircleRequest"
172#define FloodFillRequest "FloodFillRequest"
173#define HotSpotRequest "HotSpotRequest"
174#define ZoomInRequest "ZoomInRequest"
175#define PasteRequest "PasteRequest"
176#define ImmediateCopyRequest "ImmediateCopyRequest"
177#define ImmediateMoveRequest "ImmediateMoveRequest"
178
179/* bitmap exports */
180
181typedef struct _BWRequestRec BWRequestRec;
182typedef char *BWRequest;
183
184/* declare specific BitmapWidget class and instance datatypes */
185
186typedef struct _BitmapClassRec *BitmapWidgetClass;
187typedef struct _BitmapRec      *BitmapWidget;
188/* declare the class constant */
189
190extern WidgetClass bitmapWidgetClass;
191
192extern Boolean BWEngageRequest(Widget w, BWRequest name, Boolean trap,
193			       XtPointer call_data, Cardinal call_data_size);
194extern Boolean BWTerminateRequest(Widget w, Boolean cont);
195
196extern void BWUp ( Widget w );
197extern void BWDown ( Widget w );
198extern void BWLeft ( Widget w );
199extern void BWRight ( Widget w );
200extern void BWRotateRight ( Widget w );
201extern void BWRotateLeft ( Widget w );
202extern void BWSwitchGrid ( Widget w );
203extern void BWGrid ( Widget w, Boolean _switch );
204extern void BWSwitchDashed ( Widget w );
205extern void BWDashed ( Widget w, Boolean _switch );
206extern void BWSwitchAxes ( Widget w );
207extern void BWAxes ( Widget w, Boolean _switch );
208extern void BWRedrawAxes( Widget w );
209extern void BWDrawLine ( Widget w, Position from_x, Position from_y, Position to_x, Position to_y, int value );
210extern void BWDrawRectangle ( Widget w, Position from_x, Position from_y, Position to_x, Position to_y, int value );
211extern void BWDrawFilledRectangle ( Widget w, Position from_x, Position from_y, Position to_x, Position to_y, int value );
212extern void BWDrawCircle ( Widget w, Position origin_x, Position origin_y, Position point_x, Position point_y, int value );
213extern void BWDrawFilledCircle ( Widget w, Position origin_x, Position origin_y, Position point_x, Position point_y, int value );
214extern void BWFloodFill ( Widget w, Position x, Position y, int value );
215extern void BWMark ( Widget w, Position from_x, Position from_y, Position to_x, Position to_y );
216extern void BWMarkAll ( Widget w );
217extern void BWUnmark ( Widget w );
218extern void BWSelect ( Widget w, Position from_x, Position from_y, Position to_x, Position to_y, Time btime );
219extern void BWStore ( Widget w );
220extern void BWStoreToBuffer ( Widget w );
221extern void BWUndo ( Widget w );
222extern void BWResize ( Widget w, Dimension width, Dimension height );
223extern void BWClip ( Widget w, Position x, Position y, Dimension width, Dimension height );
224extern void BWUnclip ( Widget w );
225extern void BWGrabSelection ( Widget w, Time btime );
226extern void BWRequestSelection ( Widget w, Time btime, Boolean wait );
227extern void BWSetChanged ( Widget w );
228extern Boolean BWQueryChanged ( Widget w );
229extern int BWReadFile ( Widget w, String filename, String basename );
230extern int BWWriteFile ( Widget w, String filename, String basename );
231extern String BWUnparseStatus ( Widget w );
232extern String BWGetFilename ( Widget w, String *str );
233extern String BWGetBasename ( Widget w, String *str );
234extern void BWChangeBasename ( Widget w, String str );
235extern void BWRemoveAllRequests ( Widget w );
236extern void BWClearHotSpot ( Widget w );
237extern Boolean BWQueryMarked ( Widget w );
238extern void BWFold ( Widget w );
239extern void BWClear ( Widget w );
240extern void BWSet ( Widget w );
241extern void BWInvert ( Widget w );
242extern void BWFlipHoriz ( Widget w );
243extern void BWFlipVert ( Widget w );
244extern void BWClearMarked ( Widget w );
245extern Boolean BWAddRequest ( Widget w, BWRequest name, Boolean trap, XtPointer call_data, Cardinal call_data_size );
246extern void BWChangeNotify ( Widget w );
247extern Pixmap BWGetUnzoomedPixmap ( Widget w );
248extern void BWClearChanged ( Widget w );
249extern Boolean BWQueryStored ( Widget w );
250extern Boolean BWQueryStippled ( Widget w );
251extern void BWSwitchStippled ( Widget w );
252extern void BWRedrawMark ( Widget w );
253extern Boolean BWQueryAxes ( Widget w );
254extern void BWHighlightAxes ( Widget w );
255extern String BWGetFilepath ( Widget w, String *str );
256extern void BWZoomOut ( Widget w );
257extern void BWZoomMarked ( Widget w );
258extern void BWRescale ( Widget w, Dimension width, Dimension height );
259extern Boolean BWQueryZooming ( Widget w );
260extern void BWRedrawGrid ( Widget w, Position x, Position y, Dimension width, Dimension height );
261extern void BWRedrawSquares ( Widget w, Position x, Position y, Dimension width, Dimension height );
262extern void BWRedrawHotSpot ( Widget w );
263extern void BWSetHotSpot(Widget w, Position x, Position y);
264extern Boolean BWQueryGrid ( Widget w );
265extern Boolean BWQueryDashed ( Widget w );
266extern Boolean BWQueryProportional ( Widget w );
267extern void BWSwitchProportional ( Widget w );
268extern void BWDrawGrid ( Widget w, Position from_x, Position from_y, Position to_x, Position to_y );
269extern void BWChangeFilename ( Widget w, String str );
270extern Boolean BWParseSize ( String size, Dimension *width, Dimension *height );
271extern Boolean BWQuerySelection ( Widget w, Time btime );
272extern int BWStoreFile ( Widget w, String filename, String *basename );
273extern void BWNotify ( Widget w, XtActionProc proc );
274extern void BWTMark ( Widget w, XEvent *event, String *params, Cardinal *num_params  );
275extern void BWTMarkAll ( Widget w, XEvent *event, String *params, Cardinal *num_params );
276extern void BWTUnmark ( Widget w, XEvent *event, String *params, Cardinal *num_params );
277extern void BWTPaste ( Widget w, XEvent *event, String *params, Cardinal *num_params );
278extern void BWDebug ( Widget w, XEvent *event, String *params, Cardinal *num_params );
279extern void BWAbort ( Widget w );
280extern Boolean BWRemoveRequest ( Widget w );
281extern void BWRedraw ( Widget w );
282extern Pixmap BWGetPixmap( Widget w );
283
284#endif /* _Bitmap_h */
285
286
287