mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-04-20 04:50:46 +02:00
These files are best left in Xserver/include Removed Files: Tag:
DAMAGE-XFIXES glyphstr.h mipict.h picture.h picturestr.h
This commit is contained in:
parent
320278947b
commit
0fe93ec3e9
4 changed files with 0 additions and 1069 deletions
|
|
@ -1,127 +0,0 @@
|
|||
/*
|
||||
* $XFree86: xc/programs/Xserver/render/glyphstr.h,v 1.3 2000/11/20 07:13:13 keithp Exp $
|
||||
*
|
||||
* Copyright © 2000 SuSE, 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 SuSE not be used in advertising or
|
||||
* publicity pertaining to distribution of the software without specific,
|
||||
* written prior permission. SuSE makes no representations about the
|
||||
* suitability of this software for any purpose. It is provided "as is"
|
||||
* without express or implied warranty.
|
||||
*
|
||||
* SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
|
||||
* 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.
|
||||
*
|
||||
* Author: Keith Packard, SuSE, Inc.
|
||||
*/
|
||||
|
||||
#ifndef _GLYPHSTR_H_
|
||||
#define _GLYPHSTR_H_
|
||||
|
||||
#include "renderproto.h"
|
||||
#include "picture.h"
|
||||
#include "screenint.h"
|
||||
|
||||
#define GlyphFormat1 0
|
||||
#define GlyphFormat4 1
|
||||
#define GlyphFormat8 2
|
||||
#define GlyphFormat16 3
|
||||
#define GlyphFormat32 4
|
||||
#define GlyphFormatNum 5
|
||||
|
||||
typedef struct _Glyph {
|
||||
CARD32 refcnt;
|
||||
CARD32 size; /* info + bitmap */
|
||||
xGlyphInfo info;
|
||||
/* bits follow */
|
||||
} GlyphRec, *GlyphPtr;
|
||||
|
||||
typedef struct _GlyphRef {
|
||||
CARD32 signature;
|
||||
GlyphPtr glyph;
|
||||
} GlyphRefRec, *GlyphRefPtr;
|
||||
|
||||
#define DeletedGlyph ((GlyphPtr) 1)
|
||||
|
||||
typedef struct _GlyphHashSet {
|
||||
CARD32 entries;
|
||||
CARD32 size;
|
||||
CARD32 rehash;
|
||||
} GlyphHashSetRec, *GlyphHashSetPtr;
|
||||
|
||||
typedef struct _GlyphHash {
|
||||
GlyphRefPtr table;
|
||||
GlyphHashSetPtr hashSet;
|
||||
CARD32 tableEntries;
|
||||
} GlyphHashRec, *GlyphHashPtr;
|
||||
|
||||
typedef struct _GlyphSet {
|
||||
CARD32 refcnt;
|
||||
PictFormatPtr format;
|
||||
int fdepth;
|
||||
GlyphHashRec hash;
|
||||
} GlyphSetRec, *GlyphSetPtr;
|
||||
|
||||
typedef struct _GlyphList {
|
||||
INT16 xOff;
|
||||
INT16 yOff;
|
||||
CARD8 len;
|
||||
PictFormatPtr format;
|
||||
} GlyphListRec, *GlyphListPtr;
|
||||
|
||||
extern GlyphHashRec globalGlyphs[GlyphFormatNum];
|
||||
|
||||
GlyphHashSetPtr
|
||||
FindGlyphHashSet (CARD32 filled);
|
||||
|
||||
Bool
|
||||
GlyphInit (ScreenPtr pScreen);
|
||||
|
||||
GlyphRefPtr
|
||||
FindGlyphRef (GlyphHashPtr hash, CARD32 signature, Bool match, GlyphPtr compare);
|
||||
|
||||
CARD32
|
||||
HashGlyph (GlyphPtr glyph);
|
||||
|
||||
void
|
||||
FreeGlyph (GlyphPtr glyph, int format);
|
||||
|
||||
void
|
||||
AddGlyph (GlyphSetPtr glyphSet, GlyphPtr glyph, Glyph id);
|
||||
|
||||
Bool
|
||||
DeleteGlyph (GlyphSetPtr glyphSet, Glyph id);
|
||||
|
||||
GlyphPtr
|
||||
FindGlyph (GlyphSetPtr glyphSet, Glyph id);
|
||||
|
||||
GlyphPtr
|
||||
AllocateGlyph (xGlyphInfo *gi, int format);
|
||||
|
||||
Bool
|
||||
AllocateGlyphHash (GlyphHashPtr hash, GlyphHashSetPtr hashSet);
|
||||
|
||||
Bool
|
||||
ResizeGlyphHash (GlyphHashPtr hash, CARD32 change, Bool global);
|
||||
|
||||
Bool
|
||||
ResizeGlyphSet (GlyphSetPtr glyphSet, CARD32 change);
|
||||
|
||||
GlyphSetPtr
|
||||
AllocateGlyphSet (int fdepth, PictFormatPtr format);
|
||||
|
||||
int
|
||||
FreeGlyphSet (pointer value,
|
||||
XID gid);
|
||||
|
||||
|
||||
|
||||
#endif /* _GLYPHSTR_H_ */
|
||||
210
render/mipict.h
210
render/mipict.h
|
|
@ -1,210 +0,0 @@
|
|||
/*
|
||||
* $XFree86: xc/programs/Xserver/render/mipict.h,v 1.12 2002/11/05 05:34:40 keithp Exp $
|
||||
*
|
||||
* Copyright © 2000 SuSE, 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 SuSE not be used in advertising or
|
||||
* publicity pertaining to distribution of the software without specific,
|
||||
* written prior permission. SuSE makes no representations about the
|
||||
* suitability of this software for any purpose. It is provided "as is"
|
||||
* without express or implied warranty.
|
||||
*
|
||||
* SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
|
||||
* 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.
|
||||
*
|
||||
* Author: Keith Packard, SuSE, Inc.
|
||||
*/
|
||||
|
||||
#ifndef _MIPICT_H_
|
||||
#define _MIPICT_H_
|
||||
|
||||
#include "picturestr.h"
|
||||
|
||||
#define MI_MAX_INDEXED 256 /* XXX depth must be <= 8 */
|
||||
|
||||
#if MI_MAX_INDEXED <= 256
|
||||
typedef CARD8 miIndexType;
|
||||
#endif
|
||||
|
||||
typedef struct _miIndexed {
|
||||
Bool color;
|
||||
CARD32 rgba[MI_MAX_INDEXED];
|
||||
miIndexType ent[32768];
|
||||
} miIndexedRec, *miIndexedPtr;
|
||||
|
||||
#define miCvtR8G8B8to15(s) ((((s) >> 3) & 0x001f) | \
|
||||
(((s) >> 6) & 0x03e0) | \
|
||||
(((s) >> 9) & 0x7c00))
|
||||
#define miIndexToEnt15(mif,rgb15) ((mif)->ent[rgb15])
|
||||
#define miIndexToEnt24(mif,rgb24) miIndexToEnt15(mif,miCvtR8G8B8to15(rgb24))
|
||||
|
||||
#define miIndexToEntY24(mif,rgb24) ((mif)->ent[CvtR8G8B8toY15(rgb24)])
|
||||
|
||||
int
|
||||
miCreatePicture (PicturePtr pPicture);
|
||||
|
||||
void
|
||||
miDestroyPicture (PicturePtr pPicture);
|
||||
|
||||
void
|
||||
miDestroyPictureClip (PicturePtr pPicture);
|
||||
|
||||
int
|
||||
miChangePictureClip (PicturePtr pPicture,
|
||||
int type,
|
||||
pointer value,
|
||||
int n);
|
||||
|
||||
void
|
||||
miChangePicture (PicturePtr pPicture,
|
||||
Mask mask);
|
||||
|
||||
void
|
||||
miValidatePicture (PicturePtr pPicture,
|
||||
Mask mask);
|
||||
|
||||
|
||||
Bool
|
||||
miClipPicture (RegionPtr pRegion,
|
||||
PicturePtr pPicture,
|
||||
INT16 xReg,
|
||||
INT16 yReg,
|
||||
INT16 xPict,
|
||||
INT16 yPict);
|
||||
|
||||
Bool
|
||||
miComputeCompositeRegion (RegionPtr pRegion,
|
||||
PicturePtr pSrc,
|
||||
PicturePtr pMask,
|
||||
PicturePtr pDst,
|
||||
INT16 xSrc,
|
||||
INT16 ySrc,
|
||||
INT16 xMask,
|
||||
INT16 yMask,
|
||||
INT16 xDst,
|
||||
INT16 yDst,
|
||||
CARD16 width,
|
||||
CARD16 height);
|
||||
|
||||
Bool
|
||||
miPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats);
|
||||
|
||||
void
|
||||
miGlyphExtents (int nlist,
|
||||
GlyphListPtr list,
|
||||
GlyphPtr *glyphs,
|
||||
BoxPtr extents);
|
||||
|
||||
void
|
||||
miGlyphs (CARD8 op,
|
||||
PicturePtr pSrc,
|
||||
PicturePtr pDst,
|
||||
PictFormatPtr maskFormat,
|
||||
INT16 xSrc,
|
||||
INT16 ySrc,
|
||||
int nlist,
|
||||
GlyphListPtr list,
|
||||
GlyphPtr *glyphs);
|
||||
|
||||
void
|
||||
miRenderColorToPixel (PictFormatPtr pPict,
|
||||
xRenderColor *color,
|
||||
CARD32 *pixel);
|
||||
|
||||
void
|
||||
miRenderPixelToColor (PictFormatPtr pPict,
|
||||
CARD32 pixel,
|
||||
xRenderColor *color);
|
||||
|
||||
void
|
||||
miCompositeRects (CARD8 op,
|
||||
PicturePtr pDst,
|
||||
xRenderColor *color,
|
||||
int nRect,
|
||||
xRectangle *rects);
|
||||
|
||||
void
|
||||
miTrapezoidBounds (int ntrap, xTrapezoid *traps, BoxPtr box);
|
||||
|
||||
void
|
||||
miTrapezoids (CARD8 op,
|
||||
PicturePtr pSrc,
|
||||
PicturePtr pDst,
|
||||
PictFormatPtr maskFormat,
|
||||
INT16 xSrc,
|
||||
INT16 ySrc,
|
||||
int ntrap,
|
||||
xTrapezoid *traps);
|
||||
|
||||
void
|
||||
miPointFixedBounds (int npoint, xPointFixed *points, BoxPtr bounds);
|
||||
|
||||
void
|
||||
miTriangleBounds (int ntri, xTriangle *tris, BoxPtr bounds);
|
||||
|
||||
void
|
||||
miRasterizeTriangle (PicturePtr pMask,
|
||||
xTriangle *tri,
|
||||
int x_off,
|
||||
int y_off);
|
||||
|
||||
void
|
||||
miTriangles (CARD8 op,
|
||||
PicturePtr pSrc,
|
||||
PicturePtr pDst,
|
||||
PictFormatPtr maskFormat,
|
||||
INT16 xSrc,
|
||||
INT16 ySrc,
|
||||
int ntri,
|
||||
xTriangle *tris);
|
||||
|
||||
void
|
||||
miTriStrip (CARD8 op,
|
||||
PicturePtr pSrc,
|
||||
PicturePtr pDst,
|
||||
PictFormatPtr maskFormat,
|
||||
INT16 xSrc,
|
||||
INT16 ySrc,
|
||||
int npoint,
|
||||
xPointFixed *points);
|
||||
|
||||
void
|
||||
miTriFan (CARD8 op,
|
||||
PicturePtr pSrc,
|
||||
PicturePtr pDst,
|
||||
PictFormatPtr maskFormat,
|
||||
INT16 xSrc,
|
||||
INT16 ySrc,
|
||||
int npoint,
|
||||
xPointFixed *points);
|
||||
|
||||
PicturePtr
|
||||
miCreateAlphaPicture (ScreenPtr pScreen,
|
||||
PicturePtr pDst,
|
||||
PictFormatPtr pPictFormat,
|
||||
CARD16 width,
|
||||
CARD16 height);
|
||||
|
||||
Bool
|
||||
miInitIndexed (ScreenPtr pScreen,
|
||||
PictFormatPtr pFormat);
|
||||
|
||||
void
|
||||
miCloseIndexed (ScreenPtr pScreen,
|
||||
PictFormatPtr pFormat);
|
||||
|
||||
void
|
||||
miUpdateIndexed (ScreenPtr pScreen,
|
||||
PictFormatPtr pFormat,
|
||||
int ndef,
|
||||
xColorItem *pdef);
|
||||
|
||||
#endif /* _MIPICT_H_ */
|
||||
230
render/picture.h
230
render/picture.h
|
|
@ -1,230 +0,0 @@
|
|||
/*
|
||||
* $XFree86: xc/programs/Xserver/render/picture.h,v 1.20tsi Exp $
|
||||
*
|
||||
* Copyright © 2000 SuSE, 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 SuSE not be used in advertising or
|
||||
* publicity pertaining to distribution of the software without specific,
|
||||
* written prior permission. SuSE makes no representations about the
|
||||
* suitability of this software for any purpose. It is provided "as is"
|
||||
* without express or implied warranty.
|
||||
*
|
||||
* SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
|
||||
* 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.
|
||||
*
|
||||
* Author: Keith Packard, SuSE, Inc.
|
||||
*/
|
||||
|
||||
#ifndef _PICTURE_H_
|
||||
#define _PICTURE_H_
|
||||
|
||||
typedef struct _DirectFormat *DirectFormatPtr;
|
||||
typedef struct _PictFormat *PictFormatPtr;
|
||||
typedef struct _Picture *PicturePtr;
|
||||
|
||||
/*
|
||||
* While the protocol is generous in format support, the
|
||||
* sample implementation allows only packed RGB and GBR
|
||||
* representations for data to simplify software rendering,
|
||||
*/
|
||||
#define PICT_FORMAT(bpp,type,a,r,g,b) (((bpp) << 24) | \
|
||||
((type) << 16) | \
|
||||
((a) << 12) | \
|
||||
((r) << 8) | \
|
||||
((g) << 4) | \
|
||||
((b)))
|
||||
|
||||
/*
|
||||
* gray/color formats use a visual index instead of argb
|
||||
*/
|
||||
#define PICT_VISFORMAT(bpp,type,vi) (((bpp) << 24) | \
|
||||
((type) << 16) | \
|
||||
((vi)))
|
||||
|
||||
#define PICT_FORMAT_BPP(f) (((f) >> 24) )
|
||||
#define PICT_FORMAT_TYPE(f) (((f) >> 16) & 0xff)
|
||||
#define PICT_FORMAT_A(f) (((f) >> 12) & 0x0f)
|
||||
#define PICT_FORMAT_R(f) (((f) >> 8) & 0x0f)
|
||||
#define PICT_FORMAT_G(f) (((f) >> 4) & 0x0f)
|
||||
#define PICT_FORMAT_B(f) (((f) ) & 0x0f)
|
||||
#define PICT_FORMAT_RGB(f) (((f) ) & 0xfff)
|
||||
#define PICT_FORMAT_VIS(f) (((f) ) & 0xffff)
|
||||
|
||||
#define PICT_TYPE_OTHER 0
|
||||
#define PICT_TYPE_A 1
|
||||
#define PICT_TYPE_ARGB 2
|
||||
#define PICT_TYPE_ABGR 3
|
||||
#define PICT_TYPE_COLOR 4
|
||||
#define PICT_TYPE_GRAY 5
|
||||
|
||||
#define PICT_FORMAT_COLOR(f) (PICT_FORMAT_TYPE(f) & 2)
|
||||
|
||||
/* 32bpp formats */
|
||||
#define PICT_a8r8g8b8 PICT_FORMAT(32,PICT_TYPE_ARGB,8,8,8,8)
|
||||
#define PICT_x8r8g8b8 PICT_FORMAT(32,PICT_TYPE_ARGB,0,8,8,8)
|
||||
#define PICT_a8b8g8r8 PICT_FORMAT(32,PICT_TYPE_ABGR,8,8,8,8)
|
||||
#define PICT_x8b8g8r8 PICT_FORMAT(32,PICT_TYPE_ABGR,0,8,8,8)
|
||||
|
||||
/* 24bpp formats */
|
||||
#define PICT_r8g8b8 PICT_FORMAT(24,PICT_TYPE_ARGB,0,8,8,8)
|
||||
#define PICT_b8g8r8 PICT_FORMAT(24,PICT_TYPE_ABGR,0,8,8,8)
|
||||
|
||||
/* 16bpp formats */
|
||||
#define PICT_r5g6b5 PICT_FORMAT(16,PICT_TYPE_ARGB,0,5,6,5)
|
||||
#define PICT_b5g6r5 PICT_FORMAT(16,PICT_TYPE_ABGR,0,5,6,5)
|
||||
|
||||
#define PICT_a1r5g5b5 PICT_FORMAT(16,PICT_TYPE_ARGB,1,5,5,5)
|
||||
#define PICT_x1r5g5b5 PICT_FORMAT(16,PICT_TYPE_ARGB,0,5,5,5)
|
||||
#define PICT_a1b5g5r5 PICT_FORMAT(16,PICT_TYPE_ABGR,1,5,5,5)
|
||||
#define PICT_x1b5g5r5 PICT_FORMAT(16,PICT_TYPE_ABGR,0,5,5,5)
|
||||
#define PICT_a4r4g4b4 PICT_FORMAT(16,PICT_TYPE_ARGB,4,4,4,4)
|
||||
#define PICT_x4r4g4b4 PICT_FORMAT(16,PICT_TYPE_ARGB,4,4,4,4)
|
||||
#define PICT_a4b4g4r4 PICT_FORMAT(16,PICT_TYPE_ARGB,4,4,4,4)
|
||||
#define PICT_x4b4g4r4 PICT_FORMAT(16,PICT_TYPE_ARGB,4,4,4,4)
|
||||
|
||||
/* 8bpp formats */
|
||||
#define PICT_a8 PICT_FORMAT(8,PICT_TYPE_A,8,0,0,0)
|
||||
#define PICT_r3g3b2 PICT_FORMAT(8,PICT_TYPE_ARGB,0,3,3,2)
|
||||
#define PICT_b2g3r3 PICT_FORMAT(8,PICT_TYPE_ABGR,0,3,3,2)
|
||||
#define PICT_a2r2g2b2 PICT_FORMAT(8,PICT_TYPE_ARGB,2,2,2,2)
|
||||
#define PICT_a2b2g2r2 PICT_FORMAT(8,PICT_TYPE_ABGR,2,2,2,2)
|
||||
|
||||
#define PICT_c8 PICT_FORMAT(8,PICT_TYPE_COLOR,0,0,0,0)
|
||||
#define PICT_g8 PICT_FORMAT(8,PICT_TYPE_GRAY,0,0,0,0)
|
||||
|
||||
/* 4bpp formats */
|
||||
#define PICT_a4 PICT_FORMAT(4,PICT_TYPE_A,4,0,0,0)
|
||||
#define PICT_r1g2b1 PICT_FORMAT(4,PICT_TYPE_ARGB,0,1,2,1)
|
||||
#define PICT_b1g2r1 PICT_FORMAT(4,PICT_TYPE_ABGR,0,1,2,1)
|
||||
#define PICT_a1r1g1b1 PICT_FORMAT(4,PICT_TYPE_ARGB,1,1,1,1)
|
||||
#define PICT_a1b1g1r1 PICT_FORMAT(4,PICT_TYPE_ABGR,1,1,1,1)
|
||||
|
||||
#define PICT_c4 PICT_FORMAT(4,PICT_TYPE_COLOR,0,0,0,0)
|
||||
#define PICT_g4 PICT_FORMAT(4,PICT_TYPE_GRAY,0,0,0,0)
|
||||
|
||||
/* 1bpp formats */
|
||||
#define PICT_a1 PICT_FORMAT(1,PICT_TYPE_A,1,0,0,0)
|
||||
|
||||
#define PICT_g1 PICT_FORMAT(1,PICT_TYPE_GRAY,0,0,0,0)
|
||||
|
||||
/*
|
||||
* For dynamic indexed visuals (GrayScale and PseudoColor), these control the
|
||||
* selection of colors allocated for drawing to Pictures. The default
|
||||
* policy depends on the size of the colormap:
|
||||
*
|
||||
* Size Default Policy
|
||||
* ----------------------------
|
||||
* < 64 PolicyMono
|
||||
* < 256 PolicyGray
|
||||
* 256 PolicyColor (only on PseudoColor)
|
||||
*
|
||||
* The actual allocation code lives in miindex.c, and so is
|
||||
* austensibly server dependent, but that code does:
|
||||
*
|
||||
* PolicyMono Allocate no additional colors, use black and white
|
||||
* PolicyGray Allocate 13 gray levels (11 cells used)
|
||||
* PolicyColor Allocate a 4x4x4 cube and 13 gray levels (71 cells used)
|
||||
* PolicyAll Allocate as big a cube as possible, fill with gray (all)
|
||||
*
|
||||
* Here's a picture to help understand how many colors are
|
||||
* actually allocated (this is just the gray ramp):
|
||||
*
|
||||
* gray level
|
||||
* all 0000 1555 2aaa 4000 5555 6aaa 8000 9555 aaaa bfff d555 eaaa ffff
|
||||
* b/w 0000 ffff
|
||||
* 4x4x4 5555 aaaa
|
||||
* extra 1555 2aaa 4000 6aaa 8000 9555 bfff d555 eaaa
|
||||
*
|
||||
* The default colormap supplies two gray levels (black/white), the
|
||||
* 4x4x4 cube allocates another two and nine more are allocated to fill
|
||||
* in the 13 levels. When the 4x4x4 cube is not allocated, a total of
|
||||
* 11 cells are allocated.
|
||||
*/
|
||||
|
||||
#define PictureCmapPolicyInvalid -1
|
||||
#define PictureCmapPolicyDefault 0
|
||||
#define PictureCmapPolicyMono 1
|
||||
#define PictureCmapPolicyGray 2
|
||||
#define PictureCmapPolicyColor 3
|
||||
#define PictureCmapPolicyAll 4
|
||||
|
||||
extern int PictureCmapPolicy;
|
||||
|
||||
int PictureParseCmapPolicy (const char *name);
|
||||
|
||||
/* Fixed point updates from Carl Worth, USC, Information Sciences Institute */
|
||||
|
||||
#ifdef WIN32
|
||||
typedef __int64 xFixed_32_32;
|
||||
#else
|
||||
# if defined (_LP64) || \
|
||||
defined(__alpha__) || defined(__alpha) || \
|
||||
defined(ia64) || defined(__ia64__) || \
|
||||
defined(__sparc64__) || \
|
||||
defined(__s390x__) || \
|
||||
defined(AMD64) || defined (__AMD64__) || \
|
||||
(defined(sgi) && (_MIPS_SZLONG == 64))
|
||||
typedef long xFixed_32_32;
|
||||
# else
|
||||
# if defined(__GNUC__) && \
|
||||
((__GNUC__ > 2) || \
|
||||
((__GNUC__ == 2) && defined(__GNUC_MINOR__) && (__GNUC_MINOR__ > 7)))
|
||||
__extension__
|
||||
# endif
|
||||
typedef long long int xFixed_32_32;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
typedef CARD32 xFixed_1_31;
|
||||
typedef CARD32 xFixed_1_16;
|
||||
typedef INT32 xFixed_16_16;
|
||||
|
||||
/*
|
||||
* An unadorned "xFixed" is the same as xFixed_16_16,
|
||||
* (since it's quite common in the code)
|
||||
*/
|
||||
typedef xFixed_16_16 xFixed;
|
||||
#define XFIXED_BITS 16
|
||||
|
||||
#define xFixedToInt(f) (int) ((f) >> XFIXED_BITS)
|
||||
#define IntToxFixed(i) ((xFixed) (i) << XFIXED_BITS)
|
||||
#define xFixedE ((xFixed) 1)
|
||||
#define xFixed1 (IntToxFixed(1))
|
||||
#define xFixed1MinusE (xFixed1 - xFixedE)
|
||||
#define xFixedFrac(f) ((f) & xFixed1MinusE)
|
||||
#define xFixedFloor(f) ((f) & ~xFixed1MinusE)
|
||||
#define xFixedCeil(f) xFixedFloor((f) + xFixed1MinusE)
|
||||
|
||||
#define xFixedFraction(f) ((f) & xFixed1MinusE)
|
||||
#define xFixedMod2(f) ((f) & (xFixed1 | xFixed1MinusE))
|
||||
|
||||
/* whether 't' is a well defined not obviously empty trapezoid */
|
||||
#define xTrapezoidValid(t) ((t)->left.p1.y != (t)->left.p2.y && \
|
||||
(t)->right.p1.y != (t)->right.p2.y && \
|
||||
(int) ((t)->bottom - (t)->top) > 0)
|
||||
|
||||
/*
|
||||
* Standard NTSC luminance conversions:
|
||||
*
|
||||
* y = r * 0.299 + g * 0.587 + b * 0.114
|
||||
*
|
||||
* Approximate this for a bit more speed:
|
||||
*
|
||||
* y = (r * 153 + g * 301 + b * 58) / 512
|
||||
*
|
||||
* This gives 17 bits of luminance; to get 15 bits, lop the low two
|
||||
*/
|
||||
|
||||
#define CvtR8G8B8toY15(s) (((((s) >> 16) & 0xff) * 153 + \
|
||||
(((s) >> 8) & 0xff) * 301 + \
|
||||
(((s) ) & 0xff) * 58) >> 2)
|
||||
|
||||
#endif /* _PICTURE_H_ */
|
||||
|
|
@ -1,502 +0,0 @@
|
|||
/* $XdotOrg: xc/programs/Xserver/render/picturestr.h,v 1.1.4.1 2003/12/18 19:29:15 kaleb Exp $ */
|
||||
/*
|
||||
* $XFree86: xc/programs/Xserver/render/picturestr.h,v 1.21 2002/11/06 22:45:36 keithp Exp $
|
||||
*
|
||||
* Copyright © 2000 SuSE, 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 SuSE not be used in advertising or
|
||||
* publicity pertaining to distribution of the software without specific,
|
||||
* written prior permission. SuSE makes no representations about the
|
||||
* suitability of this software for any purpose. It is provided "as is"
|
||||
* without express or implied warranty.
|
||||
*
|
||||
* SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
|
||||
* 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.
|
||||
*
|
||||
* Author: Keith Packard, SuSE, Inc.
|
||||
*/
|
||||
|
||||
#ifndef _PICTURESTR_H_
|
||||
#define _PICTURESTR_H_
|
||||
|
||||
#include "glyphstr.h"
|
||||
#include "scrnintstr.h"
|
||||
#include "resource.h"
|
||||
|
||||
typedef struct _DirectFormat {
|
||||
CARD16 red, redMask;
|
||||
CARD16 green, greenMask;
|
||||
CARD16 blue, blueMask;
|
||||
CARD16 alpha, alphaMask;
|
||||
} DirectFormatRec;
|
||||
|
||||
typedef struct _IndexFormat {
|
||||
VisualPtr pVisual;
|
||||
ColormapPtr pColormap;
|
||||
int nvalues;
|
||||
xIndexValue *pValues;
|
||||
void *devPrivate;
|
||||
} IndexFormatRec;
|
||||
|
||||
typedef struct _PictFormat {
|
||||
CARD32 id;
|
||||
CARD32 format; /* except bpp */
|
||||
unsigned char type;
|
||||
unsigned char depth;
|
||||
DirectFormatRec direct;
|
||||
IndexFormatRec index;
|
||||
} PictFormatRec;
|
||||
|
||||
typedef struct _PictVector {
|
||||
xFixed vector[3];
|
||||
} PictVector, *PictVectorPtr;
|
||||
|
||||
typedef struct _PictTransform {
|
||||
xFixed matrix[3][3];
|
||||
} PictTransform, *PictTransformPtr;
|
||||
|
||||
typedef struct _Picture {
|
||||
DrawablePtr pDrawable;
|
||||
PictFormatPtr pFormat;
|
||||
CARD32 format; /* PICT_FORMAT */
|
||||
int refcnt;
|
||||
CARD32 id;
|
||||
PicturePtr pNext; /* chain on same drawable */
|
||||
|
||||
unsigned int repeat : 1;
|
||||
unsigned int graphicsExposures : 1;
|
||||
unsigned int subWindowMode : 1;
|
||||
unsigned int polyEdge : 1;
|
||||
unsigned int polyMode : 1;
|
||||
unsigned int freeCompClip : 1;
|
||||
unsigned int clientClipType : 2;
|
||||
unsigned int componentAlpha : 1;
|
||||
unsigned int unused : 23;
|
||||
|
||||
PicturePtr alphaMap;
|
||||
DDXPointRec alphaOrigin;
|
||||
|
||||
DDXPointRec clipOrigin;
|
||||
pointer clientClip;
|
||||
|
||||
Atom dither;
|
||||
|
||||
unsigned long stateChanges;
|
||||
unsigned long serialNumber;
|
||||
|
||||
RegionPtr pCompositeClip;
|
||||
|
||||
DevUnion *devPrivates;
|
||||
|
||||
PictTransform *transform;
|
||||
|
||||
int filter;
|
||||
xFixed *filter_params;
|
||||
int filter_nparams;
|
||||
} PictureRec;
|
||||
|
||||
typedef struct {
|
||||
char *name;
|
||||
xFixed *params;
|
||||
int nparams;
|
||||
int id;
|
||||
} PictFilterRec, *PictFilterPtr;
|
||||
|
||||
#define PictFilterNearest 0
|
||||
#define PictFilterBilinear 1
|
||||
|
||||
#define PictFilterFast 2
|
||||
#define PictFilterGood 3
|
||||
#define PictFilterBest 4
|
||||
|
||||
typedef struct {
|
||||
char *alias;
|
||||
int alias_id;
|
||||
int filter_id;
|
||||
} PictFilterAliasRec, *PictFilterAliasPtr;
|
||||
|
||||
typedef int (*CreatePictureProcPtr) (PicturePtr pPicture);
|
||||
typedef void (*DestroyPictureProcPtr) (PicturePtr pPicture);
|
||||
typedef int (*ChangePictureClipProcPtr) (PicturePtr pPicture,
|
||||
int clipType,
|
||||
pointer value,
|
||||
int n);
|
||||
typedef void (*DestroyPictureClipProcPtr)(PicturePtr pPicture);
|
||||
|
||||
typedef int (*ChangePictureTransformProcPtr) (PicturePtr pPicture,
|
||||
PictTransform *transform);
|
||||
|
||||
typedef int (*ChangePictureFilterProcPtr) (PicturePtr pPicture,
|
||||
int filter,
|
||||
xFixed *params,
|
||||
int nparams);
|
||||
|
||||
typedef void (*DestroyPictureFilterProcPtr) (PicturePtr pPicture);
|
||||
|
||||
typedef void (*ChangePictureProcPtr) (PicturePtr pPicture,
|
||||
Mask mask);
|
||||
typedef void (*ValidatePictureProcPtr) (PicturePtr pPicture,
|
||||
Mask mask);
|
||||
typedef void (*CompositeProcPtr) (CARD8 op,
|
||||
PicturePtr pSrc,
|
||||
PicturePtr pMask,
|
||||
PicturePtr pDst,
|
||||
INT16 xSrc,
|
||||
INT16 ySrc,
|
||||
INT16 xMask,
|
||||
INT16 yMask,
|
||||
INT16 xDst,
|
||||
INT16 yDst,
|
||||
CARD16 width,
|
||||
CARD16 height);
|
||||
|
||||
typedef void (*GlyphsProcPtr) (CARD8 op,
|
||||
PicturePtr pSrc,
|
||||
PicturePtr pDst,
|
||||
PictFormatPtr maskFormat,
|
||||
INT16 xSrc,
|
||||
INT16 ySrc,
|
||||
int nlists,
|
||||
GlyphListPtr lists,
|
||||
GlyphPtr *glyphs);
|
||||
|
||||
typedef void (*CompositeRectsProcPtr) (CARD8 op,
|
||||
PicturePtr pDst,
|
||||
xRenderColor *color,
|
||||
int nRect,
|
||||
xRectangle *rects);
|
||||
|
||||
typedef void (*RasterizeTrapezoidProcPtr)(PicturePtr pMask,
|
||||
xTrapezoid *trap,
|
||||
int x_off,
|
||||
int y_off);
|
||||
|
||||
typedef void (*TrapezoidsProcPtr) (CARD8 op,
|
||||
PicturePtr pSrc,
|
||||
PicturePtr pDst,
|
||||
PictFormatPtr maskFormat,
|
||||
INT16 xSrc,
|
||||
INT16 ySrc,
|
||||
int ntrap,
|
||||
xTrapezoid *traps);
|
||||
|
||||
typedef void (*TrianglesProcPtr) (CARD8 op,
|
||||
PicturePtr pSrc,
|
||||
PicturePtr pDst,
|
||||
PictFormatPtr maskFormat,
|
||||
INT16 xSrc,
|
||||
INT16 ySrc,
|
||||
int ntri,
|
||||
xTriangle *tris);
|
||||
|
||||
typedef void (*TriStripProcPtr) (CARD8 op,
|
||||
PicturePtr pSrc,
|
||||
PicturePtr pDst,
|
||||
PictFormatPtr maskFormat,
|
||||
INT16 xSrc,
|
||||
INT16 ySrc,
|
||||
int npoint,
|
||||
xPointFixed *points);
|
||||
|
||||
typedef void (*TriFanProcPtr) (CARD8 op,
|
||||
PicturePtr pSrc,
|
||||
PicturePtr pDst,
|
||||
PictFormatPtr maskFormat,
|
||||
INT16 xSrc,
|
||||
INT16 ySrc,
|
||||
int npoint,
|
||||
xPointFixed *points);
|
||||
|
||||
typedef Bool (*InitIndexedProcPtr) (ScreenPtr pScreen,
|
||||
PictFormatPtr pFormat);
|
||||
|
||||
typedef void (*CloseIndexedProcPtr) (ScreenPtr pScreen,
|
||||
PictFormatPtr pFormat);
|
||||
|
||||
typedef void (*UpdateIndexedProcPtr) (ScreenPtr pScreen,
|
||||
PictFormatPtr pFormat,
|
||||
int ndef,
|
||||
xColorItem *pdef);
|
||||
|
||||
typedef struct _PictureScreen {
|
||||
int totalPictureSize;
|
||||
unsigned int *PicturePrivateSizes;
|
||||
int PicturePrivateLen;
|
||||
|
||||
PictFormatPtr formats;
|
||||
PictFormatPtr fallback;
|
||||
int nformats;
|
||||
|
||||
CreatePictureProcPtr CreatePicture;
|
||||
DestroyPictureProcPtr DestroyPicture;
|
||||
ChangePictureClipProcPtr ChangePictureClip;
|
||||
DestroyPictureClipProcPtr DestroyPictureClip;
|
||||
|
||||
ChangePictureProcPtr ChangePicture;
|
||||
ValidatePictureProcPtr ValidatePicture;
|
||||
|
||||
CompositeProcPtr Composite;
|
||||
GlyphsProcPtr Glyphs;
|
||||
CompositeRectsProcPtr CompositeRects;
|
||||
|
||||
DestroyWindowProcPtr DestroyWindow;
|
||||
CloseScreenProcPtr CloseScreen;
|
||||
|
||||
StoreColorsProcPtr StoreColors;
|
||||
|
||||
InitIndexedProcPtr InitIndexed;
|
||||
CloseIndexedProcPtr CloseIndexed;
|
||||
UpdateIndexedProcPtr UpdateIndexed;
|
||||
|
||||
int subpixel;
|
||||
|
||||
PictFilterPtr filters;
|
||||
int nfilters;
|
||||
PictFilterAliasPtr filterAliases;
|
||||
int nfilterAliases;
|
||||
|
||||
ChangePictureTransformProcPtr ChangePictureTransform;
|
||||
ChangePictureFilterProcPtr ChangePictureFilter;
|
||||
DestroyPictureFilterProcPtr DestroyPictureFilter;
|
||||
|
||||
TrapezoidsProcPtr Trapezoids;
|
||||
TrianglesProcPtr Triangles;
|
||||
TriStripProcPtr TriStrip;
|
||||
TriFanProcPtr TriFan;
|
||||
|
||||
RasterizeTrapezoidProcPtr RasterizeTrapezoid;
|
||||
} PictureScreenRec, *PictureScreenPtr;
|
||||
|
||||
extern int PictureScreenPrivateIndex;
|
||||
extern int PictureWindowPrivateIndex;
|
||||
extern RESTYPE PictureType;
|
||||
extern RESTYPE PictFormatType;
|
||||
extern RESTYPE GlyphSetType;
|
||||
|
||||
#define GetPictureScreen(s) ((PictureScreenPtr) ((s)->devPrivates[PictureScreenPrivateIndex].ptr))
|
||||
#define GetPictureScreenIfSet(s) ((PictureScreenPrivateIndex != -1) ? GetPictureScreen(s) : NULL)
|
||||
#define SetPictureScreen(s,p) ((s)->devPrivates[PictureScreenPrivateIndex].ptr = (pointer) (p))
|
||||
#define GetPictureWindow(w) ((PicturePtr) ((w)->devPrivates[PictureWindowPrivateIndex].ptr))
|
||||
#define SetPictureWindow(w,p) ((w)->devPrivates[PictureWindowPrivateIndex].ptr = (pointer) (p))
|
||||
|
||||
#define VERIFY_PICTURE(pPicture, pid, client, mode, err) {\
|
||||
pPicture = SecurityLookupIDByType(client, pid, PictureType, mode);\
|
||||
if (!pPicture) { \
|
||||
client->errorValue = pid; \
|
||||
return err; \
|
||||
} \
|
||||
}
|
||||
|
||||
#define VERIFY_ALPHA(pPicture, pid, client, mode, err) {\
|
||||
if (pid == None) \
|
||||
pPicture = 0; \
|
||||
else { \
|
||||
VERIFY_PICTURE(pPicture, pid, client, mode, err); \
|
||||
} \
|
||||
} \
|
||||
|
||||
Bool
|
||||
PictureDestroyWindow (WindowPtr pWindow);
|
||||
|
||||
Bool
|
||||
PictureCloseScreen (int Index, ScreenPtr pScreen);
|
||||
|
||||
void
|
||||
PictureStoreColors (ColormapPtr pColormap, int ndef, xColorItem *pdef);
|
||||
|
||||
Bool
|
||||
PictureInitIndexedFormats (ScreenPtr pScreen);
|
||||
|
||||
Bool
|
||||
PictureSetSubpixelOrder (ScreenPtr pScreen, int subpixel);
|
||||
|
||||
int
|
||||
PictureGetSubpixelOrder (ScreenPtr pScreen);
|
||||
|
||||
PictFormatPtr
|
||||
PictureCreateDefaultFormats (ScreenPtr pScreen, int *nformatp);
|
||||
|
||||
PictFormatPtr
|
||||
PictureMatchVisual (ScreenPtr pScreen, int depth, VisualPtr pVisual);
|
||||
|
||||
PictFormatPtr
|
||||
PictureMatchFormat (ScreenPtr pScreen, int depth, CARD32 format);
|
||||
|
||||
Bool
|
||||
PictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats);
|
||||
|
||||
int
|
||||
PictureGetFilterId (char *filter, int len, Bool makeit);
|
||||
|
||||
char *
|
||||
PictureGetFilterName (int id);
|
||||
|
||||
int
|
||||
PictureAddFilter (ScreenPtr pScreen, char *filter, xFixed *params, int nparams);
|
||||
|
||||
Bool
|
||||
PictureSetFilterAlias (ScreenPtr pScreen, char *filter, char *alias);
|
||||
|
||||
Bool
|
||||
PictureSetDefaultFilters (ScreenPtr pScreen);
|
||||
|
||||
void
|
||||
PictureResetFilters (ScreenPtr pScreen);
|
||||
|
||||
PictFilterPtr
|
||||
PictureFindFilter (ScreenPtr pScreen, char *name, int len);
|
||||
|
||||
int
|
||||
SetPictureFilter (PicturePtr pPicture, char *name, int len, xFixed *params, int nparams);
|
||||
|
||||
Bool
|
||||
PictureFinishInit (void);
|
||||
|
||||
void
|
||||
SetPictureToDefaults (PicturePtr pPicture);
|
||||
|
||||
PicturePtr
|
||||
AllocatePicture (ScreenPtr pScreen);
|
||||
|
||||
#if 0
|
||||
Bool
|
||||
miPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats);
|
||||
#endif
|
||||
|
||||
|
||||
PicturePtr
|
||||
CreatePicture (Picture pid,
|
||||
DrawablePtr pDrawable,
|
||||
PictFormatPtr pFormat,
|
||||
Mask mask,
|
||||
XID *list,
|
||||
ClientPtr client,
|
||||
int *error);
|
||||
|
||||
int
|
||||
ChangePicture (PicturePtr pPicture,
|
||||
Mask vmask,
|
||||
XID *vlist,
|
||||
DevUnion *ulist,
|
||||
ClientPtr client);
|
||||
|
||||
int
|
||||
SetPictureClipRects (PicturePtr pPicture,
|
||||
int xOrigin,
|
||||
int yOrigin,
|
||||
int nRect,
|
||||
xRectangle *rects);
|
||||
|
||||
int
|
||||
SetPictureTransform (PicturePtr pPicture,
|
||||
PictTransform *transform);
|
||||
|
||||
void
|
||||
ValidatePicture(PicturePtr pPicture);
|
||||
|
||||
int
|
||||
FreePicture (pointer pPicture,
|
||||
XID pid);
|
||||
|
||||
int
|
||||
FreePictFormat (pointer pPictFormat,
|
||||
XID pid);
|
||||
|
||||
void
|
||||
CompositePicture (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
|
||||
CompositeGlyphs (CARD8 op,
|
||||
PicturePtr pSrc,
|
||||
PicturePtr pDst,
|
||||
PictFormatPtr maskFormat,
|
||||
INT16 xSrc,
|
||||
INT16 ySrc,
|
||||
int nlist,
|
||||
GlyphListPtr lists,
|
||||
GlyphPtr *glyphs);
|
||||
|
||||
void
|
||||
CompositeRects (CARD8 op,
|
||||
PicturePtr pDst,
|
||||
xRenderColor *color,
|
||||
int nRect,
|
||||
xRectangle *rects);
|
||||
|
||||
void
|
||||
CompositeTrapezoids (CARD8 op,
|
||||
PicturePtr pSrc,
|
||||
PicturePtr pDst,
|
||||
PictFormatPtr maskFormat,
|
||||
INT16 xSrc,
|
||||
INT16 ySrc,
|
||||
int ntrap,
|
||||
xTrapezoid *traps);
|
||||
|
||||
void
|
||||
CompositeTriangles (CARD8 op,
|
||||
PicturePtr pSrc,
|
||||
PicturePtr pDst,
|
||||
PictFormatPtr maskFormat,
|
||||
INT16 xSrc,
|
||||
INT16 ySrc,
|
||||
int ntriangles,
|
||||
xTriangle *triangles);
|
||||
|
||||
void
|
||||
CompositeTriStrip (CARD8 op,
|
||||
PicturePtr pSrc,
|
||||
PicturePtr pDst,
|
||||
PictFormatPtr maskFormat,
|
||||
INT16 xSrc,
|
||||
INT16 ySrc,
|
||||
int npoints,
|
||||
xPointFixed *points);
|
||||
|
||||
void
|
||||
CompositeTriFan (CARD8 op,
|
||||
PicturePtr pSrc,
|
||||
PicturePtr pDst,
|
||||
PictFormatPtr maskFormat,
|
||||
INT16 xSrc,
|
||||
INT16 ySrc,
|
||||
int npoints,
|
||||
xPointFixed *points);
|
||||
|
||||
Bool
|
||||
PictureTransformPoint (PictTransformPtr transform,
|
||||
PictVectorPtr vector);
|
||||
|
||||
void RenderExtensionInit (void);
|
||||
|
||||
Bool
|
||||
AnimCurInit (ScreenPtr pScreen);
|
||||
|
||||
int
|
||||
AnimCursorCreate (CursorPtr *cursors, CARD32 *deltas, int ncursor, CursorPtr *ppCursor);
|
||||
|
||||
#ifdef XINERAMA
|
||||
void PanoramiXRenderInit (void);
|
||||
void PanoramiXRenderReset (void);
|
||||
#endif
|
||||
|
||||
#endif /* _PICTURESTR_H_ */
|
||||
Loading…
Add table
Reference in a new issue