From 2d8dfcec1bb166f8335300bd3850847a5bb1396e Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Wed, 5 Mar 2003 10:19:48 +0000 Subject: [PATCH] Updated to use libpixregion --- pixman/ChangeLog.libic | 21 +++++++++++++++++++++ pixman/src/ic.h | 22 +++++++++++++++++++++- pixman/src/icimage.h | 3 +++ pixman/src/icint.h | 41 +++-------------------------------------- 4 files changed, 48 insertions(+), 39 deletions(-) diff --git a/pixman/ChangeLog.libic b/pixman/ChangeLog.libic index d0105b791..c27188337 100644 --- a/pixman/ChangeLog.libic +++ b/pixman/ChangeLog.libic @@ -1,5 +1,26 @@ +2003-02-25 Carl Worth + + * src/icimage.c (IcImageInit): + (IcImageDestroy): + (IcImageDestroyClip): + (IcClipImageReg): + (IcClipImageSrc): + (IcClipImageSrc): + (SetPictureClipRects): + (IcComputeCompositeRegion): Converted to use libpixregion rather + than region code from Xlib. + + * src/iccompose.c (IcFetch_transform): Converted to use + libpixregion rather than region code from Xlib. + + * src/ic.c (IcComposite): Converted to use libpixregion rather + than region code from Xlib. + 2003-02-21 Carl Worth + * src/ictri.c (IcRasterizeTriangle): Added triangle support to + libic. + * src/ic.h: Started cleaning up the public interface of libic. Moved most of the cruft into icint.h. diff --git a/pixman/src/ic.h b/pixman/src/ic.h index ca5da2cfd..2705a67f0 100644 --- a/pixman/src/ic.h +++ b/pixman/src/ic.h @@ -25,6 +25,8 @@ #ifndef _IC_H_ #define _IC_H_ +#include + #include "pixregion.h" /* icformat.c */ @@ -47,7 +49,25 @@ typedef struct _IcPixels IcPixels; IcPixels * IcPixelsCreate (int width, int height, int depth); -/* XXX: What to do with the IcBits datatype? */ +/* + * This single define controls the basic size of data manipulated + * by this software; it must be log2(sizeof (IcBits) * 8) + */ + +#ifndef IC_SHIFT +# if defined(__alpha__) || defined(__alpha) || \ + defined(ia64) || defined(__ia64__) || \ + defined(__sparc64__) || \ + defined(__s390x__) || \ + defined(x86_64) || defined (__x86_64__) +#define IC_SHIFT 6 +typedef uint64_t IcBits; +# else +#define IC_SHIFT 5 +typedef uint32_t IcBits; +# endif +#endif + IcPixels * IcPixelsCreateForData (IcBits *data, int width, int height, int depth, int bpp, int stride); diff --git a/pixman/src/icimage.h b/pixman/src/icimage.h index 63759e620..b2488c763 100644 --- a/pixman/src/icimage.h +++ b/pixman/src/icimage.h @@ -22,6 +22,9 @@ * PERFORMANCE OF THIS SOFTWARE. */ +/* XXX: This whole file should be moved up into incint.h (and cleaned + up considerably as well) */ + #ifndef _ICIMAGE_H_ #define _ICIMAGE_H_ diff --git a/pixman/src/icint.h b/pixman/src/icint.h index bb3a6877d..b7627f88f 100644 --- a/pixman/src/icint.h +++ b/pixman/src/icint.h @@ -40,23 +40,12 @@ #include "X11/Xprotostr.h" #include "X11/extensions/Xrender.h" +#include "ic.h" + /* XXX: Most of this file is straight from fb.h and I imagine we can drop quite a bit of it. Once the real ic code starts to come together I can probably figure out what is not needed here. */ -/* - * This single define controls the basic size of data manipulated - * by this software; it must be log2(sizeof (IcBits) * 8) - */ - -#ifndef IC_SHIFT -#define IC_SHIFT LOG2_BITMAP_PAD -#endif - -#if IC_SHIFT < LOG2_BITMAP_PAD - error IC_SHIFT must be >= LOG2_BITMAP_PAD -#endif - #define IC_UNIT (1 << IC_SHIFT) #define IC_HALFUNIT (1 << (IC_SHIFT-1)) #define IC_MASK (IC_UNIT - 1) @@ -96,31 +85,8 @@ #define IcBitsStrideToStipStride(s) (((s) << (IC_SHIFT - IC_STIP_SHIFT))) #define IcFullMask(n) ((n) == IC_UNIT ? IC_ALLONES : ((((IcBits) 1) << n) - 1)) - -#if IC_SHIFT == 6 -# ifdef WIN32 -typedef unsigned __int64 IcBits; -# else -# if defined(__alpha__) || defined(__alpha) || \ - defined(ia64) || defined(__ia64__) || \ - defined(__sparc64__) || \ - defined(__s390x__) || \ - defined(x86_64) || defined (__x86_64__) -typedef unsigned long IcBits; -# else -typedef unsigned long long IcBits; -# endif -# endif -#endif - -#if IC_SHIFT == 5 -typedef CARD32 IcBits; -#endif - -#if IC_SHIFT == 4 -typedef CARD16 IcBits; -#endif +/* XXX: What's the significance of this distinction for IcStip? */ #if LOG2_BITMAP_PAD == IC_SHIFT typedef IcBits IcStip; #else @@ -760,7 +726,6 @@ IcReplicatePixel (Pixel p, int bpp); #define CT_YXSORTED 14 #define CT_YXBANDED 18 -#include "ic.h" #include "icimage.h" /* ictrap.c */