Added GAL_TYPE_NONE as an indicator of GAL uninitialized state.

This commit is contained in:
Maciej Suminski 2013-06-18 16:19:30 +02:00
parent e7b7e0e687
commit 876bf75d89
2 changed files with 9 additions and 5 deletions

View File

@ -51,9 +51,10 @@ EDA_DRAW_PANEL_GAL::EDA_DRAW_PANEL_GAL( wxWindow* aParentWindow, wxWindowID aWin
GalType aGalType ) : GalType aGalType ) :
wxWindow( aParentWindow, aWindowId, aPosition, aSize ) wxWindow( aParentWindow, aWindowId, aPosition, aSize )
{ {
m_gal = NULL; m_gal = NULL;
m_view = NULL; m_currentGal = GAL_TYPE_NONE;
m_painter = NULL; m_view = NULL;
m_painter = NULL;
wxStandardPaths paths; wxStandardPaths paths;
wxFileName executableFile( paths.GetExecutablePath() ); wxFileName executableFile( paths.GetExecutablePath() );
@ -158,8 +159,7 @@ void EDA_DRAW_PANEL_GAL::SwitchBackend( GalType aGalType, bool aUseShaders )
if( aGalType == m_currentGal && aUseShaders == m_useShaders && m_gal != NULL ) if( aGalType == m_currentGal && aUseShaders == m_useShaders && m_gal != NULL )
return; return;
if( m_gal ) delete m_gal;
delete m_gal;
switch( aGalType ) switch( aGalType )
{ {
@ -171,6 +171,9 @@ void EDA_DRAW_PANEL_GAL::SwitchBackend( GalType aGalType, bool aUseShaders )
case GAL_TYPE_CAIRO: case GAL_TYPE_CAIRO:
m_gal = new KiGfx::CAIRO_GAL( this, this, this ); m_gal = new KiGfx::CAIRO_GAL( this, this, this );
break; break;
case GAL_TYPE_NONE:
return;
} }
m_gal->SetWorldUnitLength( 1.0 / METRIC_UNIT_LENGTH * 2.54 ); // 1 inch in nanometers m_gal->SetWorldUnitLength( 1.0 / METRIC_UNIT_LENGTH * 2.54 ); // 1 inch in nanometers

View File

@ -50,6 +50,7 @@ class EDA_DRAW_PANEL_GAL : public wxWindow
{ {
public: public:
enum GalType { enum GalType {
GAL_TYPE_NONE, ///< Not used
GAL_TYPE_OPENGL, ///< OpenGL implementation GAL_TYPE_OPENGL, ///< OpenGL implementation
GAL_TYPE_CAIRO, ///< Cairo implementation GAL_TYPE_CAIRO, ///< Cairo implementation
}; };