![]() |
KiCad PCB EDA Suite
|
#include <plotter_hpgl.h>
Classes | |
struct | HPGL_ITEM |
Public Member Functions | |
HPGL_PLOTTER () | |
virtual PLOT_FORMAT | GetPlotterType () const override |
Returns the effective plot engine in use. More... | |
void | SetTargetChordLength (double chord_len) |
Set the target length of chords used to draw approximated circles and arcs. More... | |
void | SetUserCoords (bool user_coords) |
Switch to the user coordinate system. More... | |
void | SetUserCoordsFit (bool user_coords_fit) |
Set whether the user coordinate system is fit to content. More... | |
virtual bool | StartPlot () override |
At the start of the HPGL plot pen speed and number are requested. More... | |
virtual bool | EndPlot () override |
HPGL end of plot: sort and emit graphics, pen return and release. More... | |
virtual void | SetCurrentLineWidth (int width, void *aData=NULL) override |
HPGL doesn't handle line thickness or color. More... | |
virtual void | SetDash (PLOT_DASH_TYPE dashed) override |
HPGL supports dashed lines. More... | |
virtual void | SetColor (COLOR4D color) override |
virtual void | SetPenSpeed (int speed) |
virtual void | SetPenNumber (int number) |
virtual void | SetPenDiameter (double diameter) |
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 | PlotPoly (const std::vector< wxPoint > &aCornerList, FILL_TYPE aFill, int aWidth=USE_DEFAULT_LINE_WIDTH, void *aData=NULL) override |
HPGL polygon: More... | |
virtual void | ThickSegment (const wxPoint &start, const wxPoint &end, int width, OUTLINE_MODE tracemode, void *aData) 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 | PenTo (const wxPoint &pos, char plume) override |
moveto/lineto primitive, moves the 'pen' to the specified direction 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 aOrient, 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 |
virtual void | BezierCurve (const wxPoint &aStart, const wxPoint &aControl1, const wxPoint &aControl2, const wxPoint &aEnd, int aTolerance, int aLineThickness=USE_DEFAULT_LINE_WIDTH) |
Generic fallback: Cubic Bezier curve rendered as a polyline In KiCad the bezier curves have 4 control points: start ctrl1 ctrl2 end. More... | |
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 | PlotImage (const wxImage &aImage, const wxPoint &aPos, double aScaleFactor) |
Only PostScript plotters can plot bitmaps. More... | |
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) |
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) |
Draws text with the plotter. More... | |
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 | SetTextMode (PLOT_TEXT_MODE mode) |
Change the current text mode. More... | |
virtual void | SetGerberCoordinatesFormat (int aResolution, bool aUseInches=false) |
virtual void | SetSvgCoordinatesFormat (unsigned aResolution, bool aUseInches=false) |
virtual void | StartBlock (void *aData) |
calling this function allows one to define the beginning of a group of drawing items, for instance in SVG or Gerber format. More... | |
virtual void | EndBlock (void *aData) |
calling this function allows one to define the end of a group of drawing items for instance in SVG or Gerber format. More... | |
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 | |
bool | startItem (DPOINT location) |
Start a new HPGL_ITEM if necessary, keeping the current one if it exists. More... | |
void | flushItem () |
Flush the current HPGL_ITEM and clear out the current item pointer. More... | |
bool | startOrAppendItem (DPOINT location, wxString const &content) |
Start a new HPGL_ITEM with the given string if necessary, or append the string to the current item. 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 |
Static Protected Member Functions | |
static void | sortItems (std::list< HPGL_ITEM > &items) |
Sort a list of HPGL items to improve plotting speed on mechanical plotters. More... | |
static const char * | lineTypeCommand (PLOT_DASH_TYPE linetype) |
Return the plot command corresponding to a line type. More... | |
Protected Attributes | |
int | penSpeed |
int | penNumber |
double | penDiameter |
double | arcTargetChordLength |
double | arcMinChordDegrees |
PLOT_DASH_TYPE | dashType |
bool | useUserCoords |
bool | fitUserCoords |
std::list< HPGL_ITEM > | m_items |
HPGL_ITEM * | m_current_item |
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 |
Definition at line 36 of file plotter_hpgl.h.
HPGL_PLOTTER::HPGL_PLOTTER | ( | ) |
Definition at line 222 of file HPGL_plotter.cpp.
References SetPenDiameter(), SetPenNumber(), and SetPenSpeed().
|
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 590 of file HPGL_plotter.cpp.
References PNS::angle(), arcMinChordDegrees, arcTargetChordLength, HPGL_PLOTTER::HPGL_ITEM::bbox, cosdecideg(), flushItem(), Format(), KiROUND(), HPGL_PLOTTER::HPGL_ITEM::lift_after, m_current_item, PLOTTER::m_outputFile, PLOTTER::m_plotMirror, BOX2< Vec >::Merge(), NORMALIZE_ANGLE_180(), sindecideg(), startOrAppendItem(), PLOTTER::userToDeviceCoordinates(), PLOTTER::userToDeviceSize(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
virtualinherited |
Generic fallback: Cubic Bezier curve rendered as a polyline In KiCad the bezier curves have 4 control points: start ctrl1 ctrl2 end.
Reimplemented in SVG_PLOTTER.
Definition at line 203 of file plotter.cpp.
References PLOTTER::FinishTo(), BEZIER_POLY::GetPoly(), PLOTTER::LineTo(), PLOTTER::MoveTo(), and PLOTTER::SetCurrentLineWidth().
Referenced by SVG_PLOTTER::BezierCurve(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), and BRDITEMS_PLOTTER::PlotPcbShape().
|
overridevirtual |
Implements PLOTTER.
Definition at line 410 of file HPGL_plotter.cpp.
References arcMinChordDegrees, arcTargetChordLength, HPGL_PLOTTER::HPGL_ITEM::bbox, FILLED_SHAPE, Format(), hpgl_end_polygon_cmd, HPGL_PLOTTER::HPGL_ITEM::lift_before, m_current_item, PLOTTER::m_outputFile, BOX2< Vec >::Merge(), PLOTTER::MoveTo(), HPGL_PLOTTER::HPGL_ITEM::pen_returns, PLOTTER::PenFinish(), SetCurrentLineWidth(), startOrAppendItem(), PLOTTER::userToDeviceCoordinates(), and PLOTTER::userToDeviceSize().
|
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().
|
inlinevirtualinherited |
calling this function allows one to define the end of a group of drawing items for instance in SVG or Gerber format.
the group is started by StartBlock()
aData | can define any parameter for most of plotters: do nothing |
Reimplemented in SVG_PLOTTER, and GERBER_PLOTTER.
Definition at line 484 of file plotter.h.
Referenced by SCH_COMPONENT::Plot(), BRDITEMS_PLOTTER::PlotFilledAreas(), and PlotStandardLayer().
|
overridevirtual |
HPGL end of plot: sort and emit graphics, pen return and release.
Implements PLOTTER.
Definition at line 275 of file HPGL_plotter.cpp.
References fitUserCoords, flushItem(), BOX2< Vec >::GetHeight(), BOX2< Vec >::GetWidth(), BOX2< Vec >::GetX(), BOX2< Vec >::GetY(), lineTypeCommand(), m_items, PLOTTER::m_iuPerDeviceUnit, PLOTTER::m_outputFile, PLOTTER::m_paperSize, BOX2< Vec >::Merge(), NULL, penNumber, SOLID, sortItems(), useUserCoords, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by DIALOG_PLOT_SCHEMATIC::Plot_1_Page_HPGL().
|
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(), ThickSegment(), and PLOTTER::ThickSegment().
|
overridevirtual |
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 680 of file HPGL_plotter.cpp.
References FILLED, Format(), hpgl_end_polygon_cmd, KiROUND(), HPGL_PLOTTER::HPGL_ITEM::lift_before, m_current_item, PLOTTER::m_outputFile, PLOTTER::MoveTo(), HPGL_PLOTTER::HPGL_ITEM::pen_returns, penDiameter, PLOTTER::PenFinish(), startOrAppendItem(), PLOTTER::userToDeviceCoordinates(), PLOTTER::userToDeviceSize(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by FlashPadOval().
|
overridevirtual |
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 799 of file HPGL_plotter.cpp.
References SHAPE_LINE_CHAIN::CPoint(), FILLED, FILLED_SHAPE, NO_FILL, SHAPE_POLY_SET::Outline(), SHAPE_POLY_SET::OutlineCount(), PlotPoly(), SHAPE_LINE_CHAIN::PointCount(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
overridevirtual |
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 642 of file HPGL_plotter.cpp.
References AddAngles(), FILLED, FlashPadCircle(), FlashPadRect(), KiROUND(), PLOTTER::m_outputFile, penDiameter, RotatePoint(), and PLOTTER::sketchOval().
|
overridevirtual |
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 724 of file HPGL_plotter.cpp.
References FILLED, FILLED_SHAPE, KiROUND(), NO_FILL, penDiameter, PlotPoly(), and RotatePoint().
Referenced by FlashPadOval().
|
overridevirtual |
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 761 of file HPGL_plotter.cpp.
References SHAPE_LINE_CHAIN::CPoint(), ERROR_INSIDE, FILLED, FILLED_SHAPE, PLOTTER::GetPlotterArcHighDef(), KiROUND(), NO_FILL, SHAPE_POLY_SET::Outline(), penDiameter, PlotPoly(), SHAPE_LINE_CHAIN::PointCount(), TransformRoundChamferedRectToPolygon(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
overridevirtual |
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 823 of file HPGL_plotter.cpp.
References FILLED, FILLED_SHAPE, NO_FILL, PlotPoly(), and RotatePoint().
|
overridevirtual |
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 844 of file HPGL_plotter.cpp.
|
protected |
Flush the current HPGL_ITEM and clear out the current item pointer.
Definition at line 859 of file HPGL_plotter.cpp.
References m_current_item.
|
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 SVG_PLOTTER::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 SVG_PLOTTER::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 SVG_PLOTTER::setSVGPlotStyle().
|
inlinestatic |
Definition at line 46 of file plotter_hpgl.h.
Referenced by DIALOG_PLOT_SCHEMATIC::createHPGLFile(), 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 SVG_PLOTTER::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(), 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 41 of file plotter_hpgl.h.
References HPGL.
|
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(), PlotPoly(), GERBER_PLOTTER::PlotPoly(), GERBER_PLOTTER::plotRoundRectAsRegion(), LIB_PIN::PlotSymbol(), and DXF_PLOTTER::Rect().
|
staticprotected |
|
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(), Circle(), 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(), PlotPoly(), GERBER_PLOTTER::PlotPoly(), GERBER_PLOTTER::plotRoundRectAsRegion(), LIB_PIN::PlotSymbol(), DXF_PLOTTER::Rect(), Rect(), PLOTTER::sketchOval(), GERBER_PLOTTER::ThickSegment(), DXF_PLOTTER::ThickSegment(), 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 Circle(), FlashPadCircle(), DXF_PLOTTER::PlotPoly(), PlotPoly(), GERBER_PLOTTER::PlotPoly(), and 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 516 of file HPGL_plotter.cpp.
References HPGL_PLOTTER::HPGL_ITEM::bbox, flushItem(), Format(), HPGL_PLOTTER::HPGL_ITEM::loc_end, m_current_item, PLOTTER::m_outputFile, PLOTTER::m_penLastpos, PLOTTER::m_penState, BOX2< Vec >::Merge(), startOrAppendItem(), PLOTTER::userToDeviceCoordinates(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
virtualinherited |
Only PostScript plotters can plot bitmaps.
A rectangle is plotted for plotters that cannot plot a bitmap.
Draw an image bitmap
aImage | = the bitmap |
aPos | = position of the center of the bitmap |
aScaleFactor | = the scale factor to apply to the bitmap size (this is not the plot scale factor) |
Reimplemented in SVG_PLOTTER, PDF_PLOTTER, and PS_PLOTTER.
Definition at line 231 of file plotter.cpp.
References NO_FILL, and PLOTTER::Rect().
Referenced by BITMAP_BASE::PlotImage(), and SVG_PLOTTER::PlotImage().
|
overridevirtual |
HPGL polygon:
Implements PLOTTER.
Definition at line 461 of file HPGL_plotter.cpp.
References HPGL_PLOTTER::HPGL_ITEM::content, FILLED_SHAPE, hpgl_end_polygon_cmd, PLOTTER::LineTo(), m_current_item, PLOTTER::MoveTo(), NO_FILL, HPGL_PLOTTER::HPGL_ITEM::pen_returns, PLOTTER::PenFinish(), SetCurrentLineWidth(), startItem(), PLOTTER::USE_DEFAULT_LINE_WIDTH, and PLOTTER::userToDeviceCoordinates().
Referenced by FlashPadCustom(), FlashPadRect(), FlashPadRoundRect(), and FlashPadTrapez().
|
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 |
Implements PLOTTER.
Definition at line 387 of file HPGL_plotter.cpp.
References HPGL_PLOTTER::HPGL_ITEM::bbox, FILLED_SHAPE, Format(), HPGL_PLOTTER::HPGL_ITEM::loc_end, HPGL_PLOTTER::HPGL_ITEM::loc_start, m_current_item, PLOTTER::m_outputFile, BOX2< Vec >::Merge(), PLOTTER::MoveTo(), PLOTTER::PenFinish(), startOrAppendItem(), PLOTTER::userToDeviceCoordinates(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
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 |
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(), ThickSegment(), and PLOTTER::ThickSegment().
|
inlineoverridevirtual |
|
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().
|
inlineoverridevirtual |
HPGL doesn't handle line thickness or color.
Implements PLOTTER.
Definition at line 67 of file plotter_hpgl.h.
References PLOTTER::m_currentPenWidth, penDiameter, and PLOTTER::userToDeviceSize().
Referenced by Circle(), and PlotPoly().
|
overridevirtual |
HPGL supports dashed lines.
Implements PLOTTER.
Definition at line 557 of file HPGL_plotter.cpp.
References dashType, and flushItem().
|
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().
|
virtual |
Definition at line 382 of file HPGL_plotter.cpp.
References penDiameter.
Referenced by ConfigureHPGLPenSizes(), HPGL_PLOTTER(), and DIALOG_PLOT_SCHEMATIC::Plot_1_Page_HPGL().
|
inlinevirtual |
Definition at line 82 of file plotter_hpgl.h.
References penNumber.
Referenced by ConfigureHPGLPenSizes(), GENDRILL_WRITER_BASE::genDrillMapFile(), and HPGL_PLOTTER().
|
inlinevirtual |
Definition at line 77 of file plotter_hpgl.h.
References penSpeed.
Referenced by ConfigureHPGLPenSizes(), GENDRILL_WRITER_BASE::genDrillMapFile(), and HPGL_PLOTTER().
|
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().
|
inlinevirtualinherited |
Reimplemented in SVG_PLOTTER.
Definition at line 463 of file plotter.h.
Referenced by initializePlotter().
void HPGL_PLOTTER::SetTargetChordLength | ( | double | chord_len | ) |
Set the target length of chords used to draw approximated circles and arcs.
chord_len | - chord length in IUs |
Definition at line 250 of file HPGL_plotter.cpp.
References arcTargetChordLength, and PLOTTER::userToDeviceSize().
Referenced by DIALOG_PLOT_SCHEMATIC::Plot_1_Page_HPGL().
|
inlinevirtualinherited |
Change the current text mode.
See the PlotTextMode explanation at the beginning of the file
Reimplemented in DXF_PLOTTER, and PSLIKE_PLOTTER.
Definition at line 453 of file plotter.h.
Referenced by initializePlotter(), and PlotOneBoardLayer().
|
inlinevirtualinherited |
Definition at line 174 of file plotter.h.
References PLOTTER::m_title.
Referenced by DIALOG_PLOT_SCHEMATIC::createPDFFile().
|
inline |
Switch to the user coordinate system.
Definition at line 58 of file plotter_hpgl.h.
References useUserCoords.
Referenced by DIALOG_PLOT_SCHEMATIC::Plot_1_Page_HPGL().
|
inline |
Set whether the user coordinate system is fit to content.
Definition at line 61 of file plotter_hpgl.h.
References fitUserCoords.
Referenced by DIALOG_PLOT_SCHEMATIC::Plot_1_Page_HPGL().
|
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 235 of file HPGL_plotter.cpp.
References PAGE_INFO::GetSizeMils(), PLOTTER::m_iuPerDeviceUnit, PLOTTER::m_IUsPerDecimil, PLOTTER::m_pageInfo, PLOTTER::m_paperSize, PLOTTER::m_plotMirror, PLOTTER::m_plotOffset, PLOTTER::m_plotScale, and PLUsPERDECIMIL.
Referenced by DIALOG_PLOT_SCHEMATIC::Plot_1_Page_HPGL().
|
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(), FlashPadOval(), and GERBER_PLOTTER::FlashPadOval().
|
staticprotected |
Sort a list of HPGL items to improve plotting speed on mechanical plotters.
items | - items to sort |
Definition at line 887 of file HPGL_plotter.cpp.
References dpoint_dist(), HPGL_PLOTTER::HPGL_ITEM::loc_end, and HPGL_PLOTTER::HPGL_ITEM::pen.
Referenced by EndPlot().
|
inlinevirtualinherited |
calling this function allows one to define the beginning of a group of drawing items, for instance in SVG or Gerber format.
(example: group all segments of a letter or a text)
aData | can define any parameter for most of plotters: do nothing |
Reimplemented in SVG_PLOTTER, and GERBER_PLOTTER.
Definition at line 475 of file plotter.h.
Referenced by SCH_COMPONENT::Plot(), BRDITEMS_PLOTTER::PlotFilledAreas(), and PlotStandardLayer().
|
protected |
Start a new HPGL_ITEM if necessary, keeping the current one if it exists.
location | - location of the item |
Definition at line 853 of file HPGL_plotter.cpp.
References startOrAppendItem().
Referenced by PlotPoly().
|
protected |
Start a new HPGL_ITEM with the given string if necessary, or append the string to the current item.
location | - location of the item, if a new one is made |
content | - content substring |
Definition at line 865 of file HPGL_plotter.cpp.
References HPGL_PLOTTER::HPGL_ITEM::bbox, HPGL_PLOTTER::HPGL_ITEM::content, dashType, HPGL_PLOTTER::HPGL_ITEM::dashType, HPGL_PLOTTER::HPGL_ITEM::loc_end, HPGL_PLOTTER::HPGL_ITEM::loc_start, m_current_item, m_items, HPGL_PLOTTER::HPGL_ITEM::pen, and penNumber.
Referenced by Arc(), Circle(), FlashPadCircle(), PenTo(), Rect(), and startItem().
|
overridevirtual |
At the start of the HPGL plot pen speed and number are requested.
Implements PLOTTER.
Definition at line 259 of file HPGL_plotter.cpp.
References PLOTTER::m_outputFile, penDiameter, penNumber, penSpeed, and PLOTTER::userToDeviceSize().
Referenced by DIALOG_PLOT_SCHEMATIC::Plot_1_Page_HPGL().
|
virtualinherited |
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. |
Reimplemented in SVG_PLOTTER, PDF_PLOTTER, PS_PLOTTER, DXF_PLOTTER, and GERBER_PLOTTER.
Definition at line 219 of file gr_text.cpp.
References GRText(), NULL, PLOTTER::SetColor(), and PLOTTER::SetCurrentLineWidth().
Referenced by GENDRILL_WRITER_BASE::genDrillMapFile(), LIB_TEXT::Plot(), LIB_FIELD::Plot(), SCH_FIELD::Plot(), SCH_TEXT::Plot(), PlotDrawingSheet(), BRDITEMS_PLOTTER::PlotFootprintTextItem(), BRDITEMS_PLOTTER::PlotPcbText(), LIB_PIN::PlotPinTexts(), GERBER_PLOTTER::Text(), DXF_PLOTTER::Text(), PS_PLOTTER::Text(), PDF_PLOTTER::Text(), and SVG_PLOTTER::Text().
|
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().
|
overridevirtual |
Reimplemented from PLOTTER.
Definition at line 564 of file HPGL_plotter.cpp.
References PLOTTER::FinishTo(), PLOTTER::m_outputFile, PLOTTER::MoveTo(), penDiameter, and PLOTTER::segmentAsOval().
|
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(), Arc(), PS_PLOTTER::Arc(), PDF_PLOTTER::Arc(), SVG_PLOTTER::Arc(), SVG_PLOTTER::BezierCurve(), DXF_PLOTTER::Circle(), Circle(), PS_PLOTTER::Circle(), PDF_PLOTTER::Circle(), SVG_PLOTTER::Circle(), PSLIKE_PLOTTER::computeTextParameters(), GERBER_PLOTTER::FlashPadChamferRoundRect(), 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(), PenTo(), PS_PLOTTER::PenTo(), PDF_PLOTTER::PenTo(), SVG_PLOTTER::PenTo(), GERBER_PLOTTER::plotArc(), PS_PLOTTER::PlotImage(), PDF_PLOTTER::PlotImage(), PlotPoly(), PS_PLOTTER::PlotPoly(), PDF_PLOTTER::PlotPoly(), SVG_PLOTTER::PlotPoly(), Rect(), PS_PLOTTER::Rect(), PDF_PLOTTER::Rect(), SVG_PLOTTER::Rect(), DXF_PLOTTER::Text(), PS_PLOTTER::Text(), and SVG_PLOTTER::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(), Arc(), PS_PLOTTER::Arc(), SVG_PLOTTER::Arc(), DXF_PLOTTER::Circle(), Circle(), PS_PLOTTER::Circle(), PDF_PLOTTER::Circle(), SVG_PLOTTER::Circle(), PSLIKE_PLOTTER::computeTextParameters(), FlashPadCircle(), PLOTTER::GetDashGapLenIU(), PLOTTER::GetDashMarkLenIU(), PLOTTER::GetDotMarkLenIU(), PDF_PLOTTER::PlotImage(), SVG_PLOTTER::PlotImage(), SetCurrentLineWidth(), PS_PLOTTER::SetCurrentLineWidth(), PDF_PLOTTER::SetCurrentLineWidth(), SVG_PLOTTER::setSVGPlotStyle(), SetTargetChordLength(), PDF_PLOTTER::StartPage(), StartPlot(), PS_PLOTTER::StartPlot(), DXF_PLOTTER::Text(), and SVG_PLOTTER::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.
|
protected |
Definition at line 147 of file plotter_hpgl.h.
|
protected |
Definition at line 146 of file plotter_hpgl.h.
Referenced by Arc(), Circle(), and SetTargetChordLength().
|
protected |
Definition at line 148 of file plotter_hpgl.h.
Referenced by SetDash(), and startOrAppendItem().
|
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(), SVG_PLOTTER::SetCurrentLineWidth(), GERBER_PLOTTER::ThickArc(), GERBER_PLOTTER::ThickCircle(), and GERBER_PLOTTER::ThickRect().
|
protected |
Definition at line 150 of file plotter_hpgl.h.
Referenced by EndPlot(), and SetUserCoordsFit().
|
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 SVG_PLOTTER::StartPlot().
|
protected |
Definition at line 202 of file plotter_hpgl.h.
Referenced by Arc(), Circle(), FlashPadCircle(), flushItem(), PenTo(), PlotPoly(), Rect(), and startOrAppendItem().
|
protectedinherited |
Definition at line 585 of file plotter.h.
Referenced by GERBER_PLOTTER::FlashPadCircle(), PLOTTER::GetCurrentLineWidth(), PLOTTER::PLOTTER(), GERBER_PLOTTER::SetCurrentLineWidth(), SetCurrentLineWidth(), DXF_PLOTTER::SetCurrentLineWidth(), PS_PLOTTER::SetCurrentLineWidth(), PDF_PLOTTER::SetCurrentLineWidth(), SVG_PLOTTER::SetCurrentLineWidth(), PLOTTER::sketchOval(), GERBER_PLOTTER::ThickArc(), PLOTTER::ThickArc(), GERBER_PLOTTER::ThickCircle(), PLOTTER::ThickCircle(), GERBER_PLOTTER::ThickRect(), and PLOTTER::ThickRect().
|
protectedinherited |
Definition at line 590 of file plotter.h.
Referenced by PDF_PLOTTER::EndPlot(), PLOTTER::OpenFile(), PDF_PLOTTER::OpenFile(), and SVG_PLOTTER::StartPlot().
|
protectedinherited |
Definition at line 595 of file plotter.h.
Referenced by PLOTTER::AddLineToHeader(), PLOTTER::ClearHeaderLinesList(), and GERBER_PLOTTER::StartPlot().
|
protected |
Definition at line 201 of file plotter_hpgl.h.
Referenced by EndPlot(), and startOrAppendItem().
|
protectedinherited |
Definition at line 571 of file plotter.h.
Referenced by EndPlot(), PLOTTER::PLOTTER(), GERBER_PLOTTER::SetGerberCoordinatesFormat(), SVG_PLOTTER::SetSvgCoordinatesFormat(), GERBER_PLOTTER::SetViewport(), DXF_PLOTTER::SetViewport(), SetViewport(), PS_PLOTTER::SetViewport(), PDF_PLOTTER::SetViewport(), PDF_PLOTTER::StartPage(), SVG_PLOTTER::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(), SVG_PLOTTER::SetSvgCoordinatesFormat(), GERBER_PLOTTER::SetViewport(), DXF_PLOTTER::SetViewport(), SetViewport(), PS_PLOTTER::SetViewport(), PDF_PLOTTER::SetViewport(), SVG_PLOTTER::SetViewport(), GERBER_PLOTTER::StartPlot(), SVG_PLOTTER::StartPlot(), PLOTTER::userToDeviceCoordinates(), and GERBER_PLOTTER::writeApertureList().
|
protectedinherited |
Definition at line 576 of file plotter.h.
Referenced by PS_PLOTTER::Arc(), SVG_PLOTTER::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(), Arc(), PS_PLOTTER::Arc(), SVG_PLOTTER::Arc(), SVG_PLOTTER::BezierCurve(), DXF_PLOTTER::Circle(), Circle(), PS_PLOTTER::Circle(), SVG_PLOTTER::Circle(), GERBER_PLOTTER::ClearAllAttributes(), GERBER_PLOTTER::clearNetAttribute(), PDF_PLOTTER::ClosePage(), PDF_PLOTTER::closePdfObject(), PDF_PLOTTER::closePdfStream(), GERBER_PLOTTER::emitDcode(), PS_PLOTTER::emitSetRGBColor(), SVG_PLOTTER::EndBlock(), GERBER_PLOTTER::EndPlot(), EndPlot(), DXF_PLOTTER::EndPlot(), PS_PLOTTER::EndPlot(), PDF_PLOTTER::EndPlot(), SVG_PLOTTER::EndPlot(), DXF_PLOTTER::FlashPadCircle(), FlashPadCircle(), PSLIKE_PLOTTER::FlashPadOval(), DXF_PLOTTER::FlashPadOval(), 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(), PenTo(), PS_PLOTTER::PenTo(), SVG_PLOTTER::PenTo(), GERBER_PLOTTER::plotArc(), GERBER_PLOTTER::PlotGerberRegion(), PS_PLOTTER::PlotImage(), SVG_PLOTTER::PlotImage(), GERBER_PLOTTER::PlotPoly(), PS_PLOTTER::PlotPoly(), SVG_PLOTTER::PlotPoly(), GERBER_PLOTTER::plotRoundRectAsRegion(), PLOTTER::PLOTTER(), DXF_PLOTTER::Rect(), Rect(), PS_PLOTTER::Rect(), SVG_PLOTTER::Rect(), GERBER_PLOTTER::selectAperture(), PS_PLOTTER::SetCurrentLineWidth(), PS_PLOTTER::SetDash(), GERBER_PLOTTER::SetLayerPolarity(), SVG_PLOTTER::setSVGPlotStyle(), PS_PLOTTER::SetViewport(), SVG_PLOTTER::StartBlock(), PDF_PLOTTER::StartPage(), PDF_PLOTTER::startPdfObject(), PDF_PLOTTER::startPdfStream(), GERBER_PLOTTER::StartPlot(), StartPlot(), DXF_PLOTTER::StartPlot(), PS_PLOTTER::StartPlot(), PDF_PLOTTER::StartPlot(), SVG_PLOTTER::StartPlot(), DXF_PLOTTER::Text(), PS_PLOTTER::Text(), SVG_PLOTTER::Text(), 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(), SetViewport(), PS_PLOTTER::SetViewport(), SVG_PLOTTER::SetViewport(), PDF_PLOTTER::StartPage(), and PS_PLOTTER::StartPlot().
|
protectedinherited |
Definition at line 593 of file plotter.h.
Referenced by EndPlot(), GERBER_PLOTTER::SetViewport(), DXF_PLOTTER::SetViewport(), SetViewport(), PS_PLOTTER::SetViewport(), SVG_PLOTTER::SetViewport(), PDF_PLOTTER::StartPage(), SVG_PLOTTER::StartPlot(), and PLOTTER::userToDeviceCoordinates().
|
protectedinherited |
Definition at line 587 of file plotter.h.
Referenced by DXF_PLOTTER::PenTo(), PenTo(), PS_PLOTTER::PenTo(), PDF_PLOTTER::PenTo(), and SVG_PLOTTER::PenTo().
|
protectedinherited |
Definition at line 586 of file plotter.h.
Referenced by GERBER_PLOTTER::PenTo(), PenTo(), PS_PLOTTER::PenTo(), PDF_PLOTTER::PenTo(), SVG_PLOTTER::PenTo(), and PLOTTER::PLOTTER().
|
protectedinherited |
Definition at line 574 of file plotter.h.
Referenced by Arc(), PS_PLOTTER::Arc(), SVG_PLOTTER::Arc(), PSLIKE_PLOTTER::computeTextParameters(), PLOTTER::PLOTTER(), GERBER_PLOTTER::SetViewport(), DXF_PLOTTER::SetViewport(), SetViewport(), PS_PLOTTER::SetViewport(), PDF_PLOTTER::SetViewport(), SVG_PLOTTER::SetViewport(), PDF_PLOTTER::Text(), and PLOTTER::userToDeviceCoordinates().
|
protectedinherited |
Definition at line 573 of file plotter.h.
Referenced by GERBER_PLOTTER::SetViewport(), DXF_PLOTTER::SetViewport(), SetViewport(), PS_PLOTTER::SetViewport(), PDF_PLOTTER::SetViewport(), SVG_PLOTTER::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(), SetViewport(), PS_PLOTTER::SetViewport(), PDF_PLOTTER::SetViewport(), SVG_PLOTTER::SetViewport(), PLOTTER::userToDeviceCoordinates(), PLOTTER::userToDeviceSize(), and GERBER_PLOTTER::writeApertureList().
|
protectedinherited |
Definition at line 597 of file plotter.h.
Referenced by PLOTTER::PLOTTER(), PLOTTER::RenderSettings(), GERBER_PLOTTER::SetCurrentLineWidth(), PS_PLOTTER::SetCurrentLineWidth(), PDF_PLOTTER::SetCurrentLineWidth(), SVG_PLOTTER::SetCurrentLineWidth(), PLOTTER::SetRenderSettings(), PDF_PLOTTER::StartPage(), GERBER_PLOTTER::StartPlot(), and PS_PLOTTER::StartPlot().
|
protectedinherited |
Definition at line 591 of file plotter.h.
Referenced by PDF_PLOTTER::EndPlot(), PLOTTER::SetTitle(), and PS_PLOTTER::StartPlot().
|
protectedinherited |
Definition at line 577 of file plotter.h.
Referenced by SVG_PLOTTER::Arc(), PLOTTER::PLOTTER(), SVG_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().
|
protected |
Definition at line 145 of file plotter_hpgl.h.
Referenced by FlashPadCircle(), FlashPadOval(), FlashPadRect(), FlashPadRoundRect(), SetCurrentLineWidth(), SetPenDiameter(), StartPlot(), and ThickSegment().
|
protected |
Definition at line 144 of file plotter_hpgl.h.
Referenced by EndPlot(), SetPenNumber(), startOrAppendItem(), and StartPlot().
|
protected |
Definition at line 143 of file plotter_hpgl.h.
Referenced by SetPenSpeed(), and StartPlot().
|
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(), PlotPoly(), GERBER_PLOTTER::SetCurrentLineWidth(), PS_PLOTTER::SetCurrentLineWidth(), PDF_PLOTTER::SetCurrentLineWidth(), SVG_PLOTTER::SetCurrentLineWidth(), GERBER_PLOTTER::ThickArc(), GERBER_PLOTTER::ThickCircle(), GERBER_PLOTTER::ThickRect(), and GERBER_PLOTTER::ThickSegment().
|
protected |
Definition at line 149 of file plotter_hpgl.h.
Referenced by EndPlot(), and SetUserCoords().