aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkEdge.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/SkEdge.cpp')
-rw-r--r--src/core/SkEdge.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/SkEdge.cpp b/src/core/SkEdge.cpp
index fff3dbcc6a..e646c4765f 100644
--- a/src/core/SkEdge.cpp
+++ b/src/core/SkEdge.cpp
@@ -72,8 +72,9 @@ int SkEdge::setLine(const SkPoint& p0, const SkPoint& p1, const SkIRect* clip,
}
SkFixed slope = SkFDot6Div(x1 - x0, y1 - y0);
+ const int dy = SkEdge_Compute_DY(top, y0);
- fX = SkFDot6ToFixed(x0 + SkFixedMul(slope, (32 - y0) & 63)); // + SK_Fixed1/2
+ fX = SkFDot6ToFixed(x0 + SkFixedMul(slope, dy)); // + SK_Fixed1/2
fDX = slope;
fFirstY = top;
fLastY = bot - 1;
@@ -112,8 +113,9 @@ int SkEdge::updateLine(SkFixed x0, SkFixed y0, SkFixed x1, SkFixed y1)
x1 >>= 10;
SkFixed slope = SkFDot6Div(x1 - x0, y1 - y0);
+ const int dy = SkEdge_Compute_DY(top, y0);
- fX = SkFDot6ToFixed(x0 + SkFixedMul(slope, (32 - y0) & 63)); // + SK_Fixed1/2
+ fX = SkFDot6ToFixed(x0 + SkFixedMul(slope, dy)); // + SK_Fixed1/2
fDX = slope;
fFirstY = top;
fLastY = bot - 1;