Binder APIs which wish to consume Bitmaps *and* drawable
resources can now do so by using Icon, a kind of union type
that accommodates each of these. Icon also accepts byte
arrays holding compressed Bitmaps (PNG, JPEG, etc), which
saves clients the additional memory cost of decoding and
sending full uncompressed bitmaps through Binder interfaces.
Receiving clients can call loadDrawable{,Async} and then
getDrawable to start immediately using the image in an
ImageView or other Drawable-hosting container.
Bug: 19609468
Change-Id: Ic1343711c2ac0b15876b46f0b6008b0108a49470
Switch a few places to using android::canvas
instead of SkCanvas as well which eliminated
some JNI
Change-Id: I8f98b56442a06362b82b984cd1bd3a92398d8dbc
Stop assuming that a Java Bitmap has a SkBitmap* that
has some externally managed lifecycle, and instead switch
a bunch of users to accessing the bitmap by providing
their own SkBitmap* on which to set the (ref counted!)
SkPixelRef* instead
Attempt #2 to land this, original issue was in getSkBitmap
and should be fixed
Change-Id: I0fd9e193968b41e5597784140d56b4885906864a
The developer used to be responsible for this and automatically
propagating the values breaks some use cases (ex. in Camera).
Bug: 20696311
Change-Id: Ia8ddc132c6d629bcc27d66f654baf30d9f078568
Addresses a regression in Calendar where a custom drawable that doesn't
implement intrinsic bounds is laid out incorrectly. Also fixes an issue
where ColorDrawable would be laid out incorrectly.
Bug: 20643614
Change-Id: I796f0d3e189e482cf6fa169a5dd13f654d72653c
For correct low-level drawing of low level text, a method that
includes context for shaping is necessary, and it's similarly useful
to provide the direction explicitly rather than running the BiDi
algorithm on the text. The drawTextRun method (in both char[] and
CharSequence variants) has provided this functionality for several
major releases but has been internal. This patch exposes the
methods publicly, and also improves the doc strings for both
the new method and some related ones.
Bug: 20193553
Change-Id: I9be33ca5ae3e7db2b69a56298400671d5ef8ad05
Failing to check the return result from intersect() can cause artifacts
because the developer may assume that the rect has been changed to the intersection.
In particular, when the two rects do not overlap, there is no change made to the
source rect. Instead, the method simply returns false. When developers do not
check that return value, they may use the source rect and get undefined results.
This change adds the @CheckResults annotation that will cause a Lint warning
when developers call this method without checking the return value.
Change-Id: I476367d74e712038c248c2379fb124734298fcc1
Adds explicit padding attributes to LayerDrawable, constrains the ripple
to fit within the container to avoid projection.
Bug: 19359934
Bug: 20083467
Change-Id: I46da941fba37552adeb2c1fe617b799f576df0c6
Adds methods to Paint for finding an offset corresponding to an
advance, and for finding the advance corresponding to an offset,
useful for positioning and drawing a cursor.
Change-Id: Id57402ddd1980650f1d0d2f8bbdb75e43612ec51
Switch a few places to using android::canvas
instead of SkCanvas as well which eliminated
some JNI
Change-Id: I8f98b56442a06362b82b984cd1bd3a92398d8dbc
Stop assuming that a Java Bitmap has a SkBitmap* that
has some externally managed lifecycle, and instead switch
a bunch of users to accessing the bitmap by providing
their own SkBitmap* on which to set the (ref counted!)
SkPixelRef* instead
Change-Id: I0fd9e193968b41e5597784140d56b4885906864a
This patch adds a method to determine whether a typeface has a glyph
to support a particular Unicode character or sequence.
The implementation is based on shaping the text and checking for the
presence of .notdef glyphs, and counting the number of glyphs in the
ligature case. In the case of variation selector control characters, it
currently just returns false because there is no variation selector
support yet (Mongolian Free Variation Selectors work because they're
shaped with GSUB instead).
Change-Id: I8ee4ae0d6e81a0ac57f961eb02dcc35aabd87042
Originally, stroke width is independent of group scaling.
But that is a bug and causing animation trouble.
b/19501782
Change-Id: I33d5e44f2f8b2a82fee1a5a326223a39aaffa86c