28#ifndef EASYPC_SCH_ITEMS_H
29#define EASYPC_SCH_ITEMS_H
93 bool aKeepUpright =
false,
const wxString& aMeasured = wxEmptyString );
96 int aUnit = 0,
bool aKeepUpright =
false );
104 std::vector<const SOURCE_SYMBOL*>
Gates;
A mix-in class (via multiple inheritance) that handles texts such as labels, parts,...
A logical library item identifier and consists of various portions much like a URI.
Define a library symbol object.
SCH_LAYER_ID
Eeschema drawing layers.
GATE_TERMINAL ResolveTerminal(const SOURCE_PCB_COMPONENT *aPcb, int aGate, int aTerminal)
Terminal aTerminal (0-based) of gate aGate; formats before 9000 map a bare pad number,...
std::unique_ptr< SCH_TEXT > ConvertFreeText(const SOURCE_FREE_TEXT &aText, const SCH_FRAME &aFrame, SCH_LAYER_ID aLayer, int aUnit, bool aKeepUpright)
std::unique_ptr< LIB_SYMBOL > ConvertComponentSymbol(const SCH_COMPONENT_SOURCE &aSrc, const LIB_ID &aId)
One unit per gate in symbol-local coordinates, zero-length passive pins at the pads,...
bool DrawsUpright(const SOURCE_TEXT_POSITION &aPos, bool aKeepUpright)
True when a design that keeps text upright turns aPos about the far end of its first line.
std::vector< std::unique_ptr< SCH_SHAPE > > ConvertShape(const SOURCE_SHAPE &aShape, const SCH_FRAME &aFrame, SCH_LAYER_ID aLayer, int aStrokeWidth, bool aFilled, int aUnit)
Outline of a shape: polylines, arcs and circles; a filled outline with arcs is one polygon.
std::unique_ptr< LIB_SYMBOL > ConvertSymbol(const SOURCE_SYMBOL &aSymbol, const LIB_ID &aId)
A .ssl symbol alone: one unit, pins numbered by pad number.
std::vector< std::unique_ptr< SCH_SHAPE > > ConvertShapeItem(const SOURCE_SHAPE_ITEM &aItem, const SCH_FRAME &aFrame, SCH_LAYER_ID aLayer, int aUnit)
A shape item with its own line style and fill.
VECTOR2I TextSize(const SOURCE_TEXT_STYLE &aStyle)
KiCad text size for a source text style: its height as the width, its capital height as the height.
void ApplyTextPosition(EDA_TEXT &aText, const SOURCE_TEXT_POSITION &aPos, const SCH_FRAME &aFrame, bool aKeepUpright, const wxString &aMeasured)
Place any KiCad text as the source position says: anchor, angle, mirror, justification and style.
std::vector< const SOURCE_SEGMENT * > ShapeVertices(const SOURCE_SHAPE &aShape)
A shape's vertices in drawing order, following next references for formats 1 and 2.
What a package's gate map says about one gate terminal.
wxString Display
the number shown beside the pin, the part before '=' when there is one
wxString Number
KiCad pin number, stacked notation for a pad list.
Everything one component LIB_SYMBOL is made from.
std::vector< const SOURCE_SYMBOL * > Gates
symbol per gate; null leaves that unit empty
const SOURCE_SCM_COMPONENT * Schematic
wxArrayString FootprintFilters
const SOURCE_PCB_COMPONENT * Board
the package whose gate map numbers the pins
bool PinTexts
a placed part draws its pin texts from its pad instances
Design to KiCad mapping: X shifted, Y negated about the origin.
VECTOR2I Map(int64_t aX, int64_t aY) const
The package half of a component.
Footprints and schematic symbols alike.
VECTOR2< int32_t > VECTOR2I