summaryrefslogtreecommitdiffstats
path: root/libs/hwui/SkiaShader.h
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2010-09-20 17:53:08 -0700
committerRomain Guy <romainguy@google.com>2010-09-20 17:54:17 -0700
commitee916f14cbd1fe1422c063ce2ef7b185e2bc5c6f (patch)
tree4fd53bcd273d42fa1aebb064b18563aa293467b1 /libs/hwui/SkiaShader.h
parentb5ab4173e0927e4668a45298c9900cd8007584e1 (diff)
downloadframeworks_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.h20
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 {