--- psiconv/trunk/lib/psiconv/data.h 2001/07/24 20:32:51 129 +++ psiconv/trunk/lib/psiconv/data.h 2003/11/19 21:04:06 159 @@ -34,6 +34,9 @@ extern "C" { #endif /* __cplusplus */ +/* Forward declaration (for psiconv_object) */ +typedef struct psiconv_file_s *psiconv_file; + typedef double psiconv_float_t; typedef enum psiconv_file_type { @@ -227,10 +230,35 @@ psiconv_string_t name; } *psiconv_application_id_section; +typedef struct psiconv_object_icon_section_s +{ + psiconv_length_t icon_width; + psiconv_length_t icon_height; + psiconv_string_t icon_name; +} *psiconv_object_icon_section; + +typedef struct psiconv_object_display_section_s +{ + psiconv_bool_t show_icon; + psiconv_length_t width; + psiconv_length_t height; +} *psiconv_object_display_section; + +typedef struct psiconv_object_s +{ + psiconv_object_icon_section icon; + psiconv_object_display_section display; + psiconv_file object; +} *psiconv_object; + typedef struct psiconv_in_line_layout_s { psiconv_character_layout layout; int length; + /* If object is NULL, this does not apply to an object */ + psiconv_object object; + psiconv_length_t object_width; + psiconv_length_t object_height; } *psiconv_in_line_layout; typedef psiconv_list psiconv_in_line_layouts; /* of struct in_line_layout */ @@ -692,6 +720,42 @@ typedef psiconv_list psiconv_sheet_line_list; /* Of struct psiconv_sheet_line_s */ +typedef struct psiconv_sheet_grid_size_s +{ + psiconv_u32 line_number; + psiconv_length_t size; +} *psiconv_sheet_grid_size; + +typedef psiconv_list psiconv_sheet_grid_size_list; + /* Of struct psiconv_sheet_grid_size_s */ + +typedef psiconv_list psiconv_sheet_grid_break_list; /* of psiconv_u32 */ + +typedef struct psiconv_sheet_grid_section_s +{ + psiconv_bool_t show_column_titles; + psiconv_bool_t show_row_titles; + psiconv_bool_t show_vertical_grid; + psiconv_bool_t show_horizontal_grid; + psiconv_bool_t freeze_rows; + psiconv_bool_t freeze_columns; + psiconv_u32 frozen_rows; + psiconv_u32 frozen_columns; + psiconv_u32 first_unfrozen_row_displayed; + psiconv_u32 first_unfrozen_column_displayed; + psiconv_bool_t show_page_breaks; + psiconv_u32 first_row; + psiconv_u32 first_column; + psiconv_u32 last_row; + psiconv_u32 last_column; + psiconv_length_t default_row_height; + psiconv_length_t default_column_width; + psiconv_sheet_grid_size_list row_heights; + psiconv_sheet_grid_size_list column_heights; + psiconv_sheet_grid_break_list row_page_breaks; + psiconv_sheet_grid_break_list column_page_breaks; +} *psiconv_sheet_grid_section; + typedef struct psiconv_sheet_worksheet_s { psiconv_sheet_cell_layout default_layout; @@ -699,6 +763,7 @@ psiconv_bool_t show_zeros; psiconv_sheet_line_list row_default_layouts; psiconv_sheet_line_list col_default_layouts; + psiconv_sheet_grid_section grid; } *psiconv_sheet_worksheet; typedef psiconv_list psiconv_sheet_worksheet_list; @@ -756,11 +821,12 @@ psiconv_sheet_workbook_section workbook_sec; } *psiconv_sheet_f; -typedef struct psiconv_file_s +/* NB: psiconv_file is already defined above */ +struct psiconv_file_s { psiconv_file_type_t type; void *file; -} *psiconv_file; +}; /* UID1 */ @@ -845,6 +911,12 @@ extern void psiconv_free_sheet_status_section (psiconv_sheet_status_section section); extern void psiconv_free_sheet_cell_layout(psiconv_sheet_cell_layout layout); +extern void psiconv_free_sheet_grid_break_list + (psiconv_sheet_grid_break_list list); +extern void psiconv_free_sheet_grid_size(psiconv_sheet_grid_size s); +extern void psiconv_free_sheet_grid_size_list + (psiconv_sheet_grid_size_list list); +extern void psiconv_free_sheet_grid_section(psiconv_sheet_grid_section sec); extern void psiconv_free_sheet_worksheet(psiconv_sheet_worksheet sheet); extern void psiconv_free_sheet_worksheet_list (psiconv_sheet_worksheet_list list); @@ -866,6 +938,11 @@ (psiconv_section_table_section section); extern void psiconv_free_application_id_section (psiconv_application_id_section section); +extern void psiconv_free_object_display_section + (psiconv_object_display_section section); +extern void psiconv_free_object_icon_section + (psiconv_object_icon_section section); +extern void psiconv_free_object(psiconv_object object); extern void psiconv_free_in_line_layout(psiconv_in_line_layout layout); extern void psiconv_free_in_line_layouts(psiconv_in_line_layouts layouts); extern void psiconv_free_replacement(psiconv_replacement replacement);