diff options
Diffstat (limited to 'nx-X11/programs/Xserver/miext/layer/layerstr.h')
-rw-r--r-- | nx-X11/programs/Xserver/miext/layer/layerstr.h | 425 |
1 files changed, 0 insertions, 425 deletions
diff --git a/nx-X11/programs/Xserver/miext/layer/layerstr.h b/nx-X11/programs/Xserver/miext/layer/layerstr.h deleted file mode 100644 index fb5a0d411..000000000 --- a/nx-X11/programs/Xserver/miext/layer/layerstr.h +++ /dev/null @@ -1,425 +0,0 @@ -/* - * $XFree86: xc/programs/Xserver/miext/layer/layerstr.h,v 1.2 2001/06/04 09:45:41 keithp Exp $ - * - * Copyright © 2001 Keith Packard, member of The XFree86 Project, Inc. - * - * 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 the name of Keith Packard not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. Keith Packard makes no - * representations about the suitability of this software for any purpose. It - * is provided "as is" without express or implied warranty. - * - * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL KEITH PACKARD 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. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include <dix-config.h> -#endif - -#ifndef _LAYERSTR_H_ -#define _LAYERSTR_H_ - -#include <X11/X.h> -#include "scrnintstr.h" -#include "windowstr.h" -#include <X11/fonts/font.h> -#include "dixfontstr.h" -#include <X11/fonts/fontstruct.h> -#include "mi.h" -#include "regionstr.h" -#include "globals.h" -#include "gcstruct.h" -#include "layer.h" -#ifdef RENDER -#include "picturestr.h" -#endif - -extern int layerScrPrivateIndex; -extern int layerGCPrivateIndex; -extern int layerWinPrivateIndex; - -/* - * One of these for each possible set of underlying - * rendering code. The first kind always points at the - * underlying frame buffer code and is created in LayerStartInit - * so that LayerNewKind can unwrap the screen and prepare it - * for another wrapping sequence. - * - * The set of functions wrapped here must be at least the union - * of all functions wrapped by any rendering layer in use; they're - * easy to add, so don't be shy - */ - -typedef struct _LayerKind { - int kind; /* kind index */ - - CloseScreenProcPtr CloseScreen; - - CreateWindowProcPtr CreateWindow; - DestroyWindowProcPtr DestroyWindow; - ChangeWindowAttributesProcPtr ChangeWindowAttributes; - PaintWindowBackgroundProcPtr PaintWindowBackground; - PaintWindowBorderProcPtr PaintWindowBorder; - CopyWindowProcPtr CopyWindow; - - CreatePixmapProcPtr CreatePixmap; - DestroyPixmapProcPtr DestroyPixmap; - - CreateGCProcPtr CreateGC; -#ifdef RENDER - CompositeProcPtr Composite; - GlyphsProcPtr Glyphs; - CompositeRectsProcPtr CompositeRects; -#endif -} LayerKindRec; - -#define LayerWrap(orig,lay,member,func) \ - (((lay)->member = (orig)->member),\ - ((orig)->member = (func))) -#define LayerUnwrap(orig,lay,member) \ - ((orig)->member = (lay)->member) - -/* - * This is the window private structure allocated for - * all windows. There are two possible alternatives here, - * either the window belongs to a single layer and uses its - * internal clip/borderClip lists or the window belongs to one - * or more layers and uses a separate clip/borderclip for each - * layer. When this is integrated into the core window struct, - * the LayerWinKind can become a single bit saving 8 bytes per - * window. - */ - -typedef struct _LayerWin { - Bool isList; - union { - LayerPtr pLayer; - LayerListPtr pLayList; - } u; -} LayerWinRec; - -typedef struct _LayerList { - LayerListPtr pNext; /* list of layers for this window */ - LayerPtr pLayer; /* the layer */ - Bool inheritClip; /* use the window clipList/borderClip */ - RegionRec clipList; /* per-layer clip/border clip lists */ - RegionRec borderClip; -} LayerListRec; - -#define layerGetWinPriv(pWin) ((LayerWinPtr) (pWin)->devPrivates[layerWinPrivateIndex].ptr) -#define layerWinPriv(pWin) LayerWinPtr pLayWin = layerGetWinPriv(pWin) - -#define layerWinLayer(pLayWin) ((pLayWin)->isList ? (pLayWin)->u.pLayList->pLayer : (pLayWin)->u.pLayer) - -typedef struct _LayerWinLoop { - LayerWinPtr pLayWin; - LayerListPtr pLayList; - PixmapPtr pPixmap; /* original window pixmap */ - RegionRec clipList; /* saved original clipList contents */ - RegionRec borderClip; /* saved original borderClip contents */ -} LayerWinLoopRec, *LayerWinLoopPtr; - -#define layerWinFirstLayer(pLayWin,pLayList) ((pLayWin)->isList ? ((pLayList) = (pLayWin)->u.pLayList)->pLayer : pLayWin->u.pLayer) -#define layerWinNextLayer(pLayWin,pLayList) ((pLayWin)->isList ? ((pLayList) = (pLayList)->pNext)->pLayer : 0) - -LayerPtr -LayerWindowFirst (WindowPtr pWin, LayerWinLoopPtr pLoop); - -LayerPtr -LayerWindowNext (WindowPtr pWin, LayerWinLoopPtr pLoop); - -void -LayerWindowDone (WindowPtr pWin, LayerWinLoopPtr pLoop); - - -/* - * This is the GC private structure allocated for all GCs. - * XXX this is really messed up; I'm not sure how to fix it yet - */ - -typedef struct _LayerGC { - GCFuncs *funcs; - LayerKindPtr pKind; -} LayerGCRec; - -#define layerGetGCPriv(pGC) ((LayerGCPtr) (pGC)->devPrivates[layerGCPrivateIndex].ptr) -#define layerGCPriv(pGC) LayerGCPtr pLayGC = layerGetGCPriv(pGC) - -/* - * This is the screen private, it contains - * the layer kinds and the layers themselves - */ -typedef struct _LayerScreen { - int nkinds; /* number of elements in kinds array */ - LayerKindPtr kinds; /* created kinds; reallocated when new ones added */ - LayerPtr pLayers; /* list of layers for this screen */ -} LayerScreenRec; - -#define layerGetScrPriv(pScreen) ((LayerScreenPtr) (pScreen)->devPrivates[layerScrPrivateIndex].ptr) -#define layerScrPriv(pScreen) LayerScreenPtr pLayScr = layerGetScrPriv(pScreen) - -Bool -layerCloseScreen (int index, ScreenPtr pScreen); - -Bool -layerCreateWindow (WindowPtr pWin); - -Bool -layerDestroyWindow (WindowPtr pWin); - -Bool -layerChangeWindowAttributes (WindowPtr pWin, unsigned long mask); - -void -layerPaintWindowBackground (WindowPtr pWin, RegionPtr pRegion, int what); - -void -layerPaintWindowBorder (WindowPtr pWin, RegionPtr pRegion, int what); - -void -layerCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc); - -PixmapPtr -layerCreatePixmap (ScreenPtr pScreen, int width, int height, int depth); - -Bool -layerDestroyPixmap (PixmapPtr pPixmap); - -Bool -layerCreateGC (GCPtr pGC); - -#ifdef RENDER -void -layerComposite (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height); -void -layerGlyphs (CARD8 op, - PicturePtr pSrc, - PicturePtr pDst, - PictFormatPtr maskFormat, - INT16 xSrc, - INT16 ySrc, - int nlist, - GlyphListPtr list, - GlyphPtr *glyphs); - -void -layerCompositeRects (CARD8 op, - PicturePtr pDst, - xRenderColor *color, - int nRect, - xRectangle *rects); -#endif -void layerValidateGC(GCPtr, unsigned long, DrawablePtr); -void layerChangeGC(GCPtr, unsigned long); -void layerCopyGC(GCPtr, unsigned long, GCPtr); -void layerDestroyGC(GCPtr); -void layerChangeClip(GCPtr, int, pointer, int); -void layerDestroyClip(GCPtr); -void layerCopyClip(GCPtr, GCPtr); - -void -layerFillSpans(DrawablePtr pDraw, - GC *pGC, - int nInit, - DDXPointPtr pptInit, - int *pwidthInit, - int fSorted); - -void -layerSetSpans(DrawablePtr pDraw, - GCPtr pGC, - char *pcharsrc, - DDXPointPtr pptInit, - int *pwidthInit, - int nspans, - int fSorted); - -void -layerPutImage( - DrawablePtr pDraw, - GCPtr pGC, - int depth, - int x, int y, int w, int h, - int leftPad, - int format, - char *pImage -); - -RegionPtr -layerCopyArea( - DrawablePtr pSrc, - DrawablePtr pDst, - GC *pGC, - int srcx, int srcy, - int width, int height, - int dstx, int dsty -); - -RegionPtr -layerCopyPlane( - DrawablePtr pSrc, - DrawablePtr pDst, - GCPtr pGC, - int srcx, int srcy, - int width, int height, - int dstx, int dsty, - unsigned long bitPlane -); - -void -layerPolyPoint( - DrawablePtr pDraw, - GCPtr pGC, - int mode, - int npt, - xPoint *pptInit -); -void -layerPolylines( - DrawablePtr pDraw, - GCPtr pGC, - int mode, - int npt, - DDXPointPtr pptInit -); - -void -layerPolySegment( - DrawablePtr pDraw, - GCPtr pGC, - int nseg, - xSegment *pSeg -); - -void -layerPolyRectangle( - DrawablePtr pDraw, - GCPtr pGC, - int nRects, - xRectangle *pRects -); - -void -layerPolyArc( - DrawablePtr pDraw, - GCPtr pGC, - int narcs, - xArc *parcs -); - -void -layerFillPolygon( - DrawablePtr pDraw, - GCPtr pGC, - int shape, - int mode, - int count, - DDXPointPtr pptInit -); - -void -layerPolyFillRect( - DrawablePtr pDraw, - GCPtr pGC, - int nRectsInit, - xRectangle *pRectsInit -); - -void -layerPolyFillArc( - DrawablePtr pDraw, - GCPtr pGC, - int narcs, - xArc *parcs -); - -int -layerPolyText8( - DrawablePtr pDraw, - GCPtr pGC, - int x, - int y, - int count, - char *chars -); - -int -layerPolyText16( - DrawablePtr pDraw, - GCPtr pGC, - int x, - int y, - int count, - unsigned short *chars -); - -void -layerImageText8( - DrawablePtr pDraw, - GCPtr pGC, - int x, - int y, - int count, - char *chars -); - -void -layerImageText16( - DrawablePtr pDraw, - GCPtr pGC, - int x, - int y, - int count, - unsigned short *chars -); - -void -layerImageGlyphBlt( - DrawablePtr pDraw, - GCPtr pGC, - int x, int y, - unsigned int nglyph, - CharInfoPtr *ppci, - pointer pglyphBase -); - -void -layerPolyGlyphBlt( - DrawablePtr pDraw, - GCPtr pGC, - int x, int y, - unsigned int nglyph, - CharInfoPtr *ppci, - pointer pglyphBase -); - -void -layerPushPixels( - GCPtr pGC, - PixmapPtr pBitMap, - DrawablePtr pDraw, - int dx, int dy, int xOrg, int yOrg -); - -#endif /* _LAYERSTR_H_ */ |