diff options
Diffstat (limited to 'libs/hwui/DisplayListRenderer.h')
-rw-r--r-- | libs/hwui/DisplayListRenderer.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libs/hwui/DisplayListRenderer.h b/libs/hwui/DisplayListRenderer.h index ce4cfc5..6636de6 100644 --- a/libs/hwui/DisplayListRenderer.h +++ b/libs/hwui/DisplayListRenderer.h @@ -135,6 +135,10 @@ private: return (SkiaShader*) getInt(); } + SkiaColorFilter* getColorFilter() { + return (SkiaColorFilter*) getInt(); + } + inline int getIndex() { return mReader.readInt(); } @@ -183,6 +187,7 @@ private: Vector<SkBitmap*> mBitmapResources; Vector<SkiaShader*> mShaderResources; + Vector<SkiaColorFilter*> mFilterResources; Vector<SkPaint*> mPaints; Vector<SkMatrix*> mMatrices; @@ -276,6 +281,10 @@ public: return mMatrices; } + const Vector<SkiaColorFilter*>& getFilterResources() const { + return mFilterResources; + } + private: inline void addOp(DisplayList::Op drawOp) { mWriter.writeInt(drawOp); @@ -372,10 +381,18 @@ private: caches.resourceCache.incrementRefcount(shader); } + inline void addColorFilter(SkiaColorFilter* colorFilter) { + addInt((int)colorFilter); + mFilterResources.add(colorFilter); + Caches& caches = Caches::getInstance(); + caches.resourceCache.incrementRefcount(colorFilter); + } + SkChunkAlloc mHeap; Vector<SkBitmap*> mBitmapResources; Vector<SkiaShader*> mShaderResources; + Vector<SkiaColorFilter*> mFilterResources; Vector<SkPaint*> mPaints; DefaultKeyedVector<SkPaint *, SkPaint *> mPaintMap; |