Commit a51dab73 authored by marco.'s avatar marco.
Browse files

MacOSX: Fix in eeschema component move

parent ebb85aa2
Loading
Loading
Loading
Loading
+13 −0
Original line number Original line Diff line number Diff line
@@ -72,6 +72,19 @@ void SCH_EDIT_FRAME::RedrawActiveWindow( wxDC* DC, bool EraseBg )


    TraceWorkSheet( DC, GetScreen(), g_DrawDefaultLineThickness );
    TraceWorkSheet( DC, GetScreen(), g_DrawDefaultLineThickness );


#ifdef USE_WX_OVERLAY
    if( IsShown() )
    {
        m_overlay.Reset();
        wxDCOverlay overlaydc( m_overlay, (wxWindowDC*)DC );
        overlaydc.Clear();
        /* TODO: Investigate why toolbars are affected - to be searched in wxWidgets */
        m_mainToolBar->Refresh();
        m_drawToolBar->Refresh();
        m_optionsToolBar->Refresh();
    }
#endif

    if( m_canvas->IsMouseCaptured() )
    if( m_canvas->IsMouseCaptured() )
        m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
        m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );


+2 −2
Original line number Original line Diff line number Diff line
@@ -125,7 +125,7 @@ void LIB_ITEM::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
        int  color = GetDefaultColor();
        int  color = GetDefaultColor();


        m_Fill = NO_FILL;
        m_Fill = NO_FILL;

#ifndef USE_WX_OVERLAY
        // Erase the old items using the previous attributes.
        // Erase the old items using the previous attributes.
        if( m_eraseLastDrawItem )
        if( m_eraseLastDrawItem )
        {
        {
@@ -133,7 +133,7 @@ void LIB_ITEM::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
            drawEditGraphics( aPanel->GetClipBox(), aDC, color );
            drawEditGraphics( aPanel->GetClipBox(), aDC, color );
            drawGraphic( aPanel, aDC, wxPoint( 0, 0 ), color, g_XorMode, aData, aTransform );
            drawGraphic( aPanel, aDC, wxPoint( 0, 0 ), color, g_XorMode, aData, aTransform );
        }
        }

#endif
        // Calculate the new attributes at the current cursor position.
        // Calculate the new attributes at the current cursor position.
        calcEdit( aOffset );
        calcEdit( aOffset );


+6 −1
Original line number Original line Diff line number Diff line
@@ -598,10 +598,12 @@ static void moveItem( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aPositio


    wxCHECK_RET( (item != NULL), wxT( "Cannot move invalid schematic item." ) );
    wxCHECK_RET( (item != NULL), wxT( "Cannot move invalid schematic item." ) );


#ifndef USE_WX_OVERLAY
    // Erase the current item at its current position.
    // Erase the current item at its current position.
    if( aErase )
    if( aErase )
        item->Draw( aPanel, aDC, wxPoint( 0, 0 ), g_XorMode );
        item->Draw( aPanel, aDC, wxPoint( 0, 0 ), g_XorMode );


#endif
    item->SetPosition( screen->GetCrossHairPosition() );
    item->SetPosition( screen->GetCrossHairPosition() );


    // Draw the item item at it's new position.
    // Draw the item item at it's new position.
@@ -671,7 +673,10 @@ void SCH_EDIT_FRAME::MoveItem( SCH_ITEM* aItem, wxDC* aDC )
    }
    }


    aItem->SetFlags( IS_MOVED );
    aItem->SetFlags( IS_MOVED );

#ifdef USE_WX_OVERLAY
    this->Refresh();
    this->Update();
#endif
    m_canvas->CrossHairOff( aDC );
    m_canvas->CrossHairOff( aDC );


    if( aItem->Type() != SCH_SHEET_PIN_T )
    if( aItem->Type() != SCH_SHEET_PIN_T )