(root)/
libredwg-0.13/
test/
unit-testing/
mlinestyle.c
       1  #define DWG_TYPE DWG_TYPE_MLINESTYLE
       2  #include "common.c"
       3  
       4  void
       5  api_process (dwg_object *obj)
       6  {
       7    int error, isnew;
       8    BITCODE_TV name;
       9    BITCODE_TV description;
      10    BITCODE_BS flag;
      11    BITCODE_CMC fill_color;
      12    BITCODE_BD start_angle;
      13    BITCODE_BD end_angle;
      14    BITCODE_RC i, num_lines;
      15    Dwg_MLINESTYLE_line *lines;
      16  
      17    Dwg_Version_Type dwg_version = obj->parent->header.version;
      18    dwg_obj_mlinestyle *mlinestyle = dwg_object_to_MLINESTYLE (obj);
      19  
      20    CHK_ENTITY_UTF8TEXT_W_OBJ (mlinestyle, MLINESTYLE, name);
      21    CHK_ENTITY_UTF8TEXT (mlinestyle, MLINESTYLE,
      22                         description); // old API called desc
      23    CHK_ENTITY_TYPE_W_OBJ (mlinestyle, MLINESTYLE, flag, BS);
      24    CHK_ENTITY_MAX (mlinestyle, MLINESTYLE, flag, BS, 2047);
      25    CHK_ENTITY_CMC (mlinestyle, MLINESTYLE, fill_color);
      26    CHK_ENTITY_TYPE_W_OBJ (mlinestyle, MLINESTYLE, start_angle, BD);
      27    CHK_ENTITY_MAX (mlinestyle, MLINESTYLE, start_angle, BD, MAX_ANGLE);
      28    CHK_ENTITY_TYPE_W_OBJ (mlinestyle, MLINESTYLE, end_angle, BD);
      29    CHK_ENTITY_MAX (mlinestyle, MLINESTYLE, end_angle, BD, MAX_ANGLE);
      30    CHK_ENTITY_TYPE_W_OBJ (mlinestyle, MLINESTYLE, num_lines, RCd);
      31  
      32    if (!dwg_dynapi_entity_value (mlinestyle, "MLINESTYLE", "lines", &lines,
      33                                  NULL))
      34      fail ("MLINESTYLE.lines");
      35    else
      36      {
      37        for (i = 0; i < num_lines; i++)
      38          {
      39            CHK_SUBCLASS_TYPE (lines[i], MLINESTYLE_line, offset, BD);
      40            CHK_SUBCLASS_CMC (lines[i], MLINESTYLE_line, color);
      41            if (dwg_version < R_2018)
      42              CHK_SUBCLASS_TYPE (lines[i], MLINESTYLE_line, lt_index, BSd)
      43            else
      44              CHK_SUBCLASS_H (lines[i], MLINESTYLE_line, lt_ltype);
      45          }
      46      }
      47  }