(root)/
libredwg-0.13/
test/
unit-testing/
tablegeometry.c
       1  #define DWG_TYPE DWG_TYPE_TABLEGEOMETRY
       2  #include "common.c"
       3  
       4  void
       5  api_process (dwg_object *obj)
       6  {
       7    int error;
       8    BITCODE_BL numrows;
       9    BITCODE_BL numcols;
      10    BITCODE_BL num_cells; /* = numrows * numcols */
      11    Dwg_TABLEGEOMETRY_Cell *cells;
      12    Dwg_CellContentGeometry *geometry;
      13  
      14    Dwg_Version_Type dwg_version = obj->parent->header.version;
      15    dwg_obj_tablegeometry *_obj = dwg_object_to_TABLEGEOMETRY (obj);
      16  
      17    CHK_ENTITY_TYPE (_obj, TABLEGEOMETRY, numrows, BL);
      18    CHK_ENTITY_TYPE (_obj, TABLEGEOMETRY, numcols, BL);
      19    CHK_ENTITY_TYPE (_obj, TABLEGEOMETRY, num_cells, BL);
      20    if (!dwg_dynapi_entity_value (_obj, "TABLEGEOMETRY", "cells", &cells, NULL))
      21      fail ("TABLEGEOMETRY.cells");
      22    else
      23      for (BITCODE_BL i = 0; i < num_cells; i++)
      24        {
      25          CHK_SUBCLASS_TYPE (cells[i], TABLEGEOMETRY_Cell, geom_data_flag, BL);
      26          CHK_SUBCLASS_TYPE (cells[i], TABLEGEOMETRY_Cell, width_w_gap, BD);
      27          CHK_SUBCLASS_TYPE (cells[i], TABLEGEOMETRY_Cell, height_w_gap, BD);
      28          CHK_SUBCLASS_H (cells[i], TABLEGEOMETRY_Cell, tablegeometry);
      29          CHK_SUBCLASS_TYPE (cells[i], TABLEGEOMETRY_Cell, num_geometry, BL);
      30          if (!dwg_dynapi_subclass_value (&cells[i], "TABLEGEOMETRY_Cell",
      31                                          "geometry", &geometry, NULL))
      32            fail ("TABLEGEOMETRY.cells.geometry");
      33          else
      34            for (BITCODE_BL j = 0; j < cells[i].num_geometry; j++)
      35              {
      36                CHK_SUBCLASS_3RD (geometry[j], CellContentGeometry,
      37                                  dist_top_left);
      38                CHK_SUBCLASS_3RD (geometry[j], CellContentGeometry, dist_center);
      39                CHK_SUBCLASS_TYPE (geometry[j], CellContentGeometry,
      40                                   content_width, BD);
      41                CHK_SUBCLASS_TYPE (geometry[j], CellContentGeometry,
      42                                   content_height, BD);
      43                CHK_SUBCLASS_TYPE (geometry[j], CellContentGeometry, width, BD);
      44                CHK_SUBCLASS_TYPE (geometry[j], CellContentGeometry, height, BD);
      45                CHK_SUBCLASS_TYPE (geometry[j], CellContentGeometry, unknown,
      46                                   BL);
      47              }
      48        }
      49  }