Index: src/core/SkBitmapProcState.h |
diff --git a/src/core/SkBitmapProcState.h b/src/core/SkBitmapProcState.h |
index 7d754fe5092b45936097f3e7f0dd42ec45bfe257..69de2ca86a7563c62ea24b6cd1df222f0887e9c0 100644 |
--- a/src/core/SkBitmapProcState.h |
+++ b/src/core/SkBitmapProcState.h |
@@ -11,6 +11,7 @@ |
#define SkBitmapProcState_DEFINED |
#include "SkBitmap.h" |
+#include "SkBitmapFilter.h" |
#include "SkMatrix.h" |
#define FractionalInt_IS_64BIT |
@@ -113,6 +114,8 @@ struct SkBitmapProcState { |
// are ignored |
ShaderProc32 getShaderProc32() const { return fShaderProc32; } |
ShaderProc16 getShaderProc16() const { return fShaderProc16; } |
+ |
+ SkBitmapFilter* getBitmapFilter() const { return fBitmapFilter; } |
#ifdef SK_DEBUG |
MatrixProc getMatrixProc() const; |
@@ -139,12 +142,11 @@ private: |
MatrixProc chooseMatrixProc(bool trivial_matrix); |
bool chooseProcs(const SkMatrix& inv, const SkPaint&); |
ShaderProc32 chooseShaderProc32(); |
+ |
+ void buildFilterCoefficients(SkFixed dst[4], float t) const; |
+ SkBitmapFilter *fBitmapFilter; |
- |
- /** test method for choosing a bicubic shading filter |
- */ |
- |
- ShaderProc32 chooseBicubicFilterProc(const SkPaint &paint); |
+ ShaderProc32 chooseBitmapFilterProc(const SkPaint &paint); |
// Return false if we failed to setup for fast translate (e.g. overflow) |
bool setupForTranslate(); |
@@ -200,4 +202,10 @@ void ClampX_ClampY_nofilter_affine(const SkBitmapProcState& s, |
void S32_D16_filter_DX(const SkBitmapProcState& s, |
const uint32_t* xy, int count, uint16_t* colors); |
+void highQualityFilter_ScaleOnly(const SkBitmapProcState &s, int x, int y, |
+ SkPMColor *SK_RESTRICT colors, int count); |
+void highQualityFilter(const SkBitmapProcState &s, int x, int y, |
+ SkPMColor *SK_RESTRICT colors, int count); |
+ |
+ |
#endif |