|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T X
Length: 9068 (0x236c) Types: TextFile Names: »X.h«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki └─⟦526ad3590⟧ »EUUGD11/gnu-31mar87/X.V10.R4.tar.Z« └─⟦2109abc41⟧ └─⟦this⟧ »./X.V10R4/X/X.h«
#include <X/mit-copyright.h> /* Copyright Massachusetts Institute of Technology 1985, 1986 */ /* $Header: X.h,v 10.18 86/11/25 14:54:58 jg Rel $ */ /* Definitions for the X window system likely to be used by applications */ #define X_PROTOCOL 10 /* current protocol version */ #ifdef titan #define BIGSHORTS typedef unsigned char * caddr_t; #endif #ifdef BIGSHORTS #define B16 :16 #else #define B16 #endif /* Resources */ typedef long Window; typedef long Font; typedef long Bitmap; typedef long Pixmap; typedef long Cursor; typedef long Locator; /* Input Event Codes */ #define NoEvent 0x0000 #define KeyPressed 0x0001 /* keyboard key pressed */ #define KeyReleased 0x0002 /* keyboard key released */ #define ButtonPressed 0x0004 /* mouse button pressed */ #define ButtonReleased 0x0008 /* mouse button released */ #define EnterWindow 0x0010 /* mouse entering window */ #define LeaveWindow 0x0020 /* mouse leaving window */ #define MouseMoved 0x0040 /* mouse moves within window */ #define ExposeWindow 0x0080 /* full window changed and/or exposed */ #define ExposeRegion 0x0100 /* region of window exposed */ #define ExposeCopy 0x0200 /* region exposed by X_CopyArea */ #define RightDownMotion 0x0400 /* mouse moves with right button down */ #define MiddleDownMotion 0x0800 /* mouse moves with middle button down */ #define LeftDownMotion 0x1000 /* mouse moves with left button down */ #define UnmapWindow 0x2000 /* window is unmapped */ #define FocusChange 0x4000 /* keyboard focus changed */ /* Event detail bits */ #define ControlMask 0x4000 /* Control key */ #define MetaMask 0x2000 /* Meta (Symbol) key */ #define ShiftMask 0x1000 /* Shift key */ #define ShiftLockMask 0x0800 /* ShiftLock key */ #define LeftMask 0x0400 /* Left button */ #define MiddleMask 0x0200 /* Middle button */ #define RightMask 0x0100 /* Right button */ #define ValueMask 0x00ff /* Key/button code */ #define KeyState(x) (((x) & (ControlMask|MetaMask|ShiftMask)) >> 12) #define FullKeyState(x) (((x) & (ControlMask|MetaMask|ShiftMask|ShiftLockMask)) >> 11) #define ButtonState(x) (((x) & (LeftMask|MiddleMask|RightMask)) >> 8) /* Button event detail codes */ #define RightButton 0 #define MiddleButton 1 #define LeftButton 2 /* Enter/Leave event detail codes */ #define IntoOrFromSubwindow 1 #define VirtualCrossing 2 /* These are the error codes */ #define BadRequest 1 /* bad request code */ #define BadValue 2 /* int parameter out of range */ #define BadWindow 3 /* parameter not a Window */ #define BadPixmap 4 /* parameter not a Pixmap */ #define BadBitmap 5 /* parameter not a Bitmap */ #define BadCursor 6 /* parameter not a Cursor */ #define BadFont 7 /* parameter not a Font */ #define BadMatch 8 /* parameter mismatch */ #define BadTile 9 /* Pixmap shape invalid for tiling */ #define BadGrab 10 /* mouse/button already grabbed */ #define BadAccess 11 /* access control violation */ #define BadAlloc 12 /* insufficient resources */ #define BadColor 13 /* no such color */ /* for monochrome applications */ #define BlackPixel 0 /* may not actually be black */ #define WhitePixel 1 /* may not actually be white */ /* graphics functions */ #define GXclear 0x0 /* 0 */ #define GXand 0x1 /* src AND dst */ #define GXandReverse 0x2 /* src AND NOT dst */ #define GXcopy 0x3 /* src */ #define GXandInverted 0x4 /* NOT src AND dst */ #define GXnoop 0x5 /* dst */ #define GXxor 0x6 /* src XOR dst */ #define GXor 0x7 /* src OR dst */ #define GXnor 0x8 /* NOT src AND NOT dst */ #define GXequiv 0x9 /* NOT src XOR dst */ #define GXinvert 0xa /* NOT dst */ #define GXorReverse 0xb /* src OR NOT dst */ #define GXcopyInverted 0xc /* NOT src */ #define GXorInverted 0xd /* NOT src OR dst */ #define GXnand 0xe /* NOT src OR NOT dst */ #define GXset 0xf /* 1 */ /* Used in X_TileMode */ #define TileModeAbsolute 0 #define TileModeRelative 1 /* Used in X_ClipMode */ #define ClipModeClipped 0 #define ClipModeDrawThru 1 /* Used in X_QueryWindow reply */ #define IsUnmapped 0 #define IsMapped 1 #define IsInvisible 2 #define IsTransparent 0 #define IsOpaque 1 #define IsIcon 2 /* Used in X_Draw */ #define DrawSolidLine 0 #define DrawDashedLine 1 #define DrawPatternedLine 2 /* Used in X_Draw and X_DrawFilled */ typedef struct _Vertex { short x, y; unsigned short flags; } Vertex; /* The meanings of the flag bits. If the bit is 1 the predicate is true */ #define VertexRelative 0x0001 /* else absolute */ #define VertexDontDraw 0x0002 /* else draw */ #define VertexCurved 0x0004 /* else straight */ #define VertexStartClosed 0x0008 /* else not */ #define VertexEndClosed 0x0010 /* else not */ #define VertexDrawLastPoint 0x0020 /* else don't */ /* Device identifiers returned by X_SetUp */ #define XDEV_XNEST 0 /* X in an X window */ /* DEC address space 1-99 */ #define XDEV_VS100 1 /* DEC VS100 */ #define XDEV_QVSS 2 /* DEC QVSS (VS1 and VS2) */ #define XDEV_QDSS 3 /* DEC QDSS display */ #define XDEV_DECXXX 4 /* reserved for future use */ #define XDEV_DECYYY 5 /* reserved for future use */ #define XDEV_DECZZZ 6 /* reserved for future use */ #define XDEV_DECLLL 7 /* reserved for future use */ /* Cognition address space 100-199 */ #define XDEV_LEX90 100 /* Lexidata 90, Cognition */ /* IBM address space 200-299 */ #define XDEV_IBMAED 200 /* IBM ACIS Experimental Display */ #define XDEV_IBMAPA8 201 /* IBM APA8 Display */ #define XDEV_IBMAPA16 202 /* IBM APA16 Display */ #define XDEV_IBMAPA8C 203 /* IBM APA8 Color Display */ #define XDEV_IBMPQD 204 /* IBM Print Quality Display */ /* SMI address space 300-399 */ #define SUN_BASE 300 /* base of SMI displays */ #ifndef FBTYPE_SUN1BW /* from /usr/include/sun/fbio.h */ #define FBTYPE_SUN1BW 0 #define FBTYPE_SUN1COLOR 1 #define FBTYPE_SUN2BW 2 #define FBTYPE_SUN2COLOR 3 #define FBTYPE_SUN2GP 4 /* reserved for future Sun use */ #define FBTYPE_SUN3BW 5 /* reserved for future Sun use */ #define FBTYPE_SUN3COLOR 6 /* reserved for future Sun use */ #define FBTYPE_SUN4BW 7 /* reserved for future Sun use */ #define FBTYPE_SUN4COLOR 8 /* reserved for future Sun use */ #define FBTYPE_NOTSUN1 9 /* reserved for Sun customer */ #define FBTYPE_NOTSUN2 10 /* reserved for Sun customer */ #define FBTYPE_NOTSUN3 11 /* reserved for Sun customer */ #endif #define XDEV_SUN1BW FBTYPE_SUN1BW+SUN_BASE #define XDEV_SUN1COLOR FBTYPE_SUN1COLOR+SUN_BASE #define XDEV_SUN2BW FBTYPE_SUN2BW+SUN_BASE #define XDEV_SUN2COLOR FBTYPE_SUN2COLOR+SUN_BASE #define XDEV_SUN2GP FBTYPE_SUN2GP+SUN_BASE #define XDEV_SUN3BW FBTYPE_SUN3BW+SUN_BASE #define XDEV_SUN3COLOR FBTYPE_SUN3COLOR+SUN_BASE #define XDEV_SUN4BW FBTYPE_SUN4BW+SUN_BASE #define XDEV_SUN4COLOR FBTYPE_SUN4COLOR+SUN_BASE #define XDEV_NOTSUN1 FBTYPE_NOTSUN1+SUN_BASE #define XDEV_NOTSUN2 FBTYPE_NOTSUN2+SUN_BASE #define XDEV_NOTSUN3 FBTYPE_NOTSUN3+SUN_BASE /* MASSCOMP address space 400-499 */ #define XDEV_MC1 401 /* Masscomp, in progress */ #define XDEV_MC2 402 /* Masscomp, (not implemented) */ #define XDEV_MC3 403 /* Masscomp, (not implemented) */ /* Jupiter Systems address space 500-599 */ #define XDEV_PGP20 501 /* 24 bit deep frame buffer */ /* Data General address space 600-699 */ #define XDEV_DS4000 601 /* Data General DS4000 display */ #define XDEV_DS4200 602 /* Data General DS4200 display */ /* Apollo Computer address space 700-799 */ #define XDEV_APOLLO /* Hewlett Packard address space 800-899 */ #define XDEV_HP9000S300 800 /* Integrated Solutions address space 900-999 */ #define XDEV_ISI 900 /* ISI base address */ #define XDEV_ISIBW XDEV_ISI+1 /* Optimum V monochrome */ #define XDEV_ISICOLOR4 XDEV_ISI+2 /* Optimum V 4 bit color */ /* Periphere Computer Systeme address space 1000-1099 */ #define XDEV_PCS 1000 /* Periphere base address */ /* Used in X_StoreColors */ typedef struct _ColorDef { unsigned short pixel B16; unsigned short red B16, green B16, blue B16; } ColorDef; /* Used in X_PixmapBitsPut and X_StorePixmap */ #define XYFormat 0 #define ZFormat 1 #define UBPS (sizeof(short)/2) /* useful bytes per short */ /* size in bytes of a bitmap */ #define BitmapSize(width, height) (((((width) + 15) >> 3) &~ 1) * (height) * UBPS) /* size in bytes of a pixmap in XYFormat */ #define XYPixmapSize(width, height, planes) (BitmapSize(width, height) * (planes)) /* size in bytes of a pizmap in ZFormat for 9 to 16 bit planes */ #define WZPixmapSize(width, height) (((width) * (height)) << 1) /* size in bytes of a pixmap in ZFormat for 2 to 8 bit planes */ #define BZPixmapSize(width, height) ((width) * (height)) /* Used in X_QueryShape */ #define CursorShape 0 #define TileShape 1 #define BrushShape 2 /* Used in X_ShiftLock */ #define LockUpDownMode 0 #define LockToggleMode 1 /* Used in X_AddHost, X_RemoveHost, and X_GetHosts */ #define XAF_INET 2 #define XAF_DECnet 12