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. More... | |
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. More... | |
void | SetGAL (GAL *aGal) |
Changes Graphics Abstraction Layer used for drawing items for a new one. More... | |
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_BITMAP *aBitmap, int aLayer) |
void | draw (const PCB_TEXT *aText, int aLayer) |
void | draw (const PCB_TEXTBOX *aText, 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. More... | |
virtual int | getDrillShape (const PAD *aPad) const |
Return drill shape of a pad. More... | |
virtual SHAPE_SEGMENT | getPadHoleShape (const PAD *aPad) const |
Return hole shape for a pad (internal units). More... | |
virtual int | getViaDrillSize (const PCB_VIA *aVia) const |
Return drill diameter for a via (internal units). More... | |
void | strokeText (const wxString &aText, const VECTOR2I &aPosition, const TEXT_ATTRIBUTES &aAttrs) |
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. More... | |
Contains methods for drawing PCB-specific items.
Definition at line 155 of file pcb_painter.h.
Definition at line 452 of file pcb_painter.cpp.
|
protected |
Definition at line 2127 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 1068 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(), SHAPE_POLY_SET::CHAMFER_ALL_CORNERS, color, SHAPE_SIMPLE::CPoint(), SHAPE_POLY_SET::Deflate(), KIGFX::GAL::DrawCircle(), KIGFX::GAL::DrawPolygon(), KIGFX::GAL::DrawRectangle(), KIGFX::GAL::DrawSegment(), BOARD_ITEM::Duplicate(), ENTERED, 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(), PAD::GetDrillSize(), PAD::GetEffectiveHoleShape(), PAD::GetEffectiveShape(), BOARD::GetEnabledLayers(), EDA_ITEM::GetFlags(), SHAPE_RECT::GetHeight(), KIGFX::RENDER_SETTINGS::GetLayerColor(), PAD::GetNumber(), PAD::GetOwnClearance(), getPadHoleShape(), BOARD_ITEM::GetParentFootprint(), SHAPE_RECT::GetPosition(), PAD::GetPosition(), PAD::GetPrimitives(), KIGFX::RENDER_SETTINGS::GetPrintLayers(), SHAPE_CIRCLE::GetRadius(), SHAPE_SEGMENT::GetSeg(), SHAPE_SIMPLE::GetSegment(), SHAPE_SIMPLE::GetSegmentCount(), PAD::GetShape(), SHAPE_RECT::GetSize(), BOX2< Vec >::GetSize(), PAD::GetSize(), PAD::GetSolderMaskExpansion(), PAD::GetSolderPasteMargin(), EDA_SHAPE::GetTopLeft(), BOARD_CONNECTED_ITEM::GetUnescapedShortNetname(), BOARD::GetVisibleLayers(), SHAPE_RECT::GetWidth(), SHAPE_SEGMENT::GetWidth(), GR_TEXT_H_ALIGN_CENTER, GR_TEXT_V_ALIGN_CENTER, FOOTPRINT::GraphicalItems(), EDA_SHAPE::IsAnnotationProxy(), IsCopperLayer(), PAD::IsFreePad(), IsNetnameLayer(), PAD::IsNoConnectPad(), KIGFX::RENDER_SETTINGS::IsPrinting(), EDA_ITEM::IsSelected(), KiROUND(), LAYER_NON_PLATEDHOLES, LAYER_PAD_BK, LAYER_PAD_FR, LAYER_PAD_HOLEWALLS, LAYER_PAD_PLATEDHOLES, 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(), 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, ToLAYER_ID(), PAD::TransformShapeToPolygon(), KIGFX::GAL::Translate(), UnescapeString(), SHAPE_SIMPLE::Vertices(), viewer_settings(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
protected |
Definition at line 772 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(), PCB_ARC::GetCenter(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), PCB_TRACK::GetEnd(), PCB_ARC::GetMid(), BOARD_CONNECTED_ITEM::GetOwnClearance(), PCB_ARC::GetRadius(), PCB_TRACK::GetStart(), 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, and TransformArcToPolygon().
|
protected |
Definition at line 1887 of file pcb_painter.cpp.
References KIGFX::COLOR4D::a, color, KIGFX::GAL::DrawBitmap(), KIGFX::GAL::DrawRectangle(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), PCB_BITMAP::GetImage(), PCB_BITMAP::GetImageScale(), BOARD_ITEM::GetLayer(), PCB_BITMAP::GetPosition(), PCB_BITMAP::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 2365 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::GetLayerSet(), PCB_DIMENSION_BASE::GetLineThickness(), getLineThickness(), EDA_TEXT::GetRenderCache(), PCB_DIMENSION_BASE::GetShapes(), PCB_TEXT::GetShownText(), EDA_TEXT::GetTextPos(), KIGFX::GAL::IsFlippedX(), KIFONT::FONT::IsOutline(), 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, LSET::SideSpecificMask(), strokeText(), and viewer_settings().
|
protected |
Definition at line 2195 of file pcb_painter.cpp.
References color, KIFONT::FONT::Draw(), KIGFX::GAL::DrawLine(), PCB_GROUP::GetBoundingBox(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), KIFONT::FONT::GetFont(), 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 2471 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 1628 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::DrawPolygon(), KIGFX::GAL::DrawSegment(), KIGFX::GAL::DrawSegmentChain(), EDA_SHAPE::GetBezierC1(), EDA_SHAPE::GetBezierC2(), PCB_SHAPE::GetCenter(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), EDA_SHAPE::GetEnd(), BOARD_ITEM::GetLayer(), getLineThickness(), STROKE_PARAMS::GetPlotStyle(), BEZIER_POLY::GetPoly(), EDA_SHAPE::GetRadius(), EDA_SHAPE::GetRectCorners(), EDA_SHAPE::GetShape(), EDA_SHAPE::GetStart(), PCB_SHAPE::GetStroke(), EDA_SHAPE::GetWidth(), EDA_SHAPE::IsAnnotationProxy(), EDA_SHAPE::IsFilled(), KIGFX::GAL::IsOpenGlEngine(), SHAPE_POLY_SET::IsTriangulationUpToDate(), LAYER_LOCKED_ITEM_SHADOW, PCB_VIEWERS_SETTINGS_BASE::VIEWERS_DISPLAY_OPTIONS::m_DisplayGraphicsFill, 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(), KIGFX::GAL::SetFillColor(), KIGFX::GAL::SetIsFill(), KIGFX::GAL::SetIsStroke(), KIGFX::GAL::SetLineWidth(), KIGFX::GAL::SetStrokeColor(), STROKE_PARAMS::Stroke(), and viewer_settings().
|
protected |
Definition at line 2435 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 1934 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::GetLayer(), BOARD_ITEM::GetLayerSet(), getLineThickness(), BOARD_ITEM::GetParentFootprint(), FOOTPRINT::GetPosition(), EDA_TEXT::GetRenderCache(), PCB_TEXT::GetShownText(), EDA_TEXT::GetTextPos(), EDA_TEXT::IsBold(), KIGFX::GAL::IsFlippedX(), EDA_TEXT::IsItalic(), BOARD_ITEM::IsKnockout(), KIFONT::FONT::IsOutline(), EDA_ITEM::IsSelected(), LAYER_ANCHOR, LAYER_LOCKED_ITEM_SHADOW, TEXT_ATTRIBUTES::m_Angle, PCB_VIEWERS_SETTINGS_BASE::VIEWERS_DISPLAY_OPTIONS::m_DisplayTextFill, KIGFX::PAINTER::m_gal, TEXT_ATTRIBUTES::m_Halign, 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, SHAPE_POLY_SET::PM_FAST, KIGFX::GAL::SetFillColor(), KIGFX::GAL::SetIsFill(), KIGFX::GAL::SetIsStroke(), KIGFX::GAL::SetLineWidth(), KIGFX::GAL::SetStrokeColor(), LSET::SideSpecificMask(), strokeText(), PCB_TEXT::TransformShapeToPolygon(), PCB_TEXT::TransformTextToPolySet(), and viewer_settings().
|
protected |
Definition at line 2025 of file pcb_painter.cpp.
References color, KIGFX::GAL::DrawGlyphs(), KIGFX::GAL::DrawSegment(), EDA_TEXT::GetAttributes(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), PCB_SHAPE::GetCorners(), KIGFX::RENDER_SETTINGS::GetDefaultFont(), PCB_TEXTBOX::GetDrawPos(), EDA_TEXT::GetEffectiveTextPenWidth(), EDA_TEXT::GetFont(), KIFONT::FONT::GetFont(), BOARD_ITEM::GetLayerSet(), getLineThickness(), STROKE_PARAMS::GetPlotStyle(), EDA_TEXT::GetRenderCache(), PCB_TEXTBOX::GetShownText(), PCB_SHAPE::GetStroke(), EDA_SHAPE::GetWidth(), EDA_TEXT::IsBold(), KIGFX::GAL::IsFlippedX(), EDA_TEXT::IsItalic(), KIFONT::FONT::IsOutline(), LAYER_LOCKED_ITEM_SHADOW, KIGFX::PAINTER::m_gal, TEXT_ATTRIBUTES::m_Halign, m_lockedShadowMargin, TEXT_ATTRIBUTES::m_Mirrored, m_pcbSettings, TEXT_ATTRIBUTES::m_StrokeWidth, EDA_SHAPE::MakeEffectiveShapes(), EDA_IU_SCALE::mmToIU(), pcbIUScale, KIGFX::GAL::SetFillColor(), KIGFX::GAL::SetIsFill(), KIGFX::GAL::SetIsStroke(), KIGFX::GAL::SetLineWidth(), KIGFX::GAL::SetStrokeColor(), LSET::SideSpecificMask(), STROKE_PARAMS::Stroke(), and strokeText().
|
protected |
Definition at line 650 of file pcb_painter.cpp.
References SEG::A, ANGLE_HORIZONTAL, ANGLE_VERTICAL, SEG::B, KIGFX::GAL::BitmapText(), ClipLine(), color, BOX2< Vec >::Contains(), KIGFX::GAL::DrawSegment(), KIGFX::RENDER_SETTINGS::GetActiveLayer(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), PCB_TRACK::GetEnd(), BOX2< Vec >::GetHeight(), PCB_TRACK::GetLength(), BOARD_CONNECTED_ITEM::GetNetCode(), BOX2< Vec >::GetOrigin(), BOARD_CONNECTED_ITEM::GetOwnClearance(), KIGFX::GAL::GetScreenPixelSize(), KIGFX::GAL::GetScreenWorldMatrix(), BOX2< Vec >::GetSize(), PCB_TRACK::GetStart(), BOARD_CONNECTED_ITEM::GetUnescapedShortNetname(), BOX2< Vec >::GetWidth(), PCB_TRACK::GetWidth(), GR_TEXT_H_ALIGN_CENTER, GR_TEXT_V_ALIGN_CENTER, IsCopperLayer(), IsNetnameLayer(), LAYER_LOCKED_ITEM_SHADOW, SEG::Length(), 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, BOX2< Vec >::Normalize(), EDA_ANGLE::Normalize90(), pcbconfig(), BOX2< Vec >::SetEnd(), 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(), BOX2< Vec >::SetOrigin(), KIGFX::GAL::SetStrokeColor(), KIGFX::GAL::SetTextMirrored(), KIGFX::GAL::SetVerticalJustify(), SHOW_WITH_VIA_ALWAYS, NETINFO_LIST::UNCONNECTED, VECTOR2< T >::x, and VECTOR2< T >::y.
|
protected |
Definition at line 851 of file pcb_painter.cpp.
References ANGLE_HORIZONTAL, KIGFX::GAL::BitmapText(), PCB_VIA::BottomLayer(), KIGFX::COLOR4D::CLEAR, color, DEGREES_T, draw(), KIGFX::GAL::DrawArc(), KIGFX::GAL::DrawCircle(), PCB_VIA::FlashLayer(), KIGFX::RENDER_SETTINGS::GetActiveLayer(), BOARD_ITEM::GetBoard(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), BOARD::GetCopperLayerCount(), BOARD::GetEnabledLayers(), BOARD_CONNECTED_ITEM::GetNetname(), BOARD_CONNECTED_ITEM::GetOwnClearance(), KIGFX::RENDER_SETTINGS::GetPrintLayers(), PCB_TRACK::GetStart(), BOARD_CONNECTED_ITEM::GetUnescapedShortNetname(), getViaDrillSize(), PCB_VIA::GetViaType(), BOARD::GetVisibleLayers(), PCB_TRACK::GetWidth(), GR_TEXT_H_ALIGN_CENTER, GR_TEXT_V_ALIGN_CENTER, IsNetnameLayer(), 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, 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, 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.
Definition at line 493 of file pcb_painter.cpp.
References ARC_HIGH_DEF, SHAPE_POLY_SET::COutline(), CYAN, draw(), KIGFX::GAL::DrawPolyline(), KIGFX::GAL::DrawRectangle(), 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_BITMAP_T, PCB_DIM_ALIGNED_T, PCB_DIM_CENTER_T, PCB_DIM_LEADER_T, PCB_DIM_ORTHOGONAL_T, PCB_DIM_RADIAL_T, PCB_FOOTPRINT_T, PCB_GROUP_T, PCB_MARKER_T, PCB_PAD_T, PCB_SHAPE_T, PCB_TARGET_T, PCB_TEXT_T, PCB_TEXTBOX_T, PCB_TRACE_T, PCB_VIA_T, PCB_ZONE_T, LSET::Seq(), KIGFX::GAL::SetIsFill(), KIGFX::GAL::SetIsStroke(), KIGFX::GAL::SetLineWidth(), KIGFX::GAL::SetStrokeColor(), and EDA_ITEM::Type().
|
protected |
Definition at line 2262 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(), SHAPE_POLY_SET::HoleCount(), ZONE::IsOnLayer(), 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 474 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 462 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 480 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 161 of file pcb_painter.h.
References m_pcbSettings.
Referenced by PCB_BASE_FRAME::ActivateGalCanvas(), PCB_EDIT_FRAME::CommonSettingsChanged(), PCBNEW_PRINTOUT::setupPainter(), PAD::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 487 of file pcb_painter.cpp.
References PCB_VIA::GetDrillValue().
Referenced by draw(), and KIGFX::PCB_PRINT_PAINTER::getViaDrillSize().
|
inlineinherited |
Changes Graphics Abstraction Layer used for drawing items for a new one.
aGal | is the new GAL instance. |
Definition at line 75 of file painter.h.
References KIGFX::PAINTER::m_gal.
|
protected |
Definition at line 1856 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 79 of file pcb_painter.cpp.
References FRAME_CVPCB, FRAME_CVPCB_DISPLAY, FRAME_FOOTPRINT_EDITOR, FRAME_FOOTPRINT_PREVIEW, FRAME_FOOTPRINT_VIEWER, FRAME_FOOTPRINT_VIEWER_MODAL, FRAME_FOOTPRINT_WIZARD, FRAME_PCB_DISPLAY3D, FRAME_PCB_EDITOR, m_frameType, and Pgm().
Referenced by draw().
|
protected |
Definition at line 216 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 101 of file painter.h.
Referenced by KIGFX::SCH_PAINTER::draw(), draw(), Draw(), KIGFX::GERBVIEW_PAINTER::draw(), KIGFX::GERBVIEW_PAINTER::drawApertureMacro(), KIGFX::GERBVIEW_PAINTER::drawFlashedShape(), KIGFX::GERBVIEW_PAINTER::drawPolygon(), KIGFX::SCH_PAINTER::getShadowWidth(), KIGFX::PAINTER::SetGAL(), and strokeText().
|
protected |
Definition at line 219 of file pcb_painter.h.
|
protected |
Definition at line 220 of file pcb_painter.h.
|
protected |
Definition at line 218 of file pcb_painter.h.
|
protected |
Definition at line 215 of file pcb_painter.h.
Referenced by draw(), Draw(), getLineThickness(), and GetSettings().