pcbnew: Fix polygon hittest
Previous version had minimum width to account for it being difficult to click on small lines. This should not be used for filled polygons Fixes: lp:1808141 * https://bugs.launchpad.net/kicad/+bug/1808141
This commit is contained in:
parent
4ff9d2f5e4
commit
5c5979dfc6
|
@ -640,17 +640,15 @@ bool DRAWSEGMENT::HitTest( const wxPoint& aPosition ) const
|
||||||
|
|
||||||
case S_POLYGON:
|
case S_POLYGON:
|
||||||
{
|
{
|
||||||
#define MAX_DIST_IN_MM 0.25
|
|
||||||
int distmax = std::max( m_Width, Millimeter2iu( MAX_DIST_IN_MM ) );
|
|
||||||
|
|
||||||
if( !IsPolygonFilled() )
|
if( !IsPolygonFilled() )
|
||||||
{
|
{
|
||||||
SHAPE_POLY_SET::VERTEX_INDEX i;
|
SHAPE_POLY_SET::VERTEX_INDEX i;
|
||||||
auto poly = m_Poly; //todo: Fix CollideEdge to be const
|
auto poly = m_Poly; //todo: Fix CollideEdge to be const
|
||||||
return poly.CollideEdge(VECTOR2I( aPosition ), i, distmax );
|
return poly.CollideEdge(VECTOR2I( aPosition ), i,
|
||||||
|
std::max( m_Width / 2, Millimeter2iu( 0.25 ) ) );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return m_Poly.Collide( VECTOR2I( aPosition ), distmax );
|
return m_Poly.Collide( VECTOR2I( aPosition ), m_Width / 2 );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue