History log of /frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
44193ad1f7364411ea9cc338862f13865a53e898 14-Feb-2018 Jerome Gaillard <jgaillard@google.com> Update Paint_Delegate following commit beafa1f

Change Ie73bce52 introduces a new native method to the framework Paint
class. This updates the layoutlib delegate accordingly.

Test: layoutlib tests
Change-Id: Ieeb047e77cde25b8a31018dce32461d4eaef2f5f
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
8d895f714896f0361a33f1e231fc6e38e2a41673 15-Feb-2018 Jerome Gaillard <jgaillard@google.com> Revert "Update Paint_Delegate following commit 7fd36d1"

This reverts commit 60e62d178143e05772fe7cb91b8daad4229522c2.

Reason for revert: Commit 7fd36d1 was reverted

Change-Id: I23c9d6dcdc1f03991cf55bdea1897e6e8a4160f0
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
60e62d178143e05772fe7cb91b8daad4229522c2 14-Feb-2018 Jerome Gaillard <jgaillard@google.com> Update Paint_Delegate following commit 7fd36d1

Change I7db9e2ca introduces a new native method to the framework Paint
class. This updates the layoutlib delegate accordingly.

Test: layoutlib tests
Change-Id: Iff147ff6615206206f34448a6312c12dd0740203
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
71c2d7ba31b2c9ba61a3f33c3cd966fe054db298 22-Nov-2017 Diego Perez <diegoperez@google.com> Add fallback when paint does not have a Typeface

In some cases in appcompat the font is not set for InputTextLayout
password hints. This addresses that by providing a fallback.

Test: N/A
Bug: 67535980
Change-Id: Ic70833b858e979d85b4899b0985e62ef40b1a390
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
67b199adbd46e6df92e7c6195528435c99961c38 08-Nov-2017 Jerome Gaillard <jgaillard@google.com> Update function name after commit 20866c1404

Change I86bf64fd changed the name of a native method in Paint.java. We
update Paint_Delegate.java accordingly.

Test: layoutlib tests
Change-Id: Ic481c7c1a85a5713f9297f7f855c013f91fed990
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
f408dfc07a5198efa1ebdd5692a1985b3a4dd805 24-Aug-2017 Diego Perez <diegoperez@google.com> Font performance fixes

Font management in O has created a lot more overhead in layoutlib.
FontFamily now handles many more fonts so this refactors some code to
improve the performance.

- Reduce calls to deriveFont by combining them.
- Lazily return lists of fonts. In some cases we were creating a full
ArrayList when we could lazily evaluate the elements. Now the paint
object will only re-create the fonts when asked to get the full list.
Also, only invalidate fonts in Paint when needed.

Test: Existing tests pass
Change-Id: I5f13ac30c1127395d91d2b3ddb43a8553285da4c
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
a114194700c3bc600a514e3c9f3caf4ca4c53bb2 14-Aug-2017 Jerome Gaillard <jgaillard@google.com> Update layoutlib following Change Idc9f2b46

Test: layoutlib tests
Change-Id: I9bb7a8b0eff0f0f99e32f13775b13a60cd5a6654
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
0d6938c49a3fe0200e71d8276953b1f1d4d17771 14-Jul-2017 Jerome Gaillard <jgaillard@google.com> Update Paint_Delegate following Change Iee6f8102

Test: layoutlib tests
Change-Id: I875fe71aaa92ed922c67fd85a77c6ecea99b7344
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
b41f44697580390b7d5fa03a91109f4c85c13bd3 13-Jun-2017 Jerome Gaillard <jgaillard@google.com> Update Paint_Delegate following Change I6bf21000

Test: layoutlib tests
Change-Id: I4cd0433a0e4d160dcc3fe9a469d95821071e084d
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
6f7cbde9760a1c00e7f9cc0ba7444ca94b44f830 11-May-2017 Jerome Gaillard <jgaillard@google.com> Cherry-pick Change I4e9995cc to new layoutlib project

Test: layoutlib tests
Change-Id: If24415bb0f09fb3977beb93ffa5a057137a36b18
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
20d1b2579c86a6c25dc1f0b238f6b18069463544 16-Mar-2017 Jerome Gaillard <jgaillard@google.com> Update layoutlib following Changes I2500bd4c and If456266f

Test: layoutlib tests
Change-Id: Idd3993bdc4010fa80a8c78ad80998bc7586322a5
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
5708ad212d8f588c3ff08d20a5a82c0df6aa0c59 01-Feb-2017 Jerome Gaillard <jgaillard@google.com> Ignore justified in layoutlib for the moment

In Change Icbfab2fa, a new justified alignment for text is implemented.
We make layoutlib compatible with those changes without implementing
the new alignment.

Test: layoutlib tests
Change-Id: Ic8254f0f4b2915d654124874fee72c90fd8aa6c6
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
8e7e4cf314f05d82250d0d4429c02d760d988acd 03-Jan-2017 Jerome Gaillard <jgaillard@google.com> Update layoulib following changes in Android source code

This reflects modifications from Id2374bba and I99e1942d.

Test: Run layoutlib tests
Change-Id: I5cd56d8417b997b99be668825d950de661d75818
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
989f4cb6da0c1d20f74a278878bc173c690d0848 24-Nov-2016 Jerome Gaillard <jgaillard@google.com> Fix layoutlib to reflect recent changes in platform code

Test: Layoutlib tests
Change-Id: I81964233a9e580ccee9c9e9b0cf3525babf30bd4
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
7fa71f524c86d6224fb95b571d3a9e32edb32f22 11-Nov-2016 Jerome Gaillard <jgaillard@google.com> Rename native methods that were changed in the platform

This is following commits f22859757b, 94931bd87e, 4387190d8e
and caa08ff5e9.

Test: Run TestDelegates
Change-Id: If90028492c036fc5f69913e4dcad5a1a5fca4b55
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
741ef6aac95e239f894f5640b8ff9728655e98b7 01-Mar-2016 Diego Perez <diegoperez@google.com> Add support for GradientColor in layoutlib

Change-Id: Ia9a55a9e00d7ddb5263f3dbe46b5da8dde457526
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
e4cf18face6980b0c7ac42761512cd93b89927c3 23-Feb-2016 Diego Perez <diegoperez@google.com> Implement native methods in VectorDrawable

Most of the VectorDrawable implementation has been moved to native code.
This CL implements most of the required functionality that existed in
Marshmallow.

Change-Id: I009bcd5c166f2bfa0795d2718fabab4a549eba9f
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
fbe158f5e1f77cea2a335834a1c91fea1c4680aa 07-Oct-2015 Deepanshu Gupta <deepanshu@google.com> LayoutLib fixes for N

Moves LayoutLib to Java 8 - YAY!
Fix delegates

Change-Id: I098996e43e330e995d33f12df1c16355bbc02f0f
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
a1c6015169815e90684917ac215926ae22e61d7a 18-Dec-2015 Diego Perez <diegoperez@google.com> New path interpolation to paint vector drawables

Before this CL, PathMeasure_Delegate would use Path_Delegate.approximate
to get a path segment to draw. Path_Delegate.approximate uses a
flattening iterator to do the path approximation.
Unfortunately, because we do not control the stroke mode while painting,
in some cases the approximation would draw unwanted artifacts caused by
the rough approximation and the use of wrong miter values.
This CL does a much better calculation of the path and interpolates the
segments of the curves instead of replacing them with line segments.

This also fixes an issue with the calculation of empty paths.

Bug: http://b.android.com/187256

Change-Id: I450f7aa4c3d9efcbf902a40c3b4d6d388546893f
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
cdf4dc04d06e0ea9c45fa9ce23b89c0ce672e328 24-Sep-2015 Diego Perez <diegoperez@google.com> Reduce the amount of allocations on Paint_Delegate

When the text properties of the Paint object are updated, or when .set()
is called, updateFontObject will be called. This method is currently at the
top of the methods for number of allocations.
This CL reduces the number of calls to updateFontObject by a 90%,
reducing the number of Font allocations.

Change-Id: I3e232f9e6e230da8ecdd19921faadf2d3f4ff763
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
558943e750cc53eb970a7d535981b5a09aa118c5 07-Jul-2015 Deepanshu Gupta <deepanshu@google.com> Fix Paint_Delegate.native_getRunAdvance()

Bug: 22249573
Change-Id: I29f7abe6448f439059547e1c1e310d3d651ac2d8
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
442aee6bc1abfb143dcfa1ba60d696e576d066c4 22-May-2015 Deepanshu Gupta <deepanshu@google.com> LayoutLib: Change nullity annotations.

Switch from using tools nullity annotations (com.android.annotations)
to android framework annotations (android.annotation).

A new sdk-common prebuilt is required for LayoutLib tests. The new
sdk-common requires an updated tools-common. The updated tools-common
doesn't have nullity annotations. So, instead of adding the annotation
dependency, just reuse the platform ones. This also paves the way to
include other platform annotations like IdRes etc.

Change-Id: I87b8f767d3681d914abe7d1329e26a87f49f50a7
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
e4b3f9e34082ae95d8d39faf37884b75689dc393 14-May-2015 Deepanshu Gupta <deepanshu@google.com> Update rendering fidelity tag to use constant.

Change-Id: If6c1076aa1e070c6bda7be16516fe0e18a95fe2d
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
9fe7fca9bcdceade9c654c6a8dcf0c48be16d78d 12-May-2015 Deepanshu Gupta <deepanshu@google.com> Add missing delegates for M preview.

- Remove ICU dependency (use the version bundled with platform).
- Restructure intelliJ project to move dependencies to module.
- Minor fixes to layoutlib tests.

TODO:
- Load ICU data.
- Hyphenator doesn't work.
- High quality line breaker not present.

Change-Id: I965e096e17bfc97ee995a649c3f4f6f64bb4f70d
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
f2437d399f5af30b921f9dbb91bfa3446e7bd852 13-May-2015 Chris Craik <ccraik@google.com> Revert "Anti-alias by default"

bug:20948129

Keep HIDDEN_DEFAULT_PAINT_FLAGS name.

This reverts commit 1b60cc0529161b5eca6407b551d67d355994c567.

Change-Id: I97cd9c556375c74c52b006bda4fc7b3a2cfa89e1
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
917149eb00bae5acd1900c66a1a3fc9d5bc0fe71 24-Apr-2015 Chris Craik <ccraik@google.com> Anti-alias by default

Change-Id: I19434717dd3af4fdcffbfcca2ffbb485dfebe644
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
82934b5b144917d8d0804ecf62593d2bbf691dfd 15-Oct-2014 Derek Sollenberger <djsollen@google.com> Ensure that all requests for the Paint's nativePtr use p.getNativeInstance()

Since requesting the native pointer triggers specific paint behavior we need
to ensure that the field is private and that callers use the public method.

Change-Id: I598a8bf2904960023397728c1ce4502ce408348e
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
382256f48d53d2e239bf7435049dd01a4e18cfb0 09-Aug-2014 Deepanshu Gupta <deepanshu@google.com> Don't show warnings for fonts not bundled.

The extended font set, used on Nexus 5, new Nexus 7 etc., uses OpenType
CFF fonts which don't work well with Java. These fonts are deliberately
excluded from the SDK build.

This change skips the warnings for the missing fonts. However, we still
show warnings for other fonts that failed to load. If the set of fonts
bundled with the SDK changes, we will need to update the list of missing
fonts in FontFamily_Delegate.java.

Change-Id: I3197b5350d048daa09512e8024188909179b1799
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
a74fdf0ffb09c977ebb47a67e45504252b71f2f6 31-Jul-2014 Deepanshu Gupta <deepanshu@google.com> Fix Delegates

Change-Id: I2b6a6b679b7a5b2532b76b723155bc2763b70768
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
237740ba09c2dc38ea37e6e5ca1fe1d90e26c298 26-Jun-2014 Deepanshu Gupta <deepanshu@google.com> Update text rendering delegates.

The flags for RTL and LTR are simplified in commit
0a1d91862a3822dcbbb412bcd6d69b0f5f079f8b. This change follows up the
same in LayoutLib.

This also fixes the following bug which incorrectly computed runs with
'en-dash' (\u20132) as RTL.

Bug: http://b.android.com/69432
Change-Id: Iaed62d13ce31f107773576ed2ef412be6037cd04
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
1128e789ab65efbc69405b2fd3455f4cd2fc45ec 22-Jun-2014 Deepanshu Gupta <deepanshu@google.com> LayoutLib: Support PorterDuffColorFilter

Add support for select modes for PorterDuffColorFilter.

Change-Id: Ia7b4a6a92c326be977dd87a70f54c1f8954b546d
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
8916b210243a81a16e0184c432ab3230b9d05a8d 12-Jun-2014 Deepanshu Gupta <deepanshu@google.com> LayoutLib: Better support for compact/elegant fonts.

Change-Id: I67439924bc6323490ea0c7d7864985b400906f8c
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
b1ce7c1c2d22e1455f1a2f741d38424988aa6be6 05-Jun-2014 Deepanshu Gupta <deepanshu@google.com> LayoutLib: Add assertions for typeface.

Framework passes typeface along with the paint object at many places.
Paint_Delegate is supposed to have the typeface object with it. Add
assertions to ensure that the two typefaces are indeed the same.

Change-Id: I68193513c2d99f269c0458d6493f23025bbda385
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
5a6b3abbea80a776409fc45c1db0c3e3e557e99f 31-May-2014 Deepanshu Gupta <deepanshu@google.com> LayoutLib: Font variants

Update to support font variants properly.

Change-Id: Iabe37babd9ddce80a9ba9eca7e0e5a0ffb090646
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
017c06241e22e290406ae53402f96e3e2a9597b8 20-May-2014 Deepanshu Gupta <deepanshu@google.com> Layoutlib fixes for L [DO NOT MERGE]

This adds the new delegates that were missing. This starts the work on
changes related to Minikin Fonts.

There are some changes related to TypedArray that still need to be
fixed.

Change-Id: Ic2397b64aa3f1f48926e849b14689c47d9ee7f8c
(cherry picked from commit 7ca3612094270183243938e79337c84effea7ad0)
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
0bec685a9bde5e23ee2e9ce598e948e2aec8bcf0 15-May-2014 Deepanshu Gupta <deepanshu@google.com> Layoutlib: Update delegates for L

Update delegate method signatures for L.

Change-Id: Ie607293bcae60b2d3a61d1cad3ac5f04bda2a238
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
bd49b12463bc6f5281f879f4ac580c819879d1df 19-Apr-2014 Deepanshu Gupta <deepanshu@google.com> Add isElegantHeight to Layoutlib

Add the native stub methods for isElegantHeight in Paint.

Change-Id: Iaddde36528fb452e5a150ab35687da781091d14c
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
f9a823540ce0e23e3bbdd7c1fb8bf2639e20a8bc 22-Feb-2014 Deepanshu Gupta <deepanshu@google.com> Update layoutlib tests to check methods return value.

The test in layoutlib bridge has been updated to check the return
value of the delegate method match the value of the overriden method.

This changeset also fixes the problems found due to this change.

Change-Id: I87cef323c4eaee4e9f60475f01156b276593fa50
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
6b363a16a9a46cc7e37dfac87fa656414611ef64 06-Feb-2014 Deepanshu Gupta <deepanshu@google.com> am 50b0ce4e: am fd8cba3a: Merge "Fix the measurement of text bounds." into klp-dev

* commit '50b0ce4e8ed353ed841782aeb58963bc084f2e16':
Fix the measurement of text bounds.
633d68816b468e887eb630aa0a87962d57a0805c 27-Jan-2014 Narayan Kamath <narayan@google.com> Track 64bit changes to android/graphics.

All pointers are now 64bits wide, so should be
represented as java longs and not ints.

Also changed DelegateManager and SparseWeakArray to
reflect the new world order.

(cherry picked from commit 88a8364c386c694f7ad56662ef89713dbf7c9d63)

Change-Id: Ic2f55dd6235751169c5014f9d2ccf3f544259a87
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
eb998d3d38dfb2cab9759ce6b85d0af34f16f77c 07-Jan-2014 Deepanshu Gupta <deepanshu@google.com> Fix the measurement of text bounds.

Bug: 12366230
Change-Id: I203b678363dc7b688c744503ee10216baca658a9
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
a6b207a2cfc2f542a1f9b1eaee1a9047f25b4dea 12-Jul-2013 Deepanshu Gupta <deepanshu@google.com> Fix text rendering

There are still some errors
1. Little vertical clippping for extra tall glyphs.
2. Breaking into scripts isn't perfect which results in incorrect layout
of text.

Change-Id: I54de3c05eca5e8affb1135c120eea24c3afe8a47
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
c398f18739cb807c353545f39458148213c52ca6 24-May-2013 Deepanshu Gupta <deepanshu@google.com> Add missing native methods.

Change-Id: I7b34e2ec0164520efc658053a80f307791a992b1
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
43526ab3e11bc70aacf9809b8273b6a40885ae16 24-Apr-2012 Xavier Ducrohet <xav@android.com> Fix Paint_Delegate with missing native method.

Change-Id: I39638dcb323fdd1ec3cb58dcad05757145d09026
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
272f96546c4495f0b085cf264d6b88521cc6ec9c 20-Jan-2012 Romain Guy <romainguy@google.com> Remove unused code

Change-Id: Ife0a43f3cfe64a1e74401b10bf74d37cbeefb5af
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
8f1091021fd00137b57be61b4aee17a2444872e5 05-Oct-2011 Xavier Ducrohet <xav@android.com> LayoutLib: fix support for textScaleX.

Change-Id: I821191a40012e9727b4a3573d580483c3ae1de48
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
b6f7f57479a571fe2856c8321c4b3baa3530c489 22-Aug-2011 Xavier Ducrohet <xav@android.com> LayoutLib: add native delegate for set/getHinting in Paint.

Change-Id: I1758f8ce861240d72113aa23dcbef5a52abade56
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
81efa7fc08f83f8dc42c3f052c41a7c6eae36275 15-Jun-2011 Xavier Ducrohet <xav@android.com> Fix changed native method delegates in layoutlib for ICS.

Change-Id: I49306868cd8a41b6b7d919c3e8b108d5c014530e
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
b2de8394cdb18593f27601b5736ec299a6851371 24-Feb-2011 Xavier Ducrohet <xav@android.com> LayoutLib: Add debug mode.

Change-Id: If4263c7dba63a063f84e0c6988c270eb6d291ac3
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
f4d52a6152baf569aab9afba2471d3fbd2dfd9d3 23-Feb-2011 Xavier Ducrohet <xav@android.com> LayoutLib: misc fixes.

- implement some Paint methods that are needed for 2.x
- fix the phone system bar to display the icons on the right.

Change-Id: I3a938b14ec9a449dbc23a33303a3c8405a5369a8
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
9167279573bb4365f90423ff6fff9af5a88b399d 22-Feb-2011 Xavier Ducrohet <xav@android.com> LayoutLib: Hold onto delegate references.

When an object is given a delegate to hold onto, keep
the reference to the delegate instead of its native integer.

Also change the way the finalizer works by not explicitely deleting
the delegate. Instead we want the delegate to be deleted when
nothing holds a reference to it. To do this, instead of using
a regular SparseArray, we use a SparseArray of WeakReferences.
Because the main Java object that "owns" the delegate does not
actually holds a reference to the delegate, we fake this by
having the delegate manager hold a reference to delegates for
the main object. This is added/removed as the object is created
and the native finalized is called.

This makes layoutlib behave more like the JNI code where the native
objects are reference counted, and where the Java object can be
deleted but the delegate it owns is kept around (usually because
another type of delegates hold a reference on it.)

To properly handle the WeakReferences, we need to be able to
regularly clear the SparseArray of WeakReference that were
referencing objects that have been GC'ed.
Since the SparseArray is regularly being compacted (actually only
when items are removed), we use a custom SparseWeakArray (started
as a straight copy of SparseArray) that handles the WeakReference
and takes care of compacting the array by removing deleted indices
and WeakReference that returns null. Since our specific use case
doesn't call actually delete() or remove(), the compacting
only happens when the array needs to be resized.

Change-Id: Iacc5c1ff5b21732b8816fda87eb090da12d034e0
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
1eeaea0f020e05a208abbcfbbf99f3777e681bdb 10-Feb-2011 Xavier Ducrohet <xav@android.com> LayoutLib: remove some exceptions.

We need to move away from throwing anything and instead
log errors/warnings.

Change-Id: Ib1af71a90c06e8565fbd0c061ba56f4d19baa3df
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
94c80bfaff4e9f503817254237e1538096a018ef 10-Feb-2011 Xavier Ducrohet <xav@android.com> LayoutLib: Annotate the custom delegate methods.

Every method implementing a delegate needed by the
layoutlib_create bytecode modification must now be
annotated with LayoutlibDelegate.

The methods in the original source code that are delegated
are already automatically annotated. Now with the implementations
being annotated we can do bi-directional tests and find not
only missing implementations but also dead obsolete code.

This will be useful when backporting to earlier versions of
Android, or when native (non public) method disappear. In fact,
the new test detected one such method in Shader.

Change-Id: I491708b68ac2736ca5669aa86cd5e930a00f9db3
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
f69bb29490b24ed4c31ad248e87bffbf923fd4da 15-Jan-2011 Xavier Ducrohet <xav@android.com> LayoutLib: update logs to use new data bundle

Also change some resource.resolve tags to resource.format

Change-Id: I3f0b0d2eb69a5ec98375e4014a3bb1bfceb8c855
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
3f9b0376c69a5f679661d773ea7b59b1e6787090 13-Jan-2011 Xavier Ducrohet <xav@android.com> LayoutLib: Use the new log tag constants from LayoutLog

Change-Id: I29dd578ae16405358d3673caf13528be393f0967
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
ef78fd2b92ad4155d48b02d194ebc2925e9e579b 13-Jan-2011 Xavier Ducrohet <xav@android.com> LayoutLib: use tags in logs.

Change-Id: Ib85272249d285ecef409bf063903bcd91514a424
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
18e518bc7591024b34235c1d001dec7d62a8cf1d 08-Jan-2011 Xavier Ducrohet <xav@android.com> LayoutLib: add a few misc implementations.

Change-Id: I586f1d5ecc4f254fc04ea1171eb499d06ac592eb
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
b97612483440e28c44d0a6ca98760aa7f34dc7fc 23-Dec-2010 Xavier Ducrohet <xav@android.com> LayoutLib: Support Region through delegates.

also finish supporting some clip operation
on the canvas.

Change-Id: I743b9e52a7aa6e9340506f1c904cc1cfbf3ff81f
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
a6e51d549710d42f8ee4776fa5fefa08277c8e57 23-Dec-2010 Xavier Ducrohet <xav@android.com> LayoutLib: add support for unsupported drawing modifiers.

DrawFilter, Rasterizer, ColorFilter and MaskFilter
are not supported but we need to provide their
JNI counterparts anyway, to at least display warnings
when they are used.

Also improved the API to query Paint for Shaders
and PathEffects, and clean up some code by
moving asserts into the DelegateManager.

Change-Id: I8942514565d28576d5608c6373bda25d86d42ff2
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
cf2030ca2a3d127bb965a3c3df92b96a9184732a 21-Dec-2010 Xavier Ducrohet <xav@android.com> LayoutLib: support for layers.

Layers require that drawing methods potentially
draw in more than one bitmaps.

To handle this this patch offers the following:
- move all drawing methods to use Drawable
- Drawables are now handled by GcSnapshot since
its the one handling the layers
- moved Canvas_Delegate.createCustomGraphics to
GcSnapshot which does not expose the Graphics2D
objects anymore so its draw() methods are the only
way to draw.
- handles creating layers in GcSnapshot.save() and
blitting them in restore()

Other changes:
- Clean up the create/save API in GcSnapshot
- Fixed drawing bitmaps with alpha and other
composite modes.

Change-Id: I1e230087493d044a10de71f4b6d29083e3f3bf64
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
66225224938402d96919bf3ddfb0a296eed91598 21-Dec-2010 Xavier Ducrohet <xav@android.com> LayoutLib: Misc rendering fixes.

- always set up the stroke. Paint may not have the proper
style when drawing lines. stroke should still be setup.

- Fixed vertical linear gradient. Old code generated
a gradient ratio of NaN

- Fixed alpha rendering when using shaders. In that
case the alpha channel from the paint color should be
used in conjunction with the shader.

- Fixed miter limit. Java expects the value to be multiplied
by the stroke width

- Fixed support for drawing ALPHA_8 bitmaps. Java2D doesn't
have bitmaps with only alpha channels, so we keep using
ARGB bitmaps but when drawing them into a bitmap we erase
the color information.

Change-Id: I4f04341fc843e3f7dadd1fdbf709b11a4f1e24b9
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
df67eabecc99e318d4057145a957a7549d95e0a3 14-Dec-2010 Xavier Ducrohet <xav@android.com> LayoutLib: implement more of Canvas/Paint.

Change-Id: I8e2a7a3bddbce08db5eb641b5075bedd75f7be27
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
42e2b28e65114175e208565d62ee0041fcd50d25 06-Dec-2010 Xavier Ducrohet <xav@android.com> LayoutLib: Update font object when text info changes in paint delegate

Change-Id: I6ff7e1ec4513918256aee99acc5ea298a5fdb8a8
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
70a04aa097ff6548ffa6efd07d19f2a0424fc3ea 12-Nov-2010 Xavier Ducrohet <xav@android.com> Layoutlib: Fix alpha support in Canvas/Paint.

Change-Id: I359098cfc542a7a0b7d99478c0eb13587b4439d0
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
3bd98986a97e4e1921616a0a86983307e68ceb6c 10-Nov-2010 Xavier Ducrohet <xav@android.com> Layoutlib: New bridge implementation using the new API 5.

Since the new API prepare for stateful layoutlib, major
reorganization of the code.

New "android" sub-package for all extended android classes.
Also moved BridgeInflater in here so that all extended classes
are in this package. Only delegates and classes replacing
renamed classes are in their original android.* packages.
Also created full file for the empty implementations of
IWindow and IWindowSession.
New "impl" for the dirty work implementation.
Main package contains the basic implementation of the API.

Most of the code that was in Bridge is now in .impl.LayoutSceneImpl,
with the main init/inflate/render code split into the contrustrutor,
inflate() and render().

Change-Id: Ie15b15e5a1b2388cd6ef82e518345b1fc02ec981
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
f1a1745224b8b6af23e15d2bf93631da80adc355 02-Nov-2010 Xavier Ducrohet <xav@android.com> Layoutlib native delegate: primitive shapes and shaders

Change-Id: Id2b0c6231589e82d8e96c9f019042eba348a6583
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
a313b65bd4d0cc38f2237003e770b28aad39d136 02-Nov-2010 Xavier Ducrohet <xav@android.com> More layout Canvas/Paint implementation.

Change-Id: Ib3da4a4b2259dc7c53b24444b5c0b78cee15d387
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
37f2180272fcb5a862c0009fbb41bb48d51a735a 02-Nov-2010 Xavier Ducrohet <xav@android.com> More implementation of the layoutlib Paint/Canvas delegates.

Change-Id: I0c0029b9a679af4ae0178488f70b2a90292ea42d
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
ef44aead46faf1bbc4120825cd6e457ac8ddba1b 28-Oct-2010 Xavier Ducrohet <xav@android.com> Layoutlib Canvas and Paint implementation through native delegates

Also fix native delegate generation to put "this" parameter even
for methods that don't have any parameters.

Change-Id: I5dd0c505871370ff7b4cda16de84a5b3ae438f73
/frameworks/layoutlib/bridge/src/android/graphics/Paint_Delegate.java