Index: src/core/SkLinearBitmapPipeline.h |
diff --git a/src/core/SkLinearBitmapPipeline.h b/src/core/SkLinearBitmapPipeline.h |
index f6875c6a96ce6815af09b3a3e6fb1a1ca919e956..ad1f148db3352f74303cffe57eadb4332f3750be 100644 |
--- a/src/core/SkLinearBitmapPipeline.h |
+++ b/src/core/SkLinearBitmapPipeline.h |
@@ -28,6 +28,11 @@ public: |
virtual void pointList4(Sk4fArg xs, Sk4fArg ys) = 0; |
}; |
+class BilerpProcessorInterface : public PointProcessorInterface { |
+public: |
+ virtual void bilerpList(Sk4fArg xs, Sk4fArg ys) = 0; |
+}; |
+ |
class PixelPlacerInterface { |
public: |
virtual ~PixelPlacerInterface() { } |
@@ -40,6 +45,7 @@ class SkLinearBitmapPipeline { |
public: |
SkLinearBitmapPipeline( |
const SkMatrix& inverse, |
+ SkFilterQuality filterQuality, |
SkShader::TileMode xTile, SkShader::TileMode yTile, |
const SkImageInfo& srcImageInfo, |
const void* srcImageData); |
@@ -73,13 +79,15 @@ public: |
}; |
using MatrixStage = PolymorphicUnion<PointProcessorInterface, 112>; |
- using TileStage = PolymorphicUnion<PointProcessorInterface, 96>; |
- using SampleStage = PolymorphicUnion<PointProcessorInterface, 80>; |
+ using FilterStage = PolymorphicUnion<PointProcessorInterface, 8>; |
+ using TileStage = PolymorphicUnion<BilerpProcessorInterface, 96>; |
+ using SampleStage = PolymorphicUnion<BilerpProcessorInterface, 80>; |
using PixelStage = PolymorphicUnion<PixelPlacerInterface, 80>; |
private: |
PointProcessorInterface* fFirstStage; |
MatrixStage fMatrixStage; |
+ FilterStage fFilterStage; |
TileStage fTileXOrBothStage; |
TileStage fTileYStage; |
SampleStage fSampleStage; |