From cdf2b6950ea656aa2ec6fb5bd46251edb2b37542 Mon Sep 17 00:00:00 2001 From: jean-pierre charras Date: Thu, 9 Jun 2016 10:43:32 +0200 Subject: [PATCH] Legacy mode: Pan with mouse middle button fix an unwanted displacement of the drawings (half width of scroll bars) when starting the pan (due to a parameter (new reference position of scroll bars in IU) which was stored with an incorrect value) Minor enhancement during pan: the mouse cursor shape is modified. --- common/draw_frame.cpp | 5 +++-- common/draw_panel.cpp | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/common/draw_frame.cpp b/common/draw_frame.cpp index d6fcebdb52..b22c83e840 100644 --- a/common/draw_frame.cpp +++ b/common/draw_frame.cpp @@ -1035,10 +1035,11 @@ void EDA_DRAW_FRAME::AdjustScrollBars( const wxPoint& aCenterPositionIU ) double unitsX = virtualSizeIU.x * scale; double unitsY = virtualSizeIU.y * scale; + // Store the requested center position for later use + SetScrollCenterPosition( aCenterPositionIU ); + // Calculate the scroll bar position in internal units to place the // center position at the center of client rectangle. - SetScrollCenterPosition( centerPositionIU ); - double posX = centerPositionIU.x - clientRectIU.GetWidth() / 2.0 - screen->m_DrawOrg.x; double posY = centerPositionIU.y - clientRectIU.GetHeight() / 2.0 - screen->m_DrawOrg.y; diff --git a/common/draw_panel.cpp b/common/draw_panel.cpp index 75ebb7ad0b..f73e808112 100644 --- a/common/draw_panel.cpp +++ b/common/draw_panel.cpp @@ -1152,12 +1152,14 @@ void EDA_DRAW_PANEL::OnMouseEvent( wxMouseEvent& event ) INSTALL_UNBUFFERED_DC( dc, this ); CrossHairOff( &dc ); + SetCursor( wxCURSOR_SIZING ); } if( event.ButtonUp( wxMOUSE_BTN_MIDDLE ) && m_enableMiddleButtonPan ) { INSTALL_UNBUFFERED_DC( dc, this ); CrossHairOn( &dc ); + SetCursor( (wxStockCursor) m_currentCursor ); } if( event.MiddleIsDown() && m_enableMiddleButtonPan )