Made the various logical 2 device transforms consistent with what's drawn on all platforms

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53648 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2008-05-19 12:42:11 +00:00
parent 3b8b8024a0
commit d225267e66
4 changed files with 20 additions and 36 deletions

View File

@@ -363,11 +363,13 @@ void wxGCDCImpl::ComputeScaleAndOrigin()
if ( m_graphicContext )
{
m_matrixCurrent = m_graphicContext->CreateMatrix();
m_matrixCurrent.Translate( m_deviceOriginX, m_deviceOriginY );
m_matrixCurrent.Scale( m_scaleX, m_scaleY );
// the logical origin sets the origin to have new coordinates
m_matrixCurrent.Translate( -m_logicalOriginX, -m_logicalOriginY );
m_matrixCurrent.Translate( m_deviceOriginX - m_logicalOriginX * m_signX * m_scaleX,
m_deviceOriginY-m_logicalOriginY * m_signY * m_scaleY);
m_matrixCurrent.Scale( m_scaleX * m_signX, m_scaleY * m_signY );
m_graphicContext->SetTransform( m_matrixOriginal );
m_graphicContext->ConcatTransform( m_matrixCurrent );
}