diff options
| author | Romain Guy <romainguy@google.com> | 2010-09-20 17:53:08 -0700 |
|---|---|---|
| committer | Romain Guy <romainguy@google.com> | 2010-09-20 17:54:17 -0700 |
| commit | ee916f14cbd1fe1422c063ce2ef7b185e2bc5c6f (patch) | |
| tree | 4fd53bcd273d42fa1aebb064b18563aa293467b1 /libs/hwui/SkiaShader.h | |
| parent | b5ab4173e0927e4668a45298c9900cd8007584e1 (diff) | |
| download | frameworks_base-ee916f14cbd1fe1422c063ce2ef7b185e2bc5c6f.zip frameworks_base-ee916f14cbd1fe1422c063ce2ef7b185e2bc5c6f.tar.gz frameworks_base-ee916f14cbd1fe1422c063ce2ef7b185e2bc5c6f.tar.bz2 | |
Add support for SweepGradient in the GL renderer.
Change-Id: I7aa397ed4e34655ead9ba1f5b4ce087665e0f022
Diffstat (limited to 'libs/hwui/SkiaShader.h')
| -rw-r--r-- | libs/hwui/SkiaShader.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/libs/hwui/SkiaShader.h b/libs/hwui/SkiaShader.h index cc94ae6..b67bfee 100644 --- a/libs/hwui/SkiaShader.h +++ b/libs/hwui/SkiaShader.h @@ -145,6 +145,26 @@ private: }; // struct SkiaLinearGradientShader /** + * A shader that draws a sweep gradient. + */ +struct SkiaSweepGradientShader: public SkiaShader { + SkiaSweepGradientShader(float x, float y, uint32_t* colors, float* positions, int count, + SkShader* key, SkMatrix* matrix, bool blend); + ~SkiaSweepGradientShader(); + + void describe(ProgramDescription& description, const Extensions& extensions); + void setupProgram(Program* program, const mat4& modelView, const Snapshot& snapshot, + GLuint* textureUnit); + void updateTransforms(Program* program, const mat4& modelView, const Snapshot& snapshot); + +private: + float mX, mY; + uint32_t* mColors; + float* mPositions; + int mCount; +}; // struct SkiaSweepGradientShader + +/** * A shader that draws two shaders, composited with an xfermode. */ struct SkiaComposeShader: public SkiaShader { |
