Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 98c3461a authored by Diego Perez's avatar Diego Perez Committed by Android (Google) Code Review
Browse files

Merge "Do not paint shadow if outside of the clip area" into lmp-dev

parents 12c9e498 0dfba380
Loading
Loading
Loading
Loading
+7 −2
Original line number Original line Diff line number Diff line
@@ -71,8 +71,10 @@ public class ViewGroup_Delegate {
        int x = 0;
        int x = 0;
        if (outline.mRect != null) {
        if (outline.mRect != null) {
            Shadow s = getRectShadow(parent, canvas, child, outline);
            Shadow s = getRectShadow(parent, canvas, child, outline);
            if (s != null) {
              shadow = s.mShadow;
              shadow = s.mShadow;
              x = -s.mShadowWidth;
              x = -s.mShadowWidth;
            }
        } else if (outline.mPath != null) {
        } else if (outline.mPath != null) {
            shadow = getPathShadow(child, outline, canvas);
            shadow = getPathShadow(child, outline, canvas);
        }
        }
@@ -132,6 +134,9 @@ public class ViewGroup_Delegate {


    private static BufferedImage getPathShadow(View child, Outline outline, Canvas canvas) {
    private static BufferedImage getPathShadow(View child, Outline outline, Canvas canvas) {
        Rect clipBounds = canvas.getClipBounds();
        Rect clipBounds = canvas.getClipBounds();
        if (clipBounds.isEmpty()) {
          return null;
        }
        BufferedImage image = new BufferedImage(clipBounds.width(), clipBounds.height(),
        BufferedImage image = new BufferedImage(clipBounds.width(), clipBounds.height(),
                BufferedImage.TYPE_INT_ARGB);
                BufferedImage.TYPE_INT_ARGB);
        Graphics2D graphics = image.createGraphics();
        Graphics2D graphics = image.createGraphics();