mirror of
https://github.com/X11Libre/xserver.git
synced 2026-03-24 10:14:52 +00:00
R6.6 is the Xorg base-line
This commit is contained in:
138
include/closestr.h
Normal file
138
include/closestr.h
Normal file
@@ -0,0 +1,138 @@
|
||||
/* $Xorg: closestr.h,v 1.4 2001/02/09 02:05:14 xorgcvs Exp $ */
|
||||
/*
|
||||
|
||||
Copyright 1991, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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 OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
#ifndef CLOSESTR_H
|
||||
#define CLOSESTR_H
|
||||
|
||||
#define NEED_REPLIES
|
||||
#include "Xproto.h"
|
||||
#include "closure.h"
|
||||
#include "dix.h"
|
||||
#include "misc.h"
|
||||
#include "gcstruct.h"
|
||||
|
||||
/* closure structures */
|
||||
|
||||
/* OpenFont */
|
||||
|
||||
typedef struct _OFclosure {
|
||||
ClientPtr client;
|
||||
short current_fpe;
|
||||
short num_fpes;
|
||||
FontPathElementPtr *fpe_list;
|
||||
Mask flags;
|
||||
Bool slept;
|
||||
|
||||
/* XXX -- get these from request buffer instead? */
|
||||
char *origFontName;
|
||||
int origFontNameLen;
|
||||
XID fontid;
|
||||
char *fontname;
|
||||
int fnamelen;
|
||||
FontPtr non_cachable_font;
|
||||
} OFclosureRec;
|
||||
|
||||
/* ListFontsWithInfo */
|
||||
|
||||
#define XLFDMAXFONTNAMELEN 256
|
||||
typedef struct _LFWIstate {
|
||||
char pattern[XLFDMAXFONTNAMELEN];
|
||||
int patlen;
|
||||
int current_fpe;
|
||||
int max_names;
|
||||
Bool list_started;
|
||||
pointer private;
|
||||
} LFWIstateRec, *LFWIstatePtr;
|
||||
|
||||
typedef struct _LFWIclosure {
|
||||
ClientPtr client;
|
||||
int num_fpes;
|
||||
FontPathElementPtr *fpe_list;
|
||||
xListFontsWithInfoReply *reply;
|
||||
int length;
|
||||
LFWIstateRec current;
|
||||
LFWIstateRec saved;
|
||||
int savedNumFonts;
|
||||
Bool haveSaved;
|
||||
Bool slept;
|
||||
char *savedName;
|
||||
} LFWIclosureRec;
|
||||
|
||||
/* ListFonts */
|
||||
|
||||
typedef struct _LFclosure {
|
||||
ClientPtr client;
|
||||
int num_fpes;
|
||||
FontPathElementPtr *fpe_list;
|
||||
FontNamesPtr names;
|
||||
LFWIstateRec current;
|
||||
LFWIstateRec saved;
|
||||
Bool haveSaved;
|
||||
Bool slept;
|
||||
char *savedName;
|
||||
int savedNameLen;
|
||||
} LFclosureRec;
|
||||
|
||||
/* PolyText */
|
||||
|
||||
typedef struct _PTclosure {
|
||||
ClientPtr client;
|
||||
DrawablePtr pDraw;
|
||||
GC *pGC;
|
||||
unsigned char *pElt;
|
||||
unsigned char *endReq;
|
||||
unsigned char *data;
|
||||
int xorg;
|
||||
int yorg;
|
||||
CARD8 reqType;
|
||||
int (* polyText)();
|
||||
int itemSize;
|
||||
XID did;
|
||||
int err;
|
||||
Bool slept;
|
||||
} PTclosureRec;
|
||||
|
||||
/* ImageText */
|
||||
|
||||
typedef struct _ITclosure {
|
||||
ClientPtr client;
|
||||
DrawablePtr pDraw;
|
||||
GC *pGC;
|
||||
BYTE nChars;
|
||||
unsigned char *data;
|
||||
int xorg;
|
||||
int yorg;
|
||||
CARD8 reqType;
|
||||
void (* imageText)();
|
||||
int itemSize;
|
||||
XID did;
|
||||
Bool slept;
|
||||
} ITclosureRec;
|
||||
#endif /* CLOSESTR_H */
|
||||
57
include/closure.h
Normal file
57
include/closure.h
Normal file
@@ -0,0 +1,57 @@
|
||||
/* $Xorg: closure.h,v 1.4 2001/02/09 02:05:14 xorgcvs Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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 CLOSURE_H
|
||||
#define CLOSURE_H 1
|
||||
|
||||
typedef struct _LFclosure *LFclosurePtr;
|
||||
typedef struct _LFWIclosure *LFWIclosurePtr;
|
||||
typedef struct _OFclosure *OFclosurePtr;
|
||||
typedef struct _PTclosure *PTclosurePtr;
|
||||
typedef struct _ITclosure *ITclosurePtr;
|
||||
|
||||
#endif /* CLOSURE_H */
|
||||
233
include/colormap.h
Normal file
233
include/colormap.h
Normal file
@@ -0,0 +1,233 @@
|
||||
/*
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
/* $Xorg: colormap.h,v 1.4 2001/02/09 02:05:14 xorgcvs 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;
|
||||
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
|
||||
WindowPtr /*pwin*/,
|
||||
pointer /* Colormap *pmid */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int TellGainedMap(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*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*/,
|
||||
WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#endif /* CMAP_H */
|
||||
120
include/colormapst.h
Normal file
120
include/colormapst.h
Normal file
@@ -0,0 +1,120 @@
|
||||
/*
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
/* $Xorg: colormapst.h,v 1.4 2001/02/09 02:05:14 xorgcvs Exp $ */
|
||||
#ifndef CMAPSTRUCT_H
|
||||
#define CMAPSTRUCT_H 1
|
||||
|
||||
#include "colormap.h"
|
||||
#include "screenint.h"
|
||||
|
||||
/* Shared color -- the color is used by AllocColorPlanes */
|
||||
typedef struct
|
||||
{
|
||||
unsigned short color;
|
||||
short refcnt;
|
||||
} SHAREDCOLOR;
|
||||
|
||||
/* LOCO -- a local color for a PseudoColor cell. DirectColor maps always
|
||||
* use the first value (called red) in the structure. What channel they
|
||||
* are really talking about depends on which map they are in. */
|
||||
typedef struct
|
||||
{
|
||||
unsigned short red, green, blue;
|
||||
} LOCO;
|
||||
|
||||
/* SHCO -- a shared color for a PseudoColor cell. Used with AllocColorPlanes.
|
||||
* DirectColor maps always use the first value (called red) in the structure.
|
||||
* What channel they are really talking about depends on which map they
|
||||
* are in. */
|
||||
typedef struct
|
||||
{
|
||||
SHAREDCOLOR *red, *green, *blue;
|
||||
} SHCO;
|
||||
|
||||
|
||||
/* color map entry */
|
||||
typedef struct _CMEntry
|
||||
{
|
||||
union
|
||||
{
|
||||
LOCO local;
|
||||
SHCO shco;
|
||||
} co;
|
||||
short refcnt;
|
||||
Bool fShared;
|
||||
} Entry;
|
||||
|
||||
/* COLORMAPs can be used for either Direct or Pseudo color. PseudoColor
|
||||
* only needs one cell table, we arbitrarily pick red. We keep track
|
||||
* of that table with freeRed, numPixelsRed, and clientPixelsRed */
|
||||
|
||||
typedef struct _ColormapRec
|
||||
{
|
||||
VisualPtr pVisual;
|
||||
short class; /* PseudoColor or DirectColor */
|
||||
long mid; /* client's name for colormap */
|
||||
ScreenPtr pScreen; /* screen map is associated with */
|
||||
short flags; /* 1 = IsDefault
|
||||
* 2 = AllAllocated */
|
||||
int freeRed;
|
||||
int freeGreen;
|
||||
int freeBlue;
|
||||
int *numPixelsRed;
|
||||
int *numPixelsGreen;
|
||||
int *numPixelsBlue;
|
||||
Pixel **clientPixelsRed;
|
||||
Pixel **clientPixelsGreen;
|
||||
Pixel **clientPixelsBlue;
|
||||
Entry *red;
|
||||
Entry *green;
|
||||
Entry *blue;
|
||||
pointer devPriv;
|
||||
DevUnion *devPrivates; /* dynamic devPrivates added after devPriv
|
||||
already existed - must keep devPriv */
|
||||
} ColormapRec;
|
||||
|
||||
#endif /* COLORMAP_H */
|
||||
151
include/cursor.h
Normal file
151
include/cursor.h
Normal file
@@ -0,0 +1,151 @@
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
******************************************************************/
|
||||
/* $Xorg: cursor.h,v 1.4 2001/02/09 02:05:15 xorgcvs 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 AllocCursor(
|
||||
#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
|
||||
WindowPtr /*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 */
|
||||
80
include/cursorstr.h
Normal file
80
include/cursorstr.h
Normal file
@@ -0,0 +1,80 @@
|
||||
/* $Xorg: cursorstr.h,v 1.4 2001/02/09 02:05:15 xorgcvs Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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 CURSORSTRUCT_H
|
||||
#define CURSORSTRUCT_H
|
||||
|
||||
#include "cursor.h"
|
||||
/*
|
||||
* device-independent cursor storage
|
||||
*/
|
||||
|
||||
/*
|
||||
* source and mask point directly to the bits, which are in the server-defined
|
||||
* bitmap format.
|
||||
*/
|
||||
typedef struct _CursorBits {
|
||||
unsigned char *source; /* points to bits */
|
||||
unsigned char *mask; /* points to bits */
|
||||
unsigned short width, height, xhot, yhot; /* metrics */
|
||||
int refcnt; /* can be shared */
|
||||
pointer devPriv[MAXSCREENS]; /* set by pScr->RealizeCursor*/
|
||||
} CursorBits, *CursorBitsPtr;
|
||||
|
||||
typedef struct _Cursor {
|
||||
CursorBitsPtr bits;
|
||||
unsigned short foreRed, foreGreen, foreBlue; /* device-independent color */
|
||||
unsigned short backRed, backGreen, backBlue; /* device-independent color */
|
||||
int refcnt;
|
||||
pointer devPriv[MAXSCREENS]; /* set by pScr->RealizeCursor*/
|
||||
} CursorRec;
|
||||
|
||||
typedef struct _CursorMetric {
|
||||
unsigned short width, height, xhot, yhot;
|
||||
} CursorMetricRec;
|
||||
|
||||
#endif /* CURSORSTRUCT_H */
|
||||
1090
include/dix.h
Normal file
1090
include/dix.h
Normal file
File diff suppressed because it is too large
Load Diff
331
include/dixfont.h
Normal file
331
include/dixfont.h
Normal file
@@ -0,0 +1,331 @@
|
||||
/* $Xorg: dixfont.h,v 1.3 2000/08/17 19:53:29 cpqbld Exp $ */
|
||||
/***********************************************************
|
||||
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 DIXFONT_H
|
||||
#define DIXFONT_H 1
|
||||
|
||||
#include <dix.h>
|
||||
#include <font.h>
|
||||
#include <closure.h>
|
||||
|
||||
#define NullDIXFontProp ((DIXFontPropPtr)0)
|
||||
|
||||
typedef struct _DIXFontProp *DIXFontPropPtr;
|
||||
|
||||
extern int FontToXError(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*err*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool SetDefaultFont(
|
||||
#if NeedFunctionPrototypes
|
||||
char * /*defaultfontname*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void QueueFontWakeup(
|
||||
#if NeedFunctionPrototypes
|
||||
FontPathElementPtr /*fpe*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void RemoveFontWakeup(
|
||||
#if NeedFunctionPrototypes
|
||||
FontPathElementPtr /*fpe*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void FontWakeup(
|
||||
#if NeedFunctionPrototypes
|
||||
pointer /*data*/,
|
||||
int /*count*/,
|
||||
pointer /*LastSelectMask*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int OpenFont(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/,
|
||||
XID /*fid*/,
|
||||
Mask /*flags*/,
|
||||
unsigned /*lenfname*/,
|
||||
char * /*pfontname*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int CloseFont(
|
||||
#if NeedFunctionPrototypes
|
||||
pointer /*pfont*/,
|
||||
XID /*fid*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef struct _xQueryFontReply *xQueryFontReplyPtr;
|
||||
|
||||
extern void QueryFont(
|
||||
#if NeedFunctionPrototypes
|
||||
FontPtr /*pFont*/,
|
||||
xQueryFontReplyPtr /*pReply*/,
|
||||
int /*nProtoCCIStructs*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int ListFonts(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/,
|
||||
unsigned char * /*pattern*/,
|
||||
unsigned int /*length*/,
|
||||
unsigned int /*max_names*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int doPolyText(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/,
|
||||
PTclosurePtr /*c*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int PolyText(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/,
|
||||
DrawablePtr /*pDraw*/,
|
||||
GCPtr /*pGC*/,
|
||||
unsigned char * /*pElt*/,
|
||||
unsigned char * /*endReq*/,
|
||||
int /*xorg*/,
|
||||
int /*yorg*/,
|
||||
int /*reqType*/,
|
||||
XID /*did*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int doImageText(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/,
|
||||
ITclosurePtr /*c*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int ImageText(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/,
|
||||
DrawablePtr /*pDraw*/,
|
||||
GCPtr /*pGC*/,
|
||||
int /*nChars*/,
|
||||
unsigned char * /*data*/,
|
||||
int /*xorg*/,
|
||||
int /*yorg*/,
|
||||
int /*reqType*/,
|
||||
XID /*did*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int SetFontPath(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/,
|
||||
int /*npaths*/,
|
||||
unsigned char * /*paths*/,
|
||||
int * /*error*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int SetDefaultFontPath(
|
||||
#if NeedFunctionPrototypes
|
||||
char * /*path*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern unsigned char *GetFontPath(
|
||||
#if NeedFunctionPrototypes
|
||||
int * /*count*/,
|
||||
int * /*length*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int LoadGlyphs(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/,
|
||||
FontPtr /*pfont*/,
|
||||
unsigned /*nchars*/,
|
||||
int /*item_size*/,
|
||||
unsigned char * /*data*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void DeleteClientFontStuff(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void InitFonts(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int GetDefaultPointSize(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern FontResolutionPtr GetClientResolutions(
|
||||
#if NeedFunctionPrototypes
|
||||
int * /*num*/
|
||||
#endif
|
||||
);
|
||||
|
||||
/* XXX leave these unprototyped for now -- need to do groundwork in
|
||||
* fonts/include/fontstruct.h before we do these
|
||||
*/
|
||||
extern int RegisterFPEFunctions(
|
||||
#if NeedFunctionPrototypes
|
||||
Bool (* /*name_func*/)(),
|
||||
int (* /*init_func*/)(),
|
||||
int (* /*free_func*/)(),
|
||||
int (* /*reset_func*/)(),
|
||||
int (* /*open_func*/)(),
|
||||
int (* /*close_func*/)(),
|
||||
int (* /*list_func*/)(),
|
||||
int (* /*start_lfwi_func*/)(),
|
||||
int (* /*next_lfwi_func*/)(),
|
||||
int (* /*wakeup_func*/)(),
|
||||
int (* /*client_died*/)(),
|
||||
int (* /*load_glyphs*/)(),
|
||||
int (* /*start_list_alias_func*/)(),
|
||||
int (* /*next_list_alias_func*/)(),
|
||||
void (* /* set_path_func*/) ()
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void FreeFonts(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern FontPtr find_old_font(
|
||||
#if NeedFunctionPrototypes
|
||||
XID /*id*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Font GetNewFontClientID(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int StoreFontClientFont(
|
||||
#if NeedFunctionPrototypes
|
||||
FontPtr /*pfont*/,
|
||||
Font /*id*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void DeleteFontClientID(
|
||||
#if NeedFunctionPrototypes
|
||||
Font /*id*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int client_auth_generation(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int init_fs_handlers(
|
||||
#if NeedFunctionPrototypes
|
||||
FontPathElementPtr /*fpe*/,
|
||||
BlockHandlerProcPtr /*block_handler*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void remove_fs_handlers(
|
||||
#if NeedFunctionPrototypes
|
||||
FontPathElementPtr /*fpe*/,
|
||||
BlockHandlerProcPtr /*block_handler*/,
|
||||
Bool /*all*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void GetGlyphs(
|
||||
#if NeedFunctionPrototypes
|
||||
FontPtr /*font*/,
|
||||
unsigned long /*count*/,
|
||||
unsigned char * /*chars*/,
|
||||
FontEncoding /*fontEncoding*/,
|
||||
unsigned long * /*glyphcount*/,
|
||||
CharInfoPtr * /*glyphs*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void QueryGlyphExtents(
|
||||
#if NeedFunctionPrototypes
|
||||
FontPtr /*pFont*/,
|
||||
CharInfoPtr * /*charinfo*/,
|
||||
unsigned long /*count*/,
|
||||
ExtentInfoPtr /*info*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool QueryTextExtents(
|
||||
#if NeedFunctionPrototypes
|
||||
FontPtr /*pFont*/,
|
||||
unsigned long /*count*/,
|
||||
unsigned char * /*chars*/,
|
||||
ExtentInfoPtr /*info*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool ParseGlyphCachingMode(
|
||||
#if NeedFunctionPrototypes
|
||||
char * /*str*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void InitGlyphCaching(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void SetGlyphCachingMode(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*newmode*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void
|
||||
ResetFontPrivateIndex(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
#endif /* DIXFONT_H */
|
||||
95
include/dixfontstr.h
Normal file
95
include/dixfontstr.h
Normal file
@@ -0,0 +1,95 @@
|
||||
/* $Xorg: dixfontstr.h,v 1.3 2000/08/17 19:53:29 cpqbld Exp $ */
|
||||
/***********************************************************
|
||||
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 DIXFONTSTRUCT_H
|
||||
#define DIXFONTSTRUCT_H
|
||||
|
||||
#include "servermd.h"
|
||||
#include "dixfont.h"
|
||||
#include "fontstruct.h"
|
||||
#include "closure.h"
|
||||
#define NEED_REPLIES
|
||||
#include "X11/Xproto.h" /* for xQueryFontReply */
|
||||
|
||||
#define FONTCHARSET(font) (font)
|
||||
#define FONTMAXBOUNDS(font,field) (font)->info.maxbounds.field
|
||||
#define FONTMINBOUNDS(font,field) (font)->info.minbounds.field
|
||||
#define TERMINALFONT(font) (font)->info.terminalFont
|
||||
#define FONTASCENT(font) (font)->info.fontAscent
|
||||
#define FONTDESCENT(font) (font)->info.fontDescent
|
||||
#define FONTGLYPHS(font) 0
|
||||
#define FONTCONSTMETRICS(font) (font)->info.constantMetrics
|
||||
#define FONTCONSTWIDTH(font) (font)->info.constantWidth
|
||||
#define FONTALLEXIST(font) (font)->info.allExist
|
||||
#define FONTFIRSTCOL(font) (font)->info.firstCol
|
||||
#define FONTLASTCOL(font) (font)->info.lastCol
|
||||
#define FONTFIRSTROW(font) (font)->info.firstRow
|
||||
#define FONTLASTROW(font) (font)->info.lastRow
|
||||
#define FONTDEFAULTCH(font) (font)->info.defaultCh
|
||||
#define FONTINKMIN(font) (&((font)->info.ink_minbounds))
|
||||
#define FONTINKMAX(font) (&((font)->info.ink_maxbounds))
|
||||
#define FONTPROPS(font) (font)->info.props
|
||||
#define FONTGLYPHBITS(base,pci) ((unsigned char *) (pci)->bits)
|
||||
#define FONTINFONPROPS(font) (font)->info.nprops
|
||||
|
||||
/* some things haven't changed names, but we'll be careful anyway */
|
||||
|
||||
#define FONTREFCNT(font) (font)->refcnt
|
||||
|
||||
/*
|
||||
* for linear char sets
|
||||
*/
|
||||
#define N1dChars(pfont) (FONTLASTCOL(pfont) - FONTFIRSTCOL(pfont) + 1)
|
||||
|
||||
/*
|
||||
* for 2D char sets
|
||||
*/
|
||||
#define N2dChars(pfont) (N1dChars(pfont) * \
|
||||
(FONTLASTROW(pfont) - FONTFIRSTROW(pfont) + 1))
|
||||
|
||||
#ifndef GLYPHPADBYTES
|
||||
#define GLYPHPADBYTES -1
|
||||
#endif
|
||||
|
||||
#if GLYPHPADBYTES == 0 || GLYPHPADBYTES == 1
|
||||
#define GLYPHWIDTHBYTESPADDED(pci) (GLYPHWIDTHBYTES(pci))
|
||||
#define PADGLYPHWIDTHBYTES(w) (((w)+7)>>3)
|
||||
#endif
|
||||
|
||||
#if GLYPHPADBYTES == 2
|
||||
#define GLYPHWIDTHBYTESPADDED(pci) ((GLYPHWIDTHBYTES(pci)+1) & ~0x1)
|
||||
#define PADGLYPHWIDTHBYTES(w) (((((w)+7)>>3)+1) & ~0x1)
|
||||
#endif
|
||||
|
||||
#if GLYPHPADBYTES == 4
|
||||
#define GLYPHWIDTHBYTESPADDED(pci) ((GLYPHWIDTHBYTES(pci)+3) & ~0x3)
|
||||
#define PADGLYPHWIDTHBYTES(w) (((((w)+7)>>3)+3) & ~0x3)
|
||||
#endif
|
||||
|
||||
#if GLYPHPADBYTES == 8 /* for a cray? */
|
||||
#define GLYPHWIDTHBYTESPADDED(pci) ((GLYPHWIDTHBYTES(pci)+7) & ~0x7)
|
||||
#define PADGLYPHWIDTHBYTES(w) (((((w)+7)>>3)+7) & ~0x7)
|
||||
#endif
|
||||
|
||||
#endif /* DIXFONTSTRUCT_H */
|
||||
220
include/dixstruct.h
Normal file
220
include/dixstruct.h
Normal file
@@ -0,0 +1,220 @@
|
||||
/***********************************************************
|
||||
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.
|
||||
|
||||
******************************************************************/
|
||||
/* $Xorg: dixstruct.h,v 1.3 2000/08/17 19:53:29 cpqbld Exp $ */
|
||||
|
||||
#ifndef DIXSTRUCT_H
|
||||
#define DIXSTRUCT_H
|
||||
|
||||
#include "dix.h"
|
||||
#include "resource.h"
|
||||
#include "cursor.h"
|
||||
#include "gc.h"
|
||||
#include "pixmap.h"
|
||||
#include <X11/Xmd.h>
|
||||
|
||||
/*
|
||||
* direct-mapped hash table, used by resource manager to store
|
||||
* translation from client ids to server addresses.
|
||||
*/
|
||||
|
||||
#ifdef DEBUG
|
||||
#define MAX_REQUEST_LOG 100
|
||||
#endif
|
||||
|
||||
extern CallbackListPtr ClientStateCallback;
|
||||
|
||||
typedef struct {
|
||||
ClientPtr client;
|
||||
xConnSetupPrefix *prefix;
|
||||
xConnSetup *setup;
|
||||
} NewClientInfoRec;
|
||||
|
||||
typedef enum {ClientStateInitial,
|
||||
ClientStateAuthenticating,
|
||||
ClientStateRunning,
|
||||
ClientStateRetained,
|
||||
ClientStateGone,
|
||||
ClientStateCheckingSecurity,
|
||||
ClientStateCheckedSecurity} ClientState;
|
||||
|
||||
typedef struct _Client {
|
||||
int index;
|
||||
Mask clientAsMask;
|
||||
pointer requestBuffer;
|
||||
pointer osPrivate; /* for OS layer, including scheduler */
|
||||
Bool swapped;
|
||||
void (*pSwapReplyFunc) (
|
||||
#if NeedNestedPrototypes
|
||||
ClientPtr /* pClient */,
|
||||
int /* size */,
|
||||
void * /* pbuf */
|
||||
#endif
|
||||
);
|
||||
XID errorValue;
|
||||
int sequence;
|
||||
int closeDownMode;
|
||||
int clientGone;
|
||||
int noClientException; /* this client died or needs to be
|
||||
* killed */
|
||||
DrawablePtr lastDrawable;
|
||||
Drawable lastDrawableID;
|
||||
GCPtr lastGC;
|
||||
GContext lastGCID;
|
||||
pointer *saveSet;
|
||||
int numSaved;
|
||||
pointer screenPrivate[MAXSCREENS];
|
||||
int (**requestVector) (
|
||||
#if NeedNestedPrototypes
|
||||
ClientPtr /* pClient */
|
||||
#endif
|
||||
);
|
||||
CARD32 req_len; /* length of current request */
|
||||
Bool big_requests; /* supports large requests */
|
||||
int priority;
|
||||
ClientState clientState;
|
||||
DevUnion *devPrivates;
|
||||
#ifdef XKB
|
||||
unsigned short xkbClientFlags;
|
||||
unsigned short mapNotifyMask;
|
||||
unsigned short newKeyboardNotifyMask;
|
||||
unsigned short vMajor,vMinor;
|
||||
KeyCode minKC,maxKC;
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
unsigned char requestLog[MAX_REQUEST_LOG];
|
||||
int requestLogIndex;
|
||||
#endif
|
||||
#ifdef LBX
|
||||
int (*readRequest)(
|
||||
#if NeedNestedPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
#endif
|
||||
unsigned long replyBytesRemaining;
|
||||
#ifdef XCSECURITY
|
||||
XID authId;
|
||||
unsigned int trustLevel;
|
||||
pointer (* CheckAccess)(
|
||||
#if NeedNestedPrototypes
|
||||
ClientPtr /*pClient*/,
|
||||
XID /*id*/,
|
||||
RESTYPE /*classes*/,
|
||||
Mask /*access_mode*/,
|
||||
pointer /*resourceval*/
|
||||
#endif
|
||||
);
|
||||
#endif
|
||||
#ifdef XAPPGROUP
|
||||
struct _AppGroupRec* appgroup;
|
||||
#endif
|
||||
struct _FontResolution * (*fontResFunc) ( /* no need for font.h */
|
||||
#if NeedNestedPrototypes
|
||||
ClientPtr /* pClient */,
|
||||
int * /* num */
|
||||
#endif
|
||||
);
|
||||
} ClientRec;
|
||||
|
||||
|
||||
typedef struct _WorkQueue {
|
||||
struct _WorkQueue *next;
|
||||
Bool (*function) (
|
||||
#if NeedNestedPrototypes
|
||||
ClientPtr /* pClient */,
|
||||
pointer /* closure */
|
||||
#endif
|
||||
);
|
||||
ClientPtr client;
|
||||
pointer closure;
|
||||
} WorkQueueRec;
|
||||
|
||||
extern TimeStamp currentTime;
|
||||
extern TimeStamp lastDeviceEventTime;
|
||||
|
||||
extern int CompareTimeStamps(
|
||||
#if NeedFunctionPrototypes
|
||||
TimeStamp /*a*/,
|
||||
TimeStamp /*b*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern TimeStamp ClientTimeToServerTime(
|
||||
#if NeedFunctionPrototypes
|
||||
CARD32 /*c*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef struct _CallbackRec {
|
||||
CallbackProcPtr proc;
|
||||
pointer data;
|
||||
Bool deleted;
|
||||
struct _CallbackRec *next;
|
||||
} CallbackRec, *CallbackPtr;
|
||||
|
||||
typedef struct _CallbackList {
|
||||
CallbackFuncsRec funcs;
|
||||
int inCallback;
|
||||
Bool deleted;
|
||||
int numDeleted;
|
||||
CallbackPtr list;
|
||||
} CallbackListRec;
|
||||
|
||||
/* proc vectors */
|
||||
|
||||
extern int (* InitialVector[3]) (
|
||||
#if NeedNestedPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int (* ProcVector[256]) (
|
||||
#if NeedNestedPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int (* SwappedProcVector[256]) (
|
||||
#if NeedNestedPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#ifdef K5AUTH
|
||||
extern int (*k5_Vector[256])() =
|
||||
#if NeedNestedPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
#endif
|
||||
|
||||
extern void (* ReplySwapVector[256]) ();
|
||||
|
||||
extern int ProcBadRequest(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#endif /* DIXSTRUCT_H */
|
||||
80
include/extension.h
Normal file
80
include/extension.h
Normal file
@@ -0,0 +1,80 @@
|
||||
/* $Xorg: extension.h,v 1.4 2001/02/09 02:05:15 xorgcvs Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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 EXTENSION_H
|
||||
#define EXTENSION_H
|
||||
|
||||
_XFUNCPROTOBEGIN
|
||||
|
||||
extern unsigned short StandardMinorOpcode(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern unsigned short MinorOpcodeOfRequest(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void InitExtensions(
|
||||
#if NeedFunctionPrototypes
|
||||
int argc,
|
||||
char **argv
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void CloseDownExtensions(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
_XFUNCPROTOEND
|
||||
|
||||
#endif /* EXTENSION_H */
|
||||
174
include/extnsionst.h
Normal file
174
include/extnsionst.h
Normal file
@@ -0,0 +1,174 @@
|
||||
/* $Xorg: extnsionst.h,v 1.4 2001/02/09 02:05:15 xorgcvs Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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 EXTENSIONSTRUCT_H
|
||||
#define EXTENSIONSTRUCT_H
|
||||
|
||||
#include "misc.h"
|
||||
#include "screenint.h"
|
||||
#include "extension.h"
|
||||
#include "gc.h"
|
||||
|
||||
typedef struct _ExtensionEntry {
|
||||
int index;
|
||||
void (* CloseDown)( /* called at server shutdown */
|
||||
#if NeedNestedPrototypes
|
||||
struct _ExtensionEntry * /* extension */
|
||||
#endif
|
||||
);
|
||||
char *name; /* extension name */
|
||||
int base; /* base request number */
|
||||
int eventBase;
|
||||
int eventLast;
|
||||
int errorBase;
|
||||
int errorLast;
|
||||
int num_aliases;
|
||||
char **aliases;
|
||||
pointer extPrivate;
|
||||
unsigned short (* MinorOpcode)( /* called for errors */
|
||||
#if NeedNestedPrototypes
|
||||
ClientPtr /* client */
|
||||
#endif
|
||||
);
|
||||
#ifdef XCSECURITY
|
||||
Bool secure; /* extension visible to untrusted clients? */
|
||||
#endif
|
||||
} ExtensionEntry;
|
||||
|
||||
/* any attempt to declare the types of the parameters to the functions
|
||||
* in EventSwapVector fails. The functions take pointers to two events,
|
||||
* but the exact event types that are declared vary from one function
|
||||
* to another. You can't even put void *, void * (the ibm compiler
|
||||
* complains, anyway).
|
||||
*/
|
||||
extern void (* EventSwapVector[128]) ();
|
||||
|
||||
typedef void (* ExtensionLookupProc)(/*args indeterminate*/);
|
||||
|
||||
typedef struct _ProcEntry {
|
||||
char *name;
|
||||
ExtensionLookupProc proc;
|
||||
} ProcEntryRec, *ProcEntryPtr;
|
||||
|
||||
typedef struct _ScreenProcEntry {
|
||||
int num;
|
||||
ProcEntryPtr procList;
|
||||
} ScreenProcEntry;
|
||||
|
||||
#define SetGCVector(pGC, VectorElement, NewRoutineAddress, Atom) \
|
||||
pGC->VectorElement = NewRoutineAddress;
|
||||
|
||||
#define GetGCValue(pGC, GCElement) (pGC->GCElement)
|
||||
|
||||
|
||||
extern ExtensionEntry *AddExtension(
|
||||
#if NeedFunctionPrototypes
|
||||
char* /*name*/,
|
||||
int /*NumEvents*/,
|
||||
int /*NumErrors*/,
|
||||
int (* /*MainProc*/)(
|
||||
#if NeedNestedPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
),
|
||||
int (* /*SwappedMainProc*/)(
|
||||
#if NeedNestedPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
),
|
||||
void (* /*CloseDownProc*/)(
|
||||
#if NeedNestedPrototypes
|
||||
ExtensionEntry * /*extension*/
|
||||
#endif
|
||||
),
|
||||
unsigned short (* /*MinorOpcodeProc*/)(
|
||||
#if NeedNestedPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
)
|
||||
#endif /* NeedFunctionPrototypes */
|
||||
);
|
||||
|
||||
extern Bool AddExtensionAlias(
|
||||
#if NeedFunctionPrototypes
|
||||
char* /*alias*/,
|
||||
ExtensionEntry * /*extension*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern ExtensionLookupProc LookupProc(
|
||||
#if NeedFunctionPrototypes
|
||||
char* /*name*/,
|
||||
GCPtr /*pGC*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool RegisterProc(
|
||||
#if NeedFunctionPrototypes
|
||||
char* /*name*/,
|
||||
GCPtr /*pGC*/,
|
||||
ExtensionLookupProc /*proc*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool RegisterScreenProc(
|
||||
#if NeedFunctionPrototypes
|
||||
char* /*name*/,
|
||||
ScreenPtr /*pScreen*/,
|
||||
ExtensionLookupProc /*proc*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void DeclareExtensionSecurity(
|
||||
#if NeedFunctionPrototypes
|
||||
char * /*extname*/,
|
||||
Bool /*secure*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#endif /* EXTENSIONSTRUCT_H */
|
||||
|
||||
231
include/gc.h
Normal file
231
include/gc.h
Normal file
@@ -0,0 +1,231 @@
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
******************************************************************/
|
||||
/* $Xorg: gc.h,v 1.4 2001/02/09 02:05:15 xorgcvs Exp $ */
|
||||
|
||||
#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 */
|
||||
396
include/gcstruct.h
Normal file
396
include/gcstruct.h
Normal file
@@ -0,0 +1,396 @@
|
||||
/* $Xorg: gcstruct.h,v 1.4 2001/02/09 02:05:15 xorgcvs Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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 GCSTRUCT_H
|
||||
#define GCSTRUCT_H
|
||||
|
||||
#include "gc.h"
|
||||
|
||||
#include "miscstruct.h"
|
||||
#include "region.h"
|
||||
#include "pixmap.h"
|
||||
#include "screenint.h"
|
||||
#include "Xprotostr.h"
|
||||
|
||||
/*
|
||||
* functions which modify the state of the GC
|
||||
*/
|
||||
|
||||
typedef struct _GCFuncs {
|
||||
void (* ValidateGC)(
|
||||
#if NeedNestedPrototypes
|
||||
GCPtr /*pGC*/,
|
||||
unsigned long /*stateChanges*/,
|
||||
DrawablePtr /*pDrawable*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void (* ChangeGC)(
|
||||
#if NeedNestedPrototypes
|
||||
GCPtr /*pGC*/,
|
||||
unsigned long /*mask*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void (* CopyGC)(
|
||||
#if NeedNestedPrototypes
|
||||
GCPtr /*pGCSrc*/,
|
||||
unsigned long /*mask*/,
|
||||
GCPtr /*pGCDst*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void (* DestroyGC)(
|
||||
#if NeedNestedPrototypes
|
||||
GCPtr /*pGC*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void (* ChangeClip)(
|
||||
#if NeedNestedPrototypes
|
||||
GCPtr /*pGC*/,
|
||||
int /*type*/,
|
||||
pointer /*pvalue*/,
|
||||
int /*nrects*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void (* DestroyClip)(
|
||||
#if NeedNestedPrototypes
|
||||
GCPtr /*pGC*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void (* CopyClip)(
|
||||
#if NeedNestedPrototypes
|
||||
GCPtr /*pgcDst*/,
|
||||
GCPtr /*pgcSrc*/
|
||||
#endif
|
||||
);
|
||||
DevUnion devPrivate;
|
||||
} GCFuncs;
|
||||
|
||||
/*
|
||||
* graphics operations invoked through a GC
|
||||
*/
|
||||
|
||||
typedef struct _GCOps {
|
||||
void (* FillSpans)(
|
||||
#if NeedNestedPrototypes
|
||||
DrawablePtr /*pDrawable*/,
|
||||
GCPtr /*pGC*/,
|
||||
int /*nInit*/,
|
||||
DDXPointPtr /*pptInit*/,
|
||||
int * /*pwidthInit*/,
|
||||
int /*fSorted*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void (* SetSpans)(
|
||||
#if NeedNestedPrototypes
|
||||
DrawablePtr /*pDrawable*/,
|
||||
GCPtr /*pGC*/,
|
||||
char * /*psrc*/,
|
||||
DDXPointPtr /*ppt*/,
|
||||
int * /*pwidth*/,
|
||||
int /*nspans*/,
|
||||
int /*fSorted*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void (* PutImage)(
|
||||
#if NeedNestedPrototypes
|
||||
DrawablePtr /*pDrawable*/,
|
||||
GCPtr /*pGC*/,
|
||||
int /*depth*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
int /*w*/,
|
||||
int /*h*/,
|
||||
int /*leftPad*/,
|
||||
int /*format*/,
|
||||
char * /*pBits*/
|
||||
#endif
|
||||
);
|
||||
|
||||
RegionPtr (* CopyArea)(
|
||||
#if NeedNestedPrototypes
|
||||
DrawablePtr /*pSrc*/,
|
||||
DrawablePtr /*pDst*/,
|
||||
GCPtr /*pGC*/,
|
||||
int /*srcx*/,
|
||||
int /*srcy*/,
|
||||
int /*w*/,
|
||||
int /*h*/,
|
||||
int /*dstx*/,
|
||||
int /*dsty*/
|
||||
#endif
|
||||
);
|
||||
|
||||
RegionPtr (* CopyPlane)(
|
||||
#if NeedNestedPrototypes
|
||||
DrawablePtr /*pSrcDrawable*/,
|
||||
DrawablePtr /*pDstDrawable*/,
|
||||
GCPtr /*pGC*/,
|
||||
int /*srcx*/,
|
||||
int /*srcy*/,
|
||||
int /*width*/,
|
||||
int /*height*/,
|
||||
int /*dstx*/,
|
||||
int /*dsty*/,
|
||||
unsigned long /*bitPlane*/
|
||||
#endif
|
||||
);
|
||||
void (* PolyPoint)(
|
||||
#if NeedNestedPrototypes
|
||||
DrawablePtr /*pDrawable*/,
|
||||
GCPtr /*pGC*/,
|
||||
int /*mode*/,
|
||||
int /*npt*/,
|
||||
DDXPointPtr /*pptInit*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void (* Polylines)(
|
||||
#if NeedNestedPrototypes
|
||||
DrawablePtr /*pDrawable*/,
|
||||
GCPtr /*pGC*/,
|
||||
int /*mode*/,
|
||||
int /*npt*/,
|
||||
DDXPointPtr /*pptInit*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void (* PolySegment)(
|
||||
#if NeedNestedPrototypes
|
||||
DrawablePtr /*pDrawable*/,
|
||||
GCPtr /*pGC*/,
|
||||
int /*nseg*/,
|
||||
xSegment * /*pSegs*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void (* PolyRectangle)(
|
||||
#if NeedNestedPrototypes
|
||||
DrawablePtr /*pDrawable*/,
|
||||
GCPtr /*pGC*/,
|
||||
int /*nrects*/,
|
||||
xRectangle * /*pRects*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void (* PolyArc)(
|
||||
#if NeedNestedPrototypes
|
||||
DrawablePtr /*pDrawable*/,
|
||||
GCPtr /*pGC*/,
|
||||
int /*narcs*/,
|
||||
xArc * /*parcs*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void (* FillPolygon)(
|
||||
#if NeedNestedPrototypes
|
||||
DrawablePtr /*pDrawable*/,
|
||||
GCPtr /*pGC*/,
|
||||
int /*shape*/,
|
||||
int /*mode*/,
|
||||
int /*count*/,
|
||||
DDXPointPtr /*pPts*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void (* PolyFillRect)(
|
||||
#if NeedNestedPrototypes
|
||||
DrawablePtr /*pDrawable*/,
|
||||
GCPtr /*pGC*/,
|
||||
int /*nrectFill*/,
|
||||
xRectangle * /*prectInit*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void (* PolyFillArc)(
|
||||
#if NeedNestedPrototypes
|
||||
DrawablePtr /*pDrawable*/,
|
||||
GCPtr /*pGC*/,
|
||||
int /*narcs*/,
|
||||
xArc * /*parcs*/
|
||||
#endif
|
||||
);
|
||||
|
||||
int (* PolyText8)(
|
||||
#if NeedNestedPrototypes
|
||||
DrawablePtr /*pDrawable*/,
|
||||
GCPtr /*pGC*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
int /*count*/,
|
||||
char * /*chars*/
|
||||
#endif
|
||||
);
|
||||
|
||||
int (* PolyText16)(
|
||||
#if NeedNestedPrototypes
|
||||
DrawablePtr /*pDrawable*/,
|
||||
GCPtr /*pGC*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
int /*count*/,
|
||||
unsigned short * /*chars*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void (* ImageText8)(
|
||||
#if NeedNestedPrototypes
|
||||
DrawablePtr /*pDrawable*/,
|
||||
GCPtr /*pGC*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
int /*count*/,
|
||||
char * /*chars*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void (* ImageText16)(
|
||||
#if NeedNestedPrototypes
|
||||
DrawablePtr /*pDrawable*/,
|
||||
GCPtr /*pGC*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
int /*count*/,
|
||||
unsigned short * /*chars*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void (* ImageGlyphBlt)(
|
||||
#if NeedNestedPrototypes
|
||||
DrawablePtr /*pDrawable*/,
|
||||
GCPtr /*pGC*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
unsigned int /*nglyph*/,
|
||||
CharInfoPtr * /*ppci*/,
|
||||
pointer /*pglyphBase*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void (* PolyGlyphBlt)(
|
||||
#if NeedNestedPrototypes
|
||||
DrawablePtr /*pDrawable*/,
|
||||
GCPtr /*pGC*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
unsigned int /*nglyph*/,
|
||||
CharInfoPtr * /*ppci*/,
|
||||
pointer /*pglyphBase*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void (* PushPixels)(
|
||||
#if NeedNestedPrototypes
|
||||
GCPtr /*pGC*/,
|
||||
PixmapPtr /*pBitMap*/,
|
||||
DrawablePtr /*pDst*/,
|
||||
int /*w*/,
|
||||
int /*h*/,
|
||||
int /*x*/,
|
||||
int /*y*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#ifdef NEED_LINEHELPER
|
||||
void (* LineHelper)();
|
||||
#endif
|
||||
|
||||
DevUnion devPrivate;
|
||||
} GCOps;
|
||||
|
||||
/* there is padding in the bit fields because the Sun compiler doesn't
|
||||
* force alignment to 32-bit boundaries. losers.
|
||||
*/
|
||||
typedef struct _GC {
|
||||
ScreenPtr pScreen;
|
||||
unsigned char depth;
|
||||
unsigned char alu;
|
||||
unsigned short lineWidth;
|
||||
unsigned short dashOffset;
|
||||
unsigned short numInDashList;
|
||||
unsigned char *dash;
|
||||
unsigned int lineStyle : 2;
|
||||
unsigned int capStyle : 2;
|
||||
unsigned int joinStyle : 2;
|
||||
unsigned int fillStyle : 2;
|
||||
unsigned int fillRule : 1;
|
||||
unsigned int arcMode : 1;
|
||||
unsigned int subWindowMode : 1;
|
||||
unsigned int graphicsExposures : 1;
|
||||
unsigned int clientClipType : 2; /* CT_<kind> */
|
||||
unsigned int miTranslate:1; /* should mi things translate? */
|
||||
unsigned int tileIsPixel:1; /* tile is solid pixel */
|
||||
unsigned int unused:16; /* see comment above */
|
||||
unsigned long planemask;
|
||||
unsigned long fgPixel;
|
||||
unsigned long bgPixel;
|
||||
/*
|
||||
* alas -- both tile and stipple must be here as they
|
||||
* are independently specifiable
|
||||
*/
|
||||
PixUnion tile;
|
||||
PixmapPtr stipple;
|
||||
DDXPointRec patOrg; /* origin for (tile, stipple) */
|
||||
struct _Font *font;
|
||||
DDXPointRec clipOrg;
|
||||
DDXPointRec lastWinOrg; /* position of window last validated */
|
||||
pointer clientClip;
|
||||
unsigned long stateChanges; /* masked with GC_<kind> */
|
||||
unsigned long serialNumber;
|
||||
GCFuncs *funcs;
|
||||
GCOps *ops;
|
||||
DevUnion *devPrivates;
|
||||
} GC;
|
||||
|
||||
#endif /* GCSTRUCT_H */
|
||||
496
include/input.h
Normal file
496
include/input.h
Normal file
@@ -0,0 +1,496 @@
|
||||
/* $Xorg: input.h,v 1.4 2001/02/09 02:05:15 xorgcvs Exp $ */
|
||||
/************************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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;
|
||||
|
||||
extern DevicePtr 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 int NumMotionEvents(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void RegisterPointerDevice(
|
||||
#if NeedFunctionPrototypes
|
||||
DevicePtr /*device*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void RegisterKeyboardDevice(
|
||||
#if NeedFunctionPrototypes
|
||||
DevicePtr /*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 */
|
||||
316
include/inputstr.h
Normal file
316
include/inputstr.h
Normal file
@@ -0,0 +1,316 @@
|
||||
/************************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
********************************************************/
|
||||
|
||||
/* $Xorg: inputstr.h,v 1.4 2001/02/09 02:05:15 xorgcvs Exp $ */
|
||||
|
||||
#ifndef INPUTSTRUCT_H
|
||||
#define INPUTSTRUCT_H
|
||||
|
||||
#include "input.h"
|
||||
#include "window.h"
|
||||
#include "dixstruct.h"
|
||||
|
||||
#define BitIsOn(ptr, bit) (((BYTE *) (ptr))[(bit)>>3] & (1 << ((bit) & 7)))
|
||||
|
||||
#define SameClient(obj,client) \
|
||||
(CLIENT_BITS((obj)->resource) == (client)->clientAsMask)
|
||||
|
||||
#define MAX_DEVICES 9
|
||||
|
||||
#define EMASKSIZE MAX_DEVICES
|
||||
|
||||
/* Kludge: OtherClients and InputClients must be compatible, see code */
|
||||
|
||||
typedef struct _OtherClients {
|
||||
OtherClientsPtr next;
|
||||
XID resource; /* id for putting into resource manager */
|
||||
Mask mask;
|
||||
} OtherClients;
|
||||
|
||||
typedef struct _InputClients {
|
||||
InputClientsPtr next;
|
||||
XID resource; /* id for putting into resource manager */
|
||||
Mask mask[EMASKSIZE];
|
||||
} InputClients;
|
||||
|
||||
typedef struct _OtherInputMasks {
|
||||
Mask deliverableEvents[EMASKSIZE];
|
||||
Mask inputEvents[EMASKSIZE];
|
||||
Mask dontPropagateMask[EMASKSIZE];
|
||||
InputClientsPtr inputClients;
|
||||
} OtherInputMasks;
|
||||
|
||||
/*
|
||||
* The following structure gets used for both active and passive grabs. For
|
||||
* active grabs some of the fields (e.g. modifiers) are not used. However,
|
||||
* that is not much waste since there aren't many active grabs (one per
|
||||
* keyboard/pointer device) going at once in the server.
|
||||
*/
|
||||
|
||||
#define MasksPerDetailMask 8 /* 256 keycodes and 256 possible
|
||||
modifier combinations, but only
|
||||
3 buttons. */
|
||||
|
||||
typedef struct _DetailRec { /* Grab details may be bit masks */
|
||||
unsigned short exact;
|
||||
Mask *pMask;
|
||||
} DetailRec;
|
||||
|
||||
typedef struct _GrabRec {
|
||||
GrabPtr next; /* for chain of passive grabs */
|
||||
XID resource;
|
||||
DeviceIntPtr device;
|
||||
WindowPtr window;
|
||||
unsigned ownerEvents:1;
|
||||
unsigned keyboardMode:1;
|
||||
unsigned pointerMode:1;
|
||||
unsigned coreGrab:1; /* grab is on core device */
|
||||
unsigned coreMods:1; /* modifiers are on core keyboard */
|
||||
CARD8 type; /* event type */
|
||||
DetailRec modifiersDetail;
|
||||
DeviceIntPtr modifierDevice;
|
||||
DetailRec detail; /* key or button */
|
||||
WindowPtr confineTo; /* always NULL for keyboards */
|
||||
CursorPtr cursor; /* always NULL for keyboards */
|
||||
Mask eventMask;
|
||||
} GrabRec;
|
||||
|
||||
typedef struct _KeyClassRec {
|
||||
CARD8 down[DOWN_LENGTH];
|
||||
KeyCode *modifierKeyMap;
|
||||
KeySymsRec curKeySyms;
|
||||
int modifierKeyCount[8];
|
||||
CARD8 modifierMap[MAP_LENGTH];
|
||||
CARD8 maxKeysPerModifier;
|
||||
unsigned short state;
|
||||
unsigned short prev_state;
|
||||
#ifdef XKB
|
||||
struct _XkbSrvInfo *xkbInfo;
|
||||
#endif
|
||||
} KeyClassRec, *KeyClassPtr;
|
||||
|
||||
typedef struct _AxisInfo {
|
||||
int resolution;
|
||||
int min_resolution;
|
||||
int max_resolution;
|
||||
int min_value;
|
||||
int max_value;
|
||||
} AxisInfo, *AxisInfoPtr;
|
||||
|
||||
typedef struct _ValuatorClassRec {
|
||||
ValuatorMotionProcPtr GetMotionProc;
|
||||
int numMotionEvents;
|
||||
WindowPtr motionHintWindow;
|
||||
AxisInfoPtr axes;
|
||||
unsigned short numAxes;
|
||||
int *axisVal;
|
||||
CARD8 mode;
|
||||
} ValuatorClassRec, *ValuatorClassPtr;
|
||||
|
||||
typedef struct _ButtonClassRec {
|
||||
CARD8 numButtons;
|
||||
CARD8 buttonsDown; /* number of buttons currently down */
|
||||
unsigned short state;
|
||||
Mask motionMask;
|
||||
CARD8 down[DOWN_LENGTH];
|
||||
CARD8 map[MAP_LENGTH];
|
||||
#ifdef XKB
|
||||
union _XkbAction * xkb_acts;
|
||||
#endif
|
||||
} ButtonClassRec, *ButtonClassPtr;
|
||||
|
||||
typedef struct _FocusClassRec {
|
||||
WindowPtr win;
|
||||
int revert;
|
||||
TimeStamp time;
|
||||
WindowPtr *trace;
|
||||
int traceSize;
|
||||
int traceGood;
|
||||
} FocusClassRec, *FocusClassPtr;
|
||||
|
||||
typedef struct _ProximityClassRec {
|
||||
char pad;
|
||||
} ProximityClassRec, *ProximityClassPtr;
|
||||
|
||||
typedef struct _KbdFeedbackClassRec *KbdFeedbackPtr;
|
||||
typedef struct _PtrFeedbackClassRec *PtrFeedbackPtr;
|
||||
typedef struct _IntegerFeedbackClassRec *IntegerFeedbackPtr;
|
||||
typedef struct _StringFeedbackClassRec *StringFeedbackPtr;
|
||||
typedef struct _BellFeedbackClassRec *BellFeedbackPtr;
|
||||
typedef struct _LedFeedbackClassRec *LedFeedbackPtr;
|
||||
|
||||
typedef struct _KbdFeedbackClassRec {
|
||||
BellProcPtr BellProc;
|
||||
KbdCtrlProcPtr CtrlProc;
|
||||
KeybdCtrl ctrl;
|
||||
KbdFeedbackPtr next;
|
||||
#ifdef XKB
|
||||
struct _XkbSrvLedInfo *xkb_sli;
|
||||
#endif
|
||||
} KbdFeedbackClassRec;
|
||||
|
||||
typedef struct _PtrFeedbackClassRec {
|
||||
PtrCtrlProcPtr CtrlProc;
|
||||
PtrCtrl ctrl;
|
||||
PtrFeedbackPtr next;
|
||||
} PtrFeedbackClassRec;
|
||||
|
||||
typedef struct _IntegerFeedbackClassRec {
|
||||
IntegerCtrlProcPtr CtrlProc;
|
||||
IntegerCtrl ctrl;
|
||||
IntegerFeedbackPtr next;
|
||||
} IntegerFeedbackClassRec;
|
||||
|
||||
typedef struct _StringFeedbackClassRec {
|
||||
StringCtrlProcPtr CtrlProc;
|
||||
StringCtrl ctrl;
|
||||
StringFeedbackPtr next;
|
||||
} StringFeedbackClassRec;
|
||||
|
||||
typedef struct _BellFeedbackClassRec {
|
||||
BellProcPtr BellProc;
|
||||
BellCtrlProcPtr CtrlProc;
|
||||
BellCtrl ctrl;
|
||||
BellFeedbackPtr next;
|
||||
} BellFeedbackClassRec;
|
||||
|
||||
typedef struct _LedFeedbackClassRec {
|
||||
LedCtrlProcPtr CtrlProc;
|
||||
LedCtrl ctrl;
|
||||
LedFeedbackPtr next;
|
||||
#ifdef XKB
|
||||
struct _XkbSrvLedInfo *xkb_sli;
|
||||
#endif
|
||||
} LedFeedbackClassRec;
|
||||
|
||||
/* states for devices */
|
||||
|
||||
#define NOT_GRABBED 0
|
||||
#define THAWED 1
|
||||
#define THAWED_BOTH 2 /* not a real state */
|
||||
#define FREEZE_NEXT_EVENT 3
|
||||
#define FREEZE_BOTH_NEXT_EVENT 4
|
||||
#define FROZEN 5 /* any state >= has device frozen */
|
||||
#define FROZEN_NO_EVENT 5
|
||||
#define FROZEN_WITH_EVENT 6
|
||||
#define THAW_OTHERS 7
|
||||
|
||||
typedef struct _DeviceIntRec {
|
||||
DeviceRec public;
|
||||
DeviceIntPtr next;
|
||||
TimeStamp grabTime;
|
||||
Bool startup; /* true if needs to be turned on at
|
||||
server intialization time */
|
||||
DeviceProc deviceProc; /* proc(DevicePtr, DEVICE_xx). It is
|
||||
used to initialize, turn on, or
|
||||
turn off the device */
|
||||
Bool inited; /* TRUE if INIT returns Success */
|
||||
GrabPtr grab; /* the grabber - used by DIX */
|
||||
struct {
|
||||
Bool frozen;
|
||||
int state;
|
||||
GrabPtr other; /* if other grab has this frozen */
|
||||
xEvent *event; /* saved to be replayed */
|
||||
int evcount;
|
||||
} sync;
|
||||
Atom type;
|
||||
char *name;
|
||||
CARD8 id;
|
||||
CARD8 activatingKey;
|
||||
Bool fromPassiveGrab;
|
||||
GrabRec activeGrab;
|
||||
void (*ActivateGrab) (
|
||||
#if NeedNestedPrototypes
|
||||
DeviceIntPtr /*device*/,
|
||||
GrabPtr /*grab*/,
|
||||
TimeStamp /*time*/,
|
||||
Bool /*autoGrab*/
|
||||
#endif
|
||||
);
|
||||
void (*DeactivateGrab)(
|
||||
#if NeedNestedPrototypes
|
||||
DeviceIntPtr /*device*/
|
||||
#endif
|
||||
);
|
||||
KeyClassPtr key;
|
||||
ValuatorClassPtr valuator;
|
||||
ButtonClassPtr button;
|
||||
FocusClassPtr focus;
|
||||
ProximityClassPtr proximity;
|
||||
KbdFeedbackPtr kbdfeed;
|
||||
PtrFeedbackPtr ptrfeed;
|
||||
IntegerFeedbackPtr intfeed;
|
||||
StringFeedbackPtr stringfeed;
|
||||
BellFeedbackPtr bell;
|
||||
LedFeedbackPtr leds;
|
||||
#ifdef XKB
|
||||
struct _XkbInterest * xkb_interest;
|
||||
#endif
|
||||
} DeviceIntRec;
|
||||
|
||||
typedef struct {
|
||||
int numDevices; /* total number of devices */
|
||||
DeviceIntPtr devices; /* all devices turned on */
|
||||
DeviceIntPtr off_devices; /* all devices turned off */
|
||||
DeviceIntPtr keyboard; /* the main one for the server */
|
||||
DeviceIntPtr pointer;
|
||||
} InputInfo;
|
||||
|
||||
extern InputInfo inputInfo;
|
||||
|
||||
/* for keeping the events for devices grabbed synchronously */
|
||||
typedef struct _QdEvent *QdEventPtr;
|
||||
typedef struct _QdEvent {
|
||||
QdEventPtr next;
|
||||
DeviceIntPtr device;
|
||||
ScreenPtr pScreen; /* what screen the pointer was on */
|
||||
unsigned long months; /* milliseconds is in the event */
|
||||
xEvent *event;
|
||||
int evcount;
|
||||
} QdEventRec;
|
||||
|
||||
#endif /* INPUTSTRUCT_H */
|
||||
271
include/misc.h
Normal file
271
include/misc.h
Normal file
@@ -0,0 +1,271 @@
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
******************************************************************/
|
||||
/* $Xorg: misc.h,v 1.5 2001/02/09 02:05:15 xorgcvs 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 256
|
||||
#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))
|
||||
#ifndef abs
|
||||
#define abs(a) ((a) > 0 ? (a) : -(a))
|
||||
#endif
|
||||
#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 int 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 */
|
||||
67
include/miscstruct.h
Normal file
67
include/miscstruct.h
Normal file
@@ -0,0 +1,67 @@
|
||||
/* $Xorg: miscstruct.h,v 1.4 2001/02/09 02:05:15 xorgcvs Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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)();
|
||||
} DevUnion;
|
||||
|
||||
#endif /* MISCSTRUCT_H */
|
||||
56
include/opaque.h
Normal file
56
include/opaque.h
Normal file
@@ -0,0 +1,56 @@
|
||||
/* $Xorg: opaque.h,v 1.4 2001/02/09 02:05:15 xorgcvs Exp $ */
|
||||
/*
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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 OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
*/
|
||||
|
||||
#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;
|
||||
|
||||
#endif /* OPAQUE_H */
|
||||
707
include/os.h
Normal file
707
include/os.h
Normal file
@@ -0,0 +1,707 @@
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
******************************************************************/
|
||||
|
||||
/* $Xorg: os.h,v 1.4 2001/02/09 02:05:15 xorgcvs Exp $ */
|
||||
|
||||
#ifndef OS_H
|
||||
#define OS_H
|
||||
#include "misc.h"
|
||||
#define ALLOCATE_LOCAL_FALLBACK(_size) Xalloc((unsigned long)(_size))
|
||||
#define DEALLOCATE_LOCAL_FALLBACK(_ptr) Xfree((pointer)(_ptr))
|
||||
#include "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 xrealloc(ptr, size) Xrealloc((pointer)(ptr), (unsigned long)(size))
|
||||
#define xfree(ptr) Xfree((pointer)(ptr))
|
||||
|
||||
#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 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 int 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
|
||||
);
|
||||
|
||||
extern void ErrorF(
|
||||
#if NeedVarargsPrototypes
|
||||
char* /*f*/,
|
||||
...
|
||||
#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 OsVendorInit(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int OsInitColors(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int AddHost(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/,
|
||||
int /*family*/,
|
||||
unsigned /*length*/,
|
||||
pointer /*pAddr*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool ForEachHostInFamily (
|
||||
#if NeedFunctionPrototypes
|
||||
int /*family*/,
|
||||
Bool (* /*func*/ )(),
|
||||
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
|
||||
);
|
||||
|
||||
#ifdef COMMANDLINE_CHALLENGED_OPERATING_SYSTEMS
|
||||
extern void ExpandCommandLine(
|
||||
#if NeedFunctionPrototypes
|
||||
int * /*pargc*/,
|
||||
char *** /*pargv*/
|
||||
#endif
|
||||
);
|
||||
#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 */
|
||||
123
include/pixmap.h
Normal file
123
include/pixmap.h
Normal file
@@ -0,0 +1,123 @@
|
||||
/* $Xorg: pixmap.h,v 1.4 2001/02/09 02:05:15 xorgcvs Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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 */
|
||||
83
include/pixmapstr.h
Normal file
83
include/pixmapstr.h
Normal file
@@ -0,0 +1,83 @@
|
||||
/* $Xorg: pixmapstr.h,v 1.4 2001/02/09 02:05:15 xorgcvs Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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 PIXMAPSTRUCT_H
|
||||
#define PIXMAPSTRUCT_H
|
||||
#include "pixmap.h"
|
||||
#include "screenint.h"
|
||||
#include "miscstruct.h"
|
||||
|
||||
typedef struct _Drawable {
|
||||
unsigned char type; /* DRAWABLE_<type> */
|
||||
unsigned char class; /* specific to type */
|
||||
unsigned char depth;
|
||||
unsigned char bitsPerPixel;
|
||||
unsigned long id; /* resource id */
|
||||
short x; /* window: screen absolute, pixmap: 0 */
|
||||
short y; /* window: screen absolute, pixmap: 0 */
|
||||
unsigned short width;
|
||||
unsigned short height;
|
||||
ScreenPtr pScreen;
|
||||
unsigned long serialNumber;
|
||||
} DrawableRec;
|
||||
|
||||
/*
|
||||
* PIXMAP -- device dependent
|
||||
*/
|
||||
|
||||
typedef struct _Pixmap {
|
||||
DrawableRec drawable;
|
||||
int refcnt;
|
||||
int devKind;
|
||||
DevUnion devPrivate;
|
||||
#ifdef PIXPRIV
|
||||
DevUnion *devPrivates; /* real devPrivates like gcs & windows */
|
||||
#endif
|
||||
} PixmapRec;
|
||||
|
||||
#endif /* PIXMAPSTRUCT_H */
|
||||
78
include/property.h
Normal file
78
include/property.h
Normal file
@@ -0,0 +1,78 @@
|
||||
/* $Xorg: property.h,v 1.4 2001/02/09 02:05:15 xorgcvs Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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 PROPERTY_H
|
||||
#define PROPERTY_H
|
||||
typedef struct _Property *PropertyPtr;
|
||||
|
||||
extern int ChangeWindowProperty(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pWin*/,
|
||||
Atom /*property*/,
|
||||
Atom /*type*/,
|
||||
int /*format*/,
|
||||
int /*mode*/,
|
||||
unsigned long /*len*/,
|
||||
pointer /*value*/,
|
||||
Bool /*sendevent*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int DeleteProperty(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pWin*/,
|
||||
Atom /*propName*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void DeleteAllWindowProperties(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#endif /* PROPERTY_H */
|
||||
74
include/propertyst.h
Normal file
74
include/propertyst.h
Normal file
@@ -0,0 +1,74 @@
|
||||
/* $Xorg: propertyst.h,v 1.4 2001/02/09 02:05:15 xorgcvs Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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 PROPERTYSTRUCT_H
|
||||
#define PROPERTYSTRUCT_H
|
||||
#include "misc.h"
|
||||
#include "property.h"
|
||||
/*
|
||||
* PROPERTY -- property element
|
||||
*/
|
||||
|
||||
typedef struct _Property {
|
||||
struct _Property *next;
|
||||
ATOM propertyName;
|
||||
ATOM type; /* ignored by server */
|
||||
short format; /* format of data for swapping - 8,16,32 */
|
||||
long size; /* size of data in (format/8) bytes */
|
||||
pointer data; /* private to client */
|
||||
#ifdef LBX
|
||||
/* If space is at a premium and binary compatibility is not
|
||||
* an issue, you may want to put the owner_pid next to format
|
||||
* so that the two shorts pack together without padding.
|
||||
*/
|
||||
short owner_pid; /* proxy that has the data */
|
||||
XID tag_id;
|
||||
#endif
|
||||
} PropertyRec;
|
||||
|
||||
#endif /* PROPERTYSTRUCT_H */
|
||||
|
||||
53
include/region.h
Normal file
53
include/region.h
Normal file
@@ -0,0 +1,53 @@
|
||||
/* $Xorg: region.h,v 1.4 2001/02/09 02:05:15 xorgcvs Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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 */
|
||||
408
include/regionstr.h
Normal file
408
include/regionstr.h
Normal file
@@ -0,0 +1,408 @@
|
||||
/* $Xorg: regionstr.h,v 1.4 2001/02/09 02:05:15 xorgcvs Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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 */
|
||||
281
include/resource.h
Normal file
281
include/resource.h
Normal file
@@ -0,0 +1,281 @@
|
||||
/* $Xorg: resource.h,v 1.5 2001/02/09 02:05:15 xorgcvs Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 1989, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
Copyright 1987, 1989 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 RESOURCE_H
|
||||
#define RESOURCE_H 1
|
||||
#include "misc.h"
|
||||
|
||||
/*****************************************************************
|
||||
* STUFF FOR RESOURCES
|
||||
*****************************************************************/
|
||||
|
||||
/* classes for Resource routines */
|
||||
|
||||
typedef unsigned long RESTYPE;
|
||||
|
||||
#define RC_VANILLA ((RESTYPE)0)
|
||||
#define RC_CACHED ((RESTYPE)1<<31)
|
||||
#define RC_DRAWABLE ((RESTYPE)1<<30)
|
||||
/* Use class RC_NEVERRETAIN for resources that should not be retained
|
||||
* regardless of the close down mode when the client dies. (A client's
|
||||
* event selections on objects that it doesn't own are good candidates.)
|
||||
* Extensions can use this too!
|
||||
*/
|
||||
#define RC_NEVERRETAIN ((RESTYPE)1<<29)
|
||||
#define RC_LASTPREDEF RC_NEVERRETAIN
|
||||
#define RC_ANY (~(RESTYPE)0)
|
||||
|
||||
/* types for Resource routines */
|
||||
|
||||
#define RT_WINDOW ((RESTYPE)1|RC_CACHED|RC_DRAWABLE)
|
||||
#define RT_PIXMAP ((RESTYPE)2|RC_CACHED|RC_DRAWABLE)
|
||||
#define RT_GC ((RESTYPE)3|RC_CACHED)
|
||||
#define RT_FONT ((RESTYPE)4)
|
||||
#define RT_CURSOR ((RESTYPE)5)
|
||||
#define RT_COLORMAP ((RESTYPE)6)
|
||||
#define RT_CMAPENTRY ((RESTYPE)7)
|
||||
#define RT_OTHERCLIENT ((RESTYPE)8|RC_NEVERRETAIN)
|
||||
#define RT_PASSIVEGRAB ((RESTYPE)9|RC_NEVERRETAIN)
|
||||
#define RT_LASTPREDEF ((RESTYPE)9)
|
||||
#define RT_NONE ((RESTYPE)0)
|
||||
|
||||
/* bits and fields within a resource id */
|
||||
#define CLIENTOFFSET 22 /* client field */
|
||||
#define RESOURCE_ID_MASK 0x3FFFFF /* low 22 bits */
|
||||
#define CLIENT_BITS(id) ((id) & 0x3fc00000) /* next 8 bits */
|
||||
#define CLIENT_ID(id) ((int)(CLIENT_BITS(id) >> CLIENTOFFSET))
|
||||
#define SERVER_BIT 0x40000000 /* use illegal bit */
|
||||
|
||||
#ifdef INVALID
|
||||
#undef INVALID /* needed on HP/UX */
|
||||
#endif
|
||||
|
||||
/* Invalid resource id */
|
||||
#define INVALID (0)
|
||||
|
||||
#define BAD_RESOURCE 0xe0000000
|
||||
|
||||
typedef int (*DeleteType)(
|
||||
#if NeedNestedPrototypes
|
||||
pointer /*value*/,
|
||||
XID /*id*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (*FindResType)(
|
||||
#if NeedNestedPrototypes
|
||||
pointer /*value*/,
|
||||
XID /*id*/,
|
||||
pointer /*cdata*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern RESTYPE CreateNewResourceType(
|
||||
#if NeedFunctionPrototypes
|
||||
DeleteType /*deleteFunc*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern RESTYPE CreateNewResourceClass(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool InitClientResources(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern XID FakeClientID(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool AddResource(
|
||||
#if NeedFunctionPrototypes
|
||||
XID /*id*/,
|
||||
RESTYPE /*type*/,
|
||||
pointer /*value*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void FreeResource(
|
||||
#if NeedFunctionPrototypes
|
||||
XID /*id*/,
|
||||
RESTYPE /*skipDeleteFuncType*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void FreeResourceByType(
|
||||
#if NeedFunctionPrototypes
|
||||
XID /*id*/,
|
||||
RESTYPE /*type*/,
|
||||
Bool /*skipFree*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool ChangeResourceValue(
|
||||
#if NeedFunctionPrototypes
|
||||
XID /*id*/,
|
||||
RESTYPE /*rtype*/,
|
||||
pointer /*value*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void FindClientResourcesByType(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/,
|
||||
RESTYPE /*type*/,
|
||||
FindResType /*func*/,
|
||||
pointer /*cdata*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void FreeClientNeverRetainResources(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void FreeClientResources(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void FreeAllResources(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool LegalNewID(
|
||||
#if NeedFunctionPrototypes
|
||||
XID /*id*/,
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern pointer LookupIDByType(
|
||||
#if NeedFunctionPrototypes
|
||||
XID /*id*/,
|
||||
RESTYPE /*rtype*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern pointer LookupIDByClass(
|
||||
#if NeedFunctionPrototypes
|
||||
XID /*id*/,
|
||||
RESTYPE /*classes*/
|
||||
#endif
|
||||
);
|
||||
|
||||
/* These are the access modes that can be passed in the last parameter
|
||||
* to SecurityLookupIDByType/Class. The Security extension doesn't
|
||||
* currently make much use of these; they're mainly provided as an
|
||||
* example of what you might need for discretionary access control.
|
||||
* You can or these values together to indicate multiple modes
|
||||
* simultaneously.
|
||||
*/
|
||||
|
||||
#define SecurityUnknownAccess 0 /* don't know intentions */
|
||||
#define SecurityReadAccess (1<<0) /* inspecting the object */
|
||||
#define SecurityWriteAccess (1<<1) /* changing the object */
|
||||
#define SecurityDestroyAccess (1<<2) /* destroying the object */
|
||||
|
||||
#ifdef XCSECURITY
|
||||
|
||||
extern pointer SecurityLookupIDByType(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/,
|
||||
XID /*id*/,
|
||||
RESTYPE /*rtype*/,
|
||||
Mask /*access_mode*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern pointer SecurityLookupIDByClass(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/,
|
||||
XID /*id*/,
|
||||
RESTYPE /*classes*/,
|
||||
Mask /*access_mode*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#else /* not XCSECURITY */
|
||||
|
||||
#define SecurityLookupIDByType(client, id, rtype, access_mode) \
|
||||
LookupIDByType(id, rtype)
|
||||
|
||||
#define SecurityLookupIDByClass(client, id, classes, access_mode) \
|
||||
LookupIDByClass(id, classes)
|
||||
|
||||
#endif /* XCSECURITY */
|
||||
|
||||
extern void GetXIDRange(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*client*/,
|
||||
Bool /*server*/,
|
||||
XID * /*minp*/,
|
||||
XID * /*maxp*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern unsigned int GetXIDList(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/,
|
||||
unsigned int /*count*/,
|
||||
XID * /*pids*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#endif /* RESOURCE_H */
|
||||
|
||||
54
include/rgb.h
Normal file
54
include/rgb.h
Normal file
@@ -0,0 +1,54 @@
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
******************************************************************/
|
||||
/* $Xorg: rgb.h,v 1.4 2001/02/09 02:05:15 xorgcvs Exp $ */
|
||||
|
||||
#ifndef RGB_H
|
||||
#define RGB_H
|
||||
typedef struct _RGB {
|
||||
unsigned short red, green, blue;
|
||||
} RGB;
|
||||
#endif /* RGB_H */
|
||||
164
include/screenint.h
Normal file
164
include/screenint.h
Normal file
@@ -0,0 +1,164 @@
|
||||
/* $Xorg: screenint.h,v 1.4 2001/02/09 02:05:15 xorgcvs Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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 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 int (*InitCmapPrivFunc)(/* ColormapPtr */);
|
||||
|
||||
extern int AllocateColormapPrivateIndex(
|
||||
#if NeedFunctionPrototypes
|
||||
InitCmapPrivFunc /* initPrivFunc */
|
||||
#endif
|
||||
);
|
||||
|
||||
#endif /* SCREENINT_H */
|
||||
933
include/scrnintstr.h
Normal file
933
include/scrnintstr.h
Normal file
@@ -0,0 +1,933 @@
|
||||
/* $Xorg: scrnintstr.h,v 1.4 2001/02/09 02:05:15 xorgcvs Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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
|
||||
WindowPtr /*pWindow*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* DestroyWindowProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*pWindow*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* PositionWindowProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*pWindow*/,
|
||||
int /*x*/,
|
||||
int /*y*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* ChangeWindowAttributesProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*pWindow*/,
|
||||
unsigned long /*mask*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* RealizeWindowProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*pWindow*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* UnrealizeWindowProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*pWindow*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef int (* ValidateTreeProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*pParent*/,
|
||||
WindowPtr /*pChild*/,
|
||||
VTKind /*kind*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* PostValidateTreeProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*pParent*/,
|
||||
WindowPtr /*pChild*/,
|
||||
VTKind /*kind*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* WindowExposuresProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*pWindow*/,
|
||||
RegionPtr /*prgn*/,
|
||||
RegionPtr /*other_exposed*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* PaintWindowBackgroundProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*pWindow*/,
|
||||
RegionPtr /*pRegion*/,
|
||||
int /*what*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* PaintWindowBorderProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*pWindow*/,
|
||||
RegionPtr /*pRegion*/,
|
||||
int /*what*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* CopyWindowProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*pWindow*/,
|
||||
DDXPointRec /*ptOldOrg*/,
|
||||
RegionPtr /*prgnSrc*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* ClearToBackgroundProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*pWindow*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
int /*w*/,
|
||||
int /*h*/,
|
||||
Bool /*generateExposures*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* ClipNotifyProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*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
|
||||
WindowPtr /*pWindow*/,
|
||||
RegionPtr /*prgnSave*/,
|
||||
int /*xorg*/,
|
||||
int /*yorg*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef RegionPtr (* RestoreAreasProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*pWindow*/,
|
||||
RegionPtr /*prgnRestore*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* ExposeCopyProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*pSrc*/,
|
||||
DrawablePtr /*pDst*/,
|
||||
GCPtr /*pGC*/,
|
||||
RegionPtr /*prgnExposed*/,
|
||||
int /*srcx*/,
|
||||
int /*srcy*/,
|
||||
int /*dstx*/,
|
||||
int /*dsty*/,
|
||||
unsigned long /*plane*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef RegionPtr (* TranslateBackingStoreProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*pWindow*/,
|
||||
int /*windx*/,
|
||||
int /*windy*/,
|
||||
RegionPtr /*oldClip*/,
|
||||
int /*oldx*/,
|
||||
int /*oldy*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef RegionPtr (* ClearBackingStoreProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*pWindow*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
int /*w*/,
|
||||
int /*h*/,
|
||||
Bool /*generateExposures*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* DrawGuaranteeProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*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
|
||||
WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* MarkOverlappedWindowsProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*parent*/,
|
||||
WindowPtr /*firstChild*/,
|
||||
WindowPtr * /*pLayerWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef Bool (* ChangeSaveUnderProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*pLayerWin*/,
|
||||
WindowPtr /*firstChild*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* PostChangeSaveUnderProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*pLayerWin*/,
|
||||
WindowPtr /*firstChild*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* MoveWindowProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*pWin*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
WindowPtr /*pSib*/,
|
||||
VTKind /*kind*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* ResizeWindowProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*pWin*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
unsigned int /*w*/,
|
||||
unsigned int /*h*/,
|
||||
WindowPtr /*pSib*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef WindowPtr (* GetLayerWindowProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* HandleExposuresProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* ReparentWindowProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*pWin*/,
|
||||
WindowPtr /*pPriorParent*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#ifdef SHAPE
|
||||
typedef void (* SetShapeProcPtr)(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
#endif /* SHAPE */
|
||||
|
||||
typedef void (* ChangeBorderWidthProcPtr)(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pWin*/,
|
||||
unsigned int /*width*/
|
||||
#endif
|
||||
);
|
||||
|
||||
typedef void (* MarkUnrealizedWindowProcPtr)(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pChild*/,
|
||||
WindowPtr /*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 */
|
||||
68
include/selection.h
Normal file
68
include/selection.h
Normal file
@@ -0,0 +1,68 @@
|
||||
/* $Xorg: selection.h,v 1.4 2001/02/09 02:05:16 xorgcvs Exp $ */
|
||||
#ifndef SELECTION_H
|
||||
#define SELECTION_H 1
|
||||
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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 "dixstruct.h"
|
||||
/*
|
||||
*
|
||||
* Selection data structures
|
||||
*/
|
||||
|
||||
typedef struct _Selection {
|
||||
Atom selection;
|
||||
TimeStamp lastTimeChanged;
|
||||
Window window;
|
||||
WindowPtr pWin;
|
||||
ClientPtr client;
|
||||
} Selection;
|
||||
|
||||
#endif /* SELECTION_H */
|
||||
|
||||
|
||||
483
include/servermd.h
Normal file
483
include/servermd.h
Normal file
@@ -0,0 +1,483 @@
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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 SERVERMD_H
|
||||
#define SERVERMD_H 1
|
||||
/* $Xorg: servermd.h,v 1.4 2001/02/09 02:05:16 xorgcvs Exp $ */
|
||||
|
||||
/*
|
||||
* Machine dependent values:
|
||||
* GLYPHPADBYTES should be chosen with consideration for the space-time
|
||||
* trade-off. Padding to 0 bytes means that there is no wasted space
|
||||
* in the font bitmaps (both on disk and in memory), but that access of
|
||||
* the bitmaps will cause odd-address memory references. Padding to
|
||||
* 2 bytes would ensure even address memory references and would
|
||||
* be suitable for a 68010-class machine, but at the expense of wasted
|
||||
* space in the font bitmaps. Padding to 4 bytes would be good
|
||||
* for real 32 bit machines, etc. Be sure that you tell the font
|
||||
* compiler what kind of padding you want because its defines are
|
||||
* kept separate from this. See server/include/font.h for how
|
||||
* GLYPHPADBYTES is used.
|
||||
*
|
||||
* Along with this, you should choose an appropriate value for
|
||||
* GETLEFTBITS_ALIGNMENT, which is used in ddx/mfb/maskbits.h. This
|
||||
* constant choses what kind of memory references are guarenteed during
|
||||
* font access; either 1, 2 or 4, for byte, word or longword access,
|
||||
* respectively. For instance, if you have decided to to have
|
||||
* GLYPHPADBYTES == 4, then it is pointless for you to have a
|
||||
* GETLEFTBITS_ALIGNMENT > 1, because the padding of the fonts has already
|
||||
* guarenteed you that your fonts are longword aligned. On the other
|
||||
* hand, even if you have chosen GLYPHPADBYTES == 1 to save space, you may
|
||||
* also decide that the computing involved in aligning the pointer is more
|
||||
* costly than an odd-address access; you choose GETLEFTBITS_ALIGNMENT == 1.
|
||||
*
|
||||
* Next, choose the tuning parameters which are appropriate for your
|
||||
* hardware; these modify the behaviour of the raw frame buffer code
|
||||
* in ddx/mfb and ddx/cfb. Defining these incorrectly will not cause
|
||||
* the server to run incorrectly, but defining these correctly will
|
||||
* cause some noticeable speed improvements:
|
||||
*
|
||||
* AVOID_MEMORY_READ - (8-bit cfb only)
|
||||
* When stippling pixels on the screen (polytext and pushpixels),
|
||||
* don't read long words from the display and mask in the
|
||||
* appropriate values. Rather, perform multiple byte/short/long
|
||||
* writes as appropriate. This option uses many more instructions
|
||||
* but runs much faster when the destination is much slower than
|
||||
* the CPU and at least 1 level of write buffer is availible (2
|
||||
* is much better). Defined currently for SPARC and MIPS.
|
||||
*
|
||||
* FAST_CONSTANT_OFFSET_MODE - (cfb and mfb)
|
||||
* This define is used on machines which have no auto-increment
|
||||
* addressing mode, but do have an effectively free constant-offset
|
||||
* addressing mode. Currently defined for MIPS and SPARC, even though
|
||||
* I remember the cg6 as performing better without it (cg3 definitely
|
||||
* performs better with it).
|
||||
*
|
||||
* LARGE_INSTRUCTION_CACHE -
|
||||
* This define increases the number of times some loops are
|
||||
* unrolled. On 68020 machines (with 256 bytes of i-cache),
|
||||
* this define will slow execution down as instructions miss
|
||||
* the cache frequently. On machines with real i-caches, this
|
||||
* reduces loop overhead, causing a slight performance improvement.
|
||||
* Currently defined for MIPS and SPARC
|
||||
*
|
||||
* FAST_UNALIGNED_READS -
|
||||
* For machines with more memory bandwidth than CPU, this
|
||||
* define uses unaligned reads for 8-bit BitBLT instead of doing
|
||||
* aligned reads and combining the results with shifts and
|
||||
* logical-ors. Currently defined for 68020 and vax.
|
||||
* PLENTIFUL_REGISTERS -
|
||||
* For machines with > 20 registers. Currently used for
|
||||
* unrolling the text painting code a bit more. Currently
|
||||
* defined for MIPS.
|
||||
* SHARED_IDCACHE -
|
||||
* For non-Harvard RISC machines, those which share the same
|
||||
* CPU memory bus for instructions and data. This unrolls some
|
||||
* solid fill loops which are otherwise best left rolled up.
|
||||
* Currently defined for SPARC.
|
||||
*/
|
||||
|
||||
#ifdef vax
|
||||
|
||||
#define IMAGE_BYTE_ORDER LSBFirst /* Values for the VAX only */
|
||||
#define BITMAP_BIT_ORDER LSBFirst
|
||||
#define GLYPHPADBYTES 1
|
||||
#define GETLEFTBITS_ALIGNMENT 4
|
||||
#define FAST_UNALIGNED_READS
|
||||
|
||||
#endif /* vax */
|
||||
|
||||
#if (defined(sun) && !(defined(i386) && defined(SVR4))) || \
|
||||
(defined(AMOEBA) && (defined(sparc) || defined(mc68000))) || \
|
||||
(defined(__uxp__) && (defined(sparc) || defined(mc68000))) || \
|
||||
(defined(Lynx) && defined(__sparc__)) || \
|
||||
((defined(__NetBSD__) || defined(__OpenBSD__)) && \
|
||||
(defined(__sparc__) || defined(__mc68000__)))
|
||||
|
||||
#if defined(sun386) || defined(sun5)
|
||||
# define IMAGE_BYTE_ORDER LSBFirst /* Values for the SUN only */
|
||||
# define BITMAP_BIT_ORDER LSBFirst
|
||||
#else
|
||||
# define IMAGE_BYTE_ORDER MSBFirst /* Values for the SUN only */
|
||||
# define BITMAP_BIT_ORDER MSBFirst
|
||||
#endif
|
||||
|
||||
#ifdef sparc
|
||||
# define AVOID_MEMORY_READ
|
||||
# define LARGE_INSTRUCTION_CACHE
|
||||
# define FAST_CONSTANT_OFFSET_MODE
|
||||
# define SHARED_IDCACHE
|
||||
#endif
|
||||
|
||||
#ifdef mc68020
|
||||
#define FAST_UNALIGNED_READS
|
||||
#endif
|
||||
|
||||
#define GLYPHPADBYTES 4
|
||||
#define GETLEFTBITS_ALIGNMENT 1
|
||||
|
||||
#endif /* sun */
|
||||
|
||||
|
||||
#if defined(AIXV3)
|
||||
|
||||
#define IMAGE_BYTE_ORDER MSBFirst /* Values for the RISC/6000 */
|
||||
#define BITMAP_BIT_ORDER MSBFirst
|
||||
#define GLYPHPADBYTES 4
|
||||
#define GETLEFTBITS_ALIGNMENT 1
|
||||
|
||||
#define LARGE_INSTRUCTION_CACHE
|
||||
#define FAST_CONSTANT_OFFSET_MODE
|
||||
#define PLENTIFUL_REGISTERS
|
||||
#define AVOID_MEMORY_READ
|
||||
|
||||
#define FAST_MEMCPY
|
||||
#endif /* AIXV3 */
|
||||
|
||||
#if defined(ibm032) || defined (ibm)
|
||||
|
||||
#ifdef i386
|
||||
# define IMAGE_BYTE_ORDER LSBFirst /* Value for PS/2 only */
|
||||
#else
|
||||
# define IMAGE_BYTE_ORDER MSBFirst /* Values for the RT only*/
|
||||
#endif
|
||||
#define BITMAP_BIT_ORDER MSBFirst
|
||||
#define GLYPHPADBYTES 1
|
||||
#define GETLEFTBITS_ALIGNMENT 4
|
||||
/* ibm pcc doesn't understand pragmas. */
|
||||
|
||||
#ifdef i386
|
||||
#define BITMAP_SCANLINE_UNIT 8
|
||||
#endif
|
||||
|
||||
#endif /* ibm */
|
||||
|
||||
#ifdef hpux
|
||||
|
||||
#define IMAGE_BYTE_ORDER MSBFirst /* Values for the HP only */
|
||||
#define BITMAP_BIT_ORDER MSBFirst
|
||||
#define GLYPHPADBYTES 2 /* to match product server */
|
||||
#define GETLEFTBITS_ALIGNMENT 4 /* PA forces longs to 4 */
|
||||
/* byte boundries */
|
||||
#define AVOID_MEMORY_READ
|
||||
#define FAST_CONSTANT_OFFSET_MODE
|
||||
#define LARGE_INSTRUCTION_CACHE
|
||||
#define PLENTIFUL_REGISTERS
|
||||
|
||||
#endif /* hpux */
|
||||
|
||||
#if defined (M4310) || defined(M4315) || defined(M4317) || defined(M4319) || defined(M4330)
|
||||
|
||||
#define IMAGE_BYTE_ORDER MSBFirst /* Values for Pegasus only */
|
||||
#define BITMAP_BIT_ORDER MSBFirst
|
||||
#define GLYPHPADBYTES 4
|
||||
#define GETLEFTBITS_ALIGNMENT 1
|
||||
|
||||
#define FAST_UNALIGNED_READS
|
||||
|
||||
#endif /* tektronix */
|
||||
|
||||
#ifdef macII
|
||||
|
||||
#define IMAGE_BYTE_ORDER MSBFirst /* Values for the MacII only */
|
||||
#define BITMAP_BIT_ORDER MSBFirst
|
||||
#define GLYPHPADBYTES 4
|
||||
#define GETLEFTBITS_ALIGNMENT 1
|
||||
|
||||
/* might want FAST_UNALIGNED_READS for frame buffers with < 1us latency */
|
||||
|
||||
#endif /* macII */
|
||||
|
||||
#if (defined(mips) || defined(__mips)) && !defined(sgi)
|
||||
|
||||
#if defined(MIPSEL) || defined(__MIPSEL__)
|
||||
# define IMAGE_BYTE_ORDER LSBFirst /* Values for the PMAX only */
|
||||
# define BITMAP_BIT_ORDER LSBFirst
|
||||
# define GLYPHPADBYTES 4
|
||||
# define GETLEFTBITS_ALIGNMENT 1
|
||||
#else
|
||||
# define IMAGE_BYTE_ORDER MSBFirst /* Values for the MIPS only */
|
||||
# define BITMAP_BIT_ORDER MSBFirst
|
||||
# define GLYPHPADBYTES 4
|
||||
# define GETLEFTBITS_ALIGNMENT 1
|
||||
#endif
|
||||
|
||||
#define AVOID_MEMORY_READ
|
||||
#define FAST_CONSTANT_OFFSET_MODE
|
||||
#define LARGE_INSTRUCTION_CACHE
|
||||
#define PLENTIFUL_REGISTERS
|
||||
|
||||
#endif /* mips */
|
||||
|
||||
#if defined(__alpha) || defined(__alphaCross)
|
||||
# define IMAGE_BYTE_ORDER LSBFirst /* Values for the Alpha only */
|
||||
# define BITMAP_BIT_ORDER LSBFirst
|
||||
# define GLYPHPADBYTES 4
|
||||
# define GETLEFTBITS_ALIGNMENT 1
|
||||
# define FAST_CONSTANT_OFFSET_MODE
|
||||
# define LARGE_INSTRUCTION_CACHE
|
||||
# define PLENTIFUL_REGISTERS
|
||||
|
||||
/* pad scanline to a longword */
|
||||
#define BITMAP_SCANLINE_UNIT 64
|
||||
|
||||
#define BITMAP_SCANLINE_PAD 64
|
||||
#define LOG2_BITMAP_PAD 6
|
||||
#define LOG2_BYTES_PER_SCANLINE_PAD 3
|
||||
|
||||
/* Add for handling protocol XPutImage and XGetImage; see comment below */
|
||||
#define INTERNAL_VS_EXTERNAL_PADDING
|
||||
#define BITMAP_SCANLINE_UNIT_PROTO 32
|
||||
|
||||
#define BITMAP_SCANLINE_PAD_PROTO 32
|
||||
#define LOG2_BITMAP_PAD_PROTO 5
|
||||
#define LOG2_BYTES_PER_SCANLINE_PAD_PROTO 2
|
||||
|
||||
#endif /* alpha */
|
||||
|
||||
#ifdef stellar
|
||||
|
||||
#define IMAGE_BYTE_ORDER MSBFirst /* Values for the stellar only*/
|
||||
#define BITMAP_BIT_ORDER MSBFirst
|
||||
#define GLYPHPADBYTES 4
|
||||
#define GETLEFTBITS_ALIGNMENT 4
|
||||
#define IMAGE_BUFSIZE (64*1024)
|
||||
/*
|
||||
* Use SysV random number generator.
|
||||
*/
|
||||
#define random rand
|
||||
|
||||
#endif /* stellar */
|
||||
|
||||
#ifdef luna
|
||||
|
||||
#define IMAGE_BYTE_ORDER MSBFirst /* Values for the OMRON only*/
|
||||
#define BITMAP_BIT_ORDER MSBFirst
|
||||
#define GLYPHPADBYTES 4
|
||||
#define GETLEFTBITS_ALIGNMENT 1
|
||||
|
||||
#ifndef mc68000
|
||||
#define FAST_CONSTANT_OFFSET_MODE
|
||||
#define AVOID_MEMORY_READ
|
||||
#define LARGE_INSTRUCTION_CACHE
|
||||
#define PLENTIFUL_REGISTERS
|
||||
#endif
|
||||
|
||||
#endif /* luna */
|
||||
|
||||
#if ((defined(SVR4) && defined(i386)) || \
|
||||
(defined(SYSV) && defined(i386)) || \
|
||||
(defined(sun) && defined (i386) && defined(SVR4)) || \
|
||||
defined(__bsdi__) || \
|
||||
(defined(__NetBSD__) && defined(__i386__)) || \
|
||||
defined(__FreeBSD__) || \
|
||||
defined(MACH386) || \
|
||||
defined(linux) || \
|
||||
(defined(AMOEBA) && defined(i80386)) || \
|
||||
defined(MINIX) || \
|
||||
defined(WIN32))
|
||||
|
||||
#ifndef IMAGE_BYTE_ORDER
|
||||
#define IMAGE_BYTE_ORDER LSBFirst
|
||||
#endif
|
||||
|
||||
#ifndef BITMAP_BIT_ORDER
|
||||
# if defined(XF86MONOVGA) || defined(XF86VGA16) || defined(XF86MONO)
|
||||
# define BITMAP_BIT_ORDER MSBFirst
|
||||
# else
|
||||
# define BITMAP_BIT_ORDER LSBFirst
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef BITMAP_SCANLINE_UNIT
|
||||
# if defined(XF86MONOVGA) || defined(XF86VGA16)
|
||||
# define BITMAP_SCANLINE_UNIT 8
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef GLYPHPADBYTES
|
||||
#define GLYPHPADBYTES 4
|
||||
#endif
|
||||
|
||||
#define GETLEFTBITS_ALIGNMENT 1
|
||||
#define AVOID_MEMORY_READ
|
||||
#ifdef XSVGA
|
||||
#define AVOID_GLYPHBLT
|
||||
#define FAST_CONSTANT_OFFSET_MODE
|
||||
#define FAST_MEMCPY
|
||||
#define NO_ONE_RECT
|
||||
#endif
|
||||
|
||||
#endif /* SVR4 / BSD / i386 */
|
||||
|
||||
|
||||
#ifdef sgi
|
||||
|
||||
#define IMAGE_BYTE_ORDER MSBFirst
|
||||
#define BITMAP_BIT_ORDER MSBFirst
|
||||
|
||||
#if (_MIPS_SZLONG == 64)
|
||||
|
||||
# define GLYPHPADBYTES 4
|
||||
# define GETLEFTBITS_ALIGNMENT 1
|
||||
|
||||
/* pad scanline to a longword */
|
||||
#define BITMAP_SCANLINE_UNIT 64
|
||||
|
||||
#define BITMAP_SCANLINE_PAD 64
|
||||
#define LOG2_BITMAP_PAD 6
|
||||
#define LOG2_BYTES_PER_SCANLINE_PAD 3
|
||||
|
||||
/* Add for handling protocol XPutImage and XGetImage; see comment below */
|
||||
#define INTERNAL_VS_EXTERNAL_PADDING
|
||||
#define BITMAP_SCANLINE_UNIT_PROTO 32
|
||||
|
||||
#define BITMAP_SCANLINE_PAD_PROTO 32
|
||||
#define LOG2_BITMAP_PAD_PROTO 5
|
||||
#define LOG2_BYTES_PER_SCANLINE_PAD_PROTO 2
|
||||
|
||||
#else
|
||||
|
||||
#define GLYPHPADBYTES 2
|
||||
#define GETLEFTBITS_ALIGNMENT 4
|
||||
|
||||
#endif
|
||||
|
||||
#define AVOID_MEMORY_READ
|
||||
#define FAST_CONSTANT_OFFSET_MODE
|
||||
#define LARGE_INSTRUCTION_CACHE
|
||||
#define PLENTIFUL_REGISTERS
|
||||
|
||||
#endif
|
||||
|
||||
/* size of buffer to use with GetImage, measured in bytes. There's obviously
|
||||
* a trade-off between the amount of stack (or whatever ALLOCATE_LOCAL gives
|
||||
* you) used and the number of times the ddx routine has to be called.
|
||||
*
|
||||
* for a 1024 x 864 bit monochrome screen with a 32 bit word we get
|
||||
* 8192/4 words per buffer
|
||||
* (1024/32) = 32 words per scanline
|
||||
* 2048 words per buffer / 32 words per scanline = 64 scanlines per buffer
|
||||
* 864 scanlines / 64 scanlines = 14 buffers to draw a full screen
|
||||
*/
|
||||
#ifndef IMAGE_BUFSIZE
|
||||
#define IMAGE_BUFSIZE 8192
|
||||
#endif
|
||||
|
||||
/* pad scanline to a longword */
|
||||
#ifndef BITMAP_SCANLINE_UNIT
|
||||
#define BITMAP_SCANLINE_UNIT 32
|
||||
#endif
|
||||
|
||||
#ifndef BITMAP_SCANLINE_PAD
|
||||
#define BITMAP_SCANLINE_PAD 32
|
||||
#define LOG2_BITMAP_PAD 5
|
||||
#define LOG2_BYTES_PER_SCANLINE_PAD 2
|
||||
#endif
|
||||
|
||||
/*
|
||||
* This returns the number of padding units, for depth d and width w.
|
||||
* For bitmaps this can be calculated with the macros above.
|
||||
* Other depths require either grovelling over the formats field of the
|
||||
* screenInfo or hardwired constants.
|
||||
*/
|
||||
|
||||
typedef struct _PaddingInfo {
|
||||
int padRoundUp; /* pixels per pad unit - 1 */
|
||||
int padPixelsLog2; /* log 2 (pixels per pad unit) */
|
||||
int padBytesLog2; /* log 2 (bytes per pad unit) */
|
||||
} PaddingInfo;
|
||||
extern PaddingInfo PixmapWidthPaddingInfo[];
|
||||
|
||||
#define PixmapWidthInPadUnits(w, d) \
|
||||
((int)((w) + PixmapWidthPaddingInfo[d].padRoundUp) >> \
|
||||
PixmapWidthPaddingInfo[d].padPixelsLog2)
|
||||
|
||||
/*
|
||||
* Return the number of bytes to which a scanline of the given
|
||||
* depth and width will be padded.
|
||||
*/
|
||||
#define PixmapBytePad(w, d) \
|
||||
(PixmapWidthInPadUnits(w, d) << PixmapWidthPaddingInfo[d].padBytesLog2)
|
||||
|
||||
#define BitmapBytePad(w) \
|
||||
(((int)((w) + BITMAP_SCANLINE_PAD - 1) >> LOG2_BITMAP_PAD) << LOG2_BYTES_PER_SCANLINE_PAD)
|
||||
|
||||
#ifdef INTERNAL_VS_EXTERNAL_PADDING
|
||||
|
||||
/* This is defined if the server's internal padding is different from the padding
|
||||
* advertised in the protocol. The protocol does not allow for padding to
|
||||
* 64 bits, for example, so if the server wants to use 64 bit padding internally,
|
||||
* it has to advertise 32 bit padding and do padding fixups whenever images
|
||||
* cross the wire. (See ProcGetImage and ProcPutImage.)
|
||||
*
|
||||
* The macros and constants that end in Proto or PROTO refer to the advertised
|
||||
* padding, and the ones without Proto are for internal padding.
|
||||
*/
|
||||
|
||||
extern PaddingInfo PixmapWidthPaddingInfoProto[];
|
||||
|
||||
#define PixmapWidthInPadUnitsProto(w, d) \
|
||||
((int)((w) + PixmapWidthPaddingInfoProto[d].padRoundUp) >> \
|
||||
PixmapWidthPaddingInfoProto[d].padPixelsLog2)
|
||||
|
||||
#define PixmapBytePadProto(w, d) \
|
||||
(PixmapWidthInPadUnitsProto(w, d) << \
|
||||
PixmapWidthPaddingInfoProto[d].padBytesLog2)
|
||||
|
||||
#define BitmapBytePadProto(w) \
|
||||
((((w) + BITMAP_SCANLINE_PAD_PROTO - 1) >> LOG2_BITMAP_PAD_PROTO) \
|
||||
<< LOG2_BYTES_PER_SCANLINE_PAD_PROTO)
|
||||
|
||||
#else /* protocol and internal padding is the same */
|
||||
|
||||
#define PixmapWidthInPadUnitsProto(w, d) PixmapWidthInPadUnits(w, d)
|
||||
#define PixmapBytePadProto(w, d) PixmapBytePad(w, d)
|
||||
#define BitmapBytePadProto(w) BitmapBytePad(w)
|
||||
|
||||
#endif /* protocol vs. internal padding */
|
||||
|
||||
#endif /* SERVERMD_H */
|
||||
137
include/site.h
Normal file
137
include/site.h
Normal file
@@ -0,0 +1,137 @@
|
||||
/* $Xorg: site.h,v 1.6 2001/02/09 02:05:16 xorgcvs Exp $ */
|
||||
/************************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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 SITE_H
|
||||
#define SITE_H
|
||||
/*
|
||||
* The vendor string identifies the vendor responsible for the
|
||||
* server executable.
|
||||
*/
|
||||
#ifndef VENDOR_STRING
|
||||
#define VENDOR_STRING "The X.Org Group"
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The vendor release number identifies, for the purpose of submitting
|
||||
* traceable bug reports, the release number of software produced
|
||||
* by the vendor.
|
||||
*/
|
||||
#ifndef VENDOR_RELEASE
|
||||
#define VENDOR_RELEASE 6600
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The following constants are provided solely as a last line of defense. The
|
||||
* normal build ALWAYS overrides them using a special rule given in
|
||||
* server/dix/Imakefile. If you want to change either of these constants,
|
||||
* you should set the DefaultFontPath or DefaultRGBDatabase configuration
|
||||
* parameters.
|
||||
* DO NOT CHANGE THESE VALUES OR THE DIX IMAKEFILE!
|
||||
*/
|
||||
#ifndef COMPILEDDEFAULTFONTPATH
|
||||
#define COMPILEDDEFAULTFONTPATH "/usr/lib/X11/fonts/misc/"
|
||||
#endif
|
||||
#ifndef RGB_DB
|
||||
#define RGB_DB "/usr/lib/X11/rgb"
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The following constants contain default values for all of the variables
|
||||
* that can be initialized on the server command line or in the environment.
|
||||
*/
|
||||
#define COMPILEDDEFAULTFONT "fixed"
|
||||
#define COMPILEDCURSORFONT "cursor"
|
||||
#ifndef COMPILEDDISPLAYCLASS
|
||||
#define COMPILEDDISPLAYCLASS "MIT-unspecified"
|
||||
#endif
|
||||
#define DEFAULT_TIMEOUT 60 /* seconds */
|
||||
#define DEFAULT_KEYBOARD_CLICK 0
|
||||
#define DEFAULT_BELL 50
|
||||
#define DEFAULT_BELL_PITCH 400
|
||||
#define DEFAULT_BELL_DURATION 100
|
||||
#ifdef XKB
|
||||
#define DEFAULT_AUTOREPEAT TRUE
|
||||
#else
|
||||
#define DEFAULT_AUTOREPEAT FALSE
|
||||
#endif
|
||||
#ifdef hpux
|
||||
#define DEFAULT_AUTOREPEATS {\
|
||||
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\
|
||||
0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
|
||||
#else
|
||||
#define DEFAULT_AUTOREPEATS {\
|
||||
0, 0, 0, 0, 0, 0, 0, 0,\
|
||||
0, 0, 0, 0, 0, 0, 0, 0,\
|
||||
0, 0, 0, 0, 0, 0, 0, 0,\
|
||||
0, 0, 0, 0, 0, 0, 0, 0 }
|
||||
#endif
|
||||
#define DEFAULT_LEDS 0x0 /* all off */
|
||||
#define DEFAULT_LEDS_MASK 0xffffffff /* 32 */
|
||||
#define DEFAULT_INT_RESOLUTION 1000
|
||||
#define DEFAULT_INT_MIN_VALUE 0
|
||||
#define DEFAULT_INT_MAX_VALUE 100
|
||||
#define DEFAULT_INT_DISPLAYED 0
|
||||
|
||||
#define DEFAULT_PTR_NUMERATOR 2
|
||||
#define DEFAULT_PTR_DENOMINATOR 1
|
||||
#define DEFAULT_PTR_THRESHOLD 4
|
||||
|
||||
#define DEFAULT_SCREEN_SAVER_TIME (10 * (60 * 1000))
|
||||
#define DEFAULT_SCREEN_SAVER_INTERVAL (10 * (60 * 1000))
|
||||
#define DEFAULT_SCREEN_SAVER_BLANKING PreferBlanking
|
||||
#define DEFAULT_SCREEN_SAVER_EXPOSURES AllowExposures
|
||||
#ifndef NOLOGOHACK
|
||||
#define DEFAULT_LOGO_SCREEN_SAVER 1
|
||||
#endif
|
||||
#ifndef DEFAULT_ACCESS_CONTROL
|
||||
#define DEFAULT_ACCESS_CONTROL TRUE
|
||||
#endif
|
||||
|
||||
#endif /* SITE_H */
|
||||
41
include/validate.h
Normal file
41
include/validate.h
Normal file
@@ -0,0 +1,41 @@
|
||||
/* $Xorg: validate.h,v 1.4 2001/02/09 02:05:16 xorgcvs Exp $ */
|
||||
|
||||
/*
|
||||
|
||||
Copyright 1989, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
*/
|
||||
|
||||
#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 */
|
||||
350
include/window.h
Normal file
350
include/window.h
Normal file
@@ -0,0 +1,350 @@
|
||||
/* $Xorg: window.h,v 1.4 2001/02/09 02:05:16 xorgcvs Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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 ((WindowPtr) 0)
|
||||
|
||||
typedef struct _BackingStore *BackingStorePtr;
|
||||
typedef struct _Window *WindowPtr;
|
||||
|
||||
typedef int (*VisitWindowProcPtr)(
|
||||
#if NeedNestedPrototypes
|
||||
WindowPtr /*pWin*/,
|
||||
pointer /*data*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int TraverseTree(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pWin*/,
|
||||
VisitWindowProcPtr /*func*/,
|
||||
pointer /*data*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int WalkTree(
|
||||
#if NeedFunctionPrototypes
|
||||
ScreenPtr /*pScreen*/,
|
||||
VisitWindowProcPtr /*func*/,
|
||||
pointer /*data*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern WindowPtr AllocateWindow(
|
||||
#if NeedFunctionPrototypes
|
||||
ScreenPtr /*pScreen*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool CreateRootWindow(
|
||||
#if NeedFunctionPrototypes
|
||||
ScreenPtr /*pScreen*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void InitRootWindow(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void ClippedRegionFromBox(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pWin*/,
|
||||
RegionPtr /*Rgn*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
int /*w*/,
|
||||
int /*h*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern WindowPtr RealChildHead(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern WindowPtr CreateWindow(
|
||||
#if NeedFunctionPrototypes
|
||||
Window /*wid*/,
|
||||
WindowPtr /*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
|
||||
WindowPtr /*pWin*/,
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int ChangeWindowAttributes(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pWin*/,
|
||||
Mask /*vmask*/,
|
||||
XID* /*vlist*/,
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void GetWindowAttributes(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pWin*/,
|
||||
ClientPtr /*client*/,
|
||||
xGetWindowAttributesReply* /* wa */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern RegionPtr CreateUnclippedWinSize(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*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
|
||||
WindowPtr /*pWin*/,
|
||||
Mask /*mask*/,
|
||||
XID* /*vlist*/,
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int CirculateWindow(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pParent*/,
|
||||
int /*direction*/,
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int ReparentWindow(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pWin*/,
|
||||
WindowPtr /*pParent*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int MapWindow(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pWin*/,
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void MapSubwindows(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pParent*/,
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int UnmapWindow(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pWin*/,
|
||||
Bool /*fromConfigure*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void UnmapSubwindows(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void HandleSaveSet(
|
||||
#if NeedFunctionPrototypes
|
||||
ClientPtr /*client*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool VisibleBoundingBoxFromPoint(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pWin*/,
|
||||
int /*x*/,
|
||||
int /*y*/,
|
||||
BoxPtr /*box*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool PointInWindowIsVisible(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pWin*/,
|
||||
int /*x*/,
|
||||
int /*y*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern RegionPtr NotClippedByChildren(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void SendVisibilityNotify(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void SaveScreens(
|
||||
#if NeedFunctionPrototypes
|
||||
int /*on*/,
|
||||
int /*mode*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern WindowPtr FindWindowWithOptional(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*w*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void CheckWindowOptionalNeed(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*w*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool MakeWindowOptional(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void DisposeWindowOptional(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
extern WindowPtr MoveWindowInStack(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pWin*/,
|
||||
WindowPtr /*pNextSib*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void SetWinSize(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void SetBorderSize(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pWin*/
|
||||
#endif
|
||||
);
|
||||
|
||||
void ResizeChildrenWinSize(
|
||||
#if NeedFunctionPrototypes
|
||||
WindowPtr /*pWin*/,
|
||||
int /*dx*/,
|
||||
int /*dy*/,
|
||||
int /*dw*/,
|
||||
int /*dh*/
|
||||
#endif
|
||||
);
|
||||
|
||||
#endif /* WINDOW_H */
|
||||
227
include/windowstr.h
Normal file
227
include/windowstr.h
Normal file
@@ -0,0 +1,227 @@
|
||||
/* $Xorg: windowstr.h,v 1.4 2001/02/09 02:05:16 xorgcvs Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
OPEN GROUP 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 Open Group 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 Open Group.
|
||||
|
||||
|
||||
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 WINDOWSTRUCT_H
|
||||
#define WINDOWSTRUCT_H
|
||||
|
||||
#include "window.h"
|
||||
#include "pixmapstr.h"
|
||||
#include "regionstr.h"
|
||||
#include "cursor.h"
|
||||
#include "property.h"
|
||||
#include "resource.h" /* for ROOT_WINDOW_ID_BASE */
|
||||
#include "dix.h"
|
||||
#include "miscstruct.h"
|
||||
#include "X11/Xprotostr.h"
|
||||
#include "opaque.h"
|
||||
|
||||
#define GuaranteeNothing 0
|
||||
#define GuaranteeVisBack 1
|
||||
|
||||
#define SameBackground(as, a, bs, b) \
|
||||
((as) == (bs) && ((as) == None || \
|
||||
(as) == ParentRelative || \
|
||||
SamePixUnion(a,b,as == BackgroundPixel)))
|
||||
|
||||
#define SameBorder(as, a, bs, b) \
|
||||
EqualPixUnion(as, a, bs, b)
|
||||
|
||||
typedef struct _WindowOpt {
|
||||
VisualID visual; /* default: same as parent */
|
||||
CursorPtr cursor; /* default: window.cursorNone */
|
||||
Colormap colormap; /* default: same as parent */
|
||||
Mask dontPropagateMask; /* default: window.dontPropagate */
|
||||
Mask otherEventMasks; /* default: 0 */
|
||||
struct _OtherClients *otherClients; /* default: NULL */
|
||||
struct _GrabRec *passiveGrabs; /* default: NULL */
|
||||
PropertyPtr userProps; /* default: NULL */
|
||||
unsigned long backingBitPlanes; /* default: ~0L */
|
||||
unsigned long backingPixel; /* default: 0 */
|
||||
#ifdef SHAPE
|
||||
RegionPtr boundingShape; /* default: NULL */
|
||||
RegionPtr clipShape; /* default: NULL */
|
||||
#endif
|
||||
#ifdef XINPUT
|
||||
struct _OtherInputMasks *inputMasks; /* default: NULL */
|
||||
#endif
|
||||
} WindowOptRec, *WindowOptPtr;
|
||||
|
||||
#define BackgroundPixel 2L
|
||||
#define BackgroundPixmap 3L
|
||||
|
||||
typedef struct _Window {
|
||||
DrawableRec drawable;
|
||||
WindowPtr parent; /* ancestor chain */
|
||||
WindowPtr nextSib; /* next lower sibling */
|
||||
WindowPtr prevSib; /* next higher sibling */
|
||||
WindowPtr firstChild; /* top-most child */
|
||||
WindowPtr lastChild; /* bottom-most child */
|
||||
RegionRec clipList; /* clipping rectangle for output */
|
||||
RegionRec borderClip; /* NotClippedByChildren + border */
|
||||
union _Validate *valdata;
|
||||
RegionRec winSize;
|
||||
RegionRec borderSize;
|
||||
DDXPointRec origin; /* position relative to parent */
|
||||
unsigned short borderWidth;
|
||||
unsigned short deliverableEvents;
|
||||
Mask eventMask;
|
||||
PixUnion background;
|
||||
PixUnion border;
|
||||
pointer backStorage; /* null when BS disabled */
|
||||
WindowOptPtr optional;
|
||||
unsigned backgroundState:2; /* None, Relative, Pixel, Pixmap */
|
||||
unsigned borderIsPixel:1;
|
||||
unsigned cursorIsNone:1; /* else real cursor (might inherit) */
|
||||
unsigned backingStore:2;
|
||||
unsigned saveUnder:1;
|
||||
unsigned DIXsaveUnder:1;
|
||||
unsigned bitGravity:4;
|
||||
unsigned winGravity:4;
|
||||
unsigned overrideRedirect:1;
|
||||
unsigned visibility:2;
|
||||
unsigned mapped:1;
|
||||
unsigned realized:1; /* ancestors are all mapped */
|
||||
unsigned viewable:1; /* realized && InputOutput */
|
||||
unsigned dontPropagate:3;/* index into DontPropagateMasks */
|
||||
unsigned forcedBS:1; /* system-supplied backingStore */
|
||||
#ifdef NEED_DBE_BUF_BITS
|
||||
#define DBE_FRONT_BUFFER 1
|
||||
#define DBE_BACK_BUFFER 0
|
||||
unsigned dstBuffer:1; /* destination buffer for rendering */
|
||||
unsigned srcBuffer:1; /* source buffer for rendering */
|
||||
#endif
|
||||
DevUnion *devPrivates;
|
||||
} WindowRec;
|
||||
|
||||
/*
|
||||
* Ok, a bunch of macros for accessing the optional record
|
||||
* fields (or filling the appropriate default value)
|
||||
*/
|
||||
|
||||
extern Mask DontPropagateMasks[];
|
||||
|
||||
#define wTrackParent(w,field) ((w)->optional ? \
|
||||
(w)->optional->field \
|
||||
: FindWindowWithOptional(w)->optional->field)
|
||||
#define wUseDefault(w,field,def) ((w)->optional ? \
|
||||
(w)->optional->field \
|
||||
: def)
|
||||
|
||||
#define wVisual(w) wTrackParent(w, visual)
|
||||
#define wCursor(w) ((w)->cursorIsNone ? None : wTrackParent(w, cursor))
|
||||
#define wColormap(w) ((w)->drawable.class == InputOnly ? None : wTrackParent(w, colormap))
|
||||
#define wDontPropagateMask(w) wUseDefault(w, dontPropagateMask, DontPropagateMasks[(w)->dontPropagate])
|
||||
#define wOtherEventMasks(w) wUseDefault(w, otherEventMasks, 0)
|
||||
#define wOtherClients(w) wUseDefault(w, otherClients, NULL)
|
||||
#ifdef XINPUT
|
||||
#define wOtherInputMasks(w) wUseDefault(w, inputMasks, NULL)
|
||||
#else
|
||||
#define wOtherInputMasks(w) NULL
|
||||
#endif
|
||||
#define wPassiveGrabs(w) wUseDefault(w, passiveGrabs, NULL)
|
||||
#define wUserProps(w) wUseDefault(w, userProps, NULL)
|
||||
#define wBackingBitPlanes(w) wUseDefault(w, backingBitPlanes, ~0L)
|
||||
#define wBackingPixel(w) wUseDefault(w, backingPixel, 0)
|
||||
#ifdef SHAPE
|
||||
#define wBoundingShape(w) wUseDefault(w, boundingShape, NULL)
|
||||
#define wClipShape(w) wUseDefault(w, clipShape, NULL)
|
||||
#endif
|
||||
#define wClient(w) (clients[CLIENT_ID((w)->drawable.id)])
|
||||
#define wBorderWidth(w) ((int) (w)->borderWidth)
|
||||
|
||||
/* true when w needs a border drawn. */
|
||||
|
||||
#ifdef SHAPE
|
||||
#define HasBorder(w) ((w)->borderWidth || wClipShape(w))
|
||||
#else
|
||||
#define HasBorder(w) ((w)->borderWidth)
|
||||
#endif
|
||||
|
||||
typedef struct _ScreenSaverStuff {
|
||||
WindowPtr pWindow;
|
||||
XID wid;
|
||||
char blanked;
|
||||
Bool (*ExternalScreenSaver)(
|
||||
#if NeedNestedPrototypes
|
||||
ScreenPtr /*pScreen*/,
|
||||
int /*xstate*/,
|
||||
Bool /*force*/
|
||||
#endif
|
||||
);
|
||||
} ScreenSaverStuffRec, *ScreenSaverStuffPtr;
|
||||
|
||||
#define SCREEN_IS_BLANKED 0
|
||||
#define SCREEN_ISNT_SAVED 1
|
||||
#define SCREEN_IS_TILED 2
|
||||
#define SCREEN_IS_BLACK 3
|
||||
|
||||
#define HasSaverWindow(i) (savedScreenInfo[i].pWindow != NullWindow)
|
||||
|
||||
extern int screenIsSaved;
|
||||
extern ScreenSaverStuffRec savedScreenInfo[MAXSCREENS];
|
||||
|
||||
/*
|
||||
* this is the configuration parameter "NO_BACK_SAVE"
|
||||
* it means that any existant backing store should not
|
||||
* be used to implement save unders.
|
||||
*/
|
||||
|
||||
#ifndef NO_BACK_SAVE
|
||||
#define DO_SAVE_UNDERS(pWin) ((pWin)->drawable.pScreen->saveUnderSupport ==\
|
||||
USE_DIX_SAVE_UNDERS)
|
||||
/*
|
||||
* saveUnderSupport is set to this magic value when using DIXsaveUnders
|
||||
*/
|
||||
|
||||
#define USE_DIX_SAVE_UNDERS 0x40
|
||||
#endif
|
||||
|
||||
extern int numSaveUndersViewable;
|
||||
extern int deltaSaveUndersViewable;
|
||||
|
||||
#endif /* WINDOWSTRUCT_H */
|
||||
Reference in New Issue
Block a user