History log of /frameworks/base/libs/hwui/ClipArea.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0658435096a26067c0183e0a977c9ae0af1cc006 14-Jul-2016 Chris Craik <ccraik@google.com> Fix rotated clip regions

bug: 26562461
fixes: 30109912

SeekBar clips out the area of the thumb when drawing its track. This
creates a clip region, since a rect has been subtracted.

This changes region transform support in computing final clip to
properly support any rect-to-rect transform (such as 90 degree rotation)
when applying a clip region.

Change-Id: Ib3bbc52637e59e00b3a7e7d5c4c40555e26c578b
/frameworks/base/libs/hwui/ClipArea.cpp
82457c51176855b9be0b441010870093a6feb414 30-Jun-2016 Chris Craik <ccraik@google.com> Handle post-record-time clipPath scaling

bug:29547149

Change-Id: I268210b240d2d8e08638114715f9622840fc02f7
/frameworks/base/libs/hwui/ClipArea.cpp
bf27b995ae1bc36ee0b24effcaf41ec477e7fae3 14-Apr-2016 Chris Craik <ccraik@google.com> Avoid reentrance on ClipArea APIs

bug:28144676

Calling ClipArea::clipRegion from within ClipArea::clipPathWithTransform
has us handling op-based special casing twice, which caused all clip
paths to appear to be replace ops.

Change-Id: Ib842db53ffed4eee29470f773d59a3a1d07a1a0e
/frameworks/base/libs/hwui/ClipArea.cpp
04d46eb69fb4f4c4c332c36c6ae845da3b2ae848 07-Apr-2016 Chris Craik <ccraik@google.com> Support replace op in new pipeline

bug:26562461

Change-Id: Ie48d2da30f5e9d9abe88a5cd973dfb26e38abf63
/frameworks/base/libs/hwui/ClipArea.cpp
02806288d1c56475413888a934c796e6e4eb11c5 12-Mar-2016 Chris Craik <ccraik@google.com> Fix flickering when layers resize in-place

bug:27248275
Change-Id: Ia11c93ebc1097f3735071204b6f14ca079bb9fc4
/frameworks/base/libs/hwui/ClipArea.cpp
69aeabe6184bbbe6e731656205ffbef78b7b0f3f 03-Mar-2016 Chris Craik <ccraik@google.com> Fix clip rect snapping at non-integer scale values

bug:26923968

Also removes several reinterprets to ClipRect, since Rect member is in
base class.

Change-Id: If46dbdcea05b1257af185ccb38058735ebe81f79
/frameworks/base/libs/hwui/ClipArea.cpp
261725fdb2962271c222a049fcdf57bbdc8363c7 29-Feb-2016 Chris Craik <ccraik@google.com> Fix matrix mapping of negative rects

bug:27381362

Also rejects ops with empty clip at record time, and short circuits clip
intersection, when one is empty.

Change-Id: I842612da14ad8fd9f1ba5e9e4fd027ba4e08d365
/frameworks/base/libs/hwui/ClipArea.cpp
4f4c60820995bad73d87c2fff4b5c5b1c6b5e027 10-Feb-2016 Chris Craik <ccraik@google.com> Fix build

Change-Id: I24d82c44db9d9e04098a0d7cb9289d6b9fc19e41
/frameworks/base/libs/hwui/ClipArea.cpp
b4f4f3e16d8fbb2905dfc168383213161e988f83 09-Feb-2016 Chris Craik <ccraik@google.com> Calculate clip bounds correctly when serializing

bug:26585671

Change-Id: Ic70769bce6fa2a7b65cb893ba4a45c65fdc0b7e3
/frameworks/base/libs/hwui/ClipArea.cpp
7fc1b0349bc2ac8c880120dc5611f703faa7f06f 04-Feb-2016 Chris Craik <ccraik@google.com> Fix ripple clipping + quick rejection

bug:26524690

Don't intersect the first clip with the viewport. Instead, the first
clip op should always be a replace op.

Additionally, only quick reject nodes that clip to bounds, since some
nodes (like ripples) draw outside their own bounds.

Change-Id: I96a52029f360328aba19af7349888cc0a026b5b1
/frameworks/base/libs/hwui/ClipArea.cpp
e4db79de127cfe961195f52907af8451026eaa20 23-Dec-2015 Chris Craik <ccraik@google.com> Stencil support in new recorder/reorderer

bug:22480459
bug:26358504

Adds complex (non-rectangular) clipping support, and overdraw
visualization. Doesn't support stencil clipping in layers.

Change-Id: I8d10c7f1d2769ab5756774ca672344cc09901f87
/frameworks/base/libs/hwui/ClipArea.cpp
a2a70723b8cbda4354d23f901f995623e819012c 17-Dec-2015 Chris Craik <ccraik@google.com> Simplify ClipArea to prefer Rect args

Change-Id: I8af83d01dc5dd8009a0cd235dd8b59dab61d8560
/frameworks/base/libs/hwui/ClipArea.cpp
15c3f19a445b8df575911a16e8a6dba755a084b5 03-Dec-2015 Chris Craik <ccraik@google.com> Merged op dispatch in OpReorderer

bug:22480459

Also switches std::functions to function pointers on OpReorderer, and
switches AssetAtlas' entry getter methods to using pixelRef pointers,
so it's clear they're the keys.

Change-Id: I3040ce5ff4e178a8364e0fd7ab0876ada7d4de05
/frameworks/base/libs/hwui/ClipArea.cpp
ac02eb9035a13a3d09c2def9ed63d04225eb2509 05-Oct-2015 Chris Craik <ccraik@google.com> Remove confusing behavior of Rect::intersect() and rename

bug:24670525

Removes silly 'do nothing if rects do not intersect' behavior, and
changes the name to clarify the difference (contrasting against
SkRect::intersect())

bug:24670525

Change-Id: Id2ca1cfea1a9d720d4dc70b251f426d9916f8b53
/frameworks/base/libs/hwui/ClipArea.cpp
4d3e704b04c6abd7995df640d12662b0271f6c7b 20-Aug-2015 Chris Craik <ccraik@google.com> Remove return values from clipping operations

bug:22530947

Also switch mode to enum class

Change-Id: Iabb38634c01f2e3203b1b715967d8828d95da190
/frameworks/base/libs/hwui/ClipArea.cpp
8ce8f3f4d68a7750bc02b5254ebbd8658281e675 16-Jul-2015 Chris Craik <ccraik@google.com> Fix clip area behavior for REPLACE op

bug:22291400

Work around clippath-clipped-to-view-bounds behavior by
implementing REPLACE op fast path, avoiding the transition to
SkRegion/SkPath.

Change-Id: I63c1cf961db2d6e3759d83914de1036c9ac7497a
/frameworks/base/libs/hwui/ClipArea.cpp
e30b53cec5eb6eaa5d24231feb3207b917c1baab 30-Mar-2015 Tom Hudson <tomhudson@google.com> Enter RectangleMode when the clip region is a rectangle

ClipArea's region mode implementation store the region's boundary in
a rectangle, and if the region is that rectangle, set its region to
empty. This is a bug, since as long as the ClipArea is in region
mode it treats its region as determinitive. When the next clipping
operation comes in, it is tested against the empty region instead of
against the valid rect.

Discovered via Skia GM testing.

Change-Id: I3bbc4e81c8d68636061f830156e017e9b5c7e587
/frameworks/base/libs/hwui/ClipArea.cpp
487a92caef2eb90a62e8f8d7a6fe6315f1c1d8d8 06-Jan-2015 Rob Tsuk <robtsuk@google.com> Clipping performance improvements

Create a ClipArea class to handle tracking clip regions. This class can
select the most efficient implementation depending on the types of
clipping presented.

ClipArea re-used the rectangle and region-based clipping
implementations as well as adding a "list of rotated rectangles"
approach that is more efficient for rotated views with children.

Change-Id: I2133761a2462ebc0852b394220e265974b3086f0
/frameworks/base/libs/hwui/ClipArea.cpp