|
KiCad PCB EDA Suite
|
Contains methods for drawing schematic-specific items. More...
#include <sch_painter.h>
Public Member Functions | |
| SCH_PAINTER (GAL *aGal) | |
| virtual bool | Draw (const VIEW_ITEM *, int) override |
| Takes an instance of VIEW_ITEM and passes it to a function that knows how to draw the item. | |
| virtual SCH_RENDER_SETTINGS * | GetSettings () override |
| Return a pointer to current settings that are going to be used when drawing items. | |
| void | SetSchematic (SCHEMATIC *aSchematic) |
| void | SetGAL (GAL *aGal) |
| Changes Graphics Abstraction Layer used for drawing items for a new one. | |
Static Public Attributes | |
| static std::vector< KICAD_T > | g_ScaledSelectionTypes |
Protected Attributes | |
| GAL * | m_gal |
| Instance of graphic abstraction layer that gives an interface to call commands used to draw (eg. | |
Private Member Functions | |
| void | drawItemBoundingBox (const EDA_ITEM *aItem) |
| void | draw (const EDA_ITEM *, int, bool aDimmed) |
| void | draw (const SCH_PIN *aPin, int aLayer, bool aDimmed) |
| void | draw (const LIB_SYMBOL *aSymbol, int, bool aDrawFields=true, int aUnit=0, int aBodyStyle=0, bool aDimmed=false) |
| void | draw (const SCH_SYMBOL *aSymbol, int aLayer) |
| void | draw (const SCH_SHAPE *aShape, int aLayer, bool aDimmed) |
| void | draw (const SCH_JUNCTION *aJct, int aLayer) |
| void | draw (const SCH_FIELD *aField, int aLayer, bool aDimmed) |
| void | draw (const SCH_TEXTBOX *aTextBox, int aLayer, bool aDimmed) |
| void | draw (const SCH_TEXT *aText, int aLayer, bool aDimmed) |
| void | draw (const SCH_TABLE *aTable, int aLayer, bool aDimmed) |
| void | draw (const SCH_LABEL *aLabel, int aLayer, bool aDimmed) |
| void | draw (const SCH_DIRECTIVE_LABEL *aLabel, int aLayer, bool aDimmed) |
| void | draw (const SCH_HIERLABEL *aLabel, int aLayer, bool aDimmed) |
| void | draw (const SCH_GLOBALLABEL *aLabel, int aLayer, bool aDimmed) |
| void | draw (const SCH_SHEET *aSheet, int aLayer) |
| void | draw (const SCH_NO_CONNECT *aNC, int aLayer) |
| void | draw (const SCH_MARKER *aMarker, int aLayer) |
| void | draw (const SCH_BITMAP *aBitmap, int aLayer) |
| void | draw (const SCH_LINE *aLine, int aLayer) |
| void | draw (const SCH_BUS_ENTRY_BASE *aEntry, int aLayer) |
| void | draw (const SCH_GROUP *aGroup, int aLayer) |
| void | drawPinDanglingIndicator (const SCH_PIN &aPin, const COLOR4D &aColor, bool aDrawingShadows, bool aBrightened) |
| void | drawLocalPowerIcon (const VECTOR2D &aPos, double aSize, bool aRotate, const COLOR4D &aColor, bool aDrawingShadows, bool aBrightened) |
| Draw an local power pin indicator icon. | |
| void | drawDanglingIndicator (const VECTOR2I &aPos, const COLOR4D &aColor, int aWidth, bool aDangling, bool aDrawingShadows, bool aBrightened) |
| Draw the target (an open square) for a wire or label which has no connection or is being moved. | |
| void | drawAnchor (const VECTOR2I &aPos, bool aDrawingShadows) |
| Draw anchor indicating the anchor position of text objects, local labels, or fields. | |
| int | internalPinDecoSize (const SCH_PIN &aPin) |
| int | externalPinDecoSize (const SCH_PIN &aPin) |
| bool | nonCached (const EDA_ITEM *aItem) |
| Indicates the item is drawn on a non-cached layer in OpenGL. | |
| bool | isUnitAndConversionShown (const SCH_ITEM *aItem) const |
| float | getShadowWidth (bool aForHighlight) const |
| COLOR4D | getRenderColor (const SCH_ITEM *aItem, int aLayer, bool aDrawingShadows, bool aDimmed=false, bool aIgnoreNets=false) const |
| KIFONT::FONT * | getFont (const EDA_TEXT *aText) const |
| float | getLineWidth (const SCH_ITEM *aItem, bool aDrawingShadows, bool aDrawingWireColorHighlights=false) const |
| float | getTextThickness (const SCH_ITEM *aItem) const |
| int | getOperatingPointTextSize () const |
| void | triLine (const VECTOR2D &a, const VECTOR2D &b, const VECTOR2D &c) |
| wxString | expandLibItemTextVars (const wxString &aSourceText, const SCH_SYMBOL *aSymbolContext) |
| void | drawLine (const VECTOR2I &aStartPoint, const VECTOR2I &aEndPoint, LINE_STYLE aLineStyle, bool aDrawDirectLine=false, int aWidth=0) |
Private Attributes | |
| SCH_RENDER_SETTINGS | m_schSettings |
| SCHEMATIC * | m_schematic |
Contains methods for drawing schematic-specific items.
Definition at line 68 of file sch_painter.h.
| KIGFX::SCH_PAINTER::SCH_PAINTER | ( | GAL * | aGal | ) |
Definition at line 105 of file sch_painter.cpp.
References m_schematic, and KIGFX::PAINTER::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.
Definition at line 111 of file sch_painter.cpp.
References draw().
|
private |
Definition at line 124 of file sch_painter.cpp.
References BOX2< Vec >::Centre(), SCH_ITEM::Connection(), draw(), drawItemBoundingBox(), EDA_ITEM::GetBoundingBox(), GR_TEXT_H_ALIGN_CENTER, GR_TEXT_V_ALIGN_CENTER, LIB_SYMBOL_T, LIGHTRED, m_schSettings, SCH_BITMAP_T, SCH_BUS_BUS_ENTRY_T, SCH_BUS_WIRE_ENTRY_T, SCH_DIRECTIVE_LABEL_T, SCH_FIELD_T, SCH_GLOBAL_LABEL_T, SCH_GROUP_T, SCH_HIER_LABEL_T, SCH_JUNCTION_T, SCH_LABEL_T, SCH_LINE_T, SCH_MARKER_T, SCH_NO_CONNECT_T, SCH_PIN_T, SCH_RULE_AREA_T, SCH_SHAPE_T, SCH_SHEET_PIN_T, SCH_SHEET_T, SCH_SYMBOL_T, SCH_TABLE_T, SCH_TEXT_T, SCH_TEXTBOX_T, and EDA_ITEM::Type().
Referenced by Draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), and draw().
|
private |
Definition at line 711 of file sch_painter.cpp.
References alg::contains(), draw(), LIB_SYMBOL::Flatten(), SCH_ITEM::GetBodyStyle(), LIB_SYMBOL::GetDrawItems(), SCH_ITEM::GetUnit(), LIB_SYMBOL::IsDerived(), m_schSettings, SCH_FIELD_T, EDA_ITEM::Type(), and SCH_ITEM::ViewGetLayers().
|
private |
Definition at line 3450 of file sch_painter.cpp.
References end, REFERENCE_IMAGE::GetImage(), REFERENCE_IMAGE::GetImageScale(), SCH_BITMAP::GetPosition(), SCH_BITMAP::GetReferenceImage(), getRenderColor(), getShadowWidth(), REFERENCE_IMAGE::GetSize(), EDA_ITEM::IsBrightened(), EDA_ITEM::IsSelected(), LAYER_DRAW_BITMAPS, LAYER_SELECTION_SHADOWS, KIGFX::PAINTER::m_gal, VECTOR2< T >::x, and VECTOR2< T >::y.
|
private |
Definition at line 3348 of file sch_painter.cpp.
References KIGFX::COLOR4D::Brightened(), draw(), KIGFX::eeconfig(), ENDPOINT, SCH_BUS_ENTRY_BASE::GetEffectiveLineStyle(), SCH_BUS_ENTRY_BASE::GetEnd(), getLineWidth(), SCH_BUS_ENTRY_BASE::GetPenWidth(), SCH_BUS_ENTRY_BASE::GetPosition(), getRenderColor(), SCH_BUS_ENTRY_BASE::GetStroke(), EESCHEMA_SETTINGS::SELECTION::highlight_netclass_colors, EDA_ITEM::IsBrightened(), SCH_BUS_ENTRY_BASE::IsEndDangling(), EDA_ITEM::IsSelected(), SCH_BUS_ENTRY_BASE::IsStartDangling(), KiROUND(), LAYER_BUS, LAYER_DANGLING, LAYER_NET_COLOR_HIGHLIGHT, LAYER_SELECTION_SHADOWS, LAYER_WIRE, KIGFX::PAINTER::m_gal, m_schSettings, EESCHEMA_SETTINGS::m_Selection, SCH_BUS_BUS_ENTRY_T, SCH_BUS_WIRE_ENTRY_T, EDA_ITEM::SetBrightened(), SCH_LINE::SetEndPoint(), EDA_ITEM::SetFlags(), SCH_LINE::SetLineColor(), SCH_LINE::SetLineStyle(), SCH_LINE::SetLineWidth(), EDA_ITEM::SetSelected(), SCH_LINE::SetStartPoint(), SCH_LINE::SetStroke(), STARTPOINT, TARGET_BUSENTRY_RADIUS, and EDA_ITEM::Type().
|
private |
Definition at line 3144 of file sch_painter.cpp.
References SCH_DIRECTIVE_LABEL::CreateGraphicShape(), DANGLING_SYMBOL_SIZE, draw(), drawDanglingIndicator(), KIGFX::eeconfig(), F_DOT, F_ROUND, SCH_LABEL_BASE::GetFields(), getLineWidth(), getRenderColor(), SCH_LABEL_BASE::GetShape(), EDA_TEXT::GetTextPos(), EDA_ITEM::IsBrightened(), SCH_DIRECTIVE_LABEL::IsDangling(), KIGFX::isFieldsLayer(), EDA_ITEM::IsSelected(), LAYER_DANGLING, LAYER_NETCLASS_REFS, LAYER_SELECTION_SHADOWS, KIGFX::PAINTER::m_gal, m_schSettings, and schIUScale.
|
private |
Definition at line 2811 of file sch_painter.cpp.
References ANGLE_HORIZONTAL, ANGLE_VERTICAL, KIGFX::bitmapText(), BOX2< Vec >::Centre(), drawAnchor(), drawItemBoundingBox(), drawLocalPowerIcon(), KIGFX::eeconfig(), EDA_TEXT::GetAttributes(), BOX2< Vec >::GetBottom(), SCH_FIELD::GetBoundingBox(), BOX2< Vec >::GetEnd(), getFont(), SCH_ITEM::GetFontMetrics(), BOX2< Vec >::GetHeight(), SCH_FIELD::GetId(), SCH_ITEM::GetLayer(), BOX2< Vec >::GetLeft(), EDA_ITEM::GetParent(), SCH_FIELD::GetParentPosition(), BOX2< Vec >::GetPosition(), SCH_FIELD::GetPosition(), SCH_FIELD::GetRenderCache(), getRenderColor(), BOX2< Vec >::GetRight(), SCH_GLOBALLABEL::GetSchematicTextOffset(), getShadowWidth(), SCH_FIELD::GetShownText(), EDA_TEXT::GetTextAngle(), getTextThickness(), SYMBOL::GetTransform(), BOX2< Vec >::GetWidth(), GR_TEXT_H_ALIGN_CENTER, GR_TEXT_V_ALIGN_CENTER, BOX2< Vec >::Inflate(), IS_SHOWN_AS_BITMAP, EDA_ITEM::IsBrightened(), EDA_ITEM::IsForceVisible(), EDA_ANGLE::IsHorizontal(), SCH_FIELD::IsHypertext(), EDA_ITEM::IsMoving(), SCH_ITEM::IsPrivate(), EDA_ITEM::IsRollover(), EDA_ITEM::IsSelected(), SCH_SYMBOL::IsSymbolLikePowerLocalLabel(), isUnitAndConversionShown(), EDA_TEXT::IsVisible(), KiROUND(), LAYER_HIDDEN, LAYER_HOVERED, LAYER_SCHEMATIC_ANCHOR, LAYER_SELECTION_SHADOWS, TEXT_ATTRIBUTES::m_Angle, EESCHEMA_SETTINGS::m_Appearance, KIGFX::PAINTER::m_gal, TEXT_ATTRIBUTES::m_Halign, m_schematic, m_schSettings, TEXT_ATTRIBUTES::m_StrokeWidth, TEXT_ATTRIBUTES::m_Underlined, TEXT_ATTRIBUTES::m_Valign, nonCached(), BOX2< Vec >::Offset(), SCH_ITEM::RenderAsBitmap(), SCH_GLOBAL_LABEL_T, SCH_SYMBOL_T, EESCHEMA_SETTINGS::APPEARANCE::show_hidden_fields, KIGFX::strokeText(), EDA_ITEM::Type(), VALUE, SCH_FIELD::ViewGetLayers(), and TRANSFORM::y1.
|
private |
Definition at line 2988 of file sch_painter.cpp.
References SCH_GLOBALLABEL::CreateGraphicShape(), DANGLING_SYMBOL_SIZE, draw(), drawDanglingIndicator(), KIGFX::eeconfig(), SCH_LABEL_BASE::GetFields(), getLineWidth(), getRenderColor(), EDA_TEXT::GetTextPos(), EDA_ITEM::IsBrightened(), SCH_LABEL_BASE::IsDangling(), KIGFX::isFieldsLayer(), EDA_ITEM::IsSelected(), LAYER_DANGLING, LAYER_GLOBLABEL, LAYER_SELECTION_SHADOWS, KIGFX::PAINTER::m_gal, m_schSettings, and schIUScale.
|
private |
Definition at line 3526 of file sch_painter.cpp.
References KIFONT::FONT::Draw(), SCH_GROUP::GetBoundingBox(), KIFONT::FONT::GetFont(), SCH_ITEM::GetFontMetrics(), BOX2< Vec >::GetHeight(), EDA_GROUP::GetName(), EDA_ITEM::GetParent(), GetPenSizeForNormal(), BOX2< Vec >::GetPosition(), getRenderColor(), BOX2< Vec >::GetWidth(), GR_TEXT_H_ALIGN_CENTER, GR_TEXT_V_ALIGN_BOTTOM, EDA_ITEM::IsEntered(), EDA_ITEM::IsSelected(), KiROUND(), LAYER_SCHEMATIC_ANCHOR, KIGFX::PAINTER::m_gal, TEXT_ATTRIBUTES::m_Halign, TEXT_ATTRIBUTES::m_Italic, m_schSettings, TEXT_ATTRIBUTES::m_Size, TEXT_ATTRIBUTES::m_StrokeWidth, TEXT_ATTRIBUTES::m_Valign, name, PrintableCharCount(), schIUScale, and VECTOR2< T >::x.
|
private |
Definition at line 3090 of file sch_painter.cpp.
References SCH_HIERLABEL::CreateGraphicShape(), DANGLING_SYMBOL_SIZE, draw(), drawDanglingIndicator(), KIGFX::eeconfig(), SCH_LABEL_BASE::GetFields(), getLineWidth(), getRenderColor(), EDA_TEXT::GetTextPos(), EDA_ITEM::IsBrightened(), SCH_LABEL_BASE::IsDangling(), KIGFX::isFieldsLayer(), EDA_ITEM::IsSelected(), LAYER_DANGLING, LAYER_HIERLABEL, LAYER_SCHEMATIC_BACKGROUND, LAYER_SELECTION_SHADOWS, KIGFX::PAINTER::m_gal, m_schSettings, and schIUScale.
|
private |
Definition at line 1733 of file sch_painter.cpp.
References KIGFX::eeconfig(), SCH_JUNCTION::GetEffectiveDiameter(), SCH_ITEM::GetLayer(), getLineWidth(), SCH_JUNCTION::GetPosition(), getRenderColor(), EESCHEMA_SETTINGS::SELECTION::highlight_netclass_colors, EDA_ITEM::IsBrightened(), EDA_ITEM::IsSelected(), LAYER_SELECTION_SHADOWS, KIGFX::PAINTER::m_gal, m_schSettings, and EESCHEMA_SETTINGS::m_Selection.
|
private |
Definition at line 3051 of file sch_painter.cpp.
References DANGLING_SYMBOL_SIZE, draw(), drawDanglingIndicator(), KIGFX::eeconfig(), SCH_LABEL_BASE::GetFields(), getRenderColor(), EDA_TEXT::GetTextPos(), EDA_ITEM::IsBrightened(), SCH_LABEL_BASE::IsDangling(), KIGFX::isFieldsLayer(), EDA_ITEM::IsSelected(), LAYER_DANGLING, LAYER_HIERLABEL, LAYER_SELECTION_SHADOWS, m_schSettings, and schIUScale.
|
private |
Definition at line 1772 of file sch_painter.cpp.
References KIGFX::COLOR4D::a, SCH_LINE::BuildWireWithHopShape(), CalcArcCenter(), center, drawDanglingIndicator(), drawLine(), KIGFX::eeconfig(), end, ENDPOINT, FIRST_TYPE, SCH_LINE::GetEffectiveLineStyle(), SCH_LINE::GetEndPoint(), KIFONT::FONT::GetFont(), SCH_ITEM::GetFontMetrics(), SCH_ITEM::GetLayer(), getLineWidth(), SCH_LINE::GetMidPoint(), SCH_LINE::GetOperatingPoint(), getOperatingPointTextSize(), GetPenSizeForDemiBold(), getRenderColor(), SCH_LINE::GetStartPoint(), GR_TEXT_H_ALIGN_CENTER, GR_TEXT_H_ALIGN_LEFT, GR_TEXT_V_ALIGN_BOTTOM, GR_TEXT_V_ALIGN_CENTER, EDA_ITEM::HasFlag(), EESCHEMA_SETTINGS::SELECTION::highlight_netclass_colors, EESCHEMA_SETTINGS::SELECTION::highlight_netclass_colors_alpha, KIGFX::COLOR4D::Invert(), EDA_ITEM::IsBrightened(), SCH_LINE::IsBus(), SCH_LINE::IsEndDangling(), EDA_ITEM::IsNew(), EDA_ITEM::IsSelected(), SCH_LINE::IsStartDangling(), SCH_LINE::IsWire(), KiROUND(), KIGFX::knockoutText(), LAYER_BUS, LAYER_DANGLING, LAYER_NET_COLOR_HIGHLIGHT, LAYER_OP_VOLTAGES, LAYER_SELECTION_SHADOWS, LAYER_WIRE, TEXT_ATTRIBUTES::m_Color, TEXT_ATTRIBUTES::m_Font, KIGFX::PAINTER::m_gal, TEXT_ATTRIBUTES::m_Halign, SCHEMATIC_SETTINGS::m_HopOverScale, m_schematic, m_schSettings, EESCHEMA_SETTINGS::m_Selection, TEXT_ATTRIBUTES::m_Size, TEXT_ATTRIBUTES::m_StrokeWidth, TEXT_ATTRIBUTES::m_Valign, EDA_ANGLE::Normalize180(), SCH_ITEM::Schematic(), SCHEMATIC::Settings(), STARTPOINT, KIGFX::COLOR4D::WithAlpha(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
private |
Definition at line 3498 of file sch_painter.cpp.
References SCH_MARKER::GetColorLayer(), getLineWidth(), SCH_MARKER::GetPosition(), getRenderColor(), EDA_ITEM::IsBrightened(), EDA_ITEM::IsSelected(), LAYER_SELECTION_SHADOWS, KIGFX::PAINTER::m_gal, m_schSettings, and MARKER_BASE::ShapeToPolygon().
|
private |
Definition at line 3325 of file sch_painter.cpp.
References delta, getLineWidth(), SCH_NO_CONNECT::GetPosition(), getRenderColor(), SCH_NO_CONNECT::GetSize(), EDA_ITEM::IsBrightened(), EDA_ITEM::IsSelected(), LAYER_NOCONNECT, LAYER_SELECTION_SHADOWS, KIGFX::PAINTER::m_gal, and m_schSettings.
|
private |
Definition at line 904 of file sch_painter.cpp.
References ANGLE_HORIZONTAL, ANGLE_VERTICAL, BITMAP_FONT_SIZE_THRESHOLD, KIGFX::bitmapText(), KIGFX::boxText(), ClampTextPenSize(), CLOCK, CLOCK_LOW, KIGFX::drawAltPinModesIcon(), drawItemBoundingBox(), KIGFX::GAL::DrawLine(), drawPinDanglingIndicator(), KIGFX::eeconfig(), externalPinDecoSize(), FALLING_EDGE_CLOCK, PIN_LAYOUT_CACHE::GetAltIconBBox(), KIFONT::FONT::GetFont(), SCH_ITEM::GetFontMetrics(), SCH_PIN::GetLayoutCache(), SCH_PIN::GetLength(), getLineWidth(), SCH_PIN::GetNameTextSize(), SCH_PIN::GetNumberTextSize(), SCH_PIN::GetOperatingPoint(), getOperatingPointTextSize(), SCH_ITEM::GetParentSymbol(), GetPenSizeForDemiBold(), PIN_LAYOUT_CACHE::GetPinElectricalTypeInfo(), PIN_LAYOUT_CACHE::GetPinNameInfo(), PIN_LAYOUT_CACHE::GetPinNumberInfo(), SCH_PIN::GetPinRoot(), SCH_PIN::GetPosition(), getRenderColor(), getShadowWidth(), SCH_PIN::GetShape(), SCH_PIN::GetType(), KIGFX::GAL::GetWorldScale(), GR_TEXT_H_ALIGN_CENTER, GR_TEXT_H_ALIGN_LEFT, GR_TEXT_H_ALIGN_RIGHT, GR_TEXT_V_ALIGN_BOTTOM, GR_TEXT_V_ALIGN_CENTER, EDA_ITEM::HasFlag(), INPUT_LOW, internalPinDecoSize(), INVERTED, INVERTED_CLOCK, IS_DANGLING, IS_SHOWN_AS_BITMAP, EDA_ITEM::IsBrightened(), SCH_PIN::IsGlobalPower(), KIFONT::FONT::IsOutline(), EDA_ITEM::IsSelected(), isUnitAndConversionShown(), SCH_PIN::IsVisible(), KiROUND(), KIGFX::knockoutText(), LAYER_DANGLING, LAYER_HIDDEN, LAYER_OP_CURRENTS, LAYER_PIN, LAYER_PINNAM, LAYER_PINNUM, LAYER_PRIVATE_NOTES, LAYER_SELECTION_SHADOWS, LINE, PIN_LAYOUT_CACHE::TEXT_INFO::m_Angle, TEXT_ATTRIBUTES::m_Angle, EESCHEMA_SETTINGS::m_Appearance, TEXT_ATTRIBUTES::m_Color, TEXT_ATTRIBUTES::m_Font, KIGFX::PAINTER::m_gal, PIN_LAYOUT_CACHE::TEXT_INFO::m_HAlign, TEXT_ATTRIBUTES::m_Halign, m_schematic, m_schSettings, TEXT_ATTRIBUTES::m_Size, TEXT_ATTRIBUTES::m_StrokeWidth, PIN_LAYOUT_CACHE::TEXT_INFO::m_Text, PIN_LAYOUT_CACHE::TEXT_INFO::m_TextPosition, PIN_LAYOUT_CACHE::TEXT_INFO::m_TextSize, PIN_LAYOUT_CACHE::TEXT_INFO::m_Thickness, PIN_LAYOUT_CACHE::TEXT_INFO::m_VAlign, TEXT_ATTRIBUTES::m_Valign, nonCached(), NONLOGIC, OUTPUT_LOW, PT_NC, radius, KIGFX::GAL::SetIsFill(), KIGFX::GAL::SetIsStroke(), KIGFX::GAL::SetLineWidth(), PIN_LAYOUT_CACHE::SetRenderParameters(), EESCHEMA_SETTINGS::APPEARANCE::show_hidden_pins, sign(), KIFONT::FONT::StringBoundaryLimits(), KIGFX::strokeText(), TARGET_PIN_RADIUS, triLine(), wxStringSplit(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
private |
Definition at line 1961 of file sch_painter.cpp.
References ARC, SEG::B, BEZIER, CalcArcCenter(), center, CIRCLE, CROSS_HATCH, KIGFX::eeconfig(), end, FILLED_SHAPE, FILLED_WITH_BG_BODYCOLOR, FILLED_WITH_COLOR, FIRST_TYPE, SCH_SHAPE::GetEffectiveLineStyle(), EDA_SHAPE::GetFillMode(), EDA_SHAPE::GetHatching(), getLineWidth(), getRenderColor(), SHAPE_SEGMENT::GetSeg(), EDA_SHAPE::GetShape(), HATCH, EDA_ITEM::IsBrightened(), SCH_ITEM::IsPrivate(), EDA_ITEM::IsSelected(), EDA_SHAPE::IsSolidFill(), isUnitAndConversionShown(), KiROUND(), LAYER_DEVICE, LAYER_DEVICE_BACKGROUND, LAYER_NOTES, LAYER_NOTES_BACKGROUND, LAYER_PRIVATE_NOTES, LAYER_RULE_AREAS, LAYER_SELECTION_SHADOWS, LAYER_SHAPES_BACKGROUND, KIGFX::PAINTER::m_gal, m_schSettings, SCH_SHAPE::MakeEffectiveShapes(), NO_FILL, EDA_ANGLE::Normalize180(), POLY, RECTANGLE, REVERSE_HATCH, STROKE_PARAMS::Stroke(), ROUNDRECT::TransformToPolygon(), and UNIMPLEMENTED_FOR.
|
private |
Definition at line 3212 of file sch_painter.cpp.
References KIGFX::GAL_SCOPED_ATTRS::ALL_ATTRS, center, DEFAULT_LINE_WIDTH_MILS, draw(), KIGFX::eeconfig(), SCH_SHEET::GetBodyBoundingBox(), SCH_SHEET::GetBoundingBox(), ADVANCED_CFG::GetCfg(), SCH_SHEET::GetDNP(), BOX2< Vec >::GetEnd(), SCH_SHEET::GetExcludedFromSim(), SCH_SHEET::GetFields(), getLineWidth(), BOX2< Vec >::GetOrigin(), SCH_SHEET::GetPins(), BOX2< Vec >::GetPosition(), SCH_SHEET::GetPosition(), getRenderColor(), SCH_SHEET::GetSize(), BOX2< Vec >::GetX(), BOX2< Vec >::GetY(), BOX2< Vec >::Inflate(), KIGFX::isFieldsLayer(), KiROUND(), LAYER_DNP_MARKER, LAYER_EXCLUDED_FROM_SIM, LAYER_SELECTION_SHADOWS, LAYER_SHEET, LAYER_SHEET_BACKGROUND, left, EESCHEMA_SETTINGS::m_Appearance, KIGFX::PAINTER::m_gal, m_schSettings, EESCHEMA_SETTINGS::APPEARANCE::mark_sim_exclusions, right, schIUScale, top(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
private |
Definition at line 2633 of file sch_painter.cpp.
References KIGFX::GAL_SCOPED_ATTRS::ALL_ATTRS, KIID::AsString(), center, EDA_ITEM::ClearFlags(), DEFAULT_LINE_WIDTH_MILS, draw(), KIGFX::eeconfig(), expandLibItemTextVars(), SCH_SYMBOL::GetBodyAndPinsBoundingBox(), SCH_SYMBOL::GetBodyBoundingBox(), SCH_ITEM::GetBodyStyle(), ADVANCED_CFG::GetCfg(), SCH_SYMBOL::GetDNP(), LIB_SYMBOL::GetDrawItems(), LIB_SYMBOL::GetDummy(), BOX2< Vec >::GetEnd(), SCH_SYMBOL::GetExcludedFromSim(), SCH_SYMBOL::GetFields(), EDA_ITEM::GetFlags(), LIB_SYMBOL::GetGraphicalPins(), SCH_SYMBOL::GetLibSymbolRef(), SCH_PIN::GetOperatingPoint(), SCH_SYMBOL::GetOrientation(), BOX2< Vec >::GetOrigin(), SCH_SYMBOL::GetPin(), BOX2< Vec >::GetPosition(), SCH_SYMBOL::GetPosition(), SCH_PIN::GetShape(), SCH_PIN::GetShownName(), EDA_TEXT::GetText(), SCH_PIN::GetType(), SCH_ITEM::GetUnit(), SCH_SYMBOL::GetUnitSelection(), BOX2< Vec >::GetX(), BOX2< Vec >::GetY(), EDA_TEXT::HasTextVars(), BOX2< Vec >::Inflate(), IS_DANGLING, EDA_ITEM::IsBrightened(), SCH_PIN::IsDangling(), KIGFX::isFieldsLayer(), EDA_ITEM::IsSelected(), KiROUND(), LAYER_DEVICE, LAYER_DNP_MARKER, LAYER_EXCLUDED_FROM_SIM, LAYER_SELECTION_SHADOWS, left, EESCHEMA_SETTINGS::m_Appearance, KIGFX::PAINTER::m_gal, m_schematic, m_schSettings, EDA_ITEM::m_Uuid, EESCHEMA_SETTINGS::APPEARANCE::mark_sim_exclusions, OrientAndMirrorSymbolItems(), right, SCH_TEXT_T, SCH_TEXTBOX_T, schIUScale, EDA_ITEM::SetFlags(), SCH_PIN::SetName(), SCH_PIN::SetOperatingPoint(), SCH_PIN::SetShape(), EDA_TEXT::SetText(), SCH_PIN::SetType(), top(), traceSchPainter, KIGFX::COLOR4D::WithAlpha(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
private |
Definition at line 2564 of file sch_painter.cpp.
References DEFAULT, draw(), SCH_TABLE::DrawBorders(), FIRST_TYPE, SCH_TABLE::GetCells(), STROKE_PARAMS::GetColor(), STROKE_PARAMS::GetLineStyle(), STROKE_PARAMS::GetWidth(), LAYER_NOTES, LAYER_SELECTION_SHADOWS, KIGFX::PAINTER::m_gal, m_schSettings, SOLID, STROKE_PARAMS::Stroke(), and KIGFX::COLOR4D::UNSPECIFIED.
|
private |
Definition at line 2176 of file sch_painter.cpp.
References ANGLE_0, ANGLE_90, ANGLE_VERTICAL, KIGFX::bitmapText(), BOX2< Vec >::Centre(), SCH_ITEM::Connection(), drawAnchor(), KIGFX::eeconfig(), EDA_TEXT::GetAttributes(), BOX2< Vec >::GetBottom(), SCH_TEXT::GetBoundingBox(), EDA_TEXT::GetDrawPos(), EDA_TEXT::GetDrawRotation(), BOX2< Vec >::GetEnd(), getFont(), SCH_ITEM::GetFontMetrics(), BOX2< Vec >::GetHeight(), SCH_ITEM::GetLayer(), BOX2< Vec >::GetLeft(), SCH_ITEM::GetParentSymbol(), BOX2< Vec >::GetPosition(), SCH_TEXT::GetPosition(), EDA_TEXT::GetRenderCache(), getRenderColor(), BOX2< Vec >::GetRight(), SCH_TEXT::GetSchematicTextOffset(), getShadowWidth(), SCH_TEXT::GetShownText(), EDA_TEXT::GetTextBox(), EDA_TEXT::GetTextSize(), getTextThickness(), BOX2< Vec >::GetTop(), GR_TEXT_H_ALIGN_CENTER, GR_TEXT_H_ALIGN_INDETERMINATE, GR_TEXT_H_ALIGN_LEFT, GR_TEXT_H_ALIGN_RIGHT, GR_TEXT_V_ALIGN_CENTER, BOX2< Vec >::Inflate(), IS_SHOWN_AS_BITMAP, EDA_ITEM::IsBrightened(), SCH_CONNECTION::IsBus(), SCH_ITEM::IsConnectivityDirty(), EDA_ITEM::IsForceVisible(), SCH_TEXT::IsHypertext(), EDA_ITEM::IsMoving(), KIFONT::FONT::IsOutline(), SCH_ITEM::IsPrivate(), EDA_ITEM::IsRollover(), EDA_ITEM::IsSelected(), isUnitAndConversionShown(), EDA_TEXT::IsVisible(), KiROUND(), LAYER_BUS, LAYER_DEVICE, LAYER_GLOBLABEL, LAYER_HIDDEN, LAYER_HIERLABEL, LAYER_HOVERED, LAYER_LOCLABEL, LAYER_NETCLASS_REFS, LAYER_NOTES, LAYER_SELECTION_SHADOWS, LAYER_SHEETLABEL, TEXT_ATTRIBUTES::m_Angle, KIGFX::PAINTER::m_gal, TEXT_ATTRIBUTES::m_Halign, m_schematic, m_schSettings, TEXT_ATTRIBUTES::m_StrokeWidth, TEXT_ATTRIBUTES::m_Underlined, TEXT_ATTRIBUTES::m_Valign, nonCached(), SCH_ITEM::RenderAsBitmap(), RotatePoint(), SCH_DIRECTIVE_LABEL_T, SCH_GLOBAL_LABEL_T, SCH_HIER_LABEL_T, SCH_LABEL_T, SCH_SHEET_PIN_T, SCH_TEXT_T, KIGFX::strokeText(), EDA_ITEM::Type(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
private |
Definition at line 2417 of file sch_painter.cpp.
References KIGFX::COLOR4D::a, KIGFX::COLOR4D::Desaturate(), FIRST_TYPE, EDA_TEXT::GetAttributes(), STROKE_PARAMS::GetColor(), SCH_TABLECELL::GetColSpan(), SCH_TEXTBOX::GetDrawPos(), EDA_TEXT::GetDrawRotation(), SCH_SHAPE::GetEffectiveLineStyle(), EDA_SHAPE::GetEnd(), getFont(), SCH_ITEM::GetFontMetrics(), KIGFX::VIEW_ITEM::GetForcedTransparency(), getLineWidth(), SCH_SHAPE::GetPosition(), EDA_TEXT::GetRenderCache(), getRenderColor(), SCH_TABLECELL::GetRowSpan(), SCH_TEXTBOX::GetShownText(), SCH_SHAPE::GetStroke(), getTextThickness(), EDA_ITEM::IsBrightened(), SCH_TEXTBOX::IsHypertext(), EDA_ITEM::IsMoving(), KIFONT::FONT::IsOutline(), SCH_ITEM::IsPrivate(), EDA_ITEM::IsRollover(), EDA_ITEM::IsSelected(), EDA_SHAPE::IsSolidFill(), isUnitAndConversionShown(), KiROUND(), LAYER_DEVICE, LAYER_DEVICE_BACKGROUND, LAYER_HOVERED, LAYER_NOTES, LAYER_NOTES_BACKGROUND, LAYER_PRIVATE_NOTES, LAYER_SCHEMATIC_BACKGROUND, LAYER_SELECTION_SHADOWS, LAYER_SHAPES_BACKGROUND, TEXT_ATTRIBUTES::m_Angle, KIGFX::PAINTER::m_gal, m_schSettings, TEXT_ATTRIBUTES::m_StrokeWidth, TEXT_ATTRIBUTES::m_Underlined, SCH_SHAPE::MakeEffectiveShapes(), KIGFX::COLOR4D::Mix(), SCH_TABLECELL_T, STROKE_PARAMS::Stroke(), KIGFX::strokeText(), EDA_ITEM::Type(), KIGFX::COLOR4D::UNSPECIFIED, and KIGFX::COLOR4D::WithAlpha().
|
private |
Draw anchor indicating the anchor position of text objects, local labels, or fields.
Definition at line 1683 of file sch_painter.cpp.
References MATRIX3x3< T >::GetScale(), getShadowWidth(), KiROUND(), LAYER_SCHEMATIC_ANCHOR, LAYER_SELECTION_SHADOWS, KIGFX::PAINTER::m_gal, m_schSettings, radius, schIUScale, TEXT_ANCHOR_SIZE, and VECTOR2< T >::x.
|
private |
Draw the target (an open square) for a wire or label which has no connection or is being moved.
Definition at line 1707 of file sch_painter.cpp.
References KIGFX::COLOR4D::Brightened(), DANGLING_SYMBOL_SIZE, getShadowWidth(), KIGFX::PAINTER::m_gal, m_schSettings, radius, schIUScale, and UNSELECTED_END_SIZE.
|
private |
Definition at line 231 of file sch_painter.cpp.
References EDA_ITEM::GetBoundingBox(), BOX2< Vec >::GetEnd(), BOX2< Vec >::GetOrigin(), EDA_ITEM::IsSelected(), KIGFX::PAINTER::m_gal, m_schSettings, SCH_SYMBOL_T, schIUScale, and EDA_ITEM::Type().
|
private |
Definition at line 3596 of file sch_painter.cpp.
References end, KiROUND(), KIGFX::PAINTER::m_gal, m_schSettings, and STROKE_PARAMS::Stroke().
Referenced by draw().
|
private |
Draw an local power pin indicator icon.
Definition at line 800 of file sch_painter.cpp.
References BEZIER, SCH_SYMBOL::BuildLocalPowerIconShape(), CIRCLE, getShadowWidth(), KIGFX::PAINTER::m_gal, and NO_FILL.
Referenced by draw().
|
private |
Definition at line 777 of file sch_painter.cpp.
References KIGFX::COLOR4D::Brightened(), CIRCLE::Center, PIN_LAYOUT_CACHE::GetDanglingIndicator(), SCH_PIN::GetLayoutCache(), getShadowWidth(), KIGFX::PAINTER::m_gal, m_schSettings, and CIRCLE::Radius.
Referenced by draw().
|
private |
Definition at line 2617 of file sch_painter.cpp.
References ExpandTextVars(), m_schematic, and SCH_SYMBOL::ResolveTextVar().
Referenced by draw().
|
private |
Definition at line 767 of file sch_painter.cpp.
References SCH_PIN::GetNumberTextSize(), and m_schSettings.
Referenced by draw().
|
private |
Definition at line 281 of file sch_painter.cpp.
References EDA_TEXT::GetDrawFont(), KIFONT::FONT::GetFont(), EDA_TEXT::IsBold(), EDA_TEXT::IsItalic(), and m_schSettings.
|
private |
Definition at line 492 of file sch_painter.cpp.
References DEFAULT_LINE_WIDTH_MILS, KIGFX::eeconfig(), g_ScaledSelectionTypes, SCH_ITEM::GetEffectivePenWidth(), getShadowWidth(), EESCHEMA_SETTINGS::SELECTION::highlight_netclass_colors_thickness, EDA_ITEM::IsBrightened(), EDA_ITEM::IsSelected(), SCH_ITEM::IsType(), m_schSettings, EESCHEMA_SETTINGS::m_Selection, and schIUScale.
Referenced by draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), and draw().
|
private |
Definition at line 556 of file sch_painter.cpp.
References std::abs(), KiROUND(), KIGFX::PAINTER::m_gal, and schIUScale.
|
private |
Definition at line 303 of file sch_painter.cpp.
References KIGFX::COLOR4D::a, CROSS_HATCH, KIGFX::COLOR4D::Darken(), KIGFX::COLOR4D::Desaturate(), FILLED_SHAPE, FILLED_WITH_BG_BODYCOLOR, FILLED_WITH_COLOR, SCH_SHEET::GetBackgroundColor(), SCH_SHEET::GetBorderColor(), STROKE_PARAMS::GetColor(), EDA_SHAPE::GetFillColor(), EDA_SHAPE::GetFillMode(), KIGFX::VIEW_ITEM::GetForcedTransparency(), SCH_LABEL_BASE::GetLabelColor(), SCH_ITEM::GetParentSymbol(), SCH_SHAPE::GetStroke(), EDA_TEXT::GetTextColor(), HATCH, EDA_ITEM::IsBrightened(), EDA_ITEM::IsSelected(), SCH_ITEM::IsType(), LAYER_BRIGHTENED, LAYER_DEVICE, LAYER_DEVICE_BACKGROUND, LAYER_NOTES, LAYER_NOTES_BACKGROUND, LAYER_RULE_AREAS, LAYER_SCHEMATIC_BACKGROUND, LAYER_SELECTION_SHADOWS, LAYER_SHAPES_BACKGROUND, LAYER_SHEET_BACKGROUND, m_schSettings, KIGFX::COLOR4D::Mix(), NO_FILL, REVERSE_HATCH, SCH_BUS_WIRE_ENTRY_T, SCH_FIELD_T, SCH_JUNCTION_T, SCH_LINE_T, SCH_RULE_AREA_T, SCH_SHAPE_T, SCH_SHEET_T, SCH_TABLECELL_T, SCH_TEXTBOX_T, EDA_ITEM::Type(), KIGFX::COLOR4D::UNSPECIFIED, and KIGFX::COLOR4D::WithAlpha().
Referenced by draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), and draw().
|
inlineoverridevirtual |
Return a pointer to current settings that are going to be used when drawing items.
Implements KIGFX::PAINTER.
Definition at line 77 of file sch_painter.h.
References m_schSettings.
|
private |
Definition at line 290 of file sch_painter.cpp.
References KIGFX::eeconfig(), MATRIX3x3< T >::GetScale(), EESCHEMA_SETTINGS::SELECTION::highlight_thickness, KIGFX::PAINTER::m_gal, EESCHEMA_SETTINGS::m_Selection, schIUScale, EESCHEMA_SETTINGS::SELECTION::selection_thickness, and VECTOR2< T >::x.
Referenced by draw(), draw(), draw(), draw(), drawAnchor(), drawDanglingIndicator(), drawLocalPowerIcon(), drawPinDanglingIndicator(), and getLineWidth().
|
private |
Definition at line 521 of file sch_painter.cpp.
References SCH_ITEM::GetClass(), m_schSettings, SCH_DIRECTIVE_LABEL_T, SCH_FIELD_T, SCH_GLOBAL_LABEL_T, SCH_HIER_LABEL_T, SCH_LABEL_T, SCH_SHEET_PIN_T, SCH_TABLECELL_T, SCH_TEXT_T, SCH_TEXTBOX_T, EDA_ITEM::Type(), and UNIMPLEMENTED_FOR.
|
private |
Definition at line 756 of file sch_painter.cpp.
References SCH_PIN::GetNameTextSize(), SCH_PIN::GetNumberTextSize(), and m_schSettings.
Referenced by draw().
|
private |
Definition at line 261 of file sch_painter.cpp.
References SCH_ITEM::GetBodyStyle(), SCH_ITEM::GetUnit(), and m_schSettings.
|
private |
Indicates the item is drawn on a non-cached layer in OpenGL.
Definition at line 253 of file sch_painter.cpp.
References EDA_ITEM::IsSelected().
|
inlineinherited |
|
inline |
Definition at line 79 of file sch_painter.h.
References m_schematic.
Referenced by SCH_EDIT_FRAME::SCH_EDIT_FRAME(), and SCH_EDIT_FRAME::SetSchematic().
|
private |
Definition at line 704 of file sch_painter.cpp.
References KIGFX::PAINTER::m_gal.
Referenced by draw().
|
static |
Definition at line 147 of file sch_painter.h.
Referenced by getLineWidth(), and SCH_BASE_FRAME::RefreshZoomDependentItems().
|
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().
|
private |
Definition at line 151 of file sch_painter.h.
Referenced by draw(), draw(), draw(), draw(), draw(), expandLibItemTextVars(), SCH_PAINTER(), and SetSchematic().
|
private |
Definition at line 150 of file sch_painter.h.
Referenced by draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), draw(), drawAnchor(), drawDanglingIndicator(), drawItemBoundingBox(), drawLine(), drawPinDanglingIndicator(), externalPinDecoSize(), getFont(), getLineWidth(), getRenderColor(), GetSettings(), getTextThickness(), internalPinDecoSize(), and isUnitAndConversionShown().