… | |
… | |
39 | psiconv_unknown_file, |
39 | psiconv_unknown_file, |
40 | psiconv_word_file, |
40 | psiconv_word_file, |
41 | psiconv_texted_file, |
41 | psiconv_texted_file, |
42 | psiconv_mbm_file, |
42 | psiconv_mbm_file, |
43 | psiconv_sketch_file, |
43 | psiconv_sketch_file, |
44 | psiconv_clipart_file |
44 | psiconv_clipart_file, |
|
|
45 | psiconv_sheet_file |
45 | } psiconv_file_type_t; |
46 | } psiconv_file_type_t; |
46 | |
47 | |
47 | /* Length indicators */ |
48 | /* Length indicators */ |
48 | typedef psiconv_u32 psiconv_S_t; |
49 | typedef psiconv_u32 psiconv_S_t; |
49 | typedef psiconv_u32 psiconv_X_t; |
50 | typedef psiconv_u32 psiconv_X_t; |
… | |
… | |
60 | typedef enum psiconv_bool |
61 | typedef enum psiconv_bool |
61 | { |
62 | { |
62 | psiconv_bool_false, |
63 | psiconv_bool_false, |
63 | psiconv_bool_true |
64 | psiconv_bool_true |
64 | } psiconv_bool_t; |
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; |
65 | |
73 | |
66 | typedef enum psiconv_super_sub |
74 | typedef enum psiconv_super_sub |
67 | { psiconv_normalscript, |
75 | { psiconv_normalscript, |
68 | psiconv_superscript, |
76 | psiconv_superscript, |
69 | psiconv_subscript |
77 | psiconv_subscript |
… | |
… | |
90 | psiconv_border_dashed, |
98 | psiconv_border_dashed, |
91 | psiconv_border_dotdashed, |
99 | psiconv_border_dotdashed, |
92 | psiconv_border_dotdotdashed |
100 | psiconv_border_dotdotdashed |
93 | } psiconv_border_kind_t; |
101 | } psiconv_border_kind_t; |
94 | |
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 | |
95 | /* Colors. |
111 | /* Colors. |
96 | black: 0x00 0x00 0x00 |
112 | black: 0x00 0x00 0x00 |
97 | white: 0xff 0xff 0xff */ |
113 | white: 0xff 0xff 0xff */ |
98 | typedef struct psiconv_color_s |
114 | typedef struct psiconv_color_s |
99 | { |
115 | { |
… | |
… | |
103 | } * psiconv_color; |
119 | } * psiconv_color; |
104 | |
120 | |
105 | typedef struct psiconv_font_s |
121 | typedef struct psiconv_font_s |
106 | { |
122 | { |
107 | char *name; |
123 | char *name; |
108 | psiconv_u8 screenfont; |
124 | psiconv_screenfont_t screenfont; |
109 | } *psiconv_font; |
125 | } *psiconv_font; |
110 | |
126 | |
111 | typedef struct psiconv_border_s |
127 | typedef struct psiconv_border_s |
112 | { |
128 | { |
113 | psiconv_border_kind_t kind; |
129 | psiconv_border_kind_t kind; |
… | |
… | |
387 | typedef struct psiconv_clipart_f_s |
403 | typedef struct psiconv_clipart_f_s |
388 | { |
404 | { |
389 | psiconv_cliparts sections; |
405 | psiconv_cliparts sections; |
390 | } *psiconv_clipart_f; |
406 | } *psiconv_clipart_f; |
391 | |
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 | |
392 | typedef struct psiconv_file_s |
583 | typedef struct psiconv_file_s |
393 | { |
584 | { |
394 | psiconv_file_type_t type; |
585 | psiconv_file_type_t type; |
395 | void *file; |
586 | void *file; |
396 | } *psiconv_file; |
587 | } *psiconv_file; |
… | |
… | |
404 | #define PSICONV_ID_MBM_FILE 0x10000042 |
595 | #define PSICONV_ID_MBM_FILE 0x10000042 |
405 | /* UID3 */ |
596 | /* UID3 */ |
406 | #define PSICONV_ID_WORD 0x1000007F |
597 | #define PSICONV_ID_WORD 0x1000007F |
407 | #define PSICONV_ID_TEXTED 0x10000085 |
598 | #define PSICONV_ID_TEXTED 0x10000085 |
408 | #define PSICONV_ID_SKETCH 0x1000007D |
599 | #define PSICONV_ID_SKETCH 0x1000007D |
|
|
600 | #define PSICONV_ID_SHEET 0x10000088 |
409 | |
601 | |
410 | /* Section table ids */ |
602 | /* Section table ids */ |
411 | #define PSICONV_ID_WORD_STATUS_SECTION 0x10000243 |
603 | #define PSICONV_ID_WORD_STATUS_SECTION 0x10000243 |
412 | #define PSICONV_ID_APPL_ID_SECTION 0x10000089 |
604 | #define PSICONV_ID_APPL_ID_SECTION 0x10000089 |
413 | #define PSICONV_ID_TEXT_SECTION 0x10000106 |
605 | #define PSICONV_ID_TEXT_SECTION 0x10000106 |
414 | #define PSICONV_ID_LAYOUT_SECTION 0x10000143 |
606 | #define PSICONV_ID_LAYOUT_SECTION 0x10000143 |
415 | #define PSICONV_ID_WORD_STYLES_SECTION 0x10000104 |
607 | #define PSICONV_ID_WORD_STYLES_SECTION 0x10000104 |
416 | #define PSICONV_ID_PAGE_LAYOUT_SECTION 0x10000105 |
608 | #define PSICONV_ID_PAGE_LAYOUT_SECTION 0x10000105 |
417 | #define PSICONV_ID_PASSWORD_SECTION 0x100000CD |
609 | #define PSICONV_ID_PASSWORD_SECTION 0x100000CD |
418 | #define PSICONV_ID_SKETCH_SECTION 0x1000007D |
610 | #define PSICONV_ID_SKETCH_SECTION 0x1000007D |
|
|
611 | #define PSICONV_ID_SHEET_STATUS_SECTION 0x1000011F |
|
|
612 | #define PSICONV_ID_SHEET_WORKBOOK_SECTION 0x1000011D |
419 | |
613 | |
420 | /* Other ids */ |
614 | /* Other ids */ |
421 | #define PSICONV_ID_PAGE_DIMENSIONS1 0x100000fd |
615 | #define PSICONV_ID_PAGE_DIMENSIONS1 0x100000fd |
422 | #define PSICONV_ID_PAGE_DIMENSIONS2 0x1000010e |
616 | #define PSICONV_ID_PAGE_DIMENSIONS2 0x1000010e |
423 | #define PSICONV_ID_TEXTED_BODY 0x1000005c |
617 | #define PSICONV_ID_TEXTED_BODY 0x1000005c |
… | |
… | |
458 | extern void psiconv_free_paragraph_layout(psiconv_paragraph_layout layout); |
652 | extern void psiconv_free_paragraph_layout(psiconv_paragraph_layout layout); |
459 | extern void psiconv_free_character_layout(psiconv_character_layout layout); |
653 | extern void psiconv_free_character_layout(psiconv_character_layout layout); |
460 | extern void psiconv_free_word_style(psiconv_word_style style); |
654 | extern void psiconv_free_word_style(psiconv_word_style style); |
461 | extern void psiconv_free_word_styles_section |
655 | extern void psiconv_free_word_styles_section |
462 | (psiconv_word_styles_section styles); |
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); |
463 | extern void psiconv_free_header_section(psiconv_header_section header); |
662 | extern void psiconv_free_header_section(psiconv_header_section header); |
464 | extern void psiconv_free_section_table_entry(psiconv_section_table_entry entry); |
663 | extern void psiconv_free_section_table_entry(psiconv_section_table_entry entry); |
465 | extern void psiconv_free_section_table_section |
664 | extern void psiconv_free_section_table_section |
466 | (psiconv_section_table_section section); |
665 | (psiconv_section_table_section section); |
467 | extern void psiconv_free_application_id_section |
666 | extern void psiconv_free_application_id_section |
… | |
… | |
489 | extern void psiconv_free_sketch_f(psiconv_sketch_f file); |
688 | extern void psiconv_free_sketch_f(psiconv_sketch_f file); |
490 | extern void psiconv_free_clipart_section(psiconv_clipart_section section); |
689 | extern void psiconv_free_clipart_section(psiconv_clipart_section section); |
491 | extern void psiconv_free_cliparts(psiconv_cliparts section); |
690 | extern void psiconv_free_cliparts(psiconv_cliparts section); |
492 | extern void psiconv_free_clipart_f(psiconv_clipart_f file); |
691 | extern void psiconv_free_clipart_f(psiconv_clipart_f file); |
493 | |
692 | |
494 | |
|
|
495 | extern void psiconv_free_file(psiconv_file file); |
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 | |
496 | |
718 | |
497 | #ifdef __cplusplus |
719 | #ifdef __cplusplus |
498 | } |
720 | } |
499 | #endif /* __cplusplus */ |
721 | #endif /* __cplusplus */ |
500 | |
722 | |