KiCad PCB EDA Suite
Loading...
Searching...
No Matches
ZONE_PAINTER Class Reference
Inheritance diagram for ZONE_PAINTER:
KIGFX::PCB_PAINTER KIGFX::PAINTER

Public Member Functions

bool Draw (const KIGFX::VIEW_ITEM *aItem, int aLayer) override
 
 PCB_PAINTER (GAL *aGal, FRAME_T aFrameType)
 
virtual PCB_RENDER_SETTINGSGetSettings () override
 Return a pointer to current settings that are going to be used when drawing items.
 
void SetGAL (GAL *aGal)
 Changes Graphics Abstraction Layer used for drawing items for a new one.
 

Protected Member Functions

PCB_VIEWERS_SETTINGS_BASEviewer_settings ()
 
void draw (const PCB_TRACK *aTrack, int aLayer)
 
void draw (const PCB_ARC *aArc, int aLayer)
 
void draw (const PCB_VIA *aVia, int aLayer)
 
void draw (const PAD *aPad, int aLayer)
 
void draw (const PCB_SHAPE *aSegment, int aLayer)
 
void draw (const PCB_REFERENCE_IMAGE *aBitmap, int aLayer)
 
void draw (const PCB_FIELD *aField, int aLayer)
 
void draw (const PCB_TEXT *aText, int aLayer)
 
void draw (const PCB_TEXTBOX *aText, int aLayer)
 
void draw (const PCB_TABLE *aTable, int aLayer)
 
void draw (const FOOTPRINT *aFootprint, int aLayer)
 
void draw (const PCB_GROUP *aGroup, int aLayer)
 
void draw (const ZONE *aZone, int aLayer)
 
void draw (const PCB_BARCODE *aBarcode, int aLayer)
 
void draw (const PCB_DIMENSION_BASE *aDimension, int aLayer)
 
void draw (const PCB_POINT *aPoint, int aLayer)
 
void draw (const PCB_TARGET *aTarget)
 
void draw (const PCB_MARKER *aMarker, int aLayer)
 
void draw (const PCB_BOARD_OUTLINE *aBoardOutline, int aLayer)
 
int getLineThickness (int aActualThickness) const
 Get the thickness to draw for a line (e.g.
 
virtual PAD_DRILL_SHAPE getDrillShape (const PAD *aPad) const
 Return drill shape of a pad.
 
virtual SHAPE_SEGMENT getPadHoleShape (const PAD *aPad) const
 Return hole shape for a pad (internal units).
 
virtual int getViaDrillSize (const PCB_VIA *aVia) const
 Return drill diameter for a via (internal units).
 
void strokeText (const wxString &aText, const VECTOR2I &aPosition, const TEXT_ATTRIBUTES &aAttrs, const KIFONT::METRICS &aFontMetrics)
 
void renderNetNameForSegment (const SHAPE_SEGMENT &aSeg, const COLOR4D &aColor, const wxString &aNetName) const
 
void drawBackdrillIndicator (const BOARD_ITEM *aItem, const VECTOR2D &aCenter, int aDrillSize, PCB_LAYER_ID aStartLayer, PCB_LAYER_ID aEndLayer)
 Draw backdrill indicator (two semi-circles) at the given center point.
 
void drawPostMachiningIndicator (const BOARD_ITEM *aItem, const VECTOR2D &aCenter, PCB_LAYER_ID aLayer)
 Draw post-machining indicator (dashed circle) at the given center point.
 

Protected Attributes

PCB_RENDER_SETTINGS m_pcbSettings
 
FRAME_T m_frameType
 
int m_maxError
 
int m_holePlatingThickness
 
int m_lockedShadowMargin
 
GALm_gal
 Instance of graphic abstraction layer that gives an interface to call commands used to draw (eg.
 

Detailed Description

Definition at line 76 of file zone_preview_canvas.cpp.

Member Function Documentation

◆ Draw()

bool ZONE_PAINTER::Draw ( const KIGFX::VIEW_ITEM * aItem,
int aLayer )
inlineoverridevirtual

◆ draw() [1/19]

◆ draw() [2/19]

void PCB_PAINTER::draw ( const PAD * aPad,
int aLayer )
protectedinherited

Definition at line 1322 of file pcb_painter.cpp.

References SEG::A, ANGLE_90, ANGLE_HORIZONTAL, SHAPE_POLY_SET::Append(), SEG::B, B_Mask, B_Paste, center, BOX2< Vec >::Centre(), CHAMFER_ALL_CORNERS, CIRCLE, circle(), clearance, SHAPE_SIMPLE::CPoint(), CUSTOM, SHAPE_POLY_SET::Deflate(), drawBackdrillIndicator(), drawPostMachiningIndicator(), BOARD_ITEM::Duplicate(), ERROR_INSIDE, F_Mask, F_Paste, PAD::FlashLayer(), PAD::GetAttribute(), BOARD_ITEM::GetBoard(), EDA_SHAPE::GetBotRight(), PAD::GetBoundingBox(), PCB_SHAPE::GetCenter(), ADVANCED_CFG::GetCfg(), BOARD_CONNECTED_ITEM::GetDisplayNetname(), PAD::GetDrillSizeX(), PAD::GetEffectiveHoleShape(), PAD::GetEffectiveShape(), BOARD::GetEnabledLayers(), SHAPE_RECT::GetHeight(), PAD::GetLayerSet(), PAD::GetNumber(), PAD::GetOffset(), PAD::GetOrientation(), PAD::GetOwnClearance(), getPadHoleShape(), BOARD_ITEM::GetParentFootprint(), PAD::GetPinFunction(), PAD::GetPosition(), SHAPE_RECT::GetPosition(), PAD::GetPrimitives(), PAD::GetSecondaryDrillEndLayer(), PAD::GetSecondaryDrillSize(), PAD::GetSecondaryDrillStartLayer(), SHAPE_SEGMENT::GetSeg(), SHAPE_SIMPLE::GetSegment(), SHAPE_SIMPLE::GetSegmentCount(), EDA_SHAPE::GetShape(), PAD::GetShape(), BOX2< Vec >::GetSize(), PAD::GetSize(), SHAPE_RECT::GetSize(), PAD::GetSizeX(), PAD::GetSizeY(), PAD::GetSolderMaskExpansion(), PAD::GetSolderPasteMargin(), PAD::GetTertiaryDrillEndLayer(), PAD::GetTertiaryDrillSize(), PAD::GetTertiaryDrillStartLayer(), EDA_SHAPE::GetTopLeft(), BOARD::GetVisibleLayers(), SHAPE_RECT::GetWidth(), SHAPE_SEGMENT::GetWidth(), GR_TEXT_H_ALIGN_CENTER, GR_TEXT_V_ALIGN_CENTER, FOOTPRINT::GraphicalItems(), IGNORE_PARENT_GROUP, IsClearanceLayer(), EDA_ITEM::IsEntered(), PAD::IsFreePad(), IsNetnameLayer(), PAD::IsNoConnectPad(), IsPadCopperLayer(), PCB_SHAPE::IsProxyItem(), EDA_ITEM::IsSelected(), LAYER_CLEARANCE_START, LAYER_LOCKED_ITEM_SHADOW, LAYER_NON_PLATEDHOLES, LAYER_PAD_COPPER_START, LAYER_PAD_HOLEWALLS, LAYER_PAD_PLATEDHOLES, PCBNEW_SETTINGS::m_Display, PCB_VIEWERS_SETTINGS_BASE::VIEWERS_DISPLAY_OPTIONS::m_DisplayPadFill, KIGFX::PAINTER::m_gal, m_holePlatingThickness, ADVANCED_CFG::m_HoleWallPaintingMultiplier, m_lockedShadowMargin, m_maxError, PCBNEW_SETTINGS::DISPLAY_OPTIONS::m_NetNames, m_pcbSettings, PCB_VIEWERS_SETTINGS_BASE::m_ViewersDisplay, KIGFX::PCB_RENDER_SETTINGS::MAX_FONT_SIZE, SHAPE_POLY_SET::NewOutline(), NPTH, SHAPE_POLY_SET::Outline(), OVAL, PCB_LAYER_ID_COUNT, PCB_SHAPE_T, pcbconfig(), SHAPE_LINE_CHAIN::PointCount(), SHAPE_SIMPLE::PointCount(), PrintableCharCount(), RECTANGLE, RotatePoint(), ROUNDRECT, SH_CIRCLE, SH_RECT, SH_SEGMENT, SH_SIMPLE, PAD::ShapePos(), ToLAYER_ID(), PAD::TransformShapeToPolygon(), UnescapeString(), SHAPE_SIMPLE::Vertices(), viewer_settings(), VECTOR2< T >::x, and VECTOR2< T >::y.

◆ draw() [3/19]

◆ draw() [4/19]

◆ draw() [5/19]

void PCB_PAINTER::draw ( const PCB_BOARD_OUTLINE * aBoardOutline,
int aLayer )
protectedinherited

◆ draw() [6/19]

◆ draw() [7/19]

void PCB_PAINTER::draw ( const PCB_FIELD * aField,
int aLayer )
protectedinherited

Definition at line 2414 of file pcb_painter.cpp.

References draw(), and EDA_TEXT::IsVisible().

◆ draw() [8/19]

◆ draw() [9/19]

◆ draw() [10/19]

void PCB_PAINTER::draw ( const PCB_POINT * aPoint,
int aLayer )
protectedinherited

◆ draw() [11/19]

◆ draw() [12/19]

void PCB_PAINTER::draw ( const PCB_SHAPE * aSegment,
int aLayer )
protectedinherited

Definition at line 1943 of file pcb_painter.cpp.

References SHAPE_POLY_SET::Append(), ARC, BEZIER, SHAPE_POLY_SET::CacheTriangulation(), EDA_SHAPE::CalcArcAngles(), CIRCLE, DEFAULT, FRAME_PCB_EDITOR, EDA_SHAPE::GetBezierC1(), EDA_SHAPE::GetBezierC2(), EDA_SHAPE::GetBezierPoints(), PCB_SHAPE::GetCenter(), EDA_SHAPE::GetCornerRadius(), BOARD_CONNECTED_ITEM::GetDisplayNetname(), EDA_SHAPE::GetEnd(), EDA_SHAPE::GetHatching(), PCB_SHAPE::GetLayer(), STROKE_PARAMS::GetLineStyle(), getLineThickness(), BOARD_ITEM::GetMaxError(), BOARD_CONNECTED_ITEM::GetNetCode(), BEZIER_POLY::GetPoly(), EDA_SHAPE::GetRadius(), EDA_SHAPE::GetRectangleHeight(), EDA_SHAPE::GetRectangleWidth(), EDA_SHAPE::GetRectCorners(), EDA_SHAPE::GetShape(), PCB_SHAPE::GetSolderMaskExpansion(), EDA_SHAPE::GetStart(), PCB_SHAPE::GetStroke(), PCB_SHAPE::GetWidth(), PCB_SHAPE::HasSolderMask(), SHAPE_POLY_SET::Inflate(), IsExternalCopperLayer(), EDA_SHAPE::IsHatchedFill(), IsNetnameLayer(), PCB_SHAPE::IsProxyItem(), IsSolderMaskLayer(), EDA_SHAPE::IsSolidFill(), SHAPE_POLY_SET::IsTriangulationUpToDate(), LAYER_LOCKED_ITEM_SHADOW, PCB_VIEWERS_SETTINGS_BASE::VIEWERS_DISPLAY_OPTIONS::m_DisplayGraphicsFill, m_frameType, KIGFX::PAINTER::m_gal, m_lockedShadowMargin, m_maxError, m_pcbSettings, PCB_VIEWERS_SETTINGS_BASE::m_ViewersDisplay, EDA_SHAPE::MakeEffectiveShapes(), SHAPE_POLY_SET::NewOutline(), SHAPE_POLY_SET::Outline(), SHAPE_POLY_SET::OutlineCount(), pcbconfig(), POLY, radius, RECTANGLE, renderNetNameForSegment(), VECTOR2< T >::Resize(), ROUND_ALL_CORNERS, SEGMENT, SOLID, STROKE_PARAMS::Stroke(), ROUNDRECT::TransformToPolygon(), NETINFO_LIST::UNCONNECTED, UNDEFINED, and viewer_settings().

◆ draw() [13/19]

◆ draw() [14/19]

◆ draw() [15/19]

◆ draw() [16/19]

◆ draw() [17/19]

◆ draw() [18/19]

void PCB_PAINTER::draw ( const PCB_VIA * aVia,
int aLayer )
protectedinherited

Definition at line 1044 of file pcb_painter.cpp.

References ANGLE_HORIZONTAL, B_Cu, B_Mask, BLIND, PCB_VIA::BottomLayer(), BURIED, center, KIGFX::COLOR4D::CLEAR, DEGREES_T, draw(), drawBackdrillIndicator(), drawPostMachiningIndicator(), F_Cu, F_Mask, PCB_VIA::FlashLayer(), BOARD_ITEM::GetBoard(), ADVANCED_CFG::GetCfg(), BOARD::GetCopperLayerCount(), BOARD::GetDesignSettings(), BOARD_CONNECTED_ITEM::GetDisplayNetname(), BOARD::GetEnabledLayers(), BOARD_CONNECTED_ITEM::GetNetname(), BOARD_CONNECTED_ITEM::GetOwnClearance(), PCB_VIA::GetSecondaryDrillEndLayer(), PCB_VIA::GetSecondaryDrillSize(), PCB_VIA::GetSecondaryDrillStartLayer(), PCB_TRACK::GetStart(), PCB_VIA::GetTertiaryDrillEndLayer(), PCB_VIA::GetTertiaryDrillSize(), PCB_VIA::GetTertiaryDrillStartLayer(), getViaDrillSize(), PCB_VIA::GetViaType(), BOARD::GetVisibleLayers(), PCB_VIA::GetWidth(), GR_TEXT_H_ALIGN_CENTER, GR_TEXT_V_ALIGN_CENTER, IsClearanceLayer(), IsCopperLayer(), IsNetnameLayer(), PCB_VIA::IsOnLayer(), EDA_ITEM::IsSelected(), IsViaCopperLayer(), L, LAYER_CLEARANCE_START, LAYER_LOCKED_ITEM_SHADOW, LAYER_VIA_COPPER_START, LAYER_VIA_HOLES, LAYER_VIA_HOLEWALLS, PCB_VIA::LayerPair(), PCBNEW_SETTINGS::m_Display, PCBNEW_SETTINGS::DISPLAY_OPTIONS::m_DisplayViaFill, KIGFX::PAINTER::m_gal, m_holePlatingThickness, ADVANCED_CFG::m_HoleWallPaintingMultiplier, m_lockedShadowMargin, PCBNEW_SETTINGS::DISPLAY_OPTIONS::m_NetNames, m_pcbSettings, BOARD_DESIGN_SETTINGS::m_SolderMaskExpansion, KIGFX::PCB_RENDER_SETTINGS::MAX_FONT_SIZE, MICROVIA, pcbconfig(), PrintableCharCount(), radius, SHOW_WITH_VIA_ALWAYS, THROUGH, ToLAYER_ID(), PCB_VIA::TopLayer(), VECTOR2< T >::x, and VECTOR2< T >::y.

◆ draw() [19/19]

◆ drawBackdrillIndicator()

void PCB_PAINTER::drawBackdrillIndicator ( const BOARD_ITEM * aItem,
const VECTOR2D & aCenter,
int aDrillSize,
PCB_LAYER_ID aStartLayer,
PCB_LAYER_ID aEndLayer )
protectedinherited

Draw backdrill indicator (two semi-circles) at the given center point.

Parameters
aItemthe board item (for color lookup)
aCentercenter point of the indicator
aDrillSizediameter of the backdrill
aStartLayerlayer where backdrill starts
aEndLayerlayer where backdrill ends

Definition at line 3269 of file pcb_painter.cpp.

References KIGFX::GAL_SCOPED_ATTRS::ALL_ATTRS, DEGREES_T, KIGFX::PAINTER::m_gal, and m_pcbSettings.

Referenced by draw(), and draw().

◆ drawPostMachiningIndicator()

void PCB_PAINTER::drawPostMachiningIndicator ( const BOARD_ITEM * aItem,
const VECTOR2D & aCenter,
PCB_LAYER_ID aLayer )
protectedinherited

Draw post-machining indicator (dashed circle) at the given center point.

Parameters
aItemthe board item (for color lookup)
aCentercenter point of the indicator
aLayerlayer to use for color

Definition at line 3294 of file pcb_painter.cpp.

References KIGFX::GAL_SCOPED_ATTRS::ALL_ATTRS, ANGLE_360, KIGFX::PAINTER::m_gal, m_pcbSettings, pad, and via.

Referenced by draw(), and draw().

◆ getDrillShape()

PAD_DRILL_SHAPE PCB_PAINTER::getDrillShape ( const PAD * aPad) const
protectedvirtualinherited

Return drill shape of a pad.

Reimplemented in KIGFX::PCB_PRINT_PAINTER.

Definition at line 612 of file pcb_painter.cpp.

References PAD::GetDrillShape().

Referenced by KIGFX::PCB_PRINT_PAINTER::getDrillShape().

◆ getLineThickness()

int PCB_PAINTER::getLineThickness ( int aActualThickness) const
protectedinherited

Get the thickness to draw for a line (e.g.

0 thickness lines get a minimum value).

Parameters
aActualThicknessline own thickness
Returns
the thickness to draw

Definition at line 600 of file pcb_painter.cpp.

References m_pcbSettings.

Referenced by draw(), draw(), draw(), draw(), draw(), and draw().

◆ getPadHoleShape()

SHAPE_SEGMENT PCB_PAINTER::getPadHoleShape ( const PAD * aPad) const
protectedvirtualinherited

Return hole shape for a pad (internal units).

Reimplemented in KIGFX::PCB_PRINT_PAINTER.

Definition at line 618 of file pcb_painter.cpp.

References PAD::GetEffectiveHoleShape().

Referenced by draw(), and KIGFX::PCB_PRINT_PAINTER::getPadHoleShape().

◆ GetSettings()

◆ getViaDrillSize()

int PCB_PAINTER::getViaDrillSize ( const PCB_VIA * aVia) const
protectedvirtualinherited

Return drill diameter for a via (internal units).

Reimplemented in KIGFX::PCB_PRINT_PAINTER.

Definition at line 625 of file pcb_painter.cpp.

References PCB_VIA::GetDrillValue().

Referenced by draw(), and KIGFX::PCB_PRINT_PAINTER::getViaDrillSize().

◆ PCB_PAINTER()

PCB_PAINTER::PCB_PAINTER ( GAL * aGal,
FRAME_T aFrameType )

Definition at line 186 of file pcb_painter.cpp.

References NORMAL.

◆ renderNetNameForSegment()

◆ SetGAL()

void KIGFX::PAINTER::SetGAL ( GAL * aGal)
inlineinherited

Changes Graphics Abstraction Layer used for drawing items for a new one.

Parameters
aGalis the new GAL instance.

Definition at line 76 of file painter.h.

References m_gal.

◆ strokeText()

◆ viewer_settings()

Member Data Documentation

◆ m_frameType

FRAME_T KIGFX::PCB_PAINTER::m_frameType
protectedinherited

Definition at line 273 of file pcb_painter.h.

Referenced by draw(), draw(), PCB_PAINTER(), and viewer_settings().

◆ m_gal

GAL* KIGFX::PAINTER::m_gal
protectedinherited

Instance of graphic abstraction layer that gives an interface to call commands used to draw (eg.

DrawLine, DrawCircle, etc.)

Definition at line 102 of file painter.h.

Referenced by KIGFX::PCB_PAINTER::Draw(), ZONE_PAINTER::Draw(), KIGFX::DS_PAINTER::draw(), KIGFX::DS_PAINTER::draw(), KIGFX::DS_PAINTER::draw(), KIGFX::DS_PAINTER::draw(), KIGFX::DS_PAINTER::draw(), KIGFX::DS_PAINTER::draw(), KIGFX::GERBVIEW_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::drawAnchor(), KIGFX::GERBVIEW_PAINTER::drawApertureMacro(), KIGFX::PCB_PAINTER::drawBackdrillIndicator(), KIGFX::DS_PAINTER::DrawBorder(), KIGFX::SCH_PAINTER::drawDanglingIndicator(), KIGFX::GERBVIEW_PAINTER::drawFlashedShape(), KIGFX::SCH_PAINTER::drawItemBoundingBox(), KIGFX::SCH_PAINTER::drawLine(), KIGFX::SCH_PAINTER::drawLocalPowerIcon(), KIGFX::SCH_PAINTER::drawPinDanglingIndicator(), KIGFX::GERBVIEW_PAINTER::drawPolygon(), KIGFX::PCB_PAINTER::drawPostMachiningIndicator(), KIGFX::SCH_PAINTER::getOperatingPointTextSize(), KIGFX::SCH_PAINTER::getShadowWidth(), PAINTER(), KIGFX::PCB_PAINTER::renderNetNameForSegment(), SetGAL(), KIGFX::PCB_PAINTER::strokeText(), and KIGFX::SCH_PAINTER::triLine().

◆ m_holePlatingThickness

int KIGFX::PCB_PAINTER::m_holePlatingThickness
protectedinherited

Definition at line 276 of file pcb_painter.h.

Referenced by Draw(), draw(), draw(), and PCB_PAINTER().

◆ m_lockedShadowMargin

int KIGFX::PCB_PAINTER::m_lockedShadowMargin
protectedinherited

Definition at line 277 of file pcb_painter.h.

Referenced by Draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), and PCB_PAINTER().

◆ m_maxError

int KIGFX::PCB_PAINTER::m_maxError
protectedinherited

Definition at line 275 of file pcb_painter.h.

Referenced by Draw(), draw(), draw(), draw(), draw(), draw(), draw(), and PCB_PAINTER().

◆ m_pcbSettings


The documentation for this class was generated from the following file: