Loading graphics/java/android/graphics/Canvas.java +4 −6 Original line number Diff line number Diff line Loading @@ -550,8 +550,7 @@ public class Canvas extends BaseCanvas { @Saveflags int saveFlags) { checkValidSaveFlags(saveFlags); return nSaveLayer(mNativeCanvasWrapper, left, top, right, bottom, paint != null ? paint.getNativeInstance() : 0, ALL_SAVE_FLAG); paint != null ? paint.getNativeInstance() : 0); } /** Loading Loading @@ -626,8 +625,7 @@ public class Canvas extends BaseCanvas { @Saveflags int saveFlags) { checkValidSaveFlags(saveFlags); alpha = Math.min(255, Math.max(0, alpha)); return nSaveLayerAlpha(mNativeCanvasWrapper, left, top, right, bottom, alpha, ALL_SAVE_FLAG); return nSaveLayerAlpha(mNativeCanvasWrapper, left, top, right, bottom, alpha); } /** Loading Loading @@ -1420,10 +1418,10 @@ public class Canvas extends BaseCanvas { private static native int nSave(long canvasHandle, int saveFlags); @CriticalNative private static native int nSaveLayer(long nativeCanvas, float l, float t, float r, float b, long nativePaint, int layerFlags); long nativePaint); @CriticalNative private static native int nSaveLayerAlpha(long nativeCanvas, float l, float t, float r, float b, int alpha, int layerFlags); int alpha); @CriticalNative private static native int nSaveUnclippedLayer(long nativeCanvas, int l, int t, int r, int b); @CriticalNative Loading libs/hwui/SkiaCanvas.cpp +5 −17 Original line number Diff line number Diff line Loading @@ -160,32 +160,20 @@ void SkiaCanvas::restoreToCount(int restoreCount) { } } static inline SkCanvas::SaveLayerFlags layerFlags(SaveFlags::Flags flags) { SkCanvas::SaveLayerFlags layerFlags = 0; if (!(flags & SaveFlags::ClipToLayer)) { layerFlags |= SkCanvasPriv::kDontClipToLayer_SaveLayerFlag; } return layerFlags; } int SkiaCanvas::saveLayer(float left, float top, float right, float bottom, const SkPaint* paint, SaveFlags::Flags flags) { int SkiaCanvas::saveLayer(float left, float top, float right, float bottom, const SkPaint* paint) { const SkRect bounds = SkRect::MakeLTRB(left, top, right, bottom); const SkCanvas::SaveLayerRec rec(&bounds, paint, layerFlags(flags)); const SkCanvas::SaveLayerRec rec(&bounds, paint); return mCanvas->saveLayer(rec); } int SkiaCanvas::saveLayerAlpha(float left, float top, float right, float bottom, int alpha, SaveFlags::Flags flags) { int SkiaCanvas::saveLayerAlpha(float left, float top, float right, float bottom, int alpha) { if (static_cast<unsigned>(alpha) < 0xFF) { SkPaint alphaPaint; alphaPaint.setAlpha(alpha); return this->saveLayer(left, top, right, bottom, &alphaPaint, flags); return this->saveLayer(left, top, right, bottom, &alphaPaint); } return this->saveLayer(left, top, right, bottom, nullptr, flags); return this->saveLayer(left, top, right, bottom, nullptr); } int SkiaCanvas::saveUnclippedLayer(int left, int top, int right, int bottom) { Loading libs/hwui/SkiaCanvas.h +2 −4 Original line number Diff line number Diff line Loading @@ -73,10 +73,8 @@ public: virtual void restoreToCount(int saveCount) override; virtual void restoreUnclippedLayer(int saveCount, const SkPaint& paint) override; virtual int saveLayer(float left, float top, float right, float bottom, const SkPaint* paint, SaveFlags::Flags flags) override; virtual int saveLayerAlpha(float left, float top, float right, float bottom, int alpha, SaveFlags::Flags flags) override; virtual int saveLayer(float left, float top, float right, float bottom, const SkPaint* paint) override; virtual int saveLayerAlpha(float left, float top, float right, float bottom, int alpha) override; virtual int saveUnclippedLayer(int left, int top, int right, int bottom) override; virtual void getMatrix(SkMatrix* outMatrix) const override; Loading libs/hwui/hwui/Canvas.h +2 −4 Original line number Diff line number Diff line Loading @@ -178,10 +178,8 @@ public: virtual void restoreToCount(int saveCount) = 0; virtual void restoreUnclippedLayer(int saveCount, const SkPaint& paint) = 0; virtual int saveLayer(float left, float top, float right, float bottom, const SkPaint* paint, SaveFlags::Flags flags) = 0; virtual int saveLayerAlpha(float left, float top, float right, float bottom, int alpha, SaveFlags::Flags flags) = 0; virtual int saveLayer(float left, float top, float right, float bottom, const SkPaint* paint) = 0; virtual int saveLayerAlpha(float left, float top, float right, float bottom, int alpha) = 0; virtual int saveUnclippedLayer(int, int, int, int) = 0; // Matrix Loading libs/hwui/jni/android_graphics_Canvas.cpp +6 −8 Original line number Diff line number Diff line Loading @@ -93,16 +93,14 @@ static jint save(CRITICAL_JNI_PARAMS_COMMA jlong canvasHandle, jint flagsHandle) } static jint saveLayer(CRITICAL_JNI_PARAMS_COMMA jlong canvasHandle, jfloat l, jfloat t, jfloat r, jfloat b, jlong paintHandle, jint flagsHandle) { jfloat r, jfloat b, jlong paintHandle) { Paint* paint = reinterpret_cast<Paint*>(paintHandle); SaveFlags::Flags flags = static_cast<SaveFlags::Flags>(flagsHandle); return static_cast<jint>(get_canvas(canvasHandle)->saveLayer(l, t, r, b, paint, flags)); return static_cast<jint>(get_canvas(canvasHandle)->saveLayer(l, t, r, b, paint)); } static jint saveLayerAlpha(CRITICAL_JNI_PARAMS_COMMA jlong canvasHandle, jfloat l, jfloat t, jfloat r, jfloat b, jint alpha, jint flagsHandle) { SaveFlags::Flags flags = static_cast<SaveFlags::Flags>(flagsHandle); return static_cast<jint>(get_canvas(canvasHandle)->saveLayerAlpha(l, t, r, b, alpha, flags)); jfloat r, jfloat b, jint alpha) { return static_cast<jint>(get_canvas(canvasHandle)->saveLayerAlpha(l, t, r, b, alpha)); } static jint saveUnclippedLayer(CRITICAL_JNI_PARAMS_COMMA jlong canvasHandle, jint l, jint t, jint r, jint b) { Loading Loading @@ -688,8 +686,8 @@ static const JNINativeMethod gMethods[] = { {"nGetWidth","(J)I", (void*) CanvasJNI::getWidth}, {"nGetHeight","(J)I", (void*) CanvasJNI::getHeight}, {"nSave","(JI)I", (void*) CanvasJNI::save}, {"nSaveLayer","(JFFFFJI)I", (void*) CanvasJNI::saveLayer}, {"nSaveLayerAlpha","(JFFFFII)I", (void*) CanvasJNI::saveLayerAlpha}, {"nSaveLayer","(JFFFFJ)I", (void*) CanvasJNI::saveLayer}, {"nSaveLayerAlpha","(JFFFFI)I", (void*) CanvasJNI::saveLayerAlpha}, {"nSaveUnclippedLayer","(JIIII)I", (void*) CanvasJNI::saveUnclippedLayer}, {"nRestoreUnclippedLayer","(JIJ)V", (void*) CanvasJNI::restoreUnclippedLayer}, {"nGetSaveCount","(J)I", (void*) CanvasJNI::getSaveCount}, Loading Loading
graphics/java/android/graphics/Canvas.java +4 −6 Original line number Diff line number Diff line Loading @@ -550,8 +550,7 @@ public class Canvas extends BaseCanvas { @Saveflags int saveFlags) { checkValidSaveFlags(saveFlags); return nSaveLayer(mNativeCanvasWrapper, left, top, right, bottom, paint != null ? paint.getNativeInstance() : 0, ALL_SAVE_FLAG); paint != null ? paint.getNativeInstance() : 0); } /** Loading Loading @@ -626,8 +625,7 @@ public class Canvas extends BaseCanvas { @Saveflags int saveFlags) { checkValidSaveFlags(saveFlags); alpha = Math.min(255, Math.max(0, alpha)); return nSaveLayerAlpha(mNativeCanvasWrapper, left, top, right, bottom, alpha, ALL_SAVE_FLAG); return nSaveLayerAlpha(mNativeCanvasWrapper, left, top, right, bottom, alpha); } /** Loading Loading @@ -1420,10 +1418,10 @@ public class Canvas extends BaseCanvas { private static native int nSave(long canvasHandle, int saveFlags); @CriticalNative private static native int nSaveLayer(long nativeCanvas, float l, float t, float r, float b, long nativePaint, int layerFlags); long nativePaint); @CriticalNative private static native int nSaveLayerAlpha(long nativeCanvas, float l, float t, float r, float b, int alpha, int layerFlags); int alpha); @CriticalNative private static native int nSaveUnclippedLayer(long nativeCanvas, int l, int t, int r, int b); @CriticalNative Loading
libs/hwui/SkiaCanvas.cpp +5 −17 Original line number Diff line number Diff line Loading @@ -160,32 +160,20 @@ void SkiaCanvas::restoreToCount(int restoreCount) { } } static inline SkCanvas::SaveLayerFlags layerFlags(SaveFlags::Flags flags) { SkCanvas::SaveLayerFlags layerFlags = 0; if (!(flags & SaveFlags::ClipToLayer)) { layerFlags |= SkCanvasPriv::kDontClipToLayer_SaveLayerFlag; } return layerFlags; } int SkiaCanvas::saveLayer(float left, float top, float right, float bottom, const SkPaint* paint, SaveFlags::Flags flags) { int SkiaCanvas::saveLayer(float left, float top, float right, float bottom, const SkPaint* paint) { const SkRect bounds = SkRect::MakeLTRB(left, top, right, bottom); const SkCanvas::SaveLayerRec rec(&bounds, paint, layerFlags(flags)); const SkCanvas::SaveLayerRec rec(&bounds, paint); return mCanvas->saveLayer(rec); } int SkiaCanvas::saveLayerAlpha(float left, float top, float right, float bottom, int alpha, SaveFlags::Flags flags) { int SkiaCanvas::saveLayerAlpha(float left, float top, float right, float bottom, int alpha) { if (static_cast<unsigned>(alpha) < 0xFF) { SkPaint alphaPaint; alphaPaint.setAlpha(alpha); return this->saveLayer(left, top, right, bottom, &alphaPaint, flags); return this->saveLayer(left, top, right, bottom, &alphaPaint); } return this->saveLayer(left, top, right, bottom, nullptr, flags); return this->saveLayer(left, top, right, bottom, nullptr); } int SkiaCanvas::saveUnclippedLayer(int left, int top, int right, int bottom) { Loading
libs/hwui/SkiaCanvas.h +2 −4 Original line number Diff line number Diff line Loading @@ -73,10 +73,8 @@ public: virtual void restoreToCount(int saveCount) override; virtual void restoreUnclippedLayer(int saveCount, const SkPaint& paint) override; virtual int saveLayer(float left, float top, float right, float bottom, const SkPaint* paint, SaveFlags::Flags flags) override; virtual int saveLayerAlpha(float left, float top, float right, float bottom, int alpha, SaveFlags::Flags flags) override; virtual int saveLayer(float left, float top, float right, float bottom, const SkPaint* paint) override; virtual int saveLayerAlpha(float left, float top, float right, float bottom, int alpha) override; virtual int saveUnclippedLayer(int left, int top, int right, int bottom) override; virtual void getMatrix(SkMatrix* outMatrix) const override; Loading
libs/hwui/hwui/Canvas.h +2 −4 Original line number Diff line number Diff line Loading @@ -178,10 +178,8 @@ public: virtual void restoreToCount(int saveCount) = 0; virtual void restoreUnclippedLayer(int saveCount, const SkPaint& paint) = 0; virtual int saveLayer(float left, float top, float right, float bottom, const SkPaint* paint, SaveFlags::Flags flags) = 0; virtual int saveLayerAlpha(float left, float top, float right, float bottom, int alpha, SaveFlags::Flags flags) = 0; virtual int saveLayer(float left, float top, float right, float bottom, const SkPaint* paint) = 0; virtual int saveLayerAlpha(float left, float top, float right, float bottom, int alpha) = 0; virtual int saveUnclippedLayer(int, int, int, int) = 0; // Matrix Loading
libs/hwui/jni/android_graphics_Canvas.cpp +6 −8 Original line number Diff line number Diff line Loading @@ -93,16 +93,14 @@ static jint save(CRITICAL_JNI_PARAMS_COMMA jlong canvasHandle, jint flagsHandle) } static jint saveLayer(CRITICAL_JNI_PARAMS_COMMA jlong canvasHandle, jfloat l, jfloat t, jfloat r, jfloat b, jlong paintHandle, jint flagsHandle) { jfloat r, jfloat b, jlong paintHandle) { Paint* paint = reinterpret_cast<Paint*>(paintHandle); SaveFlags::Flags flags = static_cast<SaveFlags::Flags>(flagsHandle); return static_cast<jint>(get_canvas(canvasHandle)->saveLayer(l, t, r, b, paint, flags)); return static_cast<jint>(get_canvas(canvasHandle)->saveLayer(l, t, r, b, paint)); } static jint saveLayerAlpha(CRITICAL_JNI_PARAMS_COMMA jlong canvasHandle, jfloat l, jfloat t, jfloat r, jfloat b, jint alpha, jint flagsHandle) { SaveFlags::Flags flags = static_cast<SaveFlags::Flags>(flagsHandle); return static_cast<jint>(get_canvas(canvasHandle)->saveLayerAlpha(l, t, r, b, alpha, flags)); jfloat r, jfloat b, jint alpha) { return static_cast<jint>(get_canvas(canvasHandle)->saveLayerAlpha(l, t, r, b, alpha)); } static jint saveUnclippedLayer(CRITICAL_JNI_PARAMS_COMMA jlong canvasHandle, jint l, jint t, jint r, jint b) { Loading Loading @@ -688,8 +686,8 @@ static const JNINativeMethod gMethods[] = { {"nGetWidth","(J)I", (void*) CanvasJNI::getWidth}, {"nGetHeight","(J)I", (void*) CanvasJNI::getHeight}, {"nSave","(JI)I", (void*) CanvasJNI::save}, {"nSaveLayer","(JFFFFJI)I", (void*) CanvasJNI::saveLayer}, {"nSaveLayerAlpha","(JFFFFII)I", (void*) CanvasJNI::saveLayerAlpha}, {"nSaveLayer","(JFFFFJ)I", (void*) CanvasJNI::saveLayer}, {"nSaveLayerAlpha","(JFFFFI)I", (void*) CanvasJNI::saveLayerAlpha}, {"nSaveUnclippedLayer","(JIIII)I", (void*) CanvasJNI::saveUnclippedLayer}, {"nRestoreUnclippedLayer","(JIJ)V", (void*) CanvasJNI::restoreUnclippedLayer}, {"nGetSaveCount","(J)I", (void*) CanvasJNI::getSaveCount}, Loading