Sophie

Sophie

distrib > Mandriva > current > x86_64 > by-pkgid > ced6986220fa489de4de435bdb011712 > files > 3

ploticus-2.41-2mdv2010.1.src.rpm

diff -p -up pl241src/src/Makefile.gd20gif pl241src/src/Makefile
--- pl241src/src/Makefile.gd20gif	2009-03-11 19:00:44.000000000 +0100
+++ pl241src/src/Makefile	2009-06-21 23:43:22.000000000 +0200
@@ -112,6 +112,15 @@ ZFLAG = -DWZ
 # GDFREETYPE = -DGDFREETYPE
 # ZFLAG = -DWZ
 
+#### For JPEG, WBMP, PNG and GIF(without FreeType2), using GD 2.0 with gif support,
+#### uncomment the following..  (you must have gd 2.0+ with gif support, libpng, zlib, libjpeg)
+# ploticus: plgd20gif
+GD20LIBS = -lgd -lpng -lz -ljpeg
+GD20H = -I/usr/include
+GDFREETYPE = -DGDFREETYPE
+# ZFLAG = -DWZ
+
+
 ########### Option 5: don't use GD at all.
 # exetarget: plnogd 
 # NOGD = -DNOGD
@@ -249,6 +258,13 @@ gd16files: 
 gd18files:
 	$(CC) -c grgd.c devstuff.c -DGD18 $(GDFREETYPE) $(GD18H) $(CFLAGS)
 
+# GD20GIF:
+plgd20gif: pl.o $(OBJ) $(XOBJ) gd20gif_files
+	$(CC) $(FLAGS) pl.o grgd.o devstuff.o $(OBJ) $(XOBJ) $(GD20LIBS) $(LIBS) -o $(PL)
+	 
+gd20gif_files:
+	$(CC) -c grgd.c devstuff.c -DGD20GIF $(GDFREETYPE) $(GD20H) $(CFLAGS)
+
 nogdfiles:
 	$(CC) -c devstuff.c $(CFLAGS)
 
diff -p -up pl241src/src/devstuff.c.gd20gif pl241src/src/devstuff.c
--- pl241src/src/devstuff.c.gd20gif	2008-01-10 18:27:16.000000000 +0100
+++ pl241src/src/devstuff.c	2009-06-21 23:46:39.000000000 +0200
@@ -37,14 +37,14 @@ else if( strcmp( dev, "png" )==0 ) {
 	}
 
 else if( strcmp( dev, "jpeg" )==0 ) {
-#if GD18
+#if GD18 || GD20GIF
 	return( 1 );
 #endif
 	return( 0 );
 	}
 
 else if( strcmp( dev, "wbmp" )==0 ) {
-#if GD18
+#if GD18 || GD20GIF
 	return( 1 );
 #endif
 	return( 0 );
@@ -53,7 +53,7 @@ else if( strcmp( dev, "wbmp" )==0 ) {
 else if( GL_smember( dev, "ps eps svg" )) return( 1 );
 
 else if( strcmp( dev, "svgz" )==0 ) {
-#if GD16 || GD18 || WZ
+#if GD16 || GD18 || WZ || GD20GIF
        	return( 1 );
 #else
 	return( 0 );
@@ -97,6 +97,9 @@ strcpy( s, "This build can produce: PS E
 #ifdef GD18
  strcat( s, "PNG JPEG WBMP " );
 #endif
+#ifdef GD20
+ strcat( s, "PNG JPEG WBMP GIF ");
+#endif
 #ifdef GDFREETYPE
  strcat( s, "FreeType2 " );
 #endif
diff -p -up pl241src/src/grgd.c.gd20gif pl241src/src/grgd.c
--- pl241src/src/grgd.c.gd20gif	2009-02-18 18:44:50.000000000 +0100
+++ pl241src/src/grgd.c	2009-06-21 23:55:13.000000000 +0200
@@ -15,6 +15,7 @@
 	GD13  (create GIF only using GD 1.3; no import)
 	GD16  (create PNG only using GD 1.6; also can import PNG)
 	GD18   (use GD 1.8+ to create PNG, JPEG, or WBMP; also can import these formats)
+    GD20GIF(use GD 2.0 to create PNG, JPEG, GIF or WBMP; also can import these formats)
 	GDFREETYPE (use FreeType font rendering; may be used only when GD18 is in effect)
 
  * GD renders text such that the TOP of the character box is at x, y
@@ -847,6 +848,12 @@ if( fp == NULL ) return( -1 );
   else if( strcmp( g_fmt, "jpeg" )==0 ) Gm2 = gdImageCreateFromJpeg( fp );
   else if( strcmp( g_fmt, "wbmp" )==0 ) Gm2 = gdImageCreateFromWBMP( fp );
 #endif
+#ifdef GD20GIF
+  if( strcmp( g_fmt, "png" )==0 ) Gm2 = gdImageCreateFromPng( fp );
+  else if( strcmp( g_fmt, "jpeg" )==0 ) Gm2 = gdImageCreateFromJpeg( fp );
+  else if( strcmp( g_fmt, "wbmp" )==0 ) Gm2 = gdImageCreateFromWBMP( fp );
+  else if( strcmp( g_fmt, "gif" )==0 ) Gm2 = gdImageCreateFromGif( fp );
+#endif
 
 if( width != 0 ) Gm2width = width;
 if( height != 0 ) Gm2height = height;
@@ -972,6 +979,12 @@ if( strcmp( g_fmt, "png" )==0 ) gdImageP
 else if( strcmp( g_fmt, "jpeg" )==0 ) gdImageJpeg( outim, outfp, 75 );
 else if( strcmp( g_fmt, "wbmp" )==0 ) gdImageWBMP( outim, Gblack, outfp );
 #endif
+#ifdef GD20GIF
+if( strcmp( g_fmt, "png" )==0 ) gdImagePng( outim, outfp );
+else if( strcmp( g_fmt, "jpeg" )==0 ) gdImageJpeg( outim, outfp, 75 );
+else if( strcmp( g_fmt, "wbmp" )==0 ) gdImageWBMP( outim, Gblack, outfp );
+else if( strcmp( g_fmt, "gif" )==0 ) gdImageGif( outim, outfp );
+#endif
 
 if( strcmp( filename, "stdout" )!=0 ) {
 	fclose( outfp );