6344de60fa37c4e4246cb37d82215564826c2b8b |
|
13-Oct-2015 |
Keisuke Kuroyanagi <ksk@google.com> |
Add light weight methods for text measurement. The intruduced method measureText can be used instead of doLayout for text measurement purpose. Bug: 24505153 Change-Id: Ic29bbb347daf18d1f6c13f86970dcdd11dd6a2bd
/frameworks/minikin/include/minikin/Layout.h
|
bae347682989d2627081310129a5b60541ed6ad0 |
|
27-Oct-2015 |
Seigo Nonaka <nona@google.com> |
Add -Werror -Wall -Wextra to compiler option. This is 2nd trial of I30a0914a4633bd93eb60957cdf378770f04d8428 - To suppress noisy unused parameter warnings, comment out unused arguments. - Add -Werror for suppressing further warning. - Add -Wall -Wextra for safety. - Use "z" prefix for format string of size_t. Verified that compile succeeded on all arm,arm64,mips,x86,x86_64. Change-Id: I7ad208464486b8a35da53929cb1cfe541ed0052f
/frameworks/minikin/include/minikin/Layout.h
|
b4c799180458fc37b96ee43ef9111f64e0cc99f7 |
|
28-Oct-2015 |
Bart Sears <bsears@google.com> |
Revert "Add -Werror -Wall -Wextra to compiler option." This reverts commit 63635cff5861dcaed963c7332eecf51b9d7d920a. Change-Id: I2b4b10e8afedc85dbe2d07f3e47315652b65cd14
/frameworks/minikin/include/minikin/Layout.h
|
63635cff5861dcaed963c7332eecf51b9d7d920a |
|
27-Oct-2015 |
Seigo Nonaka <nona@google.com> |
Add -Werror -Wall -Wextra to compiler option. - To suppress noisy unused parameter warnings, comment out unused arguments. - Add -Werror for suppressing further warning. - Add -Wall -Wextra for safety. Change-Id: I30a0914a4633bd93eb60957cdf378770f04d8428
/frameworks/minikin/include/minikin/Layout.h
|
6292e1a966da86af7045c356fcad6ab8864089b8 |
|
24-Sep-2015 |
Keisuke Kuroyanagi <ksk@google.com> |
Refactoring: Introduce helper class to iterate runs. This doesn't change current behavior. It's a preparation for the following CLs. Bug: 22408712 Change-Id: Ic018422254aa3904655f499194caad74f0c0fc5d
/frameworks/minikin/include/minikin/Layout.h
|
8920e81717c6e51b92ff8f4479a1f959af260556 |
|
17-Apr-2015 |
John Reck <jreck@google.com> |
Move Bitmap to a different namespace namespace naming collision. Move minikin's Bitmap out of android:: and into minikin:: Change-Id: I5ae3925f81b848dc79576429ab55243b96f7fed2
/frameworks/minikin/include/minikin/Layout.h
|
40beb7744a61248de82a6077996c83c14e0122c2 |
|
07-Apr-2015 |
Raph Levien <raph@google.com> |
Add functions for measuring cursor positioning New functions for computing the correspondence between cursor position and advance, respecting grapheme boundaries. Change-Id: I620378d5f64cd74300cd43db522adeb555825dff
/frameworks/minikin/include/minikin/Layout.h
|
01f526614431e3a0a6e1a48039e00b8a9b7d6fbf |
|
14-Mar-2015 |
Raph Levien <raph@google.com> |
Add LineBreaker to Minikin This patch adds a LineBreaker class to Minikin, which will be used for computing line breaks in StaticLayout. The version in this patch contains basically the same functionality that existed before, but hopefully better performance and an interface that's suitable for more sophisticated paragraph layout. Note that this version contains a high quality strategy, which mostly works but doesn't respect varying line width. Change-Id: I02485d58b1e52856296a72cdd4efd963bc572933
/frameworks/minikin/include/minikin/Layout.h
|
6da7796cbe8a17efd61a3302369e69bb222fdb4f |
|
21-Aug-2014 |
Behdad Esfahbod <behdad@google.com> |
Fix Layout initialization in the skipCache path C++ local var initialization always tricks me. Previously, Layout didn't have a constructor, which meant that defining it on the stack left mAdvance uninitialized. This was not an issue when we were doing "new Layout()", since that invokes zero-initialization, but was an issue for the skipCache path that was allocating layout on stack by just "Layout l" instead of "Layout l = Layout()". To avoid surprises, add a constructors that clears everything. Also adds reset() method to reset the layout for reuse. Change-Id: I3e02f00da9dd7d360abe13f63c310f6882292d0a
/frameworks/minikin/include/minikin/Layout.h
|
288c915963b3500c7efb958ba613650e2ecdfdfa |
|
20-Aug-2014 |
Behdad Esfahbod <behdad@google.com> |
Speed up cache lookup Avoid copying the string for cache lookup. Bug: 17111260 Change-Id: Ic220bfc991fc6b3dada197304aabdf72a8941bd7
/frameworks/minikin/include/minikin/Layout.h
|
c924dd126db5d029af407ae6dd1a41c3652a6a64 |
|
29-Jul-2014 |
Behdad Esfahbod <behdad@google.com> |
Remove CSS string doLayout entrypoint and supporting code All usage is ported to the new doLayout() API now. Bug: 16651112 Change-Id: I2c959138a69853b5e30098889d771fe5f4cfaa66
/frameworks/minikin/include/minikin/Layout.h
|
09f1901d6befcab49ed46cb77151a5d4af14a3b9 |
|
29-Jul-2014 |
Behdad Esfahbod <behdad@google.com> |
Add doLayout variant that does NOT take css string New API removes CSS string and directly takes needed objects. Bug: 16651112 Change-Id: Ie5f7c2ab05be6cbd77cae0a5fd6bb453771ada59
/frameworks/minikin/include/minikin/Layout.h
|
f0a1e5b2da5aaccbc1c010413365cd8c304cf5d9 |
|
25-Jul-2014 |
Behdad Esfahbod <behdad@google.com> |
Remove deprecated API It has been unused outside minikin. Change-Id: Iaa2237767d81c77f90d0264e633375e601dd72f1
/frameworks/minikin/include/minikin/Layout.h
|
22e41754f6470ff1f4c0e0a56d01f7f555b59e21 |
|
26-Jun-2014 |
Raph Levien <raph@google.com> |
Add purgeCaches() method Expose a method to purge caches used for TextLayout, useful for low memory conditions. Change-Id: I92f41afe987b7be4af5ca0a0c50fb51be35a2758
/frameworks/minikin/include/minikin/Layout.h
|
9a5f713add8cfb91ac2c9ed5c917309053201ab6 |
|
07-Jun-2014 |
Raph Levien <raph@google.com> |
Support for fake bold and italics This patch adds support for computing when fake bold and fake italics are needed (because the styles are requested but not provided by the matching FontFamily), and providing them as part of the layout result. Part of the fix for bug 15436379 Fake bold doesn't fully work (Minikin) Change-Id: I180c034b559837943673b5c272c8e890178dff0d
/frameworks/minikin/include/minikin/Layout.h
|
3f1ea5da2ee12b0d95c17c56928c3e553d4eeda0 |
|
05-Jun-2014 |
Raph Levien <raph@google.com> |
Support for context in API This patch completes support for adding context for complex script layout, for example when a string with joins straddles two spans. Part of the fix for 15431028: "Properly support context for joining scripts (Minikin)" Change-Id: I65b0833be92eb477aa531bbef0ac6eddeb3a962a
/frameworks/minikin/include/minikin/Layout.h
|
4d4e6bc8118d15542f1f2a9218f0f7a91a29474f |
|
21-May-2014 |
Raph Levien <raph@google.com> |
Caching for layouts and harfbuzz faces This patch adds caching for both layouts and for HarfBuzz face objects. The granularity of the cache for layouts is words, so it splits the input string at word boundaries (using a heuristic). There are is also some refactoring to reduce the amount of allocation and copying, and movement towards properly supporting contexts. The size of the caches is a fixed number of entries; thus, it is possible to consume a large amount of memory by filling the cache with lots of large strings. This should be refined towards a scheme that bounds the total memory used by the cache. This patch fixes bug 15237293 "Regression: Measure performance is significantly slower with minikin". Change-Id: Ie8176857e2d78656ce5479a7c04969819ef2718d
/frameworks/minikin/include/minikin/Layout.h
|
86fa46c5ebb0d2c3319e08f4fbf487d8c2abbbfc |
|
19-May-2014 |
Raph Levien <raph@google.com> |
Do BiDi algorithm for text layout This is a fix for bug 15130102 "Language name for Hebrew displayed the wrong way around on keyboard". This patch extends the previous BiDi support (when the direction for the entire string was given by the caller) to run the BiDi algorithm (provided by ICU) over the string to break it into BiDi runs. Thus, it handles mixed LTR and RTL strings in a single layout, and also respects heuristics for inferring the paragraph direction from the string. Change-Id: Ia4b869de3c139c5a7d16b8ce7766870b98a815ea (cherry picked from commit 4b3a941128454e55893d65433a835e78a9e9781d)
/frameworks/minikin/include/minikin/Layout.h
|
c31e3883456e018d742e9f29815ba5ff8b315ea1 |
|
19-May-2014 |
Raph Levien <raph@google.com> |
Fix incomplete refcounting and locking These changes were supposed to be committed in the previous patch "Better refcounting and locking" but seem to have gotten lost in a rebase. It fixes a memory leak and some possible race conditions. Change-Id: I54ca1e37500ec49756fe317cc6d6d03da9911501
/frameworks/minikin/include/minikin/Layout.h
|
ecc2d34ac23a497988f21e5f415b53c007b9d8c5 |
|
15-Jul-2013 |
Raph Levien <raph@google.com> |
A basket of features: itemization, bounds, refcount This patch improves script run itemization and also exposes metrics and bounds for layouts. In addition, there is a fair amount of internal cleanup, including ref counting, and making the MinikinFont abstraction strong enough to support both FreeType and Skia implementations. There is also a sample implementation using Skia, in the sample directory. As part of its functionality, his patch measures the bounds of the layout and gives access through Layout::GetBounds(). The corresponding method is not implemented in the FreeType-only implementation of MinikinFont, so that will probably have to be fixed. Change-Id: Ib1a3fe9d7c90519ac651fb4aa957848e4bb758ec
/frameworks/minikin/include/minikin/Layout.h
|
bcc3dc5a2591a95a57e379e27cbad69c18e91e67 |
|
23-May-2013 |
Raph Levien <raph@google.com> |
Introduce MinikinFont abstraction This commit removes the direct dependency on FreeType and replaces it with a MinikinFont abstraction, which is designed to support both FreeType and Skia fonts (and possibly others in the future). Also adds a "total advance" to the Layout, with an API for retrieving it. Change-Id: If20f92db9a43fd15b0fe9794b761ba00fb21338c
/frameworks/minikin/include/minikin/Layout.h
|
9cc9bbe1461f359f0b27c5e7645c17dda001ab1d |
|
24-Apr-2013 |
Raph Levien <raph@google.com> |
Initial commit of Minikin library This is the initial draft of Minikin, a library intended to perform text layout functions. This version does basic weight selection and font runs for scripts, and also has a simple renderer for drawing into bitmaps, but is lacking measurement, line breaking, and a number of other important features. It also lacks caching and other performance refinements. Change-Id: I789a2e47d11d71202dc84b4751b51a5e2cd9c451
/frameworks/minikin/include/minikin/Layout.h
|