Loading 3d-viewer/3d_canvas.cpp +12 −30 Original line number Diff line number Diff line Loading @@ -582,17 +582,7 @@ void Pcb3D_GLCanvas::TakeScreenshot( wxCommandEvent& event ) return; } Redraw( true ); wxSize image_size = GetClientSize(); #ifndef __WXMAC__ wxClientDC dc( this ); wxBitmap bitmap( image_size.x, image_size.y ); wxMemoryDC memdc; memdc.SelectObject( bitmap ); memdc.Blit( 0, 0, image_size.x, image_size.y, &dc, 0, 0 ); memdc.SelectObject( wxNullBitmap ); #else struct vieport_params { GLint originx; Loading @@ -601,6 +591,7 @@ void Pcb3D_GLCanvas::TakeScreenshot( wxCommandEvent& event ) GLint y; } viewport; // Build image from the 3D buffer wxWindowUpdateLocker noUpdates( this ); glGetIntegerv( GL_VIEWPORT, (GLint*) &viewport ); Loading @@ -610,27 +601,18 @@ void Pcb3D_GLCanvas::TakeScreenshot( wxCommandEvent& event ) glPixelStorei( GL_PACK_ALIGNMENT, 1 ); glReadBuffer( GL_BACK_LEFT ); glReadPixels( viewport.originx, viewport.originy, viewport.x, viewport.y, GL_RGB, GL_UNSIGNED_BYTE, pixelbuffer ); glReadPixels( viewport.originx, viewport.originy, viewport.x, viewport.y, GL_ALPHA, GL_UNSIGNED_BYTE, alphabuffer ); glReadPixels( viewport.originx, viewport.originy, viewport.x, viewport.y, GL_RGB, GL_UNSIGNED_BYTE, pixelbuffer ); glReadPixels( viewport.originx, viewport.originy, viewport.x, viewport.y, GL_ALPHA, GL_UNSIGNED_BYTE, alphabuffer ); image.SetData( pixelbuffer ); image.SetAlpha( alphabuffer ); image = image.Mirror( false ); wxBitmap bitmap( image ); #endif if( event.GetId() == ID_TOOL_SCREENCOPY_TOCLIBBOARD ) { Loading 3d-viewer/3d_read_mesh.cpp +2 −8 Original line number Diff line number Diff line Loading @@ -2,12 +2,6 @@ // Name: 3d_read_mesh.cpp ///////////////////////////////////////////////////////////////////////////// #ifdef __GNUG__ #pragma implementation #pragma interface #endif #include "fctsys.h" #include "common.h" #include "macros.h" Loading Loading @@ -417,7 +411,7 @@ int S3D_MASTER::ReadGeometry( FILE* file, int* LineNum ) int coord_number; double* buf_points = ReadCoordsList( file, line, &coord_number, LineNum ); continue; // Do something if needed free( buf_points ); continue; } Loading Loading @@ -445,7 +439,7 @@ int S3D_MASTER::ReadGeometry( FILE* file, int* LineNum ) int coord_number; double* buf_points = ReadCoordsList( file, line, &coord_number, LineNum ); continue; // Do something if needed free( buf_points ); continue; } Loading 3d-viewer/3d_toolbar.cpp +10 −3 Original line number Diff line number Diff line Loading @@ -104,9 +104,9 @@ void WinEDA3D_DrawFrame::ReCreateMenuBar() // If called from the display frame of cvpcb, only some options are // relevant if( m_Parent->m_FrameName == wxT( "CmpFrame" ) ) // Called from cvpcb ! full_options = false; // Do not display all // options if( m_Parent->m_FrameName == wxT( "CmpFrame" ) ) // Called from cvpcb: do not display all options full_options = false; wxMenuBar* menuBar = new wxMenuBar; Loading @@ -118,6 +118,13 @@ void WinEDA3D_DrawFrame::ReCreateMenuBar() _( "Create Image (png format)" ) ); fileMenu->Append( ID_MENU_SCREENCOPY_JPEG, _( "Create Image (jpeg format)" ) ); #if (defined(__WINDOWS__) || defined(__APPLE__ ) ) // Does not work properly under linux fileMenu->AppendSeparator(); fileMenu->Append( ID_TOOL_SCREENCOPY_TOCLIBBOARD, _( "Copy 3D Image to Clipboard" ) ); #endif fileMenu->AppendSeparator(); fileMenu->Append( wxID_EXIT, _( "&Exit" ) ); Loading Loading
3d-viewer/3d_canvas.cpp +12 −30 Original line number Diff line number Diff line Loading @@ -582,17 +582,7 @@ void Pcb3D_GLCanvas::TakeScreenshot( wxCommandEvent& event ) return; } Redraw( true ); wxSize image_size = GetClientSize(); #ifndef __WXMAC__ wxClientDC dc( this ); wxBitmap bitmap( image_size.x, image_size.y ); wxMemoryDC memdc; memdc.SelectObject( bitmap ); memdc.Blit( 0, 0, image_size.x, image_size.y, &dc, 0, 0 ); memdc.SelectObject( wxNullBitmap ); #else struct vieport_params { GLint originx; Loading @@ -601,6 +591,7 @@ void Pcb3D_GLCanvas::TakeScreenshot( wxCommandEvent& event ) GLint y; } viewport; // Build image from the 3D buffer wxWindowUpdateLocker noUpdates( this ); glGetIntegerv( GL_VIEWPORT, (GLint*) &viewport ); Loading @@ -610,27 +601,18 @@ void Pcb3D_GLCanvas::TakeScreenshot( wxCommandEvent& event ) glPixelStorei( GL_PACK_ALIGNMENT, 1 ); glReadBuffer( GL_BACK_LEFT ); glReadPixels( viewport.originx, viewport.originy, viewport.x, viewport.y, GL_RGB, GL_UNSIGNED_BYTE, pixelbuffer ); glReadPixels( viewport.originx, viewport.originy, viewport.x, viewport.y, GL_ALPHA, GL_UNSIGNED_BYTE, alphabuffer ); glReadPixels( viewport.originx, viewport.originy, viewport.x, viewport.y, GL_RGB, GL_UNSIGNED_BYTE, pixelbuffer ); glReadPixels( viewport.originx, viewport.originy, viewport.x, viewport.y, GL_ALPHA, GL_UNSIGNED_BYTE, alphabuffer ); image.SetData( pixelbuffer ); image.SetAlpha( alphabuffer ); image = image.Mirror( false ); wxBitmap bitmap( image ); #endif if( event.GetId() == ID_TOOL_SCREENCOPY_TOCLIBBOARD ) { Loading
3d-viewer/3d_read_mesh.cpp +2 −8 Original line number Diff line number Diff line Loading @@ -2,12 +2,6 @@ // Name: 3d_read_mesh.cpp ///////////////////////////////////////////////////////////////////////////// #ifdef __GNUG__ #pragma implementation #pragma interface #endif #include "fctsys.h" #include "common.h" #include "macros.h" Loading Loading @@ -417,7 +411,7 @@ int S3D_MASTER::ReadGeometry( FILE* file, int* LineNum ) int coord_number; double* buf_points = ReadCoordsList( file, line, &coord_number, LineNum ); continue; // Do something if needed free( buf_points ); continue; } Loading Loading @@ -445,7 +439,7 @@ int S3D_MASTER::ReadGeometry( FILE* file, int* LineNum ) int coord_number; double* buf_points = ReadCoordsList( file, line, &coord_number, LineNum ); continue; // Do something if needed free( buf_points ); continue; } Loading
3d-viewer/3d_toolbar.cpp +10 −3 Original line number Diff line number Diff line Loading @@ -104,9 +104,9 @@ void WinEDA3D_DrawFrame::ReCreateMenuBar() // If called from the display frame of cvpcb, only some options are // relevant if( m_Parent->m_FrameName == wxT( "CmpFrame" ) ) // Called from cvpcb ! full_options = false; // Do not display all // options if( m_Parent->m_FrameName == wxT( "CmpFrame" ) ) // Called from cvpcb: do not display all options full_options = false; wxMenuBar* menuBar = new wxMenuBar; Loading @@ -118,6 +118,13 @@ void WinEDA3D_DrawFrame::ReCreateMenuBar() _( "Create Image (png format)" ) ); fileMenu->Append( ID_MENU_SCREENCOPY_JPEG, _( "Create Image (jpeg format)" ) ); #if (defined(__WINDOWS__) || defined(__APPLE__ ) ) // Does not work properly under linux fileMenu->AppendSeparator(); fileMenu->Append( ID_TOOL_SCREENCOPY_TOCLIBBOARD, _( "Copy 3D Image to Clipboard" ) ); #endif fileMenu->AppendSeparator(); fileMenu->Append( wxID_EXIT, _( "&Exit" ) ); Loading