KiCad PCB EDA Suite
Loading...
Searching...
No Matches
plotter.h File Reference
#include <eda_shape.h>
#include <vector>
#include <math/box2.h>
#include <gr_text.h>
#include <page_info.h>
#include <outline_mode.h>
#include <gal/color4d.h>
#include <stroke_params.h>
#include <render_settings.h>

Go to the source code of this file.

Classes

class  PLOTTER
 Base plotter engine class. More...
 

Enumerations

enum class  DXF_UNITS { INCHES = 0 , MILLIMETERS = 1 }
 
enum class  PLOT_FORMAT {
  UNDEFINED = -1 , FIRST_FORMAT = 0 , HPGL = FIRST_FORMAT , GERBER ,
  POST , DXF , PDF , SVG ,
  LAST_FORMAT = SVG
}
 The set of supported output plot formats. More...
 
enum class  PLOT_TEXT_MODE { STROKE , NATIVE , PHANTOM , DEFAULT }
 Which kind of text to output with the PSLIKE plotters. More...
 

Functions

void PlotDrawingSheet (PLOTTER *plotter, const PROJECT *aProject, const TITLE_BLOCK &aTitleBlock, const PAGE_INFO &aPageInfo, const std::map< wxString, wxString > *aProperties, const wxString &aSheetNumber, int aSheetCount, const wxString &aSheetName, const wxString &aSheetPath, const wxString &aFilename, COLOR4D aColor=COLOR4D::UNSPECIFIED, bool aIsFirstPage=true)
 
wxString GetDefaultPlotExtension (PLOT_FORMAT aFormat)
 Returns the default plot extension for a format.
 

Enumeration Type Documentation

◆ DXF_UNITS

enum class DXF_UNITS
strong
Enumerator
INCHES 
MILLIMETERS 

Definition at line 51 of file plotter.h.

◆ PLOT_FORMAT

enum class PLOT_FORMAT
strong

The set of supported output plot formats.

They should be kept in order of the radio buttons in the plot panel/windows.

Enumerator
UNDEFINED 
FIRST_FORMAT 
HPGL 
GERBER 
POST 
DXF 
PDF 
SVG 
LAST_FORMAT 

Definition at line 63 of file plotter.h.

◆ PLOT_TEXT_MODE

enum class PLOT_TEXT_MODE
strong

Which kind of text to output with the PSLIKE plotters.

You can: 1) only use the internal vector font 2) only use native postscript fonts 3) use the internal vector font and add 'phantom' text to aid searching 4) keep the default for the plot driver

This is recognized by the DXF driver too, where NATIVE emits TEXT entities instead of stroking the text

Enumerator
STROKE 
NATIVE 
PHANTOM 
DEFAULT 

Definition at line 89 of file plotter.h.

Function Documentation

◆ GetDefaultPlotExtension()

◆ PlotDrawingSheet()

void PlotDrawingSheet ( PLOTTER plotter,
const PROJECT aProject,
const TITLE_BLOCK aTitleBlock,
const PAGE_INFO aPageInfo,
const std::map< wxString, wxString > *  aProperties,
const wxString &  aSheetNumber,
int  aSheetCount,
const wxString &  aSheetName,
const wxString &  aSheetPath,
const wxString &  aFilename,
COLOR4D  aColor = COLOR4D::UNSPECIFIED,
bool  aIsFirstPage = true 
)

Definition at line 52 of file common_plot_functions.cpp.

References KIGFX::COLOR4D::BLACK, DS_DRAW_ITEM_LIST::BuildDrawItemsList(), color, SHAPE_LINE_CHAIN::CPoint(), FILLED_SHAPE, PLOTTER::FinishTo(), PLOTTER::GetColorMode(), KIGFX::RENDER_SETTINGS::GetDefaultFont(), KIGFX::RENDER_SETTINGS::GetDefaultPenWidth(), DS_DRAW_ITEM_LINE::GetEnd(), DS_DRAW_ITEM_RECT::GetEnd(), DS_DRAW_ITEM_LIST::GetFirst(), KIFONT::FONT::GetFont(), PLOTTER::GetIUsPerDecimil(), KIGFX::RENDER_SETTINGS::GetLayerName(), DS_DRAW_ITEM_LIST::GetNext(), DS_DRAW_ITEM_BASE::GetPeer(), DS_DRAW_ITEM_BASE::GetPenWidth(), DS_DRAW_ITEM_POLYPOLYGONS::GetPolygons(), DS_DRAW_ITEM_BITMAP::GetPosition(), DS_DRAW_ITEM_LINE::GetStart(), DS_DRAW_ITEM_RECT::GetStart(), PLOTTER::LineTo(), DS_DATA_ITEM_BITMAP::m_ImageBitmap, PLOTTER::MoveTo(), SHAPE_POLY_SET::Outline(), SHAPE_POLY_SET::OutlineCount(), BITMAP_BASE::PlotImage(), PLOTTER::PlotPoly(), SHAPE_LINE_CHAIN::PointCount(), RED, PLOTTER::RenderSettings(), PLOTTER::SetColor(), PLOTTER::SetCurrentLineWidth(), DS_DRAW_ITEM_LIST::SetDefaultPenSize(), DS_DRAW_ITEM_LIST::SetFileName(), DS_DRAW_ITEM_LIST::SetIsFirstPage(), DS_DRAW_ITEM_LIST::SetPageNumber(), DS_DRAW_ITEM_LIST::SetPlotterMilsToIUfactor(), DS_DRAW_ITEM_LIST::SetProject(), DS_DRAW_ITEM_LIST::SetProperties(), DS_DRAW_ITEM_LIST::SetSheetCount(), DS_DRAW_ITEM_LIST::SetSheetLayer(), DS_DRAW_ITEM_LIST::SetSheetName(), DS_DRAW_ITEM_LIST::SetSheetPath(), text, PLOTTER::Text(), unityScale, KIGFX::COLOR4D::UNSPECIFIED, PLOTTER::USE_DEFAULT_LINE_WIDTH, WSG_BITMAP_T, WSG_LINE_T, WSG_POLY_T, WSG_RECT_T, WSG_TEXT_T, VECTOR2< T >::x, and VECTOR2< T >::y.

Referenced by SCH_PLOTTER::plotOneSheetDXF(), SCH_PLOTTER::plotOneSheetHpgl(), SCH_PLOTTER::plotOneSheetPDF(), SCH_PLOTTER::plotOneSheetPS(), SCH_PLOTTER::plotOneSheetSVG(), and StartPlotBoard().