Commit Graph

22 Commits

Author SHA1 Message Date
Elliot Waite
0ce4b0e4c3 Fix @links in reference docs. am: 54de77470d am: ab978c035e am: 28ba4722a9
am: 9b21265b2c

Change-Id: If246ebdb36cf2832d5a6c42cbe752e290b6fb6e8
2017-01-26 04:49:33 +00:00
Elliot Waite
54de77470d Fix @links in reference docs.
Change-Id: I40cea46efd80c448640ff69753698fe8404da40b
2017-01-25 17:00:55 -08:00
Chris Craik
2414e1b051 Outline & Path perf improvements
Bug: 33460152
Test: device boots, ViewShowHidePerfTests#add[Factory:NestedLinearLayoutTree,depth:6] 770us -> 650us (userdebug 960MHz bullhead)

Improve perf for outline & simple path methods

native_methodName -> nMethodName in Path.java

Change-Id: Id2374bbaca3256d2e4f19dae9abe67f794a171b3
2016-12-13 16:52:08 -08:00
Chris Craik
136d1af1cc Fix how outlines are sent to rendernode
bug:27918183

Fixes an issue where all convex outlines were pushed as empty rects to
RenderNode.

Also adds outline/reveal clip property logging, so such issues are
easier to debug in the future.

Change-Id: Ic4a996ecd09a8ef84cdf8b963bdb4853c7f6d180
2016-04-04 13:40:39 -07:00
Chris Craik
2c7f9a8fb9 Avoid allocation in methods of Outline
bug:26516265

Outlines are generally cached by the View system and reused, so optimize
for performance/allocation avoidance, rather than size.

Change-Id: I578d24c1255f1c1d8ebb30f3223fbe4ade4c67b4
2016-03-16 18:51:01 -07:00
Chris Craik
fb354a3752 Return <0 if undefined Outline radius
bug:27531289

Change-Id: I0a2880693c59406e2d610f3a11020cde5379e230
2016-03-14 17:04:24 -07:00
Alan Viverette
24bf21b894 Ensure Outline consistently sets the radius to be undefined
Radius should only be defined when the rect is also defined. Also updates
ArcShape to not return an outline, since it may be convex.

Bug: 27593976
Bug: 27592381
Change-Id: I99010b139361607af6ec8cab26c9aa1d4dcbba77
2016-03-10 15:52:00 -05:00
Alan Viverette
921ec44647 Fix NinePatchDrawable handling of density changes
Scaling is now manually applied when the canvas density is not set.

Removes set/getNinePatch accessors that were added in N, since these
are not used and setting the nine patch directly will break padding.
Also removes local NinePatch, which was not necessary.

Bug: 27038114
Change-Id: Ie8b2e485b54d1ed1521081b329a09915fd0a95c1
2016-02-23 14:54:01 -05:00
Tor Norbye
b3ec733bb8 Annotate methods with size and range annotations
Change-Id: I666861f0dfae31402b1280e9a966a583b88e2e1a
2015-03-07 20:49:19 -08:00
Chris Craik
0e12fa12cb Add offset method to Outline
Also clean up offset docs in Path

Change-Id: Ieca02611d32acce726efba652ae1969340a55a76
2014-11-12 16:17:33 -08:00
Chris Craik
c49e3ce6c6 Don't cast shadows from gradients with transparent parts
bug:17070982
Change-Id: I607dd3c9397845fce53b7f097ec0b57246077ea1
2014-08-19 11:11:11 -07:00
Chris Craik
13ed2178c4 Make outline alpha APIs public
bug:16140822
Change-Id: Ie21e2a75b462319fb49c5696f0c019e1ea803bc1
2014-08-04 23:28:34 +00:00
Chris Craik
77b5cad3ef Add outline alpha
bug:16140822
bug:16566746

This allows background drawables to alter the opacity of a shadow
being cast with their own alpha values.

Change-Id: I49698cc7c1bf4b2b55ffe2f82899543ca62bc61c
2014-07-31 12:29:57 -07:00
Chris Craik
0645128b80 Make setter methods on Outline call setEmpty() based on params
bug:16142564

Additionally, better define behavior around null outline providers:

A view with an empty outline, and setClipToOutline=true will not be
rendered, though one with a null outline provider
(and thus no outline) will be.

Change-Id: Ic9549841b107b2eb51b417c66058a0cd69dd89eb
2014-07-22 15:15:11 -07:00
Chris Craik
31ba192dd2 Tweaks to outline API
b/15283203
b/16142564

Remove boolean return value chaining, as it's redundant with
the data in the Outline itself.

Change-Id: I3116e57cd1b35c98b74e95195117edd7e39fb2df
2014-07-19 00:13:59 +00:00
Chris Craik
9a347f1992 Initial replacement of setOutline() with ViewOutlineProvider API
bug:15283203

A View's outline is now managed by its outline provider. This means
the outline is automatically requeried when needed (e.g. drawable
updates or resize), with customizable querying behavior.

Also adds 'isFilled' property to outline, to be used for hinting
shadow overdraw avoidance.

Change-Id: Ie137548fa850f1ff7863ab2f660d05145c2ad11e
2014-07-01 00:16:25 +00:00
Chris Craik
7dc5b41e60 Clean up Outline API, method on drawable
bug:15025466
bug:15089680
Change-Id: I8d3b64a0d9dbdbaf679042c8b384d2050323a8e6
2014-05-20 10:38:59 -07:00
Chris Craik
deeda3d337 Round rect outline clipping
Change-Id: Iee9cf4f719f6f1917507b69189ad114fa365917b
2014-05-15 16:36:12 -07:00
Chris Craik
7979388d4f Support Oval GradientDrawable outlines, and ShapeDrawable
Change-Id: Ifc9e55757d3325cb28a1a812ec696512d4a18b39
2014-04-25 15:59:47 -07:00
Chris Craik
e6a39b1265 Refactor Drawable outline production, flesh out Outline methods
Change-Id: I1b8c25384b5f123e86cf5e0b2270eb741bc3159b
2014-04-24 16:58:18 -07:00
Chris Craik
f975823773 Fix doc build
Change-Id: I18627229be3e8e242e469af83e7e5ae580b03707
2014-03-25 11:06:58 -07:00
Chris Craik
b49f446c98 Rework Outline API, remove isolatedZVolume remnants
Change-Id: I30c2fe832dcb98fa6329b1a595b3d3aafbdcad6b
2014-03-24 11:37:06 -07:00