72                               const EDA_ANGLE& aPadOrient, 
void* aData ) 
override;
 
   74                               const EDA_ANGLE& aPadOrient, 
void* aData ) 
override;
 
   76                                    int aCornerRadius, 
const EDA_ANGLE& aOrient,
 
   77                                    void* aData ) 
override;
 
   80                                 void* aData ) 
override;
 
   82                                 const EDA_ANGLE& aPadOrient, 
void* aData ) 
override;
 
   84                                      const EDA_ANGLE& aOrient, 
void* aData ) 
override;
 
  101                                const wxString&          aText,
 
  110                                double                   *wideningFactor,
 
  117                                double                   *heightFactor );
 
 
  157        return wxString( wxT( 
"ps" ) );
 
 
  178    virtual bool StartPlot( 
const wxString& aPageNumber ) 
override;
 
  179    virtual bool EndPlot() 
override;
 
  192                              double aScale, 
bool aMirror ) 
override;
 
  194                       int aCornerRadius = 0 ) 
override;
 
  197                      const EDA_ANGLE& aAngle, 
double aRadius, 
FILL_T aFill, 
int aWidth ) 
override;
 
  199    virtual void PlotPoly( 
const std::vector<VECTOR2I>& aCornerList, 
FILL_T aFill,
 
  200                           int aWidth, 
void* aData = 
nullptr ) 
override;
 
  206                            double aScaleFactor ) 
override;
 
  208    virtual void PenTo( 
const VECTOR2I& pos, 
char plume ) 
override;
 
  211                       const wxString&        aText,
 
  219                       bool                   aMultilineAllowed,
 
  222                       void*                  aData = 
nullptr ) 
override;
 
  226                           const wxString&        aText,
 
  230                           void*                  aData = 
nullptr ) 
override;
 
  233                           int aWidth, 
void* aData = 
nullptr ) 
override;
 
  237    virtual void emitSetRGBColor( 
double r, 
double g, 
double b, 
double a ) 
override;
 
 
  279        return wxString( wxT( 
"pdf" ) );
 
 
  291    virtual bool OpenFile( 
const wxString& aFullFilename ) 
override;
 
  297    virtual bool StartPlot( 
const wxString& aPageNumber ) 
override;
 
  299    virtual bool StartPlot( 
const wxString& aPageNumber,
 
  300                            const wxString& aPageName = wxEmptyString );
 
  302    virtual bool EndPlot() 
override;
 
  307    virtual void StartPage( 
const wxString& aPageNumber,
 
  308                            const wxString& aPageName = wxEmptyString,
 
  309                            const wxString& aParentPageNumber = wxEmptyString,
 
  310                            const wxString& aParentPageName = wxEmptyString );
 
  337                              bool aMirror ) 
override;
 
  343                       int aCornerRadius = 0 ) 
override;
 
  354                      double aRadius, 
FILL_T aFill, 
int aWidth ) 
override;
 
  359    virtual void PlotPoly( 
const std::vector<VECTOR2I>& aCornerList, 
FILL_T aFill,
 
  365    virtual void PenTo( 
const VECTOR2I& pos, 
char plume ) 
override;
 
  369                       const wxString&        aText,
 
  377                       bool                   aMultilineAllowed,
 
  380                       void*                  aData = 
nullptr ) 
override;
 
  397                         const EDA_ANGLE& aOrient, 
bool aTextMirrored, 
int aWidth, 
bool aBold, 
bool aItalic,
 
  406                               int aWidth, 
bool aBaseBold, 
bool aBaseItalic, 
KIFONT::FONT* aFont,
 
  417                                   const EDA_ANGLE& aAngle, 
double aRadius );
 
  422                           const wxString&        aText,
 
  426                           void*                  aData = 
nullptr ) 
override;
 
  428    void HyperlinkBox( 
const BOX2I& aBox, 
const wxString& aDestinationURL ) 
override;
 
  430    void HyperlinkMenu( 
const BOX2I& aBox, 
const std::vector<wxString>& aDestURLs ) 
override;
 
  433                   const wxString& aGroupName = wxEmptyString ) 
override;
 
  435    void Plot3DModel( 
const wxString& aSourcePath, 
const std::vector<PDF_3D_VIEW>& a3DViews );
 
  442    void PlotImage( 
const wxImage& aImage, 
const VECTOR2I& aPos, 
double aScaleFactor ) 
override;
 
  458                                                         float aCameraDistance,
 
  461                                                         float aRollDegrees );
 
  485                aActionHandle, aTitle, aEntryHandle, {}
 
 
 
  504    OUTLINE_NODE* 
addOutlineNode( OUTLINE_NODE* aParent, 
int aActionHandle,
 
  505                                  const wxString& aTitle );
 
  520    virtual void emitSetRGBColor( 
double r, 
double g, 
double b, 
double a ) 
override;
 
  563    void emitOutlineNode( OUTLINE_NODE* aNode, 
int aParentHandle, 
int aNextNode, 
int aPrevNode );
 
 
  628        return wxString( wxT( 
"svg" ) );
 
 
  639    virtual bool StartPlot( 
const wxString& aPageNumber ) 
override;
 
  640    virtual bool EndPlot() 
override;
 
  653                              bool aMirror ) 
override;
 
  655                       int aCornerRadius = 0 ) 
override;
 
  659                      int aWidth ) 
override;
 
  663                              int aTolerance, 
int aLineThickness ) 
override;
 
  665    virtual void PlotPoly( 
const std::vector<VECTOR2I>& aCornerList, 
FILL_T aFill,
 
  666                           int aWidth, 
void * aData ) 
override;
 
  672                            double aScaleFactor ) 
override;
 
  674    virtual void PenTo( 
const VECTOR2I& pos, 
char plume ) 
override;
 
  693    virtual void StartBlock( 
void* aData ) 
override;
 
  700    virtual void EndBlock( 
void* aData ) 
override;
 
  704                       const wxString&        aText,
 
  712                       bool                   aMultilineAllowed,
 
  715                       void*                  aData = 
nullptr ) 
override;
 
  720                           const wxString&        aText,
 
  724                           void*                  aData = 
nullptr ) 
override;
 
  731    virtual void emitSetRGBColor( 
double r, 
double g, 
double b, 
double a ) 
override;
 
  740                          const std::string& aExtraStyle = {} );
 
 
FONT is an abstract base class for both outline and stroke fonts.
 
A color representation with 4 components: red, green, blue, alpha.
 
std::vector< int > m_pageHandles
Handles to the page objects.
 
FILE * m_workFile
Temporary file to construct the stream before zipping.
 
wxString m_parentPageName
 
virtual void ClosePage()
Close the current page in the PDF document (and emit its compressed stream).
 
void emitOutlineNode(OUTLINE_NODE *aNode, int aParentHandle, int aNextNode, int aPrevNode)
Emits a outline item object and recurses into any children.
 
std::map< int, wxImage > m_imageHandles
 
int emitOutline()
Starts emitting the outline object.
 
virtual bool EndPlot() override
 
int startPdfObject(int aHandle=-1)
Open a new PDF object and returns the handle if the parameter is -1.
 
virtual void PlotPoly(const std::vector< VECTOR2I > &aCornerList, FILL_T aFill, int aWidth=USE_DEFAULT_LINE_WIDTH, void *aData=nullptr) override
Polygon plotting for PDF.
 
virtual void Circle(const VECTOR2I &pos, int diametre, FILL_T fill, int width) override
Circle drawing for PDF.
 
virtual void SetCurrentLineWidth(int width, void *aData=nullptr) override
Pen width setting for PDF.
 
int m_streamLengthHandle
Handle to the deferred stream length.
 
void PlotImage(const wxImage &aImage, const VECTOR2I &aPos, double aScaleFactor) override
PDF images are handles as inline, not XObject streams...
 
int m_jsNamesHandle
Handle for Names dictionary with JS.
 
virtual void SetDash(int aLineWidth, LINE_STYLE aLineStyle) override
PDF supports dashed lines.
 
void HyperlinkMenu(const BOX2I &aBox, const std::vector< wxString > &aDestURLs) override
Create a clickable hyperlink menu with a rectangular click area.
 
virtual bool OpenFile(const wxString &aFullFilename) override
Open or create the plot file aFullFilename.
 
int m_fontResDictHandle
Font resource dictionary.
 
virtual void emitSetRGBColor(double r, double g, double b, double a) override
PDF supports colors fully.
 
void Set3DExport(bool aYes)
 
PDF_PLOTTER(const PROJECT *aProject=nullptr)
 
std::map< int, std::pair< BOX2D, wxString > > m_hyperlinkHandles
Handles for all the hyperlink objects that will be deferred.
 
int m_pageTreeHandle
Handle to the root of the page tree object.
 
virtual void Text(const VECTOR2I &aPos, const COLOR4D &aColor, const wxString &aText, const EDA_ANGLE &aOrient, const VECTOR2I &aSize, enum GR_TEXT_H_ALIGN_T aH_justify, enum GR_TEXT_V_ALIGN_T aV_justify, int aWidth, bool aItalic, bool aBold, bool aMultilineAllowed, KIFONT::FONT *aFont, const KIFONT::METRICS &aFontMetrics, void *aData=nullptr) override
Draw text with the plotter.
 
int emitGoToAction(int aPageHandle, const VECTOR2I &aBottomLeft, const VECTOR2I &aTopRight)
Emit an action object that instructs a goto coordinates on a page.
 
void closePdfStream()
Finish the current PDF stream (writes the deferred length, too).
 
void Bookmark(const BOX2I &aBox, const wxString &aName, const wxString &aGroupName=wxEmptyString) override
Create a bookmark to a symbol.
 
std::vector< long > m_xrefTable
The PDF xref offset table.
 
void endPlotEmitResources()
 
virtual void Rect(const VECTOR2I &p1, const VECTOR2I &p2, FILL_T fill, int width, int aCornerRadius=0) override
Rectangles in PDF.
 
int startPdfStream(int aHandle=-1)
Start a PDF stream (for the page).
 
VECTOR2I renderMarkupNode(const MARKUP::NODE *aNode, const VECTOR2I &aPosition, const VECTOR2I &aBaseSize, const EDA_ANGLE &aOrient, bool aTextMirrored, int aWidth, bool aBaseBold, bool aBaseItalic, KIFONT::FONT *aFont, const KIFONT::METRICS &aFontMetrics, enum GR_TEXT_V_ALIGN_T aV_justify, TEXT_STYLE_FLAGS aTextStyle, std::vector< OVERBAR_INFO > &aOverbars)
Recursively render markup nodes with appropriate styling.
 
virtual void Arc(const VECTOR2D &aCenter, const EDA_ANGLE &aStartAngle, const EDA_ANGLE &aAngle, double aRadius, FILL_T aFill, int aWidth) override
The PDF engine can't directly plot arcs so we use polygonization.
 
void HyperlinkBox(const BOX2I &aBox, const wxString &aDestinationURL) override
Create a clickable hyperlink with a rectangular click area.
 
virtual void PenTo(const VECTOR2I &pos, char plume) override
Moveto/lineto primitive, moves the 'pen' to the specified direction.
 
std::map< wxString, std::vector< std::pair< BOX2I, wxString > > > m_bookmarksInPage
 
virtual bool StartPlot(const wxString &aPageNumber) override
The PDF engine supports multiple pages; the first one is opened 'for free' the following are to be cl...
 
static wxString GetDefaultFileExtension()
 
virtual void StartPage(const wxString &aPageNumber, const wxString &aPageName=wxEmptyString, const wxString &aParentPageNumber=wxEmptyString, const wxString &aParentPageName=wxEmptyString)
Start a new page in the PDF document.
 
std::unique_ptr< PDF_OUTLINE_FONT_MANAGER > m_outlineFontManager
 
OUTLINE_NODE * addOutlineNode(OUTLINE_NODE *aParent, int aActionHandle, const wxString &aTitle)
Add a new outline node entry.
 
int m_imgResDictHandle
Image resource dictionary.
 
std::string encodeStringForPlotter(const wxString &aUnicode) override
convert a wxString unicode string to a char string compatible with the accepted string PDF format (co...
 
std::unique_ptr< PDF_STROKE_FONT_MANAGER > m_strokeFontManager
 
void Plot3DModel(const wxString &aSourcePath, const std::vector< PDF_3D_VIEW > &a3DViews)
 
std::vector< wxString > m_pageNumbers
List of user-space page numbers for resolving internal hyperlinks.
 
int allocPdfObject()
Allocate a new handle in the table of the PDF object.
 
VECTOR2I renderWord(const wxString &aWord, const VECTOR2I &aPosition, const VECTOR2I &aSize, const EDA_ANGLE &aOrient, bool aTextMirrored, int aWidth, bool aBold, bool aItalic, KIFONT::FONT *aFont, const KIFONT::METRICS &aFontMetrics, enum GR_TEXT_V_ALIGN_T aV_justify, TEXT_STYLE_FLAGS aTextStyle)
Render a single word with the given style parameters.
 
std::string encodeByteString(const std::string &aBytes)
 
void drawOverbars(const std::vector< OVERBAR_INFO > &aOverbars, const EDA_ANGLE &aOrient, const KIFONT::METRICS &aFontMetrics)
Draw overbar lines above text.
 
virtual void SetViewport(const VECTOR2I &aOffset, double aIusPerDecimil, double aScale, bool aMirror) override
PDF can have multiple pages, so SetPageSettings can be called with the outputFile open (but not insid...
 
std::map< int, std::pair< BOX2D, std::vector< wxString > > > m_hyperlinkMenuHandles
 
int m_pageStreamHandle
Handle of the page content object.
 
virtual void PlotText(const VECTOR2I &aPos, const COLOR4D &aColor, const wxString &aText, const TEXT_ATTRIBUTES &aAttributes, KIFONT::FONT *aFont, const KIFONT::METRICS &aFontMetrics, void *aData=nullptr) override
 
static std::vector< float > CreateC2WMatrixFromAngles(const VECTOR3D &aTargetPosition, float aCameraDistance, float aYawDegrees, float aPitchDegrees, float aRollDegrees)
Generates the camera to world matrix for use with a 3D View.
 
std::vector< std::pair< BOX2I, wxString > > m_hyperlinksInPage
List of loaded hyperlinks in current page.
 
std::unique_ptr< OUTLINE_NODE > m_outlineRoot
Root outline node.
 
std::vector< std::pair< BOX2I, std::vector< wxString > > > m_hyperlinkMenusInPage
 
void closePdfObject()
Close the current PDF object.
 
virtual PLOT_FORMAT GetPlotterType() const override
Return the effective plot engine in use.
 
int m_totalOutlineNodes
Total number of outline nodes.
 
std::vector< VECTOR2D > arcPath(const VECTOR2D &aCenter, const EDA_ANGLE &aStartAngle, const EDA_ANGLE &aAngle, double aRadius)
 
static const int USE_DEFAULT_LINE_WIDTH
 
PLOTTER(const PROJECT *aProject=nullptr)
 
Container for project specific data.
 
static const double postscriptTextAscent
Height of the postscript font (from the AFM)
 
void SetScaleAdjust(double scaleX, double scaleY)
Set the 'fine' scaling for the postscript engine.
 
virtual void SetColor(const COLOR4D &color) override
The SetColor implementation is split with the subclasses: the PSLIKE computes the rgb values,...
 
PSLIKE_PLOTTER(const PROJECT *aProject=nullptr)
 
virtual void emitSetRGBColor(double r, double g, double b, double a)=0
Virtual primitive for emitting the setrgbcolor operator.
 
PLOT_TEXT_MODE m_textMode
How to draw text.
 
virtual void SetTextMode(PLOT_TEXT_MODE mode) override
PS and PDF fully implement native text (for the Latin-1 subset)
 
virtual void FlashRegularPolygon(const VECTOR2I &aShapePos, int aDiameter, int aCornerCount, const EDA_ANGLE &aOrient, void *aData) override
Flash a regular polygon.
 
int returnPostscriptTextWidth(const wxString &aText, int aXSize, bool aItalic, bool aBold)
Sister function for the GRTextWidth in gr_text.cpp Does the same processing (i.e.
 
virtual void FlashPadCircle(const VECTOR2I &aPadPos, int aDiameter, void *aData) override
 
virtual void FlashPadOval(const VECTOR2I &aPadPos, const VECTOR2I &aSize, const EDA_ANGLE &aPadOrient, void *aData) override
 
virtual void FlashPadRoundRect(const VECTOR2I &aPadPos, const VECTOR2I &aSize, int aCornerRadius, const EDA_ANGLE &aOrient, void *aData) override
 
double plotScaleAdjX
Fine user scale adjust ( = 1.0 if no correction)
 
void computeTextParameters(const VECTOR2I &aPos, const wxString &aText, const EDA_ANGLE &aOrient, const VECTOR2I &aSize, bool aMirror, enum GR_TEXT_H_ALIGN_T aH_justify, enum GR_TEXT_V_ALIGN_T aV_justify, int aWidth, bool aItalic, bool aBold, double *wideningFactor, double *ctm_a, double *ctm_b, double *ctm_c, double *ctm_d, double *ctm_e, double *ctm_f, double *heightFactor)
This is the core for postscript/PDF text alignment.
 
virtual std::string encodeStringForPlotter(const wxString &aUnicode)
convert a wxString unicode string to a char string compatible with the accepted string plotter format...
 
virtual void FlashPadCustom(const VECTOR2I &aPadPos, const VECTOR2I &aSize, const EDA_ANGLE &aOrient, SHAPE_POLY_SET *aPolygons, void *aData) override
 
virtual void FlashPadTrapez(const VECTOR2I &aPadPos, const VECTOR2I *aCorners, const EDA_ANGLE &aPadOrient, void *aData) override
Flash a trapezoidal pad.
 
virtual void FlashPadRect(const VECTOR2I &aPadPos, const VECTOR2I &aSize, const EDA_ANGLE &aPadOrient, void *aData) override
 
virtual bool EndPlot() override
 
virtual void Text(const VECTOR2I &aPos, const COLOR4D &aColor, const wxString &aText, const EDA_ANGLE &aOrient, const VECTOR2I &aSize, enum GR_TEXT_H_ALIGN_T aH_justify, enum GR_TEXT_V_ALIGN_T aV_justify, int aWidth, bool aItalic, bool aBold, bool aMultilineAllowed, KIFONT::FONT *aFont, const KIFONT::METRICS &aFontMetrics, void *aData=nullptr) override
Draw text with the plotter.
 
virtual void Rect(const VECTOR2I &p1, const VECTOR2I &p2, FILL_T fill, int width, int aCornerRadius=0) override
 
virtual void PlotText(const VECTOR2I &aPos, const COLOR4D &aColor, const wxString &aText, const TEXT_ATTRIBUTES &aAttributes, KIFONT::FONT *aFont, const KIFONT::METRICS &aFontMetrics, void *aData=nullptr) override
 
virtual void PlotImage(const wxImage &aImage, const VECTOR2I &aPos, double aScaleFactor) override
PostScript-likes at the moment are the only plot engines supporting bitmaps.
 
virtual void SetViewport(const VECTOR2I &aOffset, double aIusPerDecimil, double aScale, bool aMirror) override
Set the plot offset and scaling for the current plot.
 
virtual void Circle(const VECTOR2I &pos, int diametre, FILL_T fill, int width) override
 
virtual void PlotPoly(const std::vector< VECTOR2I > &aCornerList, FILL_T aFill, int aWidth, void *aData=nullptr) override
Draw a polygon ( filled or not ).
 
virtual void SetDash(int aLineWidth, LINE_STYLE aLineStyle) override
PostScript supports dashed lines.
 
virtual void Arc(const VECTOR2D &aCenter, const EDA_ANGLE &aStartAngle, const EDA_ANGLE &aAngle, double aRadius, FILL_T aFill, int aWidth) override
 
virtual bool StartPlot(const wxString &aPageNumber) override
The code within this function (and the CloseFilePS function) creates postscript files whose contents ...
 
virtual PLOT_FORMAT GetPlotterType() const override
Return the effective plot engine in use.
 
PS_PLOTTER(const PROJECT *aProject=nullptr)
 
virtual void emitSetRGBColor(double r, double g, double b, double a) override
Virtual primitive for emitting the setrgbcolor operator.
 
virtual void SetCurrentLineWidth(int width, void *aData=nullptr) override
Set the current line width (in IUs) for the next plot.
 
static wxString GetDefaultFileExtension()
 
virtual void PenTo(const VECTOR2I &pos, char plume) override
Moveto/lineto primitive, moves the 'pen' to the specified direction.
 
Represent a polyline containing arcs as well as line segments: A chain of connected line and/or arc s...
 
Represent a set of closed polygons.
 
virtual void emitSetRGBColor(double r, double g, double b, double a) override
Initialize m_pen_rgb_color from reduced values r, g ,b ( reduced values are 0.0 to 1....
 
virtual void PlotImage(const wxImage &aImage, const VECTOR2I &aPos, double aScaleFactor) override
PostScript-likes at the moment are the only plot engines supporting bitmaps.
 
virtual bool StartPlot(const wxString &aPageNumber) override
Create SVG file header.
 
virtual void EndBlock(void *aData) override
Calling this function allows one to define the end of a group of drawing items the group is started b...
 
virtual void SetViewport(const VECTOR2I &aOffset, double aIusPerDecimil, double aScale, bool aMirror) override
Set the plot offset and scaling for the current plot.
 
SVG_PLOTTER(const PROJECT *aProject=nullptr)
 
virtual void Text(const VECTOR2I &aPos, const COLOR4D &aColor, const wxString &aText, const EDA_ANGLE &aOrient, const VECTOR2I &aSize, enum GR_TEXT_H_ALIGN_T aH_justify, enum GR_TEXT_V_ALIGN_T aV_justify, int aWidth, bool aItalic, bool aBold, bool aMultilineAllowed, KIFONT::FONT *aFont, const KIFONT::METRICS &aFontMetrics, void *aData=nullptr) override
Draw text with the plotter.
 
virtual PLOT_FORMAT GetPlotterType() const override
Return the effective plot engine in use.
 
uint32_t m_brush_rgb_color
 
virtual void Rect(const VECTOR2I &p1, const VECTOR2I &p2, FILL_T fill, int width, int aCornerRadius=0) override
 
virtual void SetSvgCoordinatesFormat(unsigned aPrecision) override
Select SVG coordinate precision (number of digits needed for 1 mm ) (SVG plotter uses always metric u...
 
virtual bool EndPlot() override
 
void setSVGPlotStyle(int aLineWidth, bool aIsGroup=true, const std::string &aExtraStyle={})
Output the string which define pen and brush color, shape, transparency.
 
virtual void Circle(const VECTOR2I &pos, int diametre, FILL_T fill, int width) override
 
virtual void PlotPoly(const std::vector< VECTOR2I > &aCornerList, FILL_T aFill, int aWidth, void *aData) override
Draw a polygon ( filled or not ).
 
virtual void PlotText(const VECTOR2I &aPos, const COLOR4D &aColor, const wxString &aText, const TEXT_ATTRIBUTES &aAttributes, KIFONT::FONT *aFont, const KIFONT::METRICS &aFontMetrics, void *aData=nullptr) override
 
virtual void BezierCurve(const VECTOR2I &aStart, const VECTOR2I &aControl1, const VECTOR2I &aControl2, const VECTOR2I &aEnd, int aTolerance, int aLineThickness) override
Generic fallback: Cubic Bezier curve rendered as a polyline.
 
virtual void Arc(const VECTOR2D &aCenter, const EDA_ANGLE &aStartAngle, const EDA_ANGLE &aAngle, double aRadius, FILL_T aFill, int aWidth) override
 
virtual void PenTo(const VECTOR2I &pos, char plume) override
Moveto/lineto primitive, moves the 'pen' to the specified direction.
 
static wxString GetDefaultFileExtension()
 
virtual void SetDash(int aLineWidth, LINE_STYLE aLineStyle) override
SVG supports dashed lines.
 
virtual void StartBlock(void *aData) override
Calling this function allows one to define the beginning of a group of drawing items (used in SVG for...
 
void setFillMode(FILL_T fill)
Prepare parameters for setSVGPlotStyle()
 
virtual void SetCurrentLineWidth(int width, void *aData=nullptr) override
Set the current line width (in IUs) for the next plot.
 
unsigned int TEXT_STYLE_FLAGS
 
PLOT_TEXT_MODE
Which kind of text to output with the PSLIKE plotters.
 
PLOT_FORMAT
The set of supported output plot formats.
 
LINE_STYLE
Dashed line types.
 
std::vector< float > m_cameraMatrix
 
wxString title
Title of outline node.
 
std::vector< OUTLINE_NODE * > children
Ordered list of children.
 
int entryHandle
Allocated handle for this outline entry.
 
OUTLINE_NODE * AddChild(int aActionHandle, const wxString &aTitle, int aEntryHandle)
 
int actionHandle
Handle to action.
 
GR_TEXT_H_ALIGN_T
This is API surface mapped to common.types.HorizontalAlignment.
 
GR_TEXT_V_ALIGN_T
This is API surface mapped to common.types.VertialAlignment.
 
VECTOR2< int32_t > VECTOR2I
 
VECTOR2< double > VECTOR2D
 
VECTOR3< double > VECTOR3D