• Garth Corral's avatar
    - Changed mousewheel handling to pan more smoothly rather than in larger · 4b9db692
    Garth Corral authored
      steps to better support devices with precise scrolling deltas (trackpads).
      Scrolling is done in the handler rather than creating and firing cmd events.
      This is intended to support two-finger scrolling on the Magic Trackpad.
    - Added a preference, 'Use mousewheel to pan', to allow panning by default
      on mousewheel events.  This reverses the existing behavior where unmodified 
      mousewheel zooms and Shift/Cmd modified pans.  
    
      The old behavior was:
      - Unmodified scrollwheel performed zoom in/out
      - Shift modified scrollwheel performed pan up/down
      - Cmd modified scrollwheel performed pan left/right
      - Shift+Cmd modified scrollwheel performed zoom in/out
        with no cursor warp
    
      With the new preference checked, this changes to:
    
      - Unmodified scrollwheel performs pan up/down
      - Shift modified scrollwheel performs pan left/right
      - Cmd modified scrollwheel performs zoom in/out
      - Shift+Cmd modified scrollwheel performs zoom in/out
        with no cursor warp
    
      With the preference unchecked, this is now:
      - Unmodified scrollwheel performed zoom in/out
      - Shift modified scrollwheel performed pan left/right
      - Cmd modified scrollwheel performed pan up/down
      - Shift+Cmd modified scrollwheel performed zoom in/out
        with no cursor warp
    
      It should be noted that for the last case, the behavior has changed.
      This is not arbitrary.  This now matches expected behavior for an OS X
      application.  This also matches what wxWidgets expects on this platform
      as wxWidgets changes the axis of mousewheel events to horizontal when
      the event is shift-modified.
    
      The preference is added everwhere that mouse preferences previously
      existed, i.e., eeschema, pcbnew and gerbview.  The 3D Viewer does
      not yet honor this preference, but behaves as if it was checked.
      The pl_editor does not currently have any preferences to honor.
    
      As with the magnify event support, this covers canvases for all
      current tools, EDA_DRAW_PANEL, EDA_3D_CANVAS and EDA_DRAW_PANEL_GAL.
    
      This does NOT modify the behavior of mousewheel zooming, though it
      probably should.  This remains unsuitable for use with a trackpad,
      use pinch-to-zoom instead.
    4b9db692
wx_view_controls.cpp 10.9 KB