History log of /frameworks/base/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0d9c922c9614147d1277cb36cfb7296774415d15 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/base/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
279c00e8e0abb20f7e10577c77937c058da080bf 24-May-2013 Deepanshu Gupta <deepanshu@google.com> Add missing native methods.

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

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

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

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

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

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

Change-Id: If4263c7dba63a063f84e0c6988c270eb6d291ac3
/frameworks/base/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
c6083f2c9eadb1f8a502ea9806868f5b0148667e 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/base/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
cc4977d0fdaf657907912fd6cc2f9426dc8d2e36 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/base/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
8a80a8555238cc564f445f902aff5231993a8f96 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/base/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
9a4fe29c8d92014d2d9a848e9116b8cc9d0842f9 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/base/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
51a7e5447de94791c464cda5cc6ebbf616d73c80 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/base/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
918aaa5717fce6081557c82ce1c439b6922737d5 13-Jan-2011 Xavier Ducrohet <xav@android.com> LayoutLib: Use the new log tag constants from LayoutLog

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

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

Change-Id: I586f1d5ecc4f254fc04ea1171eb499d06ac592eb
/frameworks/base/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
b44b43b1579486ff7ecd0f7528f17711acdeae98 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/base/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
d43909c7503e11eb335a452d296a10804bb01fd6 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/base/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
d38e776a3cc8cb53945cbebafbe6f6c2e3501fa5 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/base/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
63fd87113cea6abec97a6cd966e090e9b590fc3b 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/base/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
8da36314fd76ae6fe4549773ad00dc1883cb6bff 14-Dec-2010 Xavier Ducrohet <xav@android.com> LayoutLib: implement more of Canvas/Paint.

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

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

Change-Id: I359098cfc542a7a0b7d99478c0eb13587b4439d0
/frameworks/base/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
c2e9651bf386a1f7bf7fc706cf5424950570470c 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/base/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
251d2e99245095369b52d891a660b2ed270f02e0 02-Nov-2010 Xavier Ducrohet <xav@android.com> Layoutlib native delegate: primitive shapes and shaders

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

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

Change-Id: I0c0029b9a679af4ae0178488f70b2a90292ea42d
/frameworks/base/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
9f63ff263b0a97f0fa63e97136c18f6abccbfc68 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/base/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java