[Commit] libic/src ic.c, 1.8, 1.9 ic.h, 1.15, 1.16 iccolor.c, 1.1, 1.2 iccompose.c, 1.8, 1.9 icformat.c, 1.3, 1.4 icimage.c, 1.9, 1.10 icimage.h, 1.11, 1.12 icint.h, 1.11, 1.12 icrect.c, 1.3, 1.4 icrop.h, 1.2, 1.3 ictri.c, 1.5, 1.6

Richard Henderson commit at keithp.com
Thu Jul 31 11:00:12 PDT 2003


Committed by: rth

Update of /local/src/CVS/libic/src
In directory home.keithp.com:/tmp/cvs-serv32290/src

Modified Files:
	ic.c ic.h iccolor.c iccompose.c icformat.c icimage.c icimage.h 
	icint.h icrect.c icrop.h ictri.c 
Log Message:
        * configure.in: Check for slim revision.
        * libic.pc.in: Depend on slim.

        * src/ic.c, src/iccompose.c: Don't include icimage.h.
        * src/icimage.h: Don't include ic.h.

        * src/ic.h: Include slim_{export,import}.h as appropriate.  Mark all
        symbols __external_linkage.
        * src/icint.h: Include slim_import.h; mark symbols __internal_linkage;
        add slim hidden_proto declarations.
        * src/icimage.h: Mark all symbols __internal_linkage.
        * src/icrop.h: Likewise.

        * src/ic.c (IcComposite): Provide hidden definition.
        * src/iccolor.c (IcColorToPixel): Likewise.
        * src/icformat.c (IcFormatInit): Likewise.
        * src/icimage.c (IcImageCreate, IcImageDestroy): Likewise.
        (IcImageSetRepeat): Likewise.
        * src/icrect.c (IcFillRectangles): Likewise.
        * src/tri.c (IcRasterizeTriangle): Make static.


Index: ic.c
===================================================================
RCS file: /local/src/CVS/libic/src/ic.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- ic.c	31 Jul 2003 09:11:33 -0000	1.8
+++ ic.c	31 Jul 2003 17:00:09 -0000	1.9
@@ -24,7 +24,6 @@
  */
 
 #include "icint.h"
-#include "icimage.h"
 
 #ifndef __GNUC__
 #define __inline
@@ -1137,4 +1136,4 @@
     }
     PixRegionDestroy (region);
 }
-
+slim_hidden_def(IcComposite)

Index: ic.h
===================================================================
RCS file: /local/src/CVS/libic/src/ic.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- ic.h	30 Jul 2003 18:50:38 -0000	1.15
+++ ic.h	31 Jul 2003 17:00:09 -0000	1.16
@@ -33,6 +33,12 @@
 
 #include <pixregion.h>
 
+#ifdef _ICINT_H_
+#include <slim_export.h>
+#else
+#include <slim_import.h>
+#endif
+
 /* NOTE: Must be manually synchronized with LIBIC_VERSION in configure.in */
 #define IC_MAJOR	0
 #define IC_MINOR	1
@@ -58,14 +64,14 @@
     int		alpha, alphaMask;
 } IcFormat;
 
-void
+extern void __external_linkage
 IcFormatInit (IcFormat *format, IcFormatName name);
 
 /* icimage.c */
 
 typedef struct _IcImage	IcImage;
 
-IcImage *
+extern IcImage * __external_linkage
 IcImageCreate (IcFormat	*format,
 	       int	width,
 	       int	height);
@@ -89,13 +95,13 @@
 #  endif
 #endif
 
-IcImage *
+extern IcImage * __external_linkage
 IcImageCreateForData (IcBits *data, IcFormat *format, int width, int height, int bpp, int stride);
 
-void
+extern void __external_linkage
 IcImageDestroy (IcImage *image);
 
-int
+extern int __external_linkage
 IcImageSetClipRegion (IcImage	*image,
 		      PixRegion	*region);
 
@@ -142,31 +148,31 @@
     IcFilterBilinear
 } IcFilter;
 
-int
+extern int __external_linkage
 IcImageSetTransform (IcImage		*image,
 		     IcTransform	*transform);
 
-void
+extern void __external_linkage
 IcImageSetRepeat (IcImage	*image,
 		  int		repeat);
 
-void
+extern void __external_linkage
 IcImageSetFilter (IcImage	*image,
 		  IcFilter	filter);
 
-int
+extern int __external_linkage
 IcImageGetWidth (IcImage	*image);
 
-int
+extern int __external_linkage
 IcImageGetHeight (IcImage	*image);
 
-int
+extern int __external_linkage
 IcImageGetStride (IcImage	*image);
 
-IcFormat *
+extern IcFormat * __external_linkage
 IcImageGetFormat (IcImage	*image);
 
-IcBits *
+extern IcBits * __external_linkage
 IcImageGetData (IcImage	*image);
 
 /* iccolor.c */
@@ -179,26 +185,28 @@
     unsigned short   alpha;
 } IcColor;
 
-void
+extern void __external_linkage
 IcColorToPixel (const IcFormat	*format,
 		const IcColor	*color,
 		IcBits		*pixel);
 
-void
+extern void __external_linkage
 IcPixelToColor (const IcFormat	*format,
 		IcBits		pixel,
 		IcColor		*color);
 
 /* icrect.c */
 
-void IcFillRectangle (char		op,
-		      IcImage		*dst,
-		      const IcColor	*color,
-		      int		x,
-		      int		y,
-		      unsigned int	width,
-		      unsigned int	height);
-void
+extern void __external_linkage
+IcFillRectangle (char		op,
+		 IcImage	*dst,
+		 const IcColor	*color,
+		 int		x,
+		 int		y,
+		 unsigned int	width,
+		 unsigned int	height);
+
+extern void __external_linkage
 IcFillRectangles (char			op,
 		  IcImage		*dst,
 		  const IcColor		*color,
@@ -208,7 +216,7 @@
 /* ictrap.c */
 
 /* XXX: Switch to enum for op */
-void
+extern void __external_linkage
 IcCompositeTrapezoids (char		op,
 		       IcImage		*src,
 		       IcImage		*dst,
@@ -219,7 +227,7 @@
 
 /* ictri.c */
 
-void
+extern void __external_linkage
 IcCompositeTriangles (char		op,
 		      IcImage		*src,
 		      IcImage		*dst,
@@ -228,7 +236,7 @@
 		      const IcTriangle	*tris,
 		      int		ntris);
 
-void
+extern void __external_linkage
 IcCompositeTriStrip (char		op,
 		     IcImage		*src,
 		     IcImage		*dst,
@@ -238,7 +246,7 @@
 		     int		npoints);
 
 
-void
+extern void __external_linkage
 IcCompositeTriFan (char			op,
 		   IcImage		*src,
 		   IcImage		*dst,
@@ -249,7 +257,7 @@
 
 /* ic.c */
 
-void
+extern void __external_linkage
 IcComposite (char	op,
 	     IcImage	*iSrc,
 	     IcImage    *iMask,
@@ -266,5 +274,7 @@
 #if defined(__cplusplus) || defined(c_plusplus)
 }
 #endif
+
+#undef __external_linkage
 
 #endif /* IC_H_INCLUDED */

Index: iccolor.c
===================================================================
RCS file: /local/src/CVS/libic/src/iccolor.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- iccolor.c	17 Apr 2003 15:48:22 -0000	1.1
+++ iccolor.c	31 Jul 2003 17:00:09 -0000	1.2
@@ -55,6 +55,7 @@
     a = a << format->alpha;
     *pixel = r|g|b|a;
 }
+slim_hidden_def(IcColorToPixel)
 
 static CARD16
 IcFillColor (CARD32 pixel, int bits)

Index: iccompose.c
===================================================================
RCS file: /local/src/CVS/libic/src/iccompose.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- iccompose.c	31 Jul 2003 09:11:33 -0000	1.8
+++ iccompose.c	31 Jul 2003 17:00:09 -0000	1.9
@@ -24,7 +24,6 @@
 
 
 #include "icint.h"
-#include "icimage.h"
 
 /*
  * General purpose compositing code optimized for minimal memory

Index: icformat.c
===================================================================
RCS file: /local/src/CVS/libic/src/icformat.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- icformat.c	17 Apr 2003 15:48:22 -0000	1.3
+++ icformat.c	31 Jul 2003 17:00:09 -0000	1.4
@@ -106,6 +106,7 @@
 */
     }
 }
+slim_hidden_def(IcFormatInit)
 
 void
 _IcFormatDestroy (IcFormat *format)

Index: icimage.c
===================================================================
RCS file: /local/src/CVS/libic/src/icimage.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- icimage.c	9 Jul 2003 00:06:16 -0000	1.9
+++ icimage.c	31 Jul 2003 17:00:09 -0000	1.10
@@ -47,6 +47,7 @@
 
     return image;
 }
+slim_hidden_def(IcImageCreate)
 
 IcImage *
 IcImageCreateForData (IcBits *data, IcFormat *format, int width, int height, int bpp, int stride)
@@ -186,6 +187,7 @@
     if (image)
 	image->repeat = repeat;
 }
+slim_hidden_def(IcImageSetRepeat)
 
 void
 IcImageSetFilter (IcImage	*image,
@@ -230,6 +232,7 @@
 
     free (image);
 }
+slim_hidden_def(IcImageDestroy)
 
 void
 IcImageDestroyClip (IcImage *image)

Index: icimage.h
===================================================================
RCS file: /local/src/CVS/libic/src/icimage.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- icimage.h	31 Jul 2003 09:11:34 -0000	1.11
+++ icimage.h	31 Jul 2003 17:00:09 -0000	1.12
@@ -28,8 +28,6 @@
 #ifndef _ICIMAGE_H_
 #define _ICIMAGE_H_
 
-#include "ic.h"
-
 #include <X11/Xdefs.h>
 
 #include "X11/Xprotostr.h"
@@ -175,32 +173,32 @@
 #define IcIndexToEntY24(icf,rgb24) ((icf)->ent[CvtR8G8B8toY15(rgb24)])
 
 /*
-int
+extern int __internal_linkage
 IcCreatePicture (PicturePtr pPicture);
 */
 
-void
+extern void __internal_linkage
 IcImageInit (IcImage *image);
 
-int
+extern int __internal_linkage
 IcImageChange (IcImage		*image,
 	       Mask		vmask,
 	       XID		*vlist,
 	       DevUnion		*ulist,
 	       int		*error_value);
 
-void
+extern void __internal_linkage
 IcImageDestroyClip (IcImage *image);
 
 /*
-void
+extern void __internal_linkage
 IcValidatePicture (PicturePtr pPicture,
 		   Mask       mask);
 */
 
 
 /* XXX: What should this be?
-Bool
+extern Bool __internal_linkage
 IcClipPicture (PixRegion    *region,
 	       IcImage	    *image,
 	       int16_t	    xReg,
@@ -209,7 +207,7 @@
 	       int16_t	    yPict);
 */
 
-Bool
+extern Bool __internal_linkage
 IcComputeCompositeRegion (PixRegion	*region,
 			  IcImage	*iSrc,
 			  IcImage	*iMask,
@@ -224,12 +222,12 @@
 			  uint16_t	height);
 
 /*
-Bool
+extern Bool __internal_linkage
 IcPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats);
 */
 
 /*
-void
+extern void __internal_linkage
 IcGlyphs (uint8_t		op,
 	  PicturePtr	pSrc,
 	  PicturePtr	pDst,
@@ -242,7 +240,7 @@
 */
 
 /*
-void
+extern void __internal_linkage
 IcCompositeRects (uint8_t		op,
 		  PicturePtr	pDst,
 		  xRenderColor  *color,
@@ -250,7 +248,7 @@
 		  xRectangle    *rects);
 */
 
-IcImage *
+extern IcImage * __internal_linkage
 IcCreateAlphaPicture (IcImage	*dst,
 		      IcFormat	*format,
 		      uint16_t	width,
@@ -333,14 +331,15 @@
     uint32_t	alpha;
 } IcCompSrc;
 
-Bool
+extern Bool __internal_linkage
 IcBuildCompositeOperand (IcImage	    *image,
 			 IcCompositeOperand op[4],
 			 int16_t		    x,
 			 int16_t		    y,
 			 Bool		    transform,
 			 Bool		    alpha);
-void
+
+extern void __internal_linkage
 IcCompositeGeneral (uint8_t	op,
 		    IcImage	*iSrc,
 		    IcImage	*iMask,

Index: icint.h
===================================================================
RCS file: /local/src/CVS/libic/src/icint.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- icint.h	29 Jul 2003 21:45:20 -0000	1.11
+++ icint.h	31 Jul 2003 17:00:09 -0000	1.12
@@ -33,6 +33,8 @@
 #include <X11/X.h>
 #include <X11/Xmd.h>
 
+#include <slim_internal.h>
+
 /* These few definitions avoid me needing to include servermd.h and misc.h from Xserver/include */
 #ifndef BITMAP_SCANLINE_PAD
 #define BITMAP_SCANLINE_PAD  32
@@ -529,7 +531,7 @@
 /*
  * icblt.c
  */
-void
+extern void __internal_linkage
 IcBlt (IcBits   *src, 
        IcStride	srcStride,
        int	srcX,
@@ -548,7 +550,7 @@
        Bool	reverse,
        Bool	upsidedown);
 
-void
+extern void __internal_linkage
 IcBlt24 (IcBits	    *srcLine,
 	 IcStride   srcStride,
 	 int	    srcX,
@@ -566,7 +568,7 @@
 	 Bool	    reverse,
 	 Bool	    upsidedown);
     
-void
+extern void __internal_linkage
 IcBltStip (IcStip   *src,
 	   IcStride srcStride,	    /* in IcStip units, not IcBits units */
 	   int	    srcX,
@@ -585,7 +587,7 @@
 /*
  * icbltone.c
  */
-void
+extern void __internal_linkage
 IcBltOne (IcStip   *src,
 	  IcStride srcStride,
 	  int	   srcX,
@@ -603,7 +605,7 @@
 	  IcBits   bgxor);
  
 #ifdef IC_24BIT
-void
+extern void __internal_linkage
 IcBltOne24 (IcStip    *src,
 	  IcStride  srcStride,	    /* IcStip units per scanline */
 	  int	    srcX,	    /* bit position of source */
@@ -625,13 +627,13 @@
  * icstipple.c
  */
 
-void
+extern void __internal_linkage
 IcTransparentSpan (IcBits   *dst,
 		   IcBits   stip,
 		   IcBits   fgxor,
 		   int	    n);
 
-void
+extern void __internal_linkage
 IcEvenStipple (IcBits   *dst,
 	       IcStride dstStride,
 	       int	dstX,
@@ -652,7 +654,7 @@
 	       int	xRot,
 	       int	yRot);
 
-void
+extern void __internal_linkage
 IcOddStipple (IcBits	*dst,
 	      IcStride	dstStride,
 	      int	dstX,
@@ -674,7 +676,7 @@
 	      int	xRot,
 	      int	yRot);
 
-void
+extern void __internal_linkage
 IcStipple (IcBits   *dst,
 	   IcStride dstStride,
 	   int	    dstX,
@@ -713,7 +715,7 @@
 typedef uint32_t Pixel;
 
 /* icutil.c */
-IcBits
+extern IcBits __internal_linkage
 IcReplicatePixel (Pixel p, int bpp);
 
 /* XXX: This is to avoid including gc.h from the server includes */
@@ -730,43 +732,53 @@
 
 /* icformat.c */
 
-IcFormat *
+extern IcFormat * __internal_linkage
 _IcFormatCreate (IcFormatName name);
 
-void
+extern void __internal_linkage
 _IcFormatDestroy (IcFormat *format);
 
 /* icimage.c */
 
-IcImage *
+extern IcImage * __internal_linkage
 IcImageCreateForPixels (IcPixels	*pixels,
 			IcFormat	*format);
 
 /* icpixels.c */
 
-IcPixels *
+extern IcPixels * __internal_linkage
 IcPixelsCreate (int width, int height, int depth);
 
-IcPixels *
+extern IcPixels * __internal_linkage
 IcPixelsCreateForData (IcBits *data, int width, int height, int depth, int bpp, int stride);
 
-void
+extern void __internal_linkage
 IcPixelsDestroy (IcPixels *pixels);
 
 /* ictransform.c */
 
-Bool
+extern Bool __internal_linkage
 IcTransformPoint (IcTransform	*transform,
 		  IcVector	*vector);
 
 /* ictrap.c */
 
-void
+extern void __internal_linkage
 IcRasterizeTrapezoid (IcImage		*pMask,
 		      const IcTrapezoid  *pTrap,
 		      int		x_off,
 		      int		y_off);
 
+/* Avoid unnessecary PLT entries.  */
+
+slim_hidden_proto(IcImageCreate)
+slim_hidden_proto(IcColorToPixel)
+slim_hidden_proto(IcFormatInit)
+slim_hidden_proto(IcImageDestroy)
+slim_hidden_proto(IcFillRectangles)
+slim_hidden_proto(IcImageSetRepeat)
+slim_hidden_proto(IcComposite)
+
 
 #include "icrop.h"
 
@@ -904,7 +916,7 @@
 #define PictureCmapPolicyColor	    3
 #define PictureCmapPolicyAll	    4
 
-extern int  PictureCmapPolicy;
+extern int  PictureCmapPolicy __internal_linkage;
 
 int	PictureParseCmapPolicy (const char *name);
 

Index: icrect.c
===================================================================
RCS file: /local/src/CVS/libic/src/icrect.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- icrect.c	25 Apr 2003 21:24:38 -0000	1.3
+++ icrect.c	31 Jul 2003 17:00:09 -0000	1.4
@@ -167,3 +167,4 @@
 	;
     }
 }
+slim_hidden_def(IcFillRectangles)

Index: icrop.h
===================================================================
RCS file: /local/src/CVS/libic/src/icrop.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- icrop.h	31 Jul 2003 09:11:34 -0000	1.2
+++ icrop.h	31 Jul 2003 17:00:09 -0000	1.3
@@ -30,7 +30,7 @@
     IcBits   ca1, cx1, ca2, cx2;
 } IcMergeRopRec, *IcMergeRopPtr;
 
-extern const IcMergeRopRec	IcMergeRopBits[16];
+extern const IcMergeRopRec IcMergeRopBits[16] __internal_linkage;
 
 #define IcDeclareMergeRop() IcBits   _ca1, _cx1, _ca2, _cx2;
 #define IcDeclarePrebuiltMergeRop()	IcBits	_cca, _ccx;
@@ -98,11 +98,12 @@
  * Stippling operations; 
  */
 
-extern const IcBits	icStipple16Bits[256];	/* half of table */
+/* half of table */
+extern const IcBits icStipple16Bits[256] __internal_linkage;
 #define IcStipple16Bits(b) \
     (IcStipple16Bits[(b)&0xff] | IcStipple16Bits[(b) >> 8] << IC_HALFUNIT)
 
-extern const IcBits *
+extern const IcBits * __internal_linkage
 IcStippleTable(int bits);
 
 #define IcStippleRRop(dst, b, fa, fx, ba, bx) \

Index: ictri.c
===================================================================
RCS file: /local/src/CVS/libic/src/ictri.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- ictri.c	25 Apr 2003 21:24:38 -0000	1.5
+++ ictri.c	31 Jul 2003 17:00:09 -0000	1.6
@@ -24,12 +24,6 @@
 
 #include "icint.h"
 
-void
-IcRasterizeTriangle (IcImage		*image,
-		     const IcTriangle	*tri,
-		     int		x_off,
-		     int		y_off);
-
 static void
 IcPointFixedBounds (int npoint, const IcPointFixed *points, PixRegionBox *bounds)
 {
@@ -64,7 +58,7 @@
     IcPointFixedBounds (ntri * 3, (IcPointFixed *) tris, bounds);
 }
 
-void
+static void
 IcRasterizeTriangle (IcImage		*image,
 		     const IcTriangle	*tri,
 		     int		x_off,




More information about the Commit mailing list