Chromium Code Reviews| Index: src/core/SkLinearBitmapPipeline.cpp |
| diff --git a/src/core/SkLinearBitmapPipeline.cpp b/src/core/SkLinearBitmapPipeline.cpp |
| index 2090a1e436764f2c581b40d6b6f1444ec5d75fd7..347803cd300584f45956c33a6e770cde32210fb4 100644 |
| --- a/src/core/SkLinearBitmapPipeline.cpp |
| +++ b/src/core/SkLinearBitmapPipeline.cpp |
| @@ -423,7 +423,19 @@ public: |
| void pointSpan(Span span) override { |
| SkASSERT(!span.isEmpty()); |
| - span_fallback(span, fNext); |
| + SkPoint start; SkScalar length; int count; |
| + std::tie(start, length, count) = span; |
| + float dx = length / (count - 1); |
| + |
| + Sk4f Xs = Sk4f{X(start)} + Sk4f{-0.5f, 0.5f, -0.5f, 0.5f}; |
| + Sk4f Ys = Sk4f{Y(start)} + Sk4f{-0.5f, -0.5f, 0.5f, 0.5f}; |
| + |
| + Sk4f dXs{dx}; |
| + while (count > 0) { |
| + fNext->bilerpList(Xs, Ys); |
| + Xs = Xs + dXs; |
|
mtklein_C
2016/02/29 20:19:45
Xs = Xs + dx
herb_g
2016/02/29 20:57:40
Acknowledged.
|
| + count -= 1; |
| + } |
| } |
| private: |