Index: src/core/SkLinearBitmapPipeline.h |
diff --git a/src/core/SkLinearBitmapPipeline.h b/src/core/SkLinearBitmapPipeline.h |
index c65b7538aa3a2f6962ce11f6005e3c28553f81f8..3173417f0314f8205e5e3e34d5b05189e0a5068c 100644 |
--- a/src/core/SkLinearBitmapPipeline.h |
+++ b/src/core/SkLinearBitmapPipeline.h |
@@ -21,6 +21,7 @@ public: |
const SkMatrix& inverse, |
SkFilterQuality filterQuality, |
SkShader::TileMode xTile, SkShader::TileMode yTile, |
+ float postAlpha, |
const SkPixmap& srcPixmap); |
~SkLinearBitmapPipeline(); |
@@ -33,7 +34,7 @@ public: |
~PolymorphicUnion() { |
if (fIsInitialized) { |
- get()->~Base(); |
+ this->get()->~Base(); |
} |
} |
@@ -47,8 +48,8 @@ public: |
}; |
Base* get() const { return reinterpret_cast<Base*>(&fSpace); } |
- Base* operator->() const { return get(); } |
- Base& operator*() const { return *get(); } |
+ Base* operator->() const { return this->get(); } |
+ Base& operator*() const { return *(this->get()); } |
private: |
struct SK_STRUCT_ALIGN(16) Space { |
@@ -62,18 +63,15 @@ public: |
class BilerpProcessorInterface; |
class PixelPlacerInterface; |
- using MatrixStage = PolymorphicUnion<PointProcessorInterface, 112>; |
- using FilterStage = PolymorphicUnion<PointProcessorInterface, 8>; |
- using TileStage = PolymorphicUnion<BilerpProcessorInterface, 96>; |
+ using MatrixStage = PolymorphicUnion<PointProcessorInterface, 160>; |
reed1
2016/03/22 19:17:45
literal sizes are odd to look at.
herb_g
2016/03/22 20:26:57
Done.
|
+ using TileStage = PolymorphicUnion<PointProcessorInterface, 160>; |
using SampleStage = PolymorphicUnion<BilerpProcessorInterface, 80>; |
using PixelStage = PolymorphicUnion<PixelPlacerInterface, 80>; |
private: |
PointProcessorInterface* fFirstStage; |
MatrixStage fMatrixStage; |
- FilterStage fFilterStage; |
- TileStage fTileXOrBothStage; |
- TileStage fTileYStage; |
+ TileStage fTiler; |
SampleStage fSampleStage; |
PixelStage fPixelStage; |
}; |