| 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;
|
|
|