![]() |
KiCad PCB EDA Suite
|
#include <plotters_pslike.h>
Public Member Functions | |
SVG_PLOTTER () | |
virtual PLOT_FORMAT | GetPlotterType () const override |
Returns the effective plot engine in use. More... | |
virtual void | SetColor (COLOR4D color) override |
The SetColor implementation is split with the subclasses: The PSLIKE computes the rgb values, the subclass emits the operator to actually do it. More... | |
virtual bool | StartPlot () override |
The code within this function creates SVG files header. More... | |
virtual bool | EndPlot () override |
virtual void | SetCurrentLineWidth (int width, void *aData=NULL) override |
Set the line width for the next drawing. More... | |
virtual void | SetDash (PLOT_DASH_TYPE dashed) override |
SVG supports dashed lines. More... | |
virtual void | SetViewport (const wxPoint &aOffset, double aIusPerDecimil, double aScale, bool aMirror) override |
Set the plot offset and scaling for the current plot. More... | |
virtual void | Rect (const wxPoint &p1, const wxPoint &p2, FILL_TYPE fill, int width=USE_DEFAULT_LINE_WIDTH) override |
virtual void | Circle (const wxPoint &pos, int diametre, FILL_TYPE fill, int width=USE_DEFAULT_LINE_WIDTH) override |
virtual void | Arc (const wxPoint ¢re, double StAngle, double EndAngle, int rayon, FILL_TYPE fill, int width=USE_DEFAULT_LINE_WIDTH) override |
Generic fallback: arc rendered as a polyline. More... | |
virtual void | BezierCurve (const wxPoint &aStart, const wxPoint &aControl1, const wxPoint &aControl2, const wxPoint &aEnd, int aTolerance, int aLineThickness=USE_DEFAULT_LINE_WIDTH) override |
Generic fallback: Cubic Bezier curve rendered as a polyline In KiCad the bezier curves have 4 control points: start ctrl1 ctrl2 end. More... | |
virtual void | PlotPoly (const std::vector< wxPoint > &aCornerList, FILL_TYPE aFill, int aWidth=USE_DEFAULT_LINE_WIDTH, void *aData=NULL) override |
Draw a polygon ( filled or not ) More... | |
virtual void | PlotImage (const wxImage &aImage, const wxPoint &aPos, double aScaleFactor) override |
PostScript-likes at the moment are the only plot engines supporting bitmaps... More... | |
virtual void | PenTo (const wxPoint &pos, char plume) override |
moveto/lineto primitive, moves the 'pen' to the specified direction More... | |
virtual void | SetSvgCoordinatesFormat (unsigned aResolution, bool aUseInches=false) override |
Select SVG step size (number of digits needed for 1 mm or 1 inch ) More... | |
virtual void | StartBlock (void *aData) override |
Calling this function allows one to define the beginning of a group of drawing items (used in SVG format to separate components) More... | |
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 by StartBlock() More... | |
virtual void | Text (const wxPoint &aPos, const COLOR4D aColor, const wxString &aText, double aOrient, const wxSize &aSize, enum EDA_TEXT_HJUSTIFY_T aH_justify, enum EDA_TEXT_VJUSTIFY_T aV_justify, int aWidth, bool aItalic, bool aBold, bool aMultilineAllowed=false, void *aData=NULL) override |
Draws text with the plotter. More... | |
virtual void | SetTextMode (PLOT_TEXT_MODE mode) override |
PS and PDF fully implement native text (for the Latin-1 subset) More... | |
void | SetScaleAdjust (double scaleX, double scaleY) |
Set the 'fine' scaling for the postscript engine. More... | |
virtual void | FlashPadCircle (const wxPoint &aPadPos, int aDiameter, OUTLINE_MODE aTraceMode, void *aData) override |
virtual void | FlashPadOval (const wxPoint &aPadPos, const wxSize &aSize, double aPadOrient, OUTLINE_MODE aTraceMode, void *aData) override |
virtual void | FlashPadRect (const wxPoint &aPadPos, const wxSize &aSize, double aPadOrient, OUTLINE_MODE aTraceMode, void *aData) override |
virtual void | FlashPadRoundRect (const wxPoint &aPadPos, const wxSize &aSize, int aCornerRadius, double aOrient, OUTLINE_MODE aTraceMode, void *aData) override |
virtual void | FlashPadCustom (const wxPoint &aPadPos, const wxSize &aSize, double aOrient, SHAPE_POLY_SET *aPolygons, OUTLINE_MODE aTraceMode, void *aData) override |
virtual void | FlashPadTrapez (const wxPoint &aPadPos, const wxPoint *aCorners, double aPadOrient, OUTLINE_MODE aTraceMode, void *aData) override |
Flash a trapezoidal pad. More... | |
virtual void | FlashRegularPolygon (const wxPoint &aShapePos, int aDiameter, int aCornerCount, double aOrient, OUTLINE_MODE aTraceMode, void *aData) override |
Flash a regular polygon. More... | |
virtual void | SetNegative (bool aNegative) |
virtual void | SetColorMode (bool aColorMode) |
Plot in B/W or color. More... | |
bool | GetColorMode () const |
void | SetRenderSettings (RENDER_SETTINGS *aSettings) |
RENDER_SETTINGS * | RenderSettings () |
virtual void | SetPageSettings (const PAGE_INFO &aPageSettings) |
PAGE_INFO & | PageSettings () |
virtual int | GetCurrentLineWidth () const |
virtual void | SetCreator (const wxString &aCreator) |
virtual void | SetTitle (const wxString &aTitle) |
void | AddLineToHeader (const wxString &aExtraString) |
Add a line to the list of free lines to print at the beginning of the file. More... | |
void | ClearHeaderLinesList () |
Remove all lines from the list of free lines to print at the beginning of the file. More... | |
virtual bool | OpenFile (const wxString &aFullFilename) |
Open or create the plot file aFullFilename. More... | |
double | GetIUsPerDecimil () const |
The IUs per decimil are an essential scaling factor when plotting; they are set and saved when establishing the viewport. More... | |
int | GetPlotterArcLowDef () const |
int | GetPlotterArcHighDef () const |
void | MoveTo (const wxPoint &pos) |
void | LineTo (const wxPoint &pos) |
void | FinishTo (const wxPoint &pos) |
void | PenFinish () |
virtual void | PlotPoly (const SHAPE_LINE_CHAIN &aCornerList, FILL_TYPE aFill, int aWidth=USE_DEFAULT_LINE_WIDTH, void *aData=NULL) |
Draw a polygon ( filled or not ) More... | |
virtual void | ThickSegment (const wxPoint &start, const wxPoint &end, int width, OUTLINE_MODE tracemode, void *aData) |
virtual void | ThickArc (const wxPoint ¢re, double StAngle, double EndAngle, int rayon, int width, OUTLINE_MODE tracemode, void *aData) |
virtual void | ThickRect (const wxPoint &p1, const wxPoint &p2, int width, OUTLINE_MODE tracemode, void *aData) |
virtual void | ThickCircle (const wxPoint &pos, int diametre, int width, OUTLINE_MODE tracemode, void *aData) |
virtual void | FilledCircle (const wxPoint &pos, int diametre, OUTLINE_MODE tracemode, void *aData) |
void | Marker (const wxPoint &position, int diametre, unsigned aShapeId) |
Draw a pattern shape number aShapeId, to coord position. More... | |
virtual void | SetLayerPolarity (bool aPositive) |
Set the current Gerber layer polarity to positive or negative by writing %LPD*% or %LPC*% to the Gerber file, respectively. More... | |
virtual void | SetGerberCoordinatesFormat (int aResolution, bool aUseInches=false) |
Static Public Member Functions | |
static wxString | GetDefaultFileExtension () |
Static Public Attributes | |
static const int | DO_NOT_SET_LINE_WIDTH = -2 |
static const int | USE_DEFAULT_LINE_WIDTH = -1 |
static const unsigned | MARKER_COUNT = 58 |
Draw a marker (used for the drill map) More... | |
Protected Member Functions | |
virtual void | emitSetRGBColor (double r, double g, double b) override |
Initialize m_pen_rgb_color from reduced values r, g ,b ( reduced values are 0.0 to 1.0 ) More... | |
void | setSVGPlotStyle (bool aIsGroup=true, const std::string &aExtraStyle={}) |
Output the string which define pen and brush color, shape, transparency. More... | |
void | setFillMode (FILL_TYPE fill) |
Prepare parameters for setSVGPlotStyle() More... | |
void | computeTextParameters (const wxPoint &aPos, const wxString &aText, int aOrient, const wxSize &aSize, bool aMirror, enum EDA_TEXT_HJUSTIFY_T aH_justify, enum EDA_TEXT_VJUSTIFY_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 It computes the transformation matrix to generate a user space system aligned with the text. More... | |
void | postscriptOverlinePositions (const wxString &aText, int aXSize, bool aItalic, bool aBold, std::vector< int > *pos_pairs) |
Computes the x coordinates for the overlining in a string of text. More... | |
virtual std::string | encodeStringForPlotter (const wxString &aUnicode) |
convert a wxString unicode string to a char string compatible with the accepted string plotter format (convert special chars and non ascii7 chars) More... | |
int | returnPostscriptTextWidth (const wxString &aText, int aXSize, bool aItalic, bool aBold) |
Sister function for the GraphicTextWidth in drawtxt.cpp Does the same processing (i.e. More... | |
void | markerCircle (const wxPoint &pos, int radius) |
Plot a circle centered on the position. More... | |
void | markerHBar (const wxPoint &pos, int radius) |
Plot a - bar centered on the position. More... | |
void | markerSlash (const wxPoint &pos, int radius) |
Plot a / bar centered on the position. More... | |
void | markerBackSlash (const wxPoint &pos, int radius) |
Plot a \ bar centered on the position. More... | |
void | markerVBar (const wxPoint &pos, int radius) |
Plot a | bar centered on the position. More... | |
void | markerSquare (const wxPoint &position, int radius) |
Plot a square centered on the position. More... | |
void | markerLozenge (const wxPoint &position, int radius) |
Plot a lozenge centered on the position. More... | |
void | segmentAsOval (const wxPoint &start, const wxPoint &end, int width, OUTLINE_MODE tracemode) |
Convert a thick segment and plot it as an oval. More... | |
void | sketchOval (const wxPoint &pos, const wxSize &size, double orient, int width) |
virtual DPOINT | userToDeviceCoordinates (const wxPoint &aCoordinate) |
Modifies coordinates according to the orientation, scale factor, and offsets trace. More... | |
virtual DPOINT | userToDeviceSize (const wxSize &size) |
Modifies size according to the plotter scale factors (wxSize version, returns a DPOINT) More... | |
virtual double | userToDeviceSize (double size) const |
Modifies size according to the plotter scale factors (simple double version) More... | |
double | GetDotMarkLenIU () const |
double | GetDashMarkLenIU () const |
double | GetDashGapLenIU () const |
Protected Attributes | |
FILL_TYPE | m_fillMode |
long | m_pen_rgb_color |
long | m_brush_rgb_color |
bool | m_graphics_changed |
PLOT_DASH_TYPE | m_dashed |
bool | m_useInch |
unsigned | m_precision |
double | plotScaleAdjX |
Fine user scale adjust ( = 1.0 if no correction) More... | |
double | plotScaleAdjY |
PLOT_TEXT_MODE | m_textMode |
How to draw text. More... | |
double | m_plotScale |
Plot scale - chosen by the user (even implicitly with 'fit in a4') More... | |
double | m_IUsPerDecimil |
double | m_iuPerDeviceUnit |
wxPoint | m_plotOffset |
bool | m_plotMirror |
bool | m_mirrorIsHorizontal |
bool | m_yaxisReversed |
FILE * | m_outputFile |
Output file. More... | |
bool | m_colorMode |
bool | m_negativeMode |
int | m_currentPenWidth |
char | m_penState |
wxPoint | m_penLastpos |
wxString | m_creator |
wxString | m_filename |
wxString | m_title |
PAGE_INFO | m_pageInfo |
wxSize | m_paperSize |
wxArrayString | m_headerExtraLines |
RENDER_SETTINGS * | m_renderSettings |
Static Protected Attributes | |
static const double | postscriptTextAscent = 0.718 |
Height of the postscript font (from the AFM) More... | |
Definition at line 374 of file plotters_pslike.h.
SVG_PLOTTER::SVG_PLOTTER | ( | ) |
Definition at line 165 of file SVG_plotter.cpp.
References m_brush_rgb_color, m_dashed, m_fillMode, m_graphics_changed, m_pen_rgb_color, m_precision, m_useInch, NO_FILL, PSLIKE_PLOTTER::SetTextMode(), SOLID, and STROKE.
|
inlineinherited |
Add a line to the list of free lines to print at the beginning of the file.
aExtraString | is the string to print |
Definition at line 180 of file plotter.h.
References PLOTTER::m_headerExtraLines.
Referenced by AddGerberX2Attribute(), AddGerberX2Header(), GERBER_WRITER::createDrillFile(), and PLACEFILE_GERBER_WRITER::CreatePlaceFile().
|
overridevirtual |
Generic fallback: arc rendered as a polyline.
Reimplemented from PLOTTER.
Definition at line 444 of file SVG_plotter.cpp.
References Circle(), DECIDEG2RAD(), FILLED_SHAPE, PLOTTER::m_mirrorIsHorizontal, PLOTTER::m_outputFile, PLOTTER::m_plotMirror, PLOTTER::m_yaxisReversed, NO_FILL, RotatePoint(), SetCurrentLineWidth(), setFillMode(), PLOTTER::userToDeviceCoordinates(), PLOTTER::userToDeviceSize(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
overridevirtual |
Generic fallback: Cubic Bezier curve rendered as a polyline In KiCad the bezier curves have 4 control points: start ctrl1 ctrl2 end.
Reimplemented from PLOTTER.
Definition at line 546 of file SVG_plotter.cpp.
References PLOTTER::BezierCurve(), PLOTTER::m_outputFile, NO_FILL, SetCurrentLineWidth(), setFillMode(), PLOTTER::userToDeviceCoordinates(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
overridevirtual |
Implements PLOTTER.
Definition at line 421 of file SVG_plotter.cpp.
References FILLED_SHAPE, PLOTTER::m_outputFile, NO_FILL, SetCurrentLineWidth(), setFillMode(), PLOTTER::userToDeviceCoordinates(), PLOTTER::userToDeviceSize(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by Arc().
|
inlineinherited |
Remove all lines from the list of free lines to print at the beginning of the file.
Definition at line 188 of file plotter.h.
References PLOTTER::m_headerExtraLines.
Referenced by StartPlotBoard().
|
protectedinherited |
This is the core for postscript/PDF text alignment It computes the transformation matrix to generate a user space system aligned with the text.
Even the PS uses the concat operator to simplify PDF generation (concat is everything PDF has to modify the CTM. Lots of parameters, both in and out.
Definition at line 442 of file PS_plotter.cpp.
References DECIDEG2RAD(), GR_TEXT_HJUSTIFY_CENTER, GR_TEXT_HJUSTIFY_LEFT, GR_TEXT_HJUSTIFY_RIGHT, GR_TEXT_VJUSTIFY_BOTTOM, GR_TEXT_VJUSTIFY_CENTER, GR_TEXT_VJUSTIFY_TOP, PLOTTER::m_plotMirror, PSLIKE_PLOTTER::postscriptTextAscent, PSLIKE_PLOTTER::returnPostscriptTextWidth(), RotatePoint(), PLOTTER::userToDeviceCoordinates(), PLOTTER::userToDeviceSize(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by PDF_PLOTTER::Text().
|
overrideprotectedvirtual |
Initialize m_pen_rgb_color from reduced values r, g ,b ( reduced values are 0.0 to 1.0 )
Implements PSLIKE_PLOTTER.
Definition at line 350 of file SVG_plotter.cpp.
References m_brush_rgb_color, m_graphics_changed, and m_pen_rgb_color.
|
protectedvirtualinherited |
convert a wxString unicode string to a char string compatible with the accepted string plotter format (convert special chars and non ascii7 chars)
Reimplemented in PDF_PLOTTER.
Definition at line 316 of file PS_plotter.cpp.
References KI_FALLTHROUGH.
Referenced by PS_PLOTTER::StartPlot(), and PS_PLOTTER::Text().
|
overridevirtual |
Calling this function allows one to define the end of a group of drawing items the group is started by StartBlock()
aData | should be null |
Reimplemented from PLOTTER.
Definition at line 339 of file SVG_plotter.cpp.
References m_graphics_changed, and PLOTTER::m_outputFile.
|
overridevirtual |
Implements PLOTTER.
Definition at line 771 of file SVG_plotter.cpp.
References PLOTTER::m_outputFile, and NULL.
Referenced by DIALOG_EXPORT_SVG::CreateSVGFile(), DIALOG_PLOT_SCHEMATIC::plotOneSheetSVG(), and SYMBOL_EDIT_FRAME::SVGPlotSymbol().
|
virtualinherited |
Reimplemented in GERBER_PLOTTER.
Definition at line 584 of file plotter.cpp.
References PLOTTER::Circle(), FILLED, FILLED_SHAPE, NO_FILL, and PLOTTER::SetCurrentLineWidth().
Referenced by BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), and BRDITEMS_PLOTTER::PlotPcbShape().
|
inlineinherited |
Definition at line 267 of file plotter.h.
References PLOTTER::PenTo().
Referenced by PLOTTER::Arc(), PLOTTER::BezierCurve(), DXF_PLOTTER::FlashPadCustom(), DXF_PLOTTER::FlashPadRect(), DXF_PLOTTER::FlashPadRoundRect(), DXF_PLOTTER::FlashPadTrapez(), PLOTTER::markerBackSlash(), PLOTTER::markerHBar(), PLOTTER::markerSlash(), PLOTTER::markerVBar(), SCH_BUS_ENTRY_BASE::Plot(), SCH_NO_CONNECT::Plot(), SCH_LINE::Plot(), SCH_SHEET::Plot(), PlotDrawingSheet(), GERBER_PLOTTER::PlotPoly(), LIB_PIN::PlotSymbol(), DXF_PLOTTER::Rect(), PLOTTER::sketchOval(), GERBER_PLOTTER::ThickSegment(), DXF_PLOTTER::ThickSegment(), HPGL_PLOTTER::ThickSegment(), and PLOTTER::ThickSegment().
|
overridevirtualinherited |
aPadPos | Position of the shape (center of the rectangle |
aDiameter | diameter of round pad |
aTraceMode | FILLED or SKETCH |
aData | an auxiliary info (mainly for gerber format attributes) |
Implements PLOTTER.
Definition at line 121 of file PS_plotter.cpp.
References PLOTTER::Circle(), FILLED, FILLED_SHAPE, PLOTTER::GetCurrentLineWidth(), NO_FILL, PLOTTER::SetCurrentLineWidth(), and PLOTTER::USE_DEFAULT_LINE_WIDTH.
|
overridevirtualinherited |
aPadPos | Position of the shape |
aSize | = size of round reference pad |
aPadOrient | = pad rotation, used only with aperture macros (Gerber plotter) |
aPolygons | the shape as polygon set |
aTraceMode | FILLED or SKETCH |
aData | an auxiliary info (mainly for gerber format attributes) |
Implements PLOTTER.
Definition at line 227 of file PS_plotter.cpp.
References SHAPE_LINE_CHAIN::CPoint(), FILLED, FILLED_SHAPE, PLOTTER::GetCurrentLineWidth(), NO_FILL, SHAPE_POLY_SET::Outline(), SHAPE_POLY_SET::OutlineCount(), PLOTTER::PlotPoly(), SHAPE_LINE_CHAIN::PointCount(), PLOTTER::SetCurrentLineWidth(), PLOTTER::USE_DEFAULT_LINE_WIDTH, VECTOR2< T >::x, and VECTOR2< T >::y.
|
overridevirtualinherited |
aPadPos | Position of the shape (center of the rectangle |
aSize | = size of oblong shape |
aPadOrient | The rotation of the shape |
aTraceMode | FILLED or SKETCH |
aData | an auxiliary info (mainly for gerber format attributes) |
Implements PLOTTER.
Definition at line 91 of file PS_plotter.cpp.
References AddAngles(), FILLED, PLOTTER::m_outputFile, NULL, RotatePoint(), PLOTTER::sketchOval(), and PLOTTER::ThickSegment().
|
overridevirtualinherited |
aPadPos | Position of the shape (center of the rectangle |
aSize | = size of rounded rect |
aPadOrient | The rotation of the shape |
aTraceMode | FILLED or SKETCH |
aData | an auxiliary info (mainly for gerber format attributes) |
Implements PLOTTER.
Definition at line 142 of file PS_plotter.cpp.
References FILLED, FILLED_SHAPE, PLOTTER::GetCurrentLineWidth(), NO_FILL, PLOTTER::PlotPoly(), RotatePoint(), PLOTTER::SetCurrentLineWidth(), and PLOTTER::USE_DEFAULT_LINE_WIDTH.
|
overridevirtualinherited |
aPadPos | Position of the shape (center of the rectangle |
aSize | = size of rounded rect |
aCornerRadius | Radius of the rounded corners |
aOrient | The rotation of the shape |
aTraceMode | FILLED or SKETCH |
aData | an auxiliary info (mainly for gerber format attributes) |
Implements PLOTTER.
Definition at line 191 of file PS_plotter.cpp.
References SHAPE_LINE_CHAIN::CPoint(), ERROR_INSIDE, FILLED, FILLED_SHAPE, PLOTTER::GetCurrentLineWidth(), PLOTTER::GetPlotterArcHighDef(), NO_FILL, SHAPE_POLY_SET::Outline(), PLOTTER::PlotPoly(), SHAPE_LINE_CHAIN::PointCount(), PLOTTER::SetCurrentLineWidth(), TransformRoundChamferedRectToPolygon(), PLOTTER::USE_DEFAULT_LINE_WIDTH, VECTOR2< T >::x, and VECTOR2< T >::y.
|
overridevirtualinherited |
Flash a trapezoidal pad.
aPadPos | = the position of the shape |
aCorners | = the list of 4 corners positions, relative to the shape position, pad orientation 0 |
aPadOrient | = the rotation of the shape |
aTraceMode | = FILLED or SKETCH |
aData | an auxiliary info (mainly for gerber format attributes) |
Implements PLOTTER.
Definition at line 261 of file PS_plotter.cpp.
References FILLED, FILLED_SHAPE, PLOTTER::GetCurrentLineWidth(), NO_FILL, PLOTTER::PlotPoly(), RotatePoint(), PLOTTER::SetCurrentLineWidth(), and PLOTTER::USE_DEFAULT_LINE_WIDTH.
|
overridevirtualinherited |
Flash a regular polygon.
Useful only in Gerber files to flash a regular polygon
aShapePos | is the center of the circle containing the polygon |
aRadius | is the radius of the circle containing the polygon |
aCornerCount | is the number of vertices |
aOrient | is the polygon rotation in degrees |
aData | is a auxiliary parameter used (if needed) to handle extra info specific to the plotter |
Implements PLOTTER.
Definition at line 307 of file PS_plotter.cpp.
|
inlineinherited |
Definition at line 152 of file plotter.h.
References PLOTTER::m_colorMode.
Referenced by PLOT_CONTROLLER::GetColorMode(), LIB_TEXT::Plot(), LIB_FIELD::Plot(), LIB_PART::Plot(), SCH_SHEET::Plot(), PlotDrawingSheet(), LIB_PART::PlotLibFields(), DIALOG_PLOT_SCHEMATIC::PlotOneSheetDXF(), DIALOG_PLOT_SCHEMATIC::plotOneSheetPDF(), DIALOG_PLOT_SCHEMATIC::plotOneSheetPS(), DIALOG_PLOT_SCHEMATIC::plotOneSheetSVG(), and DXF_PLOTTER::StartPlot().
|
inlinevirtualinherited |
Definition at line 166 of file plotter.h.
References PLOTTER::m_currentPenWidth.
Referenced by GERBER_PLOTTER::FlashPadChamferRoundRect(), PSLIKE_PLOTTER::FlashPadCircle(), PSLIKE_PLOTTER::FlashPadCustom(), GERBER_PLOTTER::FlashPadCustom(), PSLIKE_PLOTTER::FlashPadRect(), GERBER_PLOTTER::FlashPadRect(), PSLIKE_PLOTTER::FlashPadRoundRect(), GERBER_PLOTTER::FlashPadRoundRect(), PSLIKE_PLOTTER::FlashPadTrapez(), GERBER_PLOTTER::FlashPadTrapez(), GERBER_PLOTTER::FlashRegularPolygon(), PLOTTER::GetDashGapLenIU(), PLOTTER::GetDashMarkLenIU(), PLOTTER::GetDotMarkLenIU(), PLOTTER::markerCircle(), PLOTTER::markerLozenge(), PLOTTER::markerSquare(), PS_PLOTTER::SetCurrentLineWidth(), and setSVGPlotStyle().
|
protectedinherited |
Definition at line 151 of file plotter.cpp.
References DASH_GAP_LEN, PLOTTER::GetCurrentLineWidth(), and PLOTTER::userToDeviceSize().
Referenced by PS_PLOTTER::SetDash(), PDF_PLOTTER::SetDash(), and setSVGPlotStyle().
|
protectedinherited |
Definition at line 145 of file plotter.cpp.
References DASH_MARK_LEN, PLOTTER::GetCurrentLineWidth(), and PLOTTER::userToDeviceSize().
Referenced by PS_PLOTTER::SetDash(), PDF_PLOTTER::SetDash(), and setSVGPlotStyle().
|
inlinestatic |
Definition at line 379 of file plotters_pslike.h.
Referenced by DIALOG_PLOT_SCHEMATIC::createSVGFile(), and GetDefaultPlotExtension().
|
protectedinherited |
Definition at line 139 of file plotter.cpp.
References DOT_MARK_LEN, PLOTTER::GetCurrentLineWidth(), and PLOTTER::userToDeviceSize().
Referenced by PS_PLOTTER::SetDash(), PDF_PLOTTER::SetDash(), and setSVGPlotStyle().
|
inlineinherited |
The IUs per decimil are an essential scaling factor when plotting; they are set and saved when establishing the viewport.
Here they can be get back again
Definition at line 220 of file plotter.h.
References PLOTTER::m_IUsPerDecimil.
Referenced by PlotDrawingSheet().
|
inlineinherited |
Definition at line 223 of file plotter.h.
References PLOTTER::m_IUsPerDecimil.
Referenced by GERBER_PLOTTER::FlashPadChamferRoundRect(), PSLIKE_PLOTTER::FlashPadRoundRect(), DXF_PLOTTER::FlashPadRoundRect(), HPGL_PLOTTER::FlashPadRoundRect(), GERBER_PLOTTER::FlashPadRoundRect(), DXF_PLOTTER::PlotPoly(), and DXF_PLOTTER::ThickSegment().
|
inlineinherited |
|
inlineoverridevirtual |
Returns the effective plot engine in use.
It's not very OO but for now is required since some things are only done with some output devices (like drill marks, emitted only for postscript
Implements PLOTTER.
Definition at line 384 of file plotters_pslike.h.
References SVG.
|
inlineinherited |
Definition at line 262 of file plotter.h.
References PLOTTER::PenTo().
Referenced by PLOTTER::Arc(), PLOTTER::BezierCurve(), DXF_PLOTTER::FlashPadCustom(), DXF_PLOTTER::FlashPadRect(), DXF_PLOTTER::FlashPadRoundRect(), DXF_PLOTTER::FlashPadTrapez(), SCH_SHEET::Plot(), GERBER_PLOTTER::plotArc(), DXF_PLOTTER::PlotPoly(), HPGL_PLOTTER::PlotPoly(), GERBER_PLOTTER::PlotPoly(), GERBER_PLOTTER::plotRoundRectAsRegion(), LIB_PIN::PlotSymbol(), and DXF_PLOTTER::Rect().
|
inherited |
Draw a pattern shape number aShapeId, to coord position.
Diameter diameter = (coord table) hole AShapeId = index (used to generate forms characters)
Definition at line 331 of file plotter.cpp.
References PLOTTER::MARKER_COUNT, PLOTTER::markerBackSlash(), PLOTTER::markerCircle(), PLOTTER::markerHBar(), PLOTTER::markerLozenge(), PLOTTER::markerSlash(), PLOTTER::markerSquare(), and PLOTTER::markerVBar().
Referenced by GENDRILL_WRITER_BASE::genDrillMapFile(), and GENDRILL_WRITER_BASE::plotDrillMarks().
|
protectedinherited |
Plot a \ bar centered on the position.
Building block for markers
Definition at line 317 of file plotter.cpp.
References PLOTTER::FinishTo(), and PLOTTER::MoveTo().
Referenced by PLOTTER::Marker().
|
protectedinherited |
Plot a circle centered on the position.
Building block for markers
Definition at line 273 of file plotter.cpp.
References PLOTTER::Circle(), PLOTTER::GetCurrentLineWidth(), and NO_FILL.
Referenced by PLOTTER::Marker().
|
protectedinherited |
Plot a - bar centered on the position.
Building block for markers
Definition at line 303 of file plotter.cpp.
References PLOTTER::FinishTo(), and PLOTTER::MoveTo().
Referenced by PLOTTER::Marker().
|
protectedinherited |
Plot a lozenge centered on the position.
Building block for markers
Definition at line 279 of file plotter.cpp.
References PLOTTER::GetCurrentLineWidth(), NO_FILL, and PLOTTER::PlotPoly().
Referenced by PLOTTER::Marker().
|
protectedinherited |
Plot a / bar centered on the position.
Building block for markers
Definition at line 310 of file plotter.cpp.
References PLOTTER::FinishTo(), and PLOTTER::MoveTo().
Referenced by PLOTTER::Marker().
|
protectedinherited |
Plot a square centered on the position.
Building block for markers
Definition at line 248 of file plotter.cpp.
References PLOTTER::GetCurrentLineWidth(), KiROUND(), NO_FILL, and PLOTTER::PlotPoly().
Referenced by PLOTTER::Marker().
|
protectedinherited |
Plot a | bar centered on the position.
Building block for markers
Definition at line 324 of file plotter.cpp.
References PLOTTER::FinishTo(), and PLOTTER::MoveTo().
Referenced by PLOTTER::Marker().
|
inlineinherited |
Definition at line 257 of file plotter.h.
References PLOTTER::PenTo().
Referenced by PLOTTER::Arc(), PLOTTER::BezierCurve(), HPGL_PLOTTER::Circle(), HPGL_PLOTTER::FlashPadCircle(), DXF_PLOTTER::FlashPadCustom(), DXF_PLOTTER::FlashPadRect(), DXF_PLOTTER::FlashPadRoundRect(), DXF_PLOTTER::FlashPadTrapez(), PLOTTER::markerBackSlash(), PLOTTER::markerHBar(), PLOTTER::markerSlash(), PLOTTER::markerVBar(), SCH_BUS_ENTRY_BASE::Plot(), SCH_NO_CONNECT::Plot(), SCH_LINE::Plot(), SCH_SHEET::Plot(), GERBER_PLOTTER::plotArc(), PlotDrawingSheet(), DXF_PLOTTER::PlotPoly(), HPGL_PLOTTER::PlotPoly(), GERBER_PLOTTER::PlotPoly(), GERBER_PLOTTER::plotRoundRectAsRegion(), LIB_PIN::PlotSymbol(), DXF_PLOTTER::Rect(), HPGL_PLOTTER::Rect(), PLOTTER::sketchOval(), GERBER_PLOTTER::ThickSegment(), DXF_PLOTTER::ThickSegment(), HPGL_PLOTTER::ThickSegment(), and PLOTTER::ThickSegment().
|
virtualinherited |
Open or create the plot file aFullFilename.
aFullFilename | = the full file name of the file to create |
Virtual because some plotters use ascii files, some others binary files (PDF) The base class open the file in text mode
Reimplemented in PDF_PLOTTER.
Definition at line 76 of file plotter.cpp.
References PLOTTER::m_filename, PLOTTER::m_outputFile, and NULL.
Referenced by GERBER_WRITER::createDrillFile(), PLACEFILE_GERBER_WRITER::CreatePlaceFile(), GENDRILL_WRITER_BASE::genDrillMapFile(), DIALOG_PLOT_SCHEMATIC::Plot_1_Page_HPGL(), DIALOG_PLOT_SCHEMATIC::PlotOneSheetDXF(), DIALOG_PLOT_SCHEMATIC::plotOneSheetPS(), DIALOG_PLOT_SCHEMATIC::plotOneSheetSVG(), StartPlotBoard(), and SYMBOL_EDIT_FRAME::SVGPlotSymbol().
|
inlineinherited |
Definition at line 158 of file plotter.h.
References PLOTTER::m_pageInfo.
Referenced by DIALOG_PLOT_SCHEMATIC::plotOneSheetPDF(), DIALOG_PLOT_SCHEMATIC::plotOneSheetPS(), and DIALOG_PLOT_SCHEMATIC::plotOneSheetSVG().
|
inlineinherited |
Definition at line 273 of file plotter.h.
References PLOTTER::PenTo().
Referenced by HPGL_PLOTTER::Circle(), HPGL_PLOTTER::FlashPadCircle(), DXF_PLOTTER::PlotPoly(), HPGL_PLOTTER::PlotPoly(), GERBER_PLOTTER::PlotPoly(), and HPGL_PLOTTER::Rect().
|
overridevirtual |
moveto/lineto primitive, moves the 'pen' to the specified direction
pos | is the target position |
plume | specifies the kind of motion: 'U' only moves the pen, 'D' draw a line from the current position and 'Z' finish the drawing and returns the 'pen' to rest (flushes the trace) |
Implements PLOTTER.
Definition at line 668 of file SVG_plotter.cpp.
References m_fillMode, PLOTTER::m_outputFile, PLOTTER::m_penLastpos, PLOTTER::m_penState, NO_FILL, setFillMode(), setSVGPlotStyle(), PLOTTER::userToDeviceCoordinates(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
overridevirtual |
PostScript-likes at the moment are the only plot engines supporting bitmaps...
Reimplemented from PLOTTER.
Definition at line 618 of file SVG_plotter.cpp.
References base64::encode(), PLOTTER::m_outputFile, PLOTTER::PlotImage(), and PLOTTER::userToDeviceSize().
|
virtualinherited |
Draw a polygon ( filled or not )
aCornerList | = corners list (a SHAPE_LINE_CHAIN). must be closed (IsClosed() == true) for a polygon. Otherwise this is a polyline |
aFill | = type of fill |
aWidth | = line width |
aData | an auxiliary info (mainly for gerber format) |
Definition at line 598 of file plotter.cpp.
References SHAPE_LINE_CHAIN::CPoint(), SHAPE_LINE_CHAIN::IsClosed(), PLOTTER::PlotPoly(), and SHAPE_LINE_CHAIN::PointCount().
|
overridevirtual |
Draw a polygon ( filled or not )
aCornerList | = corners list (a std::vector< wxPoint >) |
aFill | = type of fill |
aWidth | = line width |
aData | an auxiliary info (mainly for gerber format) |
Implements PLOTTER.
Definition at line 569 of file SVG_plotter.cpp.
References FILLED_SHAPE, FILLED_WITH_BG_BODYCOLOR, FILLED_WITH_COLOR, PLOTTER::m_outputFile, NO_FILL, SetCurrentLineWidth(), setFillMode(), setSVGPlotStyle(), PLOTTER::userToDeviceCoordinates(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
protectedinherited |
Computes the x coordinates for the overlining in a string of text.
Fills the passed vector with couples of (start, stop) values to be used in the text coordinate system (use computeTextParameters to obtain the parameters to establish such a system)
Definition at line 390 of file PS_plotter.cpp.
References hv_widths, hvb_widths, hvbo_widths, hvo_widths, KiROUND(), and PSLIKE_PLOTTER::postscriptTextAscent.
|
overridevirtual |
Implements PLOTTER.
Definition at line 385 of file SVG_plotter.cpp.
References EDA_RECT::GetEnd(), BOX2< Vec >::GetEnd(), EDA_RECT::GetOrigin(), BOX2< Vec >::GetPosition(), BOX2< Vec >::GetSize(), PLOTTER::m_outputFile, EDA_RECT::Normalize(), BOX2< Vec >::Normalize(), SetCurrentLineWidth(), setFillMode(), PLOTTER::userToDeviceCoordinates(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by DIALOG_PLOT_SCHEMATIC::plotOneSheetSVG().
|
inlineinherited |
Definition at line 155 of file plotter.h.
References PLOTTER::m_renderSettings.
Referenced by PLOT_CONTROLLER::ClosePlot(), DIALOG_PLOT::Plot(), LIB_CIRCLE::Plot(), LIB_RECTANGLE::Plot(), LIB_BEZIER::Plot(), LIB_ARC::Plot(), LIB_POLYLINE::Plot(), LIB_TEXT::Plot(), SCH_BUS_ENTRY_BASE::Plot(), SCH_JUNCTION::Plot(), SCH_NO_CONNECT::Plot(), SCH_BITMAP::Plot(), LIB_FIELD::Plot(), SCH_FIELD::Plot(), SCH_LINE::Plot(), SCH_SCREEN::Plot(), LIB_PART::Plot(), SCH_TEXT::Plot(), SCH_SHEET::Plot(), DIALOG_PLOT_SCHEMATIC::Plot_1_Page_HPGL(), PlotDrawingSheet(), LIB_PART::PlotLibFields(), DIALOG_PLOT_SCHEMATIC::PlotOneSheetDXF(), DIALOG_PLOT_SCHEMATIC::plotOneSheetPDF(), DIALOG_PLOT_SCHEMATIC::plotOneSheetPS(), DIALOG_PLOT_SCHEMATIC::plotOneSheetSVG(), LIB_PIN::PlotPinTexts(), LIB_PIN::PlotSymbol(), and StartPlotBoard().
|
protectedinherited |
Sister function for the GraphicTextWidth in drawtxt.cpp Does the same processing (i.e.
calculates a text string width) but using postscript metrics for the Helvetica font (optionally used for PS and PDF plotting
Definition at line 361 of file PS_plotter.cpp.
References hv_widths, hvb_widths, hvbo_widths, hvo_widths, KiROUND(), and PSLIKE_PLOTTER::postscriptTextAscent.
Referenced by PSLIKE_PLOTTER::computeTextParameters().
|
protectedinherited |
Convert a thick segment and plot it as an oval.
Definition at line 437 of file plotter.cpp.
References ArcTangente(), EuclideanNorm(), PLOTTER::FlashPadOval(), KiROUND(), and NULL.
Referenced by GERBER_PLOTTER::ThickSegment(), HPGL_PLOTTER::ThickSegment(), and PLOTTER::ThickSegment().
|
overridevirtual |
The SetColor implementation is split with the subclasses: The PSLIKE computes the rgb values, the subclass emits the operator to actually do it.
Reimplemented from PSLIKE_PLOTTER.
Definition at line 211 of file SVG_plotter.cpp.
References color, m_graphics_changed, PSLIKE_PLOTTER::SetColor(), and setSVGPlotStyle().
Referenced by DIALOG_PLOT_SCHEMATIC::plotOneSheetSVG(), and Text().
|
inlinevirtualinherited |
Plot in B/W or color.
aColorMode | = true to plot in color, false to plot in black and white |
Definition at line 151 of file plotter.h.
References PLOTTER::m_colorMode.
Referenced by DIALOG_PLOT_SCHEMATIC::createPDFFile(), DIALOG_EXPORT_SVG::CreateSVGFile(), GENDRILL_WRITER_BASE::genDrillMapFile(), initializePlotter(), DIALOG_PLOT_SCHEMATIC::Plot_1_Page_HPGL(), DIALOG_PLOT_SCHEMATIC::PlotOneSheetDXF(), DIALOG_PLOT_SCHEMATIC::plotOneSheetPS(), DIALOG_PLOT_SCHEMATIC::plotOneSheetSVG(), PLOT_CONTROLLER::SetColorMode(), and SYMBOL_EDIT_FRAME::SVGPlotSymbol().
|
inlinevirtualinherited |
Definition at line 172 of file plotter.h.
References PLOTTER::m_creator.
Referenced by GERBER_WRITER::createDrillFile(), DIALOG_PLOT_SCHEMATIC::createPDFFile(), PLACEFILE_GERBER_WRITER::CreatePlaceFile(), GENDRILL_WRITER_BASE::genDrillMapFile(), initializePlotter(), DIALOG_PLOT_SCHEMATIC::Plot_1_Page_HPGL(), DIALOG_PLOT_SCHEMATIC::PlotOneSheetDXF(), DIALOG_PLOT_SCHEMATIC::plotOneSheetPS(), DIALOG_PLOT_SCHEMATIC::plotOneSheetSVG(), and SYMBOL_EDIT_FRAME::SVGPlotSymbol().
|
overridevirtual |
Set the line width for the next drawing.
width | is specified in IUs |
aData | is an auxiliary parameter, mainly used in gerber plotter |
Implements PLOTTER.
Definition at line 304 of file SVG_plotter.cpp.
References PLOTTER::DO_NOT_SET_LINE_WIDTH, KIGFX::RENDER_SETTINGS::GetDefaultPenWidth(), PLOTTER::m_currentPenWidth, m_graphics_changed, PLOTTER::m_renderSettings, setSVGPlotStyle(), and PLOTTER::USE_DEFAULT_LINE_WIDTH.
Referenced by Arc(), BezierCurve(), Circle(), PlotPoly(), Rect(), and Text().
|
overridevirtual |
SVG supports dashed lines.
Implements PLOTTER.
Definition at line 372 of file SVG_plotter.cpp.
References m_dashed, m_graphics_changed, and setSVGPlotStyle().
|
protected |
Prepare parameters for setSVGPlotStyle()
Definition at line 220 of file SVG_plotter.cpp.
References m_fillMode, and m_graphics_changed.
Referenced by Arc(), BezierCurve(), Circle(), PenTo(), PlotPoly(), Rect(), and Text().
|
inlinevirtualinherited |
Reimplemented in GERBER_PLOTTER.
Definition at line 458 of file plotter.h.
Referenced by GENDRILL_WRITER_BASE::genDrillMapFile(), and initializePlotter().
|
inlinevirtualinherited |
Set the current Gerber layer polarity to positive or negative by writing %LPD*% or %LPC*% to the Gerber file, respectively.
(obviously starts a new Gerber layer, too)
aPositive | is the layer polarity and true for positive. It's not useful with most other plotter since they can't 'scratch' the film like photoplotter imagers do |
Reimplemented in GERBER_PLOTTER.
Definition at line 444 of file plotter.h.
Referenced by PlotOneBoardLayer().
|
inlinevirtualinherited |
Definition at line 142 of file plotter.h.
References PLOTTER::m_negativeMode.
Referenced by FillNegativeKnockout().
|
inlinevirtualinherited |
Definition at line 157 of file plotter.h.
References PLOTTER::m_pageInfo.
Referenced by GENDRILL_WRITER_BASE::genDrillMapFile(), initializePlotter(), DIALOG_PLOT_SCHEMATIC::Plot_1_Page_HPGL(), DIALOG_PLOT_SCHEMATIC::PlotOneSheetDXF(), DIALOG_PLOT_SCHEMATIC::plotOneSheetPS(), DIALOG_PLOT_SCHEMATIC::plotOneSheetSVG(), DIALOG_PLOT_SCHEMATIC::setupPlotPagePDF(), and SYMBOL_EDIT_FRAME::SVGPlotSymbol().
|
inlineinherited |
Definition at line 154 of file plotter.h.
References PLOTTER::m_renderSettings.
Referenced by DIALOG_PLOT_SCHEMATIC::createPDFFile(), GENDRILL_WRITER_BASE::genDrillMapFile(), DIALOG_PLOT_SCHEMATIC::Plot_1_Page_HPGL(), DIALOG_PLOT_SCHEMATIC::PlotOneSheetDXF(), DIALOG_PLOT_SCHEMATIC::plotOneSheetPS(), DIALOG_PLOT_SCHEMATIC::plotOneSheetSVG(), StartPlotBoard(), and SYMBOL_EDIT_FRAME::SVGPlotSymbol().
|
inlineinherited |
Set the 'fine' scaling for the postscript engine.
Definition at line 61 of file plotters_pslike.h.
References PSLIKE_PLOTTER::plotScaleAdjX, and PSLIKE_PLOTTER::plotScaleAdjY.
Referenced by StartPlotBoard().
|
overridevirtual |
Select SVG step size (number of digits needed for 1 mm or 1 inch )
Should be called only after SetViewport() is called
aResolution | = number of digits in mantissa of coordinate use a value from 3-6 do not use value > 6 to avoid overflow in PCBNEW do not use value > 4 to avoid overflow for other parts |
aUseInches | = true to use inches, false to use mm (default) |
Reimplemented from PLOTTER.
Definition at line 197 of file SVG_plotter.cpp.
References PLOTTER::m_iuPerDeviceUnit, PLOTTER::m_IUsPerDecimil, m_precision, and m_useInch.
Referenced by SetViewport().
|
protected |
Output the string which define pen and brush color, shape, transparency.
aIsGroup | If false, do not form a new group for the style. |
aExtraStyle | If given, the string will be added into the style string before closing |
Definition at line 230 of file SVG_plotter.cpp.
References DASH, DASHDOT, DEFAULT, DOT, FILLED_SHAPE, FILLED_WITH_BG_BODYCOLOR, FILLED_WITH_COLOR, PLOTTER::GetCurrentLineWidth(), PLOTTER::GetDashGapLenIU(), PLOTTER::GetDashMarkLenIU(), PLOTTER::GetDotMarkLenIU(), m_brush_rgb_color, m_dashed, m_fillMode, m_graphics_changed, PLOTTER::m_outputFile, m_pen_rgb_color, NO_FILL, SOLID, and PLOTTER::userToDeviceSize().
Referenced by PenTo(), PlotPoly(), SetColor(), SetCurrentLineWidth(), and SetDash().
|
inlineoverridevirtualinherited |
PS and PDF fully implement native text (for the Latin-1 subset)
Reimplemented from PLOTTER.
Definition at line 52 of file plotters_pslike.h.
References DEFAULT, and PSLIKE_PLOTTER::m_textMode.
Referenced by SVG_PLOTTER().
|
inlinevirtualinherited |
Definition at line 174 of file plotter.h.
References PLOTTER::m_title.
Referenced by DIALOG_PLOT_SCHEMATIC::createPDFFile().
|
overridevirtual |
Set the plot offset and scaling for the current plot.
aOffset | is the plot offset |
aIusPerDecimil | gives the scaling factor from IUs to device units |
aScale | is the user set plot scaling factor (either explicitly or using 'fit to A4') |
aMirror | flips the plot in the Y direction (useful for toner transfers or some kind of film) |
Implements PLOTTER.
Definition at line 178 of file SVG_plotter.cpp.
References PAGE_INFO::GetSizeMils(), PLOTTER::m_IUsPerDecimil, PLOTTER::m_pageInfo, PLOTTER::m_paperSize, PLOTTER::m_plotMirror, PLOTTER::m_plotOffset, PLOTTER::m_plotScale, PLOTTER::m_yaxisReversed, and SetSvgCoordinatesFormat().
Referenced by DIALOG_PLOT_SCHEMATIC::plotOneSheetSVG(), and SYMBOL_EDIT_FRAME::SVGPlotSymbol().
|
protectedinherited |
Definition at line 458 of file plotter.cpp.
References AddAngles(), PLOTTER::Arc(), PLOTTER::FinishTo(), PLOTTER::m_currentPenWidth, PLOTTER::MoveTo(), NO_FILL, RotatePoint(), and PLOTTER::SetCurrentLineWidth().
Referenced by PSLIKE_PLOTTER::FlashPadOval(), DXF_PLOTTER::FlashPadOval(), HPGL_PLOTTER::FlashPadOval(), and GERBER_PLOTTER::FlashPadOval().
|
overridevirtual |
Calling this function allows one to define the beginning of a group of drawing items (used in SVG format to separate components)
aData | should be a string for the SVG ID tag |
Reimplemented from PLOTTER.
Definition at line 326 of file SVG_plotter.cpp.
References PLOTTER::m_outputFile.
|
overridevirtual |
The code within this function creates SVG files header.
Implements PLOTTER.
Definition at line 714 of file SVG_plotter.cpp.
References m_brush_rgb_color, PLOTTER::m_creator, PLOTTER::m_filename, PLOTTER::m_iuPerDeviceUnit, PLOTTER::m_IUsPerDecimil, PLOTTER::m_outputFile, PLOTTER::m_paperSize, m_pen_rgb_color, NULL, TO_UTF8, and XmlEsc().
Referenced by DIALOG_PLOT_SCHEMATIC::plotOneSheetSVG(), and SYMBOL_EDIT_FRAME::SVGPlotSymbol().
|
overridevirtual |
Draws text with the plotter.
Function PLOTTER::Text same as GRText, but plot graphic text insteed of draw it.
For convenience it accept the color to use for specific plotters (GERBER) aData is used to pass extra parameters
aPos | = text position (according to aH_justify, aV_justify) |
aColor | (COLOR4D) = text color |
aText | = text to draw |
aOrient | = angle in 0.1 degree |
aSize | = text size (size.x or size.y can be < 0 for mirrored texts) |
aH_justify | = horizontal justification (Left, center, right) |
aV_justify | = vertical justification (bottom, center, top) |
aPenWidth | = line width (if = 0, use plot default line width) |
aItalic | = true to simulate an italic font |
aBold | = true to use a bold font Useful only with default width value (aWidth = 0) |
aMultilineAllowed | = true to plot text as multiline, otherwise single line |
aData | = a parameter used by some plotters in SetCurrentLineWidth(), not directly used here. |
If the text is mirrored, we should also mirror the hidden text to match
Reimplemented from PLOTTER.
Definition at line 781 of file SVG_plotter.cpp.
References GR_TEXT_HJUSTIFY_CENTER, GR_TEXT_HJUSTIFY_LEFT, GR_TEXT_HJUSTIFY_RIGHT, GR_TEXT_VJUSTIFY_BOTTOM, GR_TEXT_VJUSTIFY_CENTER, GR_TEXT_VJUSTIFY_TOP, GraphicTextWidth(), PLOTTER::m_outputFile, NO_FILL, SetColor(), SetCurrentLineWidth(), setFillMode(), PLOTTER::Text(), TO_UTF8, PLOTTER::userToDeviceCoordinates(), PLOTTER::userToDeviceSize(), VECTOR2< T >::x, XmlEsc(), and VECTOR2< T >::y.
|
virtualinherited |
Reimplemented in GERBER_PLOTTER.
Definition at line 530 of file plotter.cpp.
References PLOTTER::Arc(), FILLED, PLOTTER::m_currentPenWidth, NO_FILL, and PLOTTER::SetCurrentLineWidth().
Referenced by BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), BRDITEMS_PLOTTER::PlotPcbShape(), and PlotStandardLayer().
|
virtualinherited |
Reimplemented in GERBER_PLOTTER.
Definition at line 568 of file plotter.cpp.
References PLOTTER::Circle(), FILLED, PLOTTER::m_currentPenWidth, NO_FILL, and PLOTTER::SetCurrentLineWidth().
Referenced by BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), and BRDITEMS_PLOTTER::PlotPcbShape().
|
virtualinherited |
Reimplemented in GERBER_PLOTTER.
Definition at line 546 of file plotter.cpp.
References FILLED, PLOTTER::m_currentPenWidth, NO_FILL, PLOTTER::Rect(), and PLOTTER::SetCurrentLineWidth().
|
virtualinherited |
Reimplemented in HPGL_PLOTTER, DXF_PLOTTER, and GERBER_PLOTTER.
Definition at line 506 of file plotter.cpp.
References PLOTTER::Circle(), FILLED, FILLED_SHAPE, PLOTTER::FinishTo(), PLOTTER::MoveTo(), PLOTTER::segmentAsOval(), and PLOTTER::SetCurrentLineWidth().
Referenced by PSLIKE_PLOTTER::FlashPadOval(), BRDITEMS_PLOTTER::PlotFilledAreas(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), PlotLayerOutlines(), BRDITEMS_PLOTTER::PlotPcbShape(), and PlotStandardLayer().
|
protectedvirtualinherited |
Modifies coordinates according to the orientation, scale factor, and offsets trace.
Also convert from a wxPoint to DPOINT, since some output engines needs floating point coordinates.
Definition at line 93 of file plotter.cpp.
References PLOTTER::m_iuPerDeviceUnit, PLOTTER::m_IUsPerDecimil, PLOTTER::m_mirrorIsHorizontal, PLOTTER::m_paperSize, PLOTTER::m_plotMirror, PLOTTER::m_plotOffset, PLOTTER::m_plotScale, PLOTTER::m_yaxisReversed, and MAX_PAGE_SIZE_MILS.
Referenced by DXF_PLOTTER::Arc(), HPGL_PLOTTER::Arc(), PS_PLOTTER::Arc(), PDF_PLOTTER::Arc(), Arc(), BezierCurve(), DXF_PLOTTER::Circle(), HPGL_PLOTTER::Circle(), PS_PLOTTER::Circle(), PDF_PLOTTER::Circle(), Circle(), PSLIKE_PLOTTER::computeTextParameters(), GERBER_PLOTTER::FlashPadChamferRoundRect(), HPGL_PLOTTER::FlashPadCircle(), GERBER_PLOTTER::FlashPadCircle(), GERBER_PLOTTER::FlashPadCustom(), GERBER_PLOTTER::FlashPadOval(), GERBER_PLOTTER::FlashPadRect(), GERBER_PLOTTER::FlashPadRoundRect(), GERBER_PLOTTER::FlashPadTrapez(), GERBER_PLOTTER::FlashRegularPolygon(), DXF_PLOTTER::PenTo(), GERBER_PLOTTER::PenTo(), HPGL_PLOTTER::PenTo(), PS_PLOTTER::PenTo(), PDF_PLOTTER::PenTo(), PenTo(), GERBER_PLOTTER::plotArc(), PS_PLOTTER::PlotImage(), PDF_PLOTTER::PlotImage(), HPGL_PLOTTER::PlotPoly(), PS_PLOTTER::PlotPoly(), PDF_PLOTTER::PlotPoly(), PlotPoly(), HPGL_PLOTTER::Rect(), PS_PLOTTER::Rect(), PDF_PLOTTER::Rect(), Rect(), DXF_PLOTTER::Text(), PS_PLOTTER::Text(), and Text().
|
protectedvirtualinherited |
Modifies size according to the plotter scale factors (wxSize version, returns a DPOINT)
Definition at line 124 of file plotter.cpp.
References PLOTTER::m_iuPerDeviceUnit, and PLOTTER::m_plotScale.
Referenced by DXF_PLOTTER::Arc(), HPGL_PLOTTER::Arc(), PS_PLOTTER::Arc(), Arc(), DXF_PLOTTER::Circle(), HPGL_PLOTTER::Circle(), PS_PLOTTER::Circle(), PDF_PLOTTER::Circle(), Circle(), PSLIKE_PLOTTER::computeTextParameters(), HPGL_PLOTTER::FlashPadCircle(), PLOTTER::GetDashGapLenIU(), PLOTTER::GetDashMarkLenIU(), PLOTTER::GetDotMarkLenIU(), PDF_PLOTTER::PlotImage(), PlotImage(), HPGL_PLOTTER::SetCurrentLineWidth(), PS_PLOTTER::SetCurrentLineWidth(), PDF_PLOTTER::SetCurrentLineWidth(), setSVGPlotStyle(), HPGL_PLOTTER::SetTargetChordLength(), PDF_PLOTTER::StartPage(), HPGL_PLOTTER::StartPlot(), PS_PLOTTER::StartPlot(), DXF_PLOTTER::Text(), and Text().
|
protectedvirtualinherited |
Modifies size according to the plotter scale factors (simple double version)
Definition at line 131 of file plotter.cpp.
References PLOTTER::m_iuPerDeviceUnit, and PLOTTER::m_plotScale.
|
staticinherited |
Definition at line 125 of file plotter.h.
Referenced by GERBER_PLOTTER::FilledCircle(), GERBER_PLOTTER::FlashPadCircle(), GERBER_PLOTTER::SetCurrentLineWidth(), PS_PLOTTER::SetCurrentLineWidth(), PDF_PLOTTER::SetCurrentLineWidth(), SetCurrentLineWidth(), GERBER_PLOTTER::ThickArc(), GERBER_PLOTTER::ThickCircle(), and GERBER_PLOTTER::ThickRect().
|
protected |
Definition at line 465 of file plotters_pslike.h.
Referenced by emitSetRGBColor(), setSVGPlotStyle(), StartPlot(), and SVG_PLOTTER().
|
protectedinherited |
Definition at line 583 of file plotter.h.
Referenced by PLOTTER::GetColorMode(), PS_PLOTTER::PlotImage(), PDF_PLOTTER::PlotImage(), PLOTTER::PLOTTER(), DXF_PLOTTER::SetColor(), PSLIKE_PLOTTER::SetColor(), and PLOTTER::SetColorMode().
|
protectedinherited |
Definition at line 589 of file plotter.h.
Referenced by PDF_PLOTTER::EndPlot(), PLOTTER::SetCreator(), GERBER_PLOTTER::StartPlot(), PS_PLOTTER::StartPlot(), and StartPlot().
|
protectedinherited |
Definition at line 585 of file plotter.h.
Referenced by GERBER_PLOTTER::FlashPadCircle(), PLOTTER::GetCurrentLineWidth(), PLOTTER::PLOTTER(), GERBER_PLOTTER::SetCurrentLineWidth(), HPGL_PLOTTER::SetCurrentLineWidth(), DXF_PLOTTER::SetCurrentLineWidth(), PS_PLOTTER::SetCurrentLineWidth(), PDF_PLOTTER::SetCurrentLineWidth(), SetCurrentLineWidth(), PLOTTER::sketchOval(), GERBER_PLOTTER::ThickArc(), PLOTTER::ThickArc(), GERBER_PLOTTER::ThickCircle(), PLOTTER::ThickCircle(), GERBER_PLOTTER::ThickRect(), and PLOTTER::ThickRect().
|
protected |
Definition at line 470 of file plotters_pslike.h.
Referenced by SetDash(), setSVGPlotStyle(), and SVG_PLOTTER().
|
protectedinherited |
Definition at line 590 of file plotter.h.
Referenced by PDF_PLOTTER::EndPlot(), PLOTTER::OpenFile(), PDF_PLOTTER::OpenFile(), and StartPlot().
|
protected |
Definition at line 459 of file plotters_pslike.h.
Referenced by PenTo(), setFillMode(), setSVGPlotStyle(), and SVG_PLOTTER().
|
protected |
Definition at line 467 of file plotters_pslike.h.
Referenced by emitSetRGBColor(), EndBlock(), SetColor(), SetCurrentLineWidth(), SetDash(), setFillMode(), setSVGPlotStyle(), and SVG_PLOTTER().
|
protectedinherited |
Definition at line 595 of file plotter.h.
Referenced by PLOTTER::AddLineToHeader(), PLOTTER::ClearHeaderLinesList(), and GERBER_PLOTTER::StartPlot().
|
protectedinherited |
Definition at line 571 of file plotter.h.
Referenced by HPGL_PLOTTER::EndPlot(), PLOTTER::PLOTTER(), GERBER_PLOTTER::SetGerberCoordinatesFormat(), SetSvgCoordinatesFormat(), GERBER_PLOTTER::SetViewport(), DXF_PLOTTER::SetViewport(), HPGL_PLOTTER::SetViewport(), PS_PLOTTER::SetViewport(), PDF_PLOTTER::SetViewport(), PDF_PLOTTER::StartPage(), StartPlot(), PLOTTER::userToDeviceCoordinates(), and PLOTTER::userToDeviceSize().
|
protectedinherited |
Definition at line 569 of file plotter.h.
Referenced by GERBER_PLOTTER::EndPlot(), PLOTTER::GetIUsPerDecimil(), PLOTTER::GetPlotterArcHighDef(), PLOTTER::GetPlotterArcLowDef(), PLOTTER::PLOTTER(), GERBER_PLOTTER::SetGerberCoordinatesFormat(), SetSvgCoordinatesFormat(), GERBER_PLOTTER::SetViewport(), DXF_PLOTTER::SetViewport(), HPGL_PLOTTER::SetViewport(), PS_PLOTTER::SetViewport(), PDF_PLOTTER::SetViewport(), SetViewport(), GERBER_PLOTTER::StartPlot(), StartPlot(), PLOTTER::userToDeviceCoordinates(), and GERBER_PLOTTER::writeApertureList().
|
protectedinherited |
Definition at line 576 of file plotter.h.
Referenced by PS_PLOTTER::Arc(), Arc(), PLOTTER::PLOTTER(), and PLOTTER::userToDeviceCoordinates().
|
protectedinherited |
Definition at line 584 of file plotter.h.
Referenced by PLOTTER::PLOTTER(), PSLIKE_PLOTTER::SetColor(), and PLOTTER::SetNegative().
|
protectedinherited |
Output file.
Definition at line 580 of file plotter.h.
Referenced by DXF_PLOTTER::Arc(), HPGL_PLOTTER::Arc(), PS_PLOTTER::Arc(), Arc(), BezierCurve(), DXF_PLOTTER::Circle(), HPGL_PLOTTER::Circle(), PS_PLOTTER::Circle(), Circle(), GERBER_PLOTTER::ClearAllAttributes(), GERBER_PLOTTER::clearNetAttribute(), PDF_PLOTTER::ClosePage(), PDF_PLOTTER::closePdfObject(), PDF_PLOTTER::closePdfStream(), GERBER_PLOTTER::emitDcode(), PS_PLOTTER::emitSetRGBColor(), EndBlock(), GERBER_PLOTTER::EndPlot(), HPGL_PLOTTER::EndPlot(), DXF_PLOTTER::EndPlot(), PS_PLOTTER::EndPlot(), PDF_PLOTTER::EndPlot(), EndPlot(), DXF_PLOTTER::FlashPadCircle(), HPGL_PLOTTER::FlashPadCircle(), PSLIKE_PLOTTER::FlashPadOval(), DXF_PLOTTER::FlashPadOval(), HPGL_PLOTTER::FlashPadOval(), GERBER_PLOTTER::FlashPadOval(), DXF_PLOTTER::FlashPadRect(), GERBER_PLOTTER::FlashPadRect(), GERBER_PLOTTER::FlashPadRoundRect(), DXF_PLOTTER::FlashPadTrapez(), GERBER_PLOTTER::formatNetAttribute(), PLOTTER::OpenFile(), PDF_PLOTTER::OpenFile(), DXF_PLOTTER::PenTo(), GERBER_PLOTTER::PenTo(), HPGL_PLOTTER::PenTo(), PS_PLOTTER::PenTo(), PenTo(), GERBER_PLOTTER::plotArc(), GERBER_PLOTTER::PlotGerberRegion(), PS_PLOTTER::PlotImage(), PlotImage(), GERBER_PLOTTER::PlotPoly(), PS_PLOTTER::PlotPoly(), PlotPoly(), GERBER_PLOTTER::plotRoundRectAsRegion(), PLOTTER::PLOTTER(), DXF_PLOTTER::Rect(), HPGL_PLOTTER::Rect(), PS_PLOTTER::Rect(), Rect(), GERBER_PLOTTER::selectAperture(), PS_PLOTTER::SetCurrentLineWidth(), PS_PLOTTER::SetDash(), GERBER_PLOTTER::SetLayerPolarity(), setSVGPlotStyle(), PS_PLOTTER::SetViewport(), StartBlock(), PDF_PLOTTER::StartPage(), PDF_PLOTTER::startPdfObject(), PDF_PLOTTER::startPdfStream(), GERBER_PLOTTER::StartPlot(), HPGL_PLOTTER::StartPlot(), DXF_PLOTTER::StartPlot(), PS_PLOTTER::StartPlot(), PDF_PLOTTER::StartPlot(), StartPlot(), DXF_PLOTTER::Text(), PS_PLOTTER::Text(), Text(), HPGL_PLOTTER::ThickSegment(), GERBER_PLOTTER::writeApertureList(), and PLOTTER::~PLOTTER().
|
protectedinherited |
Definition at line 592 of file plotter.h.
Referenced by PDF_PLOTTER::ClosePage(), PLOTTER::PageSettings(), PLOTTER::SetPageSettings(), HPGL_PLOTTER::SetViewport(), PS_PLOTTER::SetViewport(), SetViewport(), PDF_PLOTTER::StartPage(), and PS_PLOTTER::StartPlot().
|
protectedinherited |
Definition at line 593 of file plotter.h.
Referenced by HPGL_PLOTTER::EndPlot(), GERBER_PLOTTER::SetViewport(), DXF_PLOTTER::SetViewport(), HPGL_PLOTTER::SetViewport(), PS_PLOTTER::SetViewport(), SetViewport(), PDF_PLOTTER::StartPage(), StartPlot(), and PLOTTER::userToDeviceCoordinates().
|
protected |
Definition at line 461 of file plotters_pslike.h.
Referenced by emitSetRGBColor(), setSVGPlotStyle(), StartPlot(), and SVG_PLOTTER().
|
protectedinherited |
Definition at line 587 of file plotter.h.
Referenced by DXF_PLOTTER::PenTo(), HPGL_PLOTTER::PenTo(), PS_PLOTTER::PenTo(), PDF_PLOTTER::PenTo(), and PenTo().
|
protectedinherited |
Definition at line 586 of file plotter.h.
Referenced by GERBER_PLOTTER::PenTo(), HPGL_PLOTTER::PenTo(), PS_PLOTTER::PenTo(), PDF_PLOTTER::PenTo(), PenTo(), and PLOTTER::PLOTTER().
|
protectedinherited |
Definition at line 574 of file plotter.h.
Referenced by HPGL_PLOTTER::Arc(), PS_PLOTTER::Arc(), Arc(), PSLIKE_PLOTTER::computeTextParameters(), PLOTTER::PLOTTER(), GERBER_PLOTTER::SetViewport(), DXF_PLOTTER::SetViewport(), HPGL_PLOTTER::SetViewport(), PS_PLOTTER::SetViewport(), PDF_PLOTTER::SetViewport(), SetViewport(), PDF_PLOTTER::Text(), and PLOTTER::userToDeviceCoordinates().
|
protectedinherited |
Definition at line 573 of file plotter.h.
Referenced by GERBER_PLOTTER::SetViewport(), DXF_PLOTTER::SetViewport(), HPGL_PLOTTER::SetViewport(), PS_PLOTTER::SetViewport(), PDF_PLOTTER::SetViewport(), SetViewport(), and PLOTTER::userToDeviceCoordinates().
|
protectedinherited |
Plot scale - chosen by the user (even implicitly with 'fit in a4')
Definition at line 563 of file plotter.h.
Referenced by GERBER_PLOTTER::EndPlot(), PLOTTER::PLOTTER(), GERBER_PLOTTER::SetViewport(), DXF_PLOTTER::SetViewport(), HPGL_PLOTTER::SetViewport(), PS_PLOTTER::SetViewport(), PDF_PLOTTER::SetViewport(), SetViewport(), PLOTTER::userToDeviceCoordinates(), PLOTTER::userToDeviceSize(), and GERBER_PLOTTER::writeApertureList().
|
protected |
Definition at line 474 of file plotters_pslike.h.
Referenced by SetSvgCoordinatesFormat(), and SVG_PLOTTER().
|
protectedinherited |
Definition at line 597 of file plotter.h.
Referenced by PLOTTER::PLOTTER(), PLOTTER::RenderSettings(), GERBER_PLOTTER::SetCurrentLineWidth(), PS_PLOTTER::SetCurrentLineWidth(), PDF_PLOTTER::SetCurrentLineWidth(), SetCurrentLineWidth(), PLOTTER::SetRenderSettings(), PDF_PLOTTER::StartPage(), GERBER_PLOTTER::StartPlot(), and PS_PLOTTER::StartPlot().
|
protectedinherited |
How to draw text.
Definition at line 133 of file plotters_pslike.h.
Referenced by PS_PLOTTER::PS_PLOTTER(), PSLIKE_PLOTTER::SetTextMode(), and PS_PLOTTER::Text().
|
protectedinherited |
Definition at line 591 of file plotter.h.
Referenced by PDF_PLOTTER::EndPlot(), PLOTTER::SetTitle(), and PS_PLOTTER::StartPlot().
|
protected |
Definition at line 471 of file plotters_pslike.h.
Referenced by SetSvgCoordinatesFormat(), and SVG_PLOTTER().
|
protectedinherited |
Definition at line 577 of file plotter.h.
Referenced by Arc(), PLOTTER::PLOTTER(), SetViewport(), and PLOTTER::userToDeviceCoordinates().
|
staticinherited |
Draw a marker (used for the drill map)
Definition at line 427 of file plotter.h.
Referenced by PLOTTER::Marker().
|
protectedinherited |
Fine user scale adjust ( = 1.0 if no correction)
Definition at line 130 of file plotters_pslike.h.
Referenced by PSLIKE_PLOTTER::SetScaleAdjust(), PDF_PLOTTER::StartPage(), and PS_PLOTTER::StartPlot().
|
protectedinherited |
Definition at line 130 of file plotters_pslike.h.
Referenced by PSLIKE_PLOTTER::SetScaleAdjust(), PDF_PLOTTER::StartPage(), and PS_PLOTTER::StartPlot().
|
staticprotectedinherited |
Height of the postscript font (from the AFM)
Definition at line 124 of file plotters_pslike.h.
Referenced by PSLIKE_PLOTTER::computeTextParameters(), PSLIKE_PLOTTER::postscriptOverlinePositions(), and PSLIKE_PLOTTER::returnPostscriptTextWidth().
|
staticinherited |
Definition at line 126 of file plotter.h.
Referenced by GERBER_PLOTTER::FilledCircle(), PSLIKE_PLOTTER::FlashPadCircle(), GERBER_PLOTTER::FlashPadCircle(), PSLIKE_PLOTTER::FlashPadCustom(), GERBER_PLOTTER::FlashPadCustom(), PSLIKE_PLOTTER::FlashPadRect(), GERBER_PLOTTER::FlashPadRect(), PSLIKE_PLOTTER::FlashPadRoundRect(), GERBER_PLOTTER::FlashPadRoundRect(), PSLIKE_PLOTTER::FlashPadTrapez(), PlotDrawingSheet(), HPGL_PLOTTER::PlotPoly(), GERBER_PLOTTER::SetCurrentLineWidth(), PS_PLOTTER::SetCurrentLineWidth(), PDF_PLOTTER::SetCurrentLineWidth(), SetCurrentLineWidth(), GERBER_PLOTTER::ThickArc(), GERBER_PLOTTER::ThickCircle(), GERBER_PLOTTER::ThickRect(), and GERBER_PLOTTER::ThickSegment().