diff --git a/common/gal/stroke_font.cpp b/common/gal/stroke_font.cpp index bf4b7a09bc..15dddf4d86 100644 --- a/common/gal/stroke_font.cpp +++ b/common/gal/stroke_font.cpp @@ -26,6 +26,7 @@ #include #include +#include using namespace KIGFX; @@ -142,7 +143,7 @@ BOX2D STROKE_FONT::computeBoundingBox( const GLYPH& aGLYPH, const VECTOR2D& aGLY } -void STROKE_FONT::Draw( std::wstring aText, const VECTOR2D& aPosition, double aRotationAngle ) +void STROKE_FONT::Draw( wxString aText, const VECTOR2D& aPosition, double aRotationAngle ) { // By default overbar is turned off m_overbar = false; @@ -154,14 +155,14 @@ void STROKE_FONT::Draw( std::wstring aText, const VECTOR2D& aPosition, double aR m_gal->Rotate( -aRotationAngle ); // Split multiline strings into separate ones and draw them line by line - size_t newlinePos = aText.find( '\n' ); + int newlinePos = aText.Find( '\n' ); - if( newlinePos != std::wstring::npos ) + if( newlinePos != wxNOT_FOUND ) { VECTOR2D nextlinePosition = VECTOR2D( 0.0, m_glyphSize.y * LINE_HEIGHT_RATIO ); - Draw( aText.substr( newlinePos + 1 ), nextlinePosition, 0.0 ); - aText = aText.substr( 0, newlinePos ); + Draw( aText.Mid( newlinePos + 1 ), nextlinePosition, 0.0 ); + aText = aText.Mid( 0, newlinePos ); } // Compute the text size @@ -233,7 +234,7 @@ void STROKE_FONT::Draw( std::wstring aText, const VECTOR2D& aPosition, double aR m_gal->SetLineWidth( m_gal->GetLineWidth() * 1.3 ); } - for( std::wstring::const_iterator chIt = aText.begin(); chIt != aText.end(); chIt++ ) + for( wxString::const_iterator chIt = aText.begin(); chIt != aText.end(); chIt++ ) { if( *chIt == '~' ) { @@ -292,11 +293,11 @@ void STROKE_FONT::Draw( std::wstring aText, const VECTOR2D& aPosition, double aR } -VECTOR2D STROKE_FONT::computeTextSize( const std::wstring& aText ) const +VECTOR2D STROKE_FONT::computeTextSize( const wxString& aText ) const { VECTOR2D result = VECTOR2D( 0.0, m_glyphSize.y ); - for( std::wstring::const_iterator chIt = aText.begin(); chIt != aText.end(); chIt++ ) + for( wxString::const_iterator chIt = aText.begin(); chIt != aText.end(); chIt++ ) { if( *chIt == '~' ) continue; diff --git a/include/gal/graphics_abstraction_layer.h b/include/gal/graphics_abstraction_layer.h index e5f35eb191..7745dfa172 100644 --- a/include/gal/graphics_abstraction_layer.h +++ b/include/gal/graphics_abstraction_layer.h @@ -277,7 +277,7 @@ public: * @param aPosition is the text position in world coordinates. * @param aRotationAngle is the text rotation angle. */ - inline virtual void StrokeText( const std::wstring& aText, const VECTOR2D& aPosition, + inline virtual void StrokeText( const wxString& aText, const VECTOR2D& aPosition, double aRotationAngle ) { strokeFont.Draw( aText, aPosition, aRotationAngle ); diff --git a/include/gal/stroke_font.h b/include/gal/stroke_font.h index 5ea5dc4fea..5caa4502f9 100644 --- a/include/gal/stroke_font.h +++ b/include/gal/stroke_font.h @@ -73,7 +73,7 @@ public: * @param aPosition is the text position in world coordinates. * @param aRotationAngle is the text rotation angle. */ - void Draw( std::wstring aText, const VECTOR2D& aPosition, double aRotationAngle ); + void Draw( wxString aText, const VECTOR2D& aPosition, double aRotationAngle ); /** * @brief Set the scale factor of the font for the glyph size. @@ -180,7 +180,7 @@ private: * @param aText is the text string. * @return is the text size. */ - VECTOR2D computeTextSize( const std::wstring& aText ) const; + VECTOR2D computeTextSize( const wxString& aText ) const; static const double LINE_HEIGHT_RATIO; }; diff --git a/pcbnew/pcb_painter.cpp b/pcbnew/pcb_painter.cpp index 5c06adbb85..902c21f991 100644 --- a/pcbnew/pcb_painter.cpp +++ b/pcbnew/pcb_painter.cpp @@ -719,7 +719,7 @@ void PCB_PAINTER::draw( const TEXTE_PCB* aText, int aLayer ) m_gal->SetStrokeColor( strokeColor ); m_gal->SetLineWidth( aText->GetThickness() ); m_gal->SetTextAttributes( aText ); - m_gal->StrokeText( std::wstring( aText->GetText().wc_str() ), position, orientation ); + m_gal->StrokeText( aText->GetText(), position, orientation ); } @@ -735,7 +735,7 @@ void PCB_PAINTER::draw( const TEXTE_MODULE* aText, int aLayer ) m_gal->SetStrokeColor( strokeColor ); m_gal->SetLineWidth( aText->GetThickness() ); m_gal->SetTextAttributes( aText ); - m_gal->StrokeText( std::wstring( aText->GetText().wc_str() ), position, orientation ); + m_gal->StrokeText( aText->GetText(), position, orientation ); }