(root)/
libredwg-0.13/
test/
unit-testing/
layout.c
       1  #define DWG_TYPE DWG_TYPE_LAYOUT
       2  #include "common.c"
       3  
       4  void
       5  api_process (dwg_object *obj)
       6  {
       7    int error, isnew;
       8    Dwg_Object_PLOTSETTINGS plotsettings;
       9    BITCODE_TV layout_name;
      10    BITCODE_BS tab_order;
      11    BITCODE_BS layout_flags;
      12    BITCODE_3DPOINT INSBASE;
      13    BITCODE_2DPOINT LIMMIN;
      14    BITCODE_2DPOINT LIMMAX;
      15    BITCODE_3DPOINT UCSORG;
      16    BITCODE_3DPOINT UCSXDIR;
      17    BITCODE_3DPOINT UCSYDIR;
      18    BITCODE_BD ucs_elevation;
      19    BITCODE_BS UCSORTHOVIEW;
      20    BITCODE_3DPOINT EXTMIN;
      21    BITCODE_3DPOINT EXTMAX;
      22    BITCODE_H block_header;
      23    BITCODE_H active_viewport;
      24    BITCODE_H base_ucs;
      25    BITCODE_H named_ucs;
      26    BITCODE_BL num_viewports;
      27    BITCODE_H *viewports;
      28  
      29    Dwg_Version_Type dwg_version = obj->parent->header.version;
      30    dwg_obj_layout *layout = dwg_object_to_LAYOUT (obj);
      31    memset (&plotsettings, 0, sizeof (Dwg_Object_PLOTSETTINGS));
      32  
      33    CHK_SUBCLASS_UTF8TEXT (layout->plotsettings, PLOTSETTINGS, printer_cfg_file);
      34    CHK_SUBCLASS_UTF8TEXT (layout->plotsettings, PLOTSETTINGS, paper_size);
      35    CHK_SUBCLASS_UTF8TEXT (layout->plotsettings, PLOTSETTINGS,
      36                           canonical_media_name);
      37    CHK_SUBCLASS_UTF8TEXT (layout->plotsettings, PLOTSETTINGS, stylesheet);
      38    CHK_SUBCLASS_UTF8TEXT (layout->plotsettings, PLOTSETTINGS, plotview_name);
      39    CHK_SUBCLASS_H (layout->plotsettings, PLOTSETTINGS, plotview);
      40    CHK_SUBCLASS_TYPE (layout->plotsettings, PLOTSETTINGS, plot_flags, BSx);
      41    CHK_SUBCLASS_TYPE (layout->plotsettings, PLOTSETTINGS, left_margin, BD);
      42    CHK_SUBCLASS_TYPE (layout->plotsettings, PLOTSETTINGS, bottom_margin, BD);
      43    CHK_SUBCLASS_TYPE (layout->plotsettings, PLOTSETTINGS, right_margin, BD);
      44    CHK_SUBCLASS_TYPE (layout->plotsettings, PLOTSETTINGS, top_margin, BD);
      45    CHK_SUBCLASS_TYPE (layout->plotsettings, PLOTSETTINGS, paper_width, BD);
      46    CHK_SUBCLASS_TYPE (layout->plotsettings, PLOTSETTINGS, paper_height, BD);
      47    CHK_SUBCLASS_2RD (layout->plotsettings, PLOTSETTINGS, plot_origin);
      48    CHK_SUBCLASS_TYPE (layout->plotsettings, PLOTSETTINGS, plot_paper_unit, BS);
      49    CHK_SUBCLASS_MAX (layout->plotsettings, PLOTSETTINGS, plot_paper_unit, BS,
      50                      2);
      51    CHK_SUBCLASS_TYPE (layout->plotsettings, PLOTSETTINGS, plot_rotation_mode,
      52                       BS);
      53    CHK_SUBCLASS_MAX (layout->plotsettings, PLOTSETTINGS, plot_rotation_mode, BS,
      54                      3);
      55    CHK_SUBCLASS_TYPE (layout->plotsettings, PLOTSETTINGS, plot_type, BS);
      56    CHK_SUBCLASS_MAX (layout->plotsettings, PLOTSETTINGS, plot_type, BS, 5);
      57    CHK_SUBCLASS_2RD (layout->plotsettings, PLOTSETTINGS, plot_window_ll);
      58    CHK_SUBCLASS_2RD (layout->plotsettings, PLOTSETTINGS, plot_window_ur);
      59    CHK_SUBCLASS_TYPE (layout->plotsettings, PLOTSETTINGS, paper_units, BD);
      60    CHK_SUBCLASS_TYPE (layout->plotsettings, PLOTSETTINGS, drawing_units, BD);
      61    CHK_SUBCLASS_TYPE (layout->plotsettings, PLOTSETTINGS, std_scale_type, BS);
      62    CHK_SUBCLASS_MAX (layout->plotsettings, PLOTSETTINGS, std_scale_type, BS,
      63                      32);
      64    CHK_SUBCLASS_TYPE (layout->plotsettings, PLOTSETTINGS, std_scale_factor, BD);
      65    CHK_SUBCLASS_2RD (layout->plotsettings, PLOTSETTINGS, paper_image_origin);
      66    CHK_SUBCLASS_TYPE (layout->plotsettings, PLOTSETTINGS, shadeplot_type, BS);
      67    CHK_SUBCLASS_MAX (layout->plotsettings, PLOTSETTINGS, shadeplot_type, BS, 5);
      68    CHK_SUBCLASS_TYPE (layout->plotsettings, PLOTSETTINGS, shadeplot_reslevel,
      69                       BS);
      70    CHK_SUBCLASS_MAX (layout->plotsettings, PLOTSETTINGS, shadeplot_reslevel, BS,
      71                      5);
      72    CHK_SUBCLASS_TYPE (layout->plotsettings, PLOTSETTINGS, shadeplot_customdpi,
      73                       BS);
      74    CHK_SUBCLASS_H (layout->plotsettings, PLOTSETTINGS, shadeplot);
      75  
      76    CHK_ENTITY_UTF8TEXT (layout, LAYOUT, layout_name);
      77    CHK_ENTITY_TYPE (layout, LAYOUT, tab_order, BS);
      78    CHK_ENTITY_TYPE (layout, LAYOUT, layout_flags, BSx);
      79    CHK_ENTITY_3RD (layout, LAYOUT, INSBASE);
      80    CHK_ENTITY_2RD (layout, LAYOUT, LIMMIN);
      81    CHK_ENTITY_2RD (layout, LAYOUT, LIMMAX);
      82    CHK_ENTITY_3RD (layout, LAYOUT, UCSORG);
      83    CHK_ENTITY_3RD (layout, LAYOUT, UCSXDIR);
      84    CHK_ENTITY_3RD (layout, LAYOUT, UCSYDIR);
      85    CHK_ENTITY_TYPE (layout, LAYOUT, ucs_elevation, BD);
      86    CHK_ENTITY_TYPE (layout, LAYOUT, UCSORTHOVIEW, BS);
      87    CHK_ENTITY_MAX (layout, LAYOUT, UCSORTHOVIEW, BS, 6);
      88    CHK_ENTITY_3RD (layout, LAYOUT, EXTMIN);
      89    CHK_ENTITY_3RD (layout, LAYOUT, EXTMAX);
      90  
      91    CHK_ENTITY_H (layout, LAYOUT, block_header);
      92    CHK_ENTITY_H (layout, LAYOUT, active_viewport);
      93    CHK_ENTITY_H (layout, LAYOUT, base_ucs);
      94    CHK_ENTITY_H (layout, LAYOUT, named_ucs);
      95    CHK_ENTITY_TYPE (layout, LAYOUT, num_viewports, BL);
      96    CHK_ENTITY_HV (layout, LAYOUT, viewports, num_viewports);
      97  }