libDXF 0.0.1
A library with DXF related functions written in C.
|
00001 00043 #ifndef LIBDXF_SRC_MLINESTYLE_H 00044 #define LIBDXF_SRC_MLINESTYLE_H 00045 00046 00047 #include "global.h" 00048 00049 00050 #ifdef __cplusplus 00051 extern "C" { 00052 #endif 00053 00054 00069 typedef struct 00070 dxf_mlinestyle_struct 00071 { 00072 /* Members common for all DXF objects. */ 00073 int id_code; 00078 char *dictionary_owner_soft; 00081 char *dictionary_owner_hard; 00084 /* Specific members for a DXF mlinestyle. */ 00085 char *name; 00088 char *description; 00091 char *element_linetype[DXF_MAX_PARAM]; 00096 double element_offset[DXF_MAX_PARAM]; 00101 double start_angle; 00104 double end_angle; 00107 int color; 00110 int element_color[DXF_MAX_PARAM]; 00115 int flags; 00128 int number_of_elements; 00131 struct DxfMlinestyle *next; 00134 } DxfMlinestyle; 00135 00136 00137 DxfMlinestyle *dxf_mlinestyle_new (); 00138 DxfMlinestyle *dxf_mlinestyle_init (DxfMlinestyle *mlinestyle); 00139 DxfMlinestyle *dxf_mlinestyle_read (DxfFile *fp, DxfMlinestyle *mlinestyle); 00140 int dxf_mlinestyle_write (DxfFile *fp, DxfMlinestyle *mlinestyle); 00141 int dxf_mlinestyle_free (DxfMlinestyle *mlinestyle); 00142 void dxf_mlinestyle_free_chain (DxfMlinestyle *mlinestyles); 00143 int dxf_mlinestyle_get_id_code (DxfMlinestyle *mlinestyle); 00144 DxfMlinestyle *dxf_mlinestyle_set_id_code (DxfMlinestyle *mlinestyle, int id_code); 00145 char *dxf_mlinestyle_get_dictionary_owner_soft (DxfMlinestyle *mlinestyle); 00146 DxfMlinestyle *dxf_mlinestyle_set_dictionary_owner_soft (DxfMlinestyle *mlinestyle, char *dictionary_owner_soft); 00147 char *dxf_mlinestyle_get_dictionary_owner_hard (DxfMlinestyle *mlinestyle); 00148 DxfMlinestyle *dxf_mlinestyle_set_dictionary_owner_hard (DxfMlinestyle *mlinestyle, char *dictionary_owner_hard); 00149 char *dxf_mlinestyle_get_name (DxfMlinestyle *mlinestyle); 00150 DxfMlinestyle *dxf_mlinestyle_set_name (DxfMlinestyle *mlinestyle, char *name); 00151 char *dxf_mlinestyle_get_description (DxfMlinestyle *mlinestyle); 00152 DxfMlinestyle *dxf_mlinestyle_set_description (DxfMlinestyle *mlinestyle, char *description); 00153 char *dxf_mlinestyle_get_ith_element_linetype (DxfMlinestyle *mlinestyle, int i); 00154 DxfMlinestyle *dxf_mlinestyle_set_ith_element_linetype (DxfMlinestyle *mlinestyle, char *element_linetype, int i); 00155 double dxf_mlinestyle_get_element_offset (DxfMlinestyle *mlinestyle); 00156 DxfMlinestyle *dxf_mlinestyle_set_element_offset (DxfMlinestyle *mlinestyle, double *element_offset); 00157 double dxf_mlinestyle_get_ith_element_offset (DxfMlinestyle *mlinestyle, int i); 00158 DxfMlinestyle *dxf_mlinestyle_set_ith_element_offset (DxfMlinestyle *mlinestyle, double element_offset, int i); 00159 double dxf_mlinestyle_get_start_angle (DxfMlinestyle *mlinestyle); 00160 DxfMlinestyle *dxf_mlinestyle_set_start_angle (DxfMlinestyle *mlinestyle, double start_angle); 00161 double dxf_mlinestyle_get_end_angle (DxfMlinestyle *mlinestyle); 00162 DxfMlinestyle *dxf_mlinestyle_set_end_angle (DxfMlinestyle *mlinestyle, double end_angle); 00163 int dxf_mlinestyle_get_color (DxfMlinestyle *mlinestyle); 00164 DxfMlinestyle *dxf_mlinestyle_set_color (DxfMlinestyle *mlinestyle, int color); 00165 int dxf_mlinestyle_get_ith_element_color (DxfMlinestyle *mlinestyle, int i); 00166 DxfMlinestyle *dxf_mlinestyle_set_ith_element_color (DxfMlinestyle *mlinestyle, int element_color, int i); 00167 int dxf_mlinestyle_get_flags (DxfMlinestyle *mlinestyle); 00168 DxfMlinestyle *dxf_mlinestyle_set_flags (DxfMlinestyle *mlinestyle, int flags); 00169 int dxf_mlinestyle_flag_is_fill_on (DxfMlinestyle *mlinestyle); 00170 int dxf_mlinestyle_flag_is_display_miters (DxfMlinestyle *mlinestyle); 00171 int dxf_mlinestyle_flag_is_start_square_end_cap (DxfMlinestyle *mlinestyle); 00172 int dxf_mlinestyle_flag_is_start_inner_arcs_cap (DxfMlinestyle *mlinestyle); 00173 int dxf_mlinestyle_flag_is_start_round_outer_arcs_cap (DxfMlinestyle *mlinestyle); 00174 int dxf_mlinestyle_flag_is_end_square_end_cap (DxfMlinestyle *mlinestyle); 00175 int dxf_mlinestyle_flag_is_end_inner_arcs_cap (DxfMlinestyle *mlinestyle); 00176 int dxf_mlinestyle_flag_is_end_round_outer_arcs_cap (DxfMlinestyle *mlinestyle); 00177 int dxf_mlinestyle_get_number_of_elements (DxfMlinestyle *mlinestyle); 00178 DxfMlinestyle *dxf_mlinestyle_set_number_of_elements (DxfMlinestyle *mlinestyle, int number_of_elements); 00179 DxfMlinestyle *dxf_mlinestyle_get_next (DxfMlinestyle *mlinestyle); 00180 DxfMlinestyle *dxf_mlinestyle_set_next (DxfMlinestyle *mlinestyle, DxfMlinestyle *next); 00181 DxfMlinestyle *dxf_mlinestyle_get_last (DxfMlinestyle *mlinestyle); 00182 00183 00184 #ifdef __cplusplus 00185 } 00186 #endif 00187 00188 00189 #endif /* LIBDXF_SRC_MLINESTYLE_H */ 00190 00191 00192 /* EOF */