--- psiconv/trunk/lib/psiconv/data.h 1999/10/27 13:09:40 18 +++ psiconv/trunk/lib/psiconv/data.h 1999/10/29 21:14:58 24 @@ -334,6 +334,32 @@ psiconv_pictures sections; } *psiconv_mbm_f; +/* This is a little intricated. A picture may be embedded in a larger form. + A form is empty, except for the picture. The form has size form_{x,y}size, + and the picture is at offset picture_{x,y}_offset within the form. The + picture itself has size picture_{x,y}size. + Cuts are always <= 1.0; a cut of 0.0 cuts nothing away, a cut of 1.0 + cuts everything away. */ +typedef struct psiconv_sketch_section { + psiconv_u16 form_xsize; + psiconv_u16 form_ysize; + psiconv_u16 picture_x_offset; + psiconv_u16 picture_y_offset; + psiconv_u16 picture_xsize; + psiconv_u16 picture_ysize; + float magnification_x; /* computed relative to first six values */ + float magnification_y; /* computed relative to first six values */ + float cut_left; /* computed relative to first six values */ + float cut_right; /* computed relative to first six values */ + float cut_top; /* computed relative to first six values */ + float cut_bottom; /* computed relative to first six values */ + psiconv_paint_data_section picture; +} *psiconv_sketch_section; + +typedef struct psiconv_sketch_f { + psiconv_sketch_section sketch_sec; +} *psiconv_sketch_f; + typedef struct psiconv_file { psiconv_file_type_t type; void *file; @@ -348,6 +374,7 @@ /* UID3 */ #define PSICONV_ID_WORD 0x1000007F #define PSICONV_ID_TEXTED 0x10000085 +#define PSICONV_ID_SKETCH 0x1000007D /* Section table ids */ #define PSICONV_ID_WORD_STATUS_SECTION 0x10000243 @@ -357,6 +384,7 @@ #define PSICONV_ID_WORD_STYLES_SECTION 0x10000104 #define PSICONV_ID_PAGE_LAYOUT_SECTION 0x10000105 #define PSICONV_ID_PASSWORD_SECTION 0x100000CD +#define PSICONV_ID_SKETCH_SECTION 0x1000007D /* Other ids */ #define PSICONV_ID_PAGE_DIMENSIONS 0x100000fd @@ -422,6 +450,9 @@ extern void psiconv_free_mbm_jumptable_section (psiconv_mbm_jumptable_section section); extern void psiconv_free_mbm_f(psiconv_mbm_f file); +extern void psiconv_free_sketch_section(psiconv_sketch_section sec); +extern void psiconv_free_sketch_f(psiconv_sketch_f file); + extern void psiconv_free_file(psiconv_file file);