… | |
… | |
32 | |
32 | |
33 | #ifdef __cplusplus |
33 | #ifdef __cplusplus |
34 | extern "C" { |
34 | extern "C" { |
35 | #endif /* __cplusplus */ |
35 | #endif /* __cplusplus */ |
36 | |
36 | |
|
|
37 | typedef double psiconv_float_t; |
37 | |
38 | |
38 | typedef enum psiconv_file_type { |
39 | typedef enum psiconv_file_type { |
39 | psiconv_unknown_file, |
40 | psiconv_unknown_file, |
40 | psiconv_word_file, |
41 | psiconv_word_file, |
41 | psiconv_texted_file, |
42 | psiconv_texted_file, |
… | |
… | |
190 | psiconv_size_t space_below; |
191 | psiconv_size_t space_below; |
191 | psiconv_bool_t keep_together; |
192 | psiconv_bool_t keep_together; |
192 | psiconv_bool_t keep_with_next; |
193 | psiconv_bool_t keep_with_next; |
193 | psiconv_bool_t on_next_page; |
194 | psiconv_bool_t on_next_page; |
194 | psiconv_bool_t no_widow_protection; |
195 | psiconv_bool_t no_widow_protection; |
|
|
196 | psiconv_bool_t wrap_to_fit_cell; |
195 | psiconv_length_t border_distance; |
197 | psiconv_length_t border_distance; |
196 | psiconv_bullet bullet; |
198 | psiconv_bullet bullet; |
197 | psiconv_border left_border; |
199 | psiconv_border left_border; |
198 | psiconv_border right_border; |
200 | psiconv_border right_border; |
199 | psiconv_border top_border; |
201 | psiconv_border top_border; |
… | |
… | |
403 | typedef struct psiconv_clipart_f_s |
405 | typedef struct psiconv_clipart_f_s |
404 | { |
406 | { |
405 | psiconv_cliparts sections; |
407 | psiconv_cliparts sections; |
406 | } *psiconv_clipart_f; |
408 | } *psiconv_clipart_f; |
407 | |
409 | |
|
|
410 | typedef struct psiconv_sheet_ref_s |
|
|
411 | { |
|
|
412 | psiconv_s16 offset; |
|
|
413 | psiconv_bool_t absolute; |
|
|
414 | } psiconv_sheet_ref_t; |
|
|
415 | |
|
|
416 | typedef struct psiconv_sheet_cell_reference_s |
|
|
417 | { |
|
|
418 | psiconv_sheet_ref_t row; |
|
|
419 | psiconv_sheet_ref_t column; |
|
|
420 | } psiconv_sheet_cell_reference_t; |
|
|
421 | |
|
|
422 | typedef struct psiconv_sheet_cell_block_s |
|
|
423 | { |
|
|
424 | psiconv_sheet_cell_reference_t first; |
|
|
425 | psiconv_sheet_cell_reference_t last; |
|
|
426 | } psiconv_sheet_cell_block_t; |
|
|
427 | |
408 | typedef struct psiconv_sheet_status_section_s |
428 | typedef struct psiconv_sheet_status_section_s |
409 | { |
429 | { |
410 | psiconv_bool_t show_graph; |
430 | psiconv_bool_t show_graph; |
411 | psiconv_u32 cursor_row; |
431 | psiconv_u32 cursor_row; |
412 | psiconv_u32 cursor_column; |
432 | psiconv_u32 cursor_column; |
… | |
… | |
420 | psiconv_triple_t show_vertical_scrollbar; |
440 | psiconv_triple_t show_vertical_scrollbar; |
421 | } *psiconv_sheet_status_section; |
441 | } *psiconv_sheet_status_section; |
422 | |
442 | |
423 | typedef enum psiconv_formula_type |
443 | typedef enum psiconv_formula_type |
424 | { |
444 | { |
425 | psiconv_formula_unknown, |
445 | psiconv_formula_unknown, |
426 | psiconv_formula_int, |
446 | psiconv_formula_op_lt, |
|
|
447 | psiconv_formula_op_le, |
|
|
448 | psiconv_formula_op_gt, |
|
|
449 | psiconv_formula_op_ge, |
|
|
450 | psiconv_formula_op_ne, |
|
|
451 | psiconv_formula_op_eq, |
|
|
452 | psiconv_formula_op_add, |
|
|
453 | psiconv_formula_op_sub, |
|
|
454 | psiconv_formula_op_mul, |
|
|
455 | psiconv_formula_op_div, |
|
|
456 | psiconv_formula_op_pow, |
|
|
457 | psiconv_formula_op_pos, |
|
|
458 | psiconv_formula_op_neg, |
|
|
459 | psiconv_formula_op_con, |
|
|
460 | psiconv_formula_op_bra, |
|
|
461 | psiconv_formula_mark_eof, |
427 | psiconv_formula_float, |
462 | psiconv_formula_dat_float, |
|
|
463 | psiconv_formula_dat_int, |
|
|
464 | psiconv_formula_dat_var, |
428 | psiconv_formula_string |
465 | psiconv_formula_dat_string, |
|
|
466 | psiconv_formula_dat_cellref, |
|
|
467 | psiconv_formula_dat_cellblock, |
|
|
468 | psiconv_formula_dat_vcellblock, |
|
|
469 | psiconv_formula_mark_opsep, |
|
|
470 | psiconv_formula_mark_opend, |
|
|
471 | psiconv_formula_fun_false, |
|
|
472 | psiconv_formula_fun_if, |
|
|
473 | psiconv_formula_fun_true, |
|
|
474 | psiconv_formula_fun_cell, |
|
|
475 | psiconv_formula_fun_errortype, |
|
|
476 | psiconv_formula_fun_isblank, |
|
|
477 | psiconv_formula_fun_iserr, |
|
|
478 | psiconv_formula_fun_iserror, |
|
|
479 | psiconv_formula_fun_islogical, |
|
|
480 | psiconv_formula_fun_isna, |
|
|
481 | psiconv_formula_fun_isnontext, |
|
|
482 | psiconv_formula_fun_isnumber, |
|
|
483 | psiconv_formula_fun_istext, |
|
|
484 | psiconv_formula_fun_n, |
|
|
485 | psiconv_formula_fun_type, |
|
|
486 | psiconv_formula_fun_address, |
|
|
487 | psiconv_formula_fun_column, |
|
|
488 | psiconv_formula_fun_columns, |
|
|
489 | psiconv_formula_fun_hlookup, |
|
|
490 | psiconv_formula_fun_index, |
|
|
491 | psiconv_formula_fun_indirect, |
|
|
492 | psiconv_formula_fun_lookup, |
|
|
493 | psiconv_formula_fun_offset, |
|
|
494 | psiconv_formula_fun_row, |
|
|
495 | psiconv_formula_fun_rows, |
|
|
496 | psiconv_formula_fun_vlookup, |
|
|
497 | psiconv_formula_fun_char, |
|
|
498 | psiconv_formula_fun_code, |
|
|
499 | psiconv_formula_fun_exact, |
|
|
500 | psiconv_formula_fun_find, |
|
|
501 | psiconv_formula_fun_left, |
|
|
502 | psiconv_formula_fun_len, |
|
|
503 | psiconv_formula_fun_lower, |
|
|
504 | psiconv_formula_fun_mid, |
|
|
505 | psiconv_formula_fun_proper, |
|
|
506 | psiconv_formula_fun_replace, |
|
|
507 | psiconv_formula_fun_rept, |
|
|
508 | psiconv_formula_fun_right, |
|
|
509 | psiconv_formula_fun_string, |
|
|
510 | psiconv_formula_fun_t, |
|
|
511 | psiconv_formula_fun_trim, |
|
|
512 | psiconv_formula_fun_upper, |
|
|
513 | psiconv_formula_fun_value, |
|
|
514 | psiconv_formula_fun_date, |
|
|
515 | psiconv_formula_fun_datevalue, |
|
|
516 | psiconv_formula_fun_day, |
|
|
517 | psiconv_formula_fun_hour, |
|
|
518 | psiconv_formula_fun_minute, |
|
|
519 | psiconv_formula_fun_month, |
|
|
520 | psiconv_formula_fun_now, |
|
|
521 | psiconv_formula_fun_second, |
|
|
522 | psiconv_formula_fun_today, |
|
|
523 | psiconv_formula_fun_time, |
|
|
524 | psiconv_formula_fun_timevalue, |
|
|
525 | psiconv_formula_fun_year, |
|
|
526 | psiconv_formula_fun_abs, |
|
|
527 | psiconv_formula_fun_acos, |
|
|
528 | psiconv_formula_fun_asin, |
|
|
529 | psiconv_formula_fun_atan, |
|
|
530 | psiconv_formula_fun_atan2, |
|
|
531 | psiconv_formula_fun_cos, |
|
|
532 | psiconv_formula_fun_degrees, |
|
|
533 | psiconv_formula_fun_exp, |
|
|
534 | psiconv_formula_fun_fact, |
|
|
535 | psiconv_formula_fun_int, |
|
|
536 | psiconv_formula_fun_ln, |
|
|
537 | psiconv_formula_fun_log10, |
|
|
538 | psiconv_formula_fun_mod, |
|
|
539 | psiconv_formula_fun_pi, |
|
|
540 | psiconv_formula_fun_radians, |
|
|
541 | psiconv_formula_fun_rand, |
|
|
542 | psiconv_formula_fun_round, |
|
|
543 | psiconv_formula_fun_sign, |
|
|
544 | psiconv_formula_fun_sin, |
|
|
545 | psiconv_formula_fun_sqrt, |
|
|
546 | psiconv_formula_fun_sumproduct, |
|
|
547 | psiconv_formula_fun_tan, |
|
|
548 | psiconv_formula_fun_trunc, |
|
|
549 | psiconv_formula_fun_cterm, |
|
|
550 | psiconv_formula_fun_ddb, |
|
|
551 | psiconv_formula_fun_fv, |
|
|
552 | psiconv_formula_fun_irr, |
|
|
553 | psiconv_formula_fun_npv, |
|
|
554 | psiconv_formula_fun_pmt, |
|
|
555 | psiconv_formula_fun_pv, |
|
|
556 | psiconv_formula_fun_rate, |
|
|
557 | psiconv_formula_fun_sln, |
|
|
558 | psiconv_formula_fun_syd, |
|
|
559 | psiconv_formula_fun_term, |
|
|
560 | psiconv_formula_fun_combin, |
|
|
561 | psiconv_formula_fun_permut, |
|
|
562 | psiconv_formula_vfn_average, |
|
|
563 | psiconv_formula_vfn_choose, |
|
|
564 | psiconv_formula_vfn_count, |
|
|
565 | psiconv_formula_vfn_counta, |
|
|
566 | psiconv_formula_vfn_countblank, |
|
|
567 | psiconv_formula_vfn_max, |
|
|
568 | psiconv_formula_vfn_min, |
|
|
569 | psiconv_formula_vfn_product, |
|
|
570 | psiconv_formula_vfn_stdevp, |
|
|
571 | psiconv_formula_vfn_stdev, |
|
|
572 | psiconv_formula_vfn_sum, |
|
|
573 | psiconv_formula_vfn_sumsq, |
|
|
574 | psiconv_formula_vfn_varp, |
|
|
575 | psiconv_formula_vfn_var |
429 | } psiconv_formula_type_t; |
576 | } psiconv_formula_type_t; |
430 | |
577 | |
431 | typedef psiconv_list psiconv_formula_list; /* Of struct psiconv_formula_s */ |
578 | typedef psiconv_list psiconv_formula_list; /* Of struct psiconv_formula_s */ |
432 | |
579 | |
433 | typedef struct psiconv_formula_s |
580 | typedef struct psiconv_formula_s |
434 | { |
581 | { |
435 | psiconv_formula_type_t type; |
582 | psiconv_formula_type_t type; |
436 | union { |
583 | union { |
437 | psiconv_u32 d_int; |
584 | psiconv_u32 dat_int; |
438 | double d_real; |
585 | double dat_float; |
439 | char *d_string; |
586 | char *dat_string; |
440 | psiconv_formula_list d_subformulas; |
587 | psiconv_sheet_cell_reference_t dat_cellref; |
|
|
588 | psiconv_sheet_cell_block_t dat_cellblock; |
|
|
589 | psiconv_formula_list fun_operands; |
441 | } data; |
590 | } data; |
442 | } *psiconv_formula; |
591 | } *psiconv_formula; |
443 | |
592 | |
444 | typedef struct psiconv_sheet_workbook_section_s |
593 | typedef struct psiconv_sheet_workbook_section_s |
445 | { |
594 | { |