Commit 6601495c authored by charras's avatar charras
Browse files

Fixed mouse wheel not working if 3D frame under wxWidgets 2.9

parent 6eda97fb
Loading
Loading
Loading
Loading
+46 −49
Original line number Diff line number Diff line
/////////////////////////////////////////////////////////////////////////////
// Name:        3d_canvas.cpp
/////////////////////////////////////////////////////////////////////////////


#ifdef __GNUG__
#pragma implementation
#pragma interface
#endif

#include "fctsys.h"
#include "trigo.h"

@@ -35,8 +28,13 @@

BEGIN_EVENT_TABLE( Pcb3D_GLCanvas, wxGLCanvas )
    EVT_PAINT( Pcb3D_GLCanvas::OnPaint )
    // key event:
    EVT_CHAR( Pcb3D_GLCanvas::OnChar )
    EVT_MOUSE_EVENTS( Pcb3D_GLCanvas::OnMouseEvent )
    // mouse events
    EVT_RIGHT_DOWN( Pcb3D_GLCanvas::OnRightClick )
    EVT_MOUSEWHEEL( Pcb3D_GLCanvas::OnMouseWheel )
    EVT_MOTION( Pcb3D_GLCanvas::OnMouseMove )
    // other events
    EVT_ERASE_BACKGROUND( Pcb3D_GLCanvas::OnEraseBackground )
    EVT_MENU_RANGE( ID_POPUP_3D_VIEW_START, ID_POPUP_3D_VIEW_END,
                    Pcb3D_GLCanvas::OnPopUpMenu )
@@ -205,20 +203,10 @@ void Pcb3D_GLCanvas::SetView3D( int keycode )
    Refresh( FALSE );
}


void Pcb3D_GLCanvas::OnMouseEvent( wxMouseEvent& event )
void Pcb3D_GLCanvas::OnMouseWheel( wxMouseEvent& event )
{
    wxSize size( GetClientSize() );
    double spin_quat[4];


    if( event.RightDown() )
    {
        OnRightClick( event ); return;
    }

    if( event.m_wheelRotation )
    {
    if( event.ShiftDown() )
    {
        if( event.GetWheelRotation() < 0 )
@@ -258,8 +246,17 @@ void Pcb3D_GLCanvas::OnMouseEvent( wxMouseEvent& event )
        DisplayStatus();
        Refresh( FALSE );
    }

    g_Parm_3D_Visu.m_Beginx = event.GetX();
    g_Parm_3D_Visu.m_Beginy = event.GetY();
}


void Pcb3D_GLCanvas::OnMouseMove( wxMouseEvent& event )
{
    wxSize size( GetClientSize() );
    double spin_quat[4];

    if( event.Dragging() )
    {
        if( event.LeftIsDown() )
+2 −1
Original line number Diff line number Diff line
@@ -149,7 +149,8 @@ public:
    void   OnPaint( wxPaintEvent& event );
    void   OnEraseBackground( wxEraseEvent& event );
    void   OnChar( wxKeyEvent& event );
    void   OnMouseEvent( wxMouseEvent& event );
    void   OnMouseWheel( wxMouseEvent& event );
    void   OnMouseMove( wxMouseEvent& event );
    void   OnRightClick( wxMouseEvent& event );
    void   OnPopUpMenu( wxCommandEvent& event );
    void   TakeScreenshot( wxCommandEvent& event );