Enlightenment CVS committal
Author : raster
Project : e17
Module : libs/imlib2
Dir : e17/libs/imlib2/loaders
Modified Files:
loader_tiff.c
Log Message:
tiff compression patch :)
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/imlib2/loaders/loader_tiff.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- loader_tiff.c 10 Aug 2001 08:35:05 -0000 1.9
+++ loader_tiff.c 4 Feb 2003 22:06:03 -0000 1.10
@@ -286,8 +286,12 @@
uint8 r, g, b, a;
int has_alpha = IMAGE_HAS_ALPHA(im);
int i = 0, pl = 0;
- char pper = 0;
-
+ char pper = 0;
+ /* By default uses patent-free use COMPRESSION_DEFLATE,
+ another lossless compression technique */
+ ImlibImageTag *tag;
+ int compression_type = COMPRESSION_DEFLATE;
+
if (!im->data)
return 0;
@@ -305,7 +309,45 @@
TIFFSetField(tif, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
TIFFSetField(tif, TIFFTAG_ORIENTATION, ORIENTATION_TOPLEFT);
TIFFSetField(tif, TIFFTAG_RESOLUTIONUNIT, RESUNIT_NONE);
- TIFFSetField(tif, TIFFTAG_COMPRESSION, COMPRESSION_LZW);
+
+ /* look for tags attached to image to get extra parameters like quality */
+ /* settings etc. - this is the "api" to hint for extra information for */
+ /* saver modules */
+
+ /* compression */
+ tag = __imlib_GetTag(im, "compression_type");
+ if (tag) {
+ compression_type = tag->val;
+ switch (compression_type) {
+ case COMPRESSION_NONE: break;
+ case COMPRESSION_CCITTRLE: break;
+ case COMPRESSION_CCITTFAX3: break;
+ case COMPRESSION_CCITTFAX4: break;
+ case COMPRESSION_LZW: break;
+ case COMPRESSION_OJPEG: break;
+ case COMPRESSION_JPEG: break;
+ case COMPRESSION_NEXT: break;
+ case COMPRESSION_CCITTRLEW: break;
+ case COMPRESSION_PACKBITS: break;
+ case COMPRESSION_THUNDERSCAN: break;
+ case COMPRESSION_IT8CTPAD: break;
+ case COMPRESSION_IT8LW: break;
+ case COMPRESSION_IT8MP: break;
+ case COMPRESSION_IT8BL: break;
+ case COMPRESSION_PIXARFILM: break;
+ case COMPRESSION_PIXARLOG: break;
+ case COMPRESSION_DEFLATE: break;
+ case COMPRESSION_ADOBE_DEFLATE: break;
+ case COMPRESSION_DCS: break;
+ case COMPRESSION_JBIG: break;
+ case COMPRESSION_SGILOG: break;
+ case COMPRESSION_SGILOG24: break;
+ default: compression_type = COMPRESSION_DEFLATE;
+ }
+
+ }
+ TIFFSetField(tif, TIFFTAG_COMPRESSION, compression_type);
+
if (has_alpha)
{
TIFFSetField(tif, TIFFTAG_SAMPLESPERPIXEL, 4);
-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs