/[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 99 - (hide 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 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    
38 frodo 2 typedef enum psiconv_file_type {
39     psiconv_unknown_file,
40     psiconv_word_file,
41     psiconv_texted_file,
42 frodo 12 psiconv_mbm_file,
43 frodo 41 psiconv_sketch_file,
44 frodo 94 psiconv_clipart_file,
45     psiconv_sheet_file
46 frodo 2 } 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 frodo 94 typedef enum psiconv_triple
68     {
69     psiconv_triple_on,
70     psiconv_triple_off,
71     psiconv_triple_auto
72     } psiconv_triple_t;
73    
74 frodo 2 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 frodo 67 psiconv_border_dashed,
99     psiconv_border_dotdashed,
100     psiconv_border_dotdotdashed
101 frodo 2 } psiconv_border_kind_t;
102    
103 frodo 90 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 frodo 2 /* Colors.
112     black: 0x00 0x00 0x00
113     white: 0xff 0xff 0xff */
114 frodo 56 typedef struct psiconv_color_s
115 frodo 2 {
116     psiconv_u8 red;
117     psiconv_u8 green;
118     psiconv_u8 blue;
119     } * psiconv_color;
120    
121 frodo 56 typedef struct psiconv_font_s
122 frodo 2 {
123     char *name;
124 frodo 90 psiconv_screenfont_t screenfont;
125 frodo 2 } *psiconv_font;
126    
127 frodo 56 typedef struct psiconv_border_s
128 frodo 2 {
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 frodo 56 typedef struct psiconv_bullet_s
135 frodo 2 {
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 frodo 56 typedef struct psiconv_tab_s
152 frodo 2 {
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 frodo 56 typedef struct psiconv_all_tabs_s
161 frodo 2 {
162     psiconv_length_t normal;
163     psiconv_tab_list extras;
164     } *psiconv_all_tabs;
165    
166 frodo 56 typedef struct psiconv_character_layout_s
167 frodo 2 {
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 frodo 67 psiconv_bool_t strikethrough;
176 frodo 2 psiconv_font font;
177     } *psiconv_character_layout;
178    
179 frodo 56 typedef struct psiconv_paragraph_layout_s
180 frodo 2 {
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 frodo 67 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 frodo 2 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 frodo 56 typedef struct psiconv_header_section_s
205 frodo 2 {
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 frodo 56 typedef struct psiconv_section_table_entry_s
214 frodo 2 {
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 frodo 56 typedef struct psiconv_application_id_section_s
223 frodo 2 {
224     psiconv_u32 id;
225     psiconv_string_t name;
226     } *psiconv_application_id_section;
227    
228 frodo 56 typedef struct psiconv_in_line_layout_s
229 frodo 2 {
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 frodo 56 typedef struct psiconv_replacement_s
246 frodo 2 {
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 frodo 56 typedef struct psiconv_paragraph_s
255 frodo 2 {
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 frodo 56 typedef struct psiconv_texted_section_s
267 frodo 2 {
268     psiconv_text_and_layout paragraphs;
269     } *psiconv_texted_section;
270    
271 frodo 56 typedef struct psiconv_page_header_s
272 frodo 2 {
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 frodo 56 typedef struct psiconv_page_layout_section_s
280 frodo 2 {
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 frodo 76 psiconv_bool_t landscape;
293 frodo 2 } * psiconv_page_layout_section;
294    
295 frodo 56 typedef struct psiconv_word_status_section_s
296 frodo 2 {
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 frodo 56 typedef struct psiconv_word_style_s
313 frodo 2 {
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 frodo 28 psiconv_u32 outline_level;
320 frodo 2 } *psiconv_word_style;
321    
322     typedef psiconv_list psiconv_word_style_list; /* Of style */
323    
324 frodo 56 typedef struct psiconv_word_styles_section_s
325 frodo 2 {
326     psiconv_word_style normal;
327     psiconv_word_style_list styles;
328     } *psiconv_word_styles_section;
329    
330 frodo 56 typedef struct psiconv_word_f_s
331     {
332 frodo 2 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 frodo 56 typedef struct psiconv_texted_f_s
339     {
340 frodo 2 psiconv_page_layout_section page_sec;
341     psiconv_texted_section texted_sec;
342     } *psiconv_texted_f;
343    
344 frodo 42 typedef psiconv_list psiconv_jumptable_section; /* of psiconv_u32 */
345 frodo 12
346 frodo 11 /* 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 frodo 56 typedef struct psiconv_paint_data_section_s
349     {
350 frodo 11 psiconv_u32 xsize;
351     psiconv_u32 ysize;
352 frodo 25 psiconv_length_t pic_xsize; /* 0 if not specified */
353     psiconv_length_t pic_ysize; /* 0 if not specified */
354 frodo 11 float *red;
355     float *green;
356     float *blue;
357     } *psiconv_paint_data_section;
358    
359 frodo 12 typedef psiconv_list psiconv_pictures;
360     /* of struct psiconv_paint_data_section */
361    
362 frodo 56 typedef struct psiconv_mbm_f_s
363     {
364 frodo 12 psiconv_pictures sections;
365     } *psiconv_mbm_f;
366    
367 frodo 24 /* 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 frodo 56 typedef struct psiconv_sketch_section_s
374     {
375 frodo 24 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 frodo 56 typedef struct psiconv_sketch_f_s
391     {
392 frodo 24 psiconv_sketch_section sketch_sec;
393     } *psiconv_sketch_f;
394    
395 frodo 56 typedef struct psiconv_clipart_section_s
396     {
397 frodo 41 /* 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 frodo 56 typedef struct psiconv_clipart_f_s
404     {
405 frodo 41 psiconv_cliparts sections;
406     } *psiconv_clipart_f;
407    
408 frodo 94 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 frodo 98 typedef enum psiconv_formula_type
424 frodo 97 {
425 frodo 99 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 frodo 98 } psiconv_formula_type_t;
557 frodo 97
558 frodo 98 typedef psiconv_list psiconv_formula_list; /* Of struct psiconv_formula_s */
559 frodo 97
560 frodo 98 typedef struct psiconv_formula_s
561     {
562     psiconv_formula_type_t type;
563     union {
564 frodo 99 psiconv_u32 dat_int;
565     double dat_float;
566     char *dat_string;
567     psiconv_formula_list fun_operands;
568 frodo 98 } data;
569     } *psiconv_formula;
570    
571 frodo 95 typedef struct psiconv_sheet_workbook_section_s
572     {
573 frodo 98 psiconv_formula_list formulas;
574 frodo 95 } *psiconv_sheet_workbook_section;
575    
576 frodo 94 typedef struct psiconv_sheet_f_s
577     {
578     psiconv_page_layout_section page_sec;
579     psiconv_sheet_status_section status_sec;
580 frodo 95 psiconv_sheet_workbook_section workbook_sec;
581 frodo 94 } *psiconv_sheet_f;
582    
583 frodo 56 typedef struct psiconv_file_s
584     {
585 frodo 2 psiconv_file_type_t type;
586     void *file;
587     } *psiconv_file;
588    
589    
590     /* UID1 */
591     #define PSICONV_ID_PSION5 0x10000037
592 frodo 41 #define PSICONV_ID_CLIPART 0x10000041
593 frodo 2 /* UID2 */
594     #define PSICONV_ID_DATA_FILE 0x1000006D
595 frodo 12 #define PSICONV_ID_MBM_FILE 0x10000042
596 frodo 2 /* UID3 */
597     #define PSICONV_ID_WORD 0x1000007F
598     #define PSICONV_ID_TEXTED 0x10000085
599 frodo 24 #define PSICONV_ID_SKETCH 0x1000007D
600 frodo 94 #define PSICONV_ID_SHEET 0x10000088
601 frodo 2
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 frodo 24 #define PSICONV_ID_SKETCH_SECTION 0x1000007D
611 frodo 94 #define PSICONV_ID_SHEET_STATUS_SECTION 0x1000011F
612 frodo 95 #define PSICONV_ID_SHEET_WORKBOOK_SECTION 0x1000011D
613 frodo 2
614     /* Other ids */
615 frodo 76 #define PSICONV_ID_PAGE_DIMENSIONS1 0x100000fd
616     #define PSICONV_ID_PAGE_DIMENSIONS2 0x1000010e
617 frodo 2 #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 frodo 43 #define PSICONV_ID_CLIPART_ITEM 0x10000040
625 frodo 2
626    
627 frodo 62 /* Return a clean layout_status. You can modify it at will. Returns NULL
628     if there is not enough memory. */
629 frodo 2 extern psiconv_character_layout psiconv_basic_character_layout(void);
630    
631 frodo 62 /* Return a clean layout_status. You can modify it at will. Returns NULL
632     if there is not enough memory. */
633 frodo 2 extern psiconv_paragraph_layout psiconv_basic_paragraph_layout(void);
634    
635     /* Clone a layout_status: the new copy is completely independent of the
636 frodo 62 original one. Returns NULL if there is not enough memory. */
637 frodo 2 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 frodo 62 /* Get a numbered style. Returns NULL if the style is unknown. */
644 frodo 2 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 frodo 98 extern void psiconv_free_formula(psiconv_formula formula);
658     extern void psiconv_free_formula_list(psiconv_formula_list list);
659 frodo 94 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 frodo 2 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 frodo 12 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 frodo 42 extern void psiconv_free_jumptable_section
685     (psiconv_jumptable_section section);
686 frodo 12 extern void psiconv_free_mbm_f(psiconv_mbm_f file);
687 frodo 24 extern void psiconv_free_sketch_section(psiconv_sketch_section sec);
688     extern void psiconv_free_sketch_f(psiconv_sketch_f file);
689 frodo 41 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 frodo 24
693 frodo 2 extern void psiconv_free_file(psiconv_file file);
694    
695 frodo 78 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 frodo 87 /* Get a newly allocated file with sensible defaults, ready to generate. */
716     extern psiconv_file psiconv_empty_file(psiconv_file_type_t type);
717 frodo 78
718 frodo 87
719 frodo 55 #ifdef __cplusplus
720     }
721     #endif /* __cplusplus */
722 frodo 2
723     #endif /* def PSICONV_DATA_H */

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