mirror of
https://github.com/chibicitiberiu/rainmeter-studio.git
synced 2024-02-24 04:33:31 +00:00
Gfx: Add GDI+ specific temporary solution for transformations
This commit is contained in:
parent
6f81e31f10
commit
349988e5dd
@ -57,6 +57,12 @@ public:
|
|||||||
|
|
||||||
virtual bool IsTransparentPixel(int x, int y) = 0;
|
virtual bool IsTransparentPixel(int x, int y) = 0;
|
||||||
|
|
||||||
|
// TODO: Implement proper solution.
|
||||||
|
virtual void SetTransform(const Gdiplus::Matrix& matrix) {}
|
||||||
|
virtual void ResetTransform() {}
|
||||||
|
virtual void RotateTransform(float angle) {}
|
||||||
|
virtual void TranslateTransform(float dx, float dy) {}
|
||||||
|
|
||||||
virtual void SetAntiAliasing(bool enable) = 0;
|
virtual void SetAntiAliasing(bool enable) = 0;
|
||||||
virtual void SetTextAntiAliasing(bool enable) = 0;
|
virtual void SetTextAntiAliasing(bool enable) = 0;
|
||||||
|
|
||||||
|
@ -128,6 +128,26 @@ bool CanvasGDIP::IsTransparentPixel(int x, int y)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CanvasGDIP::SetTransform(const Gdiplus::Matrix& matrix)
|
||||||
|
{
|
||||||
|
m_Graphics->SetTransform(&matrix);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CanvasGDIP::ResetTransform()
|
||||||
|
{
|
||||||
|
m_Graphics->ResetTransform();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CanvasGDIP::RotateTransform(float angle)
|
||||||
|
{
|
||||||
|
m_Graphics->RotateTransform(angle);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CanvasGDIP::TranslateTransform(float dx, float dy)
|
||||||
|
{
|
||||||
|
m_Graphics->TranslateTransform(dx, dy);
|
||||||
|
}
|
||||||
|
|
||||||
void CanvasGDIP::SetAntiAliasing(bool enable)
|
void CanvasGDIP::SetAntiAliasing(bool enable)
|
||||||
{
|
{
|
||||||
m_Graphics->SetSmoothingMode(
|
m_Graphics->SetSmoothingMode(
|
||||||
|
@ -48,6 +48,11 @@ public:
|
|||||||
|
|
||||||
virtual bool IsTransparentPixel(int x, int y) override;
|
virtual bool IsTransparentPixel(int x, int y) override;
|
||||||
|
|
||||||
|
virtual void SetTransform(const Gdiplus::Matrix& matrix) override;
|
||||||
|
virtual void ResetTransform() override;
|
||||||
|
virtual void RotateTransform(float angle) override;
|
||||||
|
virtual void TranslateTransform(float dx, float dy) override;
|
||||||
|
|
||||||
virtual void SetAntiAliasing(bool enable) override;
|
virtual void SetAntiAliasing(bool enable) override;
|
||||||
virtual void SetTextAntiAliasing(bool enable) override;
|
virtual void SetTextAntiAliasing(bool enable) override;
|
||||||
|
|
||||||
|
@ -542,10 +542,9 @@ bool CMeterString::DrawString(Gfx::Canvas& canvas, RectF* rect)
|
|||||||
|
|
||||||
if (m_Angle != 0.0f)
|
if (m_Angle != 0.0f)
|
||||||
{
|
{
|
||||||
// TODO FIXME
|
canvas.TranslateTransform((Gdiplus::REAL)CMeter::GetX(), y);
|
||||||
//graphics.TranslateTransform((Gdiplus::REAL)CMeter::GetX(), y);
|
canvas.RotateTransform(CONVERT_TO_DEGREES(m_Angle));
|
||||||
//graphics.RotateTransform(CONVERT_TO_DEGREES(m_Angle));
|
canvas.TranslateTransform(-(Gdiplus::REAL)CMeter::GetX(), -y);
|
||||||
//graphics.TranslateTransform(-(Gdiplus::REAL)CMeter::GetX(), -y);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_Effect != EFFECT_NONE)
|
if (m_Effect != EFFECT_NONE)
|
||||||
@ -576,8 +575,7 @@ bool CMeterString::DrawString(Gfx::Canvas& canvas, RectF* rect)
|
|||||||
|
|
||||||
if (m_Angle != 0.0f)
|
if (m_Angle != 0.0f)
|
||||||
{
|
{
|
||||||
// TODO FIXME
|
canvas.ResetTransform();
|
||||||
//graphics.ResetTransform();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2527,13 +2527,9 @@ void CMeterWindow::Redraw()
|
|||||||
const Matrix* matrix = (*j)->GetTransformationMatrix();
|
const Matrix* matrix = (*j)->GetTransformationMatrix();
|
||||||
if (matrix && !matrix->IsIdentity())
|
if (matrix && !matrix->IsIdentity())
|
||||||
{
|
{
|
||||||
// TODO FIXME: Change the world matrix
|
m_Canvas->SetTransform(*matrix);
|
||||||
//m_Canvas->GetGraphics().SetTransform(matrix);
|
|
||||||
|
|
||||||
(*j)->Draw(*m_Canvas);
|
(*j)->Draw(*m_Canvas);
|
||||||
|
m_Canvas->ResetTransform();
|
||||||
// TODO FIXME: Set back to identity matrix
|
|
||||||
//m_Canvas->GetGraphics().ResetTransform();
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user