Commit 342016b6 authored by Lorenzo Marcantonio's avatar Lorenzo Marcantonio
Browse files

Constification of HitTest and GetParent

In particular HitTest for zones *do not* select the nearest vertex/edge as a side effect
parent 19c184df
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -80,7 +80,7 @@ public:
    EDA_3D_CANVAS( EDA_3D_FRAME* parent, int* attribList = 0 );
    ~EDA_3D_CANVAS();

    EDA_3D_FRAME*   Parent() { return (EDA_3D_FRAME*)GetParent(); }
    EDA_3D_FRAME* Parent() const { return static_cast<EDA_3D_FRAME*>( GetParent() ); }

    BOARD* GetBoard() { return Parent()->GetBoard(); }

+1 −1
Original line number Diff line number Diff line
@@ -81,7 +81,7 @@ public:
        m_auimgr.UnInit();
    };

    PCB_BASE_FRAME* Parent() { return (PCB_BASE_FRAME*)GetParent(); }
    PCB_BASE_FRAME* Parent() const { return (PCB_BASE_FRAME*)GetParent(); }

    BOARD* GetBoard();

+1 −1
Original line number Diff line number Diff line
@@ -165,7 +165,7 @@ EDA_DRAW_PANEL::~EDA_DRAW_PANEL()
}


EDA_DRAW_FRAME* EDA_DRAW_PANEL::GetParent()
EDA_DRAW_FRAME* EDA_DRAW_PANEL::GetParent() const
{
    wxWindow* mom = wxScrolledWindow::GetParent();
    return (EDA_DRAW_FRAME*) mom;
+6 −6
Original line number Diff line number Diff line
@@ -192,7 +192,7 @@ void WS_DRAW_ITEM_TEXT::DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC )
}

// return true if the point aPosition is on the text
bool WS_DRAW_ITEM_TEXT::HitTest( const wxPoint& aPosition)
bool WS_DRAW_ITEM_TEXT::HitTest( const wxPoint& aPosition) const
{
    return EDA_TEXT::TextHitTest( aPosition, 0 );
}
@@ -221,7 +221,7 @@ void WS_DRAW_ITEM_POLYGON::DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC )

// return true if the point aPosition is inside one of polygons
#include <polygon_test_point_inside.h>
bool WS_DRAW_ITEM_POLYGON::HitTest( const wxPoint& aPosition)
bool WS_DRAW_ITEM_POLYGON::HitTest( const wxPoint& aPosition) const
{
    return TestPointInsidePolygon( &m_Corners[0],
                                   m_Corners.size(), aPosition );
@@ -249,7 +249,7 @@ void WS_DRAW_ITEM_RECT::DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC )
}

// return true if the point aPosition is on the rect outline
bool WS_DRAW_ITEM_RECT::HitTest( const wxPoint& aPosition)
bool WS_DRAW_ITEM_RECT::HitTest( const wxPoint& aPosition) const
{
    int dist =  GetPenWidth()/2;
    wxPoint start = GetStart();
@@ -316,7 +316,7 @@ void WS_DRAW_ITEM_LINE::DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC )
}

// return true if the point aPosition is on the text
bool WS_DRAW_ITEM_LINE::HitTest( const wxPoint& aPosition)
bool WS_DRAW_ITEM_LINE::HitTest( const wxPoint& aPosition) const
{
    return TestSegmentHit( aPosition, GetStart(), GetEnd(), GetPenWidth()/2 );
}
@@ -394,9 +394,9 @@ void WS_DRAW_ITEM_BITMAP::DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC )
 * Virtual function
 * return true if the point aPosition is on bitmap
 */
bool WS_DRAW_ITEM_BITMAP::HitTest( const wxPoint& aPosition)
bool WS_DRAW_ITEM_BITMAP::HitTest( const wxPoint& aPosition) const
{
    WORKSHEET_DATAITEM_BITMAP* parent = (WORKSHEET_DATAITEM_BITMAP*)GetParent();
    const WORKSHEET_DATAITEM_BITMAP* parent = static_cast<const WORKSHEET_DATAITEM_BITMAP*>( GetParent() );

    if( parent->m_ImageBitmap == NULL )
        return false;
+1 −1
Original line number Diff line number Diff line
@@ -52,7 +52,7 @@ public:
    int                      GetSelection();
    void                     OnSize( wxSizeEvent& event );

    virtual CVPCB_MAINFRAME* GetParent();
    virtual CVPCB_MAINFRAME* GetParent() const;
};


Loading