Loading common/gal/opengl/gpu_manager.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -111,7 +111,7 @@ void GPU_CACHED_MANAGER::BeginDrawing() { wxASSERT( !m_isDrawing ); if( m_container->isDirty() ) if( m_container->IsDirty() ) uploadToGpu(); // Number of vertices to be drawn in the EndDrawing() Loading common/gal/opengl/vertex_manager.cpp +8 −4 Original line number Diff line number Diff line Loading @@ -101,12 +101,14 @@ void VERTEX_MANAGER::ChangeItemColor( const VERTEX_ITEM& aItem, const COLOR4D& a VERTEX* vertex = m_container->GetVertices( offset ); for( unsigned int i = 0; i < size; ++i ) { vertex->r = aColor.r; vertex->g = aColor.g; vertex->b = aColor.b; vertex->a = aColor.a; vertex->r = aColor.r * 255.0; vertex->g = aColor.g * 255.0; vertex->b = aColor.b * 255.0; vertex->a = aColor.a * 255.0; vertex++; } m_container->SetDirty(); } Loading @@ -121,6 +123,8 @@ void VERTEX_MANAGER::ChangeItemDepth( const VERTEX_ITEM& aItem, GLfloat aDepth ) vertex->z = aDepth; vertex++; } m_container->SetDirty(); } Loading include/gal/opengl/vertex_container.h +11 −1 Original line number Diff line number Diff line Loading @@ -111,7 +111,7 @@ public: * returns information about container cache state. Clears the flag after calling the function. * @return true in case the vertices have to be reuploaded. */ inline bool isDirty() inline bool IsDirty() { bool state = m_dirty; Loading @@ -120,6 +120,16 @@ public: return state; } /** * Function SetDirty() * sets the dirty flag, so vertices in the container are going to be reuploaded to the GPU on * the next frame. */ inline void SetDirty() { m_dirty = true; } protected: VERTEX_CONTAINER( unsigned int aSize = defaultInitSize ); Loading pcbnew/basepcbframe.cpp +30 −39 Original line number Diff line number Diff line Loading @@ -182,45 +182,6 @@ void PCB_BASE_FRAME::SetBoard( BOARD* aBoard ) view->Add( zone ); } // Apply layer coloring scheme & display options if( view->GetPainter() ) { KiGfx::PCB_RENDER_SETTINGS* settings = new KiGfx::PCB_RENDER_SETTINGS(); // Load layers' colors from PCB data settings->ImportLegacyColors( m_Pcb->GetColorsSettings() ); view->GetPainter()->ApplySettings( settings ); // Load display options (such as filled/outline display of items) settings->LoadDisplayOptions( DisplayOpt ); } // Set rendering order of layers for( LAYER_NUM i = 0; i < sizeof(GalLayerOrder) / sizeof(LAYER_NUM); ++i ) { wxASSERT( i < KiGfx::VIEW::VIEW_MAX_LAYERS ); view->SetLayerOrder( GalLayerOrder[i], i ); } // Netnames are drawn only when scale is sufficient (level of details) // so there is no point in caching them for( LAYER_NUM layer = FIRST_NETNAME_LAYER; layer <= LAST_NETNAME_LAYER; ++layer ) { view->SetLayerTarget( layer, KiGfx::TARGET_NONCACHED ); } // Load layer & elements visibility settings for( LAYER_NUM i = 0; i < NB_LAYERS; ++i ) { view->SetLayerVisible( i, m_Pcb->IsLayerVisible( i ) ); } for( LAYER_NUM i = 0; i < END_PCB_VISIBLE_LIST; ++i ) { view->SetLayerVisible( ITEM_GAL_LAYER( i ), m_Pcb->IsElementVisible( i ) ); } view->RecacheAllItems( true ); if( m_galCanvasActive ) m_galCanvas->Refresh(); Loading Loading @@ -827,6 +788,36 @@ void PCB_BASE_FRAME::LoadSettings() if( m_DisplayModText < LINE || m_DisplayModText > SKETCH ) m_DisplayModText = FILLED; // Apply display settings for GAL KiGfx::VIEW* view = m_galCanvas->GetView(); // Set rendering order of layers for( LAYER_NUM i = 0; i < sizeof(GalLayerOrder) / sizeof(LAYER_NUM); ++i ) { wxASSERT( i < KiGfx::VIEW::VIEW_MAX_LAYERS ); view->SetLayerOrder( GalLayerOrder[i], i ); } // Netnames are drawn only when scale is sufficient (level of details) // so there is no point in caching them for( LAYER_NUM layer = FIRST_NETNAME_LAYER; layer <= LAST_NETNAME_LAYER; ++layer ) { view->SetLayerTarget( layer, KiGfx::TARGET_NONCACHED ); } // Apply layer coloring scheme & display options if( view->GetPainter() ) { KiGfx::PCB_RENDER_SETTINGS* settings = new KiGfx::PCB_RENDER_SETTINGS(); // Load layers' colors from PCB data settings->ImportLegacyColors( m_Pcb->GetColorsSettings() ); view->GetPainter()->ApplySettings( settings ); // Load display options (such as filled/outline display of items) settings->LoadDisplayOptions( DisplayOpt ); } // WxWidgets 2.9.1 seems call setlocale( LC_NUMERIC, "" ) // when reading doubles in config, // but forget to back to current locale. So we call SetLocaleTo_Default Loading pcbnew/initpcb.cpp +7 −1 Original line number Diff line number Diff line Loading @@ -4,6 +4,9 @@ #include <fctsys.h> #include <class_drawpanel.h> #include <class_drawpanel_gal.h> #include <view/view.h> #include <pcb_painter.h> #include <confirm.h> #include <wxPcbStruct.h> Loading Loading @@ -67,9 +70,12 @@ bool PCB_EDIT_FRAME::Clear_Pcb( bool aQuery ) // Default copper layers count set to 2: double layer board GetBoard()->SetCopperLayerCount( 2 ); // Update display: // Update display GetBoard()->SetVisibleLayers( ALL_LAYERS ); // Set currently selected layer to be shown in high contrast mode, when enabled` setHighContrastLayer( GetScreen()->m_Active_Layer ); ReFillLayerWidget(); Zoom_Automatique( false ); Loading Loading
common/gal/opengl/gpu_manager.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -111,7 +111,7 @@ void GPU_CACHED_MANAGER::BeginDrawing() { wxASSERT( !m_isDrawing ); if( m_container->isDirty() ) if( m_container->IsDirty() ) uploadToGpu(); // Number of vertices to be drawn in the EndDrawing() Loading
common/gal/opengl/vertex_manager.cpp +8 −4 Original line number Diff line number Diff line Loading @@ -101,12 +101,14 @@ void VERTEX_MANAGER::ChangeItemColor( const VERTEX_ITEM& aItem, const COLOR4D& a VERTEX* vertex = m_container->GetVertices( offset ); for( unsigned int i = 0; i < size; ++i ) { vertex->r = aColor.r; vertex->g = aColor.g; vertex->b = aColor.b; vertex->a = aColor.a; vertex->r = aColor.r * 255.0; vertex->g = aColor.g * 255.0; vertex->b = aColor.b * 255.0; vertex->a = aColor.a * 255.0; vertex++; } m_container->SetDirty(); } Loading @@ -121,6 +123,8 @@ void VERTEX_MANAGER::ChangeItemDepth( const VERTEX_ITEM& aItem, GLfloat aDepth ) vertex->z = aDepth; vertex++; } m_container->SetDirty(); } Loading
include/gal/opengl/vertex_container.h +11 −1 Original line number Diff line number Diff line Loading @@ -111,7 +111,7 @@ public: * returns information about container cache state. Clears the flag after calling the function. * @return true in case the vertices have to be reuploaded. */ inline bool isDirty() inline bool IsDirty() { bool state = m_dirty; Loading @@ -120,6 +120,16 @@ public: return state; } /** * Function SetDirty() * sets the dirty flag, so vertices in the container are going to be reuploaded to the GPU on * the next frame. */ inline void SetDirty() { m_dirty = true; } protected: VERTEX_CONTAINER( unsigned int aSize = defaultInitSize ); Loading
pcbnew/basepcbframe.cpp +30 −39 Original line number Diff line number Diff line Loading @@ -182,45 +182,6 @@ void PCB_BASE_FRAME::SetBoard( BOARD* aBoard ) view->Add( zone ); } // Apply layer coloring scheme & display options if( view->GetPainter() ) { KiGfx::PCB_RENDER_SETTINGS* settings = new KiGfx::PCB_RENDER_SETTINGS(); // Load layers' colors from PCB data settings->ImportLegacyColors( m_Pcb->GetColorsSettings() ); view->GetPainter()->ApplySettings( settings ); // Load display options (such as filled/outline display of items) settings->LoadDisplayOptions( DisplayOpt ); } // Set rendering order of layers for( LAYER_NUM i = 0; i < sizeof(GalLayerOrder) / sizeof(LAYER_NUM); ++i ) { wxASSERT( i < KiGfx::VIEW::VIEW_MAX_LAYERS ); view->SetLayerOrder( GalLayerOrder[i], i ); } // Netnames are drawn only when scale is sufficient (level of details) // so there is no point in caching them for( LAYER_NUM layer = FIRST_NETNAME_LAYER; layer <= LAST_NETNAME_LAYER; ++layer ) { view->SetLayerTarget( layer, KiGfx::TARGET_NONCACHED ); } // Load layer & elements visibility settings for( LAYER_NUM i = 0; i < NB_LAYERS; ++i ) { view->SetLayerVisible( i, m_Pcb->IsLayerVisible( i ) ); } for( LAYER_NUM i = 0; i < END_PCB_VISIBLE_LIST; ++i ) { view->SetLayerVisible( ITEM_GAL_LAYER( i ), m_Pcb->IsElementVisible( i ) ); } view->RecacheAllItems( true ); if( m_galCanvasActive ) m_galCanvas->Refresh(); Loading Loading @@ -827,6 +788,36 @@ void PCB_BASE_FRAME::LoadSettings() if( m_DisplayModText < LINE || m_DisplayModText > SKETCH ) m_DisplayModText = FILLED; // Apply display settings for GAL KiGfx::VIEW* view = m_galCanvas->GetView(); // Set rendering order of layers for( LAYER_NUM i = 0; i < sizeof(GalLayerOrder) / sizeof(LAYER_NUM); ++i ) { wxASSERT( i < KiGfx::VIEW::VIEW_MAX_LAYERS ); view->SetLayerOrder( GalLayerOrder[i], i ); } // Netnames are drawn only when scale is sufficient (level of details) // so there is no point in caching them for( LAYER_NUM layer = FIRST_NETNAME_LAYER; layer <= LAST_NETNAME_LAYER; ++layer ) { view->SetLayerTarget( layer, KiGfx::TARGET_NONCACHED ); } // Apply layer coloring scheme & display options if( view->GetPainter() ) { KiGfx::PCB_RENDER_SETTINGS* settings = new KiGfx::PCB_RENDER_SETTINGS(); // Load layers' colors from PCB data settings->ImportLegacyColors( m_Pcb->GetColorsSettings() ); view->GetPainter()->ApplySettings( settings ); // Load display options (such as filled/outline display of items) settings->LoadDisplayOptions( DisplayOpt ); } // WxWidgets 2.9.1 seems call setlocale( LC_NUMERIC, "" ) // when reading doubles in config, // but forget to back to current locale. So we call SetLocaleTo_Default Loading
pcbnew/initpcb.cpp +7 −1 Original line number Diff line number Diff line Loading @@ -4,6 +4,9 @@ #include <fctsys.h> #include <class_drawpanel.h> #include <class_drawpanel_gal.h> #include <view/view.h> #include <pcb_painter.h> #include <confirm.h> #include <wxPcbStruct.h> Loading Loading @@ -67,9 +70,12 @@ bool PCB_EDIT_FRAME::Clear_Pcb( bool aQuery ) // Default copper layers count set to 2: double layer board GetBoard()->SetCopperLayerCount( 2 ); // Update display: // Update display GetBoard()->SetVisibleLayers( ALL_LAYERS ); // Set currently selected layer to be shown in high contrast mode, when enabled` setHighContrastLayer( GetScreen()->m_Active_Layer ); ReFillLayerWidget(); Zoom_Automatique( false ); Loading