libDXF 0.0.1
A library with DXF related functions written in C.

table.h

Go to the documentation of this file.
00001 
00039 #ifndef LIBDXF_SRC_TABLE_H
00040 #define LIBDXF_SRC_TABLE_H
00041 
00042 
00043 #include "global.h"
00044 
00045 
00046 #ifdef __cplusplus
00047 extern "C" {
00048 #endif
00049 
00050 
00061 typedef struct
00062 dxf_table_cell
00063 {
00064         char *text_string;
00076         char *optional_text_string[DXF_MAX_PARAM];
00082         char *text_style_name;
00086         int color_bg;
00090         int color_fg;
00094         int border_color_right;
00098         int border_color_bottom;
00102         int border_color_left;
00106         int border_color_top;
00110         int override_flag;
00116         double text_height;
00120         double block_scale;
00125         double block_rotation;
00129         int alignment;
00133         int type;
00140         int flag;
00144         int merged;
00148         int autofit;
00153         double border_width;
00157         double border_height;
00161         int override;
00165         int virtual_edge;
00182         int number_of_block_attdefs;
00186         double border_lineweight_right;
00190         double border_lineweight_bottom;
00194         double border_lineweight_left;
00198         double border_lineweight_top;
00202         int color_fill_override;
00206         int border_visibility_override_right;
00210         int border_visibility_override_bottom;
00215         int border_visibility_override_left;
00219         int border_visibility_override_top;
00223         char *attdef_text_string;
00228         char *attdef_soft_pointer[DXF_MAX_PARAM];
00234         char *block_table_record_hard_pointer;
00239         char *field_object_pointer;
00246         struct DxfTableCell *next;
00249 } DxfTableCell;
00250 
00251 
00262 typedef struct
00263 dxf_table
00264 {
00265         int id_code;
00270         char *linetype;
00274         char *layer;
00278         double elevation;
00285         double thickness;
00289         double linetype_scale;
00292         int16_t visibility;
00299         int color;
00306         int paperspace;
00311         int graphics_data_size;
00317         char *binary_graphics_data[DXF_MAX_PARAM];
00322         char *dictionary_owner_soft;
00326         char *dictionary_owner_hard;
00330         /* Specific members for a DXF table. */
00331         char *block_name;
00335         char *table_text_style_name;
00340         double x0;
00343         double y0;
00346         double z0;
00349         double x1;
00352         double y1;
00355         double z1;
00358         double horizontal_cell_margin;
00362         double vertical_cell_margin;
00366         int table_cell_color_bg;
00372         int table_cell_color_fg;
00378         int table_cell_border_color_horizontal;
00382         int table_cell_border_color_bottom;
00386         int table_cell_border_color_vertical;
00390         int table_cell_border_color_right;
00394         int flow_direction;
00398         int32_t table_value_flag;
00401         int number_of_rows;
00406         int number_of_columns;
00411         int override_flag;
00414         int border_color_override_flag;
00417         int border_lineweight_override_flag;
00420         int border_visibility_override_flag;
00423         double table_text_height;
00428         double row_height[DXF_MAX_PARAM];
00432         double column_height[DXF_MAX_PARAM];
00436         int table_cell_alignment;
00441         double table_cell_border_lineweight_right;
00443         int table_data_version;
00449         int suppress_table_title;
00455         int suppress_header_row;
00459         int table_cell_color_fill_override;
00469         char *tablestyle_object_pointer;
00472         char *owning_block_pointer;
00475         struct DxfTableCell *cells;
00478         struct DxfTable *next;
00481 } DxfTable;
00482 
00483 
00484 DxfTableCell *dxf_table_cell_new ();
00485 DxfTable *dxf_table_new ();
00486 DxfTableCell *dxf_table_cell_init (DxfTableCell *cell);
00487 DxfTable *dxf_table_init (DxfTable *table);
00488 DxfTable *dxf_table_read (DxfFile *fp, DxfTable *table);
00489 int dxf_table_cell_write (DxfFile *fp, DxfTableCell *cell);
00490 int dxf_table_write (DxfFile *fp, DxfTable *table);
00491 int dxf_table_cell_free (DxfTableCell *cell);
00492 int dxf_table_free (DxfTable *table);
00493 void dxf_table_cell_free_chain (DxfTableCell *cells);
00494 void dxf_table_free_chain (DxfTable *tables);
00495 
00496 
00497 #ifdef __cplusplus
00498 }
00499 #endif
00500 
00501 
00502 #endif /* LIBDXF_SRC_TABLE_H */
00503 
00504 
00505 /* EOF */