History log of /frameworks/base/core/jni/android/graphics/MinikinUtils.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
bea77a07834f30c3652e2a708856796082245c4b 10-Jul-2015 John Reck <jreck@google.com> Deep-copying sucks when all you want is a borrow

Bug: 22378829

std::string only knows how to move & deep-copy, and we really
don't want either here since the Paint object for certain outlives
the stack scope so use a const reference instead.

Change-Id: I1c822c6ba9647953899cfe89dcc670d7265e3973
/frameworks/base/core/jni/android/graphics/MinikinUtils.cpp
c94f742f7e07a3b86c8f603836c19638472b3e83 07-Mar-2015 Raph Levien <raph@google.com> Calculate line breaks using Minikin

This patch moves the calculation of line breaks for StaticLayout into
the new LineBreaker class provided by Minikin. This specific patch
should preserve existing functionality, but perhaps performance is
better, and the movement opens the door to much more sophisticated
line-breaking.

Change-Id: Iafccb9da4e3559bbeaeb2c7c85f86ddfd8ae2fa1
/frameworks/base/core/jni/android/graphics/MinikinUtils.cpp
210a189e226d5ce64f760d557efc6570409c8147 09-Mar-2015 Raph Levien <raph@google.com> Add HyphenEdit support to Paint

This adds HyphenEdit on the C++ and also to Java via JNI. HyphenEdit is
a Minikin feature for adding hyphens to text without having to edit the
string on the client side.

Change-Id: Icfb228407c1d11a716d055f813da7507acb38fbf
/frameworks/base/core/jni/android/graphics/MinikinUtils.cpp
0f0b4919667f418b249c497f5ad3e83fdf4437e5 12-Nov-2014 Andreas Gampe <agampe@google.com> Frameworks/base: Wall Werror in core/jni

Turn on -Wall -Werror in core/jni. Fix warnings.

Clang TODO: For GCC we need to turn off Wunused-but-set-variable in
the GL bindings. However, Clang doesn't have that warning and thus
complains about an unknown pragma. It is necessary to make the
pragma #ifdef-ed on the compiler being GCC.

Change-Id: I14cab48d45c2771eef0432082356c47ed44a3d7f
/frameworks/base/core/jni/android/graphics/MinikinUtils.cpp
6f03023ece076d33d8b171d5398c8ed70abf3f54 07-Aug-2014 Derek Sollenberger <djsollen@google.com> Remove dependency on SkPaintOptionsAndroid

Change-Id: I579a3503697efe3b8fd9bc809a6c9bfbf735cb1b
/frameworks/base/core/jni/android/graphics/MinikinUtils.cpp
805f6ebf17e2791624bb1a30834b4c1cc65583bf 30-Jul-2014 Behdad Esfahbod <behdad@google.com> Support FontFeatureSettings in Paint

New API is hidden.

Bug: 15246510
Change-Id: Idefca06a366de0d87f53d123b5291788448de4d0
/frameworks/base/core/jni/android/graphics/MinikinUtils.cpp
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.cpp
5ec789608bda858a0c6d669bb44a35a5a99abcdb 29-Jul-2014 Behdad Esfahbod <behdad@google.com> Use new minikin Layout::doLayout() that doesn't use a CSS string

The CSS version will be removed in minikin soon.

Bug: 16651112
Change-Id: Icebcbde6869e64399f160e1773e843cdd0199bc8
/frameworks/base/core/jni/android/graphics/MinikinUtils.cpp
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.cpp
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/core/jni/android/graphics/MinikinUtils.cpp
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.cpp
3744a64a8ade439f85f27c34369f2c1207e6c252 26-Jun-2014 Raph Levien <raph@google.com> Use Minikin's purgeCaches

In USE_MINIKIN builds, purge the Minikin caches rather than the
TextLayout caches.

Change-Id: Id6bf9db38488ed5023a61feab88004511393644c
/frameworks/base/core/jni/android/graphics/MinikinUtils.cpp
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.cpp
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.cpp
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.cpp
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.cpp
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.cpp
f9e3d311275c37fe5f2562993687a1627780a6d0 28-May-2014 Raph Levien <raph@google.com> Language and variant selection for Minikin

This is the frameworks/base side of what's needed to support language
selection (especially Han unification, but also compact/elegant
selection for scripts that require more vertical space).

This is part of the fix for bug 15179652 "Japanese font isn't shown on
LMP".

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