Browse Source

Fix pin drawing after removal of upside-down coords.

fusion360
Jeff Young 1 year ago
parent
commit
352463dfeb
  1. 12
      eeschema/pin_type.h
  2. 5
      eeschema/sch_painter.cpp
  3. 20
      eeschema/sch_pin.cpp

12
eeschema/pin_type.h

@ -75,13 +75,11 @@ enum class GRAPHIC_PINSHAPE
* The symbol library pin object orientations.
*/
enum class PIN_ORIENTATION {
PIN_RIGHT = 'R',
PIN_LEFT = 'L',
PIN_UP = 'U',
PIN_DOWN = 'D',
LAST_OPTION = PIN_DOWN,
INHERIT = 'I'
PIN_RIGHT,
PIN_LEFT,
PIN_UP,
PIN_DOWN,
INHERIT
};

5
eeschema/sch_painter.cpp

@ -851,6 +851,11 @@ void SCH_PAINTER::drawPinDanglingIndicator( const VECTOR2I& aPos, const COLOR4D&
void SCH_PAINTER::draw( const SCH_PIN* aPin, int aLayer, bool aDimmed )
{
// Don't draw pins from a selection view-group. Pins in a schematic must always be drawn
// from their parent symbol's m_part.
if( dynamic_cast<const SCH_SYMBOL*>( aPin->GetParentSymbol() ) )
return;
if( !isUnitAndConversionShown( aPin ) )
return;

20
eeschema/sch_pin.cpp

@ -1487,28 +1487,28 @@ void SCH_PIN::Rotate( const VECTOR2I& aCenter, bool aRotateCCW )
{
if( aRotateCCW )
{
RotatePoint( m_position, aCenter, -ANGLE_90 );
RotatePoint( m_position, aCenter, ANGLE_90 );
switch( GetOrientation() )
{
default:
case PIN_ORIENTATION::PIN_RIGHT: m_orientation = PIN_ORIENTATION::PIN_DOWN; break;
case PIN_ORIENTATION::PIN_UP: m_orientation = PIN_ORIENTATION::PIN_RIGHT; break;
case PIN_ORIENTATION::PIN_LEFT: m_orientation = PIN_ORIENTATION::PIN_UP; break;
case PIN_ORIENTATION::PIN_DOWN: m_orientation = PIN_ORIENTATION::PIN_LEFT; break;
case PIN_ORIENTATION::PIN_RIGHT: m_orientation = PIN_ORIENTATION::PIN_UP; break;
case PIN_ORIENTATION::PIN_UP: m_orientation = PIN_ORIENTATION::PIN_LEFT; break;
case PIN_ORIENTATION::PIN_LEFT: m_orientation = PIN_ORIENTATION::PIN_DOWN; break;
case PIN_ORIENTATION::PIN_DOWN: m_orientation = PIN_ORIENTATION::PIN_RIGHT; break;
}
}
else
{
RotatePoint( m_position, aCenter, ANGLE_90 );
RotatePoint( m_position, aCenter, -ANGLE_90 );
switch( GetOrientation() )
{
default:
case PIN_ORIENTATION::PIN_RIGHT: m_orientation = PIN_ORIENTATION::PIN_UP; break;
case PIN_ORIENTATION::PIN_UP: m_orientation = PIN_ORIENTATION::PIN_LEFT; break;
case PIN_ORIENTATION::PIN_LEFT: m_orientation = PIN_ORIENTATION::PIN_DOWN; break;
case PIN_ORIENTATION::PIN_DOWN: m_orientation = PIN_ORIENTATION::PIN_RIGHT; break;
case PIN_ORIENTATION::PIN_RIGHT: m_orientation = PIN_ORIENTATION::PIN_DOWN; break;
case PIN_ORIENTATION::PIN_UP: m_orientation = PIN_ORIENTATION::PIN_RIGHT; break;
case PIN_ORIENTATION::PIN_LEFT: m_orientation = PIN_ORIENTATION::PIN_UP; break;
case PIN_ORIENTATION::PIN_DOWN: m_orientation = PIN_ORIENTATION::PIN_LEFT; break;
}
}
}

Loading…
Cancel
Save