--- psiconv/trunk/program/psiconv/gen_image.c 2004/01/28 20:18:54 191 +++ psiconv/trunk/program/psiconv/gen_image.c 2004/02/02 20:43:04 192 @@ -33,11 +33,22 @@ #include "dmalloc.h" #endif +static Image *get_paint_data_section(psiconv_paint_data_section sec); +static void image_to_list(psiconv_list list,Image *image,const char *dest); +static void gen_image_list(const psiconv_config config,psiconv_list list, + const psiconv_list sections, const char *dest); +static void gen_clipart(const psiconv_config config,psiconv_list list, + const psiconv_clipart_f f, const char *dest); +static void gen_mbm(const psiconv_config config,psiconv_list list, + const psiconv_mbm_f f, const char *dest); +static void gen_sketch(const psiconv_config config,psiconv_list list, + const psiconv_sketch_f f, const char *dest); + /* This is ridiculously simple using ImageMagick. Without it, it would be quite somewhat harder - it will be left for later on. Note that we ignore any errors. Dangerous... */ -static Image *get_paint_data_section(psiconv_paint_data_section sec) +Image *get_paint_data_section(psiconv_paint_data_section sec) { Image *image; float *pixel, *p, *red, *green, *blue; @@ -70,7 +81,7 @@ } -static void image_to_list(psiconv_list list,Image *image,const char *dest) +void image_to_list(psiconv_list list,Image *image,const char *dest) { ImageInfo *image_info; ExceptionInfo exc; @@ -96,7 +107,7 @@ DestroyImageInfo(image_info); } -static void gen_image_list(const psiconv_config config,psiconv_list list, +void gen_image_list(const psiconv_config config,psiconv_list list, const psiconv_list sections, const char *dest) { psiconv_paint_data_section section; @@ -155,7 +166,7 @@ DestroyImages(images); } -static void gen_image_clipart(const psiconv_config config,psiconv_list list, +void gen_clipart(const psiconv_config config,psiconv_list list, const psiconv_clipart_f f, const char *dest) { int i; @@ -180,14 +191,14 @@ psiconv_list_free(sections); } -static void gen_image_mbm(const psiconv_config config,psiconv_list list, +void gen_mbm(const psiconv_config config,psiconv_list list, const psiconv_mbm_f f, const char *dest) { gen_image_list(config,list,f->sections,dest); } -static void gen_image_sketch(const psiconv_config config,psiconv_list list, +void gen_sketch(const psiconv_config config,psiconv_list list, const psiconv_sketch_f f, const char *dest) { Image *image; @@ -203,13 +214,13 @@ const encoding encoding_type) { if (file->type == psiconv_mbm_file) - gen_image_mbm(config,list,(psiconv_mbm_f) file->file,dest); + gen_mbm(config,list,(psiconv_mbm_f) file->file,dest); else if (file->type == psiconv_clipart_file) - gen_image_clipart(config,list, + gen_clipart(config,list, (psiconv_clipart_f) file->file,dest); else if (file->type == psiconv_sketch_file) { - gen_image_sketch(config, list,(psiconv_sketch_f) file->file,dest); + gen_sketch(config, list,(psiconv_sketch_f) file->file,dest); } else return -1; return 0; @@ -225,6 +236,10 @@ if (mi->encoder) { ff.name = strdup(mi->name); ff.description = strdup(mi->description); + ff.supported_format = FORMAT_CLIPART_SINGLE | FORMAT_MBM_SINGLE | + FORMAT_SKETCH; + if (mi->adjoin) + ff.supported_format |= FORMAT_MBM_MULTIPLE | FORMAT_CLIPART_MULTIPLE; psiconv_list_add(fileformat_list,&ff); } }