parent
c30ded8d53
commit
282b071a43
@ -1,693 +0,0 @@
|
||||
/*
|
||||
* $XConsortium: X.h,v 1.69 94/04/17 20:10:48 dpw Exp $
|
||||
*/
|
||||
|
||||
/* Definitions for the X window system likely to be used by applications */
|
||||
|
||||
#ifndef X_H
|
||||
#define X_H
|
||||
|
||||
/***********************************************************
|
||||
|
||||
Copyright (c) 1987 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
|
||||
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
provided that the above copyright notice appear in all copies and that
|
||||
both that copyright notice and this permission notice appear in
|
||||
supporting documentation, and that the name of Digital not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
SOFTWARE.
|
||||
|
||||
******************************************************************/
|
||||
#define X_PROTOCOL 11 /* current protocol version */
|
||||
#define X_PROTOCOL_REVISION 0 /* current minor version */
|
||||
|
||||
/* Resources */
|
||||
|
||||
/*
|
||||
* _XSERVER64 must ONLY be defined when compiling X server sources on
|
||||
* systems where unsigned long is not 32 bits, must NOT be used in
|
||||
* client or library code.
|
||||
*/
|
||||
#ifndef _XSERVER64
|
||||
typedef unsigned long XID;
|
||||
typedef unsigned long Mask;
|
||||
typedef unsigned long Atom;
|
||||
typedef unsigned long VisualID;
|
||||
typedef unsigned long Time;
|
||||
#else
|
||||
#include <X11/Xmd.h>
|
||||
typedef CARD32 XID;
|
||||
typedef CARD32 Mask;
|
||||
typedef CARD32 Atom;
|
||||
typedef CARD32 VisualID;
|
||||
typedef CARD32 Time;
|
||||
#endif
|
||||
|
||||
typedef XID Window;
|
||||
typedef XID Drawable;
|
||||
typedef XID Font;
|
||||
typedef XID Pixmap;
|
||||
typedef XID X11Cursor; /* conflict with CoreGraphics */
|
||||
typedef XID Colormap;
|
||||
typedef XID GContext;
|
||||
typedef XID KeySym;
|
||||
|
||||
typedef unsigned char KeyCode;
|
||||
|
||||
/*****************************************************************
|
||||
* RESERVED RESOURCE AND CONSTANT DEFINITIONS
|
||||
*****************************************************************/
|
||||
|
||||
#define None 0L /* universal null resource or null atom */
|
||||
|
||||
#define ParentRelative 1L /* background pixmap in CreateWindow
|
||||
and ChangeWindowAttributes */
|
||||
|
||||
#define CopyFromParent 0L /* border pixmap in CreateWindow
|
||||
and ChangeWindowAttributes
|
||||
special VisualID and special window
|
||||
class passed to CreateWindow */
|
||||
|
||||
#define PointerWindow 0L /* destination window in SendEvent */
|
||||
#define InputFocus 1L /* destination window in SendEvent */
|
||||
|
||||
#define PointerRoot 1L /* focus window in SetInputFocus */
|
||||
|
||||
#define AnyPropertyType 0L /* special Atom, passed to GetProperty */
|
||||
|
||||
#define AnyKey 0L /* special Key Code, passed to GrabKey */
|
||||
|
||||
#define AnyButton 0L /* special Button Code, passed to GrabButton */
|
||||
|
||||
#define AllTemporary 0L /* special Resource ID passed to KillClient */
|
||||
|
||||
#define CurrentTime 0L /* special Time */
|
||||
|
||||
#define NoSymbol 0L /* special KeySym */
|
||||
|
||||
/*****************************************************************
|
||||
* EVENT DEFINITIONS
|
||||
*****************************************************************/
|
||||
|
||||
/* Input Event Masks. Used as event-mask window attribute and as arguments
|
||||
to Grab requests. Not to be confused with event names. */
|
||||
|
||||
#define NoEventMask 0L
|
||||
#define KeyPressMask (1L<<0)
|
||||
#define KeyReleaseMask (1L<<1)
|
||||
#define ButtonPressMask (1L<<2)
|
||||
#define ButtonReleaseMask (1L<<3)
|
||||
#define EnterWindowMask (1L<<4)
|
||||
#define LeaveWindowMask (1L<<5)
|
||||
#define PointerMotionMask (1L<<6)
|
||||
#define PointerMotionHintMask (1L<<7)
|
||||
#define Button1MotionMask (1L<<8)
|
||||
#define Button2MotionMask (1L<<9)
|
||||
#define Button3MotionMask (1L<<10)
|
||||
#define Button4MotionMask (1L<<11)
|
||||
#define Button5MotionMask (1L<<12)
|
||||
#define ButtonMotionMask (1L<<13)
|
||||
#define KeymapStateMask (1L<<14)
|
||||
#define ExposureMask (1L<<15)
|
||||
#define VisibilityChangeMask (1L<<16)
|
||||
#define StructureNotifyMask (1L<<17)
|
||||
#define ResizeRedirectMask (1L<<18)
|
||||
#define SubstructureNotifyMask (1L<<19)
|
||||
#define SubstructureRedirectMask (1L<<20)
|
||||
#define FocusChangeMask (1L<<21)
|
||||
#define PropertyChangeMask (1L<<22)
|
||||
#define ColormapChangeMask (1L<<23)
|
||||
#define OwnerGrabButtonMask (1L<<24)
|
||||
|
||||
/* Event names. Used in "type" field in XEvent structures. Not to be
|
||||
confused with event masks above. They start from 2 because 0 and 1
|
||||
are reserved in the protocol for errors and replies. */
|
||||
|
||||
#define KeyPress 2
|
||||
#define KeyRelease 3
|
||||
#define ButtonPress 4
|
||||
#define ButtonRelease 5
|
||||
#define MotionNotify 6
|
||||
#define EnterNotify 7
|
||||
#define LeaveNotify 8
|
||||
#define FocusIn 9
|
||||
#define FocusOut 10
|
||||
#define KeymapNotify 11
|
||||
#define Expose 12
|
||||
#define GraphicsExpose 13
|
||||
#define NoExpose 14
|
||||
#define VisibilityNotify 15
|
||||
#define CreateNotify 16
|
||||
#define DestroyNotify 17
|
||||
#define UnmapNotify 18
|
||||
#define MapNotify 19
|
||||
#define MapRequest 20
|
||||
#define ReparentNotify 21
|
||||
#define ConfigureNotify 22
|
||||
#define ConfigureRequest 23
|
||||
#define GravityNotify 24
|
||||
#define ResizeRequest 25
|
||||
#define CirculateNotify 26
|
||||
#define CirculateRequest 27
|
||||
#define PropertyNotify 28
|
||||
#define SelectionClear 29
|
||||
#define SelectionRequest 30
|
||||
#define SelectionNotify 31
|
||||
#define ColormapNotify 32
|
||||
#define ClientMessage 33
|
||||
#define MappingNotify 34
|
||||
#define LASTEvent 35 /* must be bigger than any event # */
|
||||
|
||||
|
||||
/* Key masks. Used as modifiers to GrabButton and GrabKey, results of QueryPointer,
|
||||
state in various key-, mouse-, and button-related events. */
|
||||
|
||||
#define ShiftMask (1<<0)
|
||||
#define LockMask (1<<1)
|
||||
#define ControlMask (1<<2)
|
||||
#define Mod1Mask (1<<3)
|
||||
#define Mod2Mask (1<<4)
|
||||
#define Mod3Mask (1<<5)
|
||||
#define Mod4Mask (1<<6)
|
||||
#define Mod5Mask (1<<7)
|
||||
|
||||
/* modifier names. Used to build a SetModifierMapping request or
|
||||
to read a GetModifierMapping request. These correspond to the
|
||||
masks defined above. */
|
||||
#define ShiftMapIndex 0
|
||||
#define LockMapIndex 1
|
||||
#define ControlMapIndex 2
|
||||
#define Mod1MapIndex 3
|
||||
#define Mod2MapIndex 4
|
||||
#define Mod3MapIndex 5
|
||||
#define Mod4MapIndex 6
|
||||
#define Mod5MapIndex 7
|
||||
|
||||
|
||||
/* button masks. Used in same manner as Key masks above. Not to be confused
|
||||
with button names below. */
|
||||
|
||||
#define Button1Mask (1<<8)
|
||||
#define Button2Mask (1<<9)
|
||||
#define Button3Mask (1<<10)
|
||||
#define Button4Mask (1<<11)
|
||||
#define Button5Mask (1<<12)
|
||||
|
||||
#define AnyModifier (1<<15) /* used in GrabButton, GrabKey */
|
||||
|
||||
|
||||
/* button names. Used as arguments to GrabButton and as detail in ButtonPress
|
||||
and ButtonRelease events. Not to be confused with button masks above.
|
||||
Note that 0 is already defined above as "AnyButton". */
|
||||
|
||||
#define Button1 1
|
||||
#define Button2 2
|
||||
#define Button3 3
|
||||
#define Button4 4
|
||||
#define Button5 5
|
||||
|
||||
/* Notify modes */
|
||||
|
||||
#define NotifyNormal 0
|
||||
#define NotifyGrab 1
|
||||
#define NotifyUngrab 2
|
||||
#define NotifyWhileGrabbed 3
|
||||
|
||||
#define NotifyHint 1 /* for MotionNotify events */
|
||||
|
||||
/* Notify detail */
|
||||
|
||||
#define NotifyAncestor 0
|
||||
#define NotifyVirtual 1
|
||||
#define NotifyInferior 2
|
||||
#define NotifyNonlinear 3
|
||||
#define NotifyNonlinearVirtual 4
|
||||
#define NotifyPointer 5
|
||||
#define NotifyPointerRoot 6
|
||||
#define NotifyDetailNone 7
|
||||
|
||||
/* Visibility notify */
|
||||
|
||||
#define VisibilityUnobscured 0
|
||||
#define VisibilityPartiallyObscured 1
|
||||
#define VisibilityFullyObscured 2
|
||||
|
||||
/* Circulation request */
|
||||
|
||||
#define PlaceOnTop 0
|
||||
#define PlaceOnBottom 1
|
||||
|
||||
/* protocol families */
|
||||
|
||||
#define FamilyInternet 0
|
||||
#define FamilyDECnet 1
|
||||
#define FamilyChaos 2
|
||||
|
||||
/* Property notification */
|
||||
|
||||
#define PropertyNewValue 0
|
||||
#define PropertyDelete 1
|
||||
|
||||
/* Color Map notification */
|
||||
|
||||
#define ColormapUninstalled 0
|
||||
#define ColormapInstalled 1
|
||||
|
||||
/* GrabPointer, GrabButton, GrabKeyboard, GrabKey Modes */
|
||||
|
||||
#define GrabModeSync 0
|
||||
#define GrabModeAsync 1
|
||||
|
||||
/* GrabPointer, GrabKeyboard reply status */
|
||||
|
||||
#define GrabSuccess 0
|
||||
#define AlreadyGrabbed 1
|
||||
#define GrabInvalidTime 2
|
||||
#define GrabNotViewable 3
|
||||
#define GrabFrozen 4
|
||||
|
||||
/* AllowEvents modes */
|
||||
|
||||
#define AsyncPointer 0
|
||||
#define SyncPointer 1
|
||||
#define ReplayPointer 2
|
||||
#define AsyncKeyboard 3
|
||||
#define SyncKeyboard 4
|
||||
#define ReplayKeyboard 5
|
||||
#define AsyncBoth 6
|
||||
#define SyncBoth 7
|
||||
|
||||
/* Used in SetInputFocus, GetInputFocus */
|
||||
|
||||
#define RevertToNone (int)None
|
||||
#define RevertToPointerRoot (int)PointerRoot
|
||||
#define RevertToParent 2
|
||||
|
||||
/*****************************************************************
|
||||
* ERROR CODES
|
||||
*****************************************************************/
|
||||
|
||||
#define Success 0 /* everything's okay */
|
||||
#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 BadAtom 5 /* parameter not an Atom */
|
||||
#define BadCursor 6 /* parameter not a Cursor */
|
||||
#define BadFont 7 /* parameter not a Font */
|
||||
#define BadMatch 8 /* parameter mismatch */
|
||||
#define BadDrawable 9 /* parameter not a Pixmap or Window */
|
||||
#define BadAccess 10 /* depending on context:
|
||||
- key/button already grabbed
|
||||
- attempt to free an illegal
|
||||
cmap entry
|
||||
- attempt to store into a read-only
|
||||
color map entry.
|
||||
- attempt to modify the access control
|
||||
list from other than the local host.
|
||||
*/
|
||||
#define BadAlloc 11 /* insufficient resources */
|
||||
#define BadColor 12 /* no such colormap */
|
||||
#define BadGC 13 /* parameter not a GC */
|
||||
#define BadIDChoice 14 /* choice not in range or already used */
|
||||
#define BadName 15 /* font or color name doesn't exist */
|
||||
#define BadLength 16 /* Request length incorrect */
|
||||
#define BadImplementation 17 /* server is defective */
|
||||
|
||||
#define FirstExtensionError 128
|
||||
#define LastExtensionError 255
|
||||
|
||||
/*****************************************************************
|
||||
* WINDOW DEFINITIONS
|
||||
*****************************************************************/
|
||||
|
||||
/* Window classes used by CreateWindow */
|
||||
/* Note that CopyFromParent is already defined as 0 above */
|
||||
|
||||
#define InputOutput 1
|
||||
#define InputOnly 2
|
||||
|
||||
/* Window attributes for CreateWindow and ChangeWindowAttributes */
|
||||
|
||||
#define CWBackPixmap (1L<<0)
|
||||
#define CWBackPixel (1L<<1)
|
||||
#define CWBorderPixmap (1L<<2)
|
||||
#define CWBorderPixel (1L<<3)
|
||||
#define CWBitGravity (1L<<4)
|
||||
#define CWWinGravity (1L<<5)
|
||||
#define CWBackingStore (1L<<6)
|
||||
#define CWBackingPlanes (1L<<7)
|
||||
#define CWBackingPixel (1L<<8)
|
||||
#define CWOverrideRedirect (1L<<9)
|
||||
#define CWSaveUnder (1L<<10)
|
||||
#define CWEventMask (1L<<11)
|
||||
#define CWDontPropagate (1L<<12)
|
||||
#define CWColormap (1L<<13)
|
||||
#define CWCursor (1L<<14)
|
||||
|
||||
/* ConfigureWindow structure */
|
||||
|
||||
#define CWX (1<<0)
|
||||
#define CWY (1<<1)
|
||||
#define CWWidth (1<<2)
|
||||
#define CWHeight (1<<3)
|
||||
#define CWBorderWidth (1<<4)
|
||||
#define CWSibling (1<<5)
|
||||
#define CWStackMode (1<<6)
|
||||
|
||||
|
||||
/* Bit Gravity */
|
||||
|
||||
#define ForgetGravity 0
|
||||
#define NorthWestGravity 1
|
||||
#define NorthGravity 2
|
||||
#define NorthEastGravity 3
|
||||
#define WestGravity 4
|
||||
#define CenterGravity 5
|
||||
#define EastGravity 6
|
||||
#define SouthWestGravity 7
|
||||
#define SouthGravity 8
|
||||
#define SouthEastGravity 9
|
||||
#define StaticGravity 10
|
||||
|
||||
/* Window gravity + bit gravity above */
|
||||
|
||||
#define UnmapGravity 0
|
||||
|
||||
/* Used in CreateWindow for backing-store hint */
|
||||
|
||||
#define NotUseful 0
|
||||
#define WhenMapped 1
|
||||
#define Always 2
|
||||
|
||||
/* Used in GetWindowAttributes reply */
|
||||
|
||||
#define IsUnmapped 0
|
||||
#define IsUnviewable 1
|
||||
#define IsViewable 2
|
||||
|
||||
/* Used in ChangeSaveSet */
|
||||
|
||||
#define SetModeInsert 0
|
||||
#define SetModeDelete 1
|
||||
|
||||
/* Used in ChangeCloseDownMode */
|
||||
|
||||
#define DestroyAll 0
|
||||
#define RetainPermanent 1
|
||||
#define RetainTemporary 2
|
||||
|
||||
/* Window stacking method (in configureWindow) */
|
||||
|
||||
#define Above 0
|
||||
#define Below 1
|
||||
#define TopIf 2
|
||||
#define BottomIf 3
|
||||
#define Opposite 4
|
||||
|
||||
/* Circulation direction */
|
||||
|
||||
#define RaiseLowest 0
|
||||
#define LowerHighest 1
|
||||
|
||||
/* Property modes */
|
||||
|
||||
#define PropModeReplace 0
|
||||
#define PropModePrepend 1
|
||||
#define PropModeAppend 2
|
||||
|
||||
/*****************************************************************
|
||||
* GRAPHICS DEFINITIONS
|
||||
*****************************************************************/
|
||||
|
||||
/* graphics functions, as in GC.alu */
|
||||
|
||||
#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 */
|
||||
|
||||
/* LineStyle */
|
||||
|
||||
#define LineSolid 0
|
||||
#define LineOnOffDash 1
|
||||
#define LineDoubleDash 2
|
||||
|
||||
/* capStyle */
|
||||
|
||||
#define CapNotLast 0
|
||||
#define CapButt 1
|
||||
#define CapRound 2
|
||||
#define CapProjecting 3
|
||||
|
||||
/* joinStyle */
|
||||
|
||||
#define JoinMiter 0
|
||||
#define JoinRound 1
|
||||
#define JoinBevel 2
|
||||
|
||||
/* fillStyle */
|
||||
|
||||
#define FillSolid 0
|
||||
#define FillTiled 1
|
||||
#define FillStippled 2
|
||||
#define FillOpaqueStippled 3
|
||||
|
||||
/* fillRule */
|
||||
|
||||
#define EvenOddRule 0
|
||||
#define WindingRule 1
|
||||
|
||||
/* subwindow mode */
|
||||
|
||||
#define ClipByChildren 0
|
||||
#define IncludeInferiors 1
|
||||
|
||||
/* SetClipRectangles ordering */
|
||||
|
||||
#define Unsorted 0
|
||||
#define YSorted 1
|
||||
#define YXSorted 2
|
||||
#define YXBanded 3
|
||||
|
||||
/* CoordinateMode for drawing routines */
|
||||
|
||||
#define CoordModeOrigin 0 /* relative to the origin */
|
||||
#define CoordModePrevious 1 /* relative to previous point */
|
||||
|
||||
/* Polygon shapes */
|
||||
|
||||
#define Complex 0 /* paths may intersect */
|
||||
#define Nonconvex 1 /* no paths intersect, but not convex */
|
||||
#define Convex 2 /* wholly convex */
|
||||
|
||||
/* Arc modes for PolyFillArc */
|
||||
|
||||
#define ArcChord 0 /* join endpoints of arc */
|
||||
#define ArcPieSlice 1 /* join endpoints to center of arc */
|
||||
|
||||
/* GC components: masks used in CreateGC, CopyGC, ChangeGC, OR'ed into
|
||||
GC.stateChanges */
|
||||
|
||||
#define GCFunction (1L<<0)
|
||||
#define GCPlaneMask (1L<<1)
|
||||
#define GCForeground (1L<<2)
|
||||
#define GCBackground (1L<<3)
|
||||
#define GCLineWidth (1L<<4)
|
||||
#define GCLineStyle (1L<<5)
|
||||
#define GCCapStyle (1L<<6)
|
||||
#define GCJoinStyle (1L<<7)
|
||||
#define GCFillStyle (1L<<8)
|
||||
#define GCFillRule (1L<<9)
|
||||
#define GCTile (1L<<10)
|
||||
#define GCStipple (1L<<11)
|
||||
#define GCTileStipXOrigin (1L<<12)
|
||||
#define GCTileStipYOrigin (1L<<13)
|
||||
#define GCFont (1L<<14)
|
||||
#define GCSubwindowMode (1L<<15)
|
||||
#define GCGraphicsExposures (1L<<16)
|
||||
#define GCClipXOrigin (1L<<17)
|
||||
#define GCClipYOrigin (1L<<18)
|
||||
#define GCClipMask (1L<<19)
|
||||
#define GCDashOffset (1L<<20)
|
||||
#define GCDashList (1L<<21)
|
||||
#define GCArcMode (1L<<22)
|
||||
|
||||
#define GCLastBit 22
|
||||
/*****************************************************************
|
||||
* FONTS
|
||||
*****************************************************************/
|
||||
|
||||
/* used in QueryFont -- draw direction */
|
||||
|
||||
#define FontLeftToRight 0
|
||||
#define FontRightToLeft 1
|
||||
|
||||
#define FontChange 255
|
||||
|
||||
/*****************************************************************
|
||||
* IMAGING
|
||||
*****************************************************************/
|
||||
|
||||
/* ImageFormat -- PutImage, GetImage */
|
||||
|
||||
#define XYBitmap 0 /* depth 1, XYFormat */
|
||||
#define XYPixmap 1 /* depth == drawable depth */
|
||||
#define ZPixmap 2 /* depth == drawable depth */
|
||||
|
||||
/*****************************************************************
|
||||
* COLOR MAP STUFF
|
||||
*****************************************************************/
|
||||
|
||||
/* For CreateColormap */
|
||||
|
||||
#define AllocNone 0 /* create map with no entries */
|
||||
#define AllocAll 1 /* allocate entire map writeable */
|
||||
|
||||
|
||||
/* Flags used in StoreNamedColor, StoreColors */
|
||||
|
||||
#define DoRed (1<<0)
|
||||
#define DoGreen (1<<1)
|
||||
#define DoBlue (1<<2)
|
||||
|
||||
/*****************************************************************
|
||||
* CURSOR STUFF
|
||||
*****************************************************************/
|
||||
|
||||
/* QueryBestSize Class */
|
||||
|
||||
#define CursorShape 0 /* largest size that can be displayed */
|
||||
#define TileShape 1 /* size tiled fastest */
|
||||
#define StippleShape 2 /* size stippled fastest */
|
||||
|
||||
/*****************************************************************
|
||||
* KEYBOARD/POINTER STUFF
|
||||
*****************************************************************/
|
||||
|
||||
#define AutoRepeatModeOff 0
|
||||
#define AutoRepeatModeOn 1
|
||||
#define AutoRepeatModeDefault 2
|
||||
|
||||
#define LedModeOff 0
|
||||
#define LedModeOn 1
|
||||
|
||||
/* masks for ChangeKeyboardControl */
|
||||
|
||||
#define KBKeyClickPercent (1L<<0)
|
||||
#define KBBellPercent (1L<<1)
|
||||
#define KBBellPitch (1L<<2)
|
||||
#define KBBellDuration (1L<<3)
|
||||
#define KBLed (1L<<4)
|
||||
#define KBLedMode (1L<<5)
|
||||
#define KBKey (1L<<6)
|
||||
#define KBAutoRepeatMode (1L<<7)
|
||||
|
||||
#define MappingSuccess 0
|
||||
#define MappingBusy 1
|
||||
#define MappingFailed 2
|
||||
|
||||
#define MappingModifier 0
|
||||
#define MappingKeyboard 1
|
||||
#define MappingPointer 2
|
||||
|
||||
/*****************************************************************
|
||||
* SCREEN SAVER STUFF
|
||||
*****************************************************************/
|
||||
|
||||
#define DontPreferBlanking 0
|
||||
#define PreferBlanking 1
|
||||
#define DefaultBlanking 2
|
||||
|
||||
#define DisableScreenSaver 0
|
||||
#define DisableScreenInterval 0
|
||||
|
||||
#define DontAllowExposures 0
|
||||
#define AllowExposures 1
|
||||
#define DefaultExposures 2
|
||||
|
||||
/* for ForceScreenSaver */
|
||||
|
||||
#define ScreenSaverReset 0
|
||||
#define ScreenSaverActive 1
|
||||
|
||||
/*****************************************************************
|
||||
* HOSTS AND CONNECTIONS
|
||||
*****************************************************************/
|
||||
|
||||
/* for ChangeHosts */
|
||||
|
||||
#define HostInsert 0
|
||||
#define HostDelete 1
|
||||
|
||||
/* for ChangeAccessControl */
|
||||
|
||||
#define EnableAccess 1
|
||||
#define DisableAccess 0
|
||||
|
||||
/* Display classes used in opening the connection
|
||||
* Note that the statically allocated ones are even numbered and the
|
||||
* dynamically changeable ones are odd numbered */
|
||||
|
||||
#define StaticGray 0
|
||||
#define GrayScale 1
|
||||
#define StaticColor 2
|
||||
#define PseudoColor 3
|
||||
#define TrueColor 4
|
||||
#define DirectColor 5
|
||||
|
||||
|
||||
/* Byte order used in imageByteOrder and bitmapBitOrder */
|
||||
|
||||
#define LSBFirst 0
|
||||
#define MSBFirst 1
|
||||
|
||||
#endif /* X_H */
|
@ -1,137 +0,0 @@
|
||||
/* $XConsortium: Xalloca.h /main/6 1996/09/28 16:17:22 rws $ */
|
||||
|
||||
/*
|
||||
|
||||
Copyright (c) 1995 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall
|
||||
not be used in advertising or otherwise to promote the sale, use or
|
||||
other dealings in this Software without prior written authorization
|
||||
from the X Consortium.
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
* The purpose of this header is to define the macros ALLOCATE_LOCAL and
|
||||
* DEALLOCATE_LOCAL appropriately for the platform being compiled on.
|
||||
* These macros are used to make fast, function-local memory allocations.
|
||||
* Their characteristics are as follows:
|
||||
*
|
||||
* void *ALLOCATE_LOCAL(int size)
|
||||
* Returns a pointer to size bytes of memory, or NULL if the allocation
|
||||
* failed. The memory must be freed with DEALLOCATE_LOCAL before the
|
||||
* function that made the allocation returns. You should not ask for
|
||||
* large blocks of memory with this function, since on many platforms
|
||||
* the memory comes from the stack, which may have limited size.
|
||||
*
|
||||
* void DEALLOCATE_LOCAL(void *)
|
||||
* Frees the memory allocated by ALLOCATE_LOCAL. Omission of this
|
||||
* step may be harmless on some platforms, but will result in
|
||||
* memory leaks or worse on others.
|
||||
*
|
||||
* Before including this file, you should define two macros,
|
||||
* ALLOCATE_LOCAL_FALLBACK and DEALLOCATE_LOCAL_FALLBACK, that have the
|
||||
* same characteristics as ALLOCATE_LOCAL and DEALLOCATE_LOCAL. The
|
||||
* header uses the fallbacks if it doesn't know a "better" way to define
|
||||
* ALLOCATE_LOCAL and DEALLOCATE_LOCAL. Typical usage would be:
|
||||
*
|
||||
* #define ALLOCATE_LOCAL_FALLBACK(_size) malloc(_size)
|
||||
* #define DEALLOCATE_LOCAL_FALLBACK(_ptr) free(_ptr)
|
||||
* #include "Xalloca.h"
|
||||
*/
|
||||
|
||||
#ifndef XALLOCA_H
|
||||
#define XALLOCA_H 1
|
||||
|
||||
#ifdef INCLUDE_ALLOCA_H
|
||||
# include <alloca.h>
|
||||
#endif
|
||||
|
||||
#ifndef NO_ALLOCA
|
||||
/*
|
||||
* os-dependent definition of local allocation and deallocation
|
||||
* If you want something other than (DE)ALLOCATE_LOCAL_FALLBACK
|
||||
* for ALLOCATE/DEALLOCATE_LOCAL then you add that in here.
|
||||
*/
|
||||
# if defined(__HIGHC__)
|
||||
# ifndef NCR
|
||||
extern char *alloca();
|
||||
# if HCVERSION < 21003
|
||||
# define ALLOCATE_LOCAL(size) alloca((int)(size))
|
||||
pragma on(alloca);
|
||||
# else /* HCVERSION >= 21003 */
|
||||
# define ALLOCATE_LOCAL(size) _Alloca((int)(size))
|
||||
# endif /* HCVERSION < 21003 */
|
||||
# else /* NCR */
|
||||
# define ALLOCATE_LOCAL(size) alloca(size)
|
||||
# endif
|
||||
# define DEALLOCATE_LOCAL(ptr) /* as nothing */
|
||||
# endif /* defined(__HIGHC__) */
|
||||
|
||||
|
||||
# ifdef __GNUC__
|
||||
# ifndef alloca
|
||||
# define alloca __builtin_alloca
|
||||
# endif /* !alloca */
|
||||
# define ALLOCATE_LOCAL(size) alloca((int)(size))
|
||||
# define DEALLOCATE_LOCAL(ptr) /* as nothing */
|
||||
# else /* ! __GNUC__ */
|
||||
|
||||
/*
|
||||
* warning: old mips alloca (pre 2.10) is unusable, new one is built in
|
||||
* Test is easy, the new one is named __builtin_alloca and comes
|
||||
* from alloca.h which #defines alloca.
|
||||
*/
|
||||
# ifndef NCR
|
||||
# if defined(vax) || defined(sun) || defined(apollo) || defined(stellar) || defined(USL) || defined(alloca)
|
||||
/*
|
||||
* Some System V boxes extract alloca.o from /lib/libPW.a; if you
|
||||
* decide that you don't want to use alloca, you might want to fix it here.
|
||||
*/
|
||||
/* alloca might be a macro taking one arg (hi, Sun!), so give it one. */
|
||||
# ifndef __sgi /* IRIX 5/6 has definition */
|
||||
# define __Xnullarg /* as nothing */
|
||||
# ifndef X_NOT_STDC_ENV
|
||||
extern void *alloca(__Xnullarg);
|
||||
# else
|
||||
extern char *alloca(__Xnullarg);
|
||||
# endif
|
||||
# endif /* __sgi */
|
||||
# define ALLOCATE_LOCAL(size) alloca((int)(size))
|
||||
# define DEALLOCATE_LOCAL(ptr) /* as nothing */
|
||||
# endif /* who does alloca */
|
||||
# endif /* NCR */
|
||||
# endif /* __GNUC__ */
|
||||
|
||||
#endif /* NO_ALLOCA */
|
||||
|
||||
#if !defined(ALLOCATE_LOCAL)
|
||||
# if defined(ALLOCATE_LOCAL_FALLBACK) && defined(DEALLOCATE_LOCAL_FALLBACK)
|
||||
# define ALLOCATE_LOCAL(_size) ALLOCATE_LOCAL_FALLBACK(_size)
|
||||
# define DEALLOCATE_LOCAL(_ptr) DEALLOCATE_LOCAL_FALLBACK(_ptr)
|
||||
# else /* no fallbacks supplied; error */
|
||||
# define ALLOCATE_LOCAL(_size) ALLOCATE_LOCAL_FALLBACK undefined!
|
||||
# define DEALLOCATE_LOCAL(_ptr) DEALLOCATE_LOCAL_FALLBACK undefined!
|
||||
# endif /* defined(ALLOCATE_LOCAL_FALLBACK && DEALLOCATE_LOCAL_FALLBACK) */
|
||||
#endif /* !defined(ALLOCATE_LOCAL) */
|
||||
|
||||
#endif /* XALLOCA_H */
|
@ -1,88 +0,0 @@
|
||||
/* $XConsortium: Xfuncproto.h,v 1.9 95/06/08 23:20:39 gildea Exp $ */
|
||||
/*
|
||||
*
|
||||
Copyright (c) 1989, 1991 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
*
|
||||
*/
|
||||
|
||||
/* Definitions to make function prototypes manageable */
|
||||
|
||||
#ifndef _XFUNCPROTO_H_
|
||||
#define _XFUNCPROTO_H_
|
||||
|
||||
#ifndef NeedFunctionPrototypes
|
||||
#if defined(FUNCPROTO) || defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)
|
||||
#define NeedFunctionPrototypes 1
|
||||
#else
|
||||
#define NeedFunctionPrototypes 0
|
||||
#endif
|
||||
#endif /* NeedFunctionPrototypes */
|
||||
|
||||
#ifndef NeedVarargsPrototypes
|
||||
#if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus) || (FUNCPROTO&2)
|
||||
#define NeedVarargsPrototypes 1
|
||||
#else
|
||||
#define NeedVarargsPrototypes 0
|
||||
#endif
|
||||
#endif /* NeedVarargsPrototypes */
|
||||
|
||||
#if NeedFunctionPrototypes
|
||||
|
||||
#ifndef NeedNestedPrototypes
|
||||
#if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus) || (FUNCPROTO&8)
|
||||
#define NeedNestedPrototypes 1
|
||||
#else
|
||||
#define NeedNestedPrototypes 0
|
||||
#endif
|
||||
#endif /* NeedNestedPrototypes */
|
||||
|
||||
#ifndef _Xconst
|
||||
#if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus) || (FUNCPROTO&4)
|
||||
#define _Xconst const
|
||||
#else
|
||||
#define _Xconst
|
||||
#endif
|
||||
#endif /* _Xconst */
|
||||
|
||||
#ifndef NeedWidePrototypes
|
||||
#ifdef NARROWPROTO
|
||||
#define NeedWidePrototypes 0
|
||||
#else
|
||||
#define NeedWidePrototypes 1 /* default to make interropt. easier */
|
||||
#endif
|
||||
#endif /* NeedWidePrototypes */
|
||||
|
||||
#endif /* NeedFunctionPrototypes */
|
||||
|
||||
#ifndef _XFUNCPROTOBEGIN
|
||||
#ifdef __cplusplus /* for C++ V2.0 */
|
||||
#define _XFUNCPROTOBEGIN extern "C" { /* do not leave open across includes */
|
||||
#define _XFUNCPROTOEND }
|
||||
#else
|
||||
#define _XFUNCPROTOBEGIN
|
||||
#define _XFUNCPROTOEND
|
||||
#endif
|
||||
#endif /* _XFUNCPROTOBEGIN */
|
||||
|
||||
#endif /* _XFUNCPROTO_H_ */
|
@ -1,98 +0,0 @@
|
||||
/*
|
||||
* $XConsortium: Xfuncs.h,v 1.16 94/12/01 16:25:53 kaleb Exp $
|
||||
* $XFree86: xc/include/Xfuncs.h,v 3.2 1995/01/28 15:42:03 dawes Exp $
|
||||
*
|
||||
*
|
||||
Copyright (c) 1990 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _XFUNCS_H_
|
||||
#define _XFUNCS_H_
|
||||
|
||||
#include <X11/Xosdefs.h>
|
||||
|
||||
/* the old Xfuncs.h, for pre-R6 */
|
||||
|
||||
#ifdef X_USEBFUNCS
|
||||
void bcopy();
|
||||
void bzero();
|
||||
int bcmp();
|
||||
#else
|
||||
#if (__STDC__ && !defined(X_NOT_STDC_ENV) && !defined(sun) && !defined(macII) && !defined(apollo)) || defined(SVR4) || defined(hpux) || defined(_IBMR2) || defined(_SEQUENT_)
|
||||
#include <string.h>
|
||||
#define _XFUNCS_H_INCLUDED_STRING_H
|
||||
#define bcopy(b1,b2,len) memmove(b2, b1, (size_t)(len))
|
||||
#define bzero(b,len) memset(b, 0, (size_t)(len))
|
||||
#define bcmp(b1,b2,len) memcmp(b1, b2, (size_t)(len))
|
||||
#else
|
||||
#ifdef sgi
|
||||
#include <bstring.h>
|
||||
#else
|
||||
#ifdef SYSV
|
||||
#include <memory.h>
|
||||
void bcopy();
|
||||
#define bzero(b,len) memset(b, 0, len)
|
||||
#define bcmp(b1,b2,len) memcmp(b1, b2, len)
|
||||
#else
|
||||
#ifdef __EMX__
|
||||
#include <strings.h>
|
||||
#define _XFUNCS_H_INCLUDED_STRING_H
|
||||
/* bcopy, bcmp, bzero declared */
|
||||
#else /* bsd */
|
||||
void bcopy();
|
||||
void bzero();
|
||||
int bcmp();
|
||||
#endif
|
||||
#endif /* SYSV */
|
||||
#endif /* sgi */
|
||||
#endif /* __STDC__ and relatives */
|
||||
#endif /* X_USEBFUNCS */
|
||||
|
||||
/* the new Xfuncs.h */
|
||||
|
||||
#if !defined(X_NOT_STDC_ENV) && (!defined(sun) || defined(SVR4))
|
||||
/* the ANSI C way */
|
||||
#ifndef _XFUNCS_H_INCLUDED_STRING_H
|
||||
#include <string.h>
|
||||
#endif
|
||||
#undef bzero
|
||||
#define bzero(b,len) memset(b,0,len)
|
||||
#else /* else X_NOT_STDC_ENV or SunOS 4 */
|
||||
#if defined(SYSV) || defined(luna) || defined(sun) || defined(__sxg__)
|
||||
#include <memory.h>
|
||||
#define memmove(dst,src,len) bcopy((char *)(src),(char *)(dst),(int)(len))
|
||||
#if defined(SYSV) && defined(_XBCOPYFUNC)
|
||||
#undef memmove
|
||||
#define memmove(dst,src,len) _XBCOPYFUNC((char *)(src),(char *)(dst),(int)(len))
|
||||
#define _XNEEDBCOPYFUNC
|
||||
#endif
|
||||
#else /* else vanilla BSD */
|
||||
#define memmove(dst,src,len) bcopy((char *)(src),(char *)(dst),(int)(len))
|
||||
#define memcpy(dst,src,len) bcopy((char *)(src),(char *)(dst),(int)(len))
|
||||
#define memcmp(b1,b2,len) bcmp((char *)(b1),(char *)(b2),(int)(len))
|
||||
#endif /* SYSV else */
|
||||
#endif /* ! X_NOT_STDC_ENV else */
|
||||
|
||||
#endif /* _XFUNCS_H_ */
|
@ -1,206 +0,0 @@
|
||||
/***********************************************************
|
||||
|
||||
Copyright (c) 1987 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
|
||||
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
provided that the above copyright notice appear in all copies and that
|
||||
both that copyright notice and this permission notice appear in
|
||||
supporting documentation, and that the name of Digital not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
SOFTWARE.
|
||||
|
||||
******************************************************************/
|
||||
#ifndef XMD_H
|
||||
#define XMD_H 1
|
||||
/* $XConsortium: Xmd.h,v 1.49 95/06/08 23:20:39 gildea Exp $ */
|
||||
/* $XFree86: xc/include/Xmd.h,v 3.4 1996/12/31 04:15:20 dawes Exp $ */
|
||||
/*
|
||||
* Xmd.h: MACHINE DEPENDENT DECLARATIONS.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Special per-machine configuration flags.
|
||||
*/
|
||||
#ifdef CRAY
|
||||
#define WORD64 /* 64-bit architecture */
|
||||
#endif
|
||||
#if defined(__alpha) || defined(__alpha__)
|
||||
#define LONG64 /* 32/64-bit architecture */
|
||||
#endif
|
||||
#ifdef __sgi
|
||||
#if (_MIPS_SZLONG == 64)
|
||||
#define LONG64
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Stuff to handle large architecture machines; the constants were generated
|
||||
* on a 32-bit machine and must coorespond to the protocol.
|
||||
*/
|
||||
#ifdef WORD64
|
||||
#define MUSTCOPY
|
||||
#endif /* WORD64 */
|
||||
|
||||
|
||||
/*
|
||||
* Definition of macro used to set constants for size of network structures;
|
||||
* machines with preprocessors that can't handle all of the sz_ symbols
|
||||
* can define this macro to be sizeof(x) if and only if their compiler doesn't
|
||||
* pad out structures (esp. the xTextElt structure which contains only two
|
||||
* one-byte fields). Network structures should always define sz_symbols.
|
||||
*
|
||||
* The sz_ prefix is used instead of something more descriptive so that the
|
||||
* symbols are no more than 32 characters long (which causes problems for some
|
||||
* compilers and preprocessors).
|
||||
*
|
||||
* The extra indirection in the __STDC__ case is to get macro arguments to
|
||||
* expand correctly before the concatenation, rather than afterward.
|
||||
*/
|
||||
#if ((defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)) && !defined(UNIXCPP)) || defined(ANSICPP)
|
||||
#define _SIZEOF(x) sz_##x
|
||||
#define SIZEOF(x) _SIZEOF(x)
|
||||
#else
|
||||
#define SIZEOF(x) sz_/**/x
|
||||
#endif /* if ANSI C compiler else not */
|
||||
|
||||
/*
|
||||
* Bitfield suffixes for the protocol structure elements, if you
|
||||
* need them. Note that bitfields are not guarranteed to be signed
|
||||
* (or even unsigned) according to ANSI C.
|
||||
*/
|
||||
#ifdef WORD64
|
||||
typedef long INT64;
|
||||
typedef unsigned long CARD64;
|
||||
#define B32 :32
|
||||
#define B16 :16
|
||||
#ifdef UNSIGNEDBITFIELDS
|
||||
typedef unsigned int INT32;
|
||||
typedef unsigned int INT16;
|
||||
#else
|
||||
#ifdef __STDC__
|
||||
typedef signed int INT32;
|
||||
typedef signed int INT16;
|
||||
#else
|
||||
typedef int INT32;
|
||||
typedef int INT16;
|
||||
#endif
|
||||
#endif
|
||||
#else
|
||||
#define B32
|
||||
#define B16
|
||||
#ifdef LONG64
|
||||
typedef long INT64;
|
||||
typedef int INT32;
|
||||
#else
|
||||
typedef long INT32;
|
||||
#endif
|
||||
typedef short INT16;
|
||||
#endif
|
||||
|
||||
#if defined(__STDC__) || defined(sgi) || defined(AIXV3)
|
||||
typedef signed char INT8;
|
||||
#else
|
||||
typedef char INT8;
|
||||
#endif
|
||||
|
||||
#ifdef LONG64
|
||||
typedef unsigned long CARD64;
|
||||
typedef unsigned int CARD32;
|
||||
#else
|
||||
typedef unsigned long CARD32;
|
||||
#endif
|
||||
typedef unsigned short CARD16;
|
||||
typedef unsigned char CARD8;
|
||||
|
||||
typedef CARD32 BITS32;
|
||||
typedef CARD16 BITS16;
|
||||
|
||||
#ifndef __EMX__
|
||||
typedef CARD8 BYTE;
|
||||
typedef CARD8 BOOL;
|
||||
#else
|
||||
/*
|
||||
* This is bad style, but the central include file <os2.h> declares them
|
||||
* as well
|
||||
*/
|
||||
#define BYTE CARD8
|
||||
#define BOOL CARD8
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* definitions for sign-extending bitfields on 64-bit architectures
|
||||
*/
|
||||
#if defined(WORD64) && defined(UNSIGNEDBITFIELDS)
|
||||
#define cvtINT8toInt(val) (((val) & 0x00000080) ? ((val) | 0xffffffffffffff00) : (val))
|
||||
#define cvtINT16toInt(val) (((val) & 0x00008000) ? ((val) | 0xffffffffffff0000) : (val))
|
||||
#define cvtINT32toInt(val) (((val) & 0x80000000) ? ((val) | 0xffffffff00000000) : (val))
|
||||
#define cvtINT8toShort(val) cvtINT8toInt(val)
|
||||
#define cvtINT16toShort(val) cvtINT16toInt(val)
|
||||
#define cvtINT32toShort(val) cvtINT32toInt(val)
|
||||
#define cvtINT8toLong(val) cvtINT8toInt(val)
|
||||
#define cvtINT16toLong(val) cvtINT16toInt(val)
|
||||
#define cvtINT32toLong(val) cvtINT32toInt(val)
|
||||
#else
|
||||
#define cvtINT8toInt(val) (val)
|
||||
#define cvtINT16toInt(val) (val)
|
||||
#define cvtINT32toInt(val) (val)
|
||||
#define cvtINT8toShort(val) (val)
|
||||
#define cvtINT16toShort(val) (val)
|
||||
#define cvtINT32toShort(val) (val)
|
||||
#define cvtINT8toLong(val) (val)
|
||||
#define cvtINT16toLong(val) (val)
|
||||
#define cvtINT32toLong(val) (val)
|
||||
#endif /* WORD64 and UNSIGNEDBITFIELDS */
|
||||
|
||||
|
||||
|
||||
#ifdef MUSTCOPY
|
||||
/*
|
||||
* This macro must not cast or else pointers will get aligned and be wrong
|
||||
*/
|
||||
#define NEXTPTR(p,t) (((char *) p) + SIZEOF(t))
|
||||
#else /* else not MUSTCOPY, this is used for 32-bit machines */
|
||||
/*
|
||||
* this version should leave result of type (t *), but that should only be
|
||||
* used when not in MUSTCOPY
|
||||
*/
|
||||
#define NEXTPTR(p,t) (((t *)(p)) + 1)
|
||||
#endif /* MUSTCOPY - used machines whose C structs don't line up with proto */
|
||||
|
||||
#endif /* XMD_H */
|
@ -1,317 +0,0 @@
|
||||
/*
|
||||
* $XConsortium: Xos.h /main/70 1996/11/15 16:00:41 kaleb $
|
||||
* $XFree86: xc/include/Xos.h,v 3.21.2.1 1998/01/23 12:35:11 dawes Exp $
|
||||
*
|
||||
*
|
||||
Copyright (c) 1987 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
*
|
||||
* The X Window System is a Trademark of X Consortium.
|
||||
*
|
||||
*/
|
||||
|
||||
/* This is a collection of things to try and minimize system dependencies
|
||||
* in a "signficant" number of source files.
|
||||
*/
|
||||
|
||||
#ifndef _XOS_H_
|
||||
#define _XOS_H_
|
||||
|
||||
#include <X11/Xosdefs.h>
|
||||
|
||||
/*
|
||||
* Get major data types (esp. caddr_t)
|
||||
*/
|
||||
|
||||
#ifdef USG
|
||||
#ifndef __TYPES__
|
||||
#ifdef CRAY
|
||||
#define word word_t
|
||||
#endif /* CRAY */
|
||||
#include <sys/types.h> /* forgot to protect it... */
|
||||
#define __TYPES__
|
||||
#endif /* __TYPES__ */
|
||||
#else /* USG */
|
||||
#if defined(_POSIX_SOURCE) && (defined(MOTOROLA) || defined(AMOEBA))
|
||||
#undef _POSIX_SOURCE
|
||||
#include <sys/types.h>
|
||||
#define _POSIX_SOURCE
|
||||
#else
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
#endif /* USG */
|
||||
|
||||
|
||||
/*
|
||||
* Just about everyone needs the strings routines. We provide both forms here,
|
||||
* index/rindex and strchr/strrchr, so any systems that don't provide them all
|
||||
* need to have #defines here.
|
||||
*
|
||||
* NOTE: The following ISN'T true for this XFree86 version of this file.
|
||||
*
|
||||
* These macros are defined this way, rather than, e.g.:
|
||||
* #defined index(s,c) strchr(s,c)
|
||||
* because someone might be using them as function pointers, and such
|
||||
* a change would break compatibility for anyone who's relying on them
|
||||
* being the way they currently are. So we're stuck with them this way,
|
||||
* which can be really inconvenient. :-(
|
||||
*/
|
||||
|
||||
#ifndef X_NOT_STDC_ENV
|
||||
|
||||
#include <string.h>
|
||||
#ifdef __STDC__
|
||||
#ifndef index
|
||||
#define index(s,c) (strchr((s),(c)))
|
||||
#endif
|
||||
#ifndef rindex
|
||||
#define rindex(s,c) (strrchr((s),(c)))
|
||||
#endif
|
||||
#else
|
||||
#ifndef index
|
||||
#define index strchr
|
||||
#endif
|
||||
#ifndef rindex
|
||||
#define rindex strrchr
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
#ifdef SYSV
|
||||
#if defined(clipper) || defined(__clipper__)
|
||||
#include <malloc.h>
|
||||
#endif
|
||||
#include <string.h>
|
||||
#define index strchr
|
||||
#define rindex strrchr
|
||||
#else
|
||||
#include <strings.h>
|
||||
#define strchr index
|
||||
#define strrchr rindex
|
||||
#endif
|
||||
|
||||
#endif /* X_NOT_STDC_ENV */
|
||||
|
||||
/*
|
||||
* strerror()
|
||||
*/
|
||||
#if (defined(X_NOT_STDC_ENV) || (defined(sun) && !defined(SVR4)) || defined(macII)) && !defined(__GLIBC__)
|
||||
#ifndef strerror
|
||||
extern char *sys_errlist[];
|
||||
extern int sys_nerr;
|
||||
#define strerror(n) \
|
||||
(((n) >= 0 && (n) < sys_nerr) ? sys_errlist[n] : "unknown error")
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Get open(2) constants
|
||||
*/
|
||||
#ifdef X_NOT_POSIX
|
||||
#include <fcntl.h>
|
||||
#if defined(USL) || defined(CRAY) || defined(MOTOROLA) || (defined(i386) && (defined(SYSV) || defined(SVR4))) || defined(__sxg__)
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#ifdef WIN32
|
||||
#include <X11/Xw32defs.h>
|
||||
#else
|
||||
#include <sys/file.h>
|
||||
#endif
|
||||
#else /* X_NOT_POSIX */
|
||||
#if !defined(_POSIX_SOURCE) && defined(macII)
|
||||
#define _POSIX_SOURCE
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
#undef _POSIX_SOURCE
|
||||
#else
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#endif /* X_NOT_POSIX else */
|
||||
|
||||
#ifdef CSRG_BASED
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#endif /* CSRG_BASED */
|
||||
|
||||
/*
|
||||
* Get struct timeval
|
||||
*/
|
||||
|
||||
#ifdef SYSV
|
||||
|
||||
#ifndef USL
|
||||
#include <sys/time.h>
|
||||
#endif
|
||||
#include <time.h>
|
||||
#ifdef CRAY
|
||||
#undef word
|
||||
#endif /* CRAY */
|
||||
#if defined(USG) && !defined(CRAY) && !defined(MOTOROLA) && !defined(uniosu) && !defined(__sxg__) && !defined(clipper) && !defined(__clipper__)
|
||||
struct timeval {
|
||||
long tv_sec;
|
||||
long tv_usec;
|
||||
};
|
||||
#ifndef USL_SHARELIB
|
||||
struct timezone {
|
||||
int tz_minuteswest;
|
||||
int tz_dsttime;
|
||||
};
|
||||
#endif /* USL_SHARELIB */
|
||||
#endif /* USG */
|
||||
|
||||
#ifdef _SEQUENT_
|
||||
struct timezone {
|
||||
int tz_minuteswest;
|
||||
int tz_dsttime;
|
||||
};
|
||||
#endif /* _SEQUENT_ */
|
||||
|
||||
#else /* not SYSV */
|
||||
|
||||
#if defined(_ANSI_SOURCE) && defined(__bsdi__)
|
||||
#undef _ANSI_SOURCE
|
||||
#include <sys/time.h>
|
||||
#define _ANSI_SOURCE
|
||||
#endif
|
||||
|
||||
#if defined(_POSIX_SOURCE) && defined(SVR4)
|
||||
/* need to omit _POSIX_SOURCE in order to get what we want in SVR4 */
|
||||
#undef _POSIX_SOURCE
|
||||
#include <sys/time.h>
|
||||
#define _POSIX_SOURCE
|
||||
#else /* defined(_POSIX_SOURCE) && defined(SVR4) */
|
||||
#ifdef WIN32
|
||||
#include <time.h>
|
||||
#if !defined(_WINSOCKAPI_) && !defined(_WILLWINSOCK_)
|
||||
struct timeval {
|
||||
long tv_sec; /* seconds */
|
||||
long tv_usec; /* and microseconds */
|
||||
};
|
||||
#endif
|
||||
#include <sys/timeb.h>
|
||||
#define gettimeofday(t) \
|
||||
{ \
|
||||
struct _timeb _gtodtmp; \
|
||||
_ftime (&_gtodtmp); \
|
||||
(t)->tv_sec = _gtodtmp.time; \
|
||||
(t)->tv_usec = _gtodtmp.millitm * 1000; \
|
||||
}
|
||||
#else /* WIN32 */
|
||||
#ifdef _SEQUENT_
|
||||
#include <time.h>
|
||||
#else /* _SEQUENT_ */
|
||||
#ifdef AMOEBA
|
||||
#include <time.h>
|
||||
#include <sys/time.h>
|
||||
#else /* AMOEBA */
|
||||
#ifdef MINIX
|
||||
#include <time.h>
|
||||
#else /* !MINIX */
|
||||
#ifndef Lynx
|
||||
#include <sys/time.h>
|
||||
#else
|
||||
#include <time.h>
|
||||
#endif /* Lynx */
|
||||
#endif /* MINIX */
|
||||
#endif /* AMOEBA */
|
||||
#endif /* _SEQUENT_ */
|
||||
#endif /* WIN32 else */
|
||||
#endif /* defined(_POSIX_SOURCE) && defined(SVR4) */
|
||||
|
||||
#endif /* SYSV */
|
||||
|
||||
/* define X_GETTIMEOFDAY macro, a portable gettimeofday() */
|
||||
#if defined(_XOPEN_XPG4) || defined(_XOPEN_UNIX) /* _XOPEN_UNIX is XPG4.2 */
|
||||
#define X_GETTIMEOFDAY(t) gettimeofday(t, (struct timezone*)0)
|
||||
#else
|
||||
#if defined(SVR4) || defined(VMS) || defined(WIN32)
|
||||
#define X_GETTIMEOFDAY(t) gettimeofday(t)
|
||||
#else
|
||||
#define X_GETTIMEOFDAY(t) gettimeofday(t, (struct timezone*)0)
|
||||
#endif
|
||||
#endif /* XPG4 else */
|
||||
|
||||
#ifdef MINIX
|
||||
#include <errno.h>
|
||||
#include <net/gen/in.h>
|
||||
#include <net/gen/socket.h>
|
||||
#include <net/gen/udp.h>
|
||||
#include <net/gen/udp_hdr.h>
|
||||
|
||||
struct sockaddr
|
||||
{
|
||||
u16_t sa_family;
|
||||
char sa_data[14];
|
||||
};
|
||||
|
||||
struct sockaddr_in
|
||||
{
|
||||
u16_t sin_family;
|
||||
u16_t sin_port;
|
||||
struct
|
||||
{
|
||||
ipaddr_t s_addr;
|
||||
} sin_addr;
|
||||
char sin_zero[8];
|
||||
};
|
||||
|
||||
struct in_addr
|
||||
{
|
||||
ipaddr_t s_addr;
|
||||
};
|
||||
|
||||
typedef char *caddr_t;
|
||||
typedef unsigned char u_char;
|
||||
#endif /* MINIX */
|
||||
|
||||
#ifdef __EMX__
|
||||
typedef unsigned long fd_mask;
|
||||
#endif
|
||||
|
||||
/* use POSIX name for signal */
|
||||
#if defined(X_NOT_POSIX) && defined(SYSV) && !defined(SIGCHLD) && !defined(ISC)
|
||||
#define SIGCHLD SIGCLD
|
||||
#endif
|
||||
|
||||
#ifdef ISC
|
||||
#include <sys/bsdtypes.h>
|
||||
#include <sys/limits.h>
|
||||
#define NGROUPS 16
|
||||
#endif
|
||||
|
||||
#if defined(ISC) || defined(__EMX__)
|
||||
/*
|
||||
* Some OS's may not have this
|
||||
*/
|
||||
|
||||
#define X_NO_SYS_UN 1
|
||||
|
||||
struct sockaddr_un {
|
||||
short sun_family;
|
||||
char sun_path[108];
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif /* _XOS_H_ */
|
@ -1,128 +0,0 @@
|
||||
/*
|
||||
* O/S-dependent (mis)feature macro definitions
|
||||
*
|
||||
* $XConsortium: Xosdefs.h /main/16 1996/09/28 16:17:29 rws $
|
||||
* $XFree86: xc/include/Xosdefs.h,v 3.11 1996/12/23 05:58:09 dawes Exp $
|
||||
*
|
||||
Copyright (c) 1991 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
*/
|
||||
|
||||
#ifndef _XOSDEFS_H_
|
||||
#define _XOSDEFS_H_
|
||||
|
||||
/*
|
||||
* X_NOT_STDC_ENV means does not have ANSI C header files. Lack of this
|
||||
* symbol does NOT mean that the system has stdarg.h.
|
||||
*
|
||||
* X_NOT_POSIX means does not have POSIX header files. Lack of this
|
||||
* symbol does NOT mean that the POSIX environment is the default.
|
||||
* You may still have to define _POSIX_SOURCE to get it.
|
||||
*/
|
||||
|
||||
#ifdef NOSTDHDRS
|
||||
#define X_NOT_POSIX
|
||||
#define X_NOT_STDC_ENV
|
||||
#endif
|
||||
|
||||
#ifdef sony
|
||||
#if !defined(SYSTYPE_SYSV) && !defined(_SYSTYPE_SYSV)
|
||||
#define X_NOT_POSIX
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef UTEK
|
||||
#define X_NOT_POSIX
|
||||
#define X_NOT_STDC_ENV
|
||||
#endif
|
||||
|
||||
#ifdef vax
|
||||
#ifndef ultrix /* assume vanilla BSD */
|
||||
#define X_NOT_POSIX
|
||||
#define X_NOT_STDC_ENV
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef luna
|
||||
#define X_NOT_POSIX
|
||||
#define X_NOT_STDC_ENV
|
||||
#endif
|
||||
|
||||
#ifdef Mips
|
||||
#define X_NOT_POSIX
|
||||
#define X_NOT_STDC_ENV
|
||||
#endif
|
||||
|
||||
#ifdef USL
|
||||
#ifdef SYSV /* (release 3.2) */
|
||||
#define X_NOT_POSIX
|
||||
#define X_NOT_STDC_ENV
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef i386
|
||||
#ifdef SYSV
|
||||
#if !(defined(ISC) && defined(_POSIX_SOURCE))
|
||||
#ifndef SCO
|
||||
#ifndef _SCO_DS /* SCO 5.0 has SVR4 header files */
|
||||
#define X_NOT_POSIX
|
||||
#endif
|
||||
#define X_NOT_STDC_ENV
|
||||
#endif
|
||||
#endif /* !(defined(ISC) && defined(_POSIX_SOURCE)) */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef MOTOROLA
|
||||
#ifdef SYSV
|
||||
#define X_NOT_STDC_ENV
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef sun
|
||||
#ifdef SVR4
|
||||
/* define this to whatever it needs to be */
|
||||
#define X_POSIX_C_SOURCE 199300L
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef WIN32
|
||||
#ifndef _POSIX_
|
||||
#define X_NOT_POSIX
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(nec_ews_svr2) || defined(SX) || defined(PC_UX)
|
||||
#define X_NOT_POSIX
|
||||
#define X_NOT_STDC_ENV
|
||||
#endif
|
||||
|
||||
#ifdef __EMX__
|
||||
#define USGISH
|
||||
/* EMX claims to be ANSI, so X_NOT_STDC_ENV does not hold */
|
||||
/* could have been provided as std flags as well */
|
||||
#define X_WCHAR
|
||||
#define X_LOCALE
|
||||
#endif
|
||||
|
||||
#endif /* _XOSDEFS_H_ */
|
File diff suppressed because it is too large
Load Diff
@ -1,79 +0,0 @@
|
||||
/* $XConsortium: Xprotostr.h,v 1.5 94/04/17 20:10:53 rws Exp $ */
|
||||
#ifndef XPROTOSTRUCTS_H
|
||||
#define XPROTOSTRUCTS_H
|
||||
|
||||
/***********************************************************
|
||||
|
||||
Copyright (c) 1987 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
|
||||
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
provided that the above copyright notice appear in all copies and that
|
||||
both that copyright notice and this permission notice appear in
|
||||
supporting documentation, and that the name of Digital not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
SOFTWARE.
|
||||
|
||||
******************************************************************/
|
||||
#include <X11/Xmd.h>
|
||||
|
||||
/* Used by PolySegment */
|
||||
|
||||
typedef struct _xSegment {
|
||||
INT16 x1 B16, y1 B16, x2 B16, y2 B16;
|
||||
} xSegment;
|
||||
|
||||
/* POINT */
|
||||
|
||||
typedef struct _xPoint {
|
||||
INT16 x B16, y B16;
|
||||
} xPoint;
|
||||
|
||||
typedef struct _xRectangle {
|
||||
INT16 x B16, y B16;
|
||||
CARD16 width B16, height B16;
|
||||
} xRectangle;
|
||||
|
||||
/* ARC */
|
||||
|
||||
typedef struct _xArc {
|
||||
INT16 x B16, y B16;
|
||||
CARD16 width B16, height B16;
|
||||
INT16 angle1 B16, angle2 B16;
|
||||
} xArc;
|
||||
|
||||
#endif /* XPROTOSTRUCTS_H */
|
@ -1,60 +0,0 @@
|
||||
/* $XConsortium: keysym.h,v 1.15 94/04/17 20:10:55 rws Exp $ */
|
||||
|
||||
/***********************************************************
|
||||
|
||||
Copyright (c) 1987 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
|
||||
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
provided that the above copyright notice appear in all copies and that
|
||||
both that copyright notice and this permission notice appear in
|
||||
supporting documentation, and that the name of Digital not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
SOFTWARE.
|
||||
|
||||
******************************************************************/
|
||||
|
||||
/* default keysyms */
|
||||
#define XK_MISCELLANY
|
||||
#define XK_XKB_KEYS
|
||||
#define XK_LATIN1
|
||||
#define XK_LATIN2
|
||||
#define XK_LATIN3
|
||||
#define XK_LATIN4
|
||||
#define XK_GREEK
|
||||
|
||||
#include <X11/keysymdef.h>
|
File diff suppressed because it is too large
Load Diff
@ -1,239 +0,0 @@
|
||||
/*
|
||||
|
||||
Copyright (c) 1987 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
|
||||
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
provided that the above copyright notice appear in all copies and that
|
||||
both that copyright notice and this permission notice appear in
|
||||
supporting documentation, and that the name of Digital not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
SOFTWARE.
|
||||
|
||||
*/
|
||||
/* $XConsortium: colormap.h,v 1.28 94/04/17 20:25:32 dpw Exp $ */
|
||||
|
||||
|
||||
|
||||
|
||||
/* $XFree86: xc/programs/Xserver/include/colormap.h,v 1.2 1997/01/14 22:22:38 dawes Exp $ */
|
||||
#ifndef CMAP_H
|
||||
#define CMAP_H 1
|
||||
|
||||
#include "X11/Xproto.h"
|
||||
#include "screenint.h"
|
||||
#include "window.h"
|
||||
|
||||
/* these follow X.h's AllocNone and AllocAll */
|
||||
#define CM_PSCREEN 2
|
||||
#define CM_PWIN 3
|
||||
/* Passed internally in colormap.c */
|
||||
#define REDMAP 0
|
||||
#define GREENMAP 1
|
||||
#define BLUEMAP 2
|
||||
#define PSEUDOMAP 3
|
||||
#define AllocPrivate (-1)
|
||||
#define AllocTemporary (-2)
|
||||
#define DynamicClass 1
|
||||
|
||||
/* Values for the flags field of a colormap. These should have 1 bit set
|
||||
* and not overlap */
|
||||
#define IsDefault 1
|
||||
#define AllAllocated 2
|
||||
#define BeingCreated 4
|
||||
|
||||
|
||||
typedef CARD32 Pixel;
|
||||
typedef struct _CMEntry *EntryPtr;
|
||||
/* moved to screenint.h: typedef struct _ColormapRec *ColormapPtr */
|
||||
typedef struct _colorResource *colorResourcePtr;
|
||||
|
||||
extern int CreateColormap(
|
||||
#if NeedFunctionPrototypes
|
||||
Colormap /*mid*/,
|
||||
ScreenPtr /*pScreen*/,
|
||||
VisualPtr /*pVisual*/,
|
||||
ColormapPtr* /*ppcmap*/,
|
||||
int /*alloc*/,
|
||||
int /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int FreeColormap(
|
||||
#if NeedFunctionPrototypes
|
||||
pointer /*pmap*/,
|
||||
XID /*mid*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int TellLostMap(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pwin*/,
|
||||
pointer /* Colormap *pmid */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int TellGainedMap(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pwin*/,
|
||||
pointer /* Colormap *pmid */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int CopyColormapAndFree(
|
||||
#if NeedFunctionPrototypes
|
||||
Colormap /*mid*/,
|
||||
ColormapPtr /*pSrc*/,
|
||||
int /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int AllocColor(
|
||||
#if NeedFunctionPrototypes
|
||||
ColormapPtr /*pmap*/,
|
||||
unsigned short* /*pred*/,
|
||||
unsigned short* /*pgreen*/,
|
||||
unsigned short* /*pblue*/,
|
||||
Pixel* /*pPix*/,
|
||||
int /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void FakeAllocColor(
|
||||
#if NeedFunctionPrototypes
|
||||
ColormapPtr /*pmap*/,
|
||||
xColorItem * /*item*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void FakeFreeColor(
|
||||
#if NeedFunctionPrototypes
|
||||
ColormapPtr /*pmap*/,
|
||||
Pixel /*pixel*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef int (*ColorCompareProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
EntryPtr /*pent*/,
|
||||
xrgb * /*prgb*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int FindColor(
|
||||
#if NeedFunctionPrototypes
|
||||
ColormapPtr /*pmap*/,
|
||||
EntryPtr /*pentFirst*/,
|
||||
int /*size*/,
|
||||
xrgb* /*prgb*/,
|
||||
Pixel* /*pPixel*/,
|
||||
int /*channel*/,
|
||||
int /*client*/,
|
||||
ColorCompareProcPtr /*comp*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int QueryColors(
|
||||
#if NeedFunctionPrototypes
|
||||
ColormapPtr /*pmap*/,
|
||||
int /*count*/,
|
||||
Pixel* /*ppixIn*/,
|
||||
xrgb* /*prgbList*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int FreeClientPixels(
|
||||
#if NeedFunctionPrototypes
|
||||
pointer /*pcr*/,
|
||||
XID /*fakeid*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int AllocColorCells(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*client*/,
|
||||
ColormapPtr /*pmap*/,
|
||||
int /*colors*/,
|
||||
int /*planes*/,
|
||||
Bool /*contig*/,
|
||||
Pixel* /*ppix*/,
|
||||
Pixel* /*masks*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int AllocColorPlanes(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*client*/,
|
||||
ColormapPtr /*pmap*/,
|
||||
int /*colors*/,
|
||||
int /*r*/,
|
||||
int /*g*/,
|
||||
int /*b*/,
|
||||
Bool /*contig*/,
|
||||
Pixel* /*pixels*/,
|
||||
Pixel* /*prmask*/,
|
||||
Pixel* /*pgmask*/,
|
||||
Pixel* /*pbmask*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int FreeColors(
|
||||
#if NeedFunctionPrototypes
|
||||
ColormapPtr /*pmap*/,
|
||||
int /*client*/,
|
||||
int /*count*/,
|
||||
Pixel* /*pixels*/,
|
||||
Pixel /*mask*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int StoreColors(
|
||||
#if NeedFunctionPrototypes
|
||||
ColormapPtr /*pmap*/,
|
||||
int /*count*/,
|
||||
xColorItem* /*defs*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int IsMapInstalled(
|
||||
#if NeedFunctionPrototypes
|
||||
Colormap /*map*/,
|
||||
X11WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#endif /* CMAP_H */
|
@ -1,152 +0,0 @@
|
||||
/***********************************************************
|
||||
|
||||
Copyright (c) 1987 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
|
||||
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
provided that the above copyright notice appear in all copies and that
|
||||
both that copyright notice and this permission notice appear in
|
||||
supporting documentation, and that the name of Digital not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
SOFTWARE.
|
||||
|
||||
******************************************************************/
|
||||
/* $XConsortium: cursor.h,v 1.22 94/04/17 20:25:34 dpw Exp $ */
|
||||
#ifndef CURSOR_H
|
||||
#define CURSOR_H
|
||||
|
||||
#include "misc.h"
|
||||
#include "screenint.h"
|
||||
#include "window.h"
|
||||
|
||||
#define NullCursor ((CursorPtr)NULL)
|
||||
|
||||
typedef struct _Cursor *CursorPtr;
|
||||
typedef struct _CursorMetric *CursorMetricPtr;
|
||||
|
||||
extern CursorPtr rootCursor;
|
||||
|
||||
extern int FreeCursor(
|
||||
#if NeedFunctionPrototypes
|
||||
pointer /*pCurs*/,
|
||||
XID /*cid*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern CursorPtr X11AllocCursor(
|
||||
#if NeedFunctionPrototypes
|
||||
unsigned char* /*psrcbits*/,
|
||||
unsigned char* /*pmaskbits*/,
|
||||
CursorMetricPtr /*cm*/,
|
||||
unsigned /*foreRed*/,
|
||||
unsigned /*foreGreen*/,
|
||||
unsigned /*foreBlue*/,
|
||||
unsigned /*backRed*/,
|
||||
unsigned /*backGreen*/,
|
||||
unsigned /*backBlue*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int AllocGlyphCursor(
|
||||
#if NeedFunctionPrototypes
|
||||
Font /*source*/,
|
||||
unsigned int /*sourceChar*/,
|
||||
Font /*mask*/,
|
||||
unsigned int /*maskChar*/,
|
||||
unsigned /*foreRed*/,
|
||||
unsigned /*foreGreen*/,
|
||||
unsigned /*foreBlue*/,
|
||||
unsigned /*backRed*/,
|
||||
unsigned /*backGreen*/,
|
||||
unsigned /*backBlue*/,
|
||||
CursorPtr* /*ppCurs*/,
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern CursorPtr CreateRootCursor(
|
||||
#if NeedFunctionPrototypes
|
||||
char* /*pfilename*/,
|
||||
unsigned int /*glyph*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int ServerBitsFromGlyph(
|
||||
#if NeedFunctionPrototypes
|
||||
FontPtr /*pfont*/,
|
||||
unsigned int /*ch*/,
|
||||
register CursorMetricPtr /*cm*/,
|
||||
unsigned char ** /*ppbits*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool CursorMetricsFromGlyph(
|
||||
#if NeedFunctionPrototypes
|
||||
FontPtr /*pfont*/,
|
||||
unsigned /*ch*/,
|
||||
CursorMetricPtr /*cm*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void CheckCursorConfinement(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void NewCurrentScreen(
|
||||
#if NeedFunctionPrototypes
|
||||
ScreenPtr /*newScreen*/,
|
||||
int /*x*/,
|
||||
int /*y*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool PointerConfinedToScreen(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void GetSpritePosition(
|
||||
#if NeedFunctionPrototypes
|
||||
int * /*px*/,
|
||||
int * /*py*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#endif /* CURSOR_H */
|
File diff suppressed because it is too large
Load Diff
@ -1,232 +0,0 @@
|
||||
/***********************************************************
|
||||
|
||||
Copyright (c) 1987 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
|
||||
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
provided that the above copyright notice appear in all copies and that
|
||||
both that copyright notice and this permission notice appear in
|
||||
supporting documentation, and that the name of Digital not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
SOFTWARE.
|
||||
|
||||
******************************************************************/
|
||||
/* $XConsortium: gc.h /main/16 1996/08/01 19:18:17 dpw $ */
|
||||
|
||||
#ifndef GC_H
|
||||
#define GC_H
|
||||
|
||||
#include "misc.h" /* for Bool */
|
||||
#include "X11/X.h" /* for GContext, Mask */
|
||||
#include "X11/Xproto.h"
|
||||
#include "screenint.h" /* for ScreenPtr */
|
||||
#include "pixmap.h" /* for DrawablePtr */
|
||||
|
||||
/* clientClipType field in GC */
|
||||
#define CT_NONE 0
|
||||
#define CT_PIXMAP 1
|
||||
#define CT_REGION 2
|
||||
#define CT_UNSORTED 6
|
||||
#define CT_YSORTED 10
|
||||
#define CT_YXSORTED 14
|
||||
#define CT_YXBANDED 18
|
||||
|
||||
#define GCQREASON_VALIDATE 1
|
||||
#define GCQREASON_CHANGE 2
|
||||
#define GCQREASON_COPY_SRC 3
|
||||
#define GCQREASON_COPY_DST 4
|
||||
#define GCQREASON_DESTROY 5
|
||||
|
||||
#define GC_CHANGE_SERIAL_BIT (((unsigned long)1)<<31)
|
||||
#define GC_CALL_VALIDATE_BIT (1L<<30)
|
||||
#define GCExtensionInterest (1L<<29)
|
||||
|
||||
#define DRAWABLE_SERIAL_BITS (~(GC_CHANGE_SERIAL_BIT))
|
||||
|
||||
#define MAX_SERIAL_NUM (1L<<28)
|
||||
|
||||
#define NEXT_SERIAL_NUMBER ((++globalSerialNumber) > MAX_SERIAL_NUM ? \
|
||||
(globalSerialNumber = 1): globalSerialNumber)
|
||||
|
||||
typedef struct _GCInterest *GCInterestPtr;
|
||||
typedef struct _GC *GCPtr;
|
||||
typedef struct _GCOps *GCOpsPtr;
|
||||
|
||||
extern void ValidateGC(
|
||||
#if NeedFunctionPrototypes
|
||||
DrawablePtr /*pDraw*/,
|
||||
GCPtr /*pGC*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int ChangeGC(
|
||||
#if NeedFunctionPrototypes
|
||||
GCPtr/*pGC*/,
|
||||
BITS32 /*mask*/,
|
||||
XID* /*pval*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int DoChangeGC(
|
||||
#if NeedFunctionPrototypes
|
||||
GCPtr/*pGC*/,
|
||||
BITS32 /*mask*/,
|
||||
XID* /*pval*/,
|
||||
int /*fPointer*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef union {
|
||||
CARD32 val;
|
||||
pointer ptr;
|
||||
} ChangeGCVal, *ChangeGCValPtr;
|
||||
|
||||
extern int dixChangeGC(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/,
|
||||
GCPtr /*pGC*/,
|
||||
BITS32 /*mask*/,
|
||||
CARD32 * /*pval*/,
|
||||
ChangeGCValPtr /*pCGCV*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern GCPtr CreateGC(
|
||||
#if NeedFunctionPrototypes
|
||||
DrawablePtr /*pDrawable*/,
|
||||
BITS32 /*mask*/,
|
||||
XID* /*pval*/,
|
||||
int* /*pStatus*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int CopyGC(
|
||||
#if NeedFunctionPrototypes
|
||||
GCPtr/*pgcSrc*/,
|
||||
GCPtr/*pgcDst*/,
|
||||
BITS32 /*mask*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int FreeGC(
|
||||
#if NeedFunctionPrototypes
|
||||
pointer /*pGC*/,
|
||||
XID /*gid*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void SetGCMask(
|
||||
#if NeedFunctionPrototypes
|
||||
GCPtr /*pGC*/,
|
||||
Mask /*selectMask*/,
|
||||
Mask /*newDataMask*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern GCPtr CreateScratchGC(
|
||||
#if NeedFunctionPrototypes
|
||||
ScreenPtr /*pScreen*/,
|
||||
unsigned /*depth*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void FreeGCperDepth(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*screenNum*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool CreateGCperDepth(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*screenNum*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool CreateDefaultStipple(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*screenNum*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void FreeDefaultStipple(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*screenNum*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int SetDashes(
|
||||
#if NeedFunctionPrototypes
|
||||
GCPtr /*pGC*/,
|
||||
unsigned /*offset*/,
|
||||
unsigned /*ndash*/,
|
||||
unsigned char* /*pdash*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int VerifyRectOrder(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*nrects*/,
|
||||
xRectangle* /*prects*/,
|
||||
int /*ordering*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int SetClipRects(
|
||||
#if NeedFunctionPrototypes
|
||||
GCPtr /*pGC*/,
|
||||
int /*xOrigin*/,
|
||||
int /*yOrigin*/,
|
||||
int /*nrects*/,
|
||||
xRectangle* /*prects*/,
|
||||
int /*ordering*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern GCPtr GetScratchGC(
|
||||
#if NeedFunctionPrototypes
|
||||
unsigned /*depth*/,
|
||||
ScreenPtr /*pScreen*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void FreeScratchGC(
|
||||
#if NeedFunctionPrototypes
|
||||
GCPtr /*pGC*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#endif /* GC_H */
|
@ -1,535 +0,0 @@
|
||||
/* $XConsortium: input.h /main/22 1996/09/25 00:50:39 dpw $ */
|
||||
/* $XFree86: xc/programs/Xserver/include/input.h,v 3.4 1996/12/23 07:09:28 dawes Exp $ */
|
||||
/************************************************************
|
||||
|
||||
Copyright (c) 1987 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
|
||||
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
provided that the above copyright notice appear in all copies and that
|
||||
both that copyright notice and this permission notice appear in
|
||||
supporting documentation, and that the name of Digital not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
SOFTWARE.
|
||||
|
||||
********************************************************/
|
||||
#ifndef INPUT_H
|
||||
#define INPUT_H
|
||||
|
||||
#include "misc.h"
|
||||
#include "screenint.h"
|
||||
#include "X11/Xmd.h"
|
||||
#include "X11/Xproto.h"
|
||||
#include "window.h" /* for WindowPtr */
|
||||
|
||||
#define DEVICE_INIT 0
|
||||
#define DEVICE_ON 1
|
||||
#define DEVICE_OFF 2
|
||||
#define DEVICE_CLOSE 3
|
||||
|
||||
#define MAP_LENGTH 256
|
||||
#define DOWN_LENGTH 32 /* 256/8 => number of bytes to hold 256 bits */
|
||||
#define NullGrab ((GrabPtr)NULL)
|
||||
#define PointerRootWin ((WindowPtr)PointerRoot)
|
||||
#define NoneWin ((WindowPtr)None)
|
||||
#define NullDevice ((DevicePtr)NULL)
|
||||
|
||||
#ifndef FollowKeyboard
|
||||
#define FollowKeyboard 3
|
||||
#endif
|
||||
#ifndef FollowKeyboardWin
|
||||
#define FollowKeyboardWin ((WindowPtr) FollowKeyboard)
|
||||
#endif
|
||||
#ifndef RevertToFollowKeyboard
|
||||
#define RevertToFollowKeyboard 3
|
||||
#endif
|
||||
|
||||
typedef unsigned long Leds;
|
||||
typedef struct _OtherClients *OtherClientsPtr;
|
||||
typedef struct _InputClients *InputClientsPtr;
|
||||
typedef struct _DeviceIntRec *DeviceIntPtr;
|
||||
|
||||
typedef int (*DeviceProc)(
|
||||
#if NeedNestedPrototypes
|
||||
DeviceIntPtr /*device*/,
|
||||
int /*what*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (*ProcessInputProc)(
|
||||
#if NeedNestedPrototypes
|
||||
xEventPtr /*events*/,
|
||||
DeviceIntPtr /*device*/,
|
||||
int /*count*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef struct _DeviceRec {
|
||||
pointer devicePrivate;
|
||||
ProcessInputProc processInputProc; /* current */
|
||||
ProcessInputProc realInputProc; /* deliver */
|
||||
ProcessInputProc enqueueInputProc; /* enqueue */
|
||||
Bool on; /* used by DDX to keep state */
|
||||
} DeviceRec, *DevicePtr;
|
||||
|
||||
typedef struct {
|
||||
int click, bell, bell_pitch, bell_duration;
|
||||
Bool autoRepeat;
|
||||
unsigned char autoRepeats[32];
|
||||
Leds leds;
|
||||
unsigned char id;
|
||||
} KeybdCtrl;
|
||||
|
||||
typedef struct {
|
||||
KeySym *map;
|
||||
KeyCode minKeyCode,
|
||||
maxKeyCode;
|
||||
int mapWidth;
|
||||
} KeySymsRec, *KeySymsPtr;
|
||||
|
||||
typedef struct {
|
||||
int num, den, threshold;
|
||||
unsigned char id;
|
||||
} PtrCtrl;
|
||||
|
||||
typedef struct {
|
||||
int resolution, min_value, max_value;
|
||||
int integer_displayed;
|
||||
unsigned char id;
|
||||
} IntegerCtrl;
|
||||
|
||||
typedef struct {
|
||||
int max_symbols, num_symbols_supported;
|
||||
int num_symbols_displayed;
|
||||
KeySym *symbols_supported;
|
||||
KeySym *symbols_displayed;
|
||||
unsigned char id;
|
||||
} StringCtrl;
|
||||
|
||||
typedef struct {
|
||||
int percent, pitch, duration;
|
||||
unsigned char id;
|
||||
} BellCtrl;
|
||||
|
||||
typedef struct {
|
||||
Leds led_values;
|
||||
Mask led_mask;
|
||||
unsigned char id;
|
||||
} LedCtrl;
|
||||
|
||||
extern KeybdCtrl defaultKeyboardControl;
|
||||
extern PtrCtrl defaultPointerControl;
|
||||
|
||||
#undef AddInputDevice
|
||||
extern DevicePtr AddInputDevice(
|
||||
#if NeedFunctionPrototypes
|
||||
DeviceProc /*deviceProc*/,
|
||||
Bool /*autoStart*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#define AddInputDevice(deviceProc, autoStart) \
|
||||
_AddInputDevice(deviceProc, autoStart)
|
||||
|
||||
extern DeviceIntPtr _AddInputDevice(
|
||||
#if NeedFunctionPrototypes
|
||||
DeviceProc /*deviceProc*/,
|
||||
Bool /*autoStart*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool EnableDevice(
|
||||
#if NeedFunctionPrototypes
|
||||
DeviceIntPtr /*device*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool DisableDevice(
|
||||
#if NeedFunctionPrototypes
|
||||
DeviceIntPtr /*device*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int InitAndStartDevices(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void CloseDownDevices(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void RemoveDevice(
|
||||
#if NeedFunctionPrototypes
|
||||
DeviceIntPtr /*dev*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int NumMotionEvents(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
#undef RegisterPointerDevice
|
||||
extern void RegisterPointerDevice(
|
||||
#if NeedFunctionPrototypes
|
||||
DevicePtr /*device*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#define RegisterPointerDevice(device) \
|
||||
_RegisterPointerDevice(device)
|
||||
|
||||
extern void _RegisterPointerDevice(
|
||||
#if NeedFunctionPrototypes
|
||||
DeviceIntPtr /*device*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#undef RegisterKeyboardDevice
|
||||
extern void RegisterKeyboardDevice(
|
||||
#if NeedFunctionPrototypes
|
||||
DevicePtr /*device*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#define RegisterKeyboardDevice(device) \
|
||||
_RegisterKeyboardDevice(device)
|
||||
|
||||
extern void _RegisterKeyboardDevice(
|
||||
#if NeedFunctionPrototypes
|
||||
DeviceIntPtr /*device*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern DevicePtr LookupKeyboardDevice(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern DevicePtr LookupPointerDevice(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern DevicePtr LookupDevice(
|
||||
#if NeedFunctionPrototypes
|
||||
int /* id */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void QueryMinMaxKeyCodes(
|
||||
#if NeedFunctionPrototypes
|
||||
KeyCode* /*minCode*/,
|
||||
KeyCode* /*maxCode*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool SetKeySymsMap(
|
||||
#if NeedFunctionPrototypes
|
||||
KeySymsPtr /*dst*/,
|
||||
KeySymsPtr /*src*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool InitKeyClassDeviceStruct(
|
||||
#if NeedFunctionPrototypes
|
||||
DeviceIntPtr /*device*/,
|
||||
KeySymsPtr /*pKeySyms*/,
|
||||
CARD8 /*pModifiers*/[]
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool InitButtonClassDeviceStruct(
|
||||
#if NeedFunctionPrototypes
|
||||
DeviceIntPtr /*device*/,
|
||||
int /*numButtons*/,
|
||||
CARD8* /*map*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef int (*ValuatorMotionProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
DeviceIntPtr /*pdevice*/,
|
||||
xTimecoord * /*coords*/,
|
||||
unsigned long /*start*/,
|
||||
unsigned long /*stop*/,
|
||||
ScreenPtr /*pScreen*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool InitValuatorClassDeviceStruct(
|
||||
#if NeedFunctionPrototypes
|
||||
DeviceIntPtr /*device*/,
|
||||
int /*numAxes*/,
|
||||
ValuatorMotionProcPtr /* motionProc */,
|
||||
int /*numMotionEvents*/,
|
||||
int /*mode*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool InitFocusClassDeviceStruct(
|
||||
#if NeedFunctionPrototypes
|
||||
DeviceIntPtr /*device*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (*BellProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
int /*percent*/,
|
||||
DeviceIntPtr /*device*/,
|
||||
pointer /*ctrl*/,
|
||||
int
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (*KbdCtrlProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
DeviceIntPtr /*device*/,
|
||||
KeybdCtrl * /*ctrl*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool InitKbdFeedbackClassDeviceStruct(
|
||||
#if NeedFunctionPrototypes
|
||||
DeviceIntPtr /*device*/,
|
||||
BellProcPtr /*bellProc*/,
|
||||
KbdCtrlProcPtr /*controlProc*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (*PtrCtrlProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
DeviceIntPtr /*device*/,
|
||||
PtrCtrl * /*ctrl*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool InitPtrFeedbackClassDeviceStruct(
|
||||
#if NeedFunctionPrototypes
|
||||
DeviceIntPtr /*device*/,
|
||||
PtrCtrlProcPtr /*controlProc*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (*StringCtrlProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
DeviceIntPtr /*device*/,
|
||||
StringCtrl * /*ctrl*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool InitStringFeedbackClassDeviceStruct(
|
||||
#if NeedFunctionPrototypes
|
||||
DeviceIntPtr /*device*/,
|
||||
StringCtrlProcPtr /*controlProc*/,
|
||||
int /*max_symbols*/,
|
||||
int /*num_symbols_supported*/,
|
||||
KeySym* /*symbols*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (*BellCtrlProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
DeviceIntPtr /*device*/,
|
||||
BellCtrl * /*ctrl*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool InitBellFeedbackClassDeviceStruct(
|
||||
#if NeedFunctionPrototypes
|
||||
DeviceIntPtr /*device*/,
|
||||
BellProcPtr /*bellProc*/,
|
||||
BellCtrlProcPtr /*controlProc*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (*LedCtrlProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
DeviceIntPtr /*device*/,
|
||||
LedCtrl * /*ctrl*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool InitLedFeedbackClassDeviceStruct(
|
||||
#if NeedFunctionPrototypes
|
||||
DeviceIntPtr /*device*/,
|
||||
LedCtrlProcPtr /*controlProc*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (*IntegerCtrlProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
DeviceIntPtr /*device*/,
|
||||
IntegerCtrl * /*ctrl*/
|
||||
#endif
|
||||
);
|
||||
|
||||
|
||||
extern Bool InitIntegerFeedbackClassDeviceStruct(
|
||||
#if NeedFunctionPrototypes
|
||||
DeviceIntPtr /*device*/,
|
||||
IntegerCtrlProcPtr /*controlProc*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool InitPointerDeviceStruct(
|
||||
#if NeedFunctionPrototypes
|
||||
DevicePtr /*device*/,
|
||||
CARD8* /*map*/,
|
||||
int /*numButtons*/,
|
||||
ValuatorMotionProcPtr /*motionProc*/,
|
||||
PtrCtrlProcPtr /*controlProc*/,
|
||||
int /*numMotionEvents*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool InitKeyboardDeviceStruct(
|
||||
#if NeedFunctionPrototypes
|
||||
DevicePtr /*device*/,
|
||||
KeySymsPtr /*pKeySyms*/,
|
||||
CARD8 /*pModifiers*/[],
|
||||
BellProcPtr /*bellProc*/,
|
||||
KbdCtrlProcPtr /*controlProc*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void SendMappingNotify(
|
||||
#if NeedFunctionPrototypes
|
||||
unsigned int /*request*/,
|
||||
unsigned int /*firstKeyCode*/,
|
||||
unsigned int /*count*/,
|
||||
ClientPtr /* client */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool BadDeviceMap(
|
||||
#if NeedFunctionPrototypes
|
||||
BYTE* /*buff*/,
|
||||
int /*length*/,
|
||||
unsigned /*low*/,
|
||||
unsigned /*high*/,
|
||||
XID* /*errval*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool AllModifierKeysAreUp(
|
||||
#if NeedFunctionPrototypes
|
||||
DeviceIntPtr /*device*/,
|
||||
CARD8* /*map1*/,
|
||||
int /*per1*/,
|
||||
CARD8* /*map2*/,
|
||||
int /*per2*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void NoteLedState(
|
||||
#if NeedFunctionPrototypes
|
||||
DeviceIntPtr /*keybd*/,
|
||||
int /*led*/,
|
||||
Bool /*on*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void MaybeStopHint(
|
||||
#if NeedFunctionPrototypes
|
||||
DeviceIntPtr /*device*/,
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void ProcessPointerEvent(
|
||||
#if NeedFunctionPrototypes
|
||||
xEventPtr /*xE*/,
|
||||
DeviceIntPtr /*mouse*/,
|
||||
int /*count*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void ProcessKeyboardEvent(
|
||||
#if NeedFunctionPrototypes
|
||||
xEventPtr /*xE*/,
|
||||
DeviceIntPtr /*keybd*/,
|
||||
int /*count*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#ifdef XKB
|
||||
extern void CoreProcessPointerEvent(
|
||||
#if NeedFunctionPrototypes
|
||||
xEventPtr /*xE*/,
|
||||
DeviceIntPtr /*mouse*/,
|
||||
int /*count*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void CoreProcessKeyboardEvent(
|
||||
#if NeedFunctionPrototypes
|
||||
xEventPtr /*xE*/,
|
||||
DeviceIntPtr /*keybd*/,
|
||||
int /*count*/
|
||||
#endif
|
||||
);
|
||||
#endif
|
||||
|
||||
extern Bool LegalModifier(
|
||||
#if NeedFunctionPrototypes
|
||||
unsigned int /*key*/,
|
||||
DevicePtr /*pDev*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void ProcessInputEvents(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void InitInput(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*argc*/,
|
||||
char ** /*argv*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#endif /* INPUT_H */
|
@ -1,280 +0,0 @@
|
||||
/***********************************************************
|
||||
|
||||
Copyright (c) 1987 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
|
||||
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
provided that the above copyright notice appear in all copies and that
|
||||
both that copyright notice and this permission notice appear in
|
||||
supporting documentation, and that the name of Digital not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
SOFTWARE.
|
||||
|
||||
Copyright 1992, 1993 Data General Corporation;
|
||||
Copyright 1992, 1993 OMRON Corporation
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this software and its
|
||||
documentation for any purpose is hereby granted without fee, provided that the
|
||||
above copyright notice appear in all copies and that both that copyright
|
||||
notice and this permission notice appear in supporting documentation, and that
|
||||
neither the name OMRON or DATA GENERAL be used in advertising or publicity
|
||||
pertaining to distribution of the software without specific, written prior
|
||||
permission of the party whose name is to be used. Neither OMRON or
|
||||
DATA GENERAL make any representation about the suitability of this software
|
||||
for any purpose. It is provided "as is" without express or implied warranty.
|
||||
|
||||
OMRON AND DATA GENERAL EACH DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
|
||||
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
|
||||
IN NO EVENT SHALL OMRON OR DATA GENERAL BE LIABLE FOR ANY SPECIAL, INDIRECT
|
||||
OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
OF THIS SOFTWARE.
|
||||
|
||||
******************************************************************/
|
||||
/* $XConsortium: misc.h /main/28 1996/12/02 10:22:01 lehors $ */
|
||||
/* $XFree86: xc/programs/Xserver/include/misc.h,v 3.5 1996/12/23 07:09:29 dawes Exp $ */
|
||||
#ifndef MISC_H
|
||||
#define MISC_H 1
|
||||
/*
|
||||
* X internal definitions
|
||||
*
|
||||
*/
|
||||
|
||||
extern unsigned long globalSerialNumber;
|
||||
extern unsigned long serverGeneration;
|
||||
|
||||
#include <X11/Xosdefs.h>
|
||||
#include <X11/Xfuncproto.h>
|
||||
#include <X11/Xmd.h>
|
||||
#include <X11/X.h>
|
||||
|
||||
#ifndef NULL
|
||||
#ifndef X_NOT_STDC_ENV
|
||||
#include <stddef.h>
|
||||
#else
|
||||
#define NULL 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef MAXSCREENS
|
||||
#define MAXSCREENS 3
|
||||
#endif
|
||||
#define MAXCLIENTS 128
|
||||
#define MAXDITS 1
|
||||
#define MAXEXTENSIONS 128
|
||||
#define MAXFORMATS 8
|
||||
#define MAXVISUALS_PER_SCREEN 50
|
||||
|
||||
#if NeedFunctionPrototypes
|
||||
typedef void *pointer;
|
||||
#else
|
||||
typedef unsigned char *pointer;
|
||||
#endif
|
||||
typedef int Bool;
|
||||
typedef unsigned long PIXEL;
|
||||
typedef unsigned long ATOM;
|
||||
|
||||
|
||||
#ifndef TRUE
|
||||
#define TRUE 1
|
||||
#define FALSE 0
|
||||
#endif
|
||||
|
||||
#ifndef _XTYPEDEF_FONTPTR
|
||||
typedef struct _Font *FontPtr; /* also in fonts/include/font.h */
|
||||
#define _XTYPEDEF_FONTPTR
|
||||
#endif
|
||||
|
||||
#ifndef _XTYPEDEF_CLIENTPTR
|
||||
typedef struct _Client *ClientPtr; /* also in dix.h */
|
||||
#define _XTYPEDEF_CLIENTPTR
|
||||
#endif
|
||||
|
||||
#ifndef _XTYPEDEF_CALLBACKLISTPTR
|
||||
typedef struct _CallbackList *CallbackListPtr; /* also in dix.h */
|
||||
#define _XTYPEDEF_CALLBACKLISTPTR
|
||||
#endif
|
||||
|
||||
typedef struct _xReq *xReqPtr;
|
||||
|
||||
#include "os.h" /* for ALLOCATE_LOCAL and DEALLOCATE_LOCAL */
|
||||
#include <X11/Xfuncs.h> /* for bcopy, bzero, and bcmp */
|
||||
|
||||
#define NullBox ((BoxPtr)0)
|
||||
#define MILLI_PER_MIN (1000 * 60)
|
||||
#define MILLI_PER_SECOND (1000)
|
||||
|
||||
/* this next is used with None and ParentRelative to tell
|
||||
PaintWin() what to use to paint the background. Also used
|
||||
in the macro IS_VALID_PIXMAP */
|
||||
|
||||
#define USE_BACKGROUND_PIXEL 3
|
||||
#define USE_BORDER_PIXEL 3
|
||||
|
||||
|
||||
/* byte swap a 32-bit literal */
|
||||
#define lswapl(x) ((((x) & 0xff) << 24) |\
|
||||
(((x) & 0xff00) << 8) |\
|
||||
(((x) & 0xff0000) >> 8) |\
|
||||
(((x) >> 24) & 0xff))
|
||||
|
||||
/* byte swap a short literal */
|
||||
#define lswaps(x) ((((x) & 0xff) << 8) | (((x) >> 8) & 0xff))
|
||||
|
||||
#define min(a, b) (((a) < (b)) ? (a) : (b))
|
||||
#define max(a, b) (((a) > (b)) ? (a) : (b))
|
||||
#if !defined(AMOEBA) && !defined(__EMX__)
|
||||
#ifndef abs
|
||||
#define abs(a) ((a) > 0 ? (a) : -(a))
|
||||
#endif
|
||||
#else /* AMOEBA || __EMX__ */
|
||||
/* abs() is a function, not a macro; include the file declaring
|
||||
* it in case we haven't done that yet.
|
||||
*/
|
||||
#include <stdlib.h>
|
||||
#endif /* AMOEBA */
|
||||
#ifndef Fabs
|
||||
#define Fabs(a) ((a) > 0.0 ? (a) : -(a)) /* floating absolute value */
|
||||
#endif
|
||||
#define sign(x) ((x) < 0 ? -1 : ((x) > 0 ? 1 : 0))
|
||||
/* this assumes b > 0 */
|
||||
#define modulus(a, b, d) if (((d) = (a) % (b)) < 0) (d) += (b)
|
||||
/*
|
||||
* return the least significant bit in x which is set
|
||||
*
|
||||
* This works on 1's complement and 2's complement machines.
|
||||
* If you care about the extra instruction on 2's complement
|
||||
* machines, change to ((x) & (-(x)))
|
||||
*/
|
||||
#define lowbit(x) ((x) & (~(x) + 1))
|
||||
|
||||
#ifndef MAXSHORT
|
||||
#define MAXSHORT 32767
|
||||
#endif
|
||||
#ifndef MINSHORT
|
||||
#define MINSHORT -MAXSHORT
|
||||
#endif
|
||||
|
||||
|
||||
/* some macros to help swap requests, replies, and events */
|
||||
|
||||
#define LengthRestB(stuff) \
|
||||
((client->req_len << 2) - sizeof(*stuff))
|
||||
|
||||
#define LengthRestS(stuff) \
|
||||
((client->req_len << 1) - (sizeof(*stuff) >> 1))
|
||||
|
||||
#define LengthRestL(stuff) \
|
||||
(client->req_len - (sizeof(*stuff) >> 2))
|
||||
|
||||
#define SwapRestS(stuff) \
|
||||
SwapShorts((short *)(stuff + 1), LengthRestS(stuff))
|
||||
|
||||
#define SwapRestL(stuff) \
|
||||
SwapLongs((CARD32 *)(stuff + 1), LengthRestL(stuff))
|
||||
|
||||
/* byte swap a 32-bit value */
|
||||
#define swapl(x, n) { \
|
||||
n = ((char *) (x))[0];\
|
||||
((char *) (x))[0] = ((char *) (x))[3];\
|
||||
((char *) (x))[3] = n;\
|
||||
n = ((char *) (x))[1];\
|
||||
((char *) (x))[1] = ((char *) (x))[2];\
|
||||
((char *) (x))[2] = n; }
|
||||
|
||||
/* byte swap a short */
|
||||
#define swaps(x, n) { \
|
||||
n = ((char *) (x))[0];\
|
||||
((char *) (x))[0] = ((char *) (x))[1];\
|
||||
((char *) (x))[1] = n; }
|
||||
|
||||
/* copy 32-bit value from src to dst byteswapping on the way */
|
||||
#define cpswapl(src, dst) { \
|
||||
((char *)&(dst))[0] = ((char *) &(src))[3];\
|
||||
((char *)&(dst))[1] = ((char *) &(src))[2];\
|
||||
((char *)&(dst))[2] = ((char *) &(src))[1];\
|
||||
((char *)&(dst))[3] = ((char *) &(src))[0]; }
|
||||
|
||||
/* copy short from src to dst byteswapping on the way */
|
||||
#define cpswaps(src, dst) { \
|
||||
((char *) &(dst))[0] = ((char *) &(src))[1];\
|
||||
((char *) &(dst))[1] = ((char *) &(src))[0]; }
|
||||
|
||||
extern void SwapLongs(
|
||||
#if NeedFunctionPrototypes
|
||||
CARD32 *list,
|
||||
unsigned long count
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void SwapShorts(
|
||||
#if NeedFunctionPrototypes
|
||||
short *list,
|
||||
unsigned long count
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void MakePredeclaredAtoms(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int Ones(
|
||||
#if NeedFunctionPrototypes
|
||||
unsigned long /*mask*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef struct _xPoint *DDXPointPtr;
|
||||
typedef struct _Box *BoxPtr;
|
||||
typedef struct _xEvent *xEventPtr;
|
||||
typedef struct _xRectangle *xRectanglePtr;
|
||||
typedef struct _GrabRec *GrabPtr;
|
||||
|
||||
/* typedefs from other places - duplicated here to minimize the amount
|
||||
* of unnecessary junk that one would normally have to include to get
|
||||
* these symbols defined
|
||||
*/
|
||||
|
||||
#ifndef _XTYPEDEF_CHARINFOPTR
|
||||
typedef struct _CharInfo *CharInfoPtr; /* also in fonts/include/font.h */
|
||||
#define _XTYPEDEF_CHARINFOPTR
|
||||
#endif
|
||||
|
||||
#endif /* MISC_H */
|
@ -1,73 +0,0 @@
|
||||
/* $XConsortium: miscstruct.h,v 5.5 94/04/17 20:25:50 dpw Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/include/miscstruct.h,v 3.0 1996/02/18 03:45:10 dawes Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
Copyright (c) 1987 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
|
||||
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
provided that the above copyright notice appear in all copies and that
|
||||
both that copyright notice and this permission notice appear in
|
||||
supporting documentation, and that the name of Digital not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
SOFTWARE.
|
||||
|
||||
******************************************************************/
|
||||
#ifndef MISCSTRUCT_H
|
||||
#define MISCSTRUCT_H 1
|
||||
|
||||
#include "misc.h"
|
||||
#include "X11/Xprotostr.h"
|
||||
|
||||
typedef xPoint DDXPointRec;
|
||||
|
||||
typedef struct _Box {
|
||||
short x1, y1, x2, y2;
|
||||
} BoxRec;
|
||||
|
||||
typedef union _DevUnion {
|
||||
pointer ptr;
|
||||
long val;
|
||||
unsigned long uval;
|
||||
pointer (*fptr)(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
} DevUnion;
|
||||
|
||||
#endif /* MISCSTRUCT_H */
|
@ -1,74 +0,0 @@
|
||||
/* $XConsortium: opaque.h,v 1.19 94/04/17 20:25:51 dpw Exp $ */
|
||||
/*
|
||||
|
||||
Copyright (c) 1987 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall
|
||||
not be used in advertising or otherwise to promote the sale, use or
|
||||
other dealings in this Software without prior written authorization
|
||||
from the X Consortium.
|
||||
|
||||
*/
|
||||
/* $XFree86: xc/programs/Xserver/include/opaque.h,v 1.2.2.1 1997/06/01 12:33:43 dawes Exp $ */
|
||||
|
||||
#ifndef OPAQUE_H
|
||||
#define OPAQUE_H
|
||||
|
||||
#include <X11/Xmd.h>
|
||||
|
||||
extern char *defaultFontPath;
|
||||
extern char *defaultTextFont;
|
||||
extern char *defaultCursorFont;
|
||||
extern char *rgbPath;
|
||||
extern int MaxClients;
|
||||
extern char isItTimeToYield;
|
||||
extern char dispatchException;
|
||||
|
||||
/* bit values for dispatchException */
|
||||
#define DE_RESET 1
|
||||
#define DE_TERMINATE 2
|
||||
#define DE_PRIORITYCHANGE 4 /* set when a client's priority changes */
|
||||
|
||||
extern CARD32 TimeOutValue;
|
||||
extern CARD32 ScreenSaverTime;
|
||||
extern CARD32 ScreenSaverInterval;
|
||||
extern int ScreenSaverBlanking;
|
||||
extern int ScreenSaverAllowExposures;
|
||||
extern int argcGlobal;
|
||||
extern char **argvGlobal;
|
||||
|
||||
#if DPMSExtension
|
||||
extern CARD32 defaultDPMSStandbyTime;
|
||||
extern CARD32 defaultDPMSSuspendTime;
|
||||
extern CARD32 defaultDPMSOffTime;
|
||||
extern CARD32 DPMSStandbyTime;
|
||||
extern CARD32 DPMSSuspendTime;
|
||||
extern CARD32 DPMSOffTime;
|
||||
extern CARD16 DPMSPowerLevel;
|
||||
extern Bool defaultDPMSEnabled;
|
||||
extern Bool DPMSEnabled;
|
||||
extern Bool DPMSEnabledSwitch;
|
||||
extern Bool DPMSDisabledSwitch;
|
||||
extern Bool DPMSCapableFlag;
|
||||
#endif
|
||||
|
||||
#endif /* OPAQUE_H */
|
@ -1,776 +0,0 @@
|
||||
/***********************************************************
|
||||
|
||||
Copyright (c) 1987 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
|
||||
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
provided that the above copyright notice appear in all copies and that
|
||||
both that copyright notice and this permission notice appear in
|
||||
supporting documentation, and that the name of Digital not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
SOFTWARE.
|
||||
|
||||
******************************************************************/
|
||||
|
||||
/* $XConsortium: os.h /main/60 1996/12/15 21:25:13 rws $ */
|
||||
/* $XFree86: xc/programs/Xserver/include/os.h,v 3.16.2.1 1998/01/22 10:47:13 dawes Exp $ */
|
||||
|
||||
#ifndef OS_H
|
||||
#define OS_H
|
||||
#include "Xserver/misc.h"
|
||||
#define ALLOCATE_LOCAL_FALLBACK(_size) Xalloc((unsigned long)(_size))
|
||||
#define DEALLOCATE_LOCAL_FALLBACK(_ptr) Xfree((pointer)(_ptr))
|
||||
#include "X11/Xalloca.h"
|
||||
|
||||
#define NullFID ((FID) 0)
|
||||
|
||||
#define SCREEN_SAVER_ON 0
|
||||
#define SCREEN_SAVER_OFF 1
|
||||
#define SCREEN_SAVER_FORCER 2
|
||||
#define SCREEN_SAVER_CYCLE 3
|
||||
|
||||
#ifndef MAX_REQUEST_SIZE
|
||||
#define MAX_REQUEST_SIZE 65535
|
||||
#endif
|
||||
#ifndef MAX_BIG_REQUEST_SIZE
|
||||
#define MAX_BIG_REQUEST_SIZE 1048575
|
||||
#endif
|
||||
|
||||
typedef pointer FID;
|
||||
typedef struct _FontPathRec *FontPathPtr;
|
||||
typedef struct _NewClientRec *NewClientPtr;
|
||||
|
||||
#define xnfalloc(size) XNFalloc((unsigned long)(size))
|
||||
#define xnfrealloc(ptr, size) XNFrealloc((pointer)(ptr), (unsigned long)(size))
|
||||
|
||||
#define xalloc(size) Xalloc((unsigned long)(size))
|
||||
#define xnfalloc(size) XNFalloc((unsigned long)(size))
|
||||
#define xcalloc(_num, _size) Xcalloc((unsigned long)(_num)*(unsigned long)(_size))
|
||||
#define xrealloc(ptr, size) Xrealloc((pointer)(ptr), (unsigned long)(size))
|
||||
#define xnfrealloc(ptr, size) XNFrealloc((pointer)(ptr), (unsigned long)(size))
|
||||
#define xfree(ptr) Xfree((pointer)(ptr))
|
||||
|
||||
#ifdef SCO
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
#ifndef X_NOT_STDC_ENV
|
||||
#include <string.h>
|
||||
#else
|
||||
#ifdef SYSV
|
||||
#include <string.h>
|
||||
#else
|
||||
#include <strings.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* have to put $(SIGNAL_DEFINES) in DEFINES in Imakefile to get this right */
|
||||
#ifdef SIGNALRETURNSINT
|
||||
#define SIGVAL int
|
||||
#else
|
||||
#define SIGVAL void
|
||||
#endif
|
||||
|
||||
extern Bool OsDelayInitColors;
|
||||
|
||||
extern int WaitForSomething(
|
||||
#if NeedFunctionPrototypes
|
||||
int* /*pClientsReady*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#ifdef LBX
|
||||
#define ReadRequestFromClient(client) ((client)->readRequest(client))
|
||||
extern int StandardReadRequestFromClient(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
#else
|
||||
extern int ReadRequestFromClient(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
#endif /* LBX */
|
||||
|
||||
extern Bool InsertFakeRequest(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/,
|
||||
char* /*data*/,
|
||||
int /*count*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int ResetCurrentRequest(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void FlushAllOutput(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void FlushIfCriticalOutputPending(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void SetCriticalOutputPending(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int WriteToClient(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*who*/,
|
||||
int /*count*/,
|
||||
char* /*buf*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void ResetOsBuffers(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void CreateWellKnownSockets(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void ResetWellKnownSockets(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern XID
|
||||
AuthorizationIDOfClient(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern char *ClientAuthorized(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/,
|
||||
unsigned int /*proto_n*/,
|
||||
char* /*auth_proto*/,
|
||||
unsigned int /*string_n*/,
|
||||
char* /*auth_string*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool EstablishNewConnections(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*clientUnused*/,
|
||||
pointer /*closure*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void CheckConnections(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void CloseDownConnection(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int AddEnabledDevice(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*fd*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int RemoveEnabledDevice(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*fd*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int OnlyListenToOneClient(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int ListenToAllClients(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int IgnoreClient(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int AttendClient(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int MakeClientGrabImpervious(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int MakeClientGrabPervious(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void Error(
|
||||
#if NeedFunctionPrototypes
|
||||
char* /*str*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern CARD32 GetTimeInMillis(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int AdjustWaitForDelay(
|
||||
#if NeedFunctionPrototypes
|
||||
pointer /*waitTime*/,
|
||||
unsigned long /*newdelay*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef struct _OsTimerRec *OsTimerPtr;
|
||||
|
||||
typedef CARD32 (*OsTimerCallback)(
|
||||
#if NeedFunctionPrototypes
|
||||
OsTimerPtr /* timer */,
|
||||
CARD32 /* time */,
|
||||
pointer /* arg */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void TimerInit(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool TimerForce(
|
||||
#if NeedFunctionPrototypes
|
||||
OsTimerPtr /* timer */
|
||||
#endif
|
||||
);
|
||||
|
||||
#define TimerAbsolute (1<<0)
|
||||
#define TimerForceOld (1<<1)
|
||||
|
||||
extern OsTimerPtr TimerSet(
|
||||
#if NeedFunctionPrototypes
|
||||
OsTimerPtr /* timer */,
|
||||
int /* flags */,
|
||||
CARD32 /* millis */,
|
||||
OsTimerCallback /* func */,
|
||||
pointer /* arg */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void TimerCheck(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void TimerCancel(
|
||||
#if NeedFunctionPrototypes
|
||||
OsTimerPtr /* pTimer */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void TimerFree(
|
||||
#if NeedFunctionPrototypes
|
||||
OsTimerPtr /* pTimer */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern SIGVAL AutoResetServer(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*sig*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern SIGVAL GiveUp(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*sig*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void UseMsg(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void ProcessCommandLine(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*argc*/,
|
||||
char* /*argv*/[]
|
||||
#endif
|
||||
);
|
||||
|
||||
extern unsigned long *Xalloc(
|
||||
#if NeedFunctionPrototypes
|
||||
unsigned long /*amount*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern unsigned long *XNFalloc(
|
||||
#if NeedFunctionPrototypes
|
||||
unsigned long /*amount*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern unsigned long *Xcalloc(
|
||||
#if NeedFunctionPrototypes
|
||||
unsigned long /*amount*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern unsigned long *Xrealloc(
|
||||
#if NeedFunctionPrototypes
|
||||
pointer /*ptr*/,
|
||||
unsigned long /*amount*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern unsigned long *XNFrealloc(
|
||||
#if NeedFunctionPrototypes
|
||||
pointer /*ptr*/,
|
||||
unsigned long /*amount*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void Xfree(
|
||||
#if NeedFunctionPrototypes
|
||||
pointer /*ptr*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void OsInitAllocator(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef SIGVAL (*OsSigHandlerPtr)(
|
||||
#if NeedFunctionPrototypes
|
||||
int /* sig */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern OsSigHandlerPtr OsSignal(
|
||||
#if NeedFunctionPrototypes
|
||||
int /* sig */,
|
||||
OsSigHandlerPtr /* handler */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int auditTrailLevel;
|
||||
|
||||
extern void AuditF(
|
||||
#if NeedVarargsPrototypes
|
||||
char* /*f*/,
|
||||
...
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void FatalError(
|
||||
#if NeedVarargsPrototypes
|
||||
char* /*f*/,
|
||||
...
|
||||
#endif
|
||||
)
|
||||
#if __GNUC__ == 2 && __GNUC_MINOR__ > 4
|
||||
__attribute((noreturn))
|
||||
#endif
|
||||
;
|
||||
|
||||
extern void ErrorF(
|
||||
#if NeedVarargsPrototypes
|
||||
char* /*f*/,
|
||||
...
|
||||
#endif
|
||||
);
|
||||
|
||||
#ifdef SERVER_LOCK
|
||||
extern void LockServer(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void UnlockServer(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
#endif
|
||||
|
||||
extern int OsLookupColor(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*screen*/,
|
||||
char * /*name*/,
|
||||
unsigned /*len*/,
|
||||
unsigned short * /*pred*/,
|
||||
unsigned short * /*pgreen*/,
|
||||
unsigned short * /*pblue*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void OsInit(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void OsCleanup(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void OsVendorFatalError(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void OsVendorInit(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int OsInitColors(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
#if !defined(WIN32) && !defined(__EMX__)
|
||||
extern int System(
|
||||
#if NeedFunctionPrototypes
|
||||
char *
|
||||
#endif
|
||||
);
|
||||
|
||||
extern pointer Popen(
|
||||
#if NeedFunctionPrototypes
|
||||
char *,
|
||||
char *
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int Pclose(
|
||||
#if NeedFunctionPrototypes
|
||||
pointer
|
||||
#endif
|
||||
);
|
||||
#else
|
||||
#define System(a) system(a)
|
||||
#define Popen(a,b) popen(a,b)
|
||||
#define Pclose(a) pclose(a)
|
||||
#endif
|
||||
|
||||
extern int AddHost(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/,
|
||||
int /*family*/,
|
||||
unsigned /*length*/,
|
||||
pointer /*pAddr*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool ForEachHostInFamily (
|
||||
#if NeedFunctionPrototypes
|
||||
int /*family*/,
|
||||
Bool (* /*func*/ )(
|
||||
#if NeedNestedPrototypes
|
||||
unsigned char * /* addr */,
|
||||
short /* len */,
|
||||
pointer /* closure */
|
||||
#endif
|
||||
),
|
||||
pointer /*closure*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int RemoveHost(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/,
|
||||
int /*family*/,
|
||||
unsigned /*length*/,
|
||||
pointer /*pAddr*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int GetHosts(
|
||||
#if NeedFunctionPrototypes
|
||||
pointer * /*data*/,
|
||||
int * /*pnHosts*/,
|
||||
int * /*pLen*/,
|
||||
BOOL * /*pEnabled*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef struct sockaddr * sockaddrPtr;
|
||||
|
||||
extern int InvalidHost(
|
||||
#if NeedFunctionPrototypes
|
||||
sockaddrPtr /*saddr*/,
|
||||
int /*len*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int LocalClient(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /* client */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int ChangeAccessControl(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/,
|
||||
int /*fEnabled*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int GetAccessControl(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
|
||||
extern void AddLocalHosts(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void ResetHosts(
|
||||
#if NeedFunctionPrototypes
|
||||
char *display
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void EnableLocalHost(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void DisableLocalHost(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void AccessUsingXdmcp(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void DefineSelf(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*fd*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void AugmentSelf(
|
||||
#if NeedFunctionPrototypes
|
||||
pointer /*from*/,
|
||||
int /*len*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void InitAuthorization(
|
||||
#if NeedFunctionPrototypes
|
||||
char * /*filename*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int LoadAuthorization(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void RegisterAuthorizations(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern XID CheckAuthorization(
|
||||
#if NeedFunctionPrototypes
|
||||
unsigned int /*namelength*/,
|
||||
char * /*name*/,
|
||||
unsigned int /*datalength*/,
|
||||
char * /*data*/,
|
||||
ClientPtr /*client*/,
|
||||
char ** /*reason*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void ResetAuthorization(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int AddAuthorization(
|
||||
#if NeedFunctionPrototypes
|
||||
unsigned int /*name_length*/,
|
||||
char * /*name*/,
|
||||
unsigned int /*data_length*/,
|
||||
char * /*data*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern XID GenerateAuthorization(
|
||||
#if NeedFunctionPrototypes
|
||||
unsigned int /* name_length */,
|
||||
char * /* name */,
|
||||
unsigned int /* data_length */,
|
||||
char * /* data */,
|
||||
unsigned int * /* data_length_return */,
|
||||
char ** /* data_return */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void ExpandCommandLine(
|
||||
#if NeedFunctionPrototypes
|
||||
int * /*pargc*/,
|
||||
char *** /*pargv*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int ddxProcessArgument(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*argc*/,
|
||||
char * /*argv*/ [],
|
||||
int /*i*/
|
||||
#endif
|
||||
);
|
||||
|
||||
/*
|
||||
* idiom processing stuff
|
||||
*/
|
||||
|
||||
xReqPtr PeekNextRequest(
|
||||
#if NeedFunctionPrototypes
|
||||
xReqPtr req, ClientPtr client, Bool readmore
|
||||
#endif
|
||||
);
|
||||
|
||||
void SkipRequests(
|
||||
#if NeedFunctionPrototypes
|
||||
xReqPtr req, ClientPtr client, int numskipped
|
||||
#endif
|
||||
);
|
||||
|
||||
/* int ReqLen(xReq *req, ClientPtr client)
|
||||
* Given a pointer to a *complete* request, return its length in bytes.
|
||||
* Note that if the request is a big request (as defined in the Big
|
||||
* Requests extension), the macro lies by returning 4 less than the
|
||||
* length that it actually occupies in the request buffer. This is so you
|
||||
* can blindly compare the length with the various sz_<request> constants
|
||||
* in Xproto.h without having to know/care about big requests.
|
||||
*/
|
||||
#define ReqLen(_pxReq, _client) \
|
||||
((_pxReq->length ? \
|
||||
(_client->swapped ? lswaps(_pxReq->length) : _pxReq->length) \
|
||||
: ((_client->swapped ? \
|
||||
lswapl(((CARD32*)_pxReq)[1]) : ((CARD32*)_pxReq)[1])-1) \
|
||||
) << 2)
|
||||
|
||||
/* otherReqTypePtr CastxReq(xReq *req, otherReqTypePtr)
|
||||
* Cast the given request to one of type otherReqTypePtr to access
|
||||
* fields beyond the length field.
|
||||
*/
|
||||
#define CastxReq(_pxReq, otherReqTypePtr) \
|
||||
(_pxReq->length ? (otherReqTypePtr)_pxReq \
|
||||
: (otherReqTypePtr)(((CARD32*)_pxReq)+1))
|
||||
|
||||
/* stuff for SkippedRequestsCallback */
|
||||
extern CallbackListPtr SkippedRequestsCallback;
|
||||
typedef struct {
|
||||
xReqPtr req;
|
||||
ClientPtr client;
|
||||
int numskipped;
|
||||
} SkippedRequestInfoRec;
|
||||
|
||||
/* stuff for ReplyCallback */
|
||||
extern CallbackListPtr ReplyCallback;
|
||||
typedef struct {
|
||||
ClientPtr client;
|
||||
pointer replyData;
|
||||
unsigned long dataLenBytes;
|
||||
unsigned long bytesRemaining;
|
||||
Bool startOfReply;
|
||||
} ReplyInfoRec;
|
||||
|
||||
/* stuff for FlushCallback */
|
||||
extern CallbackListPtr FlushCallback;
|
||||
|
||||
#endif /* OS_H */
|
@ -1,124 +0,0 @@
|
||||
/* $XConsortium: pixmap.h,v 5.6 94/04/17 20:25:53 dpw Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
Copyright (c) 1987 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
|
||||
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
provided that the above copyright notice appear in all copies and that
|
||||
both that copyright notice and this permission notice appear in
|
||||
supporting documentation, and that the name of Digital not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
SOFTWARE.
|
||||
|
||||
******************************************************************/
|
||||
#ifndef PIXMAP_H
|
||||
#define PIXMAP_H
|
||||
|
||||
#include "misc.h"
|
||||
#include "screenint.h"
|
||||
|
||||
/* types for Drawable */
|
||||
#define DRAWABLE_WINDOW 0
|
||||
#define DRAWABLE_PIXMAP 1
|
||||
#define UNDRAWABLE_WINDOW 2
|
||||
#define DRAWABLE_BUFFER 3
|
||||
|
||||
/* flags to PaintWindow() */
|
||||
#define PW_BACKGROUND 0
|
||||
#define PW_BORDER 1
|
||||
|
||||
#define NullPixmap ((PixmapPtr)0)
|
||||
|
||||
typedef struct _Drawable *DrawablePtr;
|
||||
typedef struct _Pixmap *PixmapPtr;
|
||||
|
||||
typedef union _PixUnion {
|
||||
PixmapPtr pixmap;
|
||||
unsigned long pixel;
|
||||
} PixUnion;
|
||||
|
||||
#define SamePixUnion(a,b,isPixel)\
|
||||
((isPixel) ? (a).pixel == (b).pixel : (a).pixmap == (b).pixmap)
|
||||
|
||||
#define EqualPixUnion(as, a, bs, b) \
|
||||
((as) == (bs) && (SamePixUnion (a, b, as)))
|
||||
|
||||
#define OnScreenDrawable(type) \
|
||||
((type == DRAWABLE_WINDOW) || (type == DRAWABLE_BUFFER))
|
||||
|
||||
#define WindowDrawable(type) \
|
||||
((type == DRAWABLE_WINDOW) || (type == UNDRAWABLE_WINDOW))
|
||||
|
||||
extern PixmapPtr GetScratchPixmapHeader(
|
||||
#if NeedFunctionPrototypes
|
||||
ScreenPtr /*pScreen*/,
|
||||
int /*width*/,
|
||||
int /*height*/,
|
||||
int /*depth*/,
|
||||
int /*bitsPerPixel*/,
|
||||
int /*devKind*/,
|
||||
pointer /*pPixData*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void FreeScratchPixmapHeader(
|
||||
#if NeedFunctionPrototypes
|
||||
PixmapPtr /*pPixmap*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool CreateScratchPixmapsForScreen(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*scrnum*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void FreeScratchPixmapsForScreen(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*scrnum*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern PixmapPtr AllocatePixmap(
|
||||
#if NeedFunctionPrototypes
|
||||
ScreenPtr /*pScreen*/,
|
||||
int /*pixDataSize*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#endif /* PIXMAP_H */
|
@ -1,54 +0,0 @@
|
||||
/* $XConsortium: region.h,v 1.5 94/04/17 20:25:59 dpw Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
Copyright (c) 1987 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
|
||||
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
provided that the above copyright notice appear in all copies and that
|
||||
both that copyright notice and this permission notice appear in
|
||||
supporting documentation, and that the name of Digital not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
SOFTWARE.
|
||||
|
||||
******************************************************************/
|
||||
#ifndef REGION_H
|
||||
#define REGION_H
|
||||
|
||||
#include "regionstr.h"
|
||||
|
||||
#endif /* REGION_H */
|
@ -1,409 +0,0 @@
|
||||
/* $XConsortium: regionstr.h,v 1.8 94/04/17 20:26:01 dpw Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
Copyright (c) 1987 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
|
||||
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
provided that the above copyright notice appear in all copies and that
|
||||
both that copyright notice and this permission notice appear in
|
||||
supporting documentation, and that the name of Digital not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
SOFTWARE.
|
||||
|
||||
******************************************************************/
|
||||
#ifndef REGIONSTRUCT_H
|
||||
#define REGIONSTRUCT_H
|
||||
|
||||
#include "miscstruct.h"
|
||||
|
||||
/* Return values from RectIn() */
|
||||
|
||||
#define rgnOUT 0
|
||||
#define rgnIN 1
|
||||
#define rgnPART 2
|
||||
|
||||
#define NullRegion ((RegionPtr)0)
|
||||
|
||||
/*
|
||||
* clip region
|
||||
*/
|
||||
|
||||
typedef struct _RegData {
|
||||
long size;
|
||||
long numRects;
|
||||
/* BoxRec rects[size]; in memory but not explicitly declared */
|
||||
} RegDataRec, *RegDataPtr;
|
||||
|
||||
typedef struct _Region {
|
||||
BoxRec extents;
|
||||
RegDataPtr data;
|
||||
} RegionRec, *RegionPtr;
|
||||
|
||||
extern BoxRec miEmptyBox;
|
||||
extern RegDataRec miEmptyData;
|
||||
|
||||
#define REGION_NIL(reg) ((reg)->data && !(reg)->data->numRects)
|
||||
#define REGION_NUM_RECTS(reg) ((reg)->data ? (reg)->data->numRects : 1)
|
||||
#define REGION_SIZE(reg) ((reg)->data ? (reg)->data->size : 0)
|
||||
#define REGION_RECTS(reg) ((reg)->data ? (BoxPtr)((reg)->data + 1) \
|
||||
: &(reg)->extents)
|
||||
#define REGION_BOXPTR(reg) ((BoxPtr)((reg)->data + 1))
|
||||
#define REGION_BOX(reg,i) (®ION_BOXPTR(reg)[i])
|
||||
#define REGION_TOP(reg) REGION_BOX(reg, (reg)->data->numRects)
|
||||
#define REGION_END(reg) REGION_BOX(reg, (reg)->data->numRects - 1)
|
||||
#define REGION_SZOF(n) (sizeof(RegDataRec) + ((n) * sizeof(BoxRec)))
|
||||
|
||||
#ifdef NEED_SCREEN_REGIONS
|
||||
|
||||
#define REGION_CREATE(_pScreen, _rect, _size) \
|
||||
(*(_pScreen)->RegionCreate)(_rect, _size)
|
||||
|
||||
#define REGION_INIT(_pScreen, _pReg, _rect, _size) \
|
||||
(*(_pScreen)->RegionInit)(_pReg, _rect, _size)
|
||||
|
||||
#define REGION_COPY(_pScreen, dst, src) \
|
||||
(*(_pScreen)->RegionCopy)(dst, src)
|
||||
|
||||
#define REGION_DESTROY(_pScreen, _pReg) \
|
||||
(*(_pScreen)->RegionDestroy)(_pReg)
|
||||
|
||||
#define REGION_UNINIT(_pScreen, _pReg) \
|
||||
(*(_pScreen)->RegionUninit)(_pReg)
|
||||
|
||||
#define REGION_INTERSECT(_pScreen, newReg, reg1, reg2) \
|
||||
(*(_pScreen)->Intersect)(newReg, reg1, reg2)
|
||||
|
||||
#define REGION_UNION(_pScreen, newReg, reg1, reg2) \
|
||||
(*(_pScreen)->Union)(newReg, reg1, reg2)
|
||||
|
||||
#define REGION_SUBTRACT(_pScreen, newReg, reg1, reg2) \
|
||||
(*(_pScreen)->Subtract)(newReg, reg1, reg2)
|
||||
|
||||
#define REGION_INVERSE(_pScreen, newReg, reg1, invRect) \
|
||||
(*(_pScreen)->Inverse)(newReg, reg1, invRect)
|
||||
|
||||
#define REGION_RESET(_pScreen, _pReg, _pBox) \
|
||||
(*(_pScreen)->RegionReset)(_pReg, _pBox)
|
||||
|
||||
#define REGION_TRANSLATE(_pScreen, _pReg, _x, _y) \
|
||||
(*(_pScreen)->TranslateRegion)(_pReg, _x, _y)
|
||||
|
||||
#define RECT_IN_REGION(_pScreen, _pReg, prect) \
|
||||
(*(_pScreen)->RectIn)(_pReg, prect)
|
||||
|
||||
#define POINT_IN_REGION(_pScreen, _pReg, _x, _y, prect) \
|
||||
(*(_pScreen)->PointInRegion)(_pReg, _x, _y, prect)
|
||||
|
||||
#define REGION_NOTEMPTY(_pScreen, _pReg) \
|
||||
(*(_pScreen)->RegionNotEmpty)(_pReg)
|
||||
|
||||
#define REGION_EMPTY(_pScreen, _pReg) \
|
||||
(*(_pScreen)->RegionEmpty)(_pReg)
|
||||
|
||||
#define REGION_EXTENTS(_pScreen, _pReg) \
|
||||
(*(_pScreen)->RegionExtents)(_pReg)
|
||||
|
||||
#define REGION_APPEND(_pScreen, dstrgn, rgn) \
|
||||
(*(_pScreen)->RegionAppend)(dstrgn, rgn)
|
||||
|
||||
#define REGION_VALIDATE(_pScreen, badreg, pOverlap) \
|
||||
(*(_pScreen)->RegionValidate)(badreg, pOverlap)
|
||||
|
||||
#define BITMAP_TO_REGION(_pScreen, pPix) \
|
||||
(*(_pScreen)->BitmapToRegion)(pPix)
|
||||
|
||||
#define RECTS_TO_REGION(_pScreen, nrects, prect, ctype) \
|
||||
(*(_pScreen)->RectsToRegion)(nrects, prect, ctype)
|
||||
|
||||
#else /* !NEED_SCREEN_REGIONS */
|
||||
|
||||
#define REGION_CREATE(_pScreen, _rect, _size) \
|
||||
miRegionCreate(_rect, _size)
|
||||
|
||||
#define REGION_COPY(_pScreen, dst, src) \
|
||||
miRegionCopy(dst, src)
|
||||
|
||||
#define REGION_DESTROY(_pScreen, _pReg) \
|
||||
miRegionDestroy(_pReg)
|
||||
|
||||
#define REGION_INTERSECT(_pScreen, newReg, reg1, reg2) \
|
||||
miIntersect(newReg, reg1, reg2)
|
||||
|
||||
#define REGION_UNION(_pScreen, newReg, reg1, reg2) \
|
||||
miUnion(newReg, reg1, reg2)
|
||||
|
||||
#define REGION_SUBTRACT(_pScreen, newReg, reg1, reg2) \
|
||||
miSubtract(newReg, reg1, reg2)
|
||||
|
||||
#define REGION_INVERSE(_pScreen, newReg, reg1, invRect) \
|
||||
miInverse(newReg, reg1, invRect)
|
||||
|
||||
#define REGION_TRANSLATE(_pScreen, _pReg, _x, _y) \
|
||||
miTranslateRegion(_pReg, _x, _y)
|
||||
|
||||
#define RECT_IN_REGION(_pScreen, _pReg, prect) \
|
||||
miRectIn(_pReg, prect)
|
||||
|
||||
#define POINT_IN_REGION(_pScreen, _pReg, _x, _y, prect) \
|
||||
miPointInRegion(_pReg, _x, _y, prect)
|
||||
|
||||
#define REGION_APPEND(_pScreen, dstrgn, rgn) \
|
||||
miRegionAppend(dstrgn, rgn)
|
||||
|
||||
#define REGION_VALIDATE(_pScreen, badreg, pOverlap) \
|
||||
miRegionValidate(badreg, pOverlap)
|
||||
|
||||
#define BITMAP_TO_REGION(_pScreen, pPix) \
|
||||
(*(_pScreen)->BitmapToRegion)(pPix) /* no mi version?! */
|
||||
|
||||
#define RECTS_TO_REGION(_pScreen, nrects, prect, ctype) \
|
||||
miRectsToRegion(nrects, prect, ctype)
|
||||
|
||||
#ifdef DONT_INLINE_REGION_OPS
|
||||
|
||||
#define REGION_INIT(_pScreen, _pReg, _rect, _size) \
|
||||
miRegionInit(_pReg, _rect, _size)
|
||||
|
||||
#define REGION_UNINIT(_pScreen, _pReg) \
|
||||
miRegionUninit(_pReg)
|
||||
|
||||
#define REGION_RESET(_pScreen, _pReg, _pBox) \
|
||||
miRegionReset(_pReg, _pBox)
|
||||
|
||||
#define REGION_NOTEMPTY(_pScreen, _pReg) \
|
||||
miRegionNotEmpty(_pReg)
|
||||
|
||||
#define REGION_EMPTY(_pScreen, _pReg) \
|
||||
miRegionEmpty(_pReg)
|
||||
|
||||
#define REGION_EXTENTS(_pScreen, _pReg) \
|
||||
miRegionExtents(_pReg)
|
||||
|
||||
#else /* inline certain simple region ops for performance */
|
||||
|
||||
#define REGION_INIT(_pScreen, _pReg, _rect, _size) \
|
||||
{ \
|
||||
if (_rect) \
|
||||
{ \
|
||||
(_pReg)->extents = *(_rect); \
|
||||
(_pReg)->data = (RegDataPtr)NULL; \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
(_pReg)->extents = miEmptyBox; \
|
||||
if (((_size) > 1) && ((_pReg)->data = \
|
||||
(RegDataPtr)xalloc(REGION_SZOF(_size)))) \
|
||||
{ \
|
||||
(_pReg)->data->size = (_size); \
|
||||
(_pReg)->data->numRects = 0; \
|
||||
} \
|
||||
else \
|
||||
(_pReg)->data = &miEmptyData; \
|
||||
} \
|
||||
}
|
||||
|
||||
#define REGION_UNINIT(_pScreen, _pReg) \
|
||||
{ \
|
||||
if ((_pReg)->data && (_pReg)->data->size) xfree((_pReg)->data); \
|
||||
}
|
||||
|
||||
#define REGION_RESET(_pScreen, _pReg, _pBox) \
|
||||
{ \
|
||||
(_pReg)->extents = *(_pBox); \
|
||||
REGION_UNINIT(_pScreen, _pReg); \
|
||||
(_pReg)->data = (RegDataPtr)NULL; \
|
||||
}
|
||||
|
||||
#define REGION_NOTEMPTY(_pScreen, _pReg) \
|
||||
!REGION_NIL(_pReg)
|
||||
|
||||
#define REGION_EMPTY(_pScreen, _pReg) \
|
||||
{ \
|
||||
REGION_UNINIT(_pScreen, _pReg); \
|
||||
(_pReg)->extents.x2 = (_pReg)->extents.x1; \
|
||||
(_pReg)->extents.y2 = (_pReg)->extents.y1; \
|
||||
(_pReg)->data = &miEmptyData; \
|
||||
}
|
||||
|
||||
#define REGION_EXTENTS(_pScreen, _pReg) \
|
||||
&(_pReg)->extents
|
||||
|
||||
#endif /* DONT_INLINE_REGION_OPS */
|
||||
|
||||
#endif /* NEED_SCREEN_REGIONS */
|
||||
|
||||
/* moved from mi.h */
|
||||
|
||||
extern RegionPtr miRegionCreate(
|
||||
#if NeedFunctionPrototypes
|
||||
BoxPtr /*rect*/,
|
||||
int /*size*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void miRegionInit(
|
||||
#if NeedFunctionPrototypes
|
||||
RegionPtr /*pReg*/,
|
||||
BoxPtr /*rect*/,
|
||||
int /*size*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void miRegionDestroy(
|
||||
#if NeedFunctionPrototypes
|
||||
RegionPtr /*pReg*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void miRegionUninit(
|
||||
#if NeedFunctionPrototypes
|
||||
RegionPtr /*pReg*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool miRegionCopy(
|
||||
#if NeedFunctionPrototypes
|
||||
RegionPtr /*dst*/,
|
||||
RegionPtr /*src*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool miIntersect(
|
||||
#if NeedFunctionPrototypes
|
||||
RegionPtr /*newReg*/,
|
||||
RegionPtr /*reg1*/,
|
||||
RegionPtr /*reg2*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool miUnion(
|
||||
#if NeedFunctionPrototypes
|
||||
RegionPtr /*newReg*/,
|
||||
RegionPtr /*reg1*/,
|
||||
RegionPtr /*reg2*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool miRegionAppend(
|
||||
#if NeedFunctionPrototypes
|
||||
RegionPtr /*dstrgn*/,
|
||||
RegionPtr /*rgn*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool miRegionValidate(
|
||||
#if NeedFunctionPrototypes
|
||||
RegionPtr /*badreg*/,
|
||||
Bool * /*pOverlap*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern RegionPtr miRectsToRegion(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*nrects*/,
|
||||
xRectanglePtr /*prect*/,
|
||||
int /*ctype*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool miSubtract(
|
||||
#if NeedFunctionPrototypes
|
||||
RegionPtr /*regD*/,
|
||||
RegionPtr /*regM*/,
|
||||
RegionPtr /*regS*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool miInverse(
|
||||
#if NeedFunctionPrototypes
|
||||
RegionPtr /*newReg*/,
|
||||
RegionPtr /*reg1*/,
|
||||
BoxPtr /*invRect*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int miRectIn(
|
||||
#if NeedFunctionPrototypes
|
||||
RegionPtr /*region*/,
|
||||
BoxPtr /*prect*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void miTranslateRegion(
|
||||
#if NeedFunctionPrototypes
|
||||
RegionPtr /*pReg*/,
|
||||
int /*x*/,
|
||||
int /*y*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void miRegionReset(
|
||||
#if NeedFunctionPrototypes
|
||||
RegionPtr /*pReg*/,
|
||||
BoxPtr /*pBox*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool miPointInRegion(
|
||||
#if NeedFunctionPrototypes
|
||||
RegionPtr /*pReg*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
BoxPtr /*box*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool miRegionNotEmpty(
|
||||
#if NeedFunctionPrototypes
|
||||
RegionPtr /*pReg*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void miRegionEmpty(
|
||||
#if NeedFunctionPrototypes
|
||||
RegionPtr /*pReg*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern BoxPtr miRegionExtents(
|
||||
#if NeedFunctionPrototypes
|
||||
RegionPtr /*pReg*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#endif /* REGIONSTRUCT_H */
|
@ -1,171 +0,0 @@
|
||||
/* $XConsortium: screenint.h /main/6 1996/06/17 10:55:15 mor $ */
|
||||
/***********************************************************
|
||||
|
||||
Copyright (c) 1987 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
|
||||
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
provided that the above copyright notice appear in all copies and that
|
||||
both that copyright notice and this permission notice appear in
|
||||
supporting documentation, and that the name of Digital not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
SOFTWARE.
|
||||
|
||||
******************************************************************/
|
||||
/* $XFree86: xc/programs/Xserver/include/screenint.h,v 1.2 1997/01/14 22:22:40 dawes Exp $ */
|
||||
#ifndef SCREENINT_H
|
||||
#define SCREENINT_H
|
||||
|
||||
#include "misc.h"
|
||||
|
||||
typedef struct _PixmapFormat *PixmapFormatPtr;
|
||||
typedef struct _Visual *VisualPtr;
|
||||
typedef struct _Depth *DepthPtr;
|
||||
typedef struct _Screen *ScreenPtr;
|
||||
|
||||
extern void ResetScreenPrivates(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int AllocateScreenPrivateIndex(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void ResetWindowPrivates(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int AllocateWindowPrivateIndex(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool AllocateWindowPrivate(
|
||||
#if NeedFunctionPrototypes
|
||||
ScreenPtr /* pScreen */,
|
||||
int /* index */,
|
||||
unsigned /* amount */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void ResetGCPrivates(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int AllocateGCPrivateIndex(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool AllocateGCPrivate(
|
||||
#if NeedFunctionPrototypes
|
||||
ScreenPtr /* pScreen */,
|
||||
int /* index */,
|
||||
unsigned /* amount */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int AddScreen(
|
||||
#if NeedFunctionPrototypes
|
||||
Bool (* /*pfnInit*/)(
|
||||
#if NeedNestedPrototypes
|
||||
int /*index*/,
|
||||
ScreenPtr /*pScreen*/,
|
||||
int /*argc*/,
|
||||
char ** /*argv*/
|
||||
#endif
|
||||
),
|
||||
int /*argc*/,
|
||||
char** /*argv*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#ifdef PIXPRIV
|
||||
|
||||
extern void ResetPixmapPrivates(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int AllocatePixmapPrivateIndex(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool AllocatePixmapPrivate(
|
||||
#if NeedFunctionPrototypes
|
||||
ScreenPtr /* pScreen */,
|
||||
int /* index */,
|
||||
unsigned /* amount */
|
||||
#endif
|
||||
);
|
||||
|
||||
#endif /* PIXPRIV */
|
||||
|
||||
extern void ResetColormapPrivates(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
|
||||
typedef struct _ColormapRec *ColormapPtr;
|
||||
typedef int (*InitCmapPrivFunc)(
|
||||
#if NeedNestedPrototypes
|
||||
ColormapPtr
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int AllocateColormapPrivateIndex(
|
||||
#if NeedFunctionPrototypes
|
||||
InitCmapPrivFunc /* initPrivFunc */
|
||||
#endif
|
||||
);
|
||||
|
||||
#endif /* SCREENINT_H */
|
@ -1,934 +0,0 @@
|
||||
/* $XConsortium: scrnintstr.h /main/32 1996/09/28 17:14:32 rws $ */
|
||||
/***********************************************************
|
||||
|
||||
Copyright (c) 1987 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
|
||||
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
provided that the above copyright notice appear in all copies and that
|
||||
both that copyright notice and this permission notice appear in
|
||||
supporting documentation, and that the name of Digital not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
SOFTWARE.
|
||||
|
||||
******************************************************************/
|
||||
#ifndef SCREENINTSTRUCT_H
|
||||
#define SCREENINTSTRUCT_H
|
||||
|
||||
#include "screenint.h"
|
||||
#include "miscstruct.h"
|
||||
#include "region.h"
|
||||
#include "pixmap.h"
|
||||
#include "gc.h"
|
||||
#include "colormap.h"
|
||||
#include "cursor.h"
|
||||
#include "validate.h"
|
||||
#include "window.h"
|
||||
#include "X11/Xproto.h"
|
||||
#include "dix.h"
|
||||
|
||||
typedef struct _PixmapFormat {
|
||||
unsigned char depth;
|
||||
unsigned char bitsPerPixel;
|
||||
unsigned char scanlinePad;
|
||||
} PixmapFormatRec;
|
||||
|
||||
typedef struct _Visual {
|
||||
VisualID vid;
|
||||
short class;
|
||||
short bitsPerRGBValue;
|
||||
short ColormapEntries;
|
||||
short nplanes;/* = log2 (ColormapEntries). This does not
|
||||
* imply that the screen has this many planes.
|
||||
* it may have more or fewer */
|
||||
unsigned long redMask, greenMask, blueMask;
|
||||
int offsetRed, offsetGreen, offsetBlue;
|
||||
} VisualRec;
|
||||
|
||||
typedef struct _Depth {
|
||||
unsigned char depth;
|
||||
short numVids;
|
||||
VisualID *vids; /* block of visual ids for this depth */
|
||||
} DepthRec;
|
||||
|
||||
|
||||
/*
|
||||
* There is a typedef for each screen function pointer so that code that
|
||||
* needs to declare a screen function pointer (e.g. in a screen private
|
||||
* or as a local variable) can easily do so and retain full type checking.
|
||||
*/
|
||||
|
||||
typedef Bool (* CloseScreenProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
int /*index*/,
|
||||
ScreenPtr /*pScreen*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* QueryBestSizeProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
int /*class*/,
|
||||
unsigned short * /*pwidth*/,
|
||||
unsigned short * /*pheight*/,
|
||||
ScreenPtr /*pScreen*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* SaveScreenProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
ScreenPtr /*pScreen*/,
|
||||
int /*on*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* GetImageProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
DrawablePtr /*pDrawable*/,
|
||||
int /*sx*/,
|
||||
int /*sy*/,
|
||||
int /*w*/,
|
||||
int /*h*/,
|
||||
unsigned int /*format*/,
|
||||
unsigned long /*planeMask*/,
|
||||
char * /*pdstLine*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* GetSpansProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
DrawablePtr /*pDrawable*/,
|
||||
int /*wMax*/,
|
||||
DDXPointPtr /*ppt*/,
|
||||
int* /*pwidth*/,
|
||||
int /*nspans*/,
|
||||
char * /*pdstStart*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* PointerNonInterestBoxProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
ScreenPtr /*pScreen*/,
|
||||
BoxPtr /*pBox*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* SourceValidateProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
DrawablePtr /*pDrawable*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
int /*width*/,
|
||||
int /*height*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* CreateWindowProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pWindow*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* DestroyWindowProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pWindow*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* PositionWindowProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pWindow*/,
|
||||
int /*x*/,
|
||||
int /*y*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* ChangeWindowAttributesProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pWindow*/,
|
||||
unsigned long /*mask*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* RealizeWindowProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pWindow*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* UnrealizeWindowProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pWindow*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef int (* ValidateTreeProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pParent*/,
|
||||
X11WindowPtr /*pChild*/,
|
||||
VTKind /*kind*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* PostValidateTreeProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pParent*/,
|
||||
X11WindowPtr /*pChild*/,
|
||||
VTKind /*kind*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* WindowExposuresProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pWindow*/,
|
||||
RegionPtr /*prgn*/,
|
||||
RegionPtr /*other_exposed*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* PaintWindowBackgroundProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pWindow*/,
|
||||
RegionPtr /*pRegion*/,
|
||||
int /*what*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* PaintWindowBorderProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pWindow*/,
|
||||
RegionPtr /*pRegion*/,
|
||||
int /*what*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* CopyWindowProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pWindow*/,
|
||||
DDXPointRec /*ptOldOrg*/,
|
||||
RegionPtr /*prgnSrc*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* ClearToBackgroundProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pWindow*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
int /*w*/,
|
||||
int /*h*/,
|
||||
Bool /*generateExposures*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* ClipNotifyProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pWindow*/,
|
||||
int /*dx*/,
|
||||
int /*dy*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef PixmapPtr (* CreatePixmapProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
ScreenPtr /*pScreen*/,
|
||||
int /*width*/,
|
||||
int /*height*/,
|
||||
int /*depth*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* DestroyPixmapProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
PixmapPtr /*pPixmap*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* SaveDoomedAreasProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pWindow*/,
|
||||
RegionPtr /*prgnSave*/,
|
||||
int /*xorg*/,
|
||||
int /*yorg*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef RegionPtr (* RestoreAreasProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pWindow*/,
|
||||
RegionPtr /*prgnRestore*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* ExposeCopyProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pSrc*/,
|
||||
DrawablePtr /*pDst*/,
|
||||
GCPtr /*pGC*/,
|
||||
RegionPtr /*prgnExposed*/,
|
||||
int /*srcx*/,
|
||||
int /*srcy*/,
|
||||
int /*dstx*/,
|
||||
int /*dsty*/,
|
||||
unsigned long /*plane*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef RegionPtr (* TranslateBackingStoreProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pWindow*/,
|
||||
int /*windx*/,
|
||||
int /*windy*/,
|
||||
RegionPtr /*oldClip*/,
|
||||
int /*oldx*/,
|
||||
int /*oldy*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef RegionPtr (* ClearBackingStoreProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pWindow*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
int /*w*/,
|
||||
int /*h*/,
|
||||
Bool /*generateExposures*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* DrawGuaranteeProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pWindow*/,
|
||||
GCPtr /*pGC*/,
|
||||
int /*guarantee*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* RealizeFontProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
ScreenPtr /*pScreen*/,
|
||||
FontPtr /*pFont*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* UnrealizeFontProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
ScreenPtr /*pScreen*/,
|
||||
FontPtr /*pFont*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* ConstrainCursorProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
ScreenPtr /*pScreen*/,
|
||||
BoxPtr /*pBox*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* CursorLimitsProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
ScreenPtr /*pScreen*/,
|
||||
CursorPtr /*pCursor*/,
|
||||
BoxPtr /*pHotBox*/,
|
||||
BoxPtr /*pTopLeftBox*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* DisplayCursorProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
ScreenPtr /*pScreen*/,
|
||||
CursorPtr /*pCursor*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* RealizeCursorProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
ScreenPtr /*pScreen*/,
|
||||
CursorPtr /*pCursor*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* UnrealizeCursorProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
ScreenPtr /*pScreen*/,
|
||||
CursorPtr /*pCursor*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* RecolorCursorProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
ScreenPtr /*pScreen*/,
|
||||
CursorPtr /*pCursor*/,
|
||||
Bool /*displayed*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* SetCursorPositionProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
ScreenPtr /*pScreen*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
Bool /*generateEvent*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* CreateGCProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
GCPtr /*pGC*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* CreateColormapProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
ColormapPtr /*pColormap*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* DestroyColormapProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
ColormapPtr /*pColormap*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* InstallColormapProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
ColormapPtr /*pColormap*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* UninstallColormapProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
ColormapPtr /*pColormap*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef int (* ListInstalledColormapsProcPtr) (
|
||||
#if NeedNestedPrototypes
|
||||
ScreenPtr /*pScreen*/,
|
||||
XID* /*pmaps */
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* StoreColorsProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
ColormapPtr /*pColormap*/,
|
||||
int /*ndef*/,
|
||||
xColorItem * /*pdef*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* ResolveColorProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
unsigned short* /*pred*/,
|
||||
unsigned short* /*pgreen*/,
|
||||
unsigned short* /*pblue*/,
|
||||
VisualPtr /*pVisual*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef RegionPtr (* RegionCreateProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
BoxPtr /*rect*/,
|
||||
int /*size*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* RegionInitProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
RegionPtr /*pReg*/,
|
||||
BoxPtr /*rect*/,
|
||||
int /*size*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* RegionCopyProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
RegionPtr /*dst*/,
|
||||
RegionPtr /*src*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* RegionDestroyProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
RegionPtr /*pReg*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* RegionUninitProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
RegionPtr /*pReg*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* IntersectProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
RegionPtr /*newReg*/,
|
||||
RegionPtr /*reg1*/,
|
||||
RegionPtr /*reg2*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* UnionProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
RegionPtr /*newReg*/,
|
||||
RegionPtr /*reg1*/,
|
||||
RegionPtr /*reg2*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* SubtractProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
RegionPtr /*regD*/,
|
||||
RegionPtr /*regM*/,
|
||||
RegionPtr /*regS*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* InverseProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
RegionPtr /*newReg*/,
|
||||
RegionPtr /*reg1*/,
|
||||
BoxPtr /*invRect*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* RegionResetProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
RegionPtr /*pReg*/,
|
||||
BoxPtr /*pBox*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* TranslateRegionProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
RegionPtr /*pReg*/,
|
||||
int /*x*/,
|
||||
int /*y*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef int (* RectInProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
RegionPtr /*region*/,
|
||||
BoxPtr /*prect*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* PointInRegionProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
RegionPtr /*pReg*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
BoxPtr /*box*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* RegionNotEmptyProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
RegionPtr /*pReg*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* RegionEmptyProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
RegionPtr /*pReg*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef BoxPtr (* RegionExtentsProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
RegionPtr /*pReg*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* RegionAppendProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
RegionPtr /*dstrgn*/,
|
||||
RegionPtr /*rgn*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* RegionValidateProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
RegionPtr /*badreg*/,
|
||||
Bool* /*pOverlap*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef RegionPtr (* BitmapToRegionProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
PixmapPtr /*pPix*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef RegionPtr (* RectsToRegionProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
int /*nrects*/,
|
||||
xRectangle* /*prect*/,
|
||||
int /*ctype*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* SendGraphicsExposeProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
ClientPtr /*client*/,
|
||||
RegionPtr /*pRgn*/,
|
||||
XID /*drawable*/,
|
||||
int /*major*/,
|
||||
int /*minor*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* ScreenBlockHandlerProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
int /*screenNum*/,
|
||||
pointer /*blockData*/,
|
||||
struct timeval ** /*pTimeout*/,
|
||||
pointer /*pReadmask*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* ScreenWakeupHandlerProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
int /*screenNum*/,
|
||||
pointer /*wakeupData*/,
|
||||
unsigned long /*result*/,
|
||||
pointer /*pReadMask*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* CreateScreenResourcesProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
ScreenPtr /*pScreen*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* ModifyPixmapHeaderProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
PixmapPtr /*pPixmap*/,
|
||||
int /*width*/,
|
||||
int /*height*/,
|
||||
int /*depth*/,
|
||||
int /*bitsPerPixel*/,
|
||||
int /*devKind*/,
|
||||
pointer /*pPixData*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* MarkWindowProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* MarkOverlappedWindowsProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*parent*/,
|
||||
X11WindowPtr /*firstChild*/,
|
||||
X11WindowPtr * /*pLayerWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* ChangeSaveUnderProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pLayerWin*/,
|
||||
X11WindowPtr /*firstChild*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* PostChangeSaveUnderProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pLayerWin*/,
|
||||
X11WindowPtr /*firstChild*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* MoveWindowProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pWin*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
X11WindowPtr /*pSib*/,
|
||||
VTKind /*kind*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* ResizeWindowProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pWin*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
unsigned int /*w*/,
|
||||
unsigned int /*h*/,
|
||||
X11WindowPtr /*pSib*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef X11WindowPtr (* GetLayerWindowProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* HandleExposuresProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* ReparentWindowProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pWin*/,
|
||||
X11WindowPtr /*pPriorParent*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#ifdef SHAPE
|
||||
typedef void (* SetShapeProcPtr)(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
#endif /* SHAPE */
|
||||
|
||||
typedef void (* ChangeBorderWidthProcPtr)(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/,
|
||||
unsigned int /*width*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* MarkUnrealizedWindowProcPtr)(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pChild*/,
|
||||
X11WindowPtr /*pWin*/,
|
||||
Bool /*fromConfigure*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef struct _Screen {
|
||||
int myNum; /* index of this instance in Screens[] */
|
||||
ATOM id;
|
||||
short width, height;
|
||||
short mmWidth, mmHeight;
|
||||
short numDepths;
|
||||
unsigned char rootDepth;
|
||||
DepthPtr allowedDepths;
|
||||
unsigned long rootVisual;
|
||||
unsigned long defColormap;
|
||||
short minInstalledCmaps, maxInstalledCmaps;
|
||||
char backingStoreSupport, saveUnderSupport;
|
||||
unsigned long whitePixel, blackPixel;
|
||||
unsigned long rgf; /* array of flags; she's -- HUNGARIAN */
|
||||
GCPtr GCperDepth[MAXFORMATS+1];
|
||||
/* next field is a stipple to use as default in
|
||||
a GC. we don't build default tiles of all depths
|
||||
because they are likely to be of a color
|
||||
different from the default fg pixel, so
|
||||
we don't win anything by building
|
||||
a standard one.
|
||||
*/
|
||||
PixmapPtr PixmapPerDepth[1];
|
||||
pointer devPrivate;
|
||||
short numVisuals;
|
||||
VisualPtr visuals;
|
||||
int WindowPrivateLen;
|
||||
unsigned *WindowPrivateSizes;
|
||||
unsigned totalWindowSize;
|
||||
int GCPrivateLen;
|
||||
unsigned *GCPrivateSizes;
|
||||
unsigned totalGCSize;
|
||||
|
||||
/* Random screen procedures */
|
||||
|
||||
CloseScreenProcPtr CloseScreen;
|
||||
QueryBestSizeProcPtr QueryBestSize;
|
||||
SaveScreenProcPtr SaveScreen;
|
||||
GetImageProcPtr GetImage;
|
||||
GetSpansProcPtr GetSpans;
|
||||
PointerNonInterestBoxProcPtr PointerNonInterestBox;
|
||||
SourceValidateProcPtr SourceValidate;
|
||||
|
||||
/* Window Procedures */
|
||||
|
||||
CreateWindowProcPtr CreateWindow;
|
||||
DestroyWindowProcPtr DestroyWindow;
|
||||
PositionWindowProcPtr PositionWindow;
|
||||
ChangeWindowAttributesProcPtr ChangeWindowAttributes;
|
||||
RealizeWindowProcPtr RealizeWindow;
|
||||
UnrealizeWindowProcPtr UnrealizeWindow;
|
||||
ValidateTreeProcPtr ValidateTree;
|
||||
PostValidateTreeProcPtr PostValidateTree;
|
||||
WindowExposuresProcPtr WindowExposures;
|
||||
PaintWindowBackgroundProcPtr PaintWindowBackground;
|
||||
PaintWindowBorderProcPtr PaintWindowBorder;
|
||||
CopyWindowProcPtr CopyWindow;
|
||||
ClearToBackgroundProcPtr ClearToBackground;
|
||||
ClipNotifyProcPtr ClipNotify;
|
||||
|
||||
/* Pixmap procedures */
|
||||
|
||||
CreatePixmapProcPtr CreatePixmap;
|
||||
DestroyPixmapProcPtr DestroyPixmap;
|
||||
|
||||
/* Backing store procedures */
|
||||
|
||||
SaveDoomedAreasProcPtr SaveDoomedAreas;
|
||||
RestoreAreasProcPtr RestoreAreas;
|
||||
ExposeCopyProcPtr ExposeCopy;
|
||||
TranslateBackingStoreProcPtr TranslateBackingStore;
|
||||
ClearBackingStoreProcPtr ClearBackingStore;
|
||||
DrawGuaranteeProcPtr DrawGuarantee;
|
||||
|
||||
/* Font procedures */
|
||||
|
||||
RealizeFontProcPtr RealizeFont;
|
||||
UnrealizeFontProcPtr UnrealizeFont;
|
||||
|
||||
/* Cursor Procedures */
|
||||
|
||||
ConstrainCursorProcPtr ConstrainCursor;
|
||||
CursorLimitsProcPtr CursorLimits;
|
||||
DisplayCursorProcPtr DisplayCursor;
|
||||
RealizeCursorProcPtr RealizeCursor;
|
||||
UnrealizeCursorProcPtr UnrealizeCursor;
|
||||
RecolorCursorProcPtr RecolorCursor;
|
||||
SetCursorPositionProcPtr SetCursorPosition;
|
||||
|
||||
/* GC procedures */
|
||||
|
||||
CreateGCProcPtr CreateGC;
|
||||
|
||||
/* Colormap procedures */
|
||||
|
||||
CreateColormapProcPtr CreateColormap;
|
||||
DestroyColormapProcPtr DestroyColormap;
|
||||
InstallColormapProcPtr InstallColormap;
|
||||
UninstallColormapProcPtr UninstallColormap;
|
||||
ListInstalledColormapsProcPtr ListInstalledColormaps;
|
||||
StoreColorsProcPtr StoreColors;
|
||||
ResolveColorProcPtr ResolveColor;
|
||||
|
||||
/* Region procedures */
|
||||
|
||||
RegionCreateProcPtr RegionCreate;
|
||||
RegionInitProcPtr RegionInit;
|
||||
RegionCopyProcPtr RegionCopy;
|
||||
RegionDestroyProcPtr RegionDestroy;
|
||||
RegionUninitProcPtr RegionUninit;
|
||||
IntersectProcPtr Intersect;
|
||||
UnionProcPtr Union;
|
||||
SubtractProcPtr Subtract;
|
||||
InverseProcPtr Inverse;
|
||||
RegionResetProcPtr RegionReset;
|
||||
TranslateRegionProcPtr TranslateRegion;
|
||||
RectInProcPtr RectIn;
|
||||
PointInRegionProcPtr PointInRegion;
|
||||
RegionNotEmptyProcPtr RegionNotEmpty;
|
||||
RegionEmptyProcPtr RegionEmpty;
|
||||
RegionExtentsProcPtr RegionExtents;
|
||||
RegionAppendProcPtr RegionAppend;
|
||||
RegionValidateProcPtr RegionValidate;
|
||||
BitmapToRegionProcPtr BitmapToRegion;
|
||||
RectsToRegionProcPtr RectsToRegion;
|
||||
SendGraphicsExposeProcPtr SendGraphicsExpose;
|
||||
|
||||
/* os layer procedures */
|
||||
|
||||
ScreenBlockHandlerProcPtr BlockHandler;
|
||||
ScreenWakeupHandlerProcPtr WakeupHandler;
|
||||
|
||||
pointer blockData;
|
||||
pointer wakeupData;
|
||||
|
||||
/* anybody can get a piece of this array */
|
||||
DevUnion *devPrivates;
|
||||
|
||||
CreateScreenResourcesProcPtr CreateScreenResources;
|
||||
ModifyPixmapHeaderProcPtr ModifyPixmapHeader;
|
||||
|
||||
PixmapPtr pScratchPixmap; /* scratch pixmap "pool" */
|
||||
|
||||
#ifdef PIXPRIV
|
||||
int PixmapPrivateLen;
|
||||
unsigned *PixmapPrivateSizes;
|
||||
unsigned totalPixmapSize;
|
||||
#endif
|
||||
|
||||
MarkWindowProcPtr MarkWindow;
|
||||
MarkOverlappedWindowsProcPtr MarkOverlappedWindows;
|
||||
ChangeSaveUnderProcPtr ChangeSaveUnder;
|
||||
PostChangeSaveUnderProcPtr PostChangeSaveUnder;
|
||||
MoveWindowProcPtr MoveWindow;
|
||||
ResizeWindowProcPtr ResizeWindow;
|
||||
GetLayerWindowProcPtr GetLayerWindow;
|
||||
HandleExposuresProcPtr HandleExposures;
|
||||
ReparentWindowProcPtr ReparentWindow;
|
||||
|
||||
#ifdef SHAPE
|
||||
SetShapeProcPtr SetShape;
|
||||
#endif /* SHAPE */
|
||||
|
||||
ChangeBorderWidthProcPtr ChangeBorderWidth;
|
||||
MarkUnrealizedWindowProcPtr MarkUnrealizedWindow;
|
||||
|
||||
} ScreenRec;
|
||||
|
||||
typedef struct _ScreenInfo {
|
||||
int imageByteOrder;
|
||||
int bitmapScanlineUnit;
|
||||
int bitmapScanlinePad;
|
||||
int bitmapBitOrder;
|
||||
int numPixmapFormats;
|
||||
PixmapFormatRec
|
||||
formats[MAXFORMATS];
|
||||
int arraySize;
|
||||
int numScreens;
|
||||
ScreenPtr screens[MAXSCREENS];
|
||||
int numVideoScreens;
|
||||
} ScreenInfo;
|
||||
|
||||
extern ScreenInfo screenInfo;
|
||||
|
||||
extern void InitOutput(
|
||||
#if NeedFunctionPrototypes
|
||||
ScreenInfo * /*pScreenInfo*/,
|
||||
int /*argc*/,
|
||||
char ** /*argv*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#endif /* SCREENINTSTRUCT_H */
|
@ -1,42 +0,0 @@
|
||||
/* $XConsortium: validate.h,v 5.4 94/04/17 20:26:11 dpw Exp $ */
|
||||
|
||||
/*
|
||||
|
||||
Copyright (c) 1989 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
*/
|
||||
|
||||
#ifndef VALIDATE_H
|
||||
#define VALIDATE_H
|
||||
|
||||
#include "miscstruct.h"
|
||||
#include "regionstr.h"
|
||||
|
||||
typedef enum { VTOther, VTStack, VTMove, VTUnmap, VTMap } VTKind;
|
||||
|
||||
/* union _Validate is now device dependent; see mivalidate.h for an example */
|
||||
typedef union _Validate *ValidatePtr;
|
||||
|
||||
#define UnmapValData ((ValidatePtr)1)
|
||||
|
||||
#endif /* VALIDATE_H */
|
@ -1,351 +0,0 @@
|
||||
/* $XConsortium: window.h /main/8 1996/03/21 13:35:33 mor $ */
|
||||
/***********************************************************
|
||||
|
||||
Copyright (c) 1987 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
|
||||
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
provided that the above copyright notice appear in all copies and that
|
||||
both that copyright notice and this permission notice appear in
|
||||
supporting documentation, and that the name of Digital not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
SOFTWARE.
|
||||
|
||||
******************************************************************/
|
||||
|
||||
#ifndef WINDOW_H
|
||||
#define WINDOW_H
|
||||
|
||||
#include "misc.h"
|
||||
#include "region.h"
|
||||
#include "screenint.h"
|
||||
#include "X11/Xproto.h"
|
||||
|
||||
#define TOTALLY_OBSCURED 0
|
||||
#define UNOBSCURED 1
|
||||
#define OBSCURED 2
|
||||
|
||||
#define VisibilityNotViewable 3
|
||||
|
||||
/* return values for tree-walking callback procedures */
|
||||
#define WT_STOPWALKING 0
|
||||
#define WT_WALKCHILDREN 1
|
||||
#define WT_DONTWALKCHILDREN 2
|
||||
#define WT_NOMATCH 3
|
||||
#define NullWindow ((X11WindowPtr) 0)
|
||||
|
||||
typedef struct _BackingStore *BackingStorePtr;
|
||||
typedef struct _Window *X11WindowPtr; /* conflict with CoreGraphics */
|
||||
|
||||
typedef int (*VisitWindowProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
X11WindowPtr /*pWin*/,
|
||||
pointer /*data*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int TraverseTree(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/,
|
||||
VisitWindowProcPtr /*func*/,
|
||||
pointer /*data*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int WalkTree(
|
||||
#if NeedFunctionPrototypes
|
||||
ScreenPtr /*pScreen*/,
|
||||
VisitWindowProcPtr /*func*/,
|
||||
pointer /*data*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern X11WindowPtr AllocateWindow(
|
||||
#if NeedFunctionPrototypes
|
||||
ScreenPtr /*pScreen*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool CreateRootWindow(
|
||||
#if NeedFunctionPrototypes
|
||||
ScreenPtr /*pScreen*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void InitRootWindow(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void ClippedRegionFromBox(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/,
|
||||
RegionPtr /*Rgn*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
int /*w*/,
|
||||
int /*h*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern X11WindowPtr RealChildHead(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern X11WindowPtr CreateWindow(
|
||||
#if NeedFunctionPrototypes
|
||||
Window /*wid*/,
|
||||
X11WindowPtr /*pParent*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
unsigned int /*w*/,
|
||||
unsigned int /*h*/,
|
||||
unsigned int /*bw*/,
|
||||
unsigned int /*class*/,
|
||||
Mask /*vmask*/,
|
||||
XID* /*vlist*/,
|
||||
int /*depth*/,
|
||||
ClientPtr /*client*/,
|
||||
VisualID /*visual*/,
|
||||
int* /*error*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int DeleteWindow(
|
||||
#if NeedFunctionPrototypes
|
||||
pointer /*pWin*/,
|
||||
XID /*wid*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void DestroySubwindows(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/,
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int X11ChangeWindowAttributes(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/,
|
||||
Mask /*vmask*/,
|
||||
XID* /*vlist*/,
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void X11GetWindowAttributes(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/,
|
||||
ClientPtr /*client*/,
|
||||
xGetWindowAttributesReply* /* wa */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern RegionPtr CreateUnclippedWinSize(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void GravityTranslate(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
int /*oldx*/,
|
||||
int /*oldy*/,
|
||||
int /*dw*/,
|
||||
int /*dh*/,
|
||||
unsigned /*gravity*/,
|
||||
int* /*destx*/,
|
||||
int* /*desty*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int ConfigureWindow(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/,
|
||||
Mask /*mask*/,
|
||||
XID* /*vlist*/,
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int CirculateWindow(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pParent*/,
|
||||
int /*direction*/,
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int ReparentWindow(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/,
|
||||
X11WindowPtr /*pParent*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int MapWindow(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/,
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void MapSubwindows(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pParent*/,
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int UnmapWindow(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/,
|
||||
Bool /*fromConfigure*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void UnmapSubwindows(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void HandleSaveSet(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool VisibleBoundingBoxFromPoint(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
BoxPtr /*box*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool PointInWindowIsVisible(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/,
|
||||
int /*x*/,
|
||||
int /*y*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern RegionPtr NotClippedByChildren(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void SendVisibilityNotify(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void SaveScreens(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*on*/,
|
||||
int /*mode*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern X11WindowPtr FindWindowWithOptional(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*w*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void CheckWindowOptionalNeed(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*w*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool MakeWindowOptional(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void DisposeWindowOptional(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern X11WindowPtr MoveWindowInStack(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/,
|
||||
X11WindowPtr /*pNextSib*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void SetWinSize(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void SetBorderSize(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void ResizeChildrenWinSize(
|
||||
#if NeedFunctionPrototypes
|
||||
X11WindowPtr /*pWin*/,
|
||||
int /*dx*/,
|
||||
int /*dy*/,
|
||||
int /*dw*/,
|
||||
int /*dh*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#endif /* WINDOW_H */
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,832 @@
|
||||
/* -=- sraRegion.c
|
||||
* Copyright (c) 2001 James "Wez" Weatherall, Johannes E. Schindelin
|
||||
*
|
||||
* A general purpose region clipping library
|
||||
* Only deals with rectangular regions, though.
|
||||
*/
|
||||
|
||||
#include "rfb.h"
|
||||
#include "sraRegion.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
/* -=- Internal Span structure */
|
||||
|
||||
struct sraRegion;
|
||||
|
||||
typedef struct sraSpan {
|
||||
struct sraSpan *_next;
|
||||
struct sraSpan *_prev;
|
||||
int start;
|
||||
int end;
|
||||
struct sraRegion *subspan;
|
||||
} sraSpan;
|
||||
|
||||
typedef struct sraRegion {
|
||||
sraSpan front;
|
||||
sraSpan back;
|
||||
} sraSpanList;
|
||||
|
||||
/* -=- Span routines */
|
||||
|
||||
sraSpanList *sraSpanListDup(const sraSpanList *src);
|
||||
void sraSpanListDestroy(sraSpanList *list);
|
||||
|
||||
sraSpan *
|
||||
sraSpanCreate(int start, int end, const sraSpanList *subspan) {
|
||||
sraSpan *item = (sraSpan*)malloc(sizeof(sraSpan));
|
||||
item->_next = item->_prev = NULL;
|
||||
item->start = start;
|
||||
item->end = end;
|
||||
item->subspan = sraSpanListDup(subspan);
|
||||
return item;
|
||||
}
|
||||
|
||||
sraSpan *
|
||||
sraSpanDup(const sraSpan *src) {
|
||||
sraSpan *span;
|
||||
if (!src) return NULL;
|
||||
span = sraSpanCreate(src->start, src->end, src->subspan);
|
||||
return span;
|
||||
}
|
||||
|
||||
void
|
||||
sraSpanInsertAfter(sraSpan *newspan, sraSpan *after) {
|
||||
newspan->_next = after->_next;
|
||||
newspan->_prev = after;
|
||||
after->_next->_prev = newspan;
|
||||
after->_next = newspan;
|
||||
}
|
||||
|
||||
void
|
||||
sraSpanInsertBefore(sraSpan *newspan, sraSpan *before) {
|
||||
newspan->_next = before;
|
||||
newspan->_prev = before->_prev;
|
||||
before->_prev->_next = newspan;
|
||||
before->_prev = newspan;
|
||||
}
|
||||
|
||||
void
|
||||
sraSpanRemove(sraSpan *span) {
|
||||
span->_prev->_next = span->_next;
|
||||
span->_next->_prev = span->_prev;
|
||||
}
|
||||
|
||||
void
|
||||
sraSpanDestroy(sraSpan *span) {
|
||||
if (span->subspan) sraSpanListDestroy(span->subspan);
|
||||
xfree(span);
|
||||
}
|
||||
|
||||
void
|
||||
sraSpanCheck(const sraSpan *span, const char *text) {
|
||||
// Check the span is valid!
|
||||
if (span->start == span->end) {
|
||||
printf(text);
|
||||
printf(":%d-%d\n", span->start, span->end);
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
/* -=- SpanList routines */
|
||||
|
||||
void sraSpanPrint(const sraSpan *s);
|
||||
|
||||
void
|
||||
sraSpanListPrint(const sraSpanList *l) {
|
||||
sraSpan *curr;
|
||||
if (!l) {
|
||||
printf("NULL");
|
||||
return;
|
||||
}
|
||||
curr = l->front._next;
|
||||
printf("[");
|
||||
while (curr != &(l->back)) {
|
||||
sraSpanPrint(curr);
|
||||
curr = curr->_next;
|
||||
}
|
||||
printf("]");
|
||||
}
|
||||
|
||||
void
|
||||
sraSpanPrint(const sraSpan *s) {
|
||||
printf("(%d-%d)", (s->start), (s->end));
|
||||
if (s->subspan)
|
||||
sraSpanListPrint(s->subspan);
|
||||
}
|
||||
|
||||
sraSpanList *
|
||||
sraSpanListCreate() {
|
||||
sraSpanList *item = (sraSpanList*)malloc(sizeof(sraSpanList));
|
||||
item->front._next = &(item->back);
|
||||
item->front._prev = NULL;
|
||||
item->back._prev = &(item->front);
|
||||
item->back._next = NULL;
|
||||
return item;
|
||||
}
|
||||
|
||||
sraSpanList *
|
||||
sraSpanListDup(const sraSpanList *src) {
|
||||
sraSpanList *newlist;
|
||||
sraSpan *newspan, *curr;
|
||||
|
||||
if (!src) return NULL;
|
||||
newlist = sraSpanListCreate();
|
||||
curr = src->front._next;
|
||||
while (curr != &(src->back)) {
|
||||
newspan = sraSpanDup(curr);
|
||||
sraSpanInsertBefore(newspan, &(newlist->back));
|
||||
curr = curr->_next;
|
||||
}
|
||||
|
||||
return newlist;
|
||||
}
|
||||
|
||||
void
|
||||
sraSpanListDestroy(sraSpanList *list) {
|
||||
sraSpan *curr, *next;
|
||||
while (list->front._next != &(list->back)) {
|
||||
curr = list->front._next;
|
||||
next = curr->_next;
|
||||
sraSpanRemove(curr);
|
||||
sraSpanDestroy(curr);
|
||||
curr = next;
|
||||
}
|
||||
xfree(list);
|
||||
}
|
||||
|
||||
void
|
||||
sraSpanListMakeEmpty(sraSpanList *list) {
|
||||
sraSpan *curr, *next;
|
||||
while (list->front._next != &(list->back)) {
|
||||
curr = list->front._next;
|
||||
next = curr->_next;
|
||||
sraSpanRemove(curr);
|
||||
sraSpanDestroy(curr);
|
||||
curr = next;
|
||||
}
|
||||
list->front._next = &(list->back);
|
||||
list->front._prev = NULL;
|
||||
list->back._prev = &(list->front);
|
||||
list->back._next = NULL;
|
||||
}
|
||||
|
||||
int sraMax(int a, int b) {return (a>b)?a:b;};
|
||||
int sraMin(int a, int b) {return (a<b)?a:b;};
|
||||
|
||||
Bool
|
||||
sraSpanListEqual(const sraSpanList *s1, const sraSpanList *s2) {
|
||||
sraSpan *sp1, *sp2;
|
||||
|
||||
if (!s1) {
|
||||
if (!s2) {
|
||||
return 1;
|
||||
} else {
|
||||
printf("sraSpanListEqual:incompatible spans (only one NULL!)\n");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
sp1 = s1->front._next;
|
||||
sp2 = s2->front._next;
|
||||
while ((sp1 != &(s1->back)) &&
|
||||
(sp2 != &(s2->back))) {
|
||||
if ((sp1->start != sp2->start) ||
|
||||
(sp1->end != sp2->end) ||
|
||||
(!sraSpanListEqual(sp1->subspan, sp2->subspan))) {
|
||||
return 0;
|
||||
}
|
||||
sp1 = sp1->_next;
|
||||
sp2 = sp2->_next;
|
||||
}
|
||||
|
||||
if ((sp1 == &(s1->back)) && (sp2 == &(s2->back))) {
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
Bool
|
||||
sraSpanListEmpty(const sraSpanList *list) {
|
||||
return (list->front._next == &(list->back));
|
||||
}
|
||||
|
||||
unsigned long
|
||||
sraSpanListCount(const sraSpanList *list) {
|
||||
sraSpan *curr = list->front._next;
|
||||
unsigned long count = 0;
|
||||
while (curr != &(list->back)) {
|
||||
if (curr->subspan) {
|
||||
count += sraSpanListCount(curr->subspan);
|
||||
} else {
|
||||
count += 1;
|
||||
}
|
||||
curr = curr->_next;
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
void
|
||||
sraSpanMergePrevious(sraSpan *dest) {
|
||||
sraSpan *prev = dest->_prev;
|
||||
while ((prev->end == dest->start) &&
|
||||
(prev->_prev) &&
|
||||
(sraSpanListEqual(prev->subspan, dest->subspan))) {
|
||||
/*
|
||||
printf("merge_prev:");
|
||||
sraSpanPrint(prev);
|
||||
printf(" & ");
|
||||
sraSpanPrint(dest);
|
||||
printf("\n");
|
||||
*/
|
||||
dest->start = prev->start;
|
||||
sraSpanRemove(prev);
|
||||
sraSpanDestroy(prev);
|
||||
prev = dest->_prev;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
sraSpanMergeNext(sraSpan *dest) {
|
||||
sraSpan *next = dest->_next;
|
||||
while ((next->start == dest->end) &&
|
||||
(next->_next) &&
|
||||
(sraSpanListEqual(next->subspan, dest->subspan))) {
|
||||
/*
|
||||
printf("merge_next:");
|
||||
sraSpanPrint(dest);
|
||||
printf(" & ");
|
||||
sraSpanPrint(next);
|
||||
printf("\n");
|
||||
*/
|
||||
dest->end = next->end;
|
||||
sraSpanRemove(next);
|
||||
sraSpanDestroy(next);
|
||||
next = dest->_next;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
sraSpanListOr(sraSpanList *dest, const sraSpanList *src) {
|
||||
sraSpan *d_curr, *s_curr;
|
||||
int s_start, s_end;
|
||||
|
||||
if (!dest) {
|
||||
if (!src) {
|
||||
return;
|
||||
} else {
|
||||
printf("sraSpanListOr:incompatible spans (only one NULL!)\n");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
d_curr = dest->front._next;
|
||||
s_curr = src->front._next;
|
||||
s_start = s_curr->start;
|
||||
s_end = s_curr->end;
|
||||
while (s_curr != &(src->back)) {
|
||||
|
||||
// - If we are at end of destination list OR
|
||||
// If the new span comes before the next destination one
|
||||
if ((d_curr == &(dest->back)) ||
|
||||
(d_curr->start >= s_end)) {
|
||||
// - Add the span
|
||||
sraSpanInsertBefore(sraSpanCreate(s_start, s_end,
|
||||
s_curr->subspan),
|
||||
d_curr);
|
||||
if (d_curr != &(dest->back))
|
||||
sraSpanMergePrevious(d_curr);
|
||||
s_curr = s_curr->_next;
|
||||
s_start = s_curr->start;
|
||||
s_end = s_curr->end;
|
||||
} else {
|
||||
|
||||
// - If the new span overlaps the existing one
|
||||
if ((s_start < d_curr->end) &&
|
||||
(s_end > d_curr->start)) {
|
||||
|
||||
// - Insert new span before the existing destination one?
|
||||
if (s_start < d_curr->start) {
|
||||
sraSpanInsertBefore(sraSpanCreate(s_start,
|
||||
d_curr->start,
|
||||
s_curr->subspan),
|
||||
d_curr);
|
||||
sraSpanMergePrevious(d_curr);
|
||||
}
|
||||
|
||||
// Split the existing span if necessary
|
||||
if (s_end < d_curr->end) {
|
||||
sraSpanInsertAfter(sraSpanCreate(s_end,
|
||||
d_curr->end,
|
||||
d_curr->subspan),
|
||||
d_curr);
|
||||
d_curr->end = s_end;
|
||||
}
|
||||
if (s_start > d_curr->start) {
|
||||
sraSpanInsertBefore(sraSpanCreate(d_curr->start,
|
||||
s_start,
|
||||
d_curr->subspan),
|
||||
d_curr);
|
||||
d_curr->start = s_start;
|
||||
}
|
||||
|
||||
// Recursively OR subspans
|
||||
sraSpanListOr(d_curr->subspan, s_curr->subspan);
|
||||
|
||||
// Merge this span with previous or next?
|
||||
if (d_curr->_prev != &(dest->front))
|
||||
sraSpanMergePrevious(d_curr);
|
||||
if (d_curr->_next != &(dest->back))
|
||||
sraSpanMergeNext(d_curr);
|
||||
|
||||
// Move onto the next pair to compare
|
||||
if (s_end > d_curr->end) {
|
||||
s_start = d_curr->end;
|
||||
d_curr = d_curr->_next;
|
||||
} else {
|
||||
s_curr = s_curr->_next;
|
||||
s_start = s_curr->start;
|
||||
s_end = s_curr->end;
|
||||
}
|
||||
} else {
|
||||
// - No overlap. Move to the next destination span
|
||||
d_curr = d_curr->_next;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Bool
|
||||
sraSpanListAnd(sraSpanList *dest, const sraSpanList *src) {
|
||||
sraSpan *d_curr, *s_curr, *d_next;
|
||||
|
||||
if (!dest) {
|
||||
if (!src) {
|
||||
return 1;
|
||||
} else {
|
||||
printf("sraSpanListAnd:incompatible spans (only one NULL!)\n");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
d_curr = dest->front._next;
|
||||
s_curr = src->front._next;
|
||||
while ((s_curr != &(src->back)) && (d_curr != &(dest->back))) {
|
||||
|
||||
// - If we haven't reached a destination span yet then move on
|
||||
if (d_curr->start >= s_curr->end) {
|
||||
s_curr = s_curr->_next;
|
||||
continue;
|
||||
}
|
||||
|
||||
// - If we are beyond the current destination span then remove it
|
||||
if (d_curr->end <= s_curr->start) {
|
||||
sraSpan *next = d_curr->_next;
|
||||
sraSpanRemove(d_curr);
|
||||
sraSpanDestroy(d_curr);
|
||||
d_curr = next;
|
||||
continue;
|
||||
}
|
||||
|
||||
// - If we partially overlap a span then split it up or remove bits
|
||||
if (s_curr->start > d_curr->start) {
|
||||
// - The top bit of the span does not match
|
||||
d_curr->start = s_curr->start;
|
||||
}
|
||||
if (s_curr->end < d_curr->end) {
|
||||
// - The end of the span does not match
|
||||
sraSpanInsertAfter(sraSpanCreate(s_curr->end,
|
||||
d_curr->end,
|
||||
d_curr->subspan),
|
||||
d_curr);
|
||||
d_curr->end = s_curr->end;
|
||||
}
|
||||
|
||||
// - Now recursively process the affected span
|
||||
if (!sraSpanListAnd(d_curr->subspan, s_curr->subspan)) {
|
||||
// - The destination subspan is now empty, so we should remove it
|
||||
sraSpan *next = d_curr->_next;
|
||||
sraSpanRemove(d_curr);
|
||||
sraSpanDestroy(d_curr);
|
||||
d_curr = next;
|
||||
} else {
|
||||
// Merge this span with previous or next?
|
||||
if (d_curr->_prev != &(dest->front))
|
||||
sraSpanMergePrevious(d_curr);
|
||||
|
||||
// - Move on to the next span
|
||||
d_next = d_curr;
|
||||
if (s_curr->end >= d_curr->end) {
|
||||
d_next = d_curr->_next;
|
||||
}
|
||||
if (s_curr->end <= d_curr->end) {
|
||||
s_curr = s_curr->_next;
|
||||
}
|
||||
d_curr = d_next;
|
||||
}
|
||||
}
|
||||
|
||||
while (d_curr != &(dest->back)) {
|
||||
sraSpan *next = d_curr->_next;
|
||||
sraSpanRemove(d_curr);
|
||||
sraSpanDestroy(d_curr);
|
||||
d_curr=next;
|
||||
}
|
||||
|
||||
return !sraSpanListEmpty(dest);
|
||||
}
|
||||
|
||||
Bool
|
||||
sraSpanListSubtract(sraSpanList *dest, const sraSpanList *src) {
|
||||
sraSpan *d_curr, *s_curr;
|
||||
|
||||
if (!dest) {
|
||||
if (!src) {
|
||||
return 1;
|
||||
} else {
|
||||
printf("sraSpanListSubtract:incompatible spans (only one NULL!)\n");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
d_curr = dest->front._next;
|
||||
s_curr = src->front._next;
|
||||
while ((s_curr != &(src->back)) && (d_curr != &(dest->back))) {
|
||||
|
||||
// - If we haven't reached a destination span yet then move on
|
||||
if (d_curr->start >= s_curr->end) {
|
||||
s_curr = s_curr->_next;
|
||||
continue;
|
||||
}
|
||||
|
||||
// - If we are beyond the current destination span then skip it
|
||||
if (d_curr->end <= s_curr->start) {
|
||||
d_curr = d_curr->_next;
|
||||
continue;
|
||||
}
|
||||
|
||||
// - If we partially overlap the current span then split it up
|
||||
if (s_curr->start > d_curr->start) {
|
||||
sraSpanInsertBefore(sraSpanCreate(d_curr->start,
|
||||
s_curr->start,
|
||||
d_curr->subspan),
|
||||
d_curr);
|
||||
d_curr->start = s_curr->start;
|
||||
}
|
||||
if (s_curr->end < d_curr->end) {
|
||||
sraSpanInsertAfter(sraSpanCreate(s_curr->end,
|
||||
d_curr->end,
|
||||
d_curr->subspan),
|
||||
d_curr);
|
||||
d_curr->end = s_curr->end;
|
||||
}
|
||||
|
||||
// - Now recursively process the affected span
|
||||
if ((!d_curr->subspan) || !sraSpanListSubtract(d_curr->subspan, s_curr->subspan)) {
|
||||
// - The destination subspan is now empty, so we should remove it
|
||||
sraSpan *next = d_curr->_next;
|
||||
sraSpanRemove(d_curr);
|
||||
sraSpanDestroy(d_curr);
|
||||
d_curr = next;
|
||||
} else {
|
||||
// Merge this span with previous or next?
|
||||
if (d_curr->_prev != &(dest->front))
|
||||
sraSpanMergePrevious(d_curr);
|
||||
if (d_curr->_next != &(dest->back))
|
||||
sraSpanMergeNext(d_curr);
|
||||
|
||||
// - Move on to the next span
|
||||
if (s_curr->end > d_curr->end) {
|
||||
d_curr = d_curr->_next;
|
||||
} else {
|
||||
s_curr = s_curr->_next;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return !sraSpanListEmpty(dest);
|
||||
}
|
||||
|
||||
/* -=- Region routines */
|
||||
|
||||
sraRegion *
|
||||
sraRgnCreate() {
|
||||
return (sraRegion*)sraSpanListCreate();
|
||||
}
|
||||
|
||||
sraRegion *
|
||||
sraRgnCreateRect(int x1, int y1, int x2, int y2) {
|
||||
sraSpanList *vlist, *hlist;
|
||||
sraSpan *vspan, *hspan;
|
||||
|
||||
/* - Build the horizontal portion of the span */
|
||||
hlist = sraSpanListCreate();
|
||||
hspan = sraSpanCreate(x1, x2, NULL);
|
||||
sraSpanInsertAfter(hspan, &(hlist->front));
|
||||
|
||||
/* - Build the vertical portion of the span */
|
||||
vlist = sraSpanListCreate();
|
||||
vspan = sraSpanCreate(y1, y2, hlist);
|
||||
sraSpanInsertAfter(vspan, &(vlist->front));
|
||||
|
||||
sraSpanListDestroy(hlist);
|
||||
|
||||
return (sraRegion*)vlist;
|
||||
}
|
||||
|
||||
sraRegion *
|
||||
sraRgnCreateRgn(const sraRegion *src) {
|
||||
return (sraRegion*)sraSpanListDup((sraSpanList*)src);
|
||||
}
|
||||
|
||||
void
|
||||
sraRgnDestroy(sraRegion *rgn) {
|
||||
sraSpanListDestroy((sraSpanList*)rgn);
|
||||
}
|
||||
|
||||
void
|
||||
sraRgnMakeEmpty(sraRegion *rgn) {
|
||||
sraSpanListMakeEmpty((sraSpanList*)rgn);
|
||||
}
|
||||
|
||||
/* -=- Boolean Region ops */
|
||||
|
||||
Bool
|
||||
sraRgnAnd(sraRegion *dst, const sraRegion *src) {
|
||||
return sraSpanListAnd((sraSpanList*)dst, (sraSpanList*)src);
|
||||
}
|
||||
|
||||
void
|
||||
sraRgnOr(sraRegion *dst, const sraRegion *src) {
|
||||
sraSpanListOr((sraSpanList*)dst, (sraSpanList*)src);
|
||||
}
|
||||
|
||||
Bool
|
||||
sraRgnSubtract(sraRegion *dst, const sraRegion *src) {
|
||||
return sraSpanListSubtract((sraSpanList*)dst, (sraSpanList*)src);
|
||||
}
|
||||
|
||||
void
|
||||
sraRgnOffset(sraRegion *dst, int dx, int dy) {
|
||||
sraSpan *vcurr, *hcurr;
|
||||
|
||||
vcurr = ((sraSpanList*)dst)->front._next;
|
||||
while (vcurr != &(((sraSpanList*)dst)->back)) {
|
||||
vcurr->start += dy;
|
||||
vcurr->end += dy;
|
||||
|
||||
hcurr = vcurr->subspan->front._next;
|
||||
while (hcurr != &(vcurr->subspan->back)) {
|
||||
hcurr->start += dx;
|
||||
hcurr->end += dx;
|
||||
hcurr = hcurr->_next;
|
||||
}
|
||||
|
||||
vcurr = vcurr->_next;
|
||||
}
|
||||
}
|
||||
|
||||
Bool
|
||||
sraRgnPopRect(sraRegion *rgn, sraRect *rect, unsigned long flags) {
|
||||
sraSpan *vcurr, *hcurr;
|
||||
sraSpan *vend, *hend;
|
||||
Bool right2left = flags & 2;
|
||||
Bool bottom2top = flags & 1;
|
||||
|
||||
// - Pick correct order
|
||||
if (bottom2top) {
|
||||
vcurr = ((sraSpanList*)rgn)->back._prev;
|
||||
vend = &(((sraSpanList*)rgn)->front);
|
||||
} else {
|
||||
vcurr = ((sraSpanList*)rgn)->front._next;
|
||||
vend = &(((sraSpanList*)rgn)->back);
|
||||
}
|
||||
|
||||
if (vcurr != vend) {
|
||||
rect->y1 = vcurr->start;
|
||||
rect->y2 = vcurr->end;
|
||||
|
||||
// - Pick correct order
|
||||
if (right2left) {
|
||||
hcurr = vcurr->subspan->back._prev;
|
||||
hend = &(vcurr->subspan->front);
|
||||
} else {
|
||||
hcurr = vcurr->subspan->front._next;
|
||||
hend = &(vcurr->subspan->back);
|
||||
}
|
||||
|
||||
if (hcurr != hend) {
|
||||
rect->x1 = hcurr->start;
|
||||
rect->x2 = hcurr->end;
|
||||
|
||||
sraSpanRemove(hcurr);
|
||||
sraSpanDestroy(hcurr);
|
||||
|
||||
if (sraSpanListEmpty(vcurr->subspan)) {
|
||||
sraSpanRemove(vcurr);
|
||||
sraSpanDestroy(vcurr);
|
||||
}
|
||||
|
||||
#if 0
|
||||
printf("poprect:(%dx%d)-(%dx%d)\n",
|
||||
rect->x1, rect->y1, rect->x2, rect->y2);
|
||||
#endif
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
unsigned long
|
||||
sraRgnCountRects(const sraRegion *rgn) {
|
||||
unsigned long count = sraSpanListCount((sraSpanList*)rgn);
|
||||
return count;
|
||||
}
|
||||
|
||||
Bool
|
||||
sraRgnEmpty(const sraRegion *rgn) {
|
||||
return sraSpanListEmpty((sraSpanList*)rgn);
|
||||
}
|
||||
|
||||
/* iterator stuff */
|
||||
sraRectangleIterator *sraRgnGetIterator(sraRegion *s)
|
||||
{
|
||||
/* these values have to be multiples of 4 */
|
||||
#define DEFSIZE 4
|
||||
#define DEFSTEP 8
|
||||
sraRectangleIterator *i =
|
||||
(sraRectangleIterator*)malloc(sizeof(sraRectangleIterator));
|
||||
if(!i)
|
||||
return(0);
|
||||
|
||||
/* we have to recurse eventually. So, the first sPtr is the pointer to
|
||||
the sraSpan in the first level. the second sPtr is the pointer to
|
||||
the sraRegion.back. The third and fourth sPtr are for the second
|
||||
recursion level and so on. */
|
||||
i->sPtrs = (sraSpan**)malloc(sizeof(sraSpan*)*DEFSIZE);
|
||||
if(!i->sPtrs) {
|
||||
free(i);
|
||||
return(0);
|
||||
}
|
||||
i->ptrSize = DEFSIZE;
|
||||
i->sPtrs[0] = &(s->front);
|
||||
i->sPtrs[1] = &(s->back);
|
||||
i->ptrPos = 0;
|
||||
i->reverseX = 0;
|
||||
i->reverseY = 0;
|
||||
return(i);
|
||||
}
|
||||
|
||||
sraRectangleIterator *sraRgnGetReverseIterator(sraRegion *s,Bool reverseX,Bool reverseY)
|
||||
{
|
||||
sraRectangleIterator *i = sraRgnGetIterator(s);
|
||||
if(reverseY) {
|
||||
i->sPtrs[1] = &(s->front);
|
||||
i->sPtrs[0] = &(s->back);
|
||||
}
|
||||
i->reverseX = reverseX;
|
||||
i->reverseY = reverseY;
|
||||
return(i);
|
||||
}
|
||||
|
||||
Bool sraReverse(sraRectangleIterator *i)
|
||||
{
|
||||
return( ((i->ptrPos&2) && i->reverseX) ||
|
||||
(!(i->ptrPos&2) && i->reverseY));
|
||||
}
|
||||
|
||||
sraSpan* sraNextSpan(sraRectangleIterator *i)
|
||||
{
|
||||
if(sraReverse(i))
|
||||
return(i->sPtrs[i->ptrPos]->_prev);
|
||||
else
|
||||
return(i->sPtrs[i->ptrPos]->_next);
|
||||
}
|
||||
|
||||
Bool sraRgnIteratorNext(sraRectangleIterator* i,sraRect* r)
|
||||
{
|
||||
/* is the subspan finished? */
|
||||
while(sraNextSpan(i) == i->sPtrs[i->ptrPos+1]) {
|
||||
i->ptrPos -= 2;
|
||||
if(i->ptrPos < 0) /* the end */
|
||||
return(0);
|
||||
}
|
||||
|
||||
i->sPtrs[i->ptrPos] = sraNextSpan(i);
|
||||
|
||||
/* is this a new subspan? */
|
||||
while(i->sPtrs[i->ptrPos]->subspan) {
|
||||
if(i->ptrPos+2 > i->ptrSize) { /* array is too small */
|
||||
i->ptrSize += DEFSTEP;
|
||||
i->sPtrs = (sraSpan**)realloc(i->sPtrs, sizeof(sraSpan*)*i->ptrSize);
|
||||
}
|
||||
i->ptrPos =+ 2;
|
||||
if(sraReverse(i)) {
|
||||
i->sPtrs[i->ptrPos] = i->sPtrs[i->ptrPos-2]->subspan->back._prev;
|
||||
i->sPtrs[i->ptrPos+1] = &(i->sPtrs[i->ptrPos-2]->subspan->front);
|
||||
} else {
|
||||
i->sPtrs[i->ptrPos] = i->sPtrs[i->ptrPos-2]->subspan->front._next;
|
||||
i->sPtrs[i->ptrPos+1] = &(i->sPtrs[i->ptrPos-2]->subspan->back);
|
||||
}
|
||||
}
|
||||
|
||||
if((i->ptrPos%4)!=2) {
|
||||
fprintf(stderr,"sraRgnIteratorNext: offset is wrong (%d%%4!=2)\n",i->ptrPos);
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
r->y1 = i->sPtrs[i->ptrPos-2]->start;
|
||||
r->y2 = i->sPtrs[i->ptrPos-2]->end;
|
||||
r->x1 = i->sPtrs[i->ptrPos]->start;
|
||||
r->x2 = i->sPtrs[i->ptrPos]->end;
|
||||
|
||||
return(-1);
|
||||
}
|
||||
|
||||
void sraRgnReleaseIterator(sraRectangleIterator* i)
|
||||
{
|
||||
free(i->sPtrs);
|
||||
free(i);
|
||||
}
|
||||
|
||||
void
|
||||
sraRgnPrint(const sraRegion *rgn) {
|
||||
sraSpanListPrint((sraSpanList*)rgn);
|
||||
}
|
||||
|
||||
Bool
|
||||
sraClipRect(int *x, int *y, int *w, int *h,
|
||||
int cx, int cy, int cw, int ch) {
|
||||
if (*x < cx) {
|
||||
*w -= (cx-*x);
|
||||
*x = cx;
|
||||
}
|
||||
if (*y < cy) {
|
||||
*h -= (cy-*y);
|
||||
*y = cy;
|
||||
}
|
||||
if (*x+*w > cx+cw) {
|
||||
*w = (cx+cw)-*x;
|
||||
}
|
||||
if (*y+*h > cy+ch) {
|
||||
*h = (cy+ch)-*y;
|
||||
}
|
||||
return (*w>0) && (*h>0);
|
||||
}
|
||||
|
||||
/* test */
|
||||
|
||||
#ifdef SRA_TEST
|
||||
/* pipe the output to sort|uniq -u and you'll get the errors. */
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
sraRegionPtr region, region1, region2;
|
||||
sraRectangleIterator* i;
|
||||
sraRect rect;
|
||||
Bool b;
|
||||
|
||||
region = sraRgnCreateRect(10, 10, 600, 300);
|
||||
region1 = sraRgnCreateRect(40, 50, 350, 200);
|
||||
region2 = sraRgnCreateRect(0, 0, 20, 40);
|
||||
|
||||
sraRgnPrint(region);
|
||||
printf("\n[(10-300)[(10-600)]]\n\n");
|
||||
|
||||
b = sraRgnSubtract(region, region1);
|
||||
printf("%s ",b?"true":"false");
|
||||
sraRgnPrint(region);
|
||||
printf("\ntrue [(10-50)[(10-600)](50-200)[(10-40)(350-600)](200-300)[(10-600)]]\n\n");
|
||||
|
||||
sraRgnOr(region, region2);
|
||||
printf("%ld\n6\n\n", sraRgnCountRects(region));
|
||||
|
||||
i = sraRgnGetIterator(region);
|
||||
while(sraRgnIteratorNext(i, &rect))
|
||||
printf("%dx%d+%d+%d ",
|
||||
rect.x2-rect.x1,rect.y2-rect.y1,
|
||||
rect.x1,rect.y1);
|
||||
sraRgnReleaseIterator(i);
|
||||
printf("\n20x10+0+0 600x30+0+10 590x10+10+40 30x150+10+50 250x150+350+50 590x100+10+200\n\n");
|
||||
|
||||
i = sraRgnGetReverseIterator(region,1,0);
|
||||
while(sraRgnIteratorNext(i, &rect))
|
||||
printf("%dx%d+%d+%d ",
|
||||
rect.x2-rect.x1,rect.y2-rect.y1,
|
||||
rect.x1,rect.y1);
|
||||
sraRgnReleaseIterator(i);
|
||||
printf("\n20x10+0+0 600x30+0+10 590x10+10+40 250x150+350+50 30x150+10+50 590x100+10+200\n\n");
|
||||
|
||||
i = sraRgnGetReverseIterator(region,1,1);
|
||||
while(sraRgnIteratorNext(i, &rect))
|
||||
printf("%dx%d+%d+%d ",
|
||||
rect.x2-rect.x1,rect.y2-rect.y1,
|
||||
rect.x1,rect.y1);
|
||||
sraRgnReleaseIterator(i);
|
||||
printf("\n590x100+10+200 250x150+350+50 30x150+10+50 590x10+10+40 600x30+0+10 20x10+0+0\n\n");
|
||||
|
||||
return(0);
|
||||
}
|
||||
#endif
|
@ -0,0 +1,56 @@
|
||||
/* -=- SRA - Simple Region Algorithm
|
||||
* A simple rectangular region implementation.
|
||||
* Copyright (c) 2001 James "Wez" Weatherall, Johannes E. Schindelin
|
||||
*/
|
||||
|
||||
/* -=- sraRect */
|
||||
|
||||
typedef struct _rect {
|
||||
int x1;
|
||||
int y1;
|
||||
int x2;
|
||||
int y2;
|
||||
} sraRect;
|
||||
|
||||
//struct sraRegion;
|
||||
typedef struct sraRegion sraRegion;
|
||||
|
||||
/* -=- Region manipulation functions */
|
||||
|
||||
extern sraRegion *sraRgnCreate();
|
||||
extern sraRegion *sraRgnCreateRect(int x1, int y1, int x2, int y2);
|
||||
extern sraRegion *sraRgnCreateRgn(const sraRegion *src);
|
||||
|
||||
extern void sraRgnDestroy(sraRegion *rgn);
|
||||
extern void sraRgnMakeEmpty(sraRegion *rgn);
|
||||
extern Bool sraRgnAnd(sraRegion *dst, const sraRegion *src);
|
||||
extern void sraRgnOr(sraRegion *dst, const sraRegion *src);
|
||||
extern Bool sraRgnSubtract(sraRegion *dst, const sraRegion *src);
|
||||
|
||||
extern void sraRgnOffset(sraRegion *dst, int dx, int dy);
|
||||
|
||||
extern Bool sraRgnPopRect(sraRegion *region, sraRect *rect,
|
||||
unsigned long flags);
|
||||
|
||||
extern unsigned long sraRgnCountRects(const sraRegion *rgn);
|
||||
extern Bool sraRgnEmpty(const sraRegion *rgn);
|
||||
|
||||
/* -=- rectangle iterator */
|
||||
|
||||
typedef struct sraRectangleIterator {
|
||||
Bool reverseX,reverseY;
|
||||
int ptrSize,ptrPos;
|
||||
struct sraSpan** sPtrs;
|
||||
} sraRectangleIterator;
|
||||
|
||||
extern sraRectangleIterator *sraRgnGetIterator(sraRegion *s);
|
||||
extern sraRectangleIterator *sraRgnGetReverseIterator(sraRegion *s,Bool reverseX,Bool reverseY);
|
||||
extern Bool sraRgnIteratorNext(sraRectangleIterator *i,sraRect *r);
|
||||
extern void sraRgnReleaseIterator(sraRectangleIterator *i);
|
||||
|
||||
void sraRgnPrint(const sraRegion *s);
|
||||
|
||||
/* -=- Rectangle clipper (for speed) */
|
||||
|
||||
extern Bool sraClipRect(int *x, int *y, int *w, int *h,
|
||||
int cx, int cy, int cw, int ch);
|
@ -1,205 +0,0 @@
|
||||
/* XALLOC -- X's internal memory allocator. Why does it return unsigned
|
||||
* long * instead of the more common char *? Well, if you read K&R you'll
|
||||
* see they say that alloc must return a pointer "suitable for conversion"
|
||||
* to whatever type you really want. In a full-blown generic allocator
|
||||
* there's no way to solve the alignment problems without potentially
|
||||
* wasting lots of space. But we have a more limited problem. We know
|
||||
* we're only ever returning pointers to structures which will have to
|
||||
* be long word aligned. So we are making a stronger guarantee. It might
|
||||
* have made sense to make Xalloc return char * to conform with people's
|
||||
* expectations of malloc, but this makes lint happier.
|
||||
*/
|
||||
|
||||
#ifdef WIN32
|
||||
#include <X11/Xwinsock.h>
|
||||
#endif
|
||||
#include "X11/Xos.h"
|
||||
#include <stdio.h>
|
||||
#include "Xserver/misc.h"
|
||||
#include "X11/X.h"
|
||||
#include "Xserver/input.h"
|
||||
#include "Xserver/opaque.h"
|
||||
#ifdef X_POSIX_C_SOURCE
|
||||
#define _POSIX_C_SOURCE X_POSIX_C_SOURCE
|
||||
#include <signal.h>
|
||||
#undef _POSIX_C_SOURCE
|
||||
#else
|
||||
#if defined(X_NOT_POSIX) || defined(_POSIX_SOURCE)
|
||||
#include <signal.h>
|
||||
#else
|
||||
#define _POSIX_SOURCE
|
||||
#include <signal.h>
|
||||
#undef _POSIX_SOURCE
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(SYSV) && !defined(AMOEBA) && !defined(_MINIX) && !defined(WIN32) && !defined(Lynx)
|
||||
#include <sys/resource.h>
|
||||
#endif
|
||||
#include <time.h>
|
||||
#include <sys/stat.h>
|
||||
#include <ctype.h> /* for isspace */
|
||||
#if NeedVarargsPrototypes
|
||||
#include <stdarg.h>
|
||||
#endif
|
||||
#ifdef __sgi__
|
||||
#undef abs
|
||||
#endif
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifndef INTERNAL_MALLOC
|
||||
|
||||
Bool Must_have_memory = FALSE;
|
||||
|
||||
unsigned long *
|
||||
Xalloc (amount)
|
||||
unsigned long amount;
|
||||
{
|
||||
#if !defined(__STDC__) && !defined(AMOEBA)
|
||||
char *malloc();
|
||||
#endif
|
||||
register pointer ptr;
|
||||
|
||||
if ((long)amount <= 0) {
|
||||
return (unsigned long *)NULL;
|
||||
}
|
||||
/* aligned extra on long word boundary */
|
||||
amount = (amount + (sizeof(long) - 1)) & ~(sizeof(long) - 1);
|
||||
#ifdef MEMBUG
|
||||
if (!Must_have_memory && Memory_fail &&
|
||||
((random() % MEM_FAIL_SCALE) < Memory_fail))
|
||||
return (unsigned long *)NULL;
|
||||
#endif
|
||||
if ((ptr = (pointer)malloc(amount))) {
|
||||
return (unsigned long *)ptr;
|
||||
}
|
||||
if (Must_have_memory)
|
||||
FatalError("Out of memory");
|
||||
return (unsigned long *)NULL;
|
||||
}
|
||||
|
||||
/*****************
|
||||
* XNFalloc
|
||||
* "no failure" realloc, alternate interface to Xalloc w/o Must_have_memory
|
||||
*****************/
|
||||
|
||||
unsigned long *
|
||||
XNFalloc (amount)
|
||||
unsigned long amount;
|
||||
{
|
||||
#if !defined(__STDC__) && !defined(AMOEBA)
|
||||
char *malloc();
|
||||
#endif
|
||||
register pointer ptr;
|
||||
|
||||
if ((long)amount <= 0)
|
||||
{
|
||||
return (unsigned long *)NULL;
|
||||
}
|
||||
/* aligned extra on long word boundary */
|
||||
amount = (amount + (sizeof(long) - 1)) & ~(sizeof(long) - 1);
|
||||
ptr = (pointer)malloc(amount);
|
||||
if (!ptr)
|
||||
{
|
||||
FatalError("Out of memory");
|
||||
}
|
||||
return ((unsigned long *)ptr);
|
||||
}
|
||||
|
||||
/*****************
|
||||
* Xcalloc
|
||||
*****************/
|
||||
|
||||
unsigned long *
|
||||
Xcalloc (amount)
|
||||
unsigned long amount;
|
||||
{
|
||||
unsigned long *ret;
|
||||
|
||||
ret = Xalloc (amount);
|
||||
if (ret)
|
||||
bzero ((char *) ret, (int) amount);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*****************
|
||||
* Xrealloc
|
||||
*****************/
|
||||
|
||||
unsigned long *
|
||||
Xrealloc (ptr, amount)
|
||||
register pointer ptr;
|
||||
unsigned long amount;
|
||||
{
|
||||
#if !defined(__STDC__) && !defined(AMOEBA)
|
||||
char *malloc();
|
||||
char *realloc();
|
||||
#endif
|
||||
|
||||
#ifdef MEMBUG
|
||||
if (!Must_have_memory && Memory_fail &&
|
||||
((random() % MEM_FAIL_SCALE) < Memory_fail))
|
||||
return (unsigned long *)NULL;
|
||||
#endif
|
||||
if ((long)amount <= 0)
|
||||
{
|
||||
if (ptr && !amount)
|
||||
free(ptr);
|
||||
return (unsigned long *)NULL;
|
||||
}
|
||||
amount = (amount + (sizeof(long) - 1)) & ~(sizeof(long) - 1);
|
||||
if (ptr)
|
||||
ptr = (pointer)realloc((char *)ptr, amount);
|
||||
else
|
||||
ptr = (pointer)malloc(amount);
|
||||
if (ptr)
|
||||
return (unsigned long *)ptr;
|
||||
if (Must_have_memory)
|
||||
FatalError("Out of memory");
|
||||
return (unsigned long *)NULL;
|
||||
}
|
||||
|
||||
/*****************
|
||||
* XNFrealloc
|
||||
* "no failure" realloc, alternate interface to Xrealloc w/o Must_have_memory
|
||||
*****************/
|
||||
|
||||
unsigned long *
|
||||
XNFrealloc (ptr, amount)
|
||||
register pointer ptr;
|
||||
unsigned long amount;
|
||||
{
|
||||
if (( ptr = (pointer)Xrealloc( ptr, amount ) ) == NULL)
|
||||
{
|
||||
FatalError( "Out of memory" );
|
||||
}
|
||||
return ((unsigned long *)ptr);
|
||||
}
|
||||
|
||||
/*****************
|
||||
* Xfree
|
||||
* calls free
|
||||
*****************/
|
||||
|
||||
void
|
||||
Xfree(ptr)
|
||||
register pointer ptr;
|
||||
{
|
||||
if (ptr)
|
||||
free((char *)ptr);
|
||||
}
|
||||
|
||||
void
|
||||
FatalError(char *f, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
fprintf(stderr, "\nFatal server error:\n");
|
||||
va_start(args, f);
|
||||
vfprintf(stderr, f, args);
|
||||
va_end(args);
|
||||
fprintf(stderr, "\n");
|
||||
|
||||
exit(1);
|
||||
}
|
||||
|
||||
#endif
|
Loading…
Reference in new issue