summaryrefslogtreecommitdiff
path: root/libs/hwui/VectorDrawable.cpp
AgeCommit message (Collapse)Author
2016-02-02VectorDrawable native rendering - Step 4 of MANYDoris Liu
This CL runs VectorDrawable animation on RenderThread. The changes in this CL include: - Convert all the animators in AnimatorSet for AVD into a set of RenderNodeAnimators. - Hook up the new animators with RenderThread - Add drawOp in RecordingCanvas for drawing VD so that during the animation on RenderThread, all the property changes on VD can be reflected on the screen. TODO: - Implement reverse and reset for AVD. Change-Id: I2df1d754f2db0ad098d9c15dde4bb2bdfafc2315
2016-01-28Fix redundant drawPath callTeng-Hui Zhu
Change-Id: I17dab39e0ca60f64543053381d8677f1a31507c0
2016-01-27Gradient for VectorDrawable's fill and strokeTeng-Hui Zhu
Add ComplexColor interface for both GradientColor and ColorStateList. Set up constant state, factory, theme attrs for GradientColor, while refactoring the ColorStateList's similar code. (Functionality in CSL should be the same). Support themeing in both the root and item level in GradientColor. For example, both startColor in <gradient> tag or color in <item> tag can have theme color. Add tests for both simple and complex cases with themeing etc. Hook up the native VectorDrawable implementation using 2 extra JNI calls for simplicity. Such calls only happen at inflate and applyTheme call. b/22564318 Change-Id: Ibdc564ddb4a7ee0133c6141c4784782f0c93ce0e
2016-01-25Add internal Canvas save flagsFlorin Malita
Skia's SkCanvas::SaveFlags are being deprecated. This CL introduces the equivalent android::SaveFlags, converts all internal clients to the new enum, and switches the saveLayer glue to the SaveLayerRec-based API. Change-Id: Icb1785f4e7c0f652b1f04b34a1e3ccb063c408f3
2016-01-21Create SkCanvas on the stack to avoid leaking memeoryDoris Liu
Bug: 26447978 Change-Id: Ied022c103c3b08e9cfc3cb775a8c95fd5461e81d
2016-01-13Properly handle the negative scaling factor of canvas in VectorDrawableDoris Liu
Bug: 26489687 Change-Id: I91cce34759fbbac206cd59f4636fd92194396c87
2015-12-30VectorDrawable: Use the matrix scale only if the matrix has no rotation or skew.Doris Liu
When canvas is rotated or skewed, the scale factor is affected. Conservatively reset the scale used to modify path stroke size to 1 in these cases, since the image will be somewhat blurry anyway with rotation / skew.. b/25418943 Change-Id: I6dff1bca5fac5500fa688c68f8b81b6212526b6b
2015-12-28VectorDrawable native rendering - Step 3 of MANYDoris Liu
- Refactored VPathRenderer & VectorDrawableState - Moved all the VD rendering into native - Set up hooks for VD's property changes in JNI for animated VD TODO: JNI calls can be further reduced when we convert the animation in AVD to use RenderNodeAnimator, in which case animation will be driven from native and therefore most of the JNI hooks for changing VD's properties during animation will no longer be needed. Change-Id: I52021f4d7bea057b83ace54085d870dd45acae0f