322bc57a338ec650347084ef379860c19b29d1b4 |
|
20-Mar-2018 |
Mike Reed <reed@google.com> |
detect api version, and start respecting offsets Test: make Bug: 36471624 Change-Id: Ica10c557bf35e8d707fabbafab49d22109916fd3
/frameworks/base/libs/hwui/hwui/Canvas.h
|
83143d005b38bf4d629825aaac037e759c68b8a6 |
|
15-Mar-2018 |
Seigo Nonaka <nona@google.com> |
Remove mtOffset from drawTextRun Bug: 72998298 Test: atest CtsWidgetTestCases:EditTextTest CtsWidgetTestCases:TextViewFadingEdgeTest FrameworksCoreTests:TextViewFallbackLineSpacingTest FrameworksCoreTests:TextViewTest FrameworksCoreTests:TypefaceTest CtsGraphicsTestCases:TypefaceTest CtsWidgetTestCases:TextViewTest CtsTextTestCases FrameworksCoreTests:android.text CtsWidgetTestCases:TextViewPrecomputedTextTest Change-Id: Ia886c1ce9f7387559d7fe00b34ce03378d56ecec
/frameworks/base/libs/hwui/hwui/Canvas.h
|
7717e22c85fd2eaba39f1dc38c65fb7f723882f4 |
|
06-Feb-2018 |
Stan Iliev <stani@google.com> |
Draw text with a hairline stroke as if it is fill style Dew to a side effect of HWUI opengl pipeline, the hairline stroke is not respected, but it is drawn as a fill style. Implement the same behaviour for skiagl pipeline with SDK API 27 and older. On SDK released with Android P, the hairline stroke is respected. Bug: 72494357 Test: Ran duolingo app Change-Id: I48bdcf3ddec4bf65b5e93e01c5002177c4e3da90
/frameworks/base/libs/hwui/hwui/Canvas.h
|
ab802003b9e38215dc1feb570a174cf1556882de |
|
24-Jan-2018 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Compute full text layout in MeasuredText and use it for drawing"
|
2d14213849d6df70d0fa80319ab4ffc08743a683 |
|
22-Jan-2018 |
Derek Sollenberger <djsollen@google.com> |
Initial implmentation of AnimatedImageDrawables on the RenderThread. The current implementation schedules the next frame of the images to be decoded after the current frame completes but potentially schedules tasks that will result in a no-op execution if a new frame is not yet needed. Test: HwAccelerationTest Change-Id: I0510cb5a1b801abd651327e924deb586af0306d6
/frameworks/base/libs/hwui/hwui/Canvas.h
|
783f961d2fa6f916009844dafeaa08ffaf96a4d3 |
|
20-Jan-2018 |
Seigo Nonaka <nona@google.com> |
Compute full text layout in MeasuredText and use it for drawing The full layout is required for drawing text on UI thread. To save this work, store the full layout result in MeasuredText and compose the final layout from stored full layout if possible. Currently justification/hyphenation is not supported but works normally as before. Nothing changes on existing non measured text. StaticLayout creation time for no style text (w/o patch -> w/ patch, N=30) MeasuredText Balanced Hyphenation : 721,297 -> 720,657: (-0.1%) MeasuredText Balanced NoHyphenation: 550,588 -> 546,069: (-0.8%) MeasuredText Greedy Hyphenation : 503,582 -> 498,009: (-1.1%) MeasuredText Greedy NoHyphenation : 502,344 -> 498,507: (-0.8%) RandomText Balanced Hyphenation : 19,351,802 -> 19,176,024: (-0.9%) RandomText Balanced NoHyphenation : 8,033,830 -> 7,973,336: (-0.8%) RandomText Greedy Hyphenation : 7,957,335 -> 7,927,316: (-0.4%) RandomText Greedy NoHyphenation : 7,988,884 -> 7,929,717: (-0.7%) StaticLayout.draw time for no style text (w/o patch -> w/ patch, N=30) MeasuredText NoStyled : 644,453 -> 660,684: (+2.5%) MeasuredText NoStyled WithoutCache : 9,251,919 -> 648,992: (-93.0%) MeasuredText Styled : 3,092,353 -> 870,702: (-71.8%) MeasuredText Styled WithoutCache : 12,544,014 -> 1,114,557: (-91.1%) RandomText NoStyled : 582,167 -> 572,092: (-1.7%) RandomText NoStyled WithoutCache : 9,167,670 -> 9,056,447: (-1.2%) RandomText Styled : 3,064,490 -> 3,029,028: (-1.2%) RandomText Styled WithoutCache : 12,314,863 -> 12,283,026: (-0.3%) Test: minikin_test Test: bit CtsTextTestCases:* Test: bit CtsWidgetTestCases:android.widget.cts.TextViewTest Test: bit FrameworksCoreTests:android.text.MeasuredParagraphTest Bug: 63897135 Change-Id: I7e6ec5c953d7d0f767aba4f61f94e62b6f3a3a2b
/frameworks/base/libs/hwui/hwui/Canvas.h
|
671cce2605ed50c9aba73ab5bd530cb7741c53cd |
|
14-Jan-2018 |
Leon Scroggins III <scroggo@google.com> |
Make ImageDecoder return animated Drawables Bug: 63909536 Bug: 63908092 Test: TODO If ImageDecoder.decodeDrawable is called with an animated image Source (currently GIF or WebP), return an object of a new (hidden) Drawable subclass. The new Drawable animates, and it implements Animatable (TODO: implement Animatable2) so users have some control over the animation. In addition to the normal features of Drawable, this new one supports many of the features of ImageDecoder, including scaling, cropping and PostProcess, which enables circle masks/rounded corners and other arbitrary after-effects. It does *not* support decoding directly to a Hardware Bitmap, since it cycles through frames and reuses the same bitmap memory. But it could be made to use shared memory (TODO?). TODO: Use a better number for the native allocation registry TODO: Use the RenderThread to drive the animation, and remove decoding on the UI thread. TODO: Add support for modifying the loop count Android.bp: - build new AnimatedImageDrawable.cpp AndroidRuntime.cpp: - register new native methods AnimatedImageDrawable.java AnimatedImageDrawable.cpp: - new Drawable that handles animated images Canvas.h, SkiaCanvas.h/.cpp - New virtual method and implementation for drawing SkAnimatedImages RecordingCanvas.h/.cpp - Stub implementation of drawing SkAnimatedImages ImageDecoder.h/cpp - Allow code sharing with AnimatedImageDrawable.cpp - postProcess - access the ImageDecoder struct Depends on https://skia-review.googlesource.com/c/skia/+/94660 in Skia. Change-Id: Ie2ec98d9c52deda4d439c6ef8e5dea2861bb93a3
/frameworks/base/libs/hwui/hwui/Canvas.h
|
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/Canvas.h
|
7c93e868825225a270c993ac058687adde682626 |
|
26-Oct-2017 |
Seigo Nonaka <nona@google.com> |
Make casting to bidi flags explicit Bug: 65024629 Test: checkbuild Change-Id: I0771036359cc1ee5471e9fd4da304598a2f8bf98
/frameworks/base/libs/hwui/hwui/Canvas.h
|
938e884a1fcc385dba5a41475aad76d8b7189609 |
|
24-Aug-2017 |
John Reck <jreck@google.com> |
Avoid setting high contrast in every view draw Test: high contrast text still works Change-Id: I6674d1aca8dddf7eb9725a5346aed12ef1dbc195
/frameworks/base/libs/hwui/hwui/Canvas.h
|
891f481ef8ab3fd26f68602f634bd0b73f42005f |
|
08-Aug-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Refactoring: Deprecate Paint.mNativeTypeface."
|
318ca04079bd6242cb6186d9005b9caeee22e845 |
|
02-Aug-2017 |
Seigo Nonaka <nona@google.com> |
Refactoring: Deprecate Paint.mNativeTypeface. Bug: 64269689 Test: m checkbuild Test: bit CtsGraphicsTestCases:* Test: bit CtsViewTestCases:* Test: bit CtsTextTestCases:* Change-Id: Idc9f2b4612741be949204cd06efc41e1738d6587
/frameworks/base/libs/hwui/hwui/Canvas.h
|
fa3e340431cc8168d960e719a596bca31dcccb38 |
|
04-Aug-2017 |
Derek Sollenberger <djsollen@google.com> |
Use colorFilters when rendering to an sRGB bitmap. Bug: 62347704 Test: CtsUiRenderingTestCases, CtsGraphicsTestCases, hwui_unit_tests Change-Id: I3e237b64cd92217b02d4995bdd695a28d3f393ee
/frameworks/base/libs/hwui/hwui/Canvas.h
|
a7f6af2c51e70a3ff84bd3a8274f372bccfef8d0 |
|
02-Aug-2017 |
Derek Sollenberger <djsollen@google.com> |
Revert "Use colorFilters when rendering to an sRGB bitmap." This reverts commit b851b197497783f894b72edcaed8f93d035ddea0. Change-Id: I5bb8fe9bf9f5d411674e289c467b3f569f7bb068
/frameworks/base/libs/hwui/hwui/Canvas.h
|
b851b197497783f894b72edcaed8f93d035ddea0 |
|
01-Aug-2017 |
Derek Sollenberger <djsollen@google.com> |
Use colorFilters when rendering to an sRGB bitmap. Bug: 62347704 Test: CtsUiRenderingTestCases, CtsGraphicsTestCases Change-Id: I55a574ffd9305588b82345a598da7818952a131d
/frameworks/base/libs/hwui/hwui/Canvas.h
|
d0814db633dbd76ecdec08806199d49654562d48 |
|
13-Apr-2017 |
Matt Sarett <msarett@google.com> |
Add SkiaCanvas::captureCanvasState() Test: Verified bug is fixed. Wrote unit test. Bug: 37268771 Change-Id: I9deb7db353cd2129ad245e7f65419670463bb717
/frameworks/base/libs/hwui/hwui/Canvas.h
|
7c9fb6076e8d64dbca19cfe0628b02040c5750e2 |
|
07-Apr-2017 |
Matt Sarett <msarett@google.com> |
Merge "Xform bitmaps to sRGB on SW and PDF canvases" into oc-dev am: c29dffed16 am: fd5d5425ee Change-Id: If960ccd900ebc2b841c2f13ca4f25820a48a950f
|
ea70d22dc8dc5d61f075edf6d03f86f6a68169cd |
|
29-Mar-2017 |
Matt Sarett <msarett@google.com> |
Xform bitmaps to sRGB on SW and PDF canvases For picture-backed canvases, we will defer the xform until playback. Test: Unit tests and cts test. Bug: 32984164 Change-Id: Ib74663bcb688b74b6ba8792b403b0475126732af
/frameworks/base/libs/hwui/hwui/Canvas.h
|
826deefda55ead0036cdb0924bc14f17d2a85420 |
|
04-Apr-2017 |
Mike Reed <reed@google.com> |
switch over to SkVertices object, and stop using deprecated methods. This allows Skia to remove SK_SUPPORT_LEGACY_CANVAS_VERTICES SK_SUPPORT_LEGACY_BITMAP_SETPIXELREF SK_SUPPORT_LEGACY_PIXELREFFACTORY Test: Existing CTS cover these changes Running CtsGraphicsTestCases, there were 6 failures w/ and w/o this CL. None of the 6 seems related to this CL. Change-Id: I724082357d9f6cb699770df3c0b9ef555b957697
/frameworks/base/libs/hwui/hwui/Canvas.h
|
0b58d9928309e2c64c7cafad287e55a8151ab19a |
|
31-Mar-2017 |
Stan Iliev <stani@google.com> |
Optimize Canvas::drawGlyphs Avoid one memcpy in Canvas::drawGlyphs for all pipelines. Test: CTS passed with exception of SweepTests#testBasicDraws shadowtext, which fails with and without this CL. Change-Id: I0841232dc7a6173eb3b03f939dbde15a84186296
/frameworks/base/libs/hwui/hwui/Canvas.h
|
b29b16e5423fe7deab8ebf3da512c6d2192f19b5 |
|
04-Jan-2017 |
Derek Sollenberger <djsollen@google.com> |
Remove clipRegion from the public API. This API is difficult to support for printing and has other negative effects as it does not respect the current matrix/clip. Test: compile Bug: 14650725 Change-Id: I71f9bd687d446c7ce8910d755421aad8e09458db
/frameworks/base/libs/hwui/hwui/Canvas.h
|
6e49c9f007c879f05b035c40c0ba543c00f9d0d0 |
|
02-Dec-2016 |
Mike Reed <reed@google.com> |
switch over clip calls to use SkClipOp instead of SkRegion::Op Change-Id: I67d23c487b5249bc31d96e3b2393f693c0b2bcff
/frameworks/base/libs/hwui/hwui/Canvas.h
|
7de73858975fc4dbccfa1c188f6d1a12d39ce2c5 |
|
26-Oct-2016 |
Matt Sarett <msarett@google.com> |
Implement getTransparentRegion() using SkLatticeIter This allows us to delete utils/NinePatchImpl.cpp and utils/NinePatch.h Test: Passed cts tests - DrawableTest, NinePatchTest, NinePatchDrawableTest. Change-Id: I6b5d09fa3479e758d8b931fa0e977c25f4435a7c
/frameworks/base/libs/hwui/hwui/Canvas.h
|
5fd2a1cb2726afa7d40fe4750e9defd89c24ed37 |
|
21-Oct-2016 |
sergeyv <sergeyv@google.com> |
Pass Bitmap instead of SkBitmap in drawNinePatch & drawBitmapMesh Test: refactoring cl. bug:32216791 Change-Id: I5adcd59daf752d36012456b0a9960c59d07e2e3d
/frameworks/base/libs/hwui/hwui/Canvas.h
|
fc9999505a36c66892d7ccce85187936105f4f36 |
|
17-Oct-2016 |
sergeyv <sergeyv@google.com> |
Pass Bitmap instead of SkBitmap for bitmap rect operation Test: refactoring cl. bug:32216791 Change-Id: I66d19194c57b3aa2c400aa87acffc774a533776a
/frameworks/base/libs/hwui/hwui/Canvas.h
|
aed7f58fb05a25ce2112829e77c0eb5dd268e8a7 |
|
15-Oct-2016 |
sergeyv <sergeyv@google.com> |
Pass Bitmap instead of SkBitmap in canvas.drawBitmap(Bitmap, float,float,Paint) Test: refactoring cl. bug:32216791 Change-Id: If9f9fbc19e683b14cce6c3c268258bd832d495d2
/frameworks/base/libs/hwui/hwui/Canvas.h
|
0154feef22d9fa5490f0285c2c3d83951b12bcc8 |
|
19-Oct-2016 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Initial refactoring to enable reuse of SkiaDisplayList on a per RenderNode basis. With Skia renderer we see 30% speed improvement in Invalidate Tree UI Jank test, when SkiaDisplayList objects are reused."
|
c0e7a90f1f5f98e85dbeda021fac0dff79725933 |
|
13-Oct-2016 |
Stan Iliev <stani@google.com> |
Initial refactoring to enable reuse of SkiaDisplayList on a per RenderNode basis. With Skia renderer we see 30% speed improvement in Invalidate Tree UI Jank test, when SkiaDisplayList objects are reused. Test: manually built and run on angler-eng. Change-Id: Ie4ec50ddb2015150e3ec678dde7ebed0c8d90067
/frameworks/base/libs/hwui/hwui/Canvas.h
|
260ab726486317496bc12a57d599ea96dcde3284 |
|
07-Oct-2016 |
Mike Reed <reed@google.com> |
use SkBlendMode instead of SkXfermode use sk_sp versions of paint setters/getters Change-Id: I86591a0a8ec92e6039776cbf00424ea24f585b28
/frameworks/base/libs/hwui/hwui/Canvas.h
|
7e03ffa772481387beba66e33a0a056af2642aa7 |
|
29-Jul-2016 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Use Canvas::create_recording_canvas instead of RecordingCanvas ctor"
|
06152cdd06da50762716cd455dcf7ab0117f25b0 |
|
27-Jul-2016 |
Stan Iliev <stani@google.com> |
Use Canvas::create_recording_canvas instead of RecordingCanvas ctor Modify HWUI tests to support different recording canvases. Delete TestCanvas class and use base Canvas class instead. Use Canvas::create_recording_canvas to create recording canvas instances instead of RecordingCanvas constructor. Change-Id: I651fb9bb4add0874d7110bac467a2eb1012357fc
/frameworks/base/libs/hwui/hwui/Canvas.h
|
afc221499d943386256feb9db46c119ff834bf79 |
|
18-Jul-2016 |
Yuqian Li <liyuqian@google.com> |
More efficient text rendering on path Change-Id: I004c15473b527df0f296c54a6a3e9b29505fd9b9
/frameworks/base/libs/hwui/hwui/Canvas.h
|
5e00c7ce063116c11315639f0035aca8ad73e8cc |
|
07-Jul-2016 |
Chris Craik <ccraik@google.com> |
Delete old rendering pipeline fixes: 30002246 Change-Id: I45df0e924708526cee045b14c291bd23aa1a92db
/frameworks/base/libs/hwui/hwui/Canvas.h
|
9688a3d33451134d6ff54f7b60f8db7a338a40f1 |
|
30-Jun-2016 |
John Reck <jreck@google.com> |
Fix compile issue Change-Id: Ic3423cfb23c6057210efb2e9110551b694c0101c
/frameworks/base/libs/hwui/hwui/Canvas.h
|
cd1c3eba69d044b551cededad75474038f919890 |
|
14-Apr-2016 |
John Reck <jreck@google.com> |
Add a callback for when a gl functor is released Bug: 27709981 Change-Id: Id5be3e8f88d6d84a9c59c7ed23e7e8862feefbe8
/frameworks/base/libs/hwui/hwui/Canvas.h
|
79abbf22d4f672208327546661e694d837f564a9 |
|
24-Mar-2016 |
Derek Sollenberger <djsollen@google.com> |
Update HWUI tests to use minikin to layout fonts. This update is a precondition for landing additional tests that depend on the minkin layout implementation. bug: 27675371 Change-Id: I9bb98bae6b39462246e42cf8acb968b7df05292d
/frameworks/base/libs/hwui/hwui/Canvas.h
|
bad99183916ba2bac6659efc8a28273e344ba511 |
|
17-Mar-2016 |
sergeyv <sergeyv@google.com> |
Clean up and rename TypefaceImpl bug:25865834 Change-Id: I77e8a627163e040a5c25865054a8a936052af367
/frameworks/base/libs/hwui/hwui/Canvas.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/Canvas.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/Canvas.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/Canvas.h
|