summaryrefslogtreecommitdiffstats
path: root/debian/imlib/imlib-1.9.15/gdk_imlib/save.c
diff options
context:
space:
mode:
authorMichele Calgaro <[email protected]>2020-09-11 14:38:47 +0900
committerMichele Calgaro <[email protected]>2020-09-11 14:38:47 +0900
commit884c8093d63402a1ad0b502244b791e3c6782be3 (patch)
treea600d4ab0d431a2bdfe4c15b70df43c14fbd8dd0 /debian/imlib/imlib-1.9.15/gdk_imlib/save.c
parent14e1aa2006796f147f3f4811fb908a6b01e79253 (diff)
downloadextra-dependencies-884c8093d63402a1ad0b502244b791e3c6782be3.tar.gz
extra-dependencies-884c8093d63402a1ad0b502244b791e3c6782be3.zip
Added debian extra dependency packages.
Signed-off-by: Michele Calgaro <[email protected]>
Diffstat (limited to 'debian/imlib/imlib-1.9.15/gdk_imlib/save.c')
-rw-r--r--debian/imlib/imlib-1.9.15/gdk_imlib/save.c173
1 files changed, 173 insertions, 0 deletions
diff --git a/debian/imlib/imlib-1.9.15/gdk_imlib/save.c b/debian/imlib/imlib-1.9.15/gdk_imlib/save.c
new file mode 100644
index 00000000..1c865281
--- /dev/null
+++ b/debian/imlib/imlib-1.9.15/gdk_imlib/save.c
@@ -0,0 +1,173 @@
+#define _GNU_SOURCE
+#include <config.h>
+#include "gdk_imlib.h"
+#define id _gdk_imlib_data
+#include "gdk_imlib_private.h"
+
+gint
+gdk_imlib_save_image(GdkImlibImage * im, char *file, GdkImlibSaveInfo * info)
+{
+ char *ext;
+ char cmd[10240];
+ FILE *f;
+ GdkImlibSaveInfo defaults;
+
+ if (!im || !file)
+ return 0;
+
+ defaults.quality = 208;
+ defaults.scaling = 1024;
+ defaults.xjustification = 512;
+ defaults.yjustification = 512;
+ defaults.page_size = PAGE_SIZE_LETTER;
+ defaults.color = 1;
+
+ if (!info)
+ info = &defaults;
+ ext = _gdk_imlib_GetExtension(file);
+
+ if ((!strcasecmp(ext, "ppm")) || (!strcasecmp(ext, "pnm")) || (!strcasecmp (ext, "pgm")))
+ {
+ return _gdk_imlib_SavePPM (im, file, info);
+ }
+ else if (!strcasecmp(ext, "ps"))
+ {
+ return _gdk_imlib_SavePS (im, file, info);
+ }
+ else if ((!strcasecmp(ext, "jpeg")) || (!strcasecmp(ext, "jpg")))
+ {
+ return _gdk_imlib_SaveJPEG (im, file, info);
+ }
+ else if (!strcasecmp(ext, "png"))
+ {
+ return _gdk_imlib_SavePNG (im, file, info);
+ }
+ else if ((!strcasecmp(ext, "tiff")) || (!strcasecmp(ext, "tif")))
+ {
+ return _gdk_imlib_SaveTIFF (im, file, info);
+ }
+#if 0
+ /* Get rid of the "helpers" */
+ if (id->fallback)
+ {
+ f = _gdk_imlib_open_helper("%C/convert pnm:- %s", file, "wb");
+ if (f)
+ {
+ if (!fprintf(f, "P6\n# Created by Imlib\n%i %i\n255\n", im->rgb_width, im->rgb_height))
+ {
+ _gdk_imlib_close_helper(f);
+ return 0;
+ }
+ if (!fwrite(im->rgb_data, 1, (im->rgb_width * im->rgb_height * 3), f))
+ {
+ _gdk_imlib_close_helper(f);
+ return 0;
+ }
+ if (_gdk_imlib_close_helper(f))
+ return 0;
+ return 1;
+ }
+
+ if (!strcasecmp(ext, "jpeg"))
+ g_snprintf(cmd, sizeof(cmd), "%%H -quality %i -progressive -outfile %%s", 100 * info->quality / 256);
+ else if (!strcasecmp(ext, "jpg"))
+ g_snprintf(cmd, sizeof(cmd), "%%H -quality %i -progressive -outfile %%s", 100 * info->quality / 256);
+ else if (!strcasecmp(ext, "bmp"))
+ strcpy(cmd, "%Q %N/ppmtobmp > %s");
+ else if (!strcasecmp(ext, "gif"))
+ strcpy(cmd, "%Q %N/ppmtogif -interlace > %s");
+ else if (!strcasecmp(ext, "ilbm"))
+ strcpy(cmd, "%N/ppmtoilbm -24if -hires -lace -compress > %s");
+ else if (!strcasecmp(ext, "ilb"))
+ strcpy(cmd, "%N/ppmtoilbm -24if -hires -lace -compress > %s");
+ else if (!strcasecmp(ext, "iff"))
+ strcpy(cmd, "%N/ppmtoilbm -24if -hires -lace -compress > %s");
+ else if (!strcasecmp(ext, "icr"))
+ strcpy(cmd, "%N/ppmtoicr > %s");
+ else if (!strcasecmp(ext, "map"))
+ strcpy(cmd, "%N/ppmtomap > %s");
+ else if (!strcasecmp(ext, "mit"))
+ strcpy(cmd, "%N/ppmtomitsu -sharpness 4 > %s");
+ else if (!strcasecmp(ext, "mitsu"))
+ strcpy(cmd, "%N/ppmtomitsu -sharpness 4 > %s");
+ else if (!strcasecmp(ext, "pcx"))
+ strcpy(cmd, "%N/ppmtopcx -24bit -packed > %s");
+ else if (!strcasecmp(ext, "pgm"))
+ strcpy(cmd, "%N/ppmtopgm > %s");
+ else if (!strcasecmp(ext, "pi1"))
+ strcpy(cmd, "%N/ppmtopi1 > %s");
+ else if (!strcasecmp(ext, "pic"))
+ strcpy(cmd, "%Q %N/ppmtopict > %s");
+ else if (!strcasecmp(ext, "pict"))
+ strcpy(cmd, "%Q %N/ppmtopict > %s");
+ else if (!strcasecmp(ext, "pj"))
+ strcpy(cmd, "%N/ppmtopj > %s");
+ else if (!strcasecmp(ext, "pjxl"))
+ strcpy(cmd, "%N/ppmtopjxl > %s");
+ else if (!strcasecmp(ext, "puz"))
+ strcpy(cmd, "%N/ppmtopuzz > %s");
+ else if (!strcasecmp(ext, "puzz"))
+ strcpy(cmd, "%N/ppmtopuzz > %s");
+ else if (!strcasecmp(ext, "rgb3"))
+ strcpy(cmd, "%N/ppmtorgb3 > %s");
+ else if (!strcasecmp(ext, "six"))
+ strcpy(cmd, "%N/ppmtosixel > %s");
+ else if (!strcasecmp(ext, "sixel"))
+ strcpy(cmd, "%N/ppmtosizel > %s");
+ else if (!strcasecmp(ext, "tga"))
+ strcpy(cmd, "%N/ppmtotga -rgb > %s");
+ else if (!strcasecmp(ext, "targa"))
+ strcpy(cmd, "%N/ppmtotga -rgb > %s");
+ else if (!strcasecmp(ext, "uil"))
+ strcpy(cmd, "%N/ppmtouil > %s");
+ else if (!strcasecmp(ext, "xpm"))
+ strcpy(cmd, "%Q %N/ppmtoxpm > %s");
+ else if (!strcasecmp(ext, "yuv"))
+ strcpy(cmd, "%N/ppmtoyuv > %s");
+ else if (!strcasecmp(ext, "png"))
+ strcpy(cmd, "%N/pnmtopng > %s");
+ else if (!strcasecmp(ext, "ps"))
+ strcpy(cmd, "%N/pnmtops -center -scale 100 > %s");
+ else if (!strcasecmp(ext, "rast"))
+ strcpy(cmd, "%N/pnmtorast -rle > %s");
+ else if (!strcasecmp(ext, "ras"))
+ strcpy(cmd, "%N/pnmtorast -rle > %s");
+ else if (!strcasecmp(ext, "sgi"))
+ strcpy(cmd, "%N/pnmtosgi > %s");
+ else if (!strcasecmp(ext, "sir"))
+ strcpy(cmd, "%N/pnmtosir > %s");
+ else if (!strcasecmp(ext, "tif"))
+ strcpy(cmd, "%N/pnmtotiff -lzw > %s");
+ else if (!strcasecmp(ext, "tiff"))
+ strcpy(cmd, "%N/pnmtotiff -lzw > %s");
+ else if (!strcasecmp(ext, "xwd"))
+ strcpy(cmd, "%N/pnmtoxwd > %s");
+ else
+ ext = "";
+ if (ext[0])
+ {
+ f = _gdk_imlib_open_helper(cmd, file, "wb");
+ if (f)
+ {
+ if (!fprintf(f, "P6\n# Created by Imlib\n%i %i\n255\n", im->rgb_width, im->rgb_height))
+ {
+ _gdk_imlib_close_helper(f);
+ return 0;
+ }
+ if (!fwrite(im->rgb_data, 1, (im->rgb_width * im->rgb_height * 3), f))
+ {
+ _gdk_imlib_close_helper(f);
+ return 0;
+ }
+ if (_gdk_imlib_close_helper(f))
+ return 0;
+ return 1;
+ }
+ }
+ }
+#endif
+ fprintf(stderr, "gdk_imlib ERROR: Cannot save image: %s\n", file);
+ fprintf(stderr, "All fallbacks failed.\n");
+
+ return 0;
+}