Missed one
This commit is contained in:
parent
858b4bc14a
commit
b1efb3810c
|
@ -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_ */
|
Loading…
Reference in New Issue