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

Commit 5805765d authored by Chris Craik's avatar Chris Craik Committed by Android Git Automerger
Browse files

am f8d25ea8: Merge "Don\'t promote functors onto layers due to outline rect clipping" into mnc-dev

* commit 'f8d25ea8':
  Don't promote functors onto layers due to outline rect clipping
parents 0068f4c4 f8d25ea8
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@
#include <SkPath.h>

#include "Rect.h"
#include "utils/MathUtils.h"

namespace android {
namespace uirenderer {
@@ -85,6 +86,11 @@ public:
        return mShouldClip && (mType == kOutlineType_RoundRect);
    }

    bool willRoundRectClip() const {
        // only round rect outlines can be used for clipping
        return willClip() && MathUtils::isPositive(mRadius);
    }

    bool getAsRoundRect(Rect* outRect, float* outRadius) const {
        if (mType == kOutlineType_RoundRect) {
            outRect->set(mBounds);
+1 −1
Original line number Diff line number Diff line
@@ -169,7 +169,7 @@ public:
        bool functorsNeedLayer = ancestorDictatesFunctorsNeedLayer

                // Round rect clipping forces layer for functors
                || CC_UNLIKELY(getOutline().willClip())
                || CC_UNLIKELY(getOutline().willRoundRectClip())
                || CC_UNLIKELY(getRevealClip().willClip())

                // Complex matrices forces layer, due to stencil clipping