void PCB_LAYER_WIDGET::OnRenderColorChange( int aId, COLOR4D aColor ) { wxASSERT( aId > GAL_LAYER_ID_START && aId < GAL_LAYER_ID_END ); myframe->Settings().Colors().SetItemColor( static_cast<GAL_LAYER_ID>( aId ), aColor ); EDA_DRAW_PANEL_GAL* galCanvas = myframe->GetGalCanvas(); if( galCanvas && myframe->IsGalCanvasActive() ) { if( aId == LAYER_GRID ) galCanvas->GetGAL()->SetGridColor( aColor ); KIGFX::VIEW* view = galCanvas->GetView(); view->GetPainter()->GetSettings()->ImportLegacyColors( &myframe->Settings().Colors() ); view->MarkTargetDirty( KIGFX::TARGET_NONCACHED ); // useful to update rastnest view->UpdateLayerColor( aId ); // plated-through-holes don't have their own color; they use the background color if( aId == LAYER_PCB_BACKGROUND ) view->UpdateLayerColor( LAYER_PADS_PLATEDHOLES ); galCanvas->ForceRefresh(); } myframe->ReCreateHToolbar(); myframe->GetCanvas()->Refresh(); }
void PCB_LAYER_WIDGET::OnLayerColorChange( int aLayer, COLOR4D aColor ) { // Avoid setting the alpha channel, when we are in legacy mode, // because in legacy mode the alpha channel is not used, but changing it // destroys the GAL color setup if( !myframe->IsGalCanvasActive() ) { COLOR4D oldColor = myframe->Settings().Colors().GetLayerColor( aLayer ); aColor.a = oldColor.a; } myframe->Settings().Colors().SetLayerColor( aLayer, aColor ); if( myframe->IsGalCanvasActive() ) { KIGFX::VIEW* view = myframe->GetGalCanvas()->GetView(); view->GetPainter()->GetSettings()->ImportLegacyColors( &myframe->Settings().Colors() ); view->UpdateLayerColor( aLayer ); view->UpdateLayerColor( GetNetnameLayer( aLayer ) ); } myframe->ReCreateHToolbar(); myframe->GetCanvas()->Refresh(); if( aLayer == LAYER_PCB_BACKGROUND ) myframe->SetDrawBgColor( aColor ); }
void PCB_LAYER_WIDGET::OnLayerColorChange( int aLayer, EDA_COLOR_T aColor ) { myframe->GetBoard()->SetLayerColor( ToLAYER_ID( aLayer ), aColor ); if( myframe->IsGalCanvasActive() ) { KIGFX::VIEW* view = myframe->GetGalCanvas()->GetView(); view->GetPainter()->GetSettings()->ImportLegacyColors( myframe->GetBoard()->GetColorsSettings() ); view->UpdateLayerColor( aLayer ); } myframe->GetCanvas()->Refresh(); }
void GERBER_LAYER_WIDGET::OnLayerColorChange( int aLayer, COLOR4D aColor ) { // NOTE: Active layer in GerbView is stored as 0-indexed, but layer color is // stored according to the GERBER_DRAW_LAYER() offset. myframe->SetLayerColor( GERBER_DRAW_LAYER( aLayer ), aColor ); myframe->m_SelLayerBox->ResyncBitmapOnly(); if( myframe->IsGalCanvasActive() ) { KIGFX::VIEW* view = myframe->GetGalCanvas()->GetView(); view->GetPainter()->GetSettings()->ImportLegacyColors( myframe->m_colorsSettings ); view->UpdateLayerColor( GERBER_DRAW_LAYER( aLayer ) ); } myframe->GetCanvas()->Refresh(); }