Gfx: Added support for TransformationMatrix and Angle (for String meters)

This commit is contained in:
Brian Ferguson
2013-04-05 02:35:20 -06:00
parent add778cfea
commit 59b3dea21c
7 changed files with 67 additions and 15 deletions

View File

@ -164,6 +164,7 @@ bool CMeterRotator::Draw(Gfx::Canvas& canvas)
// Calculate the rotation
REAL angle = (REAL)(CONVERT_TO_DEGREES(m_RotationAngle * m_Value + m_StartAngle));
// TODO: convert to Canvas: canvas.RotateTransform(angle, cx, cy, (REAL)-m_OffsetX, (REAL)-m_OffsetY);
graphics.TranslateTransform(cx, cy);
graphics.RotateTransform(angle);
graphics.TranslateTransform((REAL)-m_OffsetX, (REAL)-m_OffsetY);

View File

@ -542,9 +542,7 @@ bool CMeterString::DrawString(Gfx::Canvas& canvas, RectF* rect)
if (m_Angle != 0.0f)
{
canvas.TranslateTransform((Gdiplus::REAL)CMeter::GetX(), y);
canvas.RotateTransform(CONVERT_TO_DEGREES(m_Angle));
canvas.TranslateTransform(-(Gdiplus::REAL)CMeter::GetX(), -y);
canvas.RotateTransform(CONVERT_TO_DEGREES(m_Angle), x, y, -x, -y);
}
if (m_Effect != EFFECT_NONE)