Loading core/java/android/view/HardwareLayer.java +2 −3 Original line number Diff line number Diff line Loading @@ -66,8 +66,7 @@ final class HardwareLayer { * @see View#setLayerPaint(android.graphics.Paint) */ public void setLayerPaint(Paint paint) { nSetLayerPaint(mFinalizer.mDeferredUpdater, paint.mNativePaint, paint.getColorFilter() != null ? paint.getColorFilter().native_instance : 0); nSetLayerPaint(mFinalizer.mDeferredUpdater, paint.mNativePaint); } /** Loading Loading @@ -250,7 +249,7 @@ final class HardwareLayer { private static native void nDestroyLayerUpdater(long layerUpdater); private static native boolean nPrepare(long layerUpdater, int width, int height, boolean isOpaque); private static native void nSetLayerPaint(long layerUpdater, long paint, long colorFilter); private static native void nSetLayerPaint(long layerUpdater, long paint); private static native void nSetTransform(long layerUpdater, long matrix); private static native void nSetSurfaceTexture(long layerUpdater, SurfaceTexture surface, boolean isAlreadyAttached); Loading core/jni/android_view_HardwareLayer.cpp +2 −4 Original line number Diff line number Diff line Loading @@ -88,13 +88,11 @@ static jboolean android_view_HardwareLayer_prepare(JNIEnv* env, jobject clazz, } static void android_view_HardwareLayer_setLayerPaint(JNIEnv* env, jobject clazz, jlong layerUpdaterPtr, jlong paintPtr, jlong colorFilterPtr) { jlong layerUpdaterPtr, jlong paintPtr) { DeferredLayerUpdater* layer = reinterpret_cast<DeferredLayerUpdater*>(layerUpdaterPtr); if (layer) { SkPaint* paint = reinterpret_cast<SkPaint*>(paintPtr); SkColorFilter* colorFilter = reinterpret_cast<SkColorFilter*>(colorFilterPtr); layer->setPaint(paint); layer->setColorFilter(colorFilter); } } Loading Loading @@ -162,7 +160,7 @@ static JNINativeMethod gMethods[] = { { "nDestroyLayerUpdater", "(J)V", (void*) android_view_HardwareLayer_destroyLayerUpdater }, { "nPrepare", "(JIIZ)Z", (void*) android_view_HardwareLayer_prepare }, { "nSetLayerPaint", "(JJJ)V", (void*) android_view_HardwareLayer_setLayerPaint }, { "nSetLayerPaint", "(JJ)V", (void*) android_view_HardwareLayer_setLayerPaint }, { "nSetTransform", "(JJ)V", (void*) android_view_HardwareLayer_setTransform }, { "nSetSurfaceTexture", "(JLandroid/graphics/SurfaceTexture;Z)V", (void*) android_view_HardwareLayer_setSurfaceTexture }, Loading libs/hwui/DeferredLayerUpdater.cpp +7 −4 Original line number Diff line number Diff line Loading @@ -32,24 +32,26 @@ DeferredLayerUpdater::DeferredLayerUpdater(Layer* layer, OpenGLRenderer* rendere , mRenderer(renderer) , mCaches(Caches::getInstance()) { mCaches.resourceCache.incrementRefcount(mLayer); SkRefCnt_SafeAssign(mColorFilter, mLayer->getColorFilter()); mWidth = mLayer->layer.getWidth(); mHeight = mLayer->layer.getHeight(); mBlend = mLayer->isBlend(); mColorFilter = mLayer->getColorFilter(); mAlpha = mLayer->getAlpha(); mMode = mLayer->getMode(); mDirtyRect.setEmpty(); } DeferredLayerUpdater::~DeferredLayerUpdater() { setColorFilter(NULL); SkSafeUnref(mColorFilter); if (mLayer) { mCaches.resourceCache.decrementRefcount(mLayer); } delete mRenderer; } void DeferredLayerUpdater::setColorFilter(SkColorFilter* colorFilter) { void DeferredLayerUpdater::setPaint(const SkPaint* paint) { OpenGLRenderer::getAlphaAndModeDirect(paint, &mAlpha, &mMode); SkColorFilter* colorFilter = (paint) ? paint->getColorFilter() : NULL; SkRefCnt_SafeAssign(mColorFilter, colorFilter); } Loading Loading @@ -136,9 +138,10 @@ void DeferredLayerUpdater::applyDeferred(DeferredLayerUpdater* deferredApply) { deferredApply->mSurfaceTexture = mSurfaceTexture; deferredApply->mNeedsGLContextAttach = mNeedsGLContextAttach; deferredApply->mUpdateTexImage = mUpdateTexImage; deferredApply->setColorFilter(mColorFilter); deferredApply->setTransform(mTransform); SkRefCnt_SafeAssign(deferredApply->mColorFilter, mColorFilter); mDisplayList = 0; mDirtyRect.setEmpty(); mTransform = 0; Loading libs/hwui/DeferredLayerUpdater.h +1 −5 Original line number Diff line number Diff line Loading @@ -73,11 +73,7 @@ public: ANDROID_API void setDisplayList(DisplayList* displayList, int left, int top, int right, int bottom); ANDROID_API void setPaint(const SkPaint* paint) { OpenGLRenderer::getAlphaAndModeDirect(paint, &mAlpha, &mMode); } ANDROID_API void setColorFilter(SkColorFilter* colorFilter); ANDROID_API void setPaint(const SkPaint* paint); ANDROID_API bool apply(); ANDROID_API void applyDeferred(DeferredLayerUpdater* deferredApply); Loading libs/hwui/Layer.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -131,8 +131,9 @@ void Layer::removeFbo(bool flush) { } } void Layer::setPaint(SkPaint* paint) { void Layer::setPaint(const SkPaint* paint) { OpenGLRenderer::getAlphaAndModeDirect(paint, &alpha, &mode); setColorFilter((paint) ? paint->getColorFilter() : NULL); } void Layer::setColorFilter(SkColorFilter* filter) { Loading Loading
core/java/android/view/HardwareLayer.java +2 −3 Original line number Diff line number Diff line Loading @@ -66,8 +66,7 @@ final class HardwareLayer { * @see View#setLayerPaint(android.graphics.Paint) */ public void setLayerPaint(Paint paint) { nSetLayerPaint(mFinalizer.mDeferredUpdater, paint.mNativePaint, paint.getColorFilter() != null ? paint.getColorFilter().native_instance : 0); nSetLayerPaint(mFinalizer.mDeferredUpdater, paint.mNativePaint); } /** Loading Loading @@ -250,7 +249,7 @@ final class HardwareLayer { private static native void nDestroyLayerUpdater(long layerUpdater); private static native boolean nPrepare(long layerUpdater, int width, int height, boolean isOpaque); private static native void nSetLayerPaint(long layerUpdater, long paint, long colorFilter); private static native void nSetLayerPaint(long layerUpdater, long paint); private static native void nSetTransform(long layerUpdater, long matrix); private static native void nSetSurfaceTexture(long layerUpdater, SurfaceTexture surface, boolean isAlreadyAttached); Loading
core/jni/android_view_HardwareLayer.cpp +2 −4 Original line number Diff line number Diff line Loading @@ -88,13 +88,11 @@ static jboolean android_view_HardwareLayer_prepare(JNIEnv* env, jobject clazz, } static void android_view_HardwareLayer_setLayerPaint(JNIEnv* env, jobject clazz, jlong layerUpdaterPtr, jlong paintPtr, jlong colorFilterPtr) { jlong layerUpdaterPtr, jlong paintPtr) { DeferredLayerUpdater* layer = reinterpret_cast<DeferredLayerUpdater*>(layerUpdaterPtr); if (layer) { SkPaint* paint = reinterpret_cast<SkPaint*>(paintPtr); SkColorFilter* colorFilter = reinterpret_cast<SkColorFilter*>(colorFilterPtr); layer->setPaint(paint); layer->setColorFilter(colorFilter); } } Loading Loading @@ -162,7 +160,7 @@ static JNINativeMethod gMethods[] = { { "nDestroyLayerUpdater", "(J)V", (void*) android_view_HardwareLayer_destroyLayerUpdater }, { "nPrepare", "(JIIZ)Z", (void*) android_view_HardwareLayer_prepare }, { "nSetLayerPaint", "(JJJ)V", (void*) android_view_HardwareLayer_setLayerPaint }, { "nSetLayerPaint", "(JJ)V", (void*) android_view_HardwareLayer_setLayerPaint }, { "nSetTransform", "(JJ)V", (void*) android_view_HardwareLayer_setTransform }, { "nSetSurfaceTexture", "(JLandroid/graphics/SurfaceTexture;Z)V", (void*) android_view_HardwareLayer_setSurfaceTexture }, Loading
libs/hwui/DeferredLayerUpdater.cpp +7 −4 Original line number Diff line number Diff line Loading @@ -32,24 +32,26 @@ DeferredLayerUpdater::DeferredLayerUpdater(Layer* layer, OpenGLRenderer* rendere , mRenderer(renderer) , mCaches(Caches::getInstance()) { mCaches.resourceCache.incrementRefcount(mLayer); SkRefCnt_SafeAssign(mColorFilter, mLayer->getColorFilter()); mWidth = mLayer->layer.getWidth(); mHeight = mLayer->layer.getHeight(); mBlend = mLayer->isBlend(); mColorFilter = mLayer->getColorFilter(); mAlpha = mLayer->getAlpha(); mMode = mLayer->getMode(); mDirtyRect.setEmpty(); } DeferredLayerUpdater::~DeferredLayerUpdater() { setColorFilter(NULL); SkSafeUnref(mColorFilter); if (mLayer) { mCaches.resourceCache.decrementRefcount(mLayer); } delete mRenderer; } void DeferredLayerUpdater::setColorFilter(SkColorFilter* colorFilter) { void DeferredLayerUpdater::setPaint(const SkPaint* paint) { OpenGLRenderer::getAlphaAndModeDirect(paint, &mAlpha, &mMode); SkColorFilter* colorFilter = (paint) ? paint->getColorFilter() : NULL; SkRefCnt_SafeAssign(mColorFilter, colorFilter); } Loading Loading @@ -136,9 +138,10 @@ void DeferredLayerUpdater::applyDeferred(DeferredLayerUpdater* deferredApply) { deferredApply->mSurfaceTexture = mSurfaceTexture; deferredApply->mNeedsGLContextAttach = mNeedsGLContextAttach; deferredApply->mUpdateTexImage = mUpdateTexImage; deferredApply->setColorFilter(mColorFilter); deferredApply->setTransform(mTransform); SkRefCnt_SafeAssign(deferredApply->mColorFilter, mColorFilter); mDisplayList = 0; mDirtyRect.setEmpty(); mTransform = 0; Loading
libs/hwui/DeferredLayerUpdater.h +1 −5 Original line number Diff line number Diff line Loading @@ -73,11 +73,7 @@ public: ANDROID_API void setDisplayList(DisplayList* displayList, int left, int top, int right, int bottom); ANDROID_API void setPaint(const SkPaint* paint) { OpenGLRenderer::getAlphaAndModeDirect(paint, &mAlpha, &mMode); } ANDROID_API void setColorFilter(SkColorFilter* colorFilter); ANDROID_API void setPaint(const SkPaint* paint); ANDROID_API bool apply(); ANDROID_API void applyDeferred(DeferredLayerUpdater* deferredApply); Loading
libs/hwui/Layer.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -131,8 +131,9 @@ void Layer::removeFbo(bool flush) { } } void Layer::setPaint(SkPaint* paint) { void Layer::setPaint(const SkPaint* paint) { OpenGLRenderer::getAlphaAndModeDirect(paint, &alpha, &mode); setColorFilter((paint) ? paint->getColorFilter() : NULL); } void Layer::setColorFilter(SkColorFilter* filter) { Loading