13 Commits

Author SHA1 Message Date
Derek Sollenberger
b29b16e542 Remove clipRegion from the public API.
This API is difficult to support for printing and has other negative
effects as it does not respect the current matrix/clip.

Test: compile
Bug: 14650725
Change-Id: I71f9bd687d446c7ce8910d755421aad8e09458db
2017-01-04 14:57:43 -05:00
Chih-hung Hsieh
1f50f80aab Merge "Fix google-explicit-constructor warnings in libs/hwui." am: 7207562ff7 am: d7a69e04eb
am: 842f1e48e7

Change-Id: I401bb7ef3a46bb317ba664667fab4a16c129e5aa
2016-08-31 17:43:44 +00:00
Chih-Hung Hsieh
a619ec70cf Fix google-explicit-constructor warnings in libs/hwui.
* Add explicit keyword to conversion constructors,
  or add NOLINT for implicit converters.
Bug: 28341362
Test: build with WITH_TIDY=1

Change-Id: Id8ca42433a4fc3652e4cb13787c4cb169f20d9a9
2016-08-29 14:56:58 -07:00
Chris Craik
82457c5117 Handle post-record-time clipPath scaling
bug:29547149

Change-Id: I268210b240d2d8e08638114715f9622840fc02f7
2016-06-29 16:22:28 -07:00
Chris Craik
04d46eb69f Support replace op in new pipeline
bug:26562461

Change-Id: Ie48d2da30f5e9d9abe88a5cd973dfb26e38abf63
2016-04-07 15:02:39 -07:00
Chris Craik
02806288d1 Fix flickering when layers resize in-place
bug:27248275
Change-Id: Ia11c93ebc1097f3735071204b6f14ca079bb9fc4
2016-03-14 13:26:25 -07:00
Chris Craik
e4db79de12 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
2016-01-04 17:00:03 -08:00
Chris Craik
a2a70723b8 Simplify ClipArea to prefer Rect args
Change-Id: I8af83d01dc5dd8009a0cd235dd8b59dab61d8560
2015-12-17 23:31:44 +00:00
Chris Craik
ac02eb9035 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
2015-10-05 14:16:26 -07:00
Chris Craik
4d3e704b04 Remove return values from clipping operations
bug:22530947

Also switch mode to enum class

Change-Id: Iabb38634c01f2e3203b1b715967d8828d95da190
2015-08-20 15:00:11 -07:00
Chris Craik
8ce8f3f4d6 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
2015-07-16 13:31:41 -07:00
Tom Hudson
e30b53cec5 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
2015-03-30 16:57:43 -04:00
Rob Tsuk
487a92caef 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
2015-01-14 17:24:58 -08:00