(root)/
libredwg-0.13/
test/
unit-testing/
vport.c
       1  #define DWG_TYPE DWG_TYPE_VPORT
       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_BD VIEWSIZE;     // really the view height
      17    BITCODE_BD view_width;   // in DWG r13+, needed to calc. aspect_ratio
      18    BITCODE_BD aspect_ratio; // DXF 41 = view_width / VIEWSIZE
      19    BITCODE_2RD VIEWCTR;
      20    BITCODE_3BD view_target;
      21    BITCODE_3BD VIEWDIR;
      22    BITCODE_BD view_twist;
      23    BITCODE_BD lens_length;
      24    BITCODE_BD front_clip_z;
      25    BITCODE_BD back_clip_z;
      26    BITCODE_4BITS VIEWMODE;
      27    BITCODE_RC render_mode;
      28    BITCODE_B use_default_lights;
      29    BITCODE_RC default_lightning_type;
      30    BITCODE_BD brightness;
      31    BITCODE_BD contrast;
      32    BITCODE_CMC ambient_color;
      33    BITCODE_H background;
      34    BITCODE_H visualstyle;
      35    BITCODE_H sun;
      36  
      37    BITCODE_2RD lower_left;
      38    BITCODE_2RD upper_right;
      39    BITCODE_B UCSFOLLOW;
      40    BITCODE_BS circle_zoom; /* circle sides: nr of tesselations */
      41    BITCODE_B FASTZOOM;
      42    BITCODE_RC UCSICON;
      43    BITCODE_B GRIDMODE;
      44    BITCODE_2RD GRIDUNIT;
      45    BITCODE_B SNAPMODE;
      46    BITCODE_B SNAPSTYLE;
      47    BITCODE_BS SNAPISOPAIR;
      48    BITCODE_BD SNAPANG;
      49    BITCODE_2RD SNAPBASE;
      50    BITCODE_2RD SNAPUNIT;
      51    BITCODE_B ucs_at_origin;
      52    BITCODE_B UCSVP;
      53    BITCODE_3BD ucsorg;
      54    BITCODE_3BD ucsxdir;
      55    BITCODE_3BD ucsydir;
      56    BITCODE_BD ucs_elevation;
      57    BITCODE_BS UCSORTHOVIEW;
      58    BITCODE_BS grid_flags;
      59    BITCODE_BS grid_major;
      60    BITCODE_H named_ucs;
      61    BITCODE_H base_ucs;
      62  
      63    Dwg_Version_Type dwg_version = obj->parent->header.version;
      64    dwg_obj_vport *_obj = dwg_object_to_VPORT (obj);
      65  
      66    CHK_ENTITY_TYPE (_obj, VPORT, flag, RC);
      67    CHK_ENTITY_UTF8TEXT (_obj, VPORT, name);
      68    CHK_ENTITY_TYPE (_obj, VPORT, used, RSd);
      69    CHK_ENTITY_TYPE (_obj, VPORT, is_xref_ref, B);
      70    CHK_ENTITY_TYPE (_obj, VPORT, is_xref_resolved, BS);
      71    CHK_ENTITY_TYPE (_obj, VPORT, is_xref_dep, B);
      72    CHK_ENTITY_H (_obj, VPORT, xref);
      73  
      74    CHK_ENTITY_TYPE (_obj, VPORT, VIEWSIZE, BD); // really the view height
      75    CHK_ENTITY_TYPE (_obj, VPORT, view_width,
      76                     BD); // in DWG r13+, needed to calc. aspect_ratio
      77    CHK_ENTITY_TYPE (_obj, VPORT, aspect_ratio,
      78                     BD); // DXF 41 = view_width / VIEWSIZE
      79    CHK_ENTITY_2RD (_obj, VPORT, VIEWCTR);
      80    CHK_ENTITY_3RD (_obj, VPORT, view_target);
      81    CHK_ENTITY_3RD (_obj, VPORT, VIEWDIR);
      82    CHK_ENTITY_TYPE (_obj, VPORT, view_twist, BD);
      83    CHK_ENTITY_TYPE (_obj, VPORT, lens_length, BD);
      84    CHK_ENTITY_TYPE (_obj, VPORT, front_clip_z, BD);
      85    CHK_ENTITY_TYPE (_obj, VPORT, back_clip_z, BD);
      86    CHK_ENTITY_TYPE (_obj, VPORT, VIEWMODE, 4BITS);
      87    CHK_ENTITY_TYPE (_obj, VPORT, render_mode, RC);
      88    CHK_ENTITY_TYPE (_obj, VPORT, use_default_lights, B);
      89    CHK_ENTITY_TYPE (_obj, VPORT, default_lightning_type, RC);
      90    CHK_ENTITY_TYPE (_obj, VPORT, brightness, BD);
      91    CHK_ENTITY_TYPE (_obj, VPORT, contrast, BD);
      92    CHK_ENTITY_CMC (_obj, VPORT, ambient_color);
      93    CHK_ENTITY_H (_obj, VPORT, background);
      94    CHK_ENTITY_H (_obj, VPORT, visualstyle);
      95    CHK_ENTITY_H (_obj, VPORT, sun);
      96  
      97    CHK_ENTITY_2RD (_obj, VPORT, lower_left);
      98    CHK_ENTITY_2RD (_obj, VPORT, upper_right);
      99    CHK_ENTITY_TYPE (_obj, VPORT, UCSFOLLOW, B);
     100    CHK_ENTITY_TYPE (_obj, VPORT, circle_zoom,
     101                     BS); /* circle sides: nr of tesselations */
     102    CHK_ENTITY_TYPE (_obj, VPORT, FASTZOOM, B);
     103    CHK_ENTITY_TYPE (_obj, VPORT, UCSICON, RC);
     104    CHK_ENTITY_TYPE (_obj, VPORT, GRIDMODE, B);
     105    CHK_ENTITY_2RD (_obj, VPORT, GRIDUNIT);
     106    CHK_ENTITY_TYPE (_obj, VPORT, SNAPMODE, B);
     107    CHK_ENTITY_TYPE (_obj, VPORT, SNAPSTYLE, B);
     108    CHK_ENTITY_TYPE (_obj, VPORT, SNAPISOPAIR, BS);
     109    CHK_ENTITY_TYPE (_obj, VPORT, SNAPANG, BD);
     110    CHK_ENTITY_2RD (_obj, VPORT, SNAPBASE);
     111    CHK_ENTITY_2RD (_obj, VPORT, SNAPUNIT);
     112    CHK_ENTITY_TYPE (_obj, VPORT, ucs_at_origin, B);
     113    CHK_ENTITY_TYPE (_obj, VPORT, UCSVP, B);
     114    CHK_ENTITY_3RD (_obj, VPORT, ucsorg);
     115    CHK_ENTITY_3RD (_obj, VPORT, ucsxdir);
     116    CHK_ENTITY_3RD (_obj, VPORT, ucsydir);
     117    CHK_ENTITY_TYPE (_obj, VPORT, ucs_elevation, BD);
     118    CHK_ENTITY_TYPE (_obj, VPORT, UCSORTHOVIEW, BS);
     119    CHK_ENTITY_TYPE (_obj, VPORT, grid_flags, BS);
     120    CHK_ENTITY_TYPE (_obj, VPORT, grid_major, BS);
     121    CHK_ENTITY_H (_obj, VPORT, named_ucs);
     122    CHK_ENTITY_H (_obj, VPORT, base_ucs);
     123  }