--- psiconv/trunk/lib/psiconv/data.h 1999/10/27 13:09:40 18 +++ psiconv/trunk/lib/psiconv/data.h 1999/11/30 00:12:52 28 @@ -293,6 +293,7 @@ psiconv_u8 hotkey; psiconv_string_t name; psiconv_bool_t built_in; + psiconv_u32 outline_level; } *psiconv_word_style; typedef psiconv_list psiconv_word_style_list; /* Of style */ @@ -322,6 +323,8 @@ typedef struct psiconv_paint_data_section { psiconv_u32 xsize; psiconv_u32 ysize; + psiconv_length_t pic_xsize; /* 0 if not specified */ + psiconv_length_t pic_ysize; /* 0 if not specified */ float *red; float *green; float *blue; @@ -334,6 +337,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 +377,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 +387,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 +453,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);