diff options
author | 2022-09-08 00:17:03 +0000 | |
---|---|---|
committer | 2022-09-08 00:17:03 +0000 | |
commit | 4432aa6283b5249a49e26f72d2fd32af81df8d0c (patch) | |
tree | 189f39c96b5fde4b44bc08e4eb97dd0f1bd64ae3 /libs/hwui/SkiaCanvas.cpp | |
parent | b53d5b3980c65e0dddfb430768d868a0230f797a (diff) | |
parent | 914e75086755f7be427d2b6a1ed96662a0a7049e (diff) |
Merge "Support alpha for SurfaceView"
Diffstat (limited to 'libs/hwui/SkiaCanvas.cpp')
-rw-r--r-- | libs/hwui/SkiaCanvas.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libs/hwui/SkiaCanvas.cpp b/libs/hwui/SkiaCanvas.cpp index 397975dcb78f..473afbd2aa2f 100644 --- a/libs/hwui/SkiaCanvas.cpp +++ b/libs/hwui/SkiaCanvas.cpp @@ -18,6 +18,7 @@ #include "CanvasProperty.h" #include "NinePatchUtils.h" +#include "SkBlendMode.h" #include "VectorDrawable.h" #include "hwui/Bitmap.h" #include "hwui/MinikinUtils.h" @@ -251,10 +252,11 @@ const SkiaCanvas::SaveRec* SkiaCanvas::currentSaveRec() const { return (rec && rec->saveCount == currentSaveCount) ? rec : nullptr; } -void SkiaCanvas::punchHole(const SkRRect& rect) { +void SkiaCanvas::punchHole(const SkRRect& rect, float alpha) { SkPaint paint = SkPaint(); - paint.setColor(0); - paint.setBlendMode(SkBlendMode::kClear); + paint.setColor(SkColors::kBlack); + paint.setAlphaf(alpha); + paint.setBlendMode(SkBlendMode::kDstOut); mCanvas->drawRRect(rect, paint); } |