/[public]/psiconv/trunk/lib/psiconv/generate_image.c
ViewVC logotype

Diff of /psiconv/trunk/lib/psiconv/generate_image.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 171 Revision 174
1/* 1/*
2
2 generate_image.c - Part of psiconv, a PSION 5 file formats converter 3 generate_image.c - Part of psiconv, a PSION 5 file formats converter
3 Copyright (c) 1999, 2000 Frodo Looijaard <frodol@dds.nl> 4 Copyright (c) 1999, 2000 Frodo Looijaard <frodol@dds.nl>
4 5
5 This program is free software; you can redistribute it and/or modify 6 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
84 }; 85 };
85 86
86 87
87int psiconv_write_paint_data_section(const psiconv_config config, 88int psiconv_write_paint_data_section(const psiconv_config config,
88 psiconv_buffer buf, 89 psiconv_buffer buf,
89 const psiconv_paint_data_section value) 90 const psiconv_paint_data_section value,
91 int is_clipart)
90{ 92{
91 int res,colordepth,i; 93 int res,colordepth,i;
92 psiconv_pixel_ints ints; 94 psiconv_pixel_ints ints;
93 psiconv_pixel_floats_t floats,palet; 95 psiconv_pixel_floats_t floats,palet;
94 psiconv_list bytes; 96 psiconv_list bytes;
144 if ((res = psiconv_write_u32(config,buf,0))) 146 if ((res = psiconv_write_u32(config,buf,0)))
145 goto ERROR3; 147 goto ERROR3;
146 /* Encoding: no RLE for now */ 148 /* Encoding: no RLE for now */
147 if ((res = psiconv_write_u32(config,buf,0))) 149 if ((res = psiconv_write_u32(config,buf,0)))
148 goto ERROR3; 150 goto ERROR3;
151 if (is_clipart) {
152 if ((res = psiconv_write_u32(config,buf,0xffffffff)))
153 goto ERROR3;
154 if ((res = psiconv_write_u32(config,buf,0x00000044)))
155 goto ERROR3;
156 }
149 for (i = 0; i < psiconv_list_length(bytes); i++) { 157 for (i = 0; i < psiconv_list_length(bytes); i++) {
150 if (!(byteptr = psiconv_list_get(bytes,i))) 158 if (!(byteptr = psiconv_list_get(bytes,i)))
151 goto ERROR3; 159 goto ERROR3;
152 if ((res = psiconv_write_u8(config,buf,*byteptr))) 160 if ((res = psiconv_write_u8(config,buf,*byteptr)))
153 goto ERROR3; 161 goto ERROR3;
330 goto ERROR1; 338 goto ERROR1;
331 if ((res = psiconv_write_u16(config,buf,value->form_ysize))) 339 if ((res = psiconv_write_u16(config,buf,value->form_ysize)))
332 goto ERROR1; 340 goto ERROR1;
333 if ((res = psiconv_write_u16(config,buf,0x0000))) 341 if ((res = psiconv_write_u16(config,buf,0x0000)))
334 goto ERROR1; 342 goto ERROR1;
335 if ((res = psiconv_write_paint_data_section(config,buf,value->picture))) 343 if ((res = psiconv_write_paint_data_section(config,buf,value->picture,0)))
336 goto ERROR1; 344 goto ERROR1;
337 if ((res = psiconv_write_u16(config,buf,value->magnification_x * 0x03e8))) 345 if ((res = psiconv_write_u16(config,buf,value->magnification_x * 0x03e8)))
338 goto ERROR1; 346 goto ERROR1;
339 if ((res = psiconv_write_u16(config,buf,value->magnification_y * 0x03e8))) 347 if ((res = psiconv_write_u16(config,buf,value->magnification_y * 0x03e8)))
340 goto ERROR1; 348 goto ERROR1;
383 } 391 }
384 392
385ERROR: 393ERROR:
386 return res; 394 return res;
387} 395}
396
397int psiconv_write_clipart_section(const psiconv_config config,
398 psiconv_buffer buf,
399 const psiconv_clipart_section value)
400{
401 int res;
402
403
404 if (!value) {
405 psiconv_warn(config,0,psiconv_buffer_length(buf),
406 "NULL Clipart Section");
407 res = -PSICONV_E_GENERATE;
408 goto ERROR;
409 }
410 if ((res = psiconv_write_u32(config,buf,PSICONV_ID_CLIPART_ITEM)))
411 goto ERROR;
412 if ((res = psiconv_write_u32(config,buf,0x00000002)))
413 goto ERROR;
414 if ((res = psiconv_write_u32(config,buf,0x00000000)))
415 goto ERROR;
416 if ((res = psiconv_write_u32(config,buf,0x00000000)))
417 goto ERROR;
418 if ((res = psiconv_write_u32(config,buf,0x0000000C)))
419 goto ERROR;
420 if ((res = psiconv_write_paint_data_section(config,buf,value->picture,1)))
421 goto ERROR;
422
423ERROR:
424 return res;
425}

Legend:
Removed from v.171  
changed lines
  Added in v.174

frodo@frodo.looijaard.name
ViewVC Help
Powered by ViewVC 1.1.26