History log of /frameworks/base/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/GcSnapshot.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f666c0e2eaceb265069a77c520e84c1a08f08ae4 24-Nov-2016 Jerome Gaillard <jgaillard@google.com> Fix layoutlib to reflect recent changes in platform code

Test: Layoutlib tests
Change-Id: I81964233a9e580ccee9c9e9b0cf3525babf30bd4
/frameworks/base/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/GcSnapshot.java
555fcd5579aa4719e182eda964071e649076684f 13-Aug-2016 Jerome Gaillard <jgaillard@google.com> Fix shadow painting in layoutlib

Shadows could be painted outside of the allowed drawing region
for the components for which they are the shadow.

Bug: http://b.android.com/215402
Change-Id: I2d2821b745147f3723e8f11d648094fcd684fe51
(cherry picked from commit 9702fffc768db43d0aba4fb1bea54af50af11361)
/frameworks/base/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/GcSnapshot.java
76e53b5b045d968c696cb908b45738e27b2a6e52 15-Sep-2016 Diego Perez <diegoperez@google.com> Handle the case where there is no clip defined

Currently this generates a NPE.

Bug: http://b.android.com/221956
Change-Id: I54e758ea001c3ed41d3d01a09d9ed66be45233cc
/frameworks/base/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/GcSnapshot.java
8ab069f3aed15c7e5de32ff52a3b4710218f9895 22-Apr-2015 Diego Perez <diegoperez@google.com> Fix GcSnapshot drawInLayer when clipping is used.

GcSnapshot only allocates an image for tinting that is the size of the
current clipping area. When drawing to that image, the wrong
coordinate system was used since now we are dealing with only the
clipping rect we need to translate -clipX, -clipY the drawing so it's
painted at 0,0 of the new BufferedImage.

Change-Id: Id8639d5ea9bef36ac07743df332161d6eadc6a81
/frameworks/base/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/GcSnapshot.java
f3cb4ba213a0fa4d1c184c430a2eaac7e27ccf6f 16-Feb-2015 Diego Perez <diegoperez@google.com> Avoid caching mImage on the main render loop and use clipping.

+ Added a session flag that avoids caching mImage. This is useful when
mImage is just a Graphics2D wrapper that might change at any time.
+ Make GcSnapshot aware of the clipping so it doesn't need to render the
whole area if not needed.

Change-Id: Ie0134c2bc2741b5fa6648313864c851bbac066cf
(cherry picked from commit 2c5e85b303077d2120b428bd4c7e6ecb6970935b)
/frameworks/base/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/GcSnapshot.java
f2af1f5d8aaff684f8cc6d8e31454c945e190976 22-Jun-2014 Deepanshu Gupta <deepanshu@google.com> LayoutLib: Support PorterDuffColorFilter

Add support for select modes for PorterDuffColorFilter.

Change-Id: Ia7b4a6a92c326be977dd87a70f54c1f8954b546d
/frameworks/base/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/GcSnapshot.java
282e181b58cf72b6ca770dc7ca5f91f135444502 24-Jan-2014 Adam Lesinski <adamlesinski@google.com> Revert "Move frameworks/base/tools/ to frameworks/tools/"

This reverts commit 9f6a119c8aa276432ece4fe2118bd8a3c9b1067e.
/frameworks/base/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/GcSnapshot.java
9f6a119c8aa276432ece4fe2118bd8a3c9b1067e 28-Aug-2013 Mike Lockwood <lockwood@google.com> Move frameworks/base/tools/ to frameworks/tools/

Change-Id: I3ffafdab27cc4aca256c3a5806b630795b75d5c8
/frameworks/base/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/GcSnapshot.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/com/android/layoutlib/bridge/impl/GcSnapshot.java
0831b3fae504e8fa94e6b1cc0d4e6c3fccaef231 15-Jan-2011 Xavier Ducrohet <xav@android.com> LayoutLib: Misc fixes.

- Fix resource resolution for framework
resources of type "id" that are dynamically generated
through "@+id/..."

- Proper implementation of setBitmap on a canvas that
already has a bitmap. Transform/clip are kepts but the
existing layers are replaced with the new bitmap

- return a null service for INPUT_METHOD_SERVICE in
Context.getSystemService

Change-Id: I35e46fff50e6492a8995e95427d5f38bc945429d
/frameworks/base/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/GcSnapshot.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/com/android/layoutlib/bridge/impl/GcSnapshot.java
56222cfbe9973c518f7e8c9113c614de80b5a4b2 13-Jan-2011 Xavier Ducrohet <xav@android.com> LayoutLib: use tags in logs.

Change-Id: Ib85272249d285ecef409bf063903bcd91514a424
/frameworks/base/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/GcSnapshot.java
a7cac5e0542779cadf0f5ccf71584e4b4425f7a6 07-Jan-2011 Xavier Ducrohet <xav@android.com> LayoutLib: fix clipping issues.

There were two issues:
- Graphics2D.setClip only works on rectangular shapes.
This means doing a setClip on a non rectangular shape should
basically reset the clip and intersect with the new shape.

- the current clip can be null, so the combineShape method
must handle it.

Change-Id: Id2cd7475e991d8b533ff2e8850cc2c27663f9e52
/frameworks/base/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/GcSnapshot.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/com/android/layoutlib/bridge/impl/GcSnapshot.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/com/android/layoutlib/bridge/impl/GcSnapshot.java
20805343296eef04081fee82fd04547f51225fe3 23-Dec-2010 Xavier Ducrohet <xav@android.com> LayoutLib: Fix Canvas layer support with 2+ layers

- When drawing is not clipped to the top layers,
drawing should not happen automatically on all
existing layers. Instead each layer's flags dictate
whether drawing should happen on layers beneath, starting
with the top layer.
- upon restore, the same mechanism is taken. Only blit
a layer into the layer beneath if it was drawn into
using the logic above.

Also fixed:
- saveLayer() does not, in fact, always save matrix
and clip info. The flag dictate this, the same way
it does in save()
- drawing code didn't properly detect the case of drawing
into layers if a save() was called after saveLayer().
Now the code only looks at the layer list which provide
all the needed info (flags mostly), and doesn't rely
on mLocalLayer (which is used during restore only now).
- Properly handle HAS_ALPHA_LAYER_SAVE_FLAG (or lack
thereof) when creating the BufferedImage for the layer.

Change-Id: I2fbbcc0f5d3a3dd208763705bc23e6658fd4e573
/frameworks/base/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/GcSnapshot.java
b1da1afa7418960b650780250bbd34c81af61aa3 22-Dec-2010 Xavier Ducrohet <xav@android.com> LayoutLib: improve bitmap support.

Change-Id: I703c2bdf51380b54fd5c20b08d3bc74833d9bc6e
/frameworks/base/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/GcSnapshot.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/com/android/layoutlib/bridge/impl/GcSnapshot.java
cfdc784b6cdcbbb2bf2ba4d53d9a9eb2c37278a3 15-Dec-2010 Xavier Ducrohet <xav@android.com> LayoutLib: replace the stack of Graphics2D with custom snapshots.

The first step is to allow the canvas to save only the matrix or
the clip. Previously, since the graphics2D were created completely
new on each save, everything was saved.

Also allows to set transform/clip on the Canvas when no bitmap
has been set (and therefore no Graphics2D exists).

This is required by BitmapFactory.

Change-Id: I37eff6dde1ca708d58ba317b40e9b3236f3ef3d0
/frameworks/base/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/GcSnapshot.java