Footprint editor: fix broken mirroring of custom pad shapes.
Fixes #8649 https://gitlab.com/kicad/code/kicad/issues/8649
This commit is contained in:
parent
b3c1e0330a
commit
c9cc824761
|
@ -377,7 +377,7 @@ public:
|
|||
wxString oldPath = aConfig->GetPath();
|
||||
NETCLASSES::const_iterator nc = m_Pt_param->begin();
|
||||
|
||||
for( int index = 0; index <= m_Pt_param->GetCount(); ++index )
|
||||
for( size_t index = 0; index <= m_Pt_param->GetCount(); ++index )
|
||||
{
|
||||
wxString path = "";
|
||||
NETCLASSPTR netclass;
|
||||
|
|
|
@ -481,15 +481,15 @@ void D_PAD::FlipPrimitives()
|
|||
}
|
||||
|
||||
|
||||
void D_PAD::MirrorXPrimitives( int aX )
|
||||
void D_PAD::MirrorXPrimitives()
|
||||
{
|
||||
// Mirror custom shapes
|
||||
for( unsigned ii = 0; ii < m_basicShapes.size(); ++ii )
|
||||
{
|
||||
PAD_CS_PRIMITIVE& primitive = m_basicShapes[ii];
|
||||
|
||||
MIRROR( primitive.m_Start.x, aX );
|
||||
MIRROR( primitive.m_End.x, aX );
|
||||
MIRROR( primitive.m_Start.x, 0 );
|
||||
MIRROR( primitive.m_End.x, 0 );
|
||||
primitive.m_ArcAngle = -primitive.m_ArcAngle;
|
||||
|
||||
switch( primitive.m_Shape )
|
||||
|
|
|
@ -336,11 +336,10 @@ public:
|
|||
void FlipPrimitives();
|
||||
|
||||
/**
|
||||
* Mirror the primitives about a coordinate
|
||||
*
|
||||
* @param aX the x coordinate about which to mirror
|
||||
* Mirror the primitives around the vertical axis. Primitive coordinates are
|
||||
* relative to the pad, and are not absolute
|
||||
*/
|
||||
void MirrorXPrimitives( int aX );
|
||||
void MirrorXPrimitives();
|
||||
|
||||
/**
|
||||
* Import to the basic shape list
|
||||
|
|
|
@ -761,7 +761,7 @@ static void mirrorPadX( D_PAD& aPad, const wxPoint& aMirrorPoint )
|
|||
wxPoint tmpPt = mirrorPointX( aPad.GetPosition(), aMirrorPoint );
|
||||
|
||||
if( aPad.GetShape() == PAD_SHAPE_CUSTOM )
|
||||
aPad.MirrorXPrimitives( tmpPt.x );
|
||||
aPad.MirrorXPrimitives();
|
||||
|
||||
aPad.SetPosition( tmpPt );
|
||||
|
||||
|
|
Loading…
Reference in New Issue