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 174 of file pcb_painter.h.
Definition at line 505 of file pcb_painter.cpp.
|
protected |
Definition at line 2497 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 1178 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, LAYER_PADS_SMD_BK, LAYER_PADS_SMD_FR, LAYER_PADS_TH, 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, PCBNEW_SETTINGS::DISPLAY_OPTIONS::m_PadClearance, 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(), BASE_SET::test(), ToLAYER_ID(), PAD::TransformShapeToPolygon(), KIGFX::GAL::Translate(), UnescapeString(), SHAPE_SIMPLE::Vertices(), viewer_settings(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
protected |
Definition at line 845 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::GetStart(), BOARD::GetVisibleLayers(), PCB_TRACK::GetWidth(), IsCopperLayer(), IsNetnameLayer(), 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, BASE_SET::test(), and TransformArcToPolygon().
|
protected |
Definition at line 2744 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 2565 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 2850 of file pcb_painter.cpp.
References color, KIGFX::GAL::DrawPolygon(), BOARD_ITEM::GetBoard(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), PCB_MARKER::GetColorLayer(), PCB_MARKER::GetPosition(), KIGFX::GAL::GetZoomFactor(), BOARD::IsElementVisible(), LAYER_MARKER_SHADOWS, KIGFX::PAINTER::m_gal, m_pcbSettings, MARKER_BASE::MarkerScale(), 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 2047 of file pcb_painter.cpp.
References KIGFX::COLOR4D::a, color, KIGFX::GAL::DrawBitmap(), KIGFX::GAL::DrawRectangle(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), PCB_REFERENCE_IMAGE::GetImage(), PCB_REFERENCE_IMAGE::GetImageScale(), BOARD_ITEM::GetLayer(), PCB_REFERENCE_IMAGE::GetPosition(), PCB_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 1730 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(), STROKE_PARAMS::GetLineStyle(), getLineThickness(), BOARD_CONNECTED_ITEM::GetNetCode(), BEZIER_POLY::GetPoly(), EDA_SHAPE::GetRadius(), EDA_SHAPE::GetRectCorners(), EDA_SHAPE::GetShape(), EDA_SHAPE::GetStart(), PCB_SHAPE::GetStroke(), PCB_SHAPE::GetWidth(), EDA_SHAPE::IsFilled(), IsNetnameLayer(), KIGFX::GAL::IsOpenGlEngine(), PCB_SHAPE::IsProxyItem(), 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 2334 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 2814 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 2093 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_HIDDEN_TEXT, 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 2196 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 708 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::GetStart(), BOARD::GetVisibleLayers(), PCB_TRACK::GetWidth(), IsCopperLayer(), IsNetnameLayer(), 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, BASE_SET::test(), and NETINFO_LIST::UNCONNECTED.
|
protected |
Definition at line 935 of file pcb_painter.cpp.
References ANGLE_HORIZONTAL, B_Mask, KIGFX::GAL::BitmapText(), PCB_VIA::BottomLayer(), KIGFX::COLOR4D::CLEAR, color, DEGREES_T, draw(), KIGFX::GAL::DrawArc(), KIGFX::GAL::DrawCircle(), 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_TRACK::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_BBLIND, LAYER_VIA_HOLES, LAYER_VIA_HOLEWALLS, LAYER_VIA_MICROVIA, LAYER_VIA_THROUGH, 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, BASE_SET::test(), 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 546 of file pcb_painter.cpp.
References ARC_HIGH_DEF, BASE_SET::count(), 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(), 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(), BASE_SET::test(), and EDA_ITEM::Type().
Referenced by ZONE_PAINTER::Draw().
|
protected |
Definition at line 2633 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 527 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 515 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 533 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 180 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 540 of file pcb_painter.cpp.
References PCB_VIA::GetDrillValue().
Referenced by draw(), and KIGFX::PCB_PRINT_PAINTER::getViaDrillSize().
|
protected |
Definition at line 772 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 2016 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 238 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 241 of file pcb_painter.h.
|
protected |
Definition at line 242 of file pcb_painter.h.
|
protected |
Definition at line 240 of file pcb_painter.h.
|
protected |
Definition at line 237 of file pcb_painter.h.
Referenced by draw(), Draw(), getLineThickness(), and GetSettings().