fixing mouse problems during zoom (go back to the old version).
This commit is contained in:
parent
cfd868562e
commit
bf02bc4d64
|
@ -14,6 +14,7 @@
|
|||
#include "class_drawpanel.h"
|
||||
#include "class_base_screen.h"
|
||||
#include "wxstruct.h"
|
||||
#include "kicad_device_context.h"
|
||||
|
||||
/** Compute draw offset (scroll bars and draw parameters)
|
||||
* in order to have the current graphic cursor position at the screen center
|
||||
|
@ -27,14 +28,15 @@ void WinEDA_DrawFrame::Recadre_Trace( bool ToMouse )
|
|||
PutOnGrid( &(GetBaseScreen()->m_Curseur) );
|
||||
AdjustScrollBars();
|
||||
|
||||
DrawPanel->m_IgnoreMouseEvents = true;
|
||||
DrawPanel->Refresh(); // send OnPaint event
|
||||
|
||||
// wxSafeYield() is better here, but creates flicker under Linux
|
||||
// because it temporary disables menus and toolbars
|
||||
// TODO: find a better way to manage refresh screen and mouse move
|
||||
wxYield(); // needed to allow OnPaint event execution here
|
||||
DrawPanel->m_IgnoreMouseEvents = false;
|
||||
/* We do not use here DrawPanel->Refresh() because
|
||||
* the redraw is delayed and the mouse events (from MouseToCursorSchema ot others)
|
||||
* during this delay create problems: the mouse cursor position is false in calculations.
|
||||
* TODO: see exactly how the mouse creates problems when moving during refresh
|
||||
* use Refresh() and update() do not change problems
|
||||
*/
|
||||
INSTALL_DC(dc,DrawPanel);
|
||||
DrawPanel->ReDraw( &dc );
|
||||
|
||||
/* Move the mouse cursor to the on grid graphic cursor position */
|
||||
if( ToMouse == TRUE )
|
||||
|
|
Loading…
Reference in New Issue