From 251beb9e3a99ade380c9b6e6c95f895b3f99a606 Mon Sep 17 00:00:00 2001 From: spx Date: Sun, 30 Jan 2011 11:28:20 +0000 Subject: [PATCH] Fixed an issue that GradientAngle doesn't work correctly in some GradientAngle values when AntiAlias=0. --- Library/Meter.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Library/Meter.cpp b/Library/Meter.cpp index c55a52ec..b58375e0 100644 --- a/Library/Meter.cpp +++ b/Library/Meter.cpp @@ -827,8 +827,19 @@ bool CMeter::Draw(Graphics& graphics) } else { + if (!m_AntiAlias) + { + // Fix the tiling issue in some GradientAngle values + graphics.SetPixelOffsetMode(PixelOffsetModeHalf); + } + LinearGradientBrush gradient(r, m_SolidColor, m_SolidColor2, m_SolidAngle, TRUE); graphics.FillRectangle(&gradient, r); + + if (!m_AntiAlias) + { + graphics.SetPixelOffsetMode(PixelOffsetModeDefault); + } } }