/[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 102 - (show annotations)
Wed Jan 31 00:35:06 2001 UTC (23 years, 2 months ago) by frodo
File MIME type: text/plain
File size: 22772 byte(s)
(Frodo) Added cell references and cell blocks

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 typedef double psiconv_float_t;
38
39 typedef enum psiconv_file_type {
40 psiconv_unknown_file,
41 psiconv_word_file,
42 psiconv_texted_file,
43 psiconv_mbm_file,
44 psiconv_sketch_file,
45 psiconv_clipart_file,
46 psiconv_sheet_file
47 } 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 typedef enum psiconv_triple
69 {
70 psiconv_triple_on,
71 psiconv_triple_off,
72 psiconv_triple_auto
73 } psiconv_triple_t;
74
75 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 psiconv_border_dashed,
100 psiconv_border_dotdashed,
101 psiconv_border_dotdotdashed
102 } psiconv_border_kind_t;
103
104 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 /* Colors.
113 black: 0x00 0x00 0x00
114 white: 0xff 0xff 0xff */
115 typedef struct psiconv_color_s
116 {
117 psiconv_u8 red;
118 psiconv_u8 green;
119 psiconv_u8 blue;
120 } * psiconv_color;
121
122 typedef struct psiconv_font_s
123 {
124 char *name;
125 psiconv_screenfont_t screenfont;
126 } *psiconv_font;
127
128 typedef struct psiconv_border_s
129 {
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 typedef struct psiconv_bullet_s
136 {
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 typedef struct psiconv_tab_s
153 {
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 typedef struct psiconv_all_tabs_s
162 {
163 psiconv_length_t normal;
164 psiconv_tab_list extras;
165 } *psiconv_all_tabs;
166
167 typedef struct psiconv_character_layout_s
168 {
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 psiconv_bool_t strikethrough;
177 psiconv_font font;
178 } *psiconv_character_layout;
179
180 typedef struct psiconv_paragraph_layout_s
181 {
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 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 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 typedef struct psiconv_header_section_s
206 {
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 typedef struct psiconv_section_table_entry_s
215 {
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 typedef struct psiconv_application_id_section_s
224 {
225 psiconv_u32 id;
226 psiconv_string_t name;
227 } *psiconv_application_id_section;
228
229 typedef struct psiconv_in_line_layout_s
230 {
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 typedef struct psiconv_replacement_s
247 {
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 typedef struct psiconv_paragraph_s
256 {
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 typedef struct psiconv_texted_section_s
268 {
269 psiconv_text_and_layout paragraphs;
270 } *psiconv_texted_section;
271
272 typedef struct psiconv_page_header_s
273 {
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 typedef struct psiconv_page_layout_section_s
281 {
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 psiconv_bool_t landscape;
294 } * psiconv_page_layout_section;
295
296 typedef struct psiconv_word_status_section_s
297 {
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 typedef struct psiconv_word_style_s
314 {
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 psiconv_u32 outline_level;
321 } *psiconv_word_style;
322
323 typedef psiconv_list psiconv_word_style_list; /* Of style */
324
325 typedef struct psiconv_word_styles_section_s
326 {
327 psiconv_word_style normal;
328 psiconv_word_style_list styles;
329 } *psiconv_word_styles_section;
330
331 typedef struct psiconv_word_f_s
332 {
333 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 typedef struct psiconv_texted_f_s
340 {
341 psiconv_page_layout_section page_sec;
342 psiconv_texted_section texted_sec;
343 } *psiconv_texted_f;
344
345 typedef psiconv_list psiconv_jumptable_section; /* of psiconv_u32 */
346
347 /* 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 typedef struct psiconv_paint_data_section_s
350 {
351 psiconv_u32 xsize;
352 psiconv_u32 ysize;
353 psiconv_length_t pic_xsize; /* 0 if not specified */
354 psiconv_length_t pic_ysize; /* 0 if not specified */
355 float *red;
356 float *green;
357 float *blue;
358 } *psiconv_paint_data_section;
359
360 typedef psiconv_list psiconv_pictures;
361 /* of struct psiconv_paint_data_section */
362
363 typedef struct psiconv_mbm_f_s
364 {
365 psiconv_pictures sections;
366 } *psiconv_mbm_f;
367
368 /* 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 typedef struct psiconv_sketch_section_s
375 {
376 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 typedef struct psiconv_sketch_f_s
392 {
393 psiconv_sketch_section sketch_sec;
394 } *psiconv_sketch_f;
395
396 typedef struct psiconv_clipart_section_s
397 {
398 /* 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 typedef struct psiconv_clipart_f_s
405 {
406 psiconv_cliparts sections;
407 } *psiconv_clipart_f;
408
409 typedef struct psiconv_sheet_ref_s
410 {
411 psiconv_s16 offset;
412 psiconv_bool_t absolute;
413 } psiconv_sheet_ref_t;
414
415 typedef struct psiconv_sheet_cell_reference_s
416 {
417 psiconv_sheet_ref_t row;
418 psiconv_sheet_ref_t column;
419 } psiconv_sheet_cell_reference_t;
420
421 typedef struct psiconv_sheet_cell_block_s
422 {
423 psiconv_sheet_cell_reference_t first;
424 psiconv_sheet_cell_reference_t last;
425 } psiconv_sheet_cell_block_t;
426
427 typedef struct psiconv_sheet_status_section_s
428 {
429 psiconv_bool_t show_graph;
430 psiconv_u32 cursor_row;
431 psiconv_u32 cursor_column;
432 psiconv_bool_t show_top_sheet_toolbar;
433 psiconv_bool_t show_side_sheet_toolbar;
434 psiconv_bool_t show_top_graph_toolbar;
435 psiconv_bool_t show_side_graph_toolbar;
436 psiconv_u32 sheet_display_size;
437 psiconv_u32 graph_display_size;
438 psiconv_triple_t show_horizontal_scrollbar;
439 psiconv_triple_t show_vertical_scrollbar;
440 } *psiconv_sheet_status_section;
441
442 typedef enum psiconv_formula_type
443 {
444 psiconv_formula_unknown,
445 psiconv_formula_op_lt,
446 psiconv_formula_op_le,
447 psiconv_formula_op_gt,
448 psiconv_formula_op_ge,
449 psiconv_formula_op_ne,
450 psiconv_formula_op_eq,
451 psiconv_formula_op_add,
452 psiconv_formula_op_sub,
453 psiconv_formula_op_mul,
454 psiconv_formula_op_div,
455 psiconv_formula_op_pow,
456 psiconv_formula_op_pos,
457 psiconv_formula_op_neg,
458 psiconv_formula_op_con,
459 psiconv_formula_op_bra,
460 psiconv_formula_mark_eof,
461 psiconv_formula_dat_float,
462 psiconv_formula_dat_int,
463 psiconv_formula_dat_var,
464 psiconv_formula_dat_string,
465 psiconv_formula_dat_cellref,
466 psiconv_formula_dat_cellblock,
467 psiconv_formula_dat_vcellblock,
468 psiconv_formula_mark_opsep,
469 psiconv_formula_mark_opend,
470 psiconv_formula_fun_false,
471 psiconv_formula_fun_if,
472 psiconv_formula_fun_true,
473 psiconv_formula_fun_cell,
474 psiconv_formula_fun_errortype,
475 psiconv_formula_fun_isblank,
476 psiconv_formula_fun_iserr,
477 psiconv_formula_fun_iserror,
478 psiconv_formula_fun_islogical,
479 psiconv_formula_fun_isna,
480 psiconv_formula_fun_isnontext,
481 psiconv_formula_fun_isnumber,
482 psiconv_formula_fun_istext,
483 psiconv_formula_fun_n,
484 psiconv_formula_fun_type,
485 psiconv_formula_fun_address,
486 psiconv_formula_fun_column,
487 psiconv_formula_fun_columns,
488 psiconv_formula_fun_hlookup,
489 psiconv_formula_fun_index,
490 psiconv_formula_fun_indirect,
491 psiconv_formula_fun_lookup,
492 psiconv_formula_fun_offset,
493 psiconv_formula_fun_row,
494 psiconv_formula_fun_rows,
495 psiconv_formula_fun_vlookup,
496 psiconv_formula_fun_char,
497 psiconv_formula_fun_code,
498 psiconv_formula_fun_exact,
499 psiconv_formula_fun_find,
500 psiconv_formula_fun_left,
501 psiconv_formula_fun_len,
502 psiconv_formula_fun_lower,
503 psiconv_formula_fun_mid,
504 psiconv_formula_fun_proper,
505 psiconv_formula_fun_replace,
506 psiconv_formula_fun_rept,
507 psiconv_formula_fun_right,
508 psiconv_formula_fun_string,
509 psiconv_formula_fun_t,
510 psiconv_formula_fun_trim,
511 psiconv_formula_fun_upper,
512 psiconv_formula_fun_value,
513 psiconv_formula_fun_date,
514 psiconv_formula_fun_datevalue,
515 psiconv_formula_fun_day,
516 psiconv_formula_fun_hour,
517 psiconv_formula_fun_minute,
518 psiconv_formula_fun_month,
519 psiconv_formula_fun_now,
520 psiconv_formula_fun_second,
521 psiconv_formula_fun_today,
522 psiconv_formula_fun_time,
523 psiconv_formula_fun_timevalue,
524 psiconv_formula_fun_year,
525 psiconv_formula_fun_abs,
526 psiconv_formula_fun_acos,
527 psiconv_formula_fun_asin,
528 psiconv_formula_fun_atan,
529 psiconv_formula_fun_atan2,
530 psiconv_formula_fun_cos,
531 psiconv_formula_fun_degrees,
532 psiconv_formula_fun_exp,
533 psiconv_formula_fun_fact,
534 psiconv_formula_fun_int,
535 psiconv_formula_fun_ln,
536 psiconv_formula_fun_log10,
537 psiconv_formula_fun_mod,
538 psiconv_formula_fun_pi,
539 psiconv_formula_fun_radians,
540 psiconv_formula_fun_rand,
541 psiconv_formula_fun_round,
542 psiconv_formula_fun_sign,
543 psiconv_formula_fun_sin,
544 psiconv_formula_fun_sqrt,
545 psiconv_formula_fun_sumproduct,
546 psiconv_formula_fun_tan,
547 psiconv_formula_fun_trunc,
548 psiconv_formula_fun_cterm,
549 psiconv_formula_fun_ddb,
550 psiconv_formula_fun_fv,
551 psiconv_formula_fun_irr,
552 psiconv_formula_fun_npv,
553 psiconv_formula_fun_pmt,
554 psiconv_formula_fun_pv,
555 psiconv_formula_fun_rate,
556 psiconv_formula_fun_sln,
557 psiconv_formula_fun_syd,
558 psiconv_formula_fun_term,
559 psiconv_formula_fun_combin,
560 psiconv_formula_fun_permut,
561 psiconv_formula_vfn_average,
562 psiconv_formula_vfn_choose,
563 psiconv_formula_vfn_count,
564 psiconv_formula_vfn_counta,
565 psiconv_formula_vfn_countblank,
566 psiconv_formula_vfn_max,
567 psiconv_formula_vfn_min,
568 psiconv_formula_vfn_product,
569 psiconv_formula_vfn_stdevp,
570 psiconv_formula_vfn_stdev,
571 psiconv_formula_vfn_sum,
572 psiconv_formula_vfn_sumsq,
573 psiconv_formula_vfn_varp,
574 psiconv_formula_vfn_var
575 } psiconv_formula_type_t;
576
577 typedef psiconv_list psiconv_formula_list; /* Of struct psiconv_formula_s */
578
579 typedef struct psiconv_formula_s
580 {
581 psiconv_formula_type_t type;
582 union {
583 psiconv_u32 dat_int;
584 double dat_float;
585 char *dat_string;
586 psiconv_sheet_cell_reference_t dat_cellref;
587 psiconv_sheet_cell_block_t dat_cellblock;
588 psiconv_formula_list fun_operands;
589 } data;
590 } *psiconv_formula;
591
592 typedef struct psiconv_sheet_workbook_section_s
593 {
594 psiconv_formula_list formulas;
595 } *psiconv_sheet_workbook_section;
596
597 typedef struct psiconv_sheet_f_s
598 {
599 psiconv_page_layout_section page_sec;
600 psiconv_sheet_status_section status_sec;
601 psiconv_sheet_workbook_section workbook_sec;
602 } *psiconv_sheet_f;
603
604 typedef struct psiconv_file_s
605 {
606 psiconv_file_type_t type;
607 void *file;
608 } *psiconv_file;
609
610
611 /* UID1 */
612 #define PSICONV_ID_PSION5 0x10000037
613 #define PSICONV_ID_CLIPART 0x10000041
614 /* UID2 */
615 #define PSICONV_ID_DATA_FILE 0x1000006D
616 #define PSICONV_ID_MBM_FILE 0x10000042
617 /* UID3 */
618 #define PSICONV_ID_WORD 0x1000007F
619 #define PSICONV_ID_TEXTED 0x10000085
620 #define PSICONV_ID_SKETCH 0x1000007D
621 #define PSICONV_ID_SHEET 0x10000088
622
623 /* Section table ids */
624 #define PSICONV_ID_WORD_STATUS_SECTION 0x10000243
625 #define PSICONV_ID_APPL_ID_SECTION 0x10000089
626 #define PSICONV_ID_TEXT_SECTION 0x10000106
627 #define PSICONV_ID_LAYOUT_SECTION 0x10000143
628 #define PSICONV_ID_WORD_STYLES_SECTION 0x10000104
629 #define PSICONV_ID_PAGE_LAYOUT_SECTION 0x10000105
630 #define PSICONV_ID_PASSWORD_SECTION 0x100000CD
631 #define PSICONV_ID_SKETCH_SECTION 0x1000007D
632 #define PSICONV_ID_SHEET_STATUS_SECTION 0x1000011F
633 #define PSICONV_ID_SHEET_WORKBOOK_SECTION 0x1000011D
634
635 /* Other ids */
636 #define PSICONV_ID_PAGE_DIMENSIONS1 0x100000fd
637 #define PSICONV_ID_PAGE_DIMENSIONS2 0x1000010e
638 #define PSICONV_ID_TEXTED_BODY 0x1000005c
639 #define PSICONV_ID_TEXTED_REPLACEMENT 0x10000063
640 #define PSICONV_ID_TEXTED_UNKNOWN 0x10000065
641 #define PSICONV_ID_TEXTED_LAYOUT 0x10000066
642 #define PSICONV_ID_TEXTED_TEXT 0x10000064
643 #define PSICONV_ID_STYLE_REMOVABLE 0x1000004F
644 #define PSICONV_ID_STYLE_BUILT_IN 0x1000004C
645 #define PSICONV_ID_CLIPART_ITEM 0x10000040
646
647
648 /* Return a clean layout_status. You can modify it at will. Returns NULL
649 if there is not enough memory. */
650 extern psiconv_character_layout psiconv_basic_character_layout(void);
651
652 /* Return a clean layout_status. You can modify it at will. Returns NULL
653 if there is not enough memory. */
654 extern psiconv_paragraph_layout psiconv_basic_paragraph_layout(void);
655
656 /* Clone a layout_status: the new copy is completely independent of the
657 original one. Returns NULL if there is not enough memory. */
658 extern psiconv_paragraph_layout psiconv_clone_paragraph_layout
659 (psiconv_paragraph_layout ls);
660
661 extern psiconv_character_layout psiconv_clone_character_layout
662 (psiconv_character_layout ls);
663
664 /* Get a numbered style. Returns NULL if the style is unknown. */
665 extern psiconv_word_style psiconv_get_style (psiconv_word_styles_section ss, int nr);
666
667 extern void psiconv_free_color(psiconv_color color);
668 extern void psiconv_free_border(psiconv_border border);
669 extern void psiconv_free_bullet(psiconv_bullet bullet);
670 extern void psiconv_free_font(psiconv_font font);
671 extern void psiconv_free_tab(psiconv_tab tab);
672 extern void psiconv_free_tabs(psiconv_all_tabs tabs);
673 extern void psiconv_free_paragraph_layout(psiconv_paragraph_layout layout);
674 extern void psiconv_free_character_layout(psiconv_character_layout layout);
675 extern void psiconv_free_word_style(psiconv_word_style style);
676 extern void psiconv_free_word_styles_section
677 (psiconv_word_styles_section styles);
678 extern void psiconv_free_formula(psiconv_formula formula);
679 extern void psiconv_free_formula_list(psiconv_formula_list list);
680 extern void psiconv_free_sheet_status_section
681 (psiconv_sheet_status_section section);
682 extern void psiconv_free_sheet_f(psiconv_sheet_f file);
683 extern void psiconv_free_header_section(psiconv_header_section header);
684 extern void psiconv_free_section_table_entry(psiconv_section_table_entry entry);
685 extern void psiconv_free_section_table_section
686 (psiconv_section_table_section section);
687 extern void psiconv_free_application_id_section
688 (psiconv_application_id_section section);
689 extern void psiconv_free_in_line_layout(psiconv_in_line_layout layout);
690 extern void psiconv_free_in_line_layouts(psiconv_in_line_layouts layouts);
691 extern void psiconv_free_replacement(psiconv_replacement replacement);
692 extern void psiconv_free_replacements(psiconv_replacements replacements);
693 extern void psiconv_free_paragraph(psiconv_paragraph paragraph);
694 extern void psiconv_free_text_and_layout(psiconv_text_and_layout text);
695 extern void psiconv_free_texted_section(psiconv_texted_section section);
696 extern void psiconv_free_page_header(psiconv_page_header header);
697 extern void psiconv_free_page_layout_section
698 (psiconv_page_layout_section section);
699 extern void psiconv_free_word_status_section
700 (psiconv_word_status_section section);
701 extern void psiconv_free_word_f(psiconv_word_f file);
702 extern void psiconv_free_texted_f(psiconv_texted_f file);
703 extern void psiconv_free_paint_data_section(psiconv_paint_data_section section);
704 extern void psiconv_free_pictures(psiconv_pictures section);
705 extern void psiconv_free_jumptable_section
706 (psiconv_jumptable_section section);
707 extern void psiconv_free_mbm_f(psiconv_mbm_f file);
708 extern void psiconv_free_sketch_section(psiconv_sketch_section sec);
709 extern void psiconv_free_sketch_f(psiconv_sketch_f file);
710 extern void psiconv_free_clipart_section(psiconv_clipart_section section);
711 extern void psiconv_free_cliparts(psiconv_cliparts section);
712 extern void psiconv_free_clipart_f(psiconv_clipart_f file);
713
714 extern void psiconv_free_file(psiconv_file file);
715
716 extern int psiconv_compare_color(const psiconv_color value1,
717 const psiconv_color value2);
718 extern int psiconv_compare_font(const psiconv_font value1,
719 const psiconv_font value2);
720 extern int psiconv_compare_border(const psiconv_border value1,
721 const psiconv_border value2);
722 extern int psiconv_compare_bullet(const psiconv_bullet value1,
723 const psiconv_bullet value2);
724 extern int psiconv_compare_tab(const psiconv_tab value1,
725 const psiconv_tab value2);
726 extern int psiconv_compare_all_tabs(const psiconv_all_tabs value1,
727 const psiconv_all_tabs value2);
728 extern int psiconv_compare_paragraph_layout
729 (const psiconv_paragraph_layout value1,
730 const psiconv_paragraph_layout value2);
731
732 extern int psiconv_compare_character_layout
733 (const psiconv_character_layout value1,
734 const psiconv_character_layout value2);
735
736 /* Get a newly allocated file with sensible defaults, ready to generate. */
737 extern psiconv_file psiconv_empty_file(psiconv_file_type_t type);
738
739
740 #ifdef __cplusplus
741 }
742 #endif /* __cplusplus */
743
744 #endif /* def PSICONV_DATA_H */

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