41    EDA_SHAPE( aShape, aLineWidth, aFillType )
 
 
  125    return hitTest( aPosition, aAccuracy );
 
 
  134    return hitTest( aRect, aContained, aAccuracy );
 
 
  145    for( 
SHAPE* shape : shapes )
 
  151            for( 
SHAPE* s : shapes )
 
  157    for( 
SHAPE* shape : shapes )
 
 
  198                      int aUnit, 
int aBodyStyle, 
const VECTOR2I& aOffset, 
bool aDimmed )
 
  209    static std::vector<VECTOR2I> ptList;
 
  311    aPlotter->
SetDash( pen_size, lineStyle );
 
  321        aPlotter->
Arc( start, mid, 
end, fill, pen_size );
 
  335        aPlotter->
PlotPoly( ptList, fill, pen_size, 
nullptr );
 
 
  383        return wxString::Format( 
_( 
"Arc, radius %s" ),
 
  387        return wxString::Format( 
_( 
"Circle, radius %s" ),
 
  391        return wxString::Format( 
_( 
"Rectangle, width %s height %s" ),
 
  396        return wxString::Format( 
_( 
"Polyline, %d points" ),
 
  397                                 int( 
m_poly.Outline( 0 ).GetPointCount() ) );
 
  400        return wxString::Format( 
_( 
"Bezier Curve, %d points" ),
 
  405        return wxEmptyString;
 
 
  430    std::vector<int> layers( 3 );
 
 
  459            m_poly.Outline( 0 ).SetClosed( 
false );
 
  462        m_poly.Outline( 0 ).Append( aPosition, 
true );
 
 
  502    int cmpFlags = aCompareFlags;
 
 
  541        if( fillEnum.
Choices().GetCount() == 0 )
 
  576        auto isSchematicItem =
 
  585        auto isFillColorEditable =
 
  590                        if( shape->GetParentSymbol() )
 
  593                            return shape->IsSolidFill();
 
  600                                      _HKI( 
"Position X" ), isPolygon );
 
  602                                      _HKI( 
"Position Y" ), isPolygon );
 
  605                                      _HKI( 
"Filled" ), isSchematicItem );
 
  608                                      _HKI( 
"Fill Color" ), isFillColorEditable );
 
  614                        fillModeSetter, fillModeGetter ),
 
  615                        _HKI( 
"Shape Properties" ) )
 
 
 
constexpr EDA_IU_SCALE schIUScale
 
BITMAPS
A list of all bitmap identifiers.
 
static const COLOR4D WHITE
 
static const COLOR4D UNSPECIFIED
For legacy support; used as a value to indicate color hasn't been set yet.
 
The base class for create windows for drawing purpose.
 
KICAD_T Type() const
Returns the type of object.
 
EDA_ITEM(EDA_ITEM *parent, KICAD_T idType, bool isSCH_ITEM=false, bool isBOARD_ITEM=false)
 
VECTOR2I getCenter() const
 
void rotate(const VECTOR2I &aRotCentre, const EDA_ANGLE &aAngle)
 
const SHAPE_POLY_SET & GetHatching() const
 
FILL_T GetFillMode() const
 
std::vector< VECTOR2I > GetPolyPoints() const
Duplicate the polygon outlines into a flat list of VECTOR2I points.
 
void ShapeGetMsgPanelInfo(EDA_DRAW_FRAME *aFrame, std::vector< MSG_PANEL_ITEM > &aList)
 
bool operator==(const EDA_SHAPE &aOther) const
 
bool IsHatchedFill() const
 
bool hitTest(const VECTOR2I &aPosition, int aAccuracy=0) const
 
void flip(const VECTOR2I &aCentre, FLIP_DIRECTION aFlipDirection)
 
EDA_SHAPE(SHAPE_T aType, int aLineWidth, FILL_T aFill)
 
const VECTOR2I & GetEnd() const
Return the ending point of the graphic.
 
const VECTOR2I & GetStart() const
Return the starting point of the graphic.
 
COLOR4D GetFillColor() const
 
void SwapShape(EDA_SHAPE *aImage)
 
std::vector< VECTOR2I > GetRectCorners() const
 
std::vector< VECTOR2I > m_bezierPoints
 
wxString SHAPE_T_asString() const
 
double Similarity(const EDA_SHAPE &aOther) const
 
const BOX2I getBoundingBox() const
 
int GetCornerRadius() const
 
void SetFillMode(FILL_T aFill)
 
int Compare(const EDA_SHAPE *aOther) const
 
VECTOR2I GetArcMid() const
 
ENUM_MAP & Map(T aValue, const wxString &aName)
 
static ENUM_MAP< T > & Instance()
 
Class that other classes need to inherit from, in order to be inspectable.
 
A color representation with 4 components: red, green, blue, alpha.
 
const COLOR4D & GetLayerColor(int aLayer) const
Return the color used to draw a layer.
 
Base plotter engine class.
 
virtual void Circle(const VECTOR2I &pos, int diametre, FILL_T fill, int width)=0
 
virtual void SetDash(int aLineWidth, LINE_STYLE aLineStyle)=0
 
virtual void Rect(const VECTOR2I &p1, const VECTOR2I &p2, FILL_T fill, int width, int aCornerRadius=0)=0
 
bool GetColorMode() const
 
virtual void SetCurrentLineWidth(int width, void *aData=nullptr)=0
Set the line width for the next drawing.
 
virtual void PlotPoly(const std::vector< VECTOR2I > &aCornerList, FILL_T aFill, int aWidth, void *aData)=0
Draw a polygon ( filled or not ).
 
virtual void SetColor(const COLOR4D &color)=0
 
virtual void Arc(const VECTOR2D &aStart, const VECTOR2D &aMid, const VECTOR2D &aEnd, FILL_T aFill, int aWidth)
 
PROPERTY_BASE & SetAvailableFunc(std::function< bool(INSPECTABLE *)> aFunc)
Set a callback function to determine whether an object provides this property.
 
Provide class metadata.Helper macro to map type hashes to names.
 
void InheritsAfter(TYPE_ID aDerived, TYPE_ID aBase)
Declare an inheritance relationship between types.
 
static PROPERTY_MANAGER & Instance()
 
PROPERTY_BASE & AddProperty(PROPERTY_BASE *aProperty, const wxString &aGroup=wxEmptyString)
Register a property.
 
void OverrideAvailability(TYPE_ID aDerived, TYPE_ID aBase, const wxString &aName, std::function< bool(INSPECTABLE *)> aFunc)
Sets an override availability functor for a base class property of a given derived class.
 
void OverrideWriteability(TYPE_ID aDerived, TYPE_ID aBase, const wxString &aName, std::function< bool(INSPECTABLE *)> aFunc)
Sets an override writeability functor for a base class property of a given derived class.
 
void AddTypeCast(TYPE_CAST_BASE *aCast)
Register a type converter.
 
Holds all the data relating to one schematic.
 
SCHEMATIC_SETTINGS & Settings() const
 
Base class for any item which can be embedded within the SCHEMATIC container class,...
 
void GetMsgPanelInfo(EDA_DRAW_FRAME *aFrame, std::vector< MSG_PANEL_ITEM > &aList) override
Populate aList of MSG_PANEL_ITEM objects with it's internal state for display purposes.
 
SCH_RENDER_SETTINGS * getRenderSettings(PLOTTER *aPlotter) const
 
const SYMBOL * GetParentSymbol() const
 
SCHEMATIC * Schematic() const
Search the item hierarchy to find a SCHEMATIC.
 
virtual bool operator==(const SCH_ITEM &aOther) const
 
void SetLayer(SCH_LAYER_ID aLayer)
 
virtual int compare(const SCH_ITEM &aOther, int aCompareFlags=0) const
Provide the draw object specific comparison called by the == and < operators.
 
SCH_ITEM(EDA_ITEM *aParent, KICAD_T aType, int aUnit=0, int aBodyStyle=0)
 
int GetEffectivePenWidth(const SCH_RENDER_SETTINGS *aSettings) const
 
double SimilarityBase(const SCH_ITEM &aItem) const
Calculate the boilerplate similarity for all LIB_ITEMs without preventing the use above of a pure vir...
 
VECTOR2I TransformCoordinate(const VECTOR2I &aPoint) const
 
const KIGFX::COLOR4D & GetBackgroundColor() const override
Return current background color settings.
 
void MirrorHorizontally(int aCenter) override
Mirror item horizontally about aCenter.
 
wxString GetItemDescription(UNITS_PROVIDER *aUnitsProvider, bool aFull) const override
Return a user-visible description string of this item.
 
std::vector< SHAPE * > MakeEffectiveShapes(bool aEdgeOnly=false) const override
Make a set of SHAPE objects representing the SCH_SHAPE.
 
void SetFilled(bool aFilled) override
 
void Move(const VECTOR2I &aOffset) override
Move the item by aMoveVector to a new position.
 
EDA_ITEM * Clone() const override
Create a duplicate of this item with linked list members set to NULL.
 
void SetStroke(const STROKE_PARAMS &aStroke) override
 
void swapData(SCH_ITEM *aItem) override
Swap the internal data structures aItem with the schematic item.
 
double Similarity(const SCH_ITEM &aOther) const override
Return a measure of how likely the other object is to represent the same object.
 
void Plot(PLOTTER *aPlotter, bool aBackground, const SCH_PLOT_OPTS &aPlotOpts, int aUnit, int aBodyStyle, const VECTOR2I &aOffset, bool aDimmed) override
Plot the item to aPlotter.
 
SCH_SHAPE(SHAPE_T aShape=SHAPE_T::UNDEFINED, SCH_LAYER_ID aLayer=LAYER_NOTES, int aLineWidth=0, FILL_T aFillType=FILL_T::NO_FILL, KICAD_T aType=SCH_SHAPE_T)
 
const BOX2I GetBoundingBox() const override
Return the orthogonal bounding box of this object for display purposes.
 
void MirrorVertically(int aCenter) override
Mirror item vertically about aCenter.
 
void GetMsgPanelInfo(EDA_DRAW_FRAME *aFrame, std::vector< MSG_PANEL_ITEM > &aList) override
Populate aList of MSG_PANEL_ITEM objects with it's internal state for display purposes.
 
void AddPoint(const VECTOR2I &aPosition)
 
BITMAPS GetMenuImage() const override
Return a pointer to an image to be used in menus.
 
bool HitTest(const VECTOR2I &aPosition, int aAccuracy=0) const override
Test if aPosition is inside or on the boundary of this item.
 
void Rotate(const VECTOR2I &aCenter, bool aRotateCCW) override
Rotate the item around aCenter 90 degrees in the clockwise direction.
 
bool operator==(const SCH_ITEM &aOther) const override
 
std::vector< int > ViewGetLayers() const override
Return the layers the item is drawn on (which may be more than its "home" layer)
 
int GetPenWidth() const override
 
bool IsEndPoint(const VECTOR2I &aPoint) const override
Test if aPt is an end point of this schematic object.
 
STROKE_PARAMS GetStroke() const override
 
VECTOR2I GetPosition() const override
 
int GetEffectiveWidth() const override
 
int compare(const SCH_ITEM &aOther, int aCompareFlags=0) const override
Provide the draw object specific comparison called by the == and < operators.
 
Represent a polyline containing arcs as well as line segments: A chain of connected line and/or arc s...
 
int OutlineCount() const
Return the number of outlines in the set.
 
An abstract shape on 2D plane.
 
Simple container to manage line stroke parameters.
 
LINE_STYLE GetLineStyle() const
 
KIGFX::COLOR4D GetColor() const
 
wxString MessageTextFromValue(double aValue, bool aAddUnitLabel=true, EDA_DATA_TYPE aType=EDA_DATA_TYPE::DISTANCE) const
A lower-precision version of StringFromValue().
 
#define DEFAULT_LINE_WIDTH_MILS
The default wire width in mils. (can be changed in preference menu)
 
static constexpr EDA_ANGLE ANGLE_90
 
static constexpr EDA_ANGLE ANGLE_270
 
#define STRUCT_DELETED
flag indication structures to be erased
 
#define SKIP_STRUCT
flag indicating that the structure should be ignored
 
@ RECTANGLE
Use RECTANGLE instead of RECT to avoid collision in a Windows header.
 
@ FILLED_WITH_BG_BODYCOLOR
 
@ FILLED_SHAPE
Fill with object color.
 
a few functions useful in geometry calculations.
 
SCH_LAYER_ID
Eeschema drawing layers.
 
@ LAYER_SHAPES_BACKGROUND
 
@ LAYER_DEVICE_BACKGROUND
 
@ LAYER_SELECTION_SHADOWS
 
This file contains miscellaneous commonly used macros and functions.
 
#define UNIMPLEMENTED_FOR(type)
 
@ LEFT_RIGHT
Flip left to right (around the Y axis)
 
@ TOP_BOTTOM
Flip top to bottom (around the X axis)
 
Message panel definition file.
 
bool ShapeHitTest(const SHAPE_LINE_CHAIN &aHitter, const SHAPE &aHittee, bool aHitteeContained)
Perform a shape-to-shape hit test.
 
EDA_ANGLE abs(const EDA_ANGLE &aAngle)
 
#define ENUM_TO_WXANY(type)
Macro to define read-only fields (no setter method available)
 
static struct SCH_SHAPE_DESC _SCH_SHAPE_DESC
 
LINE_STYLE
Dashed line types.
 
KICAD_T
The set of class identification values stored in EDA_ITEM::m_structType.
 
VECTOR2< int32_t > VECTOR2I