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 179 of file pcb_painter.h.
Definition at line 539 of file pcb_painter.cpp.
|
protected |
Definition at line 2583 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 1232 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 883 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 2830 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 2651 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 2936 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 2149 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 1799 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 2436 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(), EDA_SHAPE::GetEnd(), PCB_TABLE::GetEnd(), EDA_SHAPE::GetEndX(), EDA_SHAPE::GetEndY(), getLineThickness(), PCB_TABLE::GetOrientation(), PCB_TABLE::GetPosition(), PCB_TABLE::GetRowCount(), PCB_TABLE::GetRowHeight(), PCB_TABLECELL::GetRowSpan(), PCB_TABLE::GetSeparatorsStroke(), EDA_SHAPE::GetStartX(), EDA_SHAPE::GetStartY(), 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 2900 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 2196 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 2298 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 742 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 977 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 580 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 2719 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 561 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 549 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 567 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 185 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 574 of file pcb_painter.cpp.
References PCB_VIA::GetDrillValue().
Referenced by draw(), and KIGFX::PCB_PRINT_PAINTER::getViaDrillSize().
|
protected |
Definition at line 810 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 2118 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 243 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 246 of file pcb_painter.h.
|
protected |
Definition at line 247 of file pcb_painter.h.
|
protected |
Definition at line 245 of file pcb_painter.h.
|
protected |
Definition at line 242 of file pcb_painter.h.
Referenced by draw(), Draw(), getLineThickness(), and GetSettings().