From dcbdcac43be77c753ee78b9bb603c083a653a38c Mon Sep 17 00:00:00 2001 From: subhransu mohanty Date: Mon, 19 Nov 2018 16:23:49 +0900 Subject: [PATCH] lottie/vector: optimize when the rle bounding rect is inside the clip rect. Change-Id: I30c512af527fe8f34d3259b0ec9579aa50765716 --- src/vector/vrle.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/vector/vrle.cpp b/src/vector/vrle.cpp index 3d4393d..7db043b 100644 --- a/src/vector/vrle.cpp +++ b/src/vector/vrle.cpp @@ -134,8 +134,14 @@ void VRle::VRleData::operator*=(int alpha) void VRle::VRleData::opIntersect(const VRect &r, VRle::VRleSpanCb cb, void *userData) const { - VRect clip = r; + if (empty()) return; + + if (r.contains(bbox())) { + cb(mSpans.size(), mSpans.data(), userData); + return; + } + VRect clip = r; VRleHelper tresult, tmp_obj; std::array array; -- 2.34.1