Implementing boundingbox getters for WS_DRAW_ITEMs.
This commit is contained in:
parent
a6dee516fd
commit
ba4ba5b668
|
@ -152,6 +152,12 @@ void WS_DRAW_ITEM_TEXT::DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC, const wxPoint
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const EDA_RECT WS_DRAW_ITEM_TEXT::GetBoundingBox() const
|
||||||
|
{
|
||||||
|
return EDA_TEXT::GetTextBox( -1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
bool WS_DRAW_ITEM_TEXT::HitTest( const wxPoint& aPosition, int aAccuracy ) const
|
bool WS_DRAW_ITEM_TEXT::HitTest( const wxPoint& aPosition, int aAccuracy ) const
|
||||||
{
|
{
|
||||||
return EDA_TEXT::TextHitTest( aPosition, aAccuracy );
|
return EDA_TEXT::TextHitTest( aPosition, aAccuracy );
|
||||||
|
@ -198,6 +204,17 @@ void WS_DRAW_ITEM_POLYGON::DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC, const wxPo
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const EDA_RECT WS_DRAW_ITEM_POLYGON::GetBoundingBox() const
|
||||||
|
{
|
||||||
|
EDA_RECT rect( GetPosition(), wxSize( 0, 0 ) );
|
||||||
|
|
||||||
|
for( wxPoint corner : m_Corners )
|
||||||
|
rect.Merge( corner );
|
||||||
|
|
||||||
|
return rect;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
bool WS_DRAW_ITEM_POLYGON::HitTest( const wxPoint& aPosition, int aAccuracy ) const
|
bool WS_DRAW_ITEM_POLYGON::HitTest( const wxPoint& aPosition, int aAccuracy ) const
|
||||||
{
|
{
|
||||||
for( unsigned ii = 1; ii < m_Corners.size(); ii++ )
|
for( unsigned ii = 1; ii < m_Corners.size(); ii++ )
|
||||||
|
@ -261,6 +278,12 @@ void WS_DRAW_ITEM_RECT::DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC, const wxPoint
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const EDA_RECT WS_DRAW_ITEM_RECT::GetBoundingBox() const
|
||||||
|
{
|
||||||
|
return EDA_RECT( GetStart(), wxSize( GetEnd().x - GetStart().x, GetEnd().y - GetStart().y ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
bool WS_DRAW_ITEM_RECT::HitTest( const wxPoint& aPosition, int aAccuracy ) const
|
bool WS_DRAW_ITEM_RECT::HitTest( const wxPoint& aPosition, int aAccuracy ) const
|
||||||
{
|
{
|
||||||
int dist = aAccuracy + ( GetPenWidth() / 2 );
|
int dist = aAccuracy + ( GetPenWidth() / 2 );
|
||||||
|
@ -314,6 +337,12 @@ void WS_DRAW_ITEM_LINE::DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC, const wxPoint
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const EDA_RECT WS_DRAW_ITEM_LINE::GetBoundingBox() const
|
||||||
|
{
|
||||||
|
return EDA_RECT( GetStart(), wxSize( GetEnd().x - GetStart().x, GetEnd().y - GetStart().y ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
bool WS_DRAW_ITEM_LINE::HitTest( const wxPoint& aPosition, int aAccuracy ) const
|
bool WS_DRAW_ITEM_LINE::HitTest( const wxPoint& aPosition, int aAccuracy ) const
|
||||||
{
|
{
|
||||||
int mindist = aAccuracy + ( GetPenWidth() / 2 );
|
int mindist = aAccuracy + ( GetPenWidth() / 2 );
|
||||||
|
|
|
@ -130,10 +130,7 @@ public:
|
||||||
const wxPoint GetPosition() const override { return GetStart(); }
|
const wxPoint GetPosition() const override { return GetStart(); }
|
||||||
void SetPosition( wxPoint aPos ) override { SetStart( aPos ); }
|
void SetPosition( wxPoint aPos ) override { SetStart( aPos ); }
|
||||||
|
|
||||||
/** The function to draw a WS_DRAW_ITEM_LINE
|
const EDA_RECT GetBoundingBox() const override;
|
||||||
*/
|
|
||||||
void DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC, const wxPoint& aOffset, GR_DRAWMODE aDrawMode,
|
|
||||||
COLOR4D aColor ) override;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Virtual function
|
* Virtual function
|
||||||
|
@ -141,6 +138,11 @@ public:
|
||||||
*/
|
*/
|
||||||
bool HitTest( const wxPoint& aPosition, int aAccuracy = 0 ) const override;
|
bool HitTest( const wxPoint& aPosition, int aAccuracy = 0 ) const override;
|
||||||
|
|
||||||
|
/** The function to draw a WS_DRAW_ITEM_LINE
|
||||||
|
*/
|
||||||
|
void DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC, const wxPoint& aOffset, GR_DRAWMODE aDrawMode,
|
||||||
|
COLOR4D aColor ) override;
|
||||||
|
|
||||||
wxString GetSelectMenuText( EDA_UNITS_T aUnits ) const override;
|
wxString GetSelectMenuText( EDA_UNITS_T aUnits ) const override;
|
||||||
|
|
||||||
#if defined(DEBUG)
|
#if defined(DEBUG)
|
||||||
|
@ -177,10 +179,7 @@ public:
|
||||||
const wxPoint GetPosition() const override { return m_pos; }
|
const wxPoint GetPosition() const override { return m_pos; }
|
||||||
void SetPosition( wxPoint aPos ) override { m_pos = aPos; }
|
void SetPosition( wxPoint aPos ) override { m_pos = aPos; }
|
||||||
|
|
||||||
/** The function to draw a WS_DRAW_ITEM_POLYGON
|
const EDA_RECT GetBoundingBox() const override;
|
||||||
*/
|
|
||||||
void DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC, const wxPoint& aOffset, GR_DRAWMODE aDrawMode,
|
|
||||||
COLOR4D aColor ) override;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Virtual function
|
* Virtual function
|
||||||
|
@ -194,6 +193,11 @@ public:
|
||||||
*/
|
*/
|
||||||
bool HitTest( const EDA_RECT& aRect, bool aContained, int aAccuracy = 0 ) const override;
|
bool HitTest( const EDA_RECT& aRect, bool aContained, int aAccuracy = 0 ) const override;
|
||||||
|
|
||||||
|
/** The function to draw a WS_DRAW_ITEM_POLYGON
|
||||||
|
*/
|
||||||
|
void DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC, const wxPoint& aOffset, GR_DRAWMODE aDrawMode,
|
||||||
|
COLOR4D aColor ) override;
|
||||||
|
|
||||||
wxString GetSelectMenuText( EDA_UNITS_T aUnits ) const override;
|
wxString GetSelectMenuText( EDA_UNITS_T aUnits ) const override;
|
||||||
|
|
||||||
#if defined(DEBUG)
|
#if defined(DEBUG)
|
||||||
|
@ -234,6 +238,8 @@ public:
|
||||||
void DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC, const wxPoint& aOffset, GR_DRAWMODE aDrawMode,
|
void DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC, const wxPoint& aOffset, GR_DRAWMODE aDrawMode,
|
||||||
COLOR4D aColor ) override;
|
COLOR4D aColor ) override;
|
||||||
|
|
||||||
|
const EDA_RECT GetBoundingBox() const override;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Virtual function
|
* Virtual function
|
||||||
* return true if the point aPosition is on one edge of the rectangle
|
* return true if the point aPosition is on one edge of the rectangle
|
||||||
|
@ -283,6 +289,8 @@ public:
|
||||||
const wxPoint GetPosition() const override { return GetTextPos(); }
|
const wxPoint GetPosition() const override { return GetTextPos(); }
|
||||||
void SetPosition( wxPoint aPos ) override { SetTextPos( aPos ); }
|
void SetPosition( wxPoint aPos ) override { SetTextPos( aPos ); }
|
||||||
|
|
||||||
|
const EDA_RECT GetBoundingBox() const override;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Virtual function
|
* Virtual function
|
||||||
* return true if the point aPosition is inside one polygon
|
* return true if the point aPosition is inside one polygon
|
||||||
|
|
Loading…
Reference in New Issue