KiCad PCB EDA Suite
|
Contains methods for drawing PCB-specific items. More...
#include <pcb_painter.h>
Public Member Functions | |
PCB_PAINTER (GAL *aGal, FRAME_T aFrameType) | |
virtual PCB_RENDER_SETTINGS * | GetSettings () override |
Return a pointer to current settings that are going to be used when drawing items. | |
virtual bool | Draw (const VIEW_ITEM *aItem, int aLayer) override |
Takes an instance of VIEW_ITEM and passes it to a function that knows how to draw the item. | |
void | SetGAL (GAL *aGal) |
Changes Graphics Abstraction Layer used for drawing items for a new one. | |
Protected Member Functions | |
PCB_VIEWERS_SETTINGS_BASE * | viewer_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_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_DIMENSION_BASE *aDimension, int aLayer) |
void | draw (const PCB_TARGET *aTarget) |
void | draw (const PCB_MARKER *aMarker, 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 |
Protected Attributes | |
PCB_RENDER_SETTINGS | m_pcbSettings |
FRAME_T | m_frameType |
int | m_maxError |
int | m_holePlatingThickness |
int | m_lockedShadowMargin |
GAL * | m_gal |
Instance of graphic abstraction layer that gives an interface to call commands used to draw (eg. | |
Contains methods for drawing PCB-specific items.
Definition at line 172 of file pcb_painter.h.
Definition at line 514 of file pcb_painter.cpp.
|
protected |
Definition at line 2574 of file pcb_painter.cpp.
References B_CrtYd, color, KIGFX::GAL::DrawLine(), KIGFX::GAL::DrawPolygon(), KIGFX::GAL::DrawRectangle(), KIGFX::GAL::DrawSegment(), F_CrtYd, FRAME_PCB_EDITOR, FOOTPRINT::GetBoundingBox(), FOOTPRINT::GetBoundingHull(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), FOOTPRINT::GetCourtyard(), BOX2< Vec >::GetPosition(), FOOTPRINT::GetPosition(), BOX2< Vec >::GetSize(), KIGFX::GAL::GetWorldScale(), LAYER_ANCHOR, LAYER_CONFLICTS_SHADOW, LAYER_LOCKED_ITEM_SHADOW, m_frameType, KIGFX::PAINTER::m_gal, m_lockedShadowMargin, m_pcbSettings, SHAPE_POLY_SET::OutlineCount(), KIGFX::GAL::SetFillColor(), KIGFX::GAL::SetIsFill(), KIGFX::GAL::SetIsStroke(), KIGFX::GAL::SetLineWidth(), KIGFX::GAL::SetStrokeColor(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
protected |
Definition at line 1207 of file pcb_painter.cpp.
References SEG::A, ANGLE_90, ANGLE_HORIZONTAL, SHAPE_POLY_SET::Append(), EDA_ANGLE::AsRadians(), SEG::B, B_Mask, B_Paste, KIGFX::GAL::BitmapText(), BOX2< Vec >::Centre(), color, SHAPE_SIMPLE::CPoint(), SHAPE_POLY_SET::Deflate(), KIGFX::GAL::DrawCircle(), KIGFX::GAL::DrawPolygon(), KIGFX::GAL::DrawRectangle(), KIGFX::GAL::DrawSegment(), BOARD_ITEM::Duplicate(), ERROR_INSIDE, F_Mask, F_Paste, PAD::FlashLayer(), KIGFX::RENDER_SETTINGS::GetActiveLayer(), PAD::GetAttribute(), BOARD_ITEM::GetBoard(), EDA_SHAPE::GetBotRight(), PAD::GetBoundingBox(), SHAPE_CIRCLE::GetCenter(), PCB_SHAPE::GetCenter(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), BOARD_CONNECTED_ITEM::GetDisplayNetname(), PAD::GetEffectiveHoleShape(), PAD::GetEffectiveShape(), BOARD::GetEnabledLayers(), SHAPE_RECT::GetHeight(), KIGFX::RENDER_SETTINGS::GetLayerColor(), PAD::GetNumber(), PAD::GetOrientation(), PAD::GetOwnClearance(), getPadHoleShape(), BOARD_ITEM::GetParentFootprint(), PAD::GetPinFunction(), SHAPE_RECT::GetPosition(), PAD::GetPrimitives(), KIGFX::RENDER_SETTINGS::GetPrintLayers(), SHAPE_CIRCLE::GetRadius(), SHAPE_SEGMENT::GetSeg(), SHAPE_SIMPLE::GetSegment(), SHAPE_SIMPLE::GetSegmentCount(), EDA_SHAPE::GetShape(), PAD::GetShape(), SHAPE_RECT::GetSize(), BOX2< Vec >::GetSize(), PAD::GetSize(), PAD::GetSolderMaskExpansion(), PAD::GetSolderPasteMargin(), EDA_SHAPE::GetTopLeft(), BOARD::GetVisibleLayers(), SHAPE_RECT::GetWidth(), SHAPE_SEGMENT::GetWidth(), GR_TEXT_H_ALIGN_CENTER, GR_TEXT_V_ALIGN_CENTER, FOOTPRINT::GraphicalItems(), IsCopperLayer(), EDA_ITEM::IsEntered(), PAD::IsFreePad(), IsNetnameLayer(), PAD::IsNoConnectPad(), KIGFX::RENDER_SETTINGS::IsPrinting(), PCB_SHAPE::IsProxyItem(), EDA_ITEM::IsSelected(), KiROUND(), LAYER_NON_PLATEDHOLES, LAYER_PAD_HOLEWALLS, LAYER_PAD_PLATEDHOLES, PCBNEW_SETTINGS::m_Display, PCB_VIEWERS_SETTINGS_BASE::VIEWERS_DISPLAY_OPTIONS::m_DisplayPadFill, KIGFX::PCB_RENDER_SETTINGS::m_ForcePadSketchModeOn, KIGFX::PAINTER::m_gal, m_holePlatingThickness, KIGFX::RENDER_SETTINGS::m_isPrinting, m_maxError, PCBNEW_SETTINGS::DISPLAY_OPTIONS::m_NetNames, KIGFX::RENDER_SETTINGS::m_outlineWidth, m_pcbSettings, PCB_VIEWERS_SETTINGS_BASE::m_ViewersDisplay, KIGFX::PCB_RENDER_SETTINGS::MAX_FONT_SIZE, SHAPE_POLY_SET::NewOutline(), SHAPE_POLY_SET::Outline(), PCB_SHAPE_T, pcbconfig(), SHAPE_LINE_CHAIN::PointCount(), SHAPE_SIMPLE::PointCount(), PrintableCharCount(), KIGFX::GAL::ResetTextAttributes(), KIGFX::GAL::Restore(), KIGFX::GAL::Rotate(), RotatePoint(), KIGFX::GAL::Save(), KIGFX::GAL::SetFillColor(), KIGFX::GAL::SetFontBold(), KIGFX::GAL::SetFontItalic(), KIGFX::GAL::SetFontUnderlined(), KIGFX::GAL::SetGlyphSize(), KIGFX::GAL::SetHorizontalJustify(), KIGFX::GAL::SetIsFill(), KIGFX::GAL::SetIsStroke(), KIGFX::GAL::SetLineWidth(), KIGFX::GAL::SetStrokeColor(), KIGFX::GAL::SetTextMirrored(), KIGFX::GAL::SetVerticalJustify(), SH_CIRCLE, SH_RECT, SH_SEGMENT, SH_SIMPLE, PAD::ShapePos(), ToLAYER_ID(), PAD::TransformShapeToPolygon(), KIGFX::GAL::Translate(), UnescapeString(), SHAPE_SIMPLE::Vertices(), viewer_settings(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
protected |
Definition at line 858 of file pcb_painter.cpp.
References color, SHAPE_ARC::ConvertToPolyline(), SHAPE_LINE_CHAIN::CPoint(), KIGFX::GAL::DrawArcSegment(), KIGFX::GAL::DrawPolygon(), KIGFX::GAL::DrawSegment(), F_Cu, KIGFX::RENDER_SETTINGS::GetActiveLayer(), PCB_ARC::GetAngle(), PCB_ARC::GetArcAngleStart(), BOARD_ITEM::GetBoard(), PCB_ARC::GetCenter(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), PCB_TRACK::GetEnd(), PCB_ARC::GetMid(), BOARD_CONNECTED_ITEM::GetOwnClearance(), PCB_ARC::GetRadius(), PCB_TRACK::GetSolderMaskExpansion(), PCB_TRACK::GetStart(), BOARD::GetVisibleLayers(), PCB_TRACK::GetWidth(), IsCopperLayer(), IsNetnameLayer(), IsSolderMaskLayer(), LAYER_LOCKED_ITEM_SHADOW, PCBNEW_SETTINGS::m_Display, PCBNEW_SETTINGS::DISPLAY_OPTIONS::m_DisplayPcbTrackFill, KIGFX::PAINTER::m_gal, KIGFX::RENDER_SETTINGS::m_isPrinting, m_lockedShadowMargin, m_maxError, KIGFX::RENDER_SETTINGS::m_outlineWidth, m_pcbSettings, pcbconfig(), SHAPE_LINE_CHAIN::PointCount(), KIGFX::GAL::SetFillColor(), KIGFX::GAL::SetIsFill(), KIGFX::GAL::SetIsStroke(), KIGFX::GAL::SetLineWidth(), KIGFX::GAL::SetStrokeColor(), SHOW_WITH_VIA_ALWAYS, and TransformArcToPolygon().
|
protected |
Definition at line 2821 of file pcb_painter.cpp.
References SEG::A, SEG::B, color, KIGFX::GAL::DrawCircle(), KIGFX::GAL::DrawGlyph(), KIGFX::GAL::DrawLine(), EDA_TEXT::GetAttributes(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), EDA_TEXT::GetEffectiveTextPenWidth(), EDA_TEXT::GetFont(), BOARD_ITEM::GetFontMetrics(), PCB_DIMENSION_BASE::GetLineThickness(), getLineThickness(), EDA_TEXT::GetRenderCache(), PCB_DIMENSION_BASE::GetShapes(), PCB_TEXT::GetShownText(), EDA_TEXT::GetTextPos(), KIGFX::GAL::IsFlippedX(), KIFONT::FONT::IsOutline(), BOARD_ITEM::IsSideSpecific(), PCB_VIEWERS_SETTINGS_BASE::VIEWERS_DISPLAY_OPTIONS::m_DisplayGraphicsFill, KIGFX::PAINTER::m_gal, TEXT_ATTRIBUTES::m_Mirrored, KIGFX::RENDER_SETTINGS::m_outlineWidth, m_pcbSettings, TEXT_ATTRIBUTES::m_StrokeWidth, PCB_VIEWERS_SETTINGS_BASE::m_ViewersDisplay, KIGFX::GAL::SetFillColor(), KIGFX::GAL::SetIsFill(), KIGFX::GAL::SetIsStroke(), KIGFX::GAL::SetLineWidth(), KIGFX::GAL::SetStrokeColor(), SH_CIRCLE, SH_SEGMENT, strokeText(), and viewer_settings().
|
protected |
Definition at line 2642 of file pcb_painter.cpp.
References color, KIFONT::FONT::Draw(), KIGFX::GAL::DrawLine(), PCB_GROUP::GetBoundingBox(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), KIFONT::FONT::GetFont(), BOARD_ITEM::GetFontMetrics(), BOX2< Vec >::GetHeight(), PCB_GROUP::GetName(), BOARD_ITEM::GetParent(), GetPenSizeForNormal(), BOX2< Vec >::GetPosition(), MATRIX3x3< T >::GetScale(), KIGFX::GAL::GetScreenWorldMatrix(), BOX2< Vec >::GetWidth(), GR_TEXT_H_ALIGN_CENTER, GR_TEXT_V_ALIGN_BOTTOM, EDA_ITEM::IsEntered(), EDA_ITEM::IsSelected(), KiROUND(), LAYER_ANCHOR, KIGFX::PAINTER::m_gal, TEXT_ATTRIBUTES::m_Halign, TEXT_ATTRIBUTES::m_Italic, KIGFX::RENDER_SETTINGS::m_outlineWidth, m_pcbSettings, TEXT_ATTRIBUTES::m_Size, TEXT_ATTRIBUTES::m_StrokeWidth, TEXT_ATTRIBUTES::m_Valign, EDA_IU_SCALE::MilsToIU(), name, pcbIUScale, PrintableCharCount(), KIGFX::GAL::SetLineWidth(), KIGFX::GAL::SetStrokeColor(), and VECTOR2< T >::x.
|
protected |
Definition at line 2927 of file pcb_painter.cpp.
References color, KIGFX::GAL::DrawArcSegment(), KIGFX::GAL::DrawPolygon(), KIGFX::GAL::DrawSegment(), gerbIUScale, BOARD_ITEM::GetBoard(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), PCB_MARKER::GetColorLayer(), PCB_MARKER::GetPosition(), PCB_MARKER::GetShapes1(), PCB_MARKER::GetShapes2(), KIGFX::GAL::GetZoomFactor(), EDA_ITEM::IsBrightened(), BOARD::IsElementVisible(), LAYER_DRC_ERROR, LAYER_DRC_SHAPE1, LAYER_DRC_SHAPE2, LAYER_DRC_WARNING, LAYER_MARKER_SHADOWS, KIGFX::PAINTER::m_gal, m_pcbSettings, MARKER_BASE::MarkerScale(), EDA_IU_SCALE::mmToIU(), KIGFX::GAL::Restore(), KIGFX::GAL::Save(), KIGFX::GAL::SetFillColor(), KIGFX::GAL::SetIsFill(), KIGFX::GAL::SetIsStroke(), KIGFX::GAL::SetLineWidth(), KIGFX::GAL::SetStrokeColor(), MARKER_BASE::ShapeToPolygon(), and KIGFX::GAL::Translate().
|
protected |
Definition at line 2124 of file pcb_painter.cpp.
References KIGFX::COLOR4D::a, color, KIGFX::GAL::DrawBitmap(), KIGFX::GAL::DrawRectangle(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), REFERENCE_IMAGE::GetImage(), REFERENCE_IMAGE::GetImageScale(), BOARD_ITEM::GetLayer(), REFERENCE_IMAGE::GetPosition(), PCB_REFERENCE_IMAGE::GetReferenceImage(), REFERENCE_IMAGE::GetSize(), EDA_ITEM::IsBrightened(), EDA_ITEM::IsSelected(), LAYER_ANCHOR, KIGFX::PAINTER::m_gal, KIGFX::RENDER_SETTINGS::m_outlineWidth, m_pcbSettings, KIGFX::GAL::Restore(), KIGFX::GAL::Save(), KIGFX::GAL::Scale(), KIGFX::GAL::SetIsFill(), KIGFX::GAL::SetIsStroke(), KIGFX::GAL::SetLineWidth(), KIGFX::GAL::SetStrokeColor(), KIGFX::GAL::Translate(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
protected |
Definition at line 1774 of file pcb_painter.cpp.
References SHAPE_POLY_SET::Append(), SHAPE_POLY_SET::CacheTriangulation(), EDA_SHAPE::CalcArcAngles(), color, KIGFX::GAL::DrawArcSegment(), KIGFX::GAL::DrawCircle(), KIGFX::GAL::DrawCurve(), KIGFX::GAL::DrawLine(), KIGFX::GAL::DrawPolygon(), KIGFX::GAL::DrawSegment(), KIGFX::GAL::DrawSegmentChain(), EDA_SHAPE::GetBezierC1(), EDA_SHAPE::GetBezierC2(), EDA_SHAPE::GetBezierPoints(), PCB_SHAPE::GetCenter(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), BOARD_CONNECTED_ITEM::GetDisplayNetname(), EDA_SHAPE::GetEnd(), PCB_SHAPE::GetLayer(), STROKE_PARAMS::GetLineStyle(), getLineThickness(), BOARD_CONNECTED_ITEM::GetNetCode(), BEZIER_POLY::GetPoly(), EDA_SHAPE::GetRadius(), 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::IsFilled(), IsNetnameLayer(), KIGFX::GAL::IsOpenGlEngine(), PCB_SHAPE::IsProxyItem(), IsSolderMaskLayer(), 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, KIGFX::RENDER_SETTINGS::m_outlineWidth, m_pcbSettings, PCB_VIEWERS_SETTINGS_BASE::m_ViewersDisplay, EDA_SHAPE::MakeEffectiveShapes(), SHAPE_POLY_SET::NewOutline(), SHAPE_POLY_SET::Outline(), SHAPE_POLY_SET::OutlineCount(), pcbconfig(), renderNetNameForSegment(), VECTOR2< T >::Resize(), KIGFX::GAL::SetFillColor(), KIGFX::GAL::SetIsFill(), KIGFX::GAL::SetIsStroke(), KIGFX::GAL::SetLineWidth(), KIGFX::GAL::SetStrokeColor(), STROKE_PARAMS::Stroke(), NETINFO_LIST::UNCONNECTED, and viewer_settings().
|
protected |
Definition at line 2411 of file pcb_painter.cpp.
References color, draw(), KIGFX::GAL::DrawLine(), KIGFX::GAL::DrawPolygon(), KIGFX::GAL::DrawRectangle(), PCB_TABLE::GetBorderStroke(), PCB_TABLE::GetCell(), PCB_TABLE::GetCells(), PCB_TABLE::GetColCount(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), PCB_TABLECELL::GetColSpan(), PCB_TABLE::GetColWidth(), PCB_TABLE::GetEnd(), getLineThickness(), PCB_TABLE::GetOrientation(), PCB_TABLE::GetPosition(), PCB_TABLE::GetRowCount(), PCB_TABLE::GetRowHeight(), PCB_TABLECELL::GetRowSpan(), PCB_TABLE::GetSeparatorsStroke(), STROKE_PARAMS::GetWidth(), EDA_ITEM::IsSelected(), KIGFX::PAINTER::m_gal, m_pcbSettings, RotatePoint(), KIGFX::GAL::SetFillColor(), KIGFX::GAL::SetIsFill(), KIGFX::GAL::SetIsStroke(), KIGFX::GAL::SetLineWidth(), KIGFX::GAL::SetStrokeColor(), STROKE_PARAMS::Stroke(), PCB_TABLE::StrokeColumns(), PCB_TABLE::StrokeExternal(), PCB_TABLE::StrokeHeader(), PCB_TABLE::StrokeRows(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
protected |
Definition at line 2891 of file pcb_painter.cpp.
References KIGFX::GAL::DrawCircle(), KIGFX::GAL::DrawLine(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), BOARD_ITEM::GetLayer(), getLineThickness(), PCB_TARGET::GetPosition(), PCB_TARGET::GetShape(), PCB_TARGET::GetSize(), PCB_TARGET::GetWidth(), KIGFX::PAINTER::m_gal, m_pcbSettings, KIGFX::GAL::Restore(), KIGFX::GAL::Rotate(), KIGFX::GAL::Save(), KIGFX::GAL::SetIsFill(), KIGFX::GAL::SetIsStroke(), KIGFX::GAL::SetLineWidth(), KIGFX::GAL::SetStrokeColor(), and KIGFX::GAL::Translate().
|
protected |
Definition at line 2171 of file pcb_painter.cpp.
References color, KIGFX::GAL::DrawGlyphs(), KIGFX::GAL::DrawLine(), KIGFX::GAL::DrawPolygon(), ERROR_INSIDE, ERROR_OUTSIDE, SHAPE_POLY_SET::Fracture(), EDA_TEXT::GetAttributes(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), KIGFX::RENDER_SETTINGS::GetDefaultFont(), PCB_TEXT::GetDrawRotation(), EDA_TEXT::GetEffectiveTextPenWidth(), EDA_TEXT::GetFont(), KIFONT::FONT::GetFont(), BOARD_ITEM::GetFontMetrics(), BOARD_ITEM::GetLayer(), getLineThickness(), BOARD_ITEM::GetParentFootprint(), FOOTPRINT::GetPosition(), EDA_TEXT::GetRenderCache(), PCB_TEXT::GetShownText(), EDA_TEXT::GetTextBox(), EDA_TEXT::GetTextPos(), BOX2< Vec >::GetWidth(), EDA_TEXT::IsBold(), KIGFX::GAL::IsFlippedX(), EDA_TEXT::IsItalic(), BOARD_ITEM::IsKnockout(), KIFONT::FONT::IsOutline(), EDA_ITEM::IsSelected(), BOARD_ITEM::IsSideSpecific(), LAYER_ANCHOR, LAYER_LOCKED_ITEM_SHADOW, TEXT_ATTRIBUTES::m_Angle, PCB_VIEWERS_SETTINGS_BASE::VIEWERS_DISPLAY_OPTIONS::m_DisplayTextFill, KIGFX::PAINTER::m_gal, m_lockedShadowMargin, m_maxError, TEXT_ATTRIBUTES::m_Mirrored, KIGFX::RENDER_SETTINGS::m_outlineWidth, m_pcbSettings, TEXT_ATTRIBUTES::m_StrokeWidth, PCB_VIEWERS_SETTINGS_BASE::m_ViewersDisplay, TEXT_ATTRIBUTES::m_Visible, SHAPE_POLY_SET::PM_FAST, RotatePoint(), KIGFX::GAL::SetFillColor(), KIGFX::GAL::SetIsFill(), KIGFX::GAL::SetIsStroke(), KIGFX::GAL::SetLineWidth(), KIGFX::GAL::SetStrokeColor(), strokeText(), PCB_TEXT::TransformShapeToPolygon(), PCB_TEXT::TransformTextToPolySet(), and viewer_settings().
|
protected |
Definition at line 2273 of file pcb_painter.cpp.
References color, KIGFX::GAL::DrawGlyphs(), KIGFX::GAL::DrawPolygon(), KIGFX::GAL::DrawSegment(), EDA_TEXT::GetAttributes(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), PCB_TABLECELL::GetColSpan(), PCB_SHAPE::GetCorners(), KIGFX::RENDER_SETTINGS::GetDefaultFont(), PCB_TEXTBOX::GetDrawPos(), EDA_TEXT::GetEffectiveTextPenWidth(), EDA_TEXT::GetFont(), KIFONT::FONT::GetFont(), BOARD_ITEM::GetFontMetrics(), STROKE_PARAMS::GetLineStyle(), getLineThickness(), EDA_TEXT::GetRenderCache(), PCB_TABLECELL::GetRowSpan(), PCB_TEXTBOX::GetShownText(), PCB_SHAPE::GetStroke(), PCB_SHAPE::GetWidth(), EDA_TEXT::IsBold(), PCB_TEXTBOX::IsBorderEnabled(), KIGFX::GAL::IsFlippedX(), EDA_TEXT::IsItalic(), KIFONT::FONT::IsOutline(), BOARD_ITEM::IsSideSpecific(), LAYER_LOCKED_ITEM_SHADOW, KIGFX::PAINTER::m_gal, m_lockedShadowMargin, TEXT_ATTRIBUTES::m_Mirrored, m_pcbSettings, TEXT_ATTRIBUTES::m_StrokeWidth, EDA_SHAPE::MakeEffectiveShapes(), EDA_IU_SCALE::mmToIU(), PCB_TABLECELL_T, pcbIUScale, KIGFX::GAL::SetFillColor(), KIGFX::GAL::SetIsFill(), KIGFX::GAL::SetIsStroke(), KIGFX::GAL::SetLineWidth(), KIGFX::GAL::SetStrokeColor(), STROKE_PARAMS::Stroke(), strokeText(), and EDA_ITEM::Type().
|
protected |
Definition at line 717 of file pcb_painter.cpp.
References color, KIGFX::GAL::DrawSegment(), KIGFX::RENDER_SETTINGS::GetActiveLayer(), BOARD_ITEM::GetBoard(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), BOARD_CONNECTED_ITEM::GetDisplayNetname(), PCB_TRACK::GetEnd(), BOARD_CONNECTED_ITEM::GetNetCode(), BOARD_CONNECTED_ITEM::GetOwnClearance(), PCB_TRACK::GetSolderMaskExpansion(), PCB_TRACK::GetStart(), BOARD::GetVisibleLayers(), PCB_TRACK::GetWidth(), IsCopperLayer(), IsNetnameLayer(), IsSolderMaskLayer(), LAYER_LOCKED_ITEM_SHADOW, PCBNEW_SETTINGS::m_Display, PCBNEW_SETTINGS::DISPLAY_OPTIONS::m_DisplayPcbTrackFill, KIGFX::PAINTER::m_gal, KIGFX::RENDER_SETTINGS::m_isPrinting, m_lockedShadowMargin, KIGFX::RENDER_SETTINGS::m_outlineWidth, m_pcbSettings, pcbconfig(), renderNetNameForSegment(), KIGFX::GAL::SetFillColor(), KIGFX::GAL::SetIsFill(), KIGFX::GAL::SetIsStroke(), KIGFX::GAL::SetLineWidth(), KIGFX::GAL::SetStrokeColor(), SHOW_WITH_VIA_ALWAYS, and NETINFO_LIST::UNCONNECTED.
|
protected |
Definition at line 952 of file pcb_painter.cpp.
References ANGLE_HORIZONTAL, B_Cu, B_Mask, KIGFX::GAL::BitmapText(), PCB_VIA::BottomLayer(), KIGFX::COLOR4D::CLEAR, color, DEGREES_T, draw(), KIGFX::GAL::DrawArc(), KIGFX::GAL::DrawCircle(), F_Cu, F_Mask, PCB_VIA::FlashLayer(), KIGFX::RENDER_SETTINGS::GetActiveLayer(), BOARD_ITEM::GetBoard(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), BOARD::GetCopperLayerCount(), BOARD::GetDesignSettings(), BOARD_CONNECTED_ITEM::GetDisplayNetname(), BOARD::GetEnabledLayers(), BOARD_CONNECTED_ITEM::GetNetname(), BOARD_CONNECTED_ITEM::GetOwnClearance(), KIGFX::RENDER_SETTINGS::GetPrintLayers(), PCB_TRACK::GetStart(), getViaDrillSize(), PCB_VIA::GetViaType(), BOARD::GetVisibleLayers(), PCB_VIA::GetWidth(), GR_TEXT_H_ALIGN_CENTER, GR_TEXT_V_ALIGN_CENTER, IsCopperLayer(), IsNetnameLayer(), PCB_VIA::IsOnLayer(), KIGFX::RENDER_SETTINGS::IsPrinting(), EDA_ITEM::IsSelected(), LAYER_LOCKED_ITEM_SHADOW, 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, KIGFX::RENDER_SETTINGS::m_isPrinting, m_lockedShadowMargin, PCBNEW_SETTINGS::DISPLAY_OPTIONS::m_NetNames, KIGFX::RENDER_SETTINGS::m_outlineWidth, m_pcbSettings, BOARD_DESIGN_SETTINGS::m_SolderMaskExpansion, PCBNEW_SETTINGS::DISPLAY_OPTIONS::m_TrackClearance, KIGFX::PCB_RENDER_SETTINGS::MAX_FONT_SIZE, pcbconfig(), PrintableCharCount(), KIGFX::GAL::ResetTextAttributes(), KIGFX::GAL::Restore(), KIGFX::GAL::Save(), KIGFX::GAL::SetFillColor(), KIGFX::GAL::SetFontBold(), KIGFX::GAL::SetFontItalic(), KIGFX::GAL::SetFontUnderlined(), KIGFX::GAL::SetGlyphSize(), KIGFX::GAL::SetHorizontalJustify(), KIGFX::GAL::SetIsFill(), KIGFX::GAL::SetIsStroke(), KIGFX::GAL::SetLineWidth(), KIGFX::GAL::SetStrokeColor(), KIGFX::GAL::SetTextMirrored(), KIGFX::GAL::SetVerticalJustify(), SHOW_WITH_VIA_ALWAYS, ToLAYER_ID(), PCB_VIA::TopLayer(), KIGFX::GAL::Translate(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
overridevirtual |
Takes an instance of VIEW_ITEM and passes it to a function that knows how to draw the item.
aItem | is an item to be drawn. |
aLayer | tells which layer is currently rendered so that draw functions may know what to draw (eg. for pads there are separate layers for holes, because they have other dimensions then the pad itself. |
Implements KIGFX::PAINTER.
Reimplemented in ZONE_PAINTER.
Definition at line 555 of file pcb_painter.cpp.
References ARC_HIGH_DEF, SHAPE_POLY_SET::COutline(), CYAN, draw(), KIGFX::GAL::DrawPolyline(), KIGFX::GAL::DrawRectangle(), LSET::ExtractLayer(), F_SilkS, BOARD_ITEM::GetBoard(), EDA_ITEM::GetBoundingBox(), FOOTPRINT::GetBoundingHull(), KIGFX::RENDER_SETTINGS::GetDrawBoundingBoxes(), BOX2< Vec >::GetEnd(), BOARD_DESIGN_SETTINGS::GetHolePlatingThickness(), BOARD_ITEM::GetLayerSet(), BOARD_DESIGN_SETTINGS::GetLineThickness(), BOX2< Vec >::GetOrigin(), BOARD_ITEM::GetParentFootprint(), FOOTPRINT::GetPrivateLayers(), KIGFX::VIEW_ITEM::IsBOARD_ITEM(), IsPcbLayer(), EDA_ITEM::IsSelected(), KIGFX::PAINTER::m_gal, m_holePlatingThickness, m_lockedShadowMargin, BOARD_DESIGN_SETTINGS::m_MaxError, m_maxError, m_pcbSettings, MAGENTA, PCB_ARC_T, PCB_DIM_ALIGNED_T, PCB_DIM_CENTER_T, PCB_DIM_LEADER_T, PCB_DIM_ORTHOGONAL_T, PCB_DIM_RADIAL_T, PCB_FIELD_T, PCB_FOOTPRINT_T, PCB_GROUP_T, PCB_MARKER_T, PCB_PAD_T, PCB_REFERENCE_IMAGE_T, PCB_SHAPE_T, PCB_TABLE_T, PCB_TARGET_T, PCB_TEXT_T, PCB_TEXTBOX_T, PCB_TRACE_T, PCB_VIA_T, PCB_ZONE_T, KIGFX::GAL::SetIsFill(), KIGFX::GAL::SetIsStroke(), KIGFX::GAL::SetLineWidth(), KIGFX::GAL::SetStrokeColor(), and EDA_ITEM::Type().
Referenced by ZONE_PAINTER::Draw().
|
protected |
Definition at line 2710 of file pcb_painter.cpp.
References SHAPE_POLY_SET::CHole(), color, SHAPE_POLY_SET::COutline(), KIGFX::GAL::DrawLine(), KIGFX::GAL::DrawPolygon(), KIGFX::GAL::DrawPolyline(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), ZONE::GetFilledPolysList(), ZONE::GetHatchLines(), ZONE::GetHatchStyle(), SHAPE_POLY_SET::HoleCount(), ZONE::IsOnLayer(), KIGFX::GAL::IsOpenGlEngine(), IsZoneFillLayer(), LAYER_CONFLICTS_SHADOW, LAYER_ZONE_START, KIGFX::PAINTER::m_gal, KIGFX::RENDER_SETTINGS::m_isPrinting, KIGFX::RENDER_SETTINGS::m_outlineWidth, m_pcbSettings, KIGFX::PCB_RENDER_SETTINGS::m_ZoneDisplayMode, ZONE::Outline(), SHAPE_POLY_SET::Outline(), SHAPE_POLY_SET::OutlineCount(), KIGFX::GAL::SetFillColor(), KIGFX::GAL::SetIsFill(), KIGFX::GAL::SetIsStroke(), KIGFX::GAL::SetLineWidth(), KIGFX::GAL::SetStrokeColor(), and ToLAYER_ID().
|
protectedvirtual |
Return drill shape of a pad.
Reimplemented in KIGFX::PCB_PRINT_PAINTER.
Definition at line 536 of file pcb_painter.cpp.
References PAD::GetDrillShape().
Referenced by KIGFX::PCB_PRINT_PAINTER::getDrillShape().
|
protected |
Get the thickness to draw for a line (e.g.
0 thickness lines get a minimum value).
aActualThickness | line own thickness |
Definition at line 524 of file pcb_painter.cpp.
References KIGFX::RENDER_SETTINGS::m_outlineWidth, and m_pcbSettings.
Referenced by draw().
|
protectedvirtual |
Return hole shape for a pad (internal units).
Reimplemented in KIGFX::PCB_PRINT_PAINTER.
Definition at line 542 of file pcb_painter.cpp.
References PAD::GetEffectiveHoleShape().
Referenced by draw(), and KIGFX::PCB_PRINT_PAINTER::getPadHoleShape().
|
inlineoverridevirtual |
Return a pointer to current settings that are going to be used when drawing items.
Implements KIGFX::PAINTER.
Definition at line 178 of file pcb_painter.h.
References m_pcbSettings.
Referenced by PCB_BASE_FRAME::ActivateGalCanvas(), PCB_BASE_FRAME::CommonSettingsChanged(), PAD_TOOL::EditPad(), PAD_TOOL::ExitPadEditMode(), PCB_DRAW_PANEL_GAL::OnShow(), PAD_TOOL::OnUndoRedo(), DIALOG_PAD_PROPERTIES::redraw(), PCBNEW_PRINTOUT::setupPainter(), KIGFX::PCB_VIEW::UpdateDisplayOptions(), PAD::ViewGetLOD(), PCB_FIELD::ViewGetLOD(), PCB_REFERENCE_IMAGE::ViewGetLOD(), PCB_SHAPE::ViewGetLOD(), PCB_TEXT::ViewGetLOD(), PCB_TEXTBOX::ViewGetLOD(), PCB_TRACK::ViewGetLOD(), and PCB_VIA::ViewGetLOD().
|
protectedvirtual |
Return drill diameter for a via (internal units).
Reimplemented in KIGFX::PCB_PRINT_PAINTER.
Definition at line 549 of file pcb_painter.cpp.
References PCB_VIA::GetDrillValue().
Referenced by draw(), and KIGFX::PCB_PRINT_PAINTER::getViaDrillSize().
|
protected |
Definition at line 785 of file pcb_painter.cpp.
References SEG::A, ANGLE_HORIZONTAL, ANGLE_VERTICAL, SEG::B, KIGFX::GAL::BitmapText(), BOX2< Vec >::Contains(), BOX2< Vec >::GetHeight(), KIGFX::GAL::GetScreenPixelSize(), KIGFX::GAL::GetScreenWorldMatrix(), SHAPE_SEGMENT::GetSeg(), SHAPE_SEGMENT::GetWidth(), BOX2< Vec >::GetWidth(), GR_TEXT_H_ALIGN_CENTER, GR_TEXT_V_ALIGN_CENTER, KiROUND(), SEG::Length(), KIGFX::PAINTER::m_gal, BOX2< Vec >::Normalize(), EDA_ANGLE::Normalize90(), BOX2< Vec >::SetEnd(), KIGFX::GAL::SetFontBold(), KIGFX::GAL::SetFontItalic(), KIGFX::GAL::SetFontUnderlined(), KIGFX::GAL::SetGlyphSize(), KIGFX::GAL::SetHorizontalJustify(), KIGFX::GAL::SetIsFill(), KIGFX::GAL::SetIsStroke(), KIGFX::GAL::SetLineWidth(), BOX2< Vec >::SetOrigin(), KIGFX::GAL::SetStrokeColor(), KIGFX::GAL::SetTextMirrored(), KIGFX::GAL::SetVerticalJustify(), SEG::SquaredLength(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by draw().
|
inlineinherited |
|
protected |
Definition at line 2093 of file pcb_painter.cpp.
References KIFONT::FONT::Draw(), KIFONT::FONT::GetFont(), GR_TEXT_H_ALIGN_LEFT, GR_TEXT_H_ALIGN_RIGHT, KIFONT::FONT::IsOutline(), KIFONT::FONT::IsStroke(), KiROUND(), TEXT_ATTRIBUTES::m_Angle, TEXT_ATTRIBUTES::m_Bold, TEXT_ATTRIBUTES::m_Font, KIGFX::PAINTER::m_gal, TEXT_ATTRIBUTES::m_Halign, TEXT_ATTRIBUTES::m_Italic, TEXT_ATTRIBUTES::m_Mirrored, TEXT_ATTRIBUTES::m_StrokeWidth, RotatePoint(), KIGFX::GAL::SetIsFill(), and KIGFX::GAL::SetIsStroke().
Referenced by draw().
|
protected |
Definition at line 83 of file pcb_painter.cpp.
References FRAME_CVPCB, FRAME_CVPCB_DISPLAY, FRAME_FOOTPRINT_CHOOSER, FRAME_FOOTPRINT_EDITOR, FRAME_FOOTPRINT_PREVIEW, FRAME_FOOTPRINT_VIEWER, FRAME_FOOTPRINT_WIZARD, FRAME_PCB_DISPLAY3D, FRAME_PCB_EDITOR, SETTINGS_MANAGER::GetAppSettings(), PGM_BASE::GetSettingsManager(), m_frameType, and Pgm().
Referenced by draw().
|
protected |
Definition at line 236 of file pcb_painter.h.
Referenced by draw(), and viewer_settings().
|
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 ZONE_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), draw(), Draw(), KIGFX::GERBVIEW_PAINTER::draw(), KIGFX::GERBVIEW_PAINTER::drawApertureMacro(), KIGFX::GERBVIEW_PAINTER::drawFlashedShape(), KIGFX::SCH_PAINTER::drawItemBoundingBox(), KIGFX::GERBVIEW_PAINTER::drawPolygon(), KIGFX::SCH_PAINTER::getShadowWidth(), renderNetNameForSegment(), and strokeText().
|
protected |
Definition at line 239 of file pcb_painter.h.
|
protected |
Definition at line 240 of file pcb_painter.h.
|
protected |
Definition at line 238 of file pcb_painter.h.
|
protected |
Definition at line 235 of file pcb_painter.h.
Referenced by draw(), Draw(), getLineThickness(), and GetSettings().