/* Draw the BOARD, and others elements : axis, grid .. */ void PCB_EDIT_FRAME::RedrawActiveWindow( wxDC* DC, bool EraseBg ) { PCB_SCREEN* screen = GetScreen(); if( !GetBoard() || !screen ) return; GRSetDrawMode( DC, GR_COPY ); m_canvas->DrawBackGround( DC ); DrawWorkSheet( DC, GetScreen(), g_DrawDefaultLineThickness, IU_PER_MILS, GetBoard()->GetFileName() ); GetBoard()->Draw( m_canvas, DC, GR_OR | GR_ALLOW_HIGHCONTRAST ); DrawGeneralRatsnest( DC ); #ifdef USE_WX_OVERLAY if( IsShown() ) { m_overlay.Reset(); wxDCOverlay overlaydc( m_overlay, (wxWindowDC*) DC ); overlaydc.Clear(); } #endif if( m_canvas->IsMouseCaptured() ) m_canvas->CallMouseCapture( DC, wxDefaultPosition, false ); // Redraw the cursor m_canvas->DrawCrossHair( DC ); }
void FOOTPRINT_EDIT_FRAME::RedrawActiveWindow( wxDC* DC, bool EraseBg ) { PCB_SCREEN* screen = GetScreen(); if( !GetBoard() || !screen ) return; GRSetDrawMode( DC, GR_COPY ); m_canvas->DrawBackGround( DC ); DrawWorkSheet( DC, screen, 0, IU_PER_MILS, wxEmptyString ); // Redraw the footprints for( MODULE* module = GetBoard()->m_Modules; module; module = module->Next() ) module->Draw( m_canvas, DC, GR_OR | GR_ALLOW_HIGHCONTRAST ); #ifdef USE_WX_OVERLAY if( IsShown() ) { m_overlay.Reset(); wxDCOverlay overlaydc( m_overlay, (wxWindowDC*) DC ); overlaydc.Clear(); } #endif if( m_canvas->IsMouseCaptured() ) m_canvas->CallMouseCapture( DC, wxDefaultPosition, false ); // Redraw the cursor m_canvas->DrawCrossHair( DC ); }
void LIB_EDIT_FRAME::RedrawActiveWindow( wxDC* DC, bool EraseBg ) { if( GetScreen() == NULL ) return; m_canvas->DrawBackGround( DC ); RedrawComponent( DC, wxPoint( 0, 0 ) ); #ifdef USE_WX_OVERLAY if( IsShown() ) { m_overlay.Reset(); wxDCOverlay overlaydc( m_overlay, (wxWindowDC*)DC ); overlaydc.Clear(); } #endif if( m_canvas->IsMouseCaptured() ) m_canvas->CallMouseCapture( DC, wxDefaultPosition, false ); m_canvas->DrawCrossHair( DC ); DisplayLibInfos(); UpdateStatusBar(); }
/* * Redraws only the active window which is assumed to be whole visible. */ void SCH_EDIT_FRAME::RedrawActiveWindow( wxDC* DC, bool EraseBg ) { if( GetScreen() == NULL ) return; m_canvas->DrawBackGround( DC ); GetScreen()->Draw( m_canvas, DC, GR_DEFAULT_DRAWMODE ); DrawWorkSheet( DC, GetScreen(), GetDefaultLineThickness(), IU_PER_MILS, GetScreen()->GetFileName() ); #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() ) m_canvas->CallMouseCapture( DC, wxDefaultPosition, false ); m_canvas->DrawCrossHair( DC ); // Display the sheet filename, and the sheet path, for non root sheets UpdateTitle(); }
void PL_EDITOR_FRAME::RedrawActiveWindow( wxDC* aDC, bool aEraseBg ) { GetScreen()-> m_ScreenNumber = GetPageNumberOption() ? 1 : 2; if( aEraseBg ) m_canvas->EraseScreen( aDC ); m_canvas->DrawBackGround( aDC ); const WORKSHEET_LAYOUT& pglayout = WORKSHEET_LAYOUT::GetTheInstance(); WORKSHEET_DATAITEM* selecteditem = GetSelectedItem(); // the color to draw selected items if( GetDrawBgColor() == WHITE ) WORKSHEET_DATAITEM::m_SelectedColor = DARKCYAN; else WORKSHEET_DATAITEM::m_SelectedColor = YELLOW; for( unsigned ii = 0; ; ii++ ) { WORKSHEET_DATAITEM* item = pglayout.GetItem( ii ); if( item == NULL ) break; item->SetSelected( item == selecteditem ); } DrawWorkSheet( aDC, GetScreen(), 0, IU_PER_MILS, GetCurrFileName() ); #ifdef USE_WX_OVERLAY if( IsShown() ) { m_overlay.Reset(); wxDCOverlay overlaydc( m_overlay, (wxWindowDC*)aDC ); overlaydc.Clear(); } #endif if( m_canvas->IsMouseCaptured() ) m_canvas->CallMouseCapture( aDC, wxDefaultPosition, false ); m_canvas->DrawCrossHair( aDC ); // Display the filename UpdateTitleAndInfo(); }