diff options
author | marha <marha@users.sourceforge.net> | 2010-12-01 08:14:05 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2010-12-01 08:14:05 +0000 |
commit | 6cbbd31fd2f24fdda51df2de8a8f62ec83b5db03 (patch) | |
tree | fd434665398565d3bb9c68b97c978b63a7756add /xorg-server/render | |
parent | d8f61fbb152bca029b56b117c679b03b6a72b467 (diff) | |
parent | 30eaf03aef5847adb6da7efd4bbf4a4abaf5d738 (diff) | |
download | vcxsrv-6cbbd31fd2f24fdda51df2de8a8f62ec83b5db03.tar.gz vcxsrv-6cbbd31fd2f24fdda51df2de8a8f62ec83b5db03.tar.bz2 vcxsrv-6cbbd31fd2f24fdda51df2de8a8f62ec83b5db03.zip |
svn merge ^/branches/released .
Diffstat (limited to 'xorg-server/render')
-rw-r--r-- | xorg-server/render/glyphstr.h | 301 | ||||
-rw-r--r-- | xorg-server/render/picture.c | 6 | ||||
-rw-r--r-- | xorg-server/render/picturestr.h | 15 |
3 files changed, 159 insertions, 163 deletions
diff --git a/xorg-server/render/glyphstr.h b/xorg-server/render/glyphstr.h index 6c1a837e0..ba9a28d16 100644 --- a/xorg-server/render/glyphstr.h +++ b/xorg-server/render/glyphstr.h @@ -1,151 +1,150 @@ -/* - * - * 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 <X11/extensions/renderproto.h> -#include "picture.h" -#include "screenint.h" -#include "regionstr.h" -#include "miscstruct.h" -#include "privates.h" - -#define GlyphFormat1 0 -#define GlyphFormat4 1 -#define GlyphFormat8 2 -#define GlyphFormat16 3 -#define GlyphFormat32 4 -#define GlyphFormatNum 5 - -typedef struct _Glyph { - CARD32 refcnt; - PrivateRec *devPrivates; - unsigned char sha1[20]; - CARD32 size; /* info + bitmap */ - xGlyphInfo info; - /* per-screen pixmaps follow */ -} GlyphRec, *GlyphPtr; - -#define GlyphPicture(glyph) ((PicturePtr *) ((glyph) + 1)) - -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; - int maxPrivate; - PrivateRec *devPrivates; -} GlyphSetRec, *GlyphSetPtr; - -#define GlyphSetGetPrivate(pGlyphSet,k) \ - dixLookupPrivate(&(pGlyphSet)->devPrivates, k) - -#define GlyphSetSetPrivate(pGlyphSet,k,ptr) \ - dixSetPrivate(&(pGlyphSet)->devPrivates, k, ptr) - -typedef struct _GlyphList { - INT16 xOff; - INT16 yOff; - CARD8 len; - PictFormatPtr format; -} GlyphListRec, *GlyphListPtr; - -extern _X_EXPORT GlyphHashSetPtr -FindGlyphHashSet (CARD32 filled); - -extern _X_EXPORT void -GlyphUninit (ScreenPtr pScreen); - -extern _X_EXPORT GlyphHashSetPtr -FindGlyphHashSet (CARD32 filled); - -extern _X_EXPORT GlyphRefPtr -FindGlyphRef (GlyphHashPtr hash, - CARD32 signature, - Bool match, - unsigned char sha1[20]); - -extern _X_EXPORT GlyphPtr -FindGlyphByHash (unsigned char sha1[20], int format); - -extern _X_EXPORT int -HashGlyph (xGlyphInfo *gi, - CARD8 *bits, - unsigned long size, - unsigned char sha1[20]); - -extern _X_EXPORT void -FreeGlyph (GlyphPtr glyph, int format); - -extern _X_EXPORT void -AddGlyph (GlyphSetPtr glyphSet, GlyphPtr glyph, Glyph id); - -extern _X_EXPORT Bool -DeleteGlyph (GlyphSetPtr glyphSet, Glyph id); - -extern _X_EXPORT GlyphPtr -FindGlyph (GlyphSetPtr glyphSet, Glyph id); - -extern _X_EXPORT GlyphPtr -AllocateGlyph (xGlyphInfo *gi, int format); - -extern _X_EXPORT Bool -AllocateGlyphHash (GlyphHashPtr hash, GlyphHashSetPtr hashSet); - -extern _X_EXPORT Bool -ResizeGlyphHash (GlyphHashPtr hash, CARD32 change, Bool global); - -extern _X_EXPORT Bool -ResizeGlyphSet (GlyphSetPtr glyphSet, CARD32 change); - -extern _X_EXPORT GlyphSetPtr -AllocateGlyphSet (int fdepth, PictFormatPtr format); - -extern _X_EXPORT int -FreeGlyphSet (pointer value, - XID gid); - - - -#endif /* _GLYPHSTR_H_ */ +/*
+ *
+ * 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 <X11/extensions/renderproto.h>
+#include "picture.h"
+#include "screenint.h"
+#include "regionstr.h"
+#include "miscstruct.h"
+#include "privates.h"
+
+#define GlyphFormat1 0
+#define GlyphFormat4 1
+#define GlyphFormat8 2
+#define GlyphFormat16 3
+#define GlyphFormat32 4
+#define GlyphFormatNum 5
+
+typedef struct _Glyph {
+ CARD32 refcnt;
+ PrivateRec *devPrivates;
+ unsigned char sha1[20];
+ CARD32 size; /* info + bitmap */
+ xGlyphInfo info;
+ /* per-screen pixmaps follow */
+} GlyphRec, *GlyphPtr;
+
+#define GlyphPicture(glyph) ((PicturePtr *) ((glyph) + 1))
+
+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;
+ int fdepth;
+ PictFormatPtr format;
+ GlyphHashRec hash;
+ PrivateRec *devPrivates;
+} GlyphSetRec, *GlyphSetPtr;
+
+#define GlyphSetGetPrivate(pGlyphSet,k) \
+ dixLookupPrivate(&(pGlyphSet)->devPrivates, k)
+
+#define GlyphSetSetPrivate(pGlyphSet,k,ptr) \
+ dixSetPrivate(&(pGlyphSet)->devPrivates, k, ptr)
+
+typedef struct _GlyphList {
+ INT16 xOff;
+ INT16 yOff;
+ CARD8 len;
+ PictFormatPtr format;
+} GlyphListRec, *GlyphListPtr;
+
+extern _X_EXPORT GlyphHashSetPtr
+FindGlyphHashSet (CARD32 filled);
+
+extern _X_EXPORT void
+GlyphUninit (ScreenPtr pScreen);
+
+extern _X_EXPORT GlyphHashSetPtr
+FindGlyphHashSet (CARD32 filled);
+
+extern _X_EXPORT GlyphRefPtr
+FindGlyphRef (GlyphHashPtr hash,
+ CARD32 signature,
+ Bool match,
+ unsigned char sha1[20]);
+
+extern _X_EXPORT GlyphPtr
+FindGlyphByHash (unsigned char sha1[20], int format);
+
+extern _X_EXPORT int
+HashGlyph (xGlyphInfo *gi,
+ CARD8 *bits,
+ unsigned long size,
+ unsigned char sha1[20]);
+
+extern _X_EXPORT void
+FreeGlyph (GlyphPtr glyph, int format);
+
+extern _X_EXPORT void
+AddGlyph (GlyphSetPtr glyphSet, GlyphPtr glyph, Glyph id);
+
+extern _X_EXPORT Bool
+DeleteGlyph (GlyphSetPtr glyphSet, Glyph id);
+
+extern _X_EXPORT GlyphPtr
+FindGlyph (GlyphSetPtr glyphSet, Glyph id);
+
+extern _X_EXPORT GlyphPtr
+AllocateGlyph (xGlyphInfo *gi, int format);
+
+extern _X_EXPORT Bool
+AllocateGlyphHash (GlyphHashPtr hash, GlyphHashSetPtr hashSet);
+
+extern _X_EXPORT Bool
+ResizeGlyphHash (GlyphHashPtr hash, CARD32 change, Bool global);
+
+extern _X_EXPORT Bool
+ResizeGlyphSet (GlyphSetPtr glyphSet, CARD32 change);
+
+extern _X_EXPORT GlyphSetPtr
+AllocateGlyphSet (int fdepth, PictFormatPtr format);
+
+extern _X_EXPORT int
+FreeGlyphSet (pointer value,
+ XID gid);
+
+
+
+#endif /* _GLYPHSTR_H_ */
diff --git a/xorg-server/render/picture.c b/xorg-server/render/picture.c index b2418ef36..d31b77466 100644 --- a/xorg-server/render/picture.c +++ b/xorg-server/render/picture.c @@ -735,13 +735,12 @@ SetPictureToDefaults (PicturePtr pPicture) pPicture->transform = 0;
- pPicture->dither = None;
pPicture->filter = PictureGetFilterId (FilterNearest, -1, TRUE);
pPicture->filter_params = 0;
pPicture->filter_nparams = 0;
pPicture->serialNumber = GC_CHANGE_SERIAL_BIT;
- pPicture->stateChanges = (1 << (CPLastBit+1)) - 1;
+ pPicture->stateChanges = -1;
pPicture->pSourcePict = 0;
}
@@ -1261,7 +1260,7 @@ ChangePicture (PicturePtr pPicture, }
break;
case CPDither:
- pPicture->dither = NEXT_VAL(Atom);
+ (void) NEXT_VAL(Atom); /* unimplemented */
break;
case CPComponentAlpha:
{
@@ -1480,7 +1479,6 @@ CopyPicture (PicturePtr pSrc, pDst->polyMode = pSrc->polyMode;
break;
case CPDither:
- pDst->dither = pSrc->dither;
break;
case CPComponentAlpha:
pDst->componentAlpha = pSrc->componentAlpha;
diff --git a/xorg-server/render/picturestr.h b/xorg-server/render/picturestr.h index ca6d5868b..ee62e6a17 100644 --- a/xorg-server/render/picturestr.h +++ b/xorg-server/render/picturestr.h @@ -151,8 +151,6 @@ typedef struct _Picture { PictFormatShort 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;
@@ -162,7 +160,11 @@ typedef struct _Picture { unsigned int clientClipType : 2;
unsigned int componentAlpha : 1;
unsigned int repeatType : 2;
- unsigned int unused : 21;
+ unsigned int filter : 3;
+ unsigned int stateChanges : CPLastBit;
+ unsigned int unused : 18 - CPLastBit;
+
+ PicturePtr pNext; /* chain on same drawable */
PicturePtr alphaMap;
DDXPointRec alphaOrigin;
@@ -170,9 +172,6 @@ typedef struct _Picture { DDXPointRec clipOrigin;
pointer clientClip;
- Atom dither;
-
- unsigned long stateChanges;
unsigned long serialNumber;
RegionPtr pCompositeClip;
@@ -181,10 +180,9 @@ typedef struct _Picture { PictTransform *transform;
- int filter;
+ SourcePictPtr pSourcePict;
xFixed *filter_params;
int filter_nparams;
- SourcePictPtr pSourcePict;
} PictureRec;
typedef Bool (*PictFilterValidateParamsProcPtr) (ScreenPtr pScreen, int id,
@@ -205,6 +203,7 @@ typedef struct { #define PictFilterBest 4
#define PictFilterConvolution 5
+/* if you add an 8th filter, expand the filter bitfield above */
typedef struct {
char *alias;
|