History log of /frameworks/base/core/jni/android/graphics/MinikinUtils.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e21e2a2d1d85d422230c1115abba824338763a88 29-Jul-2014 Behdad Esfahbod <behdad@google.com> Clean up Minikin includes

Include headers where they are used. Add header guards to MinikinSkia.h

Change-Id: If341231625348290d28a7d625561fffc171a8407
/frameworks/base/core/jni/android/graphics/MinikinUtils.h
63c5c78a72a21d57913e8601cc2a1ab72a424a02 25-Jul-2014 Behdad Esfahbod <behdad@google.com> Further centralize Minikin interaction

Part of the fix for bug 15246510 and others.

Change-Id: Ie99000989dfcd7a81aaa1233dec522344f852f31
/frameworks/base/core/jni/android/graphics/MinikinUtils.h
6ba30b85ddfbe37c338ee8dde3dd33322eb38d47 15-Jul-2014 Behdad Esfahbod <behdad@google.com> Add android.Paint that inherits SkPaint

The idea is that extra paint parameters that only affect text layout
(not rendering) will go in android.Paint instead of going into
SkPaintOptionsAndroid. We will eventually move those out of SkPaint
too.

This is currently implemented in PaintImpl.cpp. Will be renamed when
current Paint.cpp that has JNI bits is moved to android_graphics_Paint.cpp.

Change-Id: Iba66c34dea5da503a13b9c864cb9f2211ac4ba7d
/frameworks/base/core/jni/android/graphics/MinikinUtils.h
3660789f06c5fbcb81e6c7c79612048bff8f0f66 26-Jun-2014 Raph Levien <raph@google.com> Switch all text layout to Minikin

This patch switches all text layout operations to use Minikin, removes
the USE_MINIKIN #ifdef, and deletes some of the code that was only used
in the old TextLayout path (although some more refactoring remains).

Change-Id: I51b5c4e2bb46cfd9d204c12b9f16f135c769f5b5
/frameworks/base/core/jni/android/graphics/MinikinUtils.h
9d2b5e1930bfc4b1da1c865843c247c708ea1565 16-Jun-2014 Raph Levien <raph@google.com> Implement drawTextOnPath with Minikin

This patch contains an implementation of drawTextOnPath for both
software and hardware Canvas using Minikin for text layout. One of the
steps for switching all remaining text operations to Minikin so the old
TextLayout and Skia fallback fonts mechanisms can be deleted.

Bug: 11750374 Resolve TODO items for Minikin
Change-Id: I06bfe74a101fa1dcdfc38f530f7194d71e522a85
/frameworks/base/core/jni/android/graphics/MinikinUtils.h
0627ec08dcc2e87c17e9b85f045dfb27dc4884b3 07-Jun-2014 Raph Levien <raph@google.com> Support fake italics

This patch adds fake italics, using essentially the same mechanism as
the fake bold implementation. Also combines fake bold/italic settings
with ones explicitly set in the paint.

Change-Id: Ia7eb3ddc8a6192d191711ba723ffd0d1d9d93f2e
/frameworks/base/core/jni/android/graphics/MinikinUtils.h
1fc0fa87d42ce9268ece76b85b9edc834593e53a 07-Jun-2014 Raph Levien <raph@google.com> Support for fake bold in Minikin builds

Part of the fix for bug 15436379 Fake bold doesn't fully work (Minikin)

This patch queries the Minikin layout for when fake bold is needed,
and applies that to both shaping and drawing paint.

Also simplifies refcounting (the lifetime of all MinikinFont objects
is subsumed by the enclosing FontCollection).

Note: the fake bold flag set by the user is ignored in this patch.

Fake italics would be possible using the same mechanism, but it's
slightly more complicated (fake and user-set textSkewX values would need
to be combined, and the latter restored after drawing).

Change-Id: Ica2c4604846cbb37e5a783778b18d8993c9d4563
/frameworks/base/core/jni/android/graphics/MinikinUtils.h
6bfd7e7df3a9f9ea2f9e57a3552eed7f518be711 04-Jun-2014 Raph Levien <raph@google.com> Support for context in Minikin shaping

This patch uses the Minikin's new doLayout API that supports context,
and has some simple refactoring (pass css as string rather than setting
on the Layout object) to use this api.

Change-Id: I899474f81d377f3106e95ee3eb8d0fcc44c23ac2
/frameworks/base/core/jni/android/graphics/MinikinUtils.h
e95b5850ac2e56330abf68362451e7614b3dfe16 31-May-2014 Raph Levien <raph@google.com> Support for scaleX and skewX in Minikin

Passes textScaleX and textSkewX parameters, as well as paint flags from
the paint to Minikin, to support nontrivial scale and stretch of text.
Passing paint flags should minimize kerning artifacts arising from
mismatch of glyph rendering in layout and drawing.

Also, replaces unsafe snprintf to a fixed size buffer with a safe
version, which still avoids an allocation per layout operation.

This is part of the fix for bug 15186705 "Usability of the suggestion
strip in recent OTA's is severely reduced"

Change-Id: I79788383135836f4c21fb84405f36382627bf959
/frameworks/base/core/jni/android/graphics/MinikinUtils.h
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/core/jni/android/graphics/MinikinUtils.h
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/core/jni/android/graphics/MinikinUtils.h
9d9ee3d666c63938311839002ec974673998c6d0 13-May-2014 Raph Levien <raph@google.com> BiDi support for Minikin

This patch plumbs the bidiFlags for the various text drawing and
measurement functions down to Minikin, so that the latter can do layout
in a BiDi-aware manner. With the corresponding changes to Minikin, it
is sufficient to correctly display RTL text in TextViews.

Change-Id: Ie904f297373b9ad418050a474506605c7c127b0f
/frameworks/base/core/jni/android/graphics/MinikinUtils.h
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/core/jni/android/graphics/MinikinUtils.h