(root)/
libredwg-0.13/
test/
unit-testing/
blockuserparameter.c
       1  // TODO coverage
       2  #define DWG_TYPE DWG_TYPE_BLOCKUSERPARAMETER
       3  #include "common.c"
       4  
       5  void
       6  api_process (dwg_object *obj)
       7  {
       8    int error, isnew;
       9    BITCODE_BL i;
      10    BLOCK1PTPARAMETER_fields;
      11    BITCODE_BS flag;         /*!< DXF 90 */
      12    BITCODE_H assocvariable; /*!< DXF 305 */
      13    BITCODE_T expr;          /*!< DXF 301 */
      14    Dwg_EvalVariant value;
      15    BITCODE_BS type; /*!< DXF 170 */
      16  
      17    Dwg_Version_Type dwg_version = obj->parent->header.version;
      18    // #ifdef DEBUG_CLASSES
      19    dwg_obj_blockuserparameter *_obj = dwg_object_to_BLOCKUSERPARAMETER (obj);
      20  
      21    CHK_EVALEXPR (BLOCKUSERPARAMETER);
      22    // AcDbBlockElement
      23    CHK_ENTITY_UTF8TEXT (_obj, BLOCKUSERPARAMETER, name);
      24    CHK_ENTITY_TYPE (_obj, BLOCKUSERPARAMETER, be_major, BL);
      25    CHK_ENTITY_TYPE (_obj, BLOCKUSERPARAMETER, be_minor, BL);
      26    CHK_ENTITY_TYPE (_obj, BLOCKUSERPARAMETER, eed1071, BL);
      27    // AcDbBlockParameter
      28    CHK_ENTITY_TYPE (_obj, BLOCKUSERPARAMETER, show_properties, B);
      29    CHK_ENTITY_TYPE (_obj, BLOCKUSERPARAMETER, chain_actions, B);
      30    // AcDbBlock1PtParameter
      31    CHK_ENTITY_3RD (_obj, BLOCKUSERPARAMETER, def_pt);
      32    CHK_ENTITY_TYPE (_obj, BLOCKUSERPARAMETER, num_propinfos, BL);
      33    CHK_ENTITY_MAX (_obj, BLOCKUSERPARAMETER, num_propinfos, BL, 2);
      34    BLOCKPARAMETER_PropInfo (prop1) BLOCKPARAMETER_PropInfo (prop2)
      35        // AcDbBlockUserParameter
      36        CHK_ENTITY_TYPE (_obj, BLOCKUSERPARAMETER, flag, BS);
      37    CHK_ENTITY_H (_obj, BLOCKUSERPARAMETER, assocvariable);
      38    CHK_ENTITY_UTF8TEXT (_obj, BLOCKUSERPARAMETER, expr);
      39  
      40    CHK_SUBCLASS_TYPE (_obj->value, EvalVariant, code, BS);
      41    switch (dwg_resbuf_value_type (_obj->value.code))
      42      {
      43      case DWG_VT_REAL:
      44        CHK_SUBCLASS_TYPE (_obj->value, EvalVariant, u.bd, BD);
      45        break;
      46      case DWG_VT_INT32:
      47        CHK_SUBCLASS_TYPE (_obj->value, EvalVariant, u.bl, BL);
      48        break;
      49      case DWG_VT_INT16:
      50        CHK_SUBCLASS_TYPE (_obj->value, EvalVariant, u.bs, BS);
      51        break;
      52      case DWG_VT_STRING:
      53        CHK_SUBCLASS_UTF8TEXT (_obj->value, EvalVariant, u.text);
      54        break;
      55      case DWG_VT_HANDLE:
      56        CHK_SUBCLASS_H (_obj->value, EvalVariant, u.handle);
      57        break;
      58      case DWG_VT_BINARY:
      59      case DWG_VT_OBJECTID:
      60      case DWG_VT_POINT3D:
      61      case DWG_VT_INVALID:
      62      case DWG_VT_INT64:
      63      case DWG_VT_INT8:
      64      case DWG_VT_BOOL:
      65      default:
      66        fail ("Unknown ASSOCVARIABLE.value.code %u", _obj->value.code);
      67      }
      68  
      69    CHK_ENTITY_TYPE (_obj, BLOCKUSERPARAMETER, type, BS);
      70    // #endif
      71  }