platform/core/uifw/lottie-player.git
5 years agolottie: added intial documentation in the animation interface. 88/188688/1
subhransu mohanty [Fri, 7 Sep 2018 09:21:00 +0000 (18:21 +0900)]
lottie: added intial documentation in the animation interface.

Change-Id: I92d802aa44492cdc83d15c8775dd8830f2cffe9d

5 years agofix build break by 0f5edac6d1595e0fecd8d48bb7d2e5353fe9121f 54/188654/1
Hermet Park [Fri, 7 Sep 2018 06:08:11 +0000 (15:08 +0900)]
fix build break by 0f5edac6d1595e0fecd8d48bb7d2e5353fe9121f
and packaging it properly.

Change-Id: Ib1216034d63beb809fdd652542980e61494e1e91

5 years agolottie: refactor lottie interface 98/188598/4
subhransu mohanty [Thu, 6 Sep 2018 11:18:40 +0000 (20:18 +0900)]
lottie: refactor lottie interface
1. rename namespace player--> animation both cpp and c interface
2. added factory function to create animation object.
3. added render api to c interface.

Change-Id: I31c99a66678b20a0c743c564d399172f4182b0d1

5 years agoadd AUTHORS 48/188548/2
Hermet Park [Thu, 6 Sep 2018 02:42:56 +0000 (11:42 +0900)]
add AUTHORS

Change-Id: I966f655a2744162d85562594a64a1547d297f278

5 years agolottie: refactor model class to remove visitor 54/188554/3
subhransu mohanty [Thu, 6 Sep 2018 04:45:17 +0000 (13:45 +0900)]
lottie: refactor model class to remove visitor
now visitor class will use the lotnode->type to visit the tree
and all the model class don't have to pay the virtual pointer overhead.

Change-Id: Ie98d5e369c9f30c94222898849a6da5d0b82938c

5 years agolottie: keep the content in back-tofron order in lottie scenegraph. 53/188553/1
subhransu mohanty [Thu, 6 Sep 2018 03:16:59 +0000 (12:16 +0900)]
lottie: keep the content in back-tofron order in lottie scenegraph.

Change-Id: I15090782105c5e30d38e4d2df896d430d6f8cc19

5 years agolottie/optimization: keep the layers in back-to-front order in scenegraph for cache... 46/188546/1
subhransu mohanty [Thu, 6 Sep 2018 02:17:02 +0000 (11:17 +0900)]
lottie/optimization: keep the layers in back-to-front order in scenegraph for cache coherency

Change-Id: I31678bc3f4470287a4ebebc8ab88cbd0a38d2f15

5 years agolottieplayer: ++ lotplayer_set_data() 20/188520/2
Hermet Park [Wed, 5 Sep 2018 11:33:30 +0000 (20:33 +0900)]
lottieplayer: ++ lotplayer_set_data()

Change-Id: I8f38f6473213aa2d9904aac0dd68aaa207b1e076

5 years agopackaging: include c api header. 72/188472/2
Hermet Park [Wed, 5 Sep 2018 08:34:24 +0000 (17:34 +0900)]
packaging: include c api header.

Change-Id: I2b495d978474f7d5e3447fc23dd4126303beaf1e

5 years agolottie/vector: optimize VMatrix size requirement. 67/188467/2
subhransu mohanty [Wed, 5 Sep 2018 07:56:38 +0000 (16:56 +0900)]
lottie/vector: optimize VMatrix size requirement.

Change-Id: I64efd97336904669d60c6ce99f83d5737f83d9b7

5 years agolottie: optimize VColor structure. 65/188465/2
subhransu mohanty [Wed, 5 Sep 2018 07:47:09 +0000 (16:47 +0900)]
lottie: optimize VColor structure.
uchar is enough to store 0-255 possible color value.

Change-Id: Iaf6a24dd99158483723e98a930f12478770fac58

5 years agolottie/render: add neon path srcOver compostion mode for solid src. 98/188498/1
subhransu mohanty [Wed, 5 Sep 2018 10:37:36 +0000 (19:37 +0900)]
lottie/render: add neon path  srcOver compostion mode for solid src.

Change-Id: I711dc309b02911de1155b0e788c6e79b6630fb7a

5 years agolottie/example: use loadfromData() api in demo app. 82/188382/1
subhransu mohanty [Tue, 4 Sep 2018 10:10:32 +0000 (19:10 +0900)]
lottie/example: use loadfromData() api in demo app.

Change-Id: I8e5ce194f1795ca30ac8aad319ba25706a6023cf

5 years agolottie: added new loadfromdata() api in lottie player. 78/188378/1
subhransu mohanty [Tue, 4 Sep 2018 09:41:47 +0000 (18:41 +0900)]
lottie: added new loadfromdata() api in lottie player.

Change-Id: Iadc6e57953190bdb860415cb3a4d4d02a6ac3cf6

5 years agolottie: fixed warning. 73/188373/1
subhransu mohanty [Tue, 4 Sep 2018 09:15:09 +0000 (18:15 +0900)]
lottie: fixed warning.

Change-Id: I5b4bf56ed2ad38d0d12a031791e23b24083ff573

5 years agolottie: fixed inefficiency using clang-tidy performance option. 57/188257/1
subhransu mohanty [Mon, 3 Sep 2018 10:10:44 +0000 (19:10 +0900)]
lottie: fixed inefficiency using clang-tidy performance option.

Change-Id: I7fc33842e177091a596f980b87759a1cb90ed79e

5 years agolottie: modernize using clang-tidy 'modernize-use-default-member-init' 52/188252/1
subhransu mohanty [Mon, 3 Sep 2018 09:50:54 +0000 (18:50 +0900)]
lottie: modernize using clang-tidy 'modernize-use-default-member-init'

Change-Id: I6ee31ae694d9f9cfb6cabbe160a980cd5277d1a7

5 years agolottie: moderize using clang-tidy 'modernize-return-braced-init-list' 51/188251/1
subhransu mohanty [Mon, 3 Sep 2018 09:36:19 +0000 (18:36 +0900)]
lottie: moderize using clang-tidy 'modernize-return-braced-init-list'

Change-Id: I4186243915c8bda61aade79e55f87e286801d2da

5 years agolottie: avoid extra copy by using std::move 48/188248/1
subhransu mohanty [Mon, 3 Sep 2018 09:27:12 +0000 (18:27 +0900)]
lottie: avoid extra copy by using std::move

Change-Id: Iaa61ee36a87e26b2c26676cae4b7cf2e94b595a0

5 years agolottie: modernize using clang-tidy "modernize-use-equals-default" 45/188245/1
subhransu mohanty [Mon, 3 Sep 2018 09:10:45 +0000 (18:10 +0900)]
lottie: modernize using clang-tidy "modernize-use-equals-default"

Change-Id: Ic09bf5651333f63f2603c8e3d9dd8afd4b73c7aa

5 years agolottie: mordernize using clang-tidy "modernize-use-override" 36/188236/1
subhransu mohanty [Mon, 3 Sep 2018 08:19:11 +0000 (17:19 +0900)]
lottie: mordernize using clang-tidy "modernize-use-override"

Change-Id: Ice8612f9ceb3b99ebeeb6b618a54e9298b4cb66f

5 years agolottie/render: hide the layer when matte layer is hidden. 31/188231/2
subhransu mohanty [Mon, 3 Sep 2018 07:39:34 +0000 (16:39 +0900)]
lottie/render: hide the layer when matte layer is hidden.

in AE matte layers visibility affects the layer below.

Change-Id: I0d1c6e19f78bc3d25ac6ae8a56ec5371a925e300

5 years agolottie/vector: fix build failure for non-arm devices 29/188229/2
Youngbok Shin [Mon, 3 Sep 2018 07:33:37 +0000 (16:33 +0900)]
lottie/vector: fix build failure for non-arm devices

Change-Id: Id03173880629859df24e8c195a5060d8494f8d88

5 years agolottie/render: don't try to render invisible layer. 23/188223/1
subhransu mohanty [Mon, 3 Sep 2018 06:49:10 +0000 (15:49 +0900)]
lottie/render: don't try to render invisible layer.

Change-Id: I2544b6a04d07eaf155fbddc405952e739b14eaf1

5 years agolottieplayer binding: ++apis bindings. 98/188098/4
Hermet Park [Fri, 31 Aug 2018 08:31:03 +0000 (17:31 +0900)]
lottieplayer binding: ++apis bindings.

Change-Id: I6becf969ae71d1b19399cc44ce1b38e92f3920d3

5 years agolottieplayer: keep API coding convention. 97/188097/2
Hermet Park [Fri, 31 Aug 2018 08:27:49 +0000 (17:27 +0900)]
lottieplayer: keep API coding convention.

Not use "get" prefix so far.

Change-Id: Iabc2852cd78d5ac4f4fa29f8b3b7195eafe1d804

5 years agolottie: fixed cmake build issue. 16/188216/1
subhransu mohanty [Mon, 3 Sep 2018 06:03:52 +0000 (15:03 +0900)]
lottie: fixed cmake build issue.

Change-Id: I48591bd78dd173d7f148cc2dcb3c31dd8cd9d1a2

5 years agolottie/parser: wrap the trim offset value before normalize. 97/188197/1
subhransu mohanty [Mon, 3 Sep 2018 03:31:16 +0000 (12:31 +0900)]
lottie/parser: wrap the trim offset value before normalize.

Change-Id: I5bce3b840cc54d626ea2397d35c4a7ef90e7be7e

5 years agolottie/example: sort the file list before showing it in list view. 96/188196/1
subhransu mohanty [Mon, 3 Sep 2018 03:26:50 +0000 (12:26 +0900)]
lottie/example: sort the file list before showing it in list view.

Change-Id: I3dd2c2d332cfc13265694e1ac6ee2a4bae6e1afd

5 years agolottie/example: enhanced lottieviewer example 38/187938/5
Jaeun Choi [Wed, 29 Aug 2018 14:24:45 +0000 (23:24 +0900)]
lottie/example: enhanced lottieviewer example

Change-Id: I0eb2a8c528376397190c75b084e9510c3698c034

5 years agolottie/vector: add a local arena allocator. 77/188077/1
subhransu mohanty [Fri, 31 Aug 2018 05:37:33 +0000 (14:37 +0900)]
lottie/vector: add a local arena allocator.

Change-Id: I7f76ab73d457ee9f4e9b5e35c1303c63c14efcea

5 years agolottie/resource: added new resource going to be used by mobile/vd team. 71/187971/1
subhransu mohanty [Thu, 30 Aug 2018 05:16:18 +0000 (14:16 +0900)]
lottie/resource: added new resource  going to be used by  mobile/vd team.

Change-Id: Ia25247bda7349c34df14aeeab24f1ec42e864d8c

5 years agolottie: fixed proper handling of offset property in trim object. 67/187967/1
subhransu mohanty [Thu, 30 Aug 2018 05:00:47 +0000 (14:00 +0900)]
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

5 years agolottie: added new lottie resource file. 66/187866/2
subhransu mohanty [Wed, 29 Aug 2018 05:42:35 +0000 (14:42 +0900)]
lottie: added new lottie resource file.

Change-Id: I487b65a371b2aeed80cda6211ab55ea525d37c9a

5 years agolottie/vector: move line related api to its own class . 45/187845/1
subhransu mohanty [Wed, 29 Aug 2018 02:36:10 +0000 (11:36 +0900)]
lottie/vector: move line related api to its own class .

Change-Id: Ib9072653cf534e558eedd88242535bc9a8e028fe

5 years agolottie/vector: refactor VPathMesure to handle offset . 92/187792/3
subhransu mohanty [Tue, 28 Aug 2018 06:14:24 +0000 (15:14 +0900)]
lottie/vector: refactor VPathMesure to handle offset .

Change-Id: Ic84c63376c52167ee2ae88d363bf22aadf4fbca9

5 years agovector/vdasher: fix a wrong code indentation about the previous patch 47/187747/1
Youngbok Shin [Tue, 28 Aug 2018 06:45:48 +0000 (15:45 +0900)]
vector/vdasher: fix a wrong code indentation about the previous patch

Sorry for my mistake.

Change-Id: I22388fce81738b781c225545e8bff98219be9317

5 years agolottie/vdasher: fix multiple dashes issue on multiple pathes 34/187734/1
Youngbok Shin [Tue, 28 Aug 2018 06:08:40 +0000 (15:08 +0900)]
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

5 years agolottie/vector: refactor VDasher. 92/187692/1
subhransu mohanty [Tue, 28 Aug 2018 01:56:20 +0000 (10:56 +0900)]
lottie/vector: refactor VDasher.

Change-Id: I30ae3b69839754bfd7c3a19543d03cc205504681

5 years agolottie/vdasher: improve readability for cubicTo function 52/187652/2
Youngbok Shin [Mon, 27 Aug 2018 08:48:35 +0000 (17:48 +0900)]
lottie/vdasher: improve readability for cubicTo function

Change-Id: I86422527c33c323d0469a4a6b58089997b55b004

5 years agolottie/vdasher: improve readability for lineTo function 47/187647/3
Youngbok Shin [Mon, 27 Aug 2018 07:18:46 +0000 (16:18 +0900)]
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

5 years agolottie/vdasher: remove connected dash lines between pathes 87/187587/2
Youngbok Shin [Fri, 24 Aug 2018 10:27:20 +0000 (19:27 +0900)]
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

5 years agolottie: refactor the viewitems to have a parent, to optimize the size of the structure. 65/187565/1
subhransu mohanty [Fri, 24 Aug 2018 06:44:51 +0000 (15:44 +0900)]
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

5 years agolottie: fix issue - path was not updated properly for each painter item 57/187557/1
Youngbok Shin [Fri, 24 Aug 2018 05:41:31 +0000 (14:41 +0900)]
lottie: fix issue - path was not updated properly for each painter item

It also adds debug message for polystar type.

Change-Id: Ie1b788571d003402da0d518be484a0458df5dcec

5 years agolottie: refactor processing of trim objects. 34/187534/2
subhransu mohanty [Fri, 24 Aug 2018 02:01:48 +0000 (11:01 +0900)]
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

5 years agolottie: fix doubled scale issue 58/187458/1
Youngbok Shin [Thu, 23 Aug 2018 10:31:28 +0000 (19:31 +0900)]
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

5 years agolottie: remove dead code. 46/187446/1
subhransu mohanty [Thu, 23 Aug 2018 08:19:43 +0000 (17:19 +0900)]
lottie: remove dead code.

Change-Id: I81d8c6e3e0c4b6b6d9cff03f70e8818af57dfade

5 years agolottie: fixed regression caused by last commit 45/187445/1
Youngbok Shin [Thu, 23 Aug 2018 08:07:48 +0000 (17:07 +0900)]
lottie: fixed regression caused by last commit

There was issue caused by item inside of groups.

Change-Id: If9057db4f183fc2956d3bd43dca92fc5bb628202

5 years agolottie: refactor the lottie scene graph processing. 23/187423/1
subhransu mohanty [Thu, 23 Aug 2018 02:12:13 +0000 (11:12 +0900)]
lottie: refactor the lottie scene graph processing.

Change-Id: I739aa19abaf7f141b556b67083df4461945461d9

5 years agolottie/vector : added addPath() api to vpath. 11/187411/1
subhransu mohanty [Thu, 23 Aug 2018 04:10:06 +0000 (13:10 +0900)]
lottie/vector : added addPath() api to vpath.

Change-Id: I3fd7ee9ba8add8f7109c23c0b6e62388b3fda5bf

5 years agolottie/vector: return correct number from segments() api. 10/187410/1
subhransu mohanty [Thu, 23 Aug 2018 04:13:08 +0000 (13:13 +0900)]
lottie/vector: return correct number from  segments() api.

Change-Id: Ifb90d0f7567ba0737f70c7b7abfc467e94004780

5 years agolottieplayer: polishing getFrameDuration(), getFrameRate() 30/187330/4
Hermet Park [Wed, 22 Aug 2018 05:25:56 +0000 (14:25 +0900)]
lottieplayer: polishing getFrameDuration(), getFrameRate()

Change-Id: I4344a6689c7ee8890e33978bfc5ca6a2c401da36

5 years agolottie/example: add frame information in lottieviewer example 56/187356/2
Jaeun Choi [Wed, 22 Aug 2018 07:26:44 +0000 (16:26 +0900)]
lottie/example: add frame information in lottieviewer example

Change-Id: If9245244bfd3e8d8050e18b5ea09fcaf240a867d

5 years agolottie/example: add APIs in lottieview to get frame rate and total frame number 55/187355/2
Jaeun Choi [Wed, 22 Aug 2018 07:24:26 +0000 (16:24 +0900)]
lottie/example: add APIs in lottieview to get frame rate and total frame number

Change-Id: I25d14d37776cd6bf07bcba1f0fc6a1c88e66dd71

5 years agolottie: remove the combined alpha value and method from path item 67/187267/3
Youngbok Shin [Tue, 21 Aug 2018 09:56:06 +0000 (18:56 +0900)]
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

5 years agolottie: add APIs in lottieplayer to get frame rate and total frame number 86/187286/2
Jaeun Choi [Tue, 21 Aug 2018 12:43:22 +0000 (21:43 +0900)]
lottie: add APIs in lottieplayer to get frame rate and total frame number

Change-Id: Ib81eed03adf520927b3b434b67425168b07f13b1

5 years agobinding/c: more compatible with C compiler. 70/187270/11
Hermet Park [Tue, 21 Aug 2018 10:20:53 +0000 (19:20 +0900)]
binding/c: more compatible with C compiler.

Change-Id: I9fea4817cc913913f65c4b228cb0a42aae2cb2f8

5 years agolottie: fixed lottieviewer example 54/187254/1
Jaeun Choi [Fri, 17 Aug 2018 12:15:22 +0000 (21:15 +0900)]
lottie: fixed lottieviewer example

Change-Id: I5ede2096f3e00dd4b343a05b337dd67070f6ac66

5 years agolottie/example: updated lottieviewer example. 22/187222/1
subhransu mohanty [Tue, 21 Aug 2018 05:25:50 +0000 (14:25 +0900)]
lottie/example: updated lottieviewer example.

Change-Id: I97e30598090f16e4370f1d08dc94315789d82a3d

5 years agolottie/parser: changed the datatype of gradient member object . 19/187219/1
subhransu mohanty [Tue, 21 Aug 2018 05:05:50 +0000 (14:05 +0900)]
lottie/parser: changed  the datatype of gradient member object .

Change-Id: I2b1ca35904f1d5af39c0c76be47af582f9b93041

5 years agolottie/example: add complex gradient examples and remove simple one 16/187216/1
Youngbok Shin [Tue, 21 Aug 2018 04:57:22 +0000 (13:57 +0900)]
lottie/example: add complex gradient examples and remove simple one

Change-Id: I6003e3ca3209125c119feaaae55da35327b52a2c

5 years agolottie: fixed warnings generated by '-Wextra' flag. 15/187215/3
subhransu mohanty [Tue, 21 Aug 2018 04:21:16 +0000 (13:21 +0900)]
lottie: fixed warnings generated by  '-Wextra' flag.

Change-Id: I73c122f61e628bdbdb6ab98bb68b7d32ab9f4ec0

5 years agolottie/example: add a missing example lottie file 14/187214/1
Youngbok Shin [Tue, 21 Aug 2018 04:20:22 +0000 (13:20 +0900)]
lottie/example: add a missing example lottie file

It is good to test matte feature and managing multiple layers.

Change-Id: Ie87cc18d0b37b35858c765339d129dc35f2c2986

5 years agolottie: build fix. 02/187202/2
subhransu mohanty [Tue, 21 Aug 2018 03:59:33 +0000 (12:59 +0900)]
lottie: build fix.

Change-Id: Ie008c71e2fcb3bcf7197245e26880e71e2bedc32

5 years agolottie: add "lottieviewer" example 61/187061/3
Jaeun Choi [Fri, 17 Aug 2018 12:15:22 +0000 (21:15 +0900)]
lottie: add "lottieviewer" example

lottieviewer shows each frame image according to slider value.
since edc compilation is not supported yet,
do the following steps to run this example:

$ cd example
$ edje_cc layout.edc
$ mv layout.edj ../build/example

Change-Id: I00f7d8b743e9028d1e8006104e63bef5d96084b6

5 years agolottie/render: added support to render difference mask mode. 90/187190/4
sub.mohanty@samsung.com [Mon, 20 Aug 2018 15:35:49 +0000 (00:35 +0900)]
lottie/render: added support to render difference mask mode.

Change-Id: Ia6ccba78181c87c6b49124026494b324ba93a846

5 years agolottie/parser: updated parser to parse difference mask mode 89/187189/4
sub.mohanty@samsung.com [Mon, 20 Aug 2018 15:33:51 +0000 (00:33 +0900)]
lottie/parser: updated parser to parse difference mask mode

Change-Id: I607d4f56a849d1cb928926c2d4ecc30cf1313e7e

5 years agolottie: refactor VRaster class. 98/187198/2
subhransu mohanty [Tue, 21 Aug 2018 01:44:40 +0000 (10:44 +0900)]
lottie: refactor VRaster class.

Change-Id: Iadd382d34fcaa67a4cb60b44f22af38051f6f09a

5 years agolottie:convert remaining raw pointer to unique_ptr. 95/187195/2
subhransu mohanty [Tue, 21 Aug 2018 01:06:27 +0000 (10:06 +0900)]
lottie:convert remaining raw pointer to unique_ptr.

Change-Id: If85e7b8ffbbacd2cd305e6a3ef6d98ccd8ed7172

5 years agolottie/vector: added Xor operation to Rle object 88/187188/3
sub.mohanty@samsung.com [Mon, 20 Aug 2018 15:31:57 +0000 (00:31 +0900)]
lottie/vector: added Xor operation to Rle object

Change-Id: I48cb3680a22ce3fb7f07048385dd5cc518ff9c7e

5 years agolottieplayer: handling error code. 75/187175/2
Hermet Park [Mon, 20 Aug 2018 11:10:32 +0000 (20:10 +0900)]
lottieplayer: handling error code.

Change-Id: I24c88fad24b821e18e7071e6bd82a828b8fd358e

5 years agoadd c interface. 62/187062/6
Hermet Park [Fri, 17 Aug 2018 12:43:20 +0000 (21:43 +0900)]
add c interface.

Change-Id: Ifc81f35479aa6e0ef18ead5b863ae80b34f98f85

5 years agorefactor infrastructure. 35/187035/6
Hermet Park [Fri, 17 Aug 2018 09:41:34 +0000 (18:41 +0900)]
refactor infrastructure.

Split common delcaration from lottieplayer.h
This common delcaration will be used in c interface header files.

Change-Id: Icb3e3f182b2f27fc2d7c9bed36ac29c45c813b66

5 years agolottie: apply matte feature to LOTCompLayerItem 77/187177/2
Youngbok Shin [Mon, 20 Aug 2018 11:39:46 +0000 (20:39 +0900)]
lottie: apply matte feature to LOTCompLayerItem

The LOTCompLayerItem's MatteRle has to be inherited to its all children layers.
You can test it with "personal_character.json".

Change-Id: I225e16397441f9771286c6fcc821b5050b165ecc

5 years agolottie/render: handle the case when resulting mask is null. 37/187137/3
subhransu mohanty [Mon, 20 Aug 2018 07:12:17 +0000 (16:12 +0900)]
lottie/render: handle the case when resulting mask is null.

Change-Id: Ie78a1465474ec408bff0deafdff509f3b3a199d8

5 years agolottie: add getImage() API in lottieview 59/187059/2
Jaeun Choi [Fri, 17 Aug 2018 12:12:41 +0000 (21:12 +0900)]
lottie: add getImage() API in lottieview

Change-Id: Ic72bb47752797811cbe7c464e02c81bcfd0a9a11

5 years agolottie: use unique_ptr instead of raw pointer. 04/187104/4
subhransu mohanty [Mon, 20 Aug 2018 03:36:50 +0000 (12:36 +0900)]
lottie: use unique_ptr instead of raw pointer.

Change-Id: Ic5b416c72a96427dff3a99316550d8edb7ffece9

5 years agolottie/parser: treat root layer as a special precomp layer. 94/187094/4
subhransu mohanty [Mon, 20 Aug 2018 02:22:31 +0000 (11:22 +0900)]
lottie/parser: treat root layer as a special precomp layer.

Change-Id: Ic9a2b171ee349f132e52db5395a92587c9e44c08

5 years agolottie/player: refactor to use std::find_if instead of unorder_map. 91/187091/5
subhransu mohanty [Mon, 20 Aug 2018 01:18:33 +0000 (10:18 +0900)]
lottie/player: refactor to use std::find_if instead of unorder_map.

Change-Id: Ic146357db1312aa0ff122fa6859a64098e350740

5 years agolottie: build fix. 03/187103/2
subhransu mohanty [Mon, 20 Aug 2018 03:40:22 +0000 (12:40 +0900)]
lottie: build fix.

Change-Id: I5405a17d67066fc5cd10d816f4ed044fb8819471

5 years agolotplayer: improve header format. 20/187020/3
Hermet Park [Fri, 17 Aug 2018 08:19:08 +0000 (17:19 +0900)]
lotplayer: improve header format.

1. add namespace.
2. remove unnecessary export attribute.
3. hide prviate member.

This is one ongoing improvement.

Change-Id: I342e4d5e65370190ac55972b02f2fede1aee6d06

5 years agolottieplayer: Add render option to update buffer forcely. 83/186883/6
Hermet Park [Thu, 16 Aug 2018 08:12:43 +0000 (17:12 +0900)]
lottieplayer: Add render option to update buffer forcely.

plus code refactoring.

Change-Id: Icef131a7df5fa9766ff9cfe7513b1865692719f5

5 years agoenable build example in default. 37/187037/4
Hermet Park [Fri, 17 Aug 2018 09:44:03 +0000 (18:44 +0900)]
enable build example in default.

enable this under *aggressive development step.

Change-Id: I8ff728c94ef899441e8f528609248a9451ac7c0b

5 years agoupdate gitignore 36/187036/2
Hermet Park [Fri, 17 Aug 2018 09:43:37 +0000 (18:43 +0900)]
update gitignore

Change-Id: Ib1ccc3feb6155384c1c0bb7e101abbec19c2386c

5 years agolottie/parser: Added support for separate position attribute in transform object. 75/186975/4
subhransu mohanty [Fri, 17 Aug 2018 04:06:57 +0000 (13:06 +0900)]
lottie/parser: Added support  for separate position attribute in transform object.
Transform object can have separate x and y or a point object.

Change-Id: I0ad0073b3cb958336539ad520434c3284894c6b9

5 years agolottie/player: refactor lottieplayer. 07/186907/2
subhransu mohanty [Thu, 16 Aug 2018 10:25:14 +0000 (19:25 +0900)]
lottie/player: refactor lottieplayer.

Change-Id: Ia9b484e8be756d2e90f6b0d2a837f56e46f40e4c

5 years agolottie/vector: refactor VPath class to use emplace_back instead of push_back to avoid... 68/186868/1
subhransu mohanty [Thu, 16 Aug 2018 05:30:57 +0000 (14:30 +0900)]
lottie/vector: refactor VPath class to use emplace_back instead of push_back to avoid temporary object creation.

Change-Id: I0abc1be410a3758c447de8b4600c472f6298bcc7

5 years agolottie/optimization: keep drawablelist in layer to avoid memory allocation in every... 54/186854/1
subhransu mohanty [Thu, 16 Aug 2018 04:37:21 +0000 (13:37 +0900)]
lottie/optimization: keep drawablelist in layer to avoid memory allocation in every frame.

Change-Id: I80eebb9e1ab16a424a26a17ce67274c7518efca9

5 years agolottie: pass matteSource and bitmap to layer's render function 73/186773/10
Youngbok Shin [Tue, 14 Aug 2018 08:14:20 +0000 (17:14 +0900)]
lottie: pass matteSource and bitmap to layer's render function

matteSource layer has to be handled in other way.
For now, matteSource layer does not be applied to layers.
But, matteSource layer will be invisible.
In some test cases, it helps to check other layers which are overlayed by
a wrongly drawn matteSource layer. Anyway, the matte feature will be implemented soon.

Change-Id: Ib1e47e7ce9012b73a1729341d130defa561061c6

5 years agolottie/parser: refactor lottie model objects. 39/186839/2
subhransu mohanty [Thu, 16 Aug 2018 01:36:37 +0000 (10:36 +0900)]
lottie/parser: refactor lottie model objects.

Change-Id: I89160d918b36300b4f98a8059106c356e96643d0

5 years agolottie/parser: inherit from data object instead of group object as composition has... 33/186833/2
subhransu mohanty [Thu, 16 Aug 2018 01:16:49 +0000 (10:16 +0900)]
lottie/parser: inherit from data object instead of group object as composition has only a root layer.

Change-Id: I15f07d5d7ae2f8add4ac2b2de92628a33ab492e0

5 years agolottie/render: keep mRle object in valid state after moving the object. 29/186829/1
subhransu mohanty [Thu, 16 Aug 2018 01:03:07 +0000 (10:03 +0900)]
lottie/render: keep mRle object in valid state after moving the object.

Change-Id: I15c377dc53dbe5b87184ca4751c3473f486a3121

5 years agolottie/player: refactor composition class to keep a precomplayer instead of list... 89/186789/3
subhransu mohanty [Tue, 14 Aug 2018 09:57:43 +0000 (18:57 +0900)]
lottie/player: refactor composition class to keep a precomplayer instead of list of layers.

Change-Id: I7398392e52233e4c3d0452b03bcfd46261253601

5 years agolottie/example: delete the animator only when its created. 44/186744/2
subhransu mohanty [Tue, 14 Aug 2018 05:28:46 +0000 (14:28 +0900)]
lottie/example: delete the animator only when its created.

Change-Id: Id6a4a7e704a8da298c0cae91a7065b80163f843d

5 years agolottieplayer: fix broken animation. 88/186788/1
Hermet Park [Tue, 14 Aug 2018 09:57:00 +0000 (18:57 +0900)]
lottieplayer: fix broken animation.

A patch occured regression bug, because its depeneded patch was rebased.
call setPos() properly even in deferred method.

Change-Id: I89fa849304b6e5d260cc88c3863d8879c7bb463b

5 years agolottieplayer: simple optmization for deffered update. 51/186751/2
Hermet Park [Tue, 14 Aug 2018 05:57:36 +0000 (14:57 +0900)]
lottieplayer: simple optmization for deffered update.

This skips unnecessary update process from every user render-request.

Change-Id: Id3123bdb31879e1c559b6048ccf60d88dccb690f

5 years agolottieplayer: apply lazy update. 92/186692/5
Hermet Park [Mon, 13 Aug 2018 11:39:13 +0000 (20:39 +0900)]
lottieplayer: apply lazy update.

update size when it ready to go.

Change-Id: Ic1f27bc3f365526313059d7c9026478c41b557c8

5 years agolottie/render: Fixed valgrind warning for uninitialize member variable. 27/186727/3
subhransu mohanty [Tue, 14 Aug 2018 02:00:15 +0000 (11:00 +0900)]
lottie/render: Fixed valgrind warning for uninitialize member variable.

Change-Id: I3c985c00b54d91b936c401febe9dff0d766e1793

5 years agolottieplayer: code refactoring. 88/186688/2
Hermet Park [Mon, 13 Aug 2018 11:16:59 +0000 (20:16 +0900)]
lottieplayer: code refactoring.

change type to struct and declare type scopes explicitly.

Change-Id: If85fbc97917ba324030c3e65765f315e590239ed

5 years agolottieplayer: merge setPos() with renderList() 83/186683/3
Hermet Park [Mon, 13 Aug 2018 10:29:38 +0000 (19:29 +0900)]
lottieplayer: merge setPos() with renderList()

renderList() build render tree based on current Position.
merge both api helps user to avoid mistake.

Change-Id: Ia158f28b5ab66ec6e20665726a21d7f1c4e4cc13