History log of /frameworks/base/libs/hwui/hwui/MinikinSkia.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
1bcacfdcab0eaa0cee92bd7f5a1b5e271dd68e52 03-Nov-2017 John Reck <jreck@google.com> Format the world (or just HWUI)

Test: No code changes, just ran through clang-format
Change-Id: Id23aa4ec7eebc0446fe3a30260f33e7fd455bb8c
/frameworks/base/libs/hwui/hwui/MinikinSkia.h
30bc95d7f9269eeb13ccb374bfef2986579e5da5 26-Oct-2017 Seigo Nonaka <nona@google.com> Add FontFakery argument to minikin callbacks

Bug: 65024629
Test: N/A
Change-Id: I46e2c85f04a28a1d48f7f5869112b7277f86bc85
/frameworks/base/libs/hwui/hwui/MinikinSkia.h
737dfead64dd24a431beff85b685594dc0efb49a 10-Aug-2017 Roozbeh Pournader <roozbeh@google.com> Support extra linespacing based on fallback fonts

* Increase the ascent and descent of individual lines in StaticLayout
as needed, if any fallback fonts that end up getting used call for
it. For backward compatibility, this is hidden behind a builder
flag.
* Document in Paint.java that the returned parameters are only for
the default font, and a layout may need more space based on
fallbacks used.

Also update for changes in minikin API:

* MinikinFont now requires a method for getting vertical extents
(ascent, descent, and line gap).
* minikin API now allows asking for vertical extents of laid out
text.
* minikin API's LineBreaker now returns ascents and descents for each
line.

Finally, added performances test for creating a StaticLayout.
Follwing are the numbers on a marlin with a stable clock before and
after this CL.

For fixed text almost always hitting the cache:
Before: mean=260684 median=260188 min=258532 standardDeviation=1897
After: mean=262432 median=261509 min=260429 standardDeviation=2185

For random text almost never hitting the cache:
Before: mean=5971827 median=5991126 min=5886871 standardDeviation=83724
After: mean=6337093 median=6317010 min=6311222 standardDeviation=40213

Bug: 28963299
Bug: 29063863
Bug: 32057121
Bug: 37756858
Test: bit FrameworksCoreTests:android.text.
Test: bit CtsTextTestCases:*
Change-Id: I482a98ff8f472e8bab4f0ba9d1d7b368858038ff
/frameworks/base/libs/hwui/hwui/MinikinSkia.h
c7064146f959caec058980ced144942c8044a169 10-Feb-2017 Seigo Nonaka <nona@google.com> Follow Minikin's signature changes.

Minikin now uses shared_ptr instead of MinikinRefCounted.

Bug: 28119474
Test: manually tested
Test: hwui_unit_tests passed.
Change-Id: Ie0564851a8a798af112679e15f7a07db000a977e
/frameworks/base/libs/hwui/hwui/MinikinSkia.h
7a18b799617465a0a27dde1cf0c5f48c52db7980 13-Feb-2017 Seigo Nonaka <nona@google.com> Implement getAxes() method.

getAxes() is necessary for calling hb_font_set_variations.

Test: None
Change-Id: Iec4759189b0653aa483ba85682d10b2b81beaab8
/frameworks/base/libs/hwui/hwui/MinikinSkia.h
9ff994d98846d24bc488939af6e7dc440149a4bc 30-Nov-2016 Seigo Nonaka <nona@google.com> Introduce set/getFontVariationSettings.

This is 2nd attempt of I249d464f8cdaa56017a987588b94ed685aadeb58.
The original CL was reverted due to conflicting with another CL submitted
before.
Nothing has changed except for following class name changes.

Here is the original commit message of reverted change.

This CL enables developers to specify axis values to the underlying
font collection. The specification of the font variation settings is
the same as the CSS font-variation-settings attribute in CSS working
draft as of 2016-11-30.

Code example: Here is an example to set width 100 and weight 1.5.

TextView tv = (TextView) findViewById(R.id.textView);
tv.setFontVariationSettings("'wdth' 100, 'wght' 1.5");

Bug: 33062398
Test: Manually done. Ran FrameworksGraphicsTests, CtsGraphicsTestCases
and CtsWidgetTestCases

Change-Id: I9cdfbdecc87c995d805096883ef2652768c6c21e
/frameworks/base/libs/hwui/hwui/MinikinSkia.h
a3b9f2e3c66ec485f3b712560d52e31632a9cbe8 20-Jan-2017 Siyamed Sinir <siyamed@google.com> Revert "Introduce set/getFontVariationSettings."

This reverts commit ba3028c1fc9fca2d45acc841557da2c9a83923bf.

Bug: 34378805
Change-Id: I8250c87af5d65fb45789632580be4ae1b8711372
/frameworks/base/libs/hwui/hwui/MinikinSkia.h
ba3028c1fc9fca2d45acc841557da2c9a83923bf 30-Nov-2016 Seigo Nonaka <nona@google.com> Introduce set/getFontVariationSettings.

This CL enables developers to specify axis values to the underlying
font collection. The specification of the font variation settings is
the same as the CSS font-variation-settings attribute in CSS working
draft as of 2016-11-30.

Code example: Here is an example to set width 100 and weight 1.5.

TextView tv = (TextView) findViewById(R.id.textView);
tv.setFontVariationSettings("'wdth' 100, 'wght' 1.5");

Bug: 33062398
Test: Manually done. Ran FrameworksGraphicsTests, CtsGraphicsTestCases
and CtsWidgetTestCases
Change-Id: I249d464f8cdaa56017a987588b94ed685aadeb58
/frameworks/base/libs/hwui/hwui/MinikinSkia.h
b7e33a09843302c578e433a06e56583f0ff241d2 18-Oct-2016 Seigo Nonaka <nona@google.com> Remove obsolete interface GetTable.

GetTable is only used in test.
To use production interface, need to pass the raw buffer and size to the
MinikinSkia. This CL does not change any production behaviors.

Test: ran hwui microbench, macrobench, hwui_unit_tests
Change-Id: Ia657a0d061984d705f333ed3944effb1eba8ca4d
/frameworks/base/libs/hwui/hwui/MinikinSkia.h
436f8ac7867e28b43f890020663b222f43de5ce6 25-Oct-2016 Seigo Nonaka <nona@google.com> Revert "Remove obsolete interface GetTable."

This reverts commit 9cd73b6828e4e7475ab430c373efa2cd6dc69cea.

This causes a crash on Android Auto.
Bug: 32374752

Change-Id: I7fd0a52eb2458772ff50f246ca1c7d3397554133
/frameworks/base/libs/hwui/hwui/MinikinSkia.h
9cd73b6828e4e7475ab430c373efa2cd6dc69cea 18-Oct-2016 Seigo Nonaka <nona@google.com> Remove obsolete interface GetTable.

Test: Manually done.

Change-Id: Ib9f50610454a6ddd7179c40d5f31c74916bcff84
/frameworks/base/libs/hwui/hwui/MinikinSkia.h
81be3a96e080f8f30653f926934fc072143ef368 05-Aug-2016 Ben Wagner <bungeman@google.com> Move SkTypeface::CreateXXX to SkTypeface::MakeXXX.

Skia is moving to returning smart pointers from its factory methods.
This updates uses of SkTypeface::CreateXXX to SkTypeface::MakeXXX and
generally updates use of SkTypeface to sk_sp. This will allow for the
removal of the SK_SUPPORT_LEGACY_TYPEFACE_PTR define.

Change-Id: I017ceb681d2c338e6913aa267915d03a7d3a898b
/frameworks/base/libs/hwui/hwui/MinikinSkia.h
ae1aa85d0c7305bb621f1f8003bd674285aa3b63 09-Jun-2016 Seigo Nonaka <nona@google.com> Follow the minikin namespace changes

Bug: 29233740
Change-Id: I0ec7c5c88e64daa626751d3a03e24b9c36521c17
/frameworks/base/libs/hwui/hwui/MinikinSkia.h
b93872ad64afaafa1799a293850f48a96708182e 11-Apr-2016 Seigo Nonaka <nona@google.com> Follow the constructor signature change in Minikin.

Bug: 28105730
Change-Id: I933521ba08e89c0538b5aa9efa5dcc5e2a17b905
/frameworks/base/libs/hwui/hwui/MinikinSkia.h
296bf8c55aaba0025f3e5b904fda3b6e15686753 07-Apr-2016 Raph Levien <raph@google.com> Avoid copying of font table data, provide raw font bytes

Minikin is changing its approach to table access to use HarfBuzz to
access the tables, based on raw font data, rather than calling the
MinikinFont::GetTable() virtual method. This patch provides raw access
to the font data to make this work.

There's a bit of plumbing to make sure fonts get a pointer to the raw
data as well.

Bug: 27860101
Change-Id: I638e18cf363644bf22fbc9fb9b3358a9e731087f
/frameworks/base/libs/hwui/hwui/MinikinSkia.h
dccca44ffda4836b56a21da95a046c9708ffd49c 21-Mar-2016 sergeyv <sergeyv@google.com> Reland: Move text logic from jni to hwui level

Initial CL: https://googleplex-android-review.git.corp.google.com/#/c/886854/

Change-Id: I9dfd85fe1d2a2c44f4360c8a29fd58d80e6f31c8
/frameworks/base/libs/hwui/hwui/MinikinSkia.h
afbd0f1fef46ef0ddf633dfde0de724db3da1405 21-Mar-2016 Sergei Vasilinetc <sergeyv@google.com> Revert "Move text logic from jni to hwui level"

This reverts commit a7f6bba1a3565c19715e878dfe7f0e01022944ff.

Change-Id: If4f36f87a85411b6128fd92d391313803ccaf9dd
/frameworks/base/libs/hwui/hwui/MinikinSkia.h
a7f6bba1a3565c19715e878dfe7f0e01022944ff 16-Mar-2016 sergeyv <sergeyv@google.com> Move text logic from jni to hwui level

bug:25865834
Change-Id: I2d8c9c9544afcb5ce1784f732aed3e54e0eda372
/frameworks/base/libs/hwui/hwui/MinikinSkia.h