236 Commits

Author SHA1 Message Date
subhransu mohanty
acfadf70a4 lottie: keep the content in back-tofron order in lottie scenegraph.
Change-Id: I15090782105c5e30d38e4d2df896d430d6f8cc19
2018-09-06 12:16:59 +09:00
subhransu mohanty
3866241340 lottie/optimization: keep the layers in back-to-front order in scenegraph for cache coherency
Change-Id: I31678bc3f4470287a4ebebc8ab88cbd0a38d2f15
2018-09-06 11:17:02 +09:00
Hermet Park
7ac6a6d6ee lottieplayer: ++ lotplayer_set_data()
Change-Id: I8f38f6473213aa2d9904aac0dd68aaa207b1e076
2018-09-06 01:55:37 +00:00
Hermet Park
da0613c3ae packaging: include c api header.
Change-Id: I2b495d978474f7d5e3447fc23dd4126303beaf1e
2018-09-06 01:54:39 +00:00
subhransu mohanty
81b77d5f3a lottie/vector: optimize VMatrix size requirement.
Change-Id: I64efd97336904669d60c6ce99f83d5737f83d9b7
2018-09-05 10:56:29 +00:00
subhransu mohanty
de902032de lottie: optimize VColor structure.
uchar is enough to store 0-255 possible color value.

Change-Id: Iaf6a24dd99158483723e98a930f12478770fac58
2018-09-05 10:56:20 +00:00
subhransu mohanty
6f3dfc1c2d lottie/render: add neon path srcOver compostion mode for solid src.
Change-Id: I711dc309b02911de1155b0e788c6e79b6630fb7a
2018-09-05 19:37:36 +09:00
subhransu mohanty
5eecb9ad36 lottie/example: use loadfromData() api in demo app.
Change-Id: I8e5ce194f1795ca30ac8aad319ba25706a6023cf
2018-09-04 19:10:32 +09:00
subhransu mohanty
dbf479dbd5 lottie: added new loadfromdata() api in lottie player.
Change-Id: Iadc6e57953190bdb860415cb3a4d4d02a6ac3cf6
2018-09-04 18:41:47 +09:00
subhransu mohanty
6f5efb5eb3 lottie: fixed warning.
Change-Id: I5b4bf56ed2ad38d0d12a031791e23b24083ff573
2018-09-04 18:15:09 +09:00
subhransu mohanty
8288c8cf83 lottie: fixed inefficiency using clang-tidy performance option.
Change-Id: I7fc33842e177091a596f980b87759a1cb90ed79e
2018-09-03 19:10:44 +09:00
subhransu mohanty
234a92d533 lottie: modernize using clang-tidy 'modernize-use-default-member-init'
Change-Id: I6ee31ae694d9f9cfb6cabbe160a980cd5277d1a7
2018-09-03 18:50:54 +09:00
subhransu mohanty
59778f7c2d lottie: moderize using clang-tidy 'modernize-return-braced-init-list'
Change-Id: I4186243915c8bda61aade79e55f87e286801d2da
2018-09-03 18:36:19 +09:00
subhransu mohanty
886b17756f lottie: avoid extra copy by using std::move
Change-Id: Iaa61ee36a87e26b2c26676cae4b7cf2e94b595a0
2018-09-03 18:27:12 +09:00
subhransu mohanty
d19359f8cb lottie: modernize using clang-tidy "modernize-use-equals-default"
Change-Id: Ic09bf5651333f63f2603c8e3d9dd8afd4b73c7aa
2018-09-03 18:10:45 +09:00
subhransu mohanty
c7c391453e lottie: mordernize using clang-tidy "modernize-use-override"
Change-Id: Ice8612f9ceb3b99ebeeb6b618a54e9298b4cb66f
2018-09-03 17:20:04 +09:00
subhransu mohanty
6f2d9ddf1a lottie/render: hide the layer when matte layer is hidden.
in AE matte layers visibility affects the layer below.

Change-Id: I0d1c6e19f78bc3d25ac6ae8a56ec5371a925e300
2018-09-03 07:47:59 +00:00
Youngbok Shin
8bdea992bc lottie/vector: fix build failure for non-arm devices
Change-Id: Id03173880629859df24e8c195a5060d8494f8d88
2018-09-03 16:43:54 +09:00
subhransu mohanty
b9b13e5923 lottie/render: don't try to render invisible layer.
Change-Id: I2544b6a04d07eaf155fbddc405952e739b14eaf1
2018-09-03 15:49:10 +09:00
Hermet Park
d511c6cc50 lottieplayer binding: ++apis bindings.
Change-Id: I6becf969ae71d1b19399cc44ce1b38e92f3920d3
2018-09-03 06:28:07 +00:00
Hermet Park
46ec17191e lottieplayer: keep API coding convention.
Not use "get" prefix so far.

Change-Id: Iabc2852cd78d5ac4f4fa29f8b3b7195eafe1d804
2018-09-03 06:25:27 +00:00
subhransu mohanty
d3be153e82 lottie: fixed cmake build issue.
Change-Id: I48591bd78dd173d7f148cc2dcb3c31dd8cd9d1a2
2018-09-03 15:03:52 +09:00
subhransu mohanty
84905d7830 lottie/parser: wrap the trim offset value before normalize.
Change-Id: I5bce3b840cc54d626ea2397d35c4a7ef90e7be7e
2018-09-03 12:31:16 +09:00
subhransu mohanty
288bd33029 lottie/example: sort the file list before showing it in list view.
Change-Id: I3dd2c2d332cfc13265694e1ac6ee2a4bae6e1afd
2018-09-03 12:26:50 +09:00
Jaeun Choi
5b53b71f4e lottie/example: enhanced lottieviewer example
Change-Id: I0eb2a8c528376397190c75b084e9510c3698c034
2018-08-31 17:02:23 +09:00
subhransu mohanty
14d9f8ebf1 lottie/vector: add a local arena allocator.
Change-Id: I7f76ab73d457ee9f4e9b5e35c1303c63c14efcea
2018-08-31 14:37:33 +09:00
subhransu mohanty
81a1c0bbf7 lottie/resource: added new resource going to be used by mobile/vd team.
Change-Id: Ia25247bda7349c34df14aeeab24f1ec42e864d8c
2018-08-30 14:16:18 +09:00
subhransu mohanty
cb03e6e947 lottie: fixed proper handling of offset property in trim object.
The offset property is in degree and wraps after 360 degree to 0.
so normalize the offset property to [0 - 1] and pass it to pathmesure object.

Change-Id: Ifd56f0926c1971dd5dd549787dcf5e5c35ed875a
2018-08-30 14:00:47 +09:00
subhransu mohanty
f18d33b9cb lottie: added new lottie resource file.
Change-Id: I487b65a371b2aeed80cda6211ab55ea525d37c9a
2018-08-29 14:53:25 +09:00
subhransu mohanty
adef38c0e7 lottie/vector: move line related api to its own class .
Change-Id: Ib9072653cf534e558eedd88242535bc9a8e028fe
2018-08-29 11:46:49 +09:00
subhransu mohanty
c87e393308 lottie/vector: refactor VPathMesure to handle offset .
Change-Id: Ic84c63376c52167ee2ae88d363bf22aadf4fbca9
2018-08-28 19:26:30 +09:00
Youngbok Shin
7c5b266b03 vector/vdasher: fix a wrong code indentation about the previous patch
Sorry for my mistake.

Change-Id: I22388fce81738b781c225545e8bff98219be9317
2018-08-28 15:45:48 +09:00
Youngbok Shin
171165be39 lottie/vdasher: fix multiple dashes issue on multiple pathes
mIndex is for handling multiple dashes.
If a previous path ends at mIndex > 0,
it should be initialized as 0 when it starts job for next path.
The previous work shouldn't affect the next path.

Change-Id: Iab2b00fe456f7195acd7e086f55758ad7d2a7bf6
2018-08-28 15:08:40 +09:00
subhransu mohanty
d129603118 lottie/vector: refactor VDasher.
Change-Id: I30ae3b69839754bfd7c3a19543d03cc205504681
2018-08-28 10:56:20 +09:00
Youngbok Shin
e8195241c4 lottie/vdasher: improve readability for cubicTo function
Change-Id: I86422527c33c323d0469a4a6b58089997b55b004
2018-08-27 17:51:13 +09:00
Youngbok Shin
9de63f660f lottie/vdasher: improve readability for lineTo function
It creates two internal functions for duplicated code.
By replacing nested 'if' conditions with the functions,
it improves readability and manageability.

Change-Id: I303ba6849f776c5f02df6552f0a37acecb14a78b
2018-08-27 17:06:59 +09:00
Youngbok Shin
f86f1bedd7 lottie/vdasher: remove connected dash lines between pathes
Since managing multiple pathes by a painter or a stroke,
multiple pathes will be drawn in one "dashed" function call.
And its vdasher's moveTo() function only do the job properly
when there is only one moveTo call.
Now, the moveTo() function initialize internal properties properly.

Change-Id: I4dd45d480f27dce734ce2ef8d1ff38774c589e64
2018-08-27 14:31:51 +09:00
subhransu mohanty
d2fc8fc576 lottie: refactor the viewitems to have a parent, to optimize the size of the structure.
1. we could move as much common data to parent structure and then keep the parent pointer in the child.
2. move expensive vmatrix data to parent.

Change-Id: Icfd3aa885ebfce5c9555f8b107d3b885827ebedf
2018-08-24 15:44:51 +09:00
Youngbok Shin
a752461b8f lottie: fix issue - path was not updated properly for each painter item
It also adds debug message for polystar type.

Change-Id: Ie1b788571d003402da0d518be484a0458df5dcec
2018-08-24 14:44:03 +09:00
subhransu mohanty
a73e49a6f9 lottie: refactor processing of trim objects.
1. now each trim item keeps a list of path item it operates on.
2. trim update phase happens after the update phase. so that all path items are correctly updated.
3. Trim objects operate on a intermediate path so that multiple trim objects operating on same path can be possible.

Change-Id: I9a6d66aef4449b9399ebc65e29d8633cf41cd25a
2018-08-24 11:07:26 +09:00
Youngbok Shin
386e6ebbff lottie: fix doubled scale issue
The scale was calculated based on length 2.
So, its result was also doubled.
It should be half before return scale result.

Change-Id: I66a5fa9ba235bd5ebcde89b9b3c01c0f128d217e
2018-08-23 19:31:28 +09:00
subhransu mohanty
2e59b9fb93 lottie: remove dead code.
Change-Id: I81d8c6e3e0c4b6b6d9cff03f70e8818af57dfade
2018-08-23 17:19:43 +09:00
Youngbok Shin
eea5add913 lottie: fixed regression caused by last commit
There was issue caused by item inside of groups.

Change-Id: If9057db4f183fc2956d3bd43dca92fc5bb628202
2018-08-23 17:07:48 +09:00
subhransu mohanty
5775d02261 lottie: refactor the lottie scene graph processing.
Change-Id: I739aa19abaf7f141b556b67083df4461945461d9
2018-08-23 15:28:33 +09:00
subhransu mohanty
43d77af0d1 lottie/vector : added addPath() api to vpath.
Change-Id: I3fd7ee9ba8add8f7109c23c0b6e62388b3fda5bf
2018-08-23 13:15:49 +09:00
subhransu mohanty
f0515f36b8 lottie/vector: return correct number from segments() api.
Change-Id: Ifb90d0f7567ba0737f70c7b7abfc467e94004780
2018-08-23 13:13:08 +09:00
Hermet Park
857fde3fa7 lottieplayer: polishing getFrameDuration(), getFrameRate()
Change-Id: I4344a6689c7ee8890e33978bfc5ca6a2c401da36
2018-08-23 00:38:29 +00:00
Jaeun Choi
d2c954d535 lottie/example: add frame information in lottieviewer example
Change-Id: If9245244bfd3e8d8050e18b5ea09fcaf240a867d
2018-08-23 00:36:25 +00:00
Jaeun Choi
02e660cff7 lottie/example: add APIs in lottieview to get frame rate and total frame number
Change-Id: I25d14d37776cd6bf07bcba1f0fc6a1c88e66dd71
2018-08-23 00:34:57 +00:00
Youngbok Shin
318151a35d lottie: remove the combined alpha value and method from path item
Alpha(opacity) values are not applied to path items.
Fill, Stroke and etc will handle opacity.

Change-Id: I8e05989e7f85797a00508c7ca151b1805d44f454
2018-08-23 00:27:37 +00:00