/[public]/psiconv/trunk/lib/psiconv/data.h
ViewVC logotype

Annotation of /psiconv/trunk/lib/psiconv/data.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 101 - (hide annotations)
Tue Jan 30 23:57:28 2001 UTC (23 years, 2 months ago) by frodo
File MIME type: text/plain
File size: 22274 byte(s)
(Frodo) Added floats

1 frodo 2 /*
2     data.h - Part of psiconv, a PSION 5 file formats converter
3 frodo 63 Copyright (c) 1999, 2000 Frodo Looijaard <frodol@dds.nl>
4 frodo 2
5     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     the Free Software Foundation; either version 2 of the License, or
8     (at your option) any later version.
9    
10     This program is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13     GNU General Public License for more details.
14    
15     You should have received a copy of the GNU General Public License
16     along with this program; if not, write to the Free Software
17     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18     */
19    
20     /* This file contains the declarations of all types that are used to
21     represent the Word file. Variables of these types are written by the
22     parse routines, and read by the generation routines. */
23    
24     #ifndef PSICONV_DATA_H
25     #define PSICONV_DATA_H
26    
27 frodo 58 #include <psiconv/general.h>
28     #include <psiconv/list.h>
29 frodo 2
30     /* All types which end on _t are plain types; all other types are pointers
31     to structs */
32    
33 frodo 55 #ifdef __cplusplus
34     extern "C" {
35     #endif /* __cplusplus */
36    
37 frodo 101 typedef double psiconv_float_t;
38 frodo 55
39 frodo 2 typedef enum psiconv_file_type {
40     psiconv_unknown_file,
41     psiconv_word_file,
42     psiconv_texted_file,
43 frodo 12 psiconv_mbm_file,
44 frodo 41 psiconv_sketch_file,
45 frodo 94 psiconv_clipart_file,
46     psiconv_sheet_file
47 frodo 2 } psiconv_file_type_t;
48    
49     /* Length indicators */
50     typedef psiconv_u32 psiconv_S_t;
51     typedef psiconv_u32 psiconv_X_t;
52    
53     /* A string */
54     typedef char *psiconv_string_t;
55    
56     /* In the Psion file, these are identical; but we translate them to more
57     human-readable quantities */
58     typedef float psiconv_length_t; /* For offsets in centimeters */
59     typedef float psiconv_size_t; /* For sizes in points */
60    
61     /* Some enums */
62     typedef enum psiconv_bool
63     {
64     psiconv_bool_false,
65     psiconv_bool_true
66     } psiconv_bool_t;
67    
68 frodo 94 typedef enum psiconv_triple
69     {
70     psiconv_triple_on,
71     psiconv_triple_off,
72     psiconv_triple_auto
73     } psiconv_triple_t;
74    
75 frodo 2 typedef enum psiconv_super_sub
76     { psiconv_normalscript,
77     psiconv_superscript,
78     psiconv_subscript
79     } psiconv_super_sub_t;
80    
81     typedef enum psiconv_justify_hor
82     { psiconv_justify_left,
83     psiconv_justify_centre,
84     psiconv_justify_right,
85     psiconv_justify_full
86     } psiconv_justify_hor_t;
87    
88     typedef enum psiconv_justify_ver
89     { psiconv_justify_top,
90     psiconv_justify_middle,
91     psiconv_justify_bottom
92     } psiconv_justify_ver_t;
93    
94     typedef enum psiconv_border_kind
95     { psiconv_border_none,
96     psiconv_border_solid,
97     psiconv_border_double,
98     psiconv_border_dotted,
99 frodo 67 psiconv_border_dashed,
100     psiconv_border_dotdashed,
101     psiconv_border_dotdotdashed
102 frodo 2 } psiconv_border_kind_t;
103    
104 frodo 90 typedef enum psiconv_screenfont
105     {
106     psiconv_font_misc,
107     psiconv_font_sansserif,
108     psiconv_font_nonprop,
109     psiconv_font_serif
110     } psiconv_screenfont_t;
111    
112 frodo 2 /* Colors.
113     black: 0x00 0x00 0x00
114     white: 0xff 0xff 0xff */
115 frodo 56 typedef struct psiconv_color_s
116 frodo 2 {
117     psiconv_u8 red;
118     psiconv_u8 green;
119     psiconv_u8 blue;
120     } * psiconv_color;
121    
122 frodo 56 typedef struct psiconv_font_s
123 frodo 2 {
124     char *name;
125 frodo 90 psiconv_screenfont_t screenfont;
126 frodo 2 } *psiconv_font;
127    
128 frodo 56 typedef struct psiconv_border_s
129 frodo 2 {
130     psiconv_border_kind_t kind;
131     psiconv_size_t thickness; /* Set to 1/20 for non-solid lines */
132     psiconv_color color;
133     } *psiconv_border;
134    
135 frodo 56 typedef struct psiconv_bullet_s
136 frodo 2 {
137     psiconv_bool_t on;
138     psiconv_size_t font_size;
139     psiconv_u8 character;
140     psiconv_bool_t indent;
141     psiconv_color color;
142     psiconv_font font;
143     } *psiconv_bullet;
144    
145     typedef enum psiconv_tab_kind
146     {
147     psiconv_tab_left,
148     psiconv_tab_centre,
149     psiconv_tab_right
150     } psiconv_tab_kind_t;
151    
152 frodo 56 typedef struct psiconv_tab_s
153 frodo 2 {
154     psiconv_length_t location;
155     psiconv_tab_kind_t kind;
156     } *psiconv_tab;
157    
158    
159     typedef psiconv_list psiconv_tab_list; /* of struct psiconv_tab */
160    
161 frodo 56 typedef struct psiconv_all_tabs_s
162 frodo 2 {
163     psiconv_length_t normal;
164     psiconv_tab_list extras;
165     } *psiconv_all_tabs;
166    
167 frodo 56 typedef struct psiconv_character_layout_s
168 frodo 2 {
169     psiconv_color color;
170     psiconv_color back_color;
171     psiconv_size_t font_size;
172     psiconv_bool_t italic;
173     psiconv_bool_t bold;
174     psiconv_super_sub_t super_sub;
175     psiconv_bool_t underline;
176 frodo 67 psiconv_bool_t strikethrough;
177 frodo 2 psiconv_font font;
178     } *psiconv_character_layout;
179    
180 frodo 56 typedef struct psiconv_paragraph_layout_s
181 frodo 2 {
182     psiconv_color back_color;
183     psiconv_length_t indent_left;
184     psiconv_length_t indent_right;
185     psiconv_length_t indent_first;
186     psiconv_justify_hor_t justify_hor;
187     psiconv_justify_ver_t justify_ver;
188 frodo 67 psiconv_size_t linespacing;
189     psiconv_bool_t linespacing_exact;
190     psiconv_size_t space_above;
191     psiconv_size_t space_below;
192     psiconv_bool_t keep_together;
193     psiconv_bool_t keep_with_next;
194 frodo 2 psiconv_bool_t on_next_page;
195     psiconv_bool_t no_widow_protection;
196     psiconv_length_t border_distance;
197     psiconv_bullet bullet;
198     psiconv_border left_border;
199     psiconv_border right_border;
200     psiconv_border top_border;
201     psiconv_border bottom_border;
202     psiconv_all_tabs tabs;
203     } *psiconv_paragraph_layout;
204    
205 frodo 56 typedef struct psiconv_header_section_s
206 frodo 2 {
207     psiconv_u32 uid1;
208     psiconv_u32 uid2;
209     psiconv_u32 uid3;
210     psiconv_u32 checksum;
211     psiconv_file_type_t file;
212     } *psiconv_header_section;
213    
214 frodo 56 typedef struct psiconv_section_table_entry_s
215 frodo 2 {
216     psiconv_u32 id;
217     psiconv_u32 offset;
218     } *psiconv_section_table_entry;
219    
220     typedef psiconv_list psiconv_section_table_section;
221     /* Of struct sectiontable_entry */
222    
223 frodo 56 typedef struct psiconv_application_id_section_s
224 frodo 2 {
225     psiconv_u32 id;
226     psiconv_string_t name;
227     } *psiconv_application_id_section;
228    
229 frodo 56 typedef struct psiconv_in_line_layout_s
230 frodo 2 {
231     psiconv_character_layout layout;
232     int length;
233     } *psiconv_in_line_layout;
234    
235     typedef psiconv_list psiconv_in_line_layouts; /* of struct in_line_layout */
236    
237     typedef enum psiconv_replacement_type
238     {
239     psiconv_replace_time,
240     psiconv_replace_date,
241     psiconv_replace_pagenr,
242     psiconv_replace_nr_of_pages,
243     psiconv_replace_filename
244     } psiconv_replacement_type_t;
245    
246 frodo 56 typedef struct psiconv_replacement_s
247 frodo 2 {
248     int offset;
249     int cur_len;
250     psiconv_replacement_type_t type;
251     } *psiconv_replacement;
252    
253     typedef psiconv_list psiconv_replacements; /* of struct replacement */
254    
255 frodo 56 typedef struct psiconv_paragraph_s
256 frodo 2 {
257     char *text;
258     psiconv_character_layout base_character;
259     psiconv_paragraph_layout base_paragraph;
260     psiconv_s16 base_style;
261     psiconv_in_line_layouts in_lines;
262     psiconv_replacements replacements;
263     } *psiconv_paragraph;
264    
265     typedef psiconv_list psiconv_text_and_layout; /* Of struct paragraphs */
266    
267 frodo 56 typedef struct psiconv_texted_section_s
268 frodo 2 {
269     psiconv_text_and_layout paragraphs;
270     } *psiconv_texted_section;
271    
272 frodo 56 typedef struct psiconv_page_header_s
273 frodo 2 {
274     psiconv_bool_t on_first_page;
275     psiconv_paragraph_layout base_paragraph_layout;
276     psiconv_character_layout base_character_layout;
277     psiconv_texted_section text;
278     } *psiconv_page_header;
279    
280 frodo 56 typedef struct psiconv_page_layout_section_s
281 frodo 2 {
282     psiconv_u32 first_page_nr;
283     psiconv_length_t header_dist;
284     psiconv_length_t footer_dist;
285     psiconv_length_t left_margin;
286     psiconv_length_t right_margin;
287     psiconv_length_t top_margin;
288     psiconv_length_t bottom_margin;
289     psiconv_length_t page_width;
290     psiconv_length_t page_height;
291     psiconv_page_header header;
292     psiconv_page_header footer;
293 frodo 76 psiconv_bool_t landscape;
294 frodo 2 } * psiconv_page_layout_section;
295    
296 frodo 56 typedef struct psiconv_word_status_section_s
297 frodo 2 {
298     psiconv_bool_t show_tabs;
299     psiconv_bool_t show_spaces;
300     psiconv_bool_t show_paragraph_ends;
301     psiconv_bool_t show_line_breaks;
302     psiconv_bool_t show_hard_minus;
303     psiconv_bool_t show_hard_space;
304     psiconv_bool_t show_full_pictures;
305     psiconv_bool_t show_full_graphs;
306     psiconv_bool_t show_top_toolbar;
307     psiconv_bool_t show_side_toolbar;
308     psiconv_bool_t fit_lines_to_screen;
309     psiconv_u32 cursor_position;
310     psiconv_u32 display_size;
311     } *psiconv_word_status_section;
312    
313 frodo 56 typedef struct psiconv_word_style_s
314 frodo 2 {
315     psiconv_character_layout character;
316     psiconv_paragraph_layout paragraph;
317     psiconv_u8 hotkey;
318     psiconv_string_t name;
319     psiconv_bool_t built_in;
320 frodo 28 psiconv_u32 outline_level;
321 frodo 2 } *psiconv_word_style;
322    
323     typedef psiconv_list psiconv_word_style_list; /* Of style */
324    
325 frodo 56 typedef struct psiconv_word_styles_section_s
326 frodo 2 {
327     psiconv_word_style normal;
328     psiconv_word_style_list styles;
329     } *psiconv_word_styles_section;
330    
331 frodo 56 typedef struct psiconv_word_f_s
332     {
333 frodo 2 psiconv_page_layout_section page_sec;
334     psiconv_text_and_layout paragraphs;
335     psiconv_word_status_section status_sec;
336     psiconv_word_styles_section styles_sec;
337     } *psiconv_word_f;
338    
339 frodo 56 typedef struct psiconv_texted_f_s
340     {
341 frodo 2 psiconv_page_layout_section page_sec;
342     psiconv_texted_section texted_sec;
343     } *psiconv_texted_f;
344    
345 frodo 42 typedef psiconv_list psiconv_jumptable_section; /* of psiconv_u32 */
346 frodo 12
347 frodo 11 /* Normalized values [0..1] for each component
348     Origin is (x,y)=(0,0), to get pixel at (X,Y) use index [Y*xsize+X] */
349 frodo 56 typedef struct psiconv_paint_data_section_s
350     {
351 frodo 11 psiconv_u32 xsize;
352     psiconv_u32 ysize;
353 frodo 25 psiconv_length_t pic_xsize; /* 0 if not specified */
354     psiconv_length_t pic_ysize; /* 0 if not specified */
355 frodo 11 float *red;
356     float *green;
357     float *blue;
358     } *psiconv_paint_data_section;
359    
360 frodo 12 typedef psiconv_list psiconv_pictures;
361     /* of struct psiconv_paint_data_section */
362    
363 frodo 56 typedef struct psiconv_mbm_f_s
364     {
365 frodo 12 psiconv_pictures sections;
366     } *psiconv_mbm_f;
367    
368 frodo 24 /* This is a little intricated. A picture may be embedded in a larger form.
369     A form is empty, except for the picture. The form has size form_{x,y}size,
370     and the picture is at offset picture_{x,y}_offset within the form. The
371     picture itself has size picture_{x,y}size.
372     Cuts are always <= 1.0; a cut of 0.0 cuts nothing away, a cut of 1.0
373     cuts everything away. */
374 frodo 56 typedef struct psiconv_sketch_section_s
375     {
376 frodo 24 psiconv_u16 form_xsize;
377     psiconv_u16 form_ysize;
378     psiconv_u16 picture_x_offset;
379     psiconv_u16 picture_y_offset;
380     psiconv_u16 picture_xsize;
381     psiconv_u16 picture_ysize;
382     float magnification_x; /* computed relative to first six values */
383     float magnification_y; /* computed relative to first six values */
384     float cut_left; /* computed relative to first six values */
385     float cut_right; /* computed relative to first six values */
386     float cut_top; /* computed relative to first six values */
387     float cut_bottom; /* computed relative to first six values */
388     psiconv_paint_data_section picture;
389     } *psiconv_sketch_section;
390    
391 frodo 56 typedef struct psiconv_sketch_f_s
392     {
393 frodo 24 psiconv_sketch_section sketch_sec;
394     } *psiconv_sketch_f;
395    
396 frodo 56 typedef struct psiconv_clipart_section_s
397     {
398 frodo 41 /* Perhaps later on some currently unknown stuff. */
399     psiconv_paint_data_section picture;
400     } * psiconv_clipart_section;
401    
402     typedef psiconv_list psiconv_cliparts; /* of struct psiconv_clipart_section */
403    
404 frodo 56 typedef struct psiconv_clipart_f_s
405     {
406 frodo 41 psiconv_cliparts sections;
407     } *psiconv_clipart_f;
408    
409 frodo 94 typedef struct psiconv_sheet_status_section_s
410     {
411     psiconv_bool_t show_graph;
412     psiconv_u32 cursor_row;
413     psiconv_u32 cursor_column;
414     psiconv_bool_t show_top_sheet_toolbar;
415     psiconv_bool_t show_side_sheet_toolbar;
416     psiconv_bool_t show_top_graph_toolbar;
417     psiconv_bool_t show_side_graph_toolbar;
418     psiconv_u32 sheet_display_size;
419     psiconv_u32 graph_display_size;
420     psiconv_triple_t show_horizontal_scrollbar;
421     psiconv_triple_t show_vertical_scrollbar;
422     } *psiconv_sheet_status_section;
423    
424 frodo 98 typedef enum psiconv_formula_type
425 frodo 97 {
426 frodo 99 psiconv_formula_unknown,
427     psiconv_formula_op_lt,
428     psiconv_formula_op_le,
429     psiconv_formula_op_gt,
430     psiconv_formula_op_ge,
431     psiconv_formula_op_ne,
432     psiconv_formula_op_eq,
433     psiconv_formula_op_add,
434     psiconv_formula_op_sub,
435     psiconv_formula_op_mul,
436     psiconv_formula_op_div,
437     psiconv_formula_op_pow,
438     psiconv_formula_op_pos,
439     psiconv_formula_op_neg,
440     psiconv_formula_op_con,
441     psiconv_formula_op_bra,
442     psiconv_formula_mark_eof,
443     psiconv_formula_dat_float,
444     psiconv_formula_dat_int,
445     psiconv_formula_dat_var,
446     psiconv_formula_dat_string,
447     psiconv_formula_dat_cellref,
448     psiconv_formula_dat_cellblock,
449     psiconv_formula_dat_vcellblock,
450     psiconv_formula_mark_opsep,
451     psiconv_formula_mark_opend,
452     psiconv_formula_fun_false,
453     psiconv_formula_fun_if,
454     psiconv_formula_fun_true,
455     psiconv_formula_fun_cell,
456     psiconv_formula_fun_errortype,
457     psiconv_formula_fun_isblank,
458     psiconv_formula_fun_iserr,
459     psiconv_formula_fun_iserror,
460     psiconv_formula_fun_islogical,
461     psiconv_formula_fun_isna,
462     psiconv_formula_fun_isnontext,
463     psiconv_formula_fun_isnumber,
464     psiconv_formula_fun_istext,
465     psiconv_formula_fun_n,
466     psiconv_formula_fun_type,
467     psiconv_formula_fun_address,
468     psiconv_formula_fun_column,
469     psiconv_formula_fun_columns,
470     psiconv_formula_fun_hlookup,
471     psiconv_formula_fun_index,
472     psiconv_formula_fun_indirect,
473     psiconv_formula_fun_lookup,
474     psiconv_formula_fun_offset,
475     psiconv_formula_fun_row,
476     psiconv_formula_fun_rows,
477     psiconv_formula_fun_vlookup,
478     psiconv_formula_fun_char,
479     psiconv_formula_fun_code,
480     psiconv_formula_fun_exact,
481     psiconv_formula_fun_find,
482     psiconv_formula_fun_left,
483     psiconv_formula_fun_len,
484     psiconv_formula_fun_lower,
485     psiconv_formula_fun_mid,
486     psiconv_formula_fun_proper,
487     psiconv_formula_fun_replace,
488     psiconv_formula_fun_rept,
489     psiconv_formula_fun_right,
490     psiconv_formula_fun_string,
491     psiconv_formula_fun_t,
492     psiconv_formula_fun_trim,
493     psiconv_formula_fun_upper,
494     psiconv_formula_fun_value,
495     psiconv_formula_fun_date,
496     psiconv_formula_fun_datevalue,
497     psiconv_formula_fun_day,
498     psiconv_formula_fun_hour,
499     psiconv_formula_fun_minute,
500     psiconv_formula_fun_month,
501     psiconv_formula_fun_now,
502     psiconv_formula_fun_second,
503     psiconv_formula_fun_today,
504     psiconv_formula_fun_time,
505     psiconv_formula_fun_timevalue,
506     psiconv_formula_fun_year,
507     psiconv_formula_fun_abs,
508     psiconv_formula_fun_acos,
509     psiconv_formula_fun_asin,
510     psiconv_formula_fun_atan,
511     psiconv_formula_fun_atan2,
512     psiconv_formula_fun_cos,
513     psiconv_formula_fun_degrees,
514     psiconv_formula_fun_exp,
515     psiconv_formula_fun_fact,
516     psiconv_formula_fun_int,
517     psiconv_formula_fun_ln,
518     psiconv_formula_fun_log10,
519     psiconv_formula_fun_mod,
520     psiconv_formula_fun_pi,
521     psiconv_formula_fun_radians,
522     psiconv_formula_fun_rand,
523     psiconv_formula_fun_round,
524     psiconv_formula_fun_sign,
525     psiconv_formula_fun_sin,
526     psiconv_formula_fun_sqrt,
527     psiconv_formula_fun_sumproduct,
528     psiconv_formula_fun_tan,
529     psiconv_formula_fun_trunc,
530     psiconv_formula_fun_cterm,
531     psiconv_formula_fun_ddb,
532     psiconv_formula_fun_fv,
533     psiconv_formula_fun_irr,
534     psiconv_formula_fun_npv,
535     psiconv_formula_fun_pmt,
536     psiconv_formula_fun_pv,
537     psiconv_formula_fun_rate,
538     psiconv_formula_fun_sln,
539     psiconv_formula_fun_syd,
540     psiconv_formula_fun_term,
541     psiconv_formula_fun_combin,
542     psiconv_formula_fun_permut,
543     psiconv_formula_vfn_average,
544     psiconv_formula_vfn_choose,
545     psiconv_formula_vfn_count,
546     psiconv_formula_vfn_counta,
547     psiconv_formula_vfn_countblank,
548     psiconv_formula_vfn_max,
549     psiconv_formula_vfn_min,
550     psiconv_formula_vfn_product,
551     psiconv_formula_vfn_stdevp,
552     psiconv_formula_vfn_stdev,
553     psiconv_formula_vfn_sum,
554     psiconv_formula_vfn_sumsq,
555     psiconv_formula_vfn_varp,
556     psiconv_formula_vfn_var
557 frodo 98 } psiconv_formula_type_t;
558 frodo 97
559 frodo 98 typedef psiconv_list psiconv_formula_list; /* Of struct psiconv_formula_s */
560 frodo 97
561 frodo 98 typedef struct psiconv_formula_s
562     {
563     psiconv_formula_type_t type;
564     union {
565 frodo 99 psiconv_u32 dat_int;
566     double dat_float;
567     char *dat_string;
568     psiconv_formula_list fun_operands;
569 frodo 98 } data;
570     } *psiconv_formula;
571    
572 frodo 95 typedef struct psiconv_sheet_workbook_section_s
573     {
574 frodo 98 psiconv_formula_list formulas;
575 frodo 95 } *psiconv_sheet_workbook_section;
576    
577 frodo 94 typedef struct psiconv_sheet_f_s
578     {
579     psiconv_page_layout_section page_sec;
580     psiconv_sheet_status_section status_sec;
581 frodo 95 psiconv_sheet_workbook_section workbook_sec;
582 frodo 94 } *psiconv_sheet_f;
583    
584 frodo 56 typedef struct psiconv_file_s
585     {
586 frodo 2 psiconv_file_type_t type;
587     void *file;
588     } *psiconv_file;
589    
590    
591     /* UID1 */
592     #define PSICONV_ID_PSION5 0x10000037
593 frodo 41 #define PSICONV_ID_CLIPART 0x10000041
594 frodo 2 /* UID2 */
595     #define PSICONV_ID_DATA_FILE 0x1000006D
596 frodo 12 #define PSICONV_ID_MBM_FILE 0x10000042
597 frodo 2 /* UID3 */
598     #define PSICONV_ID_WORD 0x1000007F
599     #define PSICONV_ID_TEXTED 0x10000085
600 frodo 24 #define PSICONV_ID_SKETCH 0x1000007D
601 frodo 94 #define PSICONV_ID_SHEET 0x10000088
602 frodo 2
603     /* Section table ids */
604     #define PSICONV_ID_WORD_STATUS_SECTION 0x10000243
605     #define PSICONV_ID_APPL_ID_SECTION 0x10000089
606     #define PSICONV_ID_TEXT_SECTION 0x10000106
607     #define PSICONV_ID_LAYOUT_SECTION 0x10000143
608     #define PSICONV_ID_WORD_STYLES_SECTION 0x10000104
609     #define PSICONV_ID_PAGE_LAYOUT_SECTION 0x10000105
610     #define PSICONV_ID_PASSWORD_SECTION 0x100000CD
611 frodo 24 #define PSICONV_ID_SKETCH_SECTION 0x1000007D
612 frodo 94 #define PSICONV_ID_SHEET_STATUS_SECTION 0x1000011F
613 frodo 95 #define PSICONV_ID_SHEET_WORKBOOK_SECTION 0x1000011D
614 frodo 2
615     /* Other ids */
616 frodo 76 #define PSICONV_ID_PAGE_DIMENSIONS1 0x100000fd
617     #define PSICONV_ID_PAGE_DIMENSIONS2 0x1000010e
618 frodo 2 #define PSICONV_ID_TEXTED_BODY 0x1000005c
619     #define PSICONV_ID_TEXTED_REPLACEMENT 0x10000063
620     #define PSICONV_ID_TEXTED_UNKNOWN 0x10000065
621     #define PSICONV_ID_TEXTED_LAYOUT 0x10000066
622     #define PSICONV_ID_TEXTED_TEXT 0x10000064
623     #define PSICONV_ID_STYLE_REMOVABLE 0x1000004F
624     #define PSICONV_ID_STYLE_BUILT_IN 0x1000004C
625 frodo 43 #define PSICONV_ID_CLIPART_ITEM 0x10000040
626 frodo 2
627    
628 frodo 62 /* Return a clean layout_status. You can modify it at will. Returns NULL
629     if there is not enough memory. */
630 frodo 2 extern psiconv_character_layout psiconv_basic_character_layout(void);
631    
632 frodo 62 /* Return a clean layout_status. You can modify it at will. Returns NULL
633     if there is not enough memory. */
634 frodo 2 extern psiconv_paragraph_layout psiconv_basic_paragraph_layout(void);
635    
636     /* Clone a layout_status: the new copy is completely independent of the
637 frodo 62 original one. Returns NULL if there is not enough memory. */
638 frodo 2 extern psiconv_paragraph_layout psiconv_clone_paragraph_layout
639     (psiconv_paragraph_layout ls);
640    
641     extern psiconv_character_layout psiconv_clone_character_layout
642     (psiconv_character_layout ls);
643    
644 frodo 62 /* Get a numbered style. Returns NULL if the style is unknown. */
645 frodo 2 extern psiconv_word_style psiconv_get_style (psiconv_word_styles_section ss, int nr);
646    
647     extern void psiconv_free_color(psiconv_color color);
648     extern void psiconv_free_border(psiconv_border border);
649     extern void psiconv_free_bullet(psiconv_bullet bullet);
650     extern void psiconv_free_font(psiconv_font font);
651     extern void psiconv_free_tab(psiconv_tab tab);
652     extern void psiconv_free_tabs(psiconv_all_tabs tabs);
653     extern void psiconv_free_paragraph_layout(psiconv_paragraph_layout layout);
654     extern void psiconv_free_character_layout(psiconv_character_layout layout);
655     extern void psiconv_free_word_style(psiconv_word_style style);
656     extern void psiconv_free_word_styles_section
657     (psiconv_word_styles_section styles);
658 frodo 98 extern void psiconv_free_formula(psiconv_formula formula);
659     extern void psiconv_free_formula_list(psiconv_formula_list list);
660 frodo 94 extern void psiconv_free_sheet_status_section
661     (psiconv_sheet_status_section section);
662     extern void psiconv_free_sheet_f(psiconv_sheet_f file);
663 frodo 2 extern void psiconv_free_header_section(psiconv_header_section header);
664     extern void psiconv_free_section_table_entry(psiconv_section_table_entry entry);
665     extern void psiconv_free_section_table_section
666     (psiconv_section_table_section section);
667     extern void psiconv_free_application_id_section
668     (psiconv_application_id_section section);
669     extern void psiconv_free_in_line_layout(psiconv_in_line_layout layout);
670     extern void psiconv_free_in_line_layouts(psiconv_in_line_layouts layouts);
671     extern void psiconv_free_replacement(psiconv_replacement replacement);
672     extern void psiconv_free_replacements(psiconv_replacements replacements);
673     extern void psiconv_free_paragraph(psiconv_paragraph paragraph);
674     extern void psiconv_free_text_and_layout(psiconv_text_and_layout text);
675     extern void psiconv_free_texted_section(psiconv_texted_section section);
676     extern void psiconv_free_page_header(psiconv_page_header header);
677     extern void psiconv_free_page_layout_section
678     (psiconv_page_layout_section section);
679     extern void psiconv_free_word_status_section
680     (psiconv_word_status_section section);
681     extern void psiconv_free_word_f(psiconv_word_f file);
682 frodo 12 extern void psiconv_free_texted_f(psiconv_texted_f file);
683     extern void psiconv_free_paint_data_section(psiconv_paint_data_section section);
684     extern void psiconv_free_pictures(psiconv_pictures section);
685 frodo 42 extern void psiconv_free_jumptable_section
686     (psiconv_jumptable_section section);
687 frodo 12 extern void psiconv_free_mbm_f(psiconv_mbm_f file);
688 frodo 24 extern void psiconv_free_sketch_section(psiconv_sketch_section sec);
689     extern void psiconv_free_sketch_f(psiconv_sketch_f file);
690 frodo 41 extern void psiconv_free_clipart_section(psiconv_clipart_section section);
691     extern void psiconv_free_cliparts(psiconv_cliparts section);
692     extern void psiconv_free_clipart_f(psiconv_clipart_f file);
693 frodo 24
694 frodo 2 extern void psiconv_free_file(psiconv_file file);
695    
696 frodo 78 extern int psiconv_compare_color(const psiconv_color value1,
697     const psiconv_color value2);
698     extern int psiconv_compare_font(const psiconv_font value1,
699     const psiconv_font value2);
700     extern int psiconv_compare_border(const psiconv_border value1,
701     const psiconv_border value2);
702     extern int psiconv_compare_bullet(const psiconv_bullet value1,
703     const psiconv_bullet value2);
704     extern int psiconv_compare_tab(const psiconv_tab value1,
705     const psiconv_tab value2);
706     extern int psiconv_compare_all_tabs(const psiconv_all_tabs value1,
707     const psiconv_all_tabs value2);
708     extern int psiconv_compare_paragraph_layout
709     (const psiconv_paragraph_layout value1,
710     const psiconv_paragraph_layout value2);
711    
712     extern int psiconv_compare_character_layout
713     (const psiconv_character_layout value1,
714     const psiconv_character_layout value2);
715    
716 frodo 87 /* Get a newly allocated file with sensible defaults, ready to generate. */
717     extern psiconv_file psiconv_empty_file(psiconv_file_type_t type);
718 frodo 78
719 frodo 87
720 frodo 55 #ifdef __cplusplus
721     }
722     #endif /* __cplusplus */
723 frodo 2
724     #endif /* def PSICONV_DATA_H */

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