From 745625434286b138b57d714faa194fed2ef081d1 Mon Sep 17 00:00:00 2001 From: Neil Date: Fri, 20 Apr 2018 11:23:25 +1000 Subject: Backport: Use standard lround function and remove some casts. Backport of changeset 6715:6f2eebd823c8. --- src/Indicator.cxx | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/Indicator.cxx b/src/Indicator.cxx index 5e229039e..eff9b558e 100644 --- a/src/Indicator.cxx +++ b/src/Indicator.cxx @@ -5,6 +5,8 @@ // Copyright 1998-2001 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. +#include + #include #include #include @@ -21,8 +23,8 @@ using namespace Scintilla; static PRectangle PixelGridAlign(const PRectangle &rc) { // Move left and right side to nearest pixel to avoid blurry visuals - return PRectangle::FromInts(static_cast(rc.left + 0.5), static_cast(rc.top), - static_cast(rc.right + 0.5), static_cast(rc.bottom)); + return PRectangle::FromInts(lround(rc.left), static_cast(rc.top), + lround(rc.right), static_cast(rc.bottom)); } void Indicator::Draw(Surface *surface, const PRectangle &rc, const PRectangle &rcLine, const PRectangle &rcCharacter, DrawState drawState, int value) const { @@ -36,8 +38,8 @@ void Indicator::Draw(Surface *surface, const PRectangle &rc, const PRectangle &r surface->PenColour(sacDraw.fore); const int ymid = static_cast(rc.bottom + rc.top) / 2; if (sacDraw.style == INDIC_SQUIGGLE) { - int x = static_cast(rc.left+0.5); - const int xLast = static_cast(rc.right+0.5); + int x = lround(rc.left); + const int xLast = lround(rc.right); int y = 0; surface->MoveTo(x, static_cast(rc.top) + y); while (x < xLast) { @@ -175,7 +177,7 @@ void Indicator::Draw(Surface *surface, const PRectangle &rc, const PRectangle &r if (rcCharacter.Width() >= 0.1) { const int pixelHeight = static_cast(rc.Height() - 1.0f); // 1 pixel onto next line if multiphase const XYPOSITION x = (sacDraw.style == INDIC_POINT) ? (rcCharacter.left) : ((rcCharacter.right + rcCharacter.left) / 2); - const int ix = static_cast(x + 0.5f); + const int ix = lround(x); const int iy = static_cast(rc.top + 1.0f); Point pts[] = { Point::FromInts(ix - pixelHeight, iy + pixelHeight), // Left -- cgit v1.2.3