void FOOTPRINT_EDIT_FRAME::OnSaveFootprintAsPng( wxCommandEvent& event ) { wxString fullFileName; LIB_ID id = GetLoadedFPID(); if( id.empty() ) { wxMessageBox( _( "No footprint selected." ) ); return; } wxFileName fn( id.GetLibItemName() ); fn.SetExt( "png" ); wxString projectPath = wxPathOnly( Prj().GetProjectFullName() ); wxFileDialog dlg( this, _( "Footprint Image File Name" ), projectPath, fn.GetFullName(), PngFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); if( dlg.ShowModal() == wxID_CANCEL || dlg.GetPath().IsEmpty() ) return; // calling wxYield is mandatory under Linux, after closing the file selector dialog // to refresh the screen before creating the PNG or JPEG image from screen wxYield(); saveCanvasImageToFile( dlg.GetPath() ); }
void SIM_PLOT_FRAME::menuSaveImage( wxCommandEvent& event ) { if( !CurrentPlot() ) return; wxFileDialog saveDlg( this, _( "Save Plot as Image" ), "", "", PngFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); if( saveDlg.ShowModal() == wxID_CANCEL ) return; CurrentPlot()->SaveScreenshot( saveDlg.GetPath(), wxBITMAP_TYPE_PNG ); }