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