History log of /frameworks/base/graphics/java/android/graphics/Paint.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d1d7389880225f126abcc2a268ab62cce97a92a5 19-Aug-2014 Chris Craik <ccraik@google.com> Update setShadowLayer doc

bug:17134528
Change-Id: I436bb0163b18d0b88954bf9dac16e51d14a533eb
/frameworks/base/graphics/java/android/graphics/Paint.java
e272a26de16b7eebb6f9e1303254f11544a5d3b8 08-Aug-2014 Raph Levien <raph@google.com> Make letterSpacing and fontFeatureSettings public

We added APIs and TextView xml attributes to give access to letter
spacing and OpenType features. This patch makes these changes part of
the public API.

Bug: 15246510
Bug: 15594400

Change-Id: I7a54cb0da2746304a5c72a687612a279cac652e0
/frameworks/base/graphics/java/android/graphics/Paint.java
e9ad3931fae71c8a8cd000fd52d5df4be79b0895 31-Jul-2014 Behdad Esfahbod <behdad@google.com> Add fontFeatureSettings to TextView and attrs

New API is hidden.

Bug: 15246510
Change-Id: I8cdbbd3a36fc280e07569dbb130f8c237062fff5
/frameworks/base/graphics/java/android/graphics/Paint.java
805f6ebf17e2791624bb1a30834b4c1cc65583bf 30-Jul-2014 Behdad Esfahbod <behdad@google.com> Support FontFeatureSettings in Paint

New API is hidden.

Bug: 15246510
Change-Id: Idefca06a366de0d87f53d123b5291788448de4d0
/frameworks/base/graphics/java/android/graphics/Paint.java
fa80f7491df82d71b7084500519a2195afbea706 18-Jul-2014 Behdad Esfahbod <behdad@google.com> Add letter-spacing to Paint and TextView

New API is hidden.

Bug: 15594400
Change-Id: I5cbe7aebef0b7280eb13924f2a706c0cb4a4688e
/frameworks/base/graphics/java/android/graphics/Paint.java
866cf65cc3c53f67836c9157d5c661adfdbd25e1 22-Jul-2014 Leon Scroggins III <scroggo@google.com> Make updateLocalMatrix replace the current Matrix.

Fixes a bug introduced in I3c3316377874e89fccc85afb864bc038b0ef3890.

CreateLocalMatrixShader combines the existing matrix with the new
matrix, which is not what we want. Keep track of the original
SkShader at all times, and always create the local matrix shader
with the original. Store the SkShader with a local matrix as
Shader.native_with_local_matrix.

Make Shader.native_instance private. Instead of allowing direct
access, add an init() method which sets it, and getNativeInstance(),
which returns either native_instance or native_with_local_matrix,
as appropriate.

Make Shader subclasses call init(), instead of setting native_instance
directly.

Pass native_with_local_matrix pointer to nativeSetLocalMatrix and
nativeDestructor, which unrefs it (if not null).

Since nativeSetLocalMatrix no longer replaces the original, do not
unref it.

Add a comment to Shader.updateLocalMatrix that it does not affect
ComposeShaders created with this Shader. (This should have been a
part of I3c3316377874e89fccc85afb864bc038b0ef3890.)

BUG:16293121
Change-Id: Ieb31c7e1fe99081f6b81493178f4a18d3c5df643
/frameworks/base/graphics/java/android/graphics/Paint.java
d194262f53799ef7cd660729a8f1027263f73e27 26-Jun-2014 Raph Levien <raph@google.com> Delete Paint.getTextGlyphs()

The Paint.getTextGlyphs() method was used for testing the old Arabic
shaper and is entirely obsolete. Note that this is the very last
dependency (other than some enums in the header) for the old TextLayout
code path.

Change-Id: I7b596f0c0942ed50987fc8e0478cd93e667f1f9e
/frameworks/base/graphics/java/android/graphics/Paint.java
a7aa1b0aa566b2ff310cb89fbc9437de4819f583 12-Jun-2014 Anish Athalye <aathalye@google.com> Implement Paint.breakText() using Minikin

Change-Id: I36cee2d840ce1bd24a9a06f0c680880396b7398a
/frameworks/base/graphics/java/android/graphics/Paint.java
051910b9f998030dacb8a0722588cc715813fde1 16-Jun-2014 Raph Levien <raph@google.com> Clean up dirFlags / bidiFlags confusion

The dirFlags and bidiFlags enums are distinct, and have different
meanings. The former is a determined direction for a run of text, while
the latter is a request for the bidi algorithm. They have been used
interchangeably, and this has caused some problems, notably running the
bidi algorithm needlessly when the direction for a run is already
determined.

This patch cleans up the confusion, by always naming each occurrence
explicitly "boolean isRtl" or "int bidiFlags" (the previous code often
just used "int flags", which added to the confusion), and converts
between the meanings when a function takes an isRtl argument but passes
it to another function expecting bidiFlags.

Fixes b/15089607 Clean up bidi flag mess

Change-Id: I410b6604376e853dd12c255e7f5a9d2b9a310dd9
/frameworks/base/graphics/java/android/graphics/Paint.java
854363e3d2fb2a9e41d8719f4a2f0f8b89440a46 04-Jun-2014 Raph Levien <raph@google.com> Fix incorrect getStringBounds (Minikin)

This patch wires up getStringBounds to do the layout with Minikin to get
accurate bounds, and with the correct typeface. It fixes bug 15416575
"getStringBounds gives wrong result in Minikin".

Change-Id: I5c020bc372acb1d785a33c3c296239c151bd8c87
/frameworks/base/graphics/java/android/graphics/Paint.java
f2114d5646194100242206b267ddd6e7194b7da9 02-Jun-2014 Raph Levien <raph@google.com> Better Minikin integration

This patch improves the Minikin integration in a number of ways,
including:

Software rendering does text decorations and handles alignment
correctly. This fixes bug 15139067 "Centered text isn't working".

Paint implements getTextPath. This fixes bug 15143354 "Text rendering in
Maps Navigation wrong typeface?"

Also a bit of refactoring, since there was duplicated code for iterating
font runs that's now a static method in MinikinUtils.

Change-Id: I4cfdb2c0559982376348325a757d95235fab1768
/frameworks/base/graphics/java/android/graphics/Paint.java
ca2624122c4ea4c22f305aec670f7841771c00ee 15-May-2014 Mike Reed <reed@google.com> Merge "document and deprecated Rasterizer"
2836c4722a156ec78d7f4101b394885a354f5dd6 15-May-2014 Raph Levien <raph@google.com> Merge "Start of Minikin integration"
1a73f732f91e97c9c66b808c245ddda36a10e987 31-Jan-2014 Raph Levien <raph@google.com> Start of Minikin integration

This is the current state of the Minikin integration. All changes are
hidden behind USE_MINIKIN #ifdef, so it should be safe to apply. To
play with the Minikin branch, set this in your BoardConfig.mk .

This change also merges in 64-bit changes that were happenening in
parallel.

Change-Id: Idd94553bcbe324c5875d0ff06495c966c3e95b7f
/frameworks/base/graphics/java/android/graphics/Paint.java
3c35b57cbbc1b20d609753f24677a305bff88f29 09-May-2014 Mike Reed <reed@google.com> document and deprecated Rasterizer

Change-Id: I02f6a47aeb96b27c3fb9f6d003648f794e3d7cf4
/frameworks/base/graphics/java/android/graphics/Paint.java
c29a0a4664a4b9871fadd668b632469a0db240b9 31-Mar-2014 Derek Sollenberger <djsollen@google.com> Avoid caching shadow properties in Java & HWUI.

bug: 10650594
Change-Id: I6f57df002710bb0567ed7e53fc0bfe96cfd504b8
/frameworks/base/graphics/java/android/graphics/Paint.java
53c0077256afebb0312f01ef4f60a7445da1f5d9 14-Apr-2014 Raph Levien <raph@google.com> Add elegantTextHeight text appearance attribute

This patch adds an elegantTextHeight text appearance attribute and
plumbs it through to the paint. This attribute selects the elegant
variant of fonts (when appropriate, which is typically Arabic and indic
scripts), and also specifies larger vertical metrics, to avoid clipping.

The intent is for this to be the default for quantum themes, but this
patch doesn't change any default behavior, just adds the attribute.

The larger vertical metrics are applied to top and bottom, but should
not affect line spacing in the common case. Also, with the setting,
metrics are no longer dependent on the font, so setting a custom font
will preserve layout and spacing.

Change-Id: If3b7d41f141deff50ca078f479ca90c2aa07829a
/frameworks/base/graphics/java/android/graphics/Paint.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/Paint.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/Paint.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/Paint.java
a033630e805c407080221e20b236b6054f324670 23-May-2013 Raph Levien <raph@google.com> Initial integration of Minikin to framework

With this patch, framework does at least some of its text rendering
using Minikin instead of TextLayoutCache. There's a lot of stuff broken
and not yet implemented, but the phone will boot.

Changes are hidden behind USE_MINIKIN, which should be set in
BoardConfig.mk for the brave. Without that, there are changes to
signatures in JNI methods and so on, but shouldn't be any visible
changes.

This commit also introduces a new abstraction for Typeface:

The new TypefaceImpl abstraction represents the functionality that
corresponds to a Java Typeface object. Currently it is backed by
SkTypeface, but in the migration to Minikin it is a FontCollection
combined with a FontStyle. This patch introduces a USE_MINIKIN
preprocessor switch, so there is no substantial change to existing
Skia-based code, but which lets us start replacing the implementation
with the Minikin version.

Change-Id: I532c4c2d32d4f4c1f349dc1db37caa112af587ea
/frameworks/base/graphics/java/android/graphics/Paint.java
8dc7d5ea2680b7e397d2cdb7f83427d2c86c9de7 25-Sep-2013 Victoria Lease <violets@google.com> clarify Paint flag docs

Bug: 10460797
Change-Id: Iae622b302cad3dc788f512b472e3a59ec227a8d7
/frameworks/base/graphics/java/android/graphics/Paint.java
41207bce2a13c77bf03a05524ba3b3c59f486cc0 09-Aug-2013 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #10205316 CTS (KLP): android.graphics tests are failing

- fix null Shader case during copy

Related to https://googleplex-android-review.googlesource.com/#/c/336815/7

Change-Id: I920d6bb181ddb92d6f771e5060fd1858430e71ad
/frameworks/base/graphics/java/android/graphics/Paint.java
851761574a775c6447ab2393d1ba42568ba08c1b 01-Aug-2013 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix Paint Shader copy"
e3c526f4f603e83c5fa8b9e399506b085f5648b7 31-Jul-2013 Fabrice Di Meglio <fdimeglio@google.com> Fix Paint Shader copy

- Paint.setClassVariablesFrom(Paint paint) was using the same Shader
for the copy as the initial Paint. Make sure that we are using a copy.
- implement a copy() API for shaders

See bug #7034321 Need Drawable RTL support

Change-Id: I4b9cee386edc72ad670723266333b85f4d2b0ab8
/frameworks/base/graphics/java/android/graphics/Paint.java
1e546815bbb736c50679a8aefc25f48561026fc5 25-Jun-2013 Victoria Lease <violets@google.com> Support RGBA fonts and bitmap fonts (and RGBA bitmap fonts)

Quite a few things going on in this commit:

- Enable bitmap strikes by default in Paint objects.

The SkPaint parameter that enables bitmap strikes was not previously
included in DEFAULT_PAINT_FLAGS. This effectively disabled bitmap
fonts. Oops! It's for the best, though, as additional work was needed
in Skia to make bitmap fonts work anyway.

- Complain if TEXTURE_BORDER_SIZE is not 1.

Our glyph cache code does not currently handle any value other than 1
here, including zero. I've added a little C preprocessor check to
prevent future engineers (including especially future-me) from
thinking that they can change this value without updating the related
code.

- Add GL_RGBA support to hwui's FontRenderer and friends

This also happened to involve some refactoring for convenience and
cleanliness.

Bug: 9577689
Change-Id: I0abd1e5a0d6623106247fb6421787e2c2f2ea19c
/frameworks/base/graphics/java/android/graphics/Paint.java
626d3c228116103e95d4429b06dad70f9812561a 27-Mar-2013 Victoria Lease <violets@google.com> bidiFlags != SkPaint::Flags

We've a number of native functions in the text layout path that take
a bidiFlags argument. We've a number of callers of those functions
passing in SkPaint::Flags in that slot. This completely breaks text
directionality for the affected functions, as
SkPaint::kAntiAlias_Flag happens to share values with kBidi_RTL,
resulting in anti-aliased SkPaints measuring text as if it were RTL,
and non-anti-aliased SkPaints measuring text as if it were LTR,
regardless of the actual text directionality. Oops!

To address the issue, this commit replaces erroneous calls to
SkPaint.getFlags() with the value of Paint.mBidiFlags, and includes
the necessary plumbing to get that value where it needs to be.

Bug: 8471481
Change-Id: I2d04b70defed3130fc1ad13f4c9098f5fce4ffde
/frameworks/base/graphics/java/android/graphics/Paint.java
665f02c66702b77db25e950ff433230186bc3243 20-Mar-2013 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #8437358 Clean any ICU related code from TextLayout / Paint and their dependencies

- remove the ICU related methods and update the methods using the "reserved" argument
- update to CTS in another CL too

Change-Id: I5509736568c342d9d17bfeafc17951117ab5d3cc
/frameworks/base/graphics/java/android/graphics/Paint.java
da12f389eb4be0c08ca3fa9ca7663f4977858df5 15-Mar-2013 Fabrice Di Meglio <fdimeglio@google.com> Revert "Clean Paint.mBidiFlags as it is no longer used"

This reverts commit 6d9fe5bd22b531bfce69b146254a4791c76acddc.
/frameworks/base/graphics/java/android/graphics/Paint.java
a4bf8114a73371b51a0eba9d5d61dfeb597a1abb 15-Mar-2013 Fabrice Di Meglio <fdimeglio@google.com> Revert "fix argument mismatches in Paint JNI"

This reverts commit b61fb10fe435b74a761e82f517abd0320f22193e.
/frameworks/base/graphics/java/android/graphics/Paint.java
8e04840f38a16f806754dfca3de50c2548e67913 26-Feb-2013 Victoria Lease <violets@google.com> round subpixels up to next integer in measureText DO NOT MERGE

A common source of layout bugs we're seeing these days involves the
output of measureText() being fed into StaticLayout's constructor.
measureText() returns subpixel-accurate values, but StaticLayout only
takes integral bounds, resulting in the subpixel portion of the
bounds being truncated. This leaves StaticLayout with insufficient
space to layout the text that was just measured, causing all manner
of unexpected line breaks.

This could be causing issues elsewhere, as well. Until our text
pipeline is fully subpixel-perfect, it's best that measureText
guarantee that the value it returns will be sufficient to contain
the text, even if cast to int.

Cherry-pick of Ib84947f0d0a1229287f5b19b99e7efd40f5317f7

Bug: 8164205
Change-Id: I69795ba5770112c0a3d0e752158076a8d1646b1a
/frameworks/base/graphics/java/android/graphics/Paint.java
b61fb10fe435b74a761e82f517abd0320f22193e 15-Feb-2013 Victoria Lease <violets@google.com> fix argument mismatches in Paint JNI

Paint.getTextRunCursor() no longer has a "flags" argument on the Java
side. The native side, however, still had the argument, and was being
called with misaligned arguments, causing all manner of madcap fun.

Also, the version of Paint.getTextRunCursor() that took String as an
argument needed to lose the "flags" argument, as well, to prevent an
infinite loop in the CharSequence version of the function, which was
supposed to be calling the String version but was actually calling
itself.

Bug: 8201224
Change-Id: Iad0dabaf81185f29a082566cc64590f2ba9bc31c
/frameworks/base/graphics/java/android/graphics/Paint.java
6d9fe5bd22b531bfce69b146254a4791c76acddc 12-Feb-2013 Fabrice Di Meglio <fdimeglio@google.com> Clean Paint.mBidiFlags as it is no longer used

See bug #7623824

Change-Id: Ie2f9422821f6dcc73c99e8695f448e966b587b1d
/frameworks/base/graphics/java/android/graphics/Paint.java
a1dcc992ffedb9a44f2072a8100eed15a7ca93b2 27-Nov-2012 Romain Guy <romainguy@google.com> Undeprecate linear text API

Hardware renderer support pending, but this API should not have
been deprecated in the first place.

Change-Id: I062dac6d65dffb5369e65d55ea159594a0971b59
/frameworks/base/graphics/java/android/graphics/Paint.java
885d82d4274170873919660550c28df9ee14ca1b 29-Sep-2012 Romain Guy <romainguy@google.com> reset() should reset. Otherwise it would be called something else.
Bug #7256095

Change-Id: I610bbcaccdceaf2b5bb5f9d231283335911d4cd9
/frameworks/base/graphics/java/android/graphics/Paint.java
029b6330380a21787647ed9faa9aa2d6ee93da82 13-Apr-2012 Fabrice Di Meglio <fdimeglio@google.com> Improve Paint.setTextLocale()

Change-Id: Iffc9f8816f48dbd431b3b430a7c48f8d646703f3
/frameworks/base/graphics/java/android/graphics/Paint.java
517825f1a9f14f92908bd7859b91b927c2eec6d9 07-Apr-2012 Fabrice Di Meglio <fdimeglio@google.com> Add Paint.setTextLocale()

- will be used for better shaping CJK and other goodies

Change-Id: If64945a337edd915f5ebb88f04b6fd18e92ca587
/frameworks/base/graphics/java/android/graphics/Paint.java
68fc1dfce050f1406f751e71cadd1b9fdb0f825c 20-Jan-2012 Romain Guy <romainguy@google.com> Remove unused code

Change-Id: Ife0a43f3cfe64a1e74401b10bf74d37cbeefb5af
/frameworks/base/graphics/java/android/graphics/Paint.java
f9d9c065ed75f1196316a9a31f92309f602cef76 20-Jan-2012 Romain Guy <romainguy@google.com> Deprecate unused APIs

Change-Id: I0107e246b632dda96b8b025217936954f1f46283
/frameworks/base/graphics/java/android/graphics/Paint.java
f68832bcc1069c70ef27248da6d82e9f9056955a 12-Sep-2011 Romain Guy <romainguy@google.com> Turn hinting back on

The difference is not obvious when compared to no hinting, and turning
off hinting has undesirable side effects because of the lack of sub-
pixel positioning when rendering text.

Change-Id: If2162ba079f68f33b33aed444e80036fdbf015bb
/frameworks/base/graphics/java/android/graphics/Paint.java
8b5a8b5bed98bd1c048864abcf39dfc3875518cb 01-Sep-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Code cleaning"
7d892dcc8a18376f499527a160c6c0ed664e22b1 01-Sep-2011 Fabrice Di Meglio <fdimeglio@google.com> Code cleaning

- remove unused constant
- fix spelling

Change-Id: I0053129b33c2ee472db84e14d4b2ace5d97d20a8
/frameworks/base/graphics/java/android/graphics/Paint.java
e7197a996ff9c4a51d32dd2f918aab97d2b191ef 31-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #5233207 android.graphics.cts.PaintTest#testBreakText fails on IRK56F trygon-userdebug"
8fa6503feb1954d8c11a0591a567e6acedf7abe9 30-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #5233207 android.graphics.cts.PaintTest#testBreakText fails on IRK56F trygon-userdebug

- Paint.breakText() API was regressing on the argument validation: a count < 0 is a valid one

Change-Id: I6d09294ee9f21901ba00017ce0d73f757fc7b147
/frameworks/base/graphics/java/android/graphics/Paint.java
bb66c21f01b42f533878613f57d5894817c32c93 28-Aug-2011 Jeff Sharkey <jsharkey@android.com> Make Paint.set() copy shadow config.

Also unify all Java variable copying into single method.

Change-Id: I8fefa615f6f164ae5662913d612b388b46890089
/frameworks/base/graphics/java/android/graphics/Paint.java
f43fa5746ee5b81a6e386d36594094d079ac8160 13-Aug-2011 Dianne Hackborn <hackbod@google.com> Turn off hinting by default for higher density displays.

Also adds an API for apps to control whether hinting is used.

Change-Id: I1a06b06255fbb8d0f02a8ce48c2cd60019088ed3
/frameworks/base/graphics/java/android/graphics/Paint.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/Paint.java
8984b41665f7ea2f0fdbc8ce00556b9e7762668e 10-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Add more Paint text APIs parameters checks

Change-Id: Idd04e9937b821180f46852451405bb9c6d59da37
/frameworks/base/graphics/java/android/graphics/Paint.java
15c097a1c23105cdc0dd66dd5605ff35467d7118 08-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Add more optimizations for Text measuring / breaking / getting advances

- do not go to native if this is not needed (empty or null text)
- do expandMetricsFromPaint() in TextLine when needed instead of calling handleText()
with emty string just for doing expandMetricsFromPaint()

Change-Id: I1f566ccef66cbc990ebbb77ef149899119e37e84
/frameworks/base/graphics/java/android/graphics/Paint.java
4c7dbc04958cb585a2b68eaa664e816f0d84da9f 08-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #4584320 Single Line EditText not drawing correctly with spans applied (ICS)

- provide a better fix by still using the full context of the text (versus using the text only)

Change-Id: I542335e98117921d75c191e90a9b2018ca356ac9
/frameworks/base/graphics/java/android/graphics/Paint.java
f2ce877c1dde094ab599f0d3103145c9381ab260 06-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #4584320 Single Line EditText not drawing correctly with spans applied (ICS)

- use correct 0 index for computing advance thru the char buffer (the buffer is created from TextUtils.getChars())
- udpate unit tests

Change-Id: Iaeb07658b79ecdf5e17395d55afb7c84965bb0fc
/frameworks/base/graphics/java/android/graphics/Paint.java
b1216dd916e0f5fdec29684120c5bcc904800916 02-Aug-2011 Romain Guy <romainguy@google.com> Copy constructors should actually copy stuff.
Bug #5027094

Change-Id: Iab6bf652e0b9bdd1bbc794e7c4218f46bafdd1a4
/frameworks/base/graphics/java/android/graphics/Paint.java
0a1413e4bf9dcda2a8abb2287e43f612a7fb2453 22-Apr-2011 Fabrice Di Meglio <fdimeglio@google.com> Clean getTextRunAdvances() APIs

- remove ICU reference in API names
- use a "reserved" int parameter to pass either "0" for Harfbuzz or "1" for "ICU"

Change-Id: I88b4f76feafd203a6999cd7349402fa36a9a4b2a
/frameworks/base/graphics/java/android/graphics/Paint.java
eee49c699c035ffba188417489f40d34f587d65c 25-Mar-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix text redering issue where the text was sometimes truncated

- mostly was visible in Settings apps / Wi-Fi networks summary info for each network
- correctly setup the local SkPaint for advances computation
- improve test app for adding live resizing

Change-Id: Ia031fe1b115b521ba55c7e68f2a26300f02e48ca
/frameworks/base/graphics/java/android/graphics/Paint.java
9f82b580d744ce4baf057b061994394dcf239eed 08-Mar-2011 Fabrice Di Meglio <fdimeglio@google.com> Use Harfbuzz instead of ICU4C for computing advances

- use Harfbuzz shaper for shaping and getting glyphs
- add test app for showing result of drawText() and drawGlyphs()
- add private API in Canvas and Paint for test app

Change-Id: Ia15be216f8636d2d864066e9b7de2f53008c30f6
/frameworks/base/graphics/java/android/graphics/Paint.java
8a9f9d880da83877206d0a52d03c784e936d3814 16-Feb-2011 Brian Muramatsu <btmura@google.com> Fix Paint#breakText(char[]..) JavaDoc

The JavaDoc says that if the "...count is negative then the
characters before index are measured in reverse order. This
allows for measuring the end of string."

However, the native code doesn't work its way backwards
from the given index when the count is negative. It always
passes Skia the substring starting from index and the
absolute value of count.

Its better to fix the JavaDoc rather than the behavior, since
this API is public and has been this way for some time. It
is also used by TextUtils.ellipsize indirectly, so its best
to avoid breaking that sensitive code.

Change-Id: I8bd51def6ec98251e355370710eb44f58fb737c4
/frameworks/base/graphics/java/android/graphics/Paint.java
1feba8bb02d26225f6ab013d50889a4d2e0c56f3 28-Jan-2011 Gilles Debunne <debunne@google.com> Fix for an IOOBoundsException in Paint.

Bug 3331706

The temporary buffer starts at index 0 and shifts indexes by contextStart.
offset has to be changed accordingly.

Note that I didn't try to reproduce the monkey bug after this fix, but it
seems like a perfect explanation for the exception.

Change-Id: Ie69adc413670caed283bc46effc69f17a102922c
/frameworks/base/graphics/java/android/graphics/Paint.java
27c1d4debb3848f5accd5673fffeeacad3e61648 16-Dec-2010 Chet Haase <chet@google.com> Fix minor animation and doc issues

Change-Id: I0ea077d9434ac3e22e8600f22ca4a24a6a46965c
/frameworks/base/graphics/java/android/graphics/Paint.java
0bb000931bb841e75903d655552d1626ae158707 03-Dec-2010 Gilles Debunne <debunne@google.com> Fix in vertical measurement in text lines with different text sizes

The last span of the TextLine was defining the FontMetrics, instead of
min/maxing the different values.

Bug 3220698

Change-Id: I7394b1699a15aeee4cc38462d561faf329d3e1f6
/frameworks/base/graphics/java/android/graphics/Paint.java
1e45aae5de003657e5d18f74d34998f5de5db5b7 14-Aug-2010 Romain Guy <romainguy@google.com> Add drop shadows.

Change-Id: Ic6a72409d4785968d1fbdff229f17ee5c00b240b
/frameworks/base/graphics/java/android/graphics/Paint.java
694b519ac647fe998fd396fe0784cc8e179aadc4 22-Jul-2010 Romain Guy <romainguy@google.com> Add text rendering.

Change-Id: Ibe5a9fa844d531b31b55e43de403a98d49f659b9
/frameworks/base/graphics/java/android/graphics/Paint.java
a1db574036c9bc2d397b69f8200594027e1fff16 20-Jul-2010 Romain Guy <romainguy@google.com> Add preliminary support for text rendering.

Change-Id: I547eb631dbda24d13960d54b4144fb8908fd8a49
/frameworks/base/graphics/java/android/graphics/Paint.java
f7cb1f75fdaedf996cab7c4690b080adc7bc5b97 02-Jul-2010 Doug Felt <dougfelt@google.com> Support bidi/shaping for getTextPath

Move layout-related code into separate class since it's needed by both
canvas and paint.

Change-Id: Iba89a1d94d7cca650255ffa3cbc952b988a51b54
/frameworks/base/graphics/java/android/graphics/Paint.java
c7d53494f1fbd9f9d74af89053ff9fdb1ccbac6c 25-Jun-2010 Romain Guy <romainguy@android.com> Implement quickReject() and drawRect().

The OpenGL ES 2.0 renderer can now draw colored rectangles. At least there's
something on screen now.

Change-Id: I80a13ccc1dd56784edf74f2670a364f30700234a
/frameworks/base/graphics/java/android/graphics/Paint.java
0c702b88c5d0d4380930b920f5be6e66dd95a0d8 14-May-2010 Doug Felt <dougfelt@google.com> Move shaping to native.

Add internal API (getTextRunAdvances) to Paint, use when measuring.
Add internal API (getTextRunCursor) to Paint, use when determining
valid cursor positions.

Remove java-level shaping code. Remove 'prep' code in TextLine
(except for replacement text) since shaping now is done on the fly as
needed in native.

Provide explicit shaping context bounds to internal text measuring,
cursor movement, and rendering APIs.

Update for to changes in external API in ushape.h.

Change-Id: I146958b624802ce8553125e5c3c6c03031bc9608
/frameworks/base/graphics/java/android/graphics/Paint.java
f47d7405bbcb25d7cdf89ebb059f41520fe9ab87 22-Apr-2010 Doug Felt <dougfelt@google.com> Modify Canvas drawText to run bidi and shape.

Adds drawTextRun as internal API on Canvas and GraphicsOperations.
Adds implementation to implementors of GraphicsOperations.

Adds state and API on Paint to control the bidi algorithm when used
by Canvas. This API is currently hidden.

The drawText changes are incomplete since shaping is not yet available
in the native code.

Change-Id: I4368048aef9545df0953a349381771603e04b619
/frameworks/base/graphics/java/android/graphics/Paint.java
d404d6f162cfd4071c8ff3a2d44b1077307e2102 14-Apr-2010 Mike Reed <reed@google.com> update dox for FILL_AND_STROKE style

Change-Id: I7835068a376dfa4d8c18d8bb20d97941a058e89f
http://b/issue?id=2590047
/frameworks/base/graphics/java/android/graphics/Paint.java
c20a9608f379b23aee473f992a327ac26a31ba17 29-Sep-2009 Dianne Hackborn <hackbod@google.com> Whoops, these shouldn't be public.

Change-Id: I66057b1fb63b97ad79cea7056849274c6a7b3ed4
/frameworks/base/graphics/java/android/graphics/Paint.java
afa78967b8553443aa32579d78970a076d7581f6 29-Sep-2009 Dianne Hackborn <hackbod@google.com> Hack to fix issue #2125365: Sports Trivia compatability with Eclair

Adds a mechanism to tell Paint the scaling factor its target
canvas will have, for it to compute font metrics based on the
correct font size. Only TextView uses this, but that is enough
for the large majority of apps.

Change-Id: I6cacaa0dd26d40ee3ad959bed0028678d6e9016e
/frameworks/base/graphics/java/android/graphics/Paint.java
33a31b314f571ddcbef003e8a399c20ddeff6905 12-May-2009 Dirk Dougherty <nobody@android.com> AI 148752: Fix description of breakText() param.
BUG=1790234

Automated import of CL 148752
/frameworks/base/graphics/java/android/graphics/Paint.java
c39a6e0c51e182338deb8b63d07933b585134929 11-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137873
/frameworks/base/graphics/java/android/graphics/Paint.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/Paint.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/Paint.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/graphics/java/android/graphics/Paint.java