m_matrixCurrent = m_graphicContext->CreateMatrix();
m_matrixCurrent.Translate( m_deviceOriginX, m_deviceOriginY );
m_matrixCurrent.Scale( m_scaleX, m_scaleY );
- m_matrixCurrent.Translate( m_logicalOriginX, m_logicalOriginY );
+ // the logical origin sets the origin to have new coordinates
+ m_matrixCurrent.Translate( -m_logicalOriginX, -m_logicalOriginY );
m_graphicContext->SetTransform( m_matrixOriginal );
m_graphicContext->ConcatTransform( m_matrixCurrent );
m_graphicContext->GetTextExtent( str, &w, &h, &d, &e );
if ( height )
- *height = h;
+ *height = (wxCoord)h;
if ( descent )
- *descent = d;
+ *descent = (wxCoord)d;
if ( externalLeading )
- *externalLeading =e;
+ *externalLeading = (wxCoord)e;
if ( width )
- *width = w;
+ *width = (wxCoord)w;
if ( theFont )
{