1 #define DWG_TYPE DWG_TYPE_TEXT
2 #include "common.c"
3
4 void
5 api_process (dwg_object *obj)
6 {
7 int error = 0, isnew;
8 BITCODE_RD elevation, thickness, rotation, height, oblique_angle,
9 width_factor;
10 BITCODE_BS generation, vert_alignment, horiz_alignment;
11 BITCODE_RC dataflags;
12 char *text_value;
13 dwg_point_3d extrusion;
14 dwg_point_2d ins_pt, alignment_pt;
15 BITCODE_H style;
16
17 Dwg_Version_Type version = obj->parent->header.version;
18 dwg_ent_text *text = dwg_object_to_TEXT (obj);
19
20 CHK_ENTITY_UTF8TEXT (text, TEXT, text_value);
21 #ifdef USE_DEPRECATED_API
22 if (version < R_2007
23 && (strcmp (dwg_ent_text_get_text (text, &error), text_value) || error))
24 fail ("old API dwg_ent_text_get_text");
25 #endif
26
27 CHK_ENTITY_2RD (text, TEXT, ins_pt);
28 CHK_ENTITY_2RD (text, TEXT, alignment_pt);
29 CHK_ENTITY_3RD_W_OLD (text, TEXT, extrusion);
30 CHK_ENTITY_TYPE (text, TEXT, elevation, BD);
31 CHK_ENTITY_TYPE (text, TEXT, dataflags, RC);
32 CHK_ENTITY_TYPE_W_OLD (text, TEXT, height, RD);
33 CHK_ENTITY_TYPE_W_OLD (text, TEXT, thickness, RD);
34 CHK_ENTITY_TYPE_W_OLD (text, TEXT, rotation, RD);
35 CHK_ENTITY_MAX (text, TEXT, rotation, RD, 6.284);
36 CHK_ENTITY_TYPE (text, TEXT, oblique_angle, RD);
37 CHK_ENTITY_MAX (text, TEXT, oblique_angle, RD, 6.284);
38 CHK_ENTITY_TYPE (text, TEXT, width_factor, RD);
39 CHK_ENTITY_TYPE (text, TEXT, generation, BS);
40
41 CHK_ENTITY_TYPE_W_OLD (text, TEXT, vert_alignment, BS);
42 CHK_ENTITY_TYPE_W_OLD (text, TEXT, horiz_alignment, BS);
43 CHK_ENTITY_H (text, TEXT, style);
44 }