(root)/
libredwg-0.13/
test/
unit-testing/
text.c
       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  }