|
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_FIELD *aField, int aLayer) |
| void | draw (const PCB_TEXT *aText, int aLayer) |
| void | draw (const PCB_TEXTBOX *aText, int aLayer) |
| void | draw (const PCB_TABLE *aTable, int aLayer) |
| void | draw (const FOOTPRINT *aFootprint, int aLayer) |
| void | draw (const PCB_GROUP *aGroup, int aLayer) |
| void | draw (const ZONE *aZone, int aLayer) |
| void | draw (const PCB_BARCODE *aBarcode, int aLayer) |
| void | draw (const PCB_DIMENSION_BASE *aDimension, int aLayer) |
| void | draw (const PCB_POINT *aPoint, int aLayer) |
| void | draw (const PCB_TARGET *aTarget) |
| void | draw (const PCB_MARKER *aMarker, int aLayer) |
| void | draw (const PCB_BOARD_OUTLINE *aBoardOutline, int aLayer) |
| int | getLineThickness (int aActualThickness) const |
| Get the thickness to draw for a line (e.g. | |
| virtual PAD_DRILL_SHAPE | getDrillShape (const PAD *aPad) const |
| Return drill shape of a pad. | |
| virtual SHAPE_SEGMENT | getPadHoleShape (const PAD *aPad) const |
| Return hole shape for a pad (internal units). | |
| virtual int | getViaDrillSize (const PCB_VIA *aVia) const |
| Return drill diameter for a via (internal units). | |
| void | strokeText (const wxString &aText, const VECTOR2I &aPosition, const TEXT_ATTRIBUTES &aAttrs, const KIFONT::METRICS &aFontMetrics) |
| void | renderNetNameForSegment (const SHAPE_SEGMENT &aSeg, const COLOR4D &aColor, const wxString &aNetName) const |
| void | drawBackdrillIndicator (const BOARD_ITEM *aItem, const VECTOR2D &aCenter, int aDrillSize, PCB_LAYER_ID aStartLayer, PCB_LAYER_ID aEndLayer) |
| Draw backdrill indicator (two semi-circles) at the given center point. | |
| void | drawPostMachiningIndicator (const BOARD_ITEM *aItem, const VECTOR2D &aCenter, PCB_LAYER_ID aLayer) |
| Draw post-machining indicator (dashed circle) at the given center point. | |
Protected Attributes | |
| PCB_RENDER_SETTINGS | m_pcbSettings |
| FRAME_T | m_frameType |
| int | m_maxError |
| int | m_holePlatingThickness |
| int | m_lockedShadowMargin |
| 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 183 of file pcb_painter.h.
Definition at line 590 of file pcb_painter.cpp.
References ARC_HIGH_DEF, m_frameType, m_holePlatingThickness, m_lockedShadowMargin, m_maxError, and KIGFX::PAINTER::PAINTER().
Referenced by KIGFX::PCB_PRINT_PAINTER::PCB_PRINT_PAINTER().
|
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 631 of file pcb_painter.cpp.
References ARC_HIGH_DEF, SHAPE_POLY_SET::COutline(), CYAN, draw(), LSET::ExtractLayer(), F_SilkS, BOARD_ITEM::GetBoard(), EDA_ITEM::GetBoundingBox(), FOOTPRINT::GetBoundingHull(), 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_BARCODE_T, PCB_BOARD_OUTLINE_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_POINT_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, and EDA_ITEM::Type().
Referenced by ZONE_PAINTER::Draw().
|
protected |
Definition at line 2725 of file pcb_painter.cpp.
References B_CrtYd, center, F_CrtYd, FRAME_PCB_EDITOR, FOOTPRINT::GetBoundingBox(), FOOTPRINT::GetBoundingHull(), FOOTPRINT::GetCourtyard(), BOX2< Vec >::GetPosition(), FOOTPRINT::GetPosition(), BOX2< Vec >::GetSize(), LAYER_ANCHOR, LAYER_CONFLICTS_SHADOW, LAYER_LOCKED_ITEM_SHADOW, m_frameType, KIGFX::PAINTER::m_gal, m_lockedShadowMargin, m_pcbSettings, SHAPE_POLY_SET::OutlineCount(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
protected |
Definition at line 1322 of file pcb_painter.cpp.
References SEG::A, ANGLE_90, ANGLE_HORIZONTAL, SHAPE_POLY_SET::Append(), SEG::B, B_Mask, B_Paste, center, BOX2< Vec >::Centre(), CHAMFER_ALL_CORNERS, CIRCLE, circle(), clearance, SHAPE_SIMPLE::CPoint(), CUSTOM, SHAPE_POLY_SET::Deflate(), drawBackdrillIndicator(), drawPostMachiningIndicator(), BOARD_ITEM::Duplicate(), ERROR_INSIDE, F_Mask, F_Paste, PAD::FlashLayer(), PAD::GetAttribute(), BOARD_ITEM::GetBoard(), EDA_SHAPE::GetBotRight(), PAD::GetBoundingBox(), PCB_SHAPE::GetCenter(), ADVANCED_CFG::GetCfg(), BOARD_CONNECTED_ITEM::GetDisplayNetname(), PAD::GetDrillSizeX(), PAD::GetEffectiveHoleShape(), PAD::GetEffectiveShape(), BOARD::GetEnabledLayers(), SHAPE_RECT::GetHeight(), PAD::GetLayerSet(), PAD::GetNumber(), PAD::GetOffset(), PAD::GetOrientation(), PAD::GetOwnClearance(), getPadHoleShape(), BOARD_ITEM::GetParentFootprint(), PAD::GetPinFunction(), PAD::GetPosition(), SHAPE_RECT::GetPosition(), PAD::GetPrimitives(), PAD::GetSecondaryDrillEndLayer(), PAD::GetSecondaryDrillSize(), PAD::GetSecondaryDrillStartLayer(), SHAPE_SEGMENT::GetSeg(), SHAPE_SIMPLE::GetSegment(), SHAPE_SIMPLE::GetSegmentCount(), EDA_SHAPE::GetShape(), PAD::GetShape(), BOX2< Vec >::GetSize(), PAD::GetSize(), SHAPE_RECT::GetSize(), PAD::GetSizeX(), PAD::GetSizeY(), PAD::GetSolderMaskExpansion(), PAD::GetSolderPasteMargin(), PAD::GetTertiaryDrillEndLayer(), PAD::GetTertiaryDrillSize(), PAD::GetTertiaryDrillStartLayer(), EDA_SHAPE::GetTopLeft(), BOARD::GetVisibleLayers(), SHAPE_RECT::GetWidth(), SHAPE_SEGMENT::GetWidth(), GR_TEXT_H_ALIGN_CENTER, GR_TEXT_V_ALIGN_CENTER, FOOTPRINT::GraphicalItems(), IGNORE_PARENT_GROUP, IsClearanceLayer(), EDA_ITEM::IsEntered(), PAD::IsFreePad(), IsNetnameLayer(), PAD::IsNoConnectPad(), IsPadCopperLayer(), PCB_SHAPE::IsProxyItem(), EDA_ITEM::IsSelected(), LAYER_CLEARANCE_START, LAYER_LOCKED_ITEM_SHADOW, LAYER_NON_PLATEDHOLES, LAYER_PAD_COPPER_START, LAYER_PAD_HOLEWALLS, LAYER_PAD_PLATEDHOLES, PCBNEW_SETTINGS::m_Display, PCB_VIEWERS_SETTINGS_BASE::VIEWERS_DISPLAY_OPTIONS::m_DisplayPadFill, KIGFX::PAINTER::m_gal, m_holePlatingThickness, ADVANCED_CFG::m_HoleWallPaintingMultiplier, m_lockedShadowMargin, m_maxError, PCBNEW_SETTINGS::DISPLAY_OPTIONS::m_NetNames, m_pcbSettings, PCB_VIEWERS_SETTINGS_BASE::m_ViewersDisplay, KIGFX::PCB_RENDER_SETTINGS::MAX_FONT_SIZE, SHAPE_POLY_SET::NewOutline(), NPTH, SHAPE_POLY_SET::Outline(), OVAL, PCB_LAYER_ID_COUNT, PCB_SHAPE_T, pcbconfig(), SHAPE_LINE_CHAIN::PointCount(), SHAPE_SIMPLE::PointCount(), PrintableCharCount(), RECTANGLE, RotatePoint(), ROUNDRECT, SH_CIRCLE, SH_RECT, SH_SEGMENT, SH_SIMPLE, PAD::ShapePos(), ToLAYER_ID(), PAD::TransformShapeToPolygon(), UnescapeString(), SHAPE_SIMPLE::Vertices(), viewer_settings(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
protected |
Definition at line 940 of file pcb_painter.cpp.
References center, clearance, SHAPE_ARC::ConvertToPolyline(), SHAPE_LINE_CHAIN::CPoint(), ERROR_INSIDE, ERROR_OUTSIDE, F_Cu, PCB_ARC::GetAngle(), PCB_ARC::GetArcAngleStart(), BOARD_ITEM::GetBoard(), PCB_ARC::GetCenter(), SHAPE_ARC::GetCenter(), PCB_TRACK::GetEnd(), SHAPE_ARC::GetEnd(), PCB_ARC::GetFocusPosition(), PCB_ARC::GetMid(), BOARD_CONNECTED_ITEM::GetOwnClearance(), PCB_ARC::GetRadius(), PCB_TRACK::GetSolderMaskExpansion(), PCB_TRACK::GetStart(), SHAPE_ARC::GetStart(), BOARD::GetVisibleLayers(), PCB_TRACK::GetWidth(), IsClearanceLayer(), IsCopperLayer(), IsNetnameLayer(), IsSolderMaskLayer(), LAYER_LOCKED_ITEM_SHADOW, PCBNEW_SETTINGS::m_Display, PCBNEW_SETTINGS::DISPLAY_OPTIONS::m_DisplayPcbTrackFill, KIGFX::PAINTER::m_gal, m_lockedShadowMargin, m_maxError, m_pcbSettings, pcbconfig(), SHAPE_LINE_CHAIN::PointCount(), radius, SHOW_WITH_VIA_ALWAYS, and TransformArcToPolygon().
|
protected |
Definition at line 2975 of file pcb_painter.cpp.
References ERROR_INSIDE, PCB_BARCODE::GetBoundingHull(), BOARD_ITEM::GetLayer(), LAYER_LOCKED_ITEM_SHADOW, KIGFX::PAINTER::m_gal, m_lockedShadowMargin, m_maxError, m_pcbSettings, SHAPE_POLY_SET::OutlineCount(), and BOARD_ITEM::TransformShapeToPolySet().
|
protected |
Definition at line 3242 of file pcb_painter.cpp.
References KIGFX::GAL_SCOPED_ATTRS::ALL_ATTRS, FPHOLDER, BOARD_ITEM::GetBoard(), BOARD::GetBoardUse(), PCB_BOARD_OUTLINE::GetOutline(), PCB_BOARD_OUTLINE::HasOutline(), KIGFX::PAINTER::m_gal, and m_pcbSettings.
|
protected |
Definition at line 2996 of file pcb_painter.cpp.
References SEG::A, SEG::B, EDA_TEXT::GetAttributes(), EDA_TEXT::GetEffectiveTextPenWidth(), EDA_TEXT::GetFont(), BOARD_ITEM::GetFontMetrics(), PCB_DIMENSION_BASE::GetLineThickness(), getLineThickness(), SHAPE_CIRCLE::GetRadius(), EDA_TEXT::GetRenderCache(), SHAPE_SEGMENT::GetSeg(), PCB_DIMENSION_BASE::GetShapes(), PCB_TEXT::GetShownText(), EDA_TEXT::GetTextPos(), KIFONT::FONT::IsOutline(), BOARD_ITEM::IsSideSpecific(), PCB_VIEWERS_SETTINGS_BASE::VIEWERS_DISPLAY_OPTIONS::m_DisplayGraphicsFill, KIGFX::PAINTER::m_gal, TEXT_ATTRIBUTES::m_Mirrored, m_pcbSettings, TEXT_ATTRIBUTES::m_StrokeWidth, PCB_VIEWERS_SETTINGS_BASE::m_ViewersDisplay, radius, SH_CIRCLE, SH_SEGMENT, strokeText(), and viewer_settings().
|
protected |
Definition at line 2414 of file pcb_painter.cpp.
References draw(), and EDA_TEXT::IsVisible().
|
protected |
Definition at line 2793 of file pcb_painter.cpp.
References KIFONT::FONT::Draw(), PCB_GROUP::GetBoundingBox(), KIFONT::FONT::GetFont(), BOARD_ITEM::GetFontMetrics(), BOX2< Vec >::GetHeight(), EDA_GROUP::GetName(), BOARD_ITEM::GetParent(), GetPenSizeForNormal(), BOX2< Vec >::GetPosition(), 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, m_pcbSettings, TEXT_ATTRIBUTES::m_Size, TEXT_ATTRIBUTES::m_StrokeWidth, TEXT_ATTRIBUTES::m_Valign, name, pcbIUScale, PrintableCharCount(), and VECTOR2< T >::x.
|
protected |
Definition at line 3149 of file pcb_painter.cpp.
References ARC, ARC_HIGH_DEF, BOARD_ITEM::GetBoard(), PCB_MARKER::GetColorLayer(), PCB_MARKER::GetPosition(), PCB_MARKER::GetShapes(), EDA_ITEM::IsBrightened(), BOARD::IsElementVisible(), KiROUND(), LAYER_DRC_ERROR, LAYER_DRC_SHAPES, LAYER_DRC_WARNING, LAYER_MARKER_SHADOWS, KIGFX::PAINTER::m_gal, m_pcbSettings, MARKER_BASE::MarkerScale(), SEGMENT, PCB_MARKER::SetZoom(), MARKER_BASE::ShapeToPolygon(), WHITE, and KIGFX::COLOR4D::WithAlpha().
|
protected |
Definition at line 3102 of file pcb_painter.cpp.
References BOARD_ITEM::GetLayer(), PCB_POINT::GetPosition(), PCB_POINT::GetSize(), LAYER_LOCKED_ITEM_SHADOW, LAYER_POINTS, KIGFX::PAINTER::m_gal, m_lockedShadowMargin, and m_pcbSettings.
|
protected |
Definition at line 2367 of file pcb_painter.cpp.
References end, 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, m_pcbSettings, VECTOR2< T >::x, and VECTOR2< T >::y.
|
protected |
Definition at line 1943 of file pcb_painter.cpp.
References SHAPE_POLY_SET::Append(), ARC, BEZIER, SHAPE_POLY_SET::CacheTriangulation(), EDA_SHAPE::CalcArcAngles(), CIRCLE, DEFAULT, FRAME_PCB_EDITOR, EDA_SHAPE::GetBezierC1(), EDA_SHAPE::GetBezierC2(), EDA_SHAPE::GetBezierPoints(), PCB_SHAPE::GetCenter(), EDA_SHAPE::GetCornerRadius(), BOARD_CONNECTED_ITEM::GetDisplayNetname(), EDA_SHAPE::GetEnd(), EDA_SHAPE::GetHatching(), PCB_SHAPE::GetLayer(), STROKE_PARAMS::GetLineStyle(), getLineThickness(), BOARD_ITEM::GetMaxError(), BOARD_CONNECTED_ITEM::GetNetCode(), BEZIER_POLY::GetPoly(), EDA_SHAPE::GetRadius(), EDA_SHAPE::GetRectangleHeight(), EDA_SHAPE::GetRectangleWidth(), EDA_SHAPE::GetRectCorners(), EDA_SHAPE::GetShape(), PCB_SHAPE::GetSolderMaskExpansion(), EDA_SHAPE::GetStart(), PCB_SHAPE::GetStroke(), PCB_SHAPE::GetWidth(), PCB_SHAPE::HasSolderMask(), SHAPE_POLY_SET::Inflate(), IsExternalCopperLayer(), EDA_SHAPE::IsHatchedFill(), IsNetnameLayer(), PCB_SHAPE::IsProxyItem(), IsSolderMaskLayer(), EDA_SHAPE::IsSolidFill(), SHAPE_POLY_SET::IsTriangulationUpToDate(), LAYER_LOCKED_ITEM_SHADOW, PCB_VIEWERS_SETTINGS_BASE::VIEWERS_DISPLAY_OPTIONS::m_DisplayGraphicsFill, m_frameType, KIGFX::PAINTER::m_gal, m_lockedShadowMargin, m_maxError, m_pcbSettings, PCB_VIEWERS_SETTINGS_BASE::m_ViewersDisplay, EDA_SHAPE::MakeEffectiveShapes(), SHAPE_POLY_SET::NewOutline(), SHAPE_POLY_SET::Outline(), SHAPE_POLY_SET::OutlineCount(), pcbconfig(), POLY, radius, RECTANGLE, renderNetNameForSegment(), VECTOR2< T >::Resize(), ROUND_ALL_CORNERS, SEGMENT, SOLID, STROKE_PARAMS::Stroke(), ROUNDRECT::TransformToPolygon(), NETINFO_LIST::UNCONNECTED, UNDEFINED, and viewer_settings().
|
protected |
Definition at line 2662 of file pcb_painter.cpp.
References draw(), PCB_TABLE::DrawBorders(), FIRST_TYPE, PCB_TABLE::GetCells(), STROKE_PARAMS::GetLineStyle(), getLineThickness(), STROKE_PARAMS::GetWidth(), EDA_ITEM::IsSelected(), KIGFX::PAINTER::m_gal, m_pcbSettings, STROKE_PARAMS::Stroke(), and KIGFX::COLOR4D::WithAlpha().
|
protected |
Definition at line 3066 of file pcb_painter.cpp.
References BOARD_ITEM::GetLayer(), getLineThickness(), PCB_TARGET::GetPosition(), PCB_TARGET::GetShape(), PCB_TARGET::GetSize(), PCB_TARGET::GetWidth(), KIGFX::PAINTER::m_gal, m_pcbSettings, M_PI, and radius.
|
protected |
Definition at line 2421 of file pcb_painter.cpp.
References ERROR_OUTSIDE, EDA_TEXT::GetAttributes(), EDA_TEXT::GetDrawFont(), PCB_TEXT::GetDrawRotation(), EDA_TEXT::GetEffectiveTextPenWidth(), BOARD_ITEM::GetFontMetrics(), EDA_TEXT::GetHorizJustify(), PCB_TEXT::GetKnockoutCache(), BOARD_ITEM::GetLayer(), getLineThickness(), BOARD_ITEM::GetParentFootprint(), FOOTPRINT::GetPosition(), EDA_TEXT::GetRenderCache(), PCB_TEXT::GetShownText(), EDA_TEXT::GetTextBox(), EDA_TEXT::GetTextPos(), BOX2< Vec >::GetWidth(), GR_TEXT_H_ALIGN_CENTER, GR_TEXT_H_ALIGN_RIGHT, 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, m_pcbSettings, TEXT_ATTRIBUTES::m_StrokeWidth, PCB_VIEWERS_SETTINGS_BASE::m_ViewersDisplay, RotatePoint(), strokeText(), PCB_TEXT::TransformShapeToPolygon(), viewer_settings(), and VECTOR2< T >::x.
|
protected |
Definition at line 2526 of file pcb_painter.cpp.
References ERROR_INSIDE, FIRST_TYPE, SHAPE_POLY_SET::Fracture(), EDA_TEXT::GetAttributes(), PCB_TABLECELL::GetColSpan(), PCB_SHAPE::GetCorners(), EDA_TEXT::GetDrawFont(), PCB_TEXTBOX::GetDrawPos(), EDA_TEXT::GetEffectiveTextPenWidth(), BOARD_ITEM::GetFontMetrics(), STROKE_PARAMS::GetLineStyle(), getLineThickness(), EDA_TEXT::GetRenderCache(), PCB_TABLECELL::GetRowSpan(), PCB_TEXTBOX::GetShownText(), PCB_SHAPE::GetStroke(), PCB_SHAPE::GetWidth(), PCB_TEXTBOX::IsBorderEnabled(), BOARD_ITEM::IsKnockout(), KIFONT::FONT::IsOutline(), BOARD_ITEM::IsSideSpecific(), LAYER_LOCKED_ITEM_SHADOW, KIGFX::PAINTER::m_gal, m_lockedShadowMargin, m_maxError, TEXT_ATTRIBUTES::m_Mirrored, m_pcbSettings, TEXT_ATTRIBUTES::m_StrokeWidth, EDA_SHAPE::MakeEffectiveShapes(), PCB_TABLECELL_T, pcbIUScale, STROKE_PARAMS::Stroke(), strokeText(), PCB_TEXTBOX::TransformTextToPolySet(), and EDA_ITEM::Type().
|
protected |
Definition at line 808 of file pcb_painter.cpp.
References clearance, end, BOARD_CONNECTED_ITEM::GetDisplayNetname(), PCB_TRACK::GetEnd(), BOARD_CONNECTED_ITEM::GetNetCode(), BOARD_CONNECTED_ITEM::GetOwnClearance(), PCB_TRACK::GetSolderMaskExpansion(), PCB_TRACK::GetStart(), PCB_TRACK::GetWidth(), IsClearanceLayer(), IsCopperLayer(), IsNetnameLayer(), IsSolderMaskLayer(), LAYER_CLEARANCE_START, LAYER_LOCKED_ITEM_SHADOW, PCBNEW_SETTINGS::m_Display, PCBNEW_SETTINGS::DISPLAY_OPTIONS::m_DisplayPcbTrackFill, KIGFX::PAINTER::m_gal, m_lockedShadowMargin, m_pcbSettings, pcbconfig(), renderNetNameForSegment(), SHOW_WITH_VIA_ALWAYS, ToLAYER_ID(), and NETINFO_LIST::UNCONNECTED.
|
protected |
Definition at line 1044 of file pcb_painter.cpp.
References ANGLE_HORIZONTAL, B_Cu, B_Mask, BLIND, PCB_VIA::BottomLayer(), BURIED, center, KIGFX::COLOR4D::CLEAR, DEGREES_T, draw(), drawBackdrillIndicator(), drawPostMachiningIndicator(), F_Cu, F_Mask, PCB_VIA::FlashLayer(), BOARD_ITEM::GetBoard(), ADVANCED_CFG::GetCfg(), BOARD::GetCopperLayerCount(), BOARD::GetDesignSettings(), BOARD_CONNECTED_ITEM::GetDisplayNetname(), BOARD::GetEnabledLayers(), BOARD_CONNECTED_ITEM::GetNetname(), BOARD_CONNECTED_ITEM::GetOwnClearance(), PCB_VIA::GetSecondaryDrillEndLayer(), PCB_VIA::GetSecondaryDrillSize(), PCB_VIA::GetSecondaryDrillStartLayer(), PCB_TRACK::GetStart(), PCB_VIA::GetTertiaryDrillEndLayer(), PCB_VIA::GetTertiaryDrillSize(), PCB_VIA::GetTertiaryDrillStartLayer(), getViaDrillSize(), PCB_VIA::GetViaType(), BOARD::GetVisibleLayers(), PCB_VIA::GetWidth(), GR_TEXT_H_ALIGN_CENTER, GR_TEXT_V_ALIGN_CENTER, IsClearanceLayer(), IsCopperLayer(), IsNetnameLayer(), PCB_VIA::IsOnLayer(), EDA_ITEM::IsSelected(), IsViaCopperLayer(), L, LAYER_CLEARANCE_START, LAYER_LOCKED_ITEM_SHADOW, LAYER_VIA_COPPER_START, LAYER_VIA_HOLES, LAYER_VIA_HOLEWALLS, PCB_VIA::LayerPair(), PCBNEW_SETTINGS::m_Display, PCBNEW_SETTINGS::DISPLAY_OPTIONS::m_DisplayViaFill, KIGFX::PAINTER::m_gal, m_holePlatingThickness, ADVANCED_CFG::m_HoleWallPaintingMultiplier, m_lockedShadowMargin, PCBNEW_SETTINGS::DISPLAY_OPTIONS::m_NetNames, m_pcbSettings, BOARD_DESIGN_SETTINGS::m_SolderMaskExpansion, KIGFX::PCB_RENDER_SETTINGS::MAX_FONT_SIZE, MICROVIA, pcbconfig(), PrintableCharCount(), radius, SHOW_WITH_VIA_ALWAYS, THROUGH, ToLAYER_ID(), PCB_VIA::TopLayer(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
protected |
Definition at line 2861 of file pcb_painter.cpp.
References KIGFX::COLOR4D::a, SHAPE_POLY_SET::CHole(), SHAPE_POLY_SET::COutline(), ZONE::GetFilledPolysList(), ZONE::GetHatchLines(), ZONE::GetHatchStyle(), SHAPE_POLY_SET::HoleCount(), INVISIBLE_BORDER, ZONE::IsOnLayer(), ZONE::IsTeardropArea(), IsZoneFillLayer(), LAYER_CONFLICTS_SHADOW, LAYER_ZONE_START, KIGFX::PAINTER::m_gal, m_pcbSettings, SHAPE_POLY_SET::Outline(), ZONE::Outline(), SHAPE_POLY_SET::OutlineCount(), SHOW_FILLED, SHOW_FRACTURE_BORDERS, SHOW_TRIANGULATION, ToLAYER_ID(), and KIGFX::COLOR4D::WithAlpha().
|
protected |
Draw backdrill indicator (two semi-circles) at the given center point.
| aItem | the board item (for color lookup) |
| aCenter | center point of the indicator |
| aDrillSize | diameter of the backdrill |
| aStartLayer | layer where backdrill starts |
| aEndLayer | layer where backdrill ends |
Definition at line 3269 of file pcb_painter.cpp.
References KIGFX::GAL_SCOPED_ATTRS::ALL_ATTRS, DEGREES_T, KIGFX::PAINTER::m_gal, and m_pcbSettings.
|
protected |
Draw post-machining indicator (dashed circle) at the given center point.
| aItem | the board item (for color lookup) |
| aCenter | center point of the indicator |
| aLayer | layer to use for color |
Definition at line 3294 of file pcb_painter.cpp.
References KIGFX::GAL_SCOPED_ATTRS::ALL_ATTRS, ANGLE_360, KIGFX::PAINTER::m_gal, m_pcbSettings, pad, and via.
|
protectedvirtual |
Return drill shape of a pad.
Reimplemented in KIGFX::PCB_PRINT_PAINTER.
Definition at line 612 of file pcb_painter.cpp.
References PAD::GetDrillShape().
Referenced by KIGFX::PCB_PRINT_PAINTER::getDrillShape().
|
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 600 of file pcb_painter.cpp.
References m_pcbSettings.
Referenced by draw(), draw(), draw(), draw(), draw(), and draw().
|
protectedvirtual |
Return hole shape for a pad (internal units).
Reimplemented in KIGFX::PCB_PRINT_PAINTER.
Definition at line 618 of file pcb_painter.cpp.
References PAD::GetEffectiveHoleShape().
Referenced by draw(), and KIGFX::PCB_PRINT_PAINTER::getPadHoleShape().
|
inlineoverridevirtual |
Return a pointer to current settings that are going to be used when drawing items.
Implements KIGFX::PAINTER.
Definition at line 189 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 625 of file pcb_painter.cpp.
References PCB_VIA::GetDrillValue().
Referenced by draw(), and KIGFX::PCB_PRINT_PAINTER::getViaDrillSize().
|
protected |
Definition at line 867 of file pcb_painter.cpp.
References SEG::A, ANGLE_HORIZONTAL, ANGLE_VERTICAL, SEG::B, BOX2< Vec >::Contains(), end, BOX2< Vec >::GetHeight(), SHAPE_SEGMENT::GetSeg(), BOX2< Vec >::GetWidth(), SHAPE_SEGMENT::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(), BOX2< Vec >::SetOrigin(), SEG::SquaredLength(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
inlineinherited |
|
protected |
Definition at line 2336 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, and RotatePoint().
|
protected |
Definition at line 91 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().
|
protected |
Definition at line 273 of file pcb_painter.h.
Referenced by draw(), draw(), PCB_PAINTER(), 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 KIGFX::PCB_PAINTER::Draw(), ZONE_PAINTER::Draw(), KIGFX::DS_PAINTER::draw(), KIGFX::DS_PAINTER::draw(), KIGFX::DS_PAINTER::draw(), KIGFX::DS_PAINTER::draw(), KIGFX::DS_PAINTER::draw(), KIGFX::DS_PAINTER::draw(), KIGFX::GERBVIEW_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::drawAnchor(), KIGFX::GERBVIEW_PAINTER::drawApertureMacro(), KIGFX::PCB_PAINTER::drawBackdrillIndicator(), KIGFX::DS_PAINTER::DrawBorder(), KIGFX::SCH_PAINTER::drawDanglingIndicator(), KIGFX::GERBVIEW_PAINTER::drawFlashedShape(), KIGFX::SCH_PAINTER::drawItemBoundingBox(), KIGFX::SCH_PAINTER::drawLine(), KIGFX::SCH_PAINTER::drawLocalPowerIcon(), KIGFX::SCH_PAINTER::drawPinDanglingIndicator(), KIGFX::GERBVIEW_PAINTER::drawPolygon(), KIGFX::PCB_PAINTER::drawPostMachiningIndicator(), KIGFX::SCH_PAINTER::getOperatingPointTextSize(), KIGFX::SCH_PAINTER::getShadowWidth(), PAINTER(), KIGFX::PCB_PAINTER::renderNetNameForSegment(), SetGAL(), KIGFX::PCB_PAINTER::strokeText(), and KIGFX::SCH_PAINTER::triLine().
|
protected |
Definition at line 276 of file pcb_painter.h.
Referenced by Draw(), draw(), draw(), and PCB_PAINTER().
|
protected |
|
protected |
Definition at line 275 of file pcb_painter.h.
Referenced by Draw(), draw(), draw(), draw(), draw(), draw(), draw(), and PCB_PAINTER().
|
protected |
Definition at line 272 of file pcb_painter.h.
Referenced by Draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), drawBackdrillIndicator(), drawPostMachiningIndicator(), getLineThickness(), and GetSettings().