Skip to content

Commit

Permalink
Fix 3d-viewer regressions introduced by touchpad-panning for non-touc…
Browse files Browse the repository at this point in the history
…hpad-panning.

* Fix broken horizontal scrolling with ctrl-wheel
* Restore previous step size
  • Loading branch information
bstegmaier75 authored and Wayne Stambaugh committed Feb 26, 2016
1 parent a9427f8 commit 0400088
Showing 1 changed file with 16 additions and 4 deletions.
20 changes: 16 additions & 4 deletions 3d-viewer/3d_canvas.cpp
Expand Up @@ -53,6 +53,9 @@
#include <textures/text_pcb.h>


static const double DELTA_MOVE_STEP = 0.7;


/*
* EDA_3D_CANVAS implementation
*/
Expand Down Expand Up @@ -168,7 +171,7 @@ void EDA_3D_CANVAS::OnChar( wxKeyEvent& event )
void EDA_3D_CANVAS::SetView3D( int keycode )
{
int ii;
double delta_move = 0.7 * GetPrm3DVisu().m_Zoom;
double delta_move = DELTA_MOVE_STEP * GetPrm3DVisu().m_Zoom;

switch( keycode )
{
Expand Down Expand Up @@ -283,19 +286,28 @@ void EDA_3D_CANVAS::SetView3D( int keycode )

void EDA_3D_CANVAS::OnMouseWheel( wxMouseEvent& event )
{
double delta = 0.05 * GetPrm3DVisu().m_Zoom * event.GetWheelRotation();
double delta = DELTA_MOVE_STEP * GetPrm3DVisu().m_Zoom;
if ( GetPrm3DVisu().GetFlag( FL_MOUSEWHEEL_PANNING ) )
delta *= 0.05 * event.GetWheelRotation();
else
if ( event.GetWheelRotation() < 0 )
delta = -delta;

if( event.ShiftDown() || GetPrm3DVisu().GetFlag( FL_MOUSEWHEEL_PANNING ) )
if( GetPrm3DVisu().GetFlag( FL_MOUSEWHEEL_PANNING ) )
{
if( event.GetWheelAxis() == wxMOUSE_WHEEL_HORIZONTAL )
m_draw3dOffset.x -= delta;
else
m_draw3dOffset.y -= delta;
}
else if( event.ControlDown() )
else if( event.ShiftDown() )
{
m_draw3dOffset.y -= delta;
}
else if( event.ControlDown() )
{
m_draw3dOffset.x += delta;
}
else
{
if( event.GetWheelRotation() > 0 )
Expand Down

0 comments on commit 0400088

Please sign in to comment.