(root)/
libredwg-0.13/
test/
unit-testing/
block_header.c
       1  #define DWG_TYPE DWG_TYPE_BLOCK_HEADER
       2  #include "common.c"
       3  
       4  void
       5  api_process (dwg_object *obj)
       6  {
       7    int error, isnew;
       8    BITCODE_RC flag;
       9    BITCODE_T name;
      10    BITCODE_RSd used;
      11    BITCODE_B is_xref_ref;
      12    BITCODE_BS is_xref_resolved;
      13    BITCODE_B is_xref_dep;
      14    BITCODE_H xref;
      15  
      16    BITCODE_BL __iterator;
      17    BITCODE_RS flag2;       /* preR13 */
      18    BITCODE_B anonymous;    /* flag 70 bit 1 */
      19    BITCODE_B hasattrs;     /* flag 70 bit 2 */
      20    BITCODE_B blkisxref;    /* flag 70 bit 3 */
      21    BITCODE_B xrefoverlaid; /* flag 70 bit 4 */
      22    BITCODE_B loaded_bit;   /* flag 70 bit 6 */
      23    BITCODE_BL num_owned;
      24    BITCODE_3DPOINT base_pt;
      25    BITCODE_TV xref_pname;
      26    BITCODE_RL i, num_inserts;
      27    BITCODE_TV description;
      28    BITCODE_BL preview_size; /* no DXF. BLL? */
      29    BITCODE_TF preview;      /* DXF 310. Called PreviewIcon */
      30    BITCODE_BS insert_units;
      31    BITCODE_B explodable;
      32    BITCODE_RC block_scaling;
      33    BITCODE_H block_entity;
      34    BITCODE_H first_entity;
      35    BITCODE_H last_entity;
      36    BITCODE_H *entities;
      37    BITCODE_H endblk_entity;
      38    BITCODE_H *inserts;
      39    BITCODE_H layout;
      40  
      41    // Dwg_Version_Type dwg_version = obj->parent->header.version;
      42    dwg_obj_block_header *block_header = dwg_object_to_BLOCK_HEADER (obj);
      43  
      44    CHK_ENTITY_TYPE (block_header, BLOCK_HEADER, flag, RC);
      45    CHK_ENTITY_UTF8TEXT_W_OBJ (block_header, BLOCK_HEADER, name);
      46    CHK_ENTITY_TYPE (block_header, BLOCK_HEADER, used, RSd);
      47    CHK_ENTITY_TYPE (block_header, BLOCK_HEADER, is_xref_ref, B);
      48    CHK_ENTITY_TYPE (block_header, BLOCK_HEADER, is_xref_resolved, BS);
      49    CHK_ENTITY_TYPE (block_header, BLOCK_HEADER, is_xref_dep, B);
      50    CHK_ENTITY_H (block_header, BLOCK_HEADER, xref);
      51  
      52    CHK_ENTITY_TYPE (block_header, BLOCK_HEADER, flag2, RS); /* preR13 */
      53    CHK_ENTITY_TYPE (block_header, BLOCK_HEADER, anonymous,
      54                     B); /* flag 70 bit 1 */
      55    CHK_ENTITY_TYPE (block_header, BLOCK_HEADER, hasattrs,
      56                     B); /* flag 70 bit 2 */
      57    CHK_ENTITY_TYPE (block_header, BLOCK_HEADER, blkisxref,
      58                     B); /* flag 70 bit 3 */
      59    CHK_ENTITY_TYPE (block_header, BLOCK_HEADER, xrefoverlaid,
      60                     B); /* flag 70 bit 4 */
      61    CHK_ENTITY_TYPE (block_header, BLOCK_HEADER, loaded_bit,
      62                     B); /* flag 70 bit 6 */
      63    CHK_ENTITY_TYPE (block_header, BLOCK_HEADER, num_owned, BL);
      64    CHK_ENTITY_3RD (block_header, BLOCK_HEADER, base_pt);
      65    CHK_ENTITY_UTF8TEXT (block_header, BLOCK_HEADER, xref_pname);
      66    CHK_ENTITY_TYPE (block_header, BLOCK_HEADER, num_inserts, RL);
      67    CHK_ENTITY_TYPE (block_header, BLOCK_HEADER, description, TV);
      68    CHK_ENTITY_TYPE (block_header, BLOCK_HEADER, preview_size, BL);
      69    CHK_ENTITY_TYPE (block_header, BLOCK_HEADER, preview, TF);
      70    CHK_ENTITY_TYPE (block_header, BLOCK_HEADER, insert_units, BS);
      71    CHK_ENTITY_TYPE (block_header, BLOCK_HEADER, explodable, B);
      72    CHK_ENTITY_TYPE (block_header, BLOCK_HEADER, block_scaling, RC);
      73    CHK_ENTITY_UTF8TEXT (block_header, BLOCK_HEADER, description);
      74    CHK_ENTITY_H (block_header, BLOCK_HEADER, block_entity);
      75    CHK_ENTITY_H (block_header, BLOCK_HEADER, first_entity);
      76    CHK_ENTITY_H (block_header, BLOCK_HEADER, last_entity);
      77    if (!dwg_dynapi_entity_value (block_header, "BLOCK_HEADER", "entities",
      78                                  &entities, NULL))
      79      fail ("BLOCK_HEADER.entities");
      80    for (i = 0; i < num_owned; i++)
      81      {
      82        ok ("BLOCK_HEADER.entities[%d]: " FORMAT_REF, i, ARGS_REF (entities[i]));
      83      }
      84    CHK_ENTITY_H (block_header, BLOCK_HEADER, endblk_entity);
      85    if (!dwg_dynapi_entity_value (block_header, "BLOCK_HEADER", "inserts",
      86                                  &inserts, NULL))
      87      fail ("BLOCK_HEADER.inserts");
      88    for (i = 0; i < num_inserts; i++)
      89      {
      90        ok ("BLOCK_HEADER.inserts[%d]: " FORMAT_REF, i, ARGS_REF (inserts[i]));
      91      }
      92    CHK_ENTITY_H (block_header, BLOCK_HEADER, layout);
      93  }