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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 99 - (show annotations)
Tue Jan 30 21:37:19 2001 UTC (23 years, 2 months ago) by frodo
File MIME type: text/plain
File size: 22242 byte(s)
(Frodo) Most formula work is completed

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

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