99 virtual bool OpenFile(
const wxString& aFullFilename )
override;
100 virtual bool StartPlot(
const wxString& aPageNumber )
override;
101 virtual bool EndPlot()
override;
115 virtual void SetViewport(
const VECTOR2I& aOffset,
double aIusPerDecimil,
double aScale,
bool aMirror )
override;
119 int aCornerRadius = 0 )
override;
121 virtual void Circle(
const VECTOR2I& aCenter,
int aDiameter,
FILL_T aFill,
int aWidth )
override;
124 FILL_T aFill,
int aWidth )
override;
126 virtual void PenTo(
const VECTOR2I& aPos,
char aPlume )
override;
128 virtual void PlotPoly(
const std::vector<VECTOR2I>& aCornerList,
FILL_T aFill,
int aWidth,
129 void* aData =
nullptr )
override;
131 virtual void PlotImage(
const wxImage& aImage,
const VECTOR2I& aPos,
double aScaleFactor )
override;
137 void* aData )
override;
140 void* aData )
override;
143 const EDA_ANGLE& aOrient,
void* aData )
override;
149 void* aData )
override;
152 const EDA_ANGLE& aOrient,
void* aData )
override;
159 bool SaveFile(
const wxString& aPath );
178 void fillRect(
double aX,
double aY,
double aWidth,
double aHeight );
179 void strokeRect(
double aX,
double aY,
double aWidth,
double aHeight );
180 void fillCircle(
double aCx,
double aCy,
double aRadius );
181 void strokeCircle(
double aCx,
double aCy,
double aRadius );
A color representation with 4 components: red, green, blue, alpha.
PLOTTER(const PROJECT *aProject=nullptr)
virtual void SetCurrentLineWidth(int aWidth, void *aData=nullptr) override
Set the line width for the next drawing.
void fillCircle(double aCx, double aCy, double aRadius)
virtual void FlashPadRect(const VECTOR2I &aPadPos, const VECTOR2I &aSize, const EDA_ANGLE &aPadOrient, void *aData) override
bool GetYAxisReversed() const
cairo_surface_t * m_surface
virtual void PenTo(const VECTOR2I &aPos, char aPlume) override
Moveto/lineto primitive, moves the 'pen' to the specified direction.
COLOR4D GetBackgroundColor() const
void SetPixelSize(int aWidth, int aHeight)
Set the output image dimensions in pixels.
bool GetAntialias() const
virtual void FlashRegularPolygon(const VECTOR2I &aShapePos, int aDiameter, int aCornerCount, const EDA_ANGLE &aOrient, void *aData) override
Flash a regular polygon.
virtual void SetDash(int aLineWidth, LINE_STYLE aLineStyle) override
virtual void Circle(const VECTOR2I &aCenter, int aDiameter, FILL_T aFill, int aWidth) override
virtual void Rect(const VECTOR2I &p1, const VECTOR2I &p2, FILL_T aFill, int aWidth, int aCornerRadius=0) override
virtual void Arc(const VECTOR2D &aCenter, const EDA_ANGLE &aStartAngle, const EDA_ANGLE &aAngle, double aRadius, FILL_T aFill, int aWidth) override
void SetYAxisReversed(bool aReversed)
Set whether the Y axis is reversed (Y-up vs Y-down).
bool SaveFile(const wxString &aPath)
Save the rendered image to a PNG file.
void SetBackgroundColor(const COLOR4D &aColor)
Set the background color for the image.
virtual void FlashPadOval(const VECTOR2I &aPadPos, const VECTOR2I &aSize, const EDA_ANGLE &aPadOrient, void *aData) override
void SetResolution(int aDPI)
Set the output resolution in dots per inch.
virtual bool EndPlot() override
COLOR4D m_backgroundColor
virtual VECTOR2D userToDeviceCoordinates(const VECTOR2I &aCoordinate) override
Transform coordinates from user space (IU) to device space (pixels).
void fillRect(double aX, double aY, double aWidth, double aHeight)
void SetAntialias(bool aEnable)
Enable or disable anti-aliasing.
void strokeCircle(double aCx, double aCy, double aRadius)
virtual void FlashPadCircle(const VECTOR2I &aPadPos, int aDiameter, void *aData) override
int GetResolution() const
virtual void SetColor(const COLOR4D &aColor) override
int GetPixelWidth() const
virtual void FlashPadTrapez(const VECTOR2I &aPadPos, const VECTOR2I *aCorners, const EDA_ANGLE &aPadOrient, void *aData) override
Flash a trapezoidal pad.
virtual void FlashPadRoundRect(const VECTOR2I &aPadPos, const VECTOR2I &aSize, int aCornerRadius, const EDA_ANGLE &aOrient, void *aData) override
virtual VECTOR2D userToDeviceSize(const VECTOR2I &aSize) override
Transform a size from user space to device space.
virtual PLOT_FORMAT GetPlotterType() const override
Return the effective plot engine in use.
static wxString GetDefaultFileExtension()
virtual void FlashPadCustom(const VECTOR2I &aPadPos, const VECTOR2I &aSize, const EDA_ANGLE &aPadOrient, SHAPE_POLY_SET *aPolygons, void *aData) override
virtual bool OpenFile(const wxString &aFullFilename) override
Open or create the plot file aFullFilename.
void strokeRect(double aX, double aY, double aWidth, double aHeight)
int GetPixelHeight() const
virtual void PlotPoly(const std::vector< VECTOR2I > &aCornerList, FILL_T aFill, int aWidth, void *aData=nullptr) override
Draw a polygon ( filled or not ).
void SetClearCompositing(bool aClear)
Switch the Cairo compositing operator between CLEAR and OVER.
virtual void PlotImage(const wxImage &aImage, const VECTOR2I &aPos, double aScaleFactor) override
Only PostScript plotters can plot 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 bool StartPlot(const wxString &aPageNumber) override
Represent a set of closed polygons.
PLOT_FORMAT
The set of supported output plot formats.
constexpr int DEFAULT_PNG_DPI
constexpr int MIN_PNG_DPI
constexpr int MAX_PNG_DPI
LINE_STYLE
Dashed line types.
VECTOR2< int32_t > VECTOR2I
VECTOR2< double > VECTOR2D