Fixed wheel scroll event on Windows
This commit is contained in:
parent
1944fea398
commit
0a55a2b672
|
@ -61,6 +61,9 @@ CAIRO_GAL::CAIRO_GAL( wxWindow* aParent, wxEvtHandler* aMouseListener,
|
||||||
Connect( wxEVT_RIGHT_UP, wxMouseEventHandler( CAIRO_GAL::skipMouseEvent ) );
|
Connect( wxEVT_RIGHT_UP, wxMouseEventHandler( CAIRO_GAL::skipMouseEvent ) );
|
||||||
Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( CAIRO_GAL::skipMouseEvent ) );
|
Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( CAIRO_GAL::skipMouseEvent ) );
|
||||||
Connect( wxEVT_LEFT_UP, wxMouseEventHandler( CAIRO_GAL::skipMouseEvent ) );
|
Connect( wxEVT_LEFT_UP, wxMouseEventHandler( CAIRO_GAL::skipMouseEvent ) );
|
||||||
|
#if defined _WIN32 || defined _WIN64
|
||||||
|
Connect( wxEVT_ENTER_WINDOW, wxMouseEventHandler( CAIRO_GAL::skipMouseEvent ) );
|
||||||
|
#endif
|
||||||
|
|
||||||
// Initialize line attributes map
|
// Initialize line attributes map
|
||||||
lineCapMap[LINE_CAP_BUTT] = CAIRO_LINE_CAP_BUTT;
|
lineCapMap[LINE_CAP_BUTT] = CAIRO_LINE_CAP_BUTT;
|
||||||
|
|
|
@ -90,6 +90,9 @@ OPENGL_GAL::OPENGL_GAL( wxWindow* aParent, wxEvtHandler* aMouseListener,
|
||||||
Connect( wxEVT_RIGHT_UP, wxMouseEventHandler( OPENGL_GAL::skipMouseEvent ) );
|
Connect( wxEVT_RIGHT_UP, wxMouseEventHandler( OPENGL_GAL::skipMouseEvent ) );
|
||||||
Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( OPENGL_GAL::skipMouseEvent ) );
|
Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( OPENGL_GAL::skipMouseEvent ) );
|
||||||
Connect( wxEVT_LEFT_UP, wxMouseEventHandler( OPENGL_GAL::skipMouseEvent ) );
|
Connect( wxEVT_LEFT_UP, wxMouseEventHandler( OPENGL_GAL::skipMouseEvent ) );
|
||||||
|
#if defined _WIN32 || defined _WIN64
|
||||||
|
Connect( wxEVT_ENTER_WINDOW, wxMouseEventHandler( OPENGL_GAL::skipMouseEvent ) );
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -46,28 +46,30 @@ WX_VIEW_CONTROLS::WX_VIEW_CONTROLS( VIEW* aView, wxWindow* aParentPanel ) :
|
||||||
WX_VIEW_CONTROLS::onButton ), NULL, this );
|
WX_VIEW_CONTROLS::onButton ), NULL, this );
|
||||||
m_parentPanel->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler(
|
m_parentPanel->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler(
|
||||||
WX_VIEW_CONTROLS::onButton ), NULL, this );
|
WX_VIEW_CONTROLS::onButton ), NULL, this );
|
||||||
|
#if defined _WIN32 || defined _WIN64
|
||||||
|
m_parentPanel->Connect( wxEVT_ENTER_WINDOW, wxMouseEventHandler(
|
||||||
|
WX_VIEW_CONTROLS::onEnter ), NULL, this );
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void WX_VIEW_CONTROLS::onMotion( wxMouseEvent& event )
|
void WX_VIEW_CONTROLS::onMotion( wxMouseEvent& event )
|
||||||
{
|
{
|
||||||
VECTOR2D mousePoint( event.GetX(), event.GetY() );
|
// workaround for wxmsw..
|
||||||
|
//if( event.Entering() )
|
||||||
|
//m_parentPanel->SetFocus();
|
||||||
|
|
||||||
if( event.Dragging() )
|
if( event.Dragging() && m_isDragPanning )
|
||||||
{
|
{
|
||||||
if( m_isDragPanning )
|
VECTOR2D mousePoint( event.GetX(), event.GetY() );
|
||||||
{
|
VECTOR2D d = m_dragStartPoint - mousePoint;
|
||||||
VECTOR2D d = m_dragStartPoint - mousePoint;
|
VECTOR2D delta = m_view->ToWorld( d, false );
|
||||||
VECTOR2D delta = m_view->ToWorld( d, false );
|
|
||||||
|
|
||||||
m_view->SetCenter( m_lookStartPoint + delta );
|
m_view->SetCenter( m_lookStartPoint + delta );
|
||||||
m_parentPanel->Refresh();
|
m_parentPanel->Refresh();
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
event.Skip();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
event.Skip();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -117,6 +119,8 @@ void WX_VIEW_CONTROLS::onWheel( wxMouseEvent& event )
|
||||||
m_view->SetCenter( m_view->GetCenter() + delta );
|
m_view->SetCenter( m_view->GetCenter() + delta );
|
||||||
m_parentPanel->Refresh();
|
m_parentPanel->Refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
event.Skip();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -135,3 +139,9 @@ void WX_VIEW_CONTROLS::onButton( wxMouseEvent& event )
|
||||||
|
|
||||||
event.Skip();
|
event.Skip();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void WX_VIEW_CONTROLS::onEnter( wxMouseEvent& event )
|
||||||
|
{
|
||||||
|
m_parentPanel->SetFocus();
|
||||||
|
}
|
||||||
|
|
|
@ -54,6 +54,7 @@ public:
|
||||||
void onWheel( wxMouseEvent& event );
|
void onWheel( wxMouseEvent& event );
|
||||||
void onMotion( wxMouseEvent& event );
|
void onMotion( wxMouseEvent& event );
|
||||||
void onButton( wxMouseEvent& event );
|
void onButton( wxMouseEvent& event );
|
||||||
|
void onEnter( wxMouseEvent& event );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue