VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/xorg-server-1.3.0.0/dmxpict.h@ 35393

最後變更 在這個檔案從35393是 25078,由 vboxsync 提交於 15 年 前

Additions/x11/x11include: exported and set eol-style on new headers

  • 屬性 svn:eol-style 設為 native
檔案大小: 4.9 KB
 
1/* $XFree86$ */
2/*
3 * Copyright 2001-2004 Red Hat Inc., Durham, North Carolina.
4 *
5 * All Rights Reserved.
6 *
7 * Permission is hereby granted, free of charge, to any person obtaining
8 * a copy of this software and associated documentation files (the
9 * "Software"), to deal in the Software without restriction, including
10 * without limitation on the rights to use, copy, modify, merge,
11 * publish, distribute, sublicense, and/or sell copies of the Software,
12 * and to permit persons to whom the Software is furnished to do so,
13 * subject to the following conditions:
14 *
15 * The above copyright notice and this permission notice (including the
16 * next paragraph) shall be included in all copies or substantial
17 * portions of the Software.
18 *
19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 * NON-INFRINGEMENT. IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS
23 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
24 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
25 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26 * SOFTWARE.
27 */
28
29/*
30 * Authors:
31 * Kevin E. Martin <[email protected]>
32 *
33 */
34
35/** \file
36 * This file provides access to the externally visible RENDER support
37 * functions, global variables and macros for DMX.
38 *
39 * FIXME: Move function definitions for non-externally visible function
40 * to .c file. */
41
42#ifndef DMXPICT_H
43#define DMXPICT_H
44
45/** Picture private structure */
46typedef struct _dmxPictPriv {
47 Picture pict; /**< Picture ID from back-end server */
48 Mask savedMask; /**< Mask of picture attributes saved for
49 * lazy window creation. */
50} dmxPictPrivRec, *dmxPictPrivPtr;
51
52
53/** Glyph Set private structure */
54typedef struct _dmxGlyphPriv {
55 GlyphSet *glyphSets; /**< Glyph Set IDs from back-end server */
56} dmxGlyphPrivRec, *dmxGlyphPrivPtr;
57
58
59extern void dmxInitRender(void);
60extern void dmxResetRender(void);
61
62extern Bool dmxPictureInit(ScreenPtr pScreen,
63 PictFormatPtr formats, int nformats);
64
65extern void dmxCreatePictureList(WindowPtr pWindow);
66extern Bool dmxDestroyPictureList(WindowPtr pWindow);
67
68extern int dmxCreatePicture(PicturePtr pPicture);
69extern void dmxDestroyPicture(PicturePtr pPicture);
70extern int dmxChangePictureClip(PicturePtr pPicture, int clipType,
71 pointer value, int n);
72extern void dmxDestroyPictureClip(PicturePtr pPicture);
73extern void dmxChangePicture(PicturePtr pPicture, Mask mask);
74extern void dmxValidatePicture(PicturePtr pPicture, Mask mask);
75extern void dmxComposite(CARD8 op,
76 PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
77 INT16 xSrc, INT16 ySrc,
78 INT16 xMask, INT16 yMask,
79 INT16 xDst, INT16 yDst,
80 CARD16 width, CARD16 height);
81extern void dmxGlyphs(CARD8 op,
82 PicturePtr pSrc, PicturePtr pDst,
83 PictFormatPtr maskFormat,
84 INT16 xSrc, INT16 ySrc,
85 int nlists, GlyphListPtr lists, GlyphPtr *glyphs);
86extern void dmxCompositeRects(CARD8 op,
87 PicturePtr pDst,
88 xRenderColor *color,
89 int nRect, xRectangle *rects);
90extern Bool dmxInitIndexed(ScreenPtr pScreen, PictFormatPtr pFormat);
91extern void dmxCloseIndexed(ScreenPtr pScreen, PictFormatPtr pFormat);
92extern void dmxUpdateIndexed(ScreenPtr pScreen, PictFormatPtr pFormat,
93 int ndef, xColorItem *pdef);
94extern void dmxTrapezoids(CARD8 op,
95 PicturePtr pSrc, PicturePtr pDst,
96 PictFormatPtr maskFormat,
97 INT16 xSrc, INT16 ySrc,
98 int ntrap, xTrapezoid *traps);
99extern void dmxTriangles(CARD8 op,
100 PicturePtr pSrc, PicturePtr pDst,
101 PictFormatPtr maskFormat,
102 INT16 xSrc, INT16 ySrc,
103 int ntri, xTriangle *tris);
104extern void dmxTriStrip(CARD8 op,
105 PicturePtr pSrc, PicturePtr pDst,
106 PictFormatPtr maskFormat,
107 INT16 xSrc, INT16 ySrc,
108 int npoint, xPointFixed *points);
109extern void dmxTriFan(CARD8 op,
110 PicturePtr pSrc, PicturePtr pDst,
111 PictFormatPtr maskFormat,
112 INT16 xSrc, INT16 ySrc,
113 int npoint, xPointFixed *points);
114
115extern int dmxBECreateGlyphSet(int idx, GlyphSetPtr glyphSet);
116extern Bool dmxBEFreeGlyphSet(ScreenPtr pScreen, GlyphSetPtr glyphSet);
117extern int dmxBECreatePicture(PicturePtr pPicture);
118extern Bool dmxBEFreePicture(PicturePtr pPicture);
119
120extern int dmxPictPrivateIndex; /**< Index for picture private data */
121extern int dmxGlyphSetPrivateIndex; /**< Index for glyphset private data */
122
123
124/** Get the picture private data given a picture pointer */
125#define DMX_GET_PICT_PRIV(_pPict) \
126 (dmxPictPrivPtr)(_pPict)->devPrivates[dmxPictPrivateIndex].ptr
127
128/** Set the glyphset private data given a glyphset pointer */
129#define DMX_SET_GLYPH_PRIV(_pGlyph, _pPriv) \
130 GlyphSetSetPrivate((_pGlyph), dmxGlyphSetPrivateIndex, (_pPriv))
131/** Get the glyphset private data given a glyphset pointer */
132#define DMX_GET_GLYPH_PRIV(_pGlyph) \
133 (dmxGlyphPrivPtr)GlyphSetGetPrivate((_pGlyph), dmxGlyphSetPrivateIndex)
134
135#endif /* DMXPICT_H */
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette