Loading libs/hwui/pipeline/skia/SkiaRecordingCanvas.cpp +1 −1 Original line number Original line Diff line number Diff line Loading @@ -187,7 +187,7 @@ void SkiaRecordingCanvas::drawVectorDrawable(VectorDrawableRoot* tree) { void SkiaRecordingCanvas::FilterForImage(SkPaint& paint) { void SkiaRecordingCanvas::FilterForImage(SkPaint& paint) { // kClear blend mode is drawn as kDstOut on HW for compatibility with Android O and // kClear blend mode is drawn as kDstOut on HW for compatibility with Android O and // older. // older. if (sApiLevel <= 27 && paint.getBlendMode() == SkBlendMode::kClear) { if (sApiLevel <= 27 && paint.asBlendMode() == SkBlendMode::kClear) { paint.setBlendMode(SkBlendMode::kDstOut); paint.setBlendMode(SkBlendMode::kDstOut); } } } } Loading libs/hwui/utils/PaintUtils.h +2 −2 Original line number Original line Diff line number Diff line Loading @@ -48,7 +48,7 @@ public: } } // Only let simple srcOver / src blending modes declare opaque, since behavior is clear. // Only let simple srcOver / src blending modes declare opaque, since behavior is clear. SkBlendMode mode = paint->getBlendMode(); const auto mode = paint->asBlendMode(); return mode == SkBlendMode::kSrcOver || mode == SkBlendMode::kSrc; return mode == SkBlendMode::kSrcOver || mode == SkBlendMode::kSrc; } } Loading @@ -59,7 +59,7 @@ public: } } static inline SkBlendMode getBlendModeDirect(const SkPaint* paint) { static inline SkBlendMode getBlendModeDirect(const SkPaint* paint) { return paint ? paint->getBlendMode() : SkBlendMode::kSrcOver; return paint ? paint->getBlendMode_or(SkBlendMode::kSrcOver) : SkBlendMode::kSrcOver; } } static inline int getAlphaDirect(const SkPaint* paint) { static inline int getAlphaDirect(const SkPaint* paint) { Loading Loading
libs/hwui/pipeline/skia/SkiaRecordingCanvas.cpp +1 −1 Original line number Original line Diff line number Diff line Loading @@ -187,7 +187,7 @@ void SkiaRecordingCanvas::drawVectorDrawable(VectorDrawableRoot* tree) { void SkiaRecordingCanvas::FilterForImage(SkPaint& paint) { void SkiaRecordingCanvas::FilterForImage(SkPaint& paint) { // kClear blend mode is drawn as kDstOut on HW for compatibility with Android O and // kClear blend mode is drawn as kDstOut on HW for compatibility with Android O and // older. // older. if (sApiLevel <= 27 && paint.getBlendMode() == SkBlendMode::kClear) { if (sApiLevel <= 27 && paint.asBlendMode() == SkBlendMode::kClear) { paint.setBlendMode(SkBlendMode::kDstOut); paint.setBlendMode(SkBlendMode::kDstOut); } } } } Loading
libs/hwui/utils/PaintUtils.h +2 −2 Original line number Original line Diff line number Diff line Loading @@ -48,7 +48,7 @@ public: } } // Only let simple srcOver / src blending modes declare opaque, since behavior is clear. // Only let simple srcOver / src blending modes declare opaque, since behavior is clear. SkBlendMode mode = paint->getBlendMode(); const auto mode = paint->asBlendMode(); return mode == SkBlendMode::kSrcOver || mode == SkBlendMode::kSrc; return mode == SkBlendMode::kSrcOver || mode == SkBlendMode::kSrc; } } Loading @@ -59,7 +59,7 @@ public: } } static inline SkBlendMode getBlendModeDirect(const SkPaint* paint) { static inline SkBlendMode getBlendModeDirect(const SkPaint* paint) { return paint ? paint->getBlendMode() : SkBlendMode::kSrcOver; return paint ? paint->getBlendMode_or(SkBlendMode::kSrcOver) : SkBlendMode::kSrcOver; } } static inline int getAlphaDirect(const SkPaint* paint) { static inline int getAlphaDirect(const SkPaint* paint) { Loading