History log of /frameworks/base/graphics/java/android/graphics/Path.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
96202d56ad2406b27a8b3b1f083ab71945d06a46 28-Apr-2017 Chris Craik <ccraik@google.com> Add conic support for Path#approximate

Fixes: 37722722
Test: bit CtsGraphicsTestCases:PathTest
Test: bit CtsUiRenderingTestCases:android.uirendering.cts.testclasses.PathTests

Also adds static asserts to path-walking code, to avoid this problem
in the future.

Also adds annotations, since this is public API now.

Change-Id: Ic39b167968b98fd8197be2d0f9aca79949717237
/frameworks/base/graphics/java/android/graphics/Path.java
2414e1b051326745e087a88cdfbf1fff8962edd3 12-Dec-2016 Chris Craik <ccraik@google.com> 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
/frameworks/base/graphics/java/android/graphics/Path.java
caa08ff5e9ee004634a95776fc72bb769f1286de 07-Oct-2016 John Reck <jreck@google.com> The bigger update to Canvas

All draw* calls in Canvas are regular JNI
All draw* calls in DisplayListCanvas are FastNative
Unifies Canvas JNI on nMethodName naming

CanvasPerf results before:
INSTRUMENTATION_STATUS: basicViewGroupDraw_min=12492
INSTRUMENTATION_STATUS: recordSimpleBitmapView_min=13912

and after:
INSTRUMENTATION_STATUS: basicViewGroupDraw_min=11945
INSTRUMENTATION_STATUS: recordSimpleBitmapView_min=13318

Test: refactor, makes & boots
Change-Id: I06000df1d125e17d60c6498865be7a7638a4a13e
/frameworks/base/graphics/java/android/graphics/Path.java
19e710e7b568fc3434025b6cb36a6ea81a4a25da 01-Aug-2016 Romain Guy <romainguy@google.com> Expose Path.approximate()

It is a useful APIs that applications can benefit from for a
number of use cases. Since apps have currently no way of
inspecting the content of a path, this allows them to
perform interpolation along paths.

Change-Id: I79bcba38a0ed806c418ed25d36ea25af8721d9c1
/frameworks/base/graphics/java/android/graphics/Path.java
a6a8557d6e6c8ecc170767b7552979dbdb4254ef 27-Jul-2016 sergeyv <sergeyv@google.com> Turn off simplePath optimization then Path object is used as out param

Change-Id: I4d9ae5c756b2ed1ba30483e8685ce1ad6c1f0c03
fixes:30349106
/frameworks/base/graphics/java/android/graphics/Path.java
ecbcdd384c07402204064243981a432f5b0aad36 22-Mar-2016 sergeyv <sergeyv@google.com> Add offset() to Path's fast-case mode

bug:22510833
Change-Id: I417ed13ff450aa7f6c72370b4c5de8e8a53a0235
/frameworks/base/graphics/java/android/graphics/Path.java
28aa456ac8e42e4d5e9d8c20736288b7017eae4d 10-Sep-2015 Hans Boehm <hboehm@google.com> am 1d815272: am 58c27e3e: am c0ce6c42: Merge "Reduce risk of memory corruption due to finalization."

* commit '1d8152726b7ef2094f2e99619581c2abd2117381':
Reduce risk of memory corruption due to finalization.
ffa84e008c712ceffa09d6b89a49882c88b3cca5 12-Nov-2014 Hans Boehm <hboehm@google.com> Reduce risk of memory corruption due to finalization.

Many classes in graphics/java and elsewhere deallocate native memory
in a finalizer on the assumption that instance methods can no longer
be called once the finalizer has been called. This is incorrect if
the object can be used, possibly indirectly, from another finalizer,
possibly one in the application.

This is the initial installment of a patch to cause such post-finalization
uses to at least see a null pointer rather than causing memory corruption
by accessing deallocated native memory. This should make it possible to
identify and fix such finalization ordering issues.

There are more graphics classes that need this treatment, and probably
many more in other subsystems.

This solution is < 100% effective if finalizers can be invoked
concurrently. We currently promise that they aren't.

(In my opinion, the real cause here is a language spec bug. But that ship
has sailed.)

Bug: 18178237
Change-Id: I844cf1e0fbb190407389c4f8e8f072752cca6198
/frameworks/base/graphics/java/android/graphics/Path.java
1ad545d207db840d0e403569ce214431eead4217 20-Aug-2015 Derek Sollenberger <djsollen@google.com> Fix path direction enum to match native SkPath values

Change-Id: I4010e400cef0baf6dd23d7f7e837a2bfb7154059
/frameworks/base/graphics/java/android/graphics/Path.java
0e12fa12cb2cd4e049e560bdad8f1cd654825f3b 12-Nov-2014 Chris Craik <ccraik@google.com> Add offset method to Outline

Also clean up offset docs in Path

Change-Id: Ieca02611d32acce726efba652ae1969340a55a76
/frameworks/base/graphics/java/android/graphics/Path.java
24609581330bc350f797179e3c1a59789c645ec2 13-Jun-2014 Antonio Calabrese <acalabrese@google.com> Added primitive parameters to various functions requiring rectangles.

Change-Id: I5a2678fa989f0ff34404b8236787a8153b05f113

bug:14322352
/frameworks/base/graphics/java/android/graphics/Path.java
7979388d4f7d5d9dbfcf7e1cc4709f8088c034ae 25-Apr-2014 Chris Craik <ccraik@google.com> Support Oval GradientDrawable outlines, and ShapeDrawable

Change-Id: Ifc9e55757d3325cb28a1a812ec696512d4a18b39
/frameworks/base/graphics/java/android/graphics/Path.java
5be83edd15e11420287cc0af93a95d5a6dfae68f 04-Mar-2014 Chris Craik <ccraik@google.com> Add Path.isConvex, and force View outlines to be convex

Change-Id: Idf3f1ee44240d77f7a7ddd0da898da8aa5d41864
/frameworks/base/graphics/java/android/graphics/Path.java
56f57ccbd4fbbf4d572cc966d1cb76d7ae7ad334 31-Jan-2014 George Mount <mount@google.com> Revert "Add Path trimming."

Bug 12489442
This reverts commit 7fe03a267e6edb65142444765ce29ad5ff126052.

Change-Id: Idf434d79683e170364838388c7933a8591f7f4d3
/frameworks/base/graphics/java/android/graphics/Path.java
e55bc7f1575fc5dacac70c4cb209e6aa0c582e71 29-Jan-2014 Narayan Kamath <narayan@google.com> Path.native_trim should return long, not int.

Change-Id: Idafc4c58eb86ad1af614d31f8cb05216bd869482
/frameworks/base/graphics/java/android/graphics/Path.java
36bef0bf30d6bae48cf3837df351075ca4fce654 20-Jan-2014 Ashok Bhat <ashok.bhat@arm.com> AArch64: Make graphics classes 64-bit compatible

This a merger of two commits submitted to AOSP by
the following authors:

ashok.bhat@arm.com, david.butcher@arm.coma
craig.barber@arm.com, kevin.petit@arm.com and
marcus.oakland@arm.com

Due to the very large number of internal conflicts, I
have chosen to cherry-pick this change instead
of letting it merge through AOSP because the merge
conflict resolution would be very hard to review.

Commit messages below:

================================================
AArch64: Make graphics classes 64-bit compatible

Changes in this patch include

[x] Long is used to store native pointers as they can
be 64-bit.

[x] Some minor changes have been done to conform with
standard JNI practice (e.g. use of jint instead of int
in JNI function prototypes)

[x] AssetAtlasManager is not completely 64-bit compatible
yet. Specifically mAtlasMap member has to be converted
to hold native pointer using long. Added a TODO to
AssetAtlasManager.java to indicate the change required.

Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>

==================================================================

AArch64: Use long for pointers in graphics/Camera

For storing pointers, long is used in
android/graphics/Camera class, as native
pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use of
jint instead of int in JNI function prototypes)

Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>

===================================================================

Change-Id: Id5793fa0ebc17ee8b1eecf4b3f327977fdccff71
/frameworks/base/graphics/java/android/graphics/Path.java
7023df08f14ec5dee76ac54c03e870f84e297636 27-Jan-2014 Narayan Kamath <narayan@google.com> Revert "AArch64: Make graphics classes 64-bit compatible"

This reverts commit 18b4cbeedef21c1fa666a110a157bab66edff976.

Change-Id: I0c52983a3ab1ace3ff743de546a43eca28e5cb0e
/frameworks/base/graphics/java/android/graphics/Path.java
18b4cbeedef21c1fa666a110a157bab66edff976 20-Jan-2014 Ashok Bhat <ashok.bhat@arm.com> AArch64: Make graphics classes 64-bit compatible

This a merger of two commits submitted to AOSP by
the following authors:

ashok.bhat@arm.com, david.butcher@arm.coma
craig.barber@arm.com, kevin.petit@arm.com and
marcus.oakland@arm.com

Due to the very large number of internal conflicts, I
have chosen to cherry-pick this change instead
of letting it merge through AOSP because the merge
conflict resolution would be very hard to review.

Commit messages below:

================================================
AArch64: Make graphics classes 64-bit compatible

Changes in this patch include

[x] Long is used to store native pointers as they can
be 64-bit.

[x] Some minor changes have been done to conform with
standard JNI practice (e.g. use of jint instead of int
in JNI function prototypes)

[x] AssetAtlasManager is not completely 64-bit compatible
yet. Specifically mAtlasMap member has to be converted
to hold native pointer using long. Added a TODO to
AssetAtlasManager.java to indicate the change required.

Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>

==================================================================

AArch64: Use long for pointers in graphics/Camera

For storing pointers, long is used in
android/graphics/Camera class, as native
pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use of
jint instead of int in JNI function prototypes)

Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>

===================================================================

Change-Id: Ib3eab85ed97ea3e3c227617c20f8d213f17d4ba0
/frameworks/base/graphics/java/android/graphics/Path.java
7fe03a267e6edb65142444765ce29ad5ff126052 23-Nov-2013 George Mount <mount@google.com> Add Path trimming.

Change-Id: Iafcf127a5136883ad4c0185d3c15f96d67f38d0d
/frameworks/base/graphics/java/android/graphics/Path.java
34d8519de44f301ce0b7196e248e58345d3cd35a 20-Nov-2013 George Mount <mount@google.com> Merge "Add animations along a Path."
c96c7b2e54965e30c8fb82295f1ca9f891ebd5e7 23-Aug-2013 George Mount <mount@google.com> Add animations along a Path.

Change-Id: If03bd10a3961ff874e33489e1253146b8dadca33
/frameworks/base/graphics/java/android/graphics/Path.java
02a2aab57c71f1058348cec0fc3a6aaa07250bc9 08-Nov-2013 John Reck <jreck@google.com> Always do simple path detection

HardwareRenderer.isAvailable() only returns false under an emulator
As such eliminate Path's dependency on the HardwareRenderer by
always doing simple path detection. The only drawback is a bit of
wasted work in the emulator.

Change-Id: I89d452bd24a6c6751ed8017c13a9e97f8a1a940d
/frameworks/base/graphics/java/android/graphics/Path.java
d0f379c1976c600313f1f4c39f2587a649e3a4fc 02-Oct-2013 Mike Klein <mtklein@google.com> Preserve fill type in Path.reset().

Bug: 10838355
Change-Id: I7bdecb945fc35dfed02d37745678ae7bda906628
/frameworks/base/graphics/java/android/graphics/Path.java
8018c8db8221aa604b3c083e09d173cc27e53d83 30-Jul-2013 Romain Guy <romainguy@google.com> Add path ops API

Path ops can be used to combine two paths instances in a single path
object. The following operations can be used:

- Difference
- Reverse difference
- Union
- XOR
- Intersection

To use the API:

Path p1 = createCircle();
Path p2 = createRect();

Path result = new Path();
result.op(p1, p2, Path.Op.DIFFERENCE);

This code will subtract the rectangle from the circle and generate
the resulting path in "result."

Change-Id: Ic25244665b6691a7df0b0002a09da73d937b553b
/frameworks/base/graphics/java/android/graphics/Path.java
70336dd0eb4d06004687bfdeda0047b5675433e3 18-Jan-2013 Derek Sollenberger <djsollen@google.com> Update enum value to match those in the native header.

Change-Id: Idfb921ecd138baa8570ac1e92bdeb291dbf9207e
/frameworks/base/graphics/java/android/graphics/Path.java
fa0853e0b92617128531188edd6a749a72b86432 17-Nov-2012 Chris Craik <ccraik@google.com> Add missing variable copies in Path copy constructor

bug:7564602

Also, clear isSimplePath flag for possible translates, since rect drawing path
doesn't support them

Change-Id: Ibb4a3e87ace0feb16bce1c6032016c5f4643f8d6
/frameworks/base/graphics/java/android/graphics/Path.java
7f9f99ea11051614a7727dfb9f9578b518e76e3c 11-Aug-2011 Xavier Ducrohet <xav@android.com> Make some methods/fields package private so that layoutlib can access them.

Change-Id: I4aeadfbaf8a4f6a459fa19937c21ac23d9e5fb64
/frameworks/base/graphics/java/android/graphics/Path.java
d4b5795e5efd05be7e482e013dfdec519ad2601e 09-Jul-2011 Romain Guy <romainguy@google.com> Correctly render nested rectangles with different winding rules.

Change-Id: I331d9dc1c17aee62a2fa213692c62a5ba1bb079a
/frameworks/base/graphics/java/android/graphics/Path.java
d79991277043d6bdbd90bb63fd8aff73ef9e06a5 01-Oct-2010 Romain Guy <romainguy@google.com> Make simple paths made of lines work.

Bug #3041098

Change-Id: Ife9c3f01ded10e2bb35b1cdf1a54734d8347fee4
/frameworks/base/graphics/java/android/graphics/Path.java
a48a1a87ba17f20f7006eaab21dcedf86c015c13 10-Aug-2010 Romain Guy <romainguy@google.com> Fast text selection drawing.

Change-Id: I93fb1312b47bc05345defa9b6cfe47c0658bb329
/frameworks/base/graphics/java/android/graphics/Path.java
61c8c9c5b2006d18e9310b6521c65b36ffe75ce4 10-Aug-2010 Romain Guy <romainguy@google.com> Fix tons of bugs and add new text rendering support.

Change-Id: I326c66b10784006f6df2f12d38e120cef94cd0d7
/frameworks/base/graphics/java/android/graphics/Path.java
7fbcc0492fca03857e3c45064f4aa040af817d55 05-Aug-2010 Romain Guy <romainguy@google.com> Add support for paths.

Rendering is implementing by rasterizing the paths into A8 textures.
This cna be extremely inefficient if the path changes often.

Change-Id: I609343f304ae38e0d319359403ee73b9b5b3c93a
/frameworks/base/graphics/java/android/graphics/Path.java
54900e8c05e92a0783e8468ad7c4513eb66adc80 25-Mar-2010 Mike Reed <reed@google.com> update dox that we ignore the exact parameter on computeBounds

Change-Id: I6051210ea2a73b4d1c6cd631a285209ab130b4e5
/frameworks/base/graphics/java/android/graphics/Path.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/graphics/java/android/graphics/Path.java
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/graphics/java/android/graphics/Path.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/graphics/java/android/graphics/Path.java