Graphisoft®

API Development KitVersion: 18

VIDrawContext struct



struct VIDrawContext {
   ExportHotspotProc   *exporthotspot;
   ExportLineProc      *exportline;
   ExportLineProc      *exporthatchline;
   ExportPolyProc      *exportpoly;
   ExportTextProc      *exporttext;
   ExportRichTextProc  *exportrichtext;
   ExportPixMapProc    *exportpixmap;
   double               scalePaperToModel;
   double               maxArcDifference;
   void*                userDataPtr;
};



Description Drawing context for advanced drawing.
Module Advanced graphics
Header VectorPrimitives.h


Drawing callbacks


    ExportHotspot  exporthotspot
    ExportLineProc  exportline or exporthatchline
    ExportPolyProc  exportpoly
    ExportTextProc  exporttext;
    ExportPixMapProc  exportpixmap;

Data

   double  scalePaperToModel;
    "(x unit on the paper) * scalePaperToModel = y unit in the model" 1:100 means 100 (not affected by current magnification)
   double  maxArcDifference;
    The max difference between the arc and its segmented version (in the model) in meter. The lesser it is the smaller segments generated.
   void*  userDataPtr;
    This field can be anything, its definition is up to the user.

Detailed description

When you want to draw a VectorImage to some media, you can call its Draw method with an advanced drawing context (VIDrawContext). You should implement the needed callbacks and supply the needed values and then there is no problem with displaying a VectorImage.