Commit ab4cb862 authored by Maciej Suminski's avatar Maciej Suminski
Browse files

Solved refreshing issues.

parent f04df9d7
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -222,7 +222,7 @@ void DIALOG_PAGES_SETTINGS::OnOkClick( wxCommandEvent& event )
    if( SavePageSettings() )
    if( SavePageSettings() )
    {
    {
        m_screen->SetModify();
        m_screen->SetModify();
        m_parent->GetCanvas()->Refresh();
        m_parent->RefreshCanvas();


        if( m_localPrjConfigChanged )
        if( m_localPrjConfigChanged )
            m_parent->SaveProjectSettings( true );
            m_parent->SaveProjectSettings( true );
+2 −5
Original line number Original line Diff line number Diff line
@@ -235,12 +235,9 @@ void EDA_DRAW_FRAME::OnToggleGridState( wxCommandEvent& aEvent )
{
{
    SetGridVisibility( !IsGridVisible() );
    SetGridVisibility( !IsGridVisible() );
    if( m_galCanvasActive )
    if( m_galCanvasActive )
    {
        m_galCanvas->GetGAL()->SetGridVisibility( IsGridVisible() );
        m_galCanvas->GetGAL()->SetGridVisibility( IsGridVisible() );
        m_galCanvas->Refresh();

    }
    RefreshCanvas();
    else
        m_canvas->Refresh();
}
}




+1 −1
Original line number Original line Diff line number Diff line
@@ -915,7 +915,7 @@ void VIEW::RecacheAllItems( bool aImmediately )
            m_gal->SetLayerDepth( l->renderingOrder );
            m_gal->SetLayerDepth( l->renderingOrder );
            recacheLayer visitor( this, m_gal, l->id, aImmediately );
            recacheLayer visitor( this, m_gal, l->id, aImmediately );
            l->items->Query( r, visitor );
            l->items->Query( r, visitor );
            l->isDirty = false;
            l->isDirty = true;
        }
        }
    }
    }


+12 −16
Original line number Original line Diff line number Diff line
@@ -82,15 +82,9 @@ unsigned int VIEW_GROUP::GetSize() const


const BOX2I VIEW_GROUP::ViewBBox() const
const BOX2I VIEW_GROUP::ViewBBox() const
{
{
    BOX2I box;
    BOX2I maxBox;

    maxBox.SetMaximum();
    // Merge all bounding boxes, so the returned one contains all stored items
    return maxBox;
    BOOST_FOREACH( VIEW_ITEM* item, m_items )
    {
        box.Merge( item->ViewBBox() );
    }

    return box;
}
}




@@ -106,32 +100,34 @@ void VIEW_GROUP::ViewDraw( int aLayer, GAL* aGal, const BOX2I& aVisibleArea ) co
        m_view->SortLayers( layers, layers_count );
        m_view->SortLayers( layers, layers_count );


        for( int i = 0; i < layers_count; i++ )
        for( int i = 0; i < layers_count; i++ )
        {
            if( m_view->IsCached( layers[i] ) && m_view->IsLayerVisible( layers[i] ) )
            {
            {
                aGal->SetLayerDepth( m_view->GetLayerOrder( layers[i] ) );
                aGal->SetLayerDepth( m_view->GetLayerOrder( layers[i] ) );


                if( !painter->Draw( item, layers[i] ) )
                if( !painter->Draw( item, layers[i] ) )
                    item->ViewDraw( layers[i], aGal, aVisibleArea );  // Alternative drawing method
                    item->ViewDraw( layers[i], aGal, aVisibleArea );  // Alternative drawing method
            }
            }

        }
        /// m_view->Draw( item, true );
    }
    }
}
}




void VIEW_GROUP::ViewGetLayers( int aLayers[], int& aCount ) const
void VIEW_GROUP::ViewGetLayers( int aLayers[], int& aCount ) const
{
{
    // Everything is displayed on a single layer
    aLayers[0] = m_layer;
    aLayers[0] = m_layer;
    aCount = 1;
    aCount = 1;
}
}




void VIEW_GROUP::ViewUpdate( int aUpdateFlags, bool aForceImmediateRedraw )
/*void VIEW_GROUP::ViewUpdate( int aUpdateFlags, bool aForceImmediateRedraw )
{
{
    BOOST_FOREACH( VIEW_ITEM* item, m_items )
    BOOST_FOREACH( VIEW_ITEM* item, m_items )
    {
    {
        item->ViewUpdate( aUpdateFlags, aForceImmediateRedraw );
        item->ViewUpdate( aUpdateFlags, aForceImmediateRedraw );
    }
    }
}
}*/




void VIEW_GROUP::updateBbox()
void VIEW_GROUP::updateBbox()
+12 −3
Original line number Original line Diff line number Diff line
@@ -52,7 +52,7 @@ void EDA_DRAW_FRAME::RedrawScreen( const wxPoint& aCenterPoint, bool aWarpPointe
    if( aWarpPointer )
    if( aWarpPointer )
        m_canvas->MoveCursorToCrossHair();
        m_canvas->MoveCursorToCrossHair();


    m_canvas->Refresh();
    RefreshCanvas();
    m_canvas->Update();
    m_canvas->Update();
}
}


@@ -64,11 +64,20 @@ void EDA_DRAW_FRAME::RedrawScreen2( const wxPoint& posBefore )


    AdjustScrollBars( newCenter );
    AdjustScrollBars( newCenter );


    m_canvas->Refresh();
    RefreshCanvas();
    m_canvas->Update();
    m_canvas->Update();
}
}




void EDA_DRAW_FRAME::RefreshCanvas()
{
    if( m_galCanvasActive )
        m_galCanvas->Refresh();
    else
        m_canvas->Refresh();
}


void EDA_DRAW_FRAME::Zoom_Automatique( bool aWarpPointer )
void EDA_DRAW_FRAME::Zoom_Automatique( bool aWarpPointer )
{
{
    BASE_SCREEN* screen = GetScreen();
    BASE_SCREEN* screen = GetScreen();
@@ -160,7 +169,7 @@ void EDA_DRAW_FRAME::OnZoom( wxCommandEvent& event )
        break;
        break;


    case ID_ZOOM_REDRAW:
    case ID_ZOOM_REDRAW:
        m_canvas->Refresh();
        RefreshCanvas();
        break;
        break;


    case ID_POPUP_ZOOM_CENTER:
    case ID_POPUP_ZOOM_CENTER:
Loading