Commit 90dbf5a9 authored by Marco Mattila's avatar Marco Mattila
Browse files

Warp mouse pointer before redrawing. Helps with mouse wheel zooming.

parent 55f65292
Loading
Loading
Loading
Loading
+6 −5
Original line number Original line Diff line number Diff line
@@ -22,12 +22,12 @@ void EDA_DRAW_FRAME::RedrawScreen( const wxPoint& aCenterPoint, bool aWarpPointe
{
{
    AdjustScrollBars( aCenterPoint );
    AdjustScrollBars( aCenterPoint );


    DrawPanel->Refresh();
    // Move the mouse cursor to the on grid graphic cursor position
    DrawPanel->Update();

    /* Move the mouse cursor to the on grid graphic cursor position */
    if( aWarpPointer )
    if( aWarpPointer )
        DrawPanel->MoveCursorToCrossHair();
        DrawPanel->MoveCursorToCrossHair();

    DrawPanel->Refresh();
    DrawPanel->Update();
 }
 }




@@ -38,8 +38,10 @@ void EDA_DRAW_FRAME::Zoom_Automatique( bool aWarpPointer )
{
{
    BASE_SCREEN * screen = GetScreen();
    BASE_SCREEN * screen = GetScreen();
    screen->SetZoom( BestZoom() ); // Set the best zoom and get center point.
    screen->SetZoom( BestZoom() ); // Set the best zoom and get center point.

    if( screen->m_FirstRedraw )
    if( screen->m_FirstRedraw )
        screen->SetCrossHairPosition( screen->GetScrollCenterPosition() );
        screen->SetCrossHairPosition( screen->GetScrollCenterPosition() );

    RedrawScreen( screen->GetScrollCenterPosition(), aWarpPointer );
    RedrawScreen( screen->GetScrollCenterPosition(), aWarpPointer );
}
}


@@ -99,7 +101,6 @@ void EDA_DRAW_FRAME::OnZoom( wxCommandEvent& event )
        center = screen->GetCrossHairPosition();
        center = screen->GetCrossHairPosition();


    // fall thru
    // fall thru

    case ID_ZOOM_OUT:
    case ID_ZOOM_OUT:
        if( screen->SetNextZoom() )
        if( screen->SetNextZoom() )
            RedrawScreen( center, zoom_at_cursor );
            RedrawScreen( center, zoom_at_cursor );