platform/core/uifw/lottie-player.git
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

5 years agolottieplayer: remove redundant calls. 77/186677/1
Hermet Park [Mon, 13 Aug 2018 10:07:35 +0000 (19:07 +0900)]
lottieplayer: remove redundant calls.

Those calls are useless on load time.

Change-Id: If69033eb244078c4f9b9258fcbc71eff17b894c9

5 years agolottie/render: remove unused functions. 38/186638/1
subhransu mohanty [Mon, 13 Aug 2018 05:02:00 +0000 (14:02 +0900)]
lottie/render: remove unused functions.

Change-Id: Ib8d7319da4af0814072ed60869e053896336298d

5 years agolottie/player: call setPos() only if size is already set. 35/186635/1
subhransu mohanty [Mon, 13 Aug 2018 04:43:19 +0000 (13:43 +0900)]
lottie/player: call setPos() only if size is already set.

Change-Id: If08c49c398d6d8d90ab845020108b368ea204505

5 years agolottie/render: fixed issue with + and - operator implementation of VRle. 04/186604/2
sub.mohanty@samsung.com [Sat, 11 Aug 2018 11:15:14 +0000 (20:15 +0900)]
lottie/render: fixed issue with + and - operator implementation of VRle.

Change-Id: Idd852768fde5bdd731c2a85e8abdee094b39f110

5 years agolottie/render: fixed transparency issue in renderer. 15/186415/1
subhransu mohanty [Thu, 9 Aug 2018 10:39:01 +0000 (19:39 +0900)]
lottie/render: fixed transparency issue in renderer.

Change-Id: I8c1128b5cdd46718deeff6eda21663699dfd4b4c

5 years agolottie/resource: add more lottie resource. 98/186398/1
subhransu mohanty [Thu, 9 Aug 2018 09:06:05 +0000 (18:06 +0900)]
lottie/resource: add more lottie resource.

Change-Id: Ife04ca8de9da22e1188b73aa550aae9df4d262de

5 years agolottie/player: Update dirty flag enum value. 94/186394/1
subhransu mohanty [Thu, 9 Aug 2018 09:03:53 +0000 (18:03 +0900)]
lottie/player: Update dirty flag enum value.

Change-Id: I590ac039ca84c6f9b553db017188821ead852abb

5 years agolottie: few more resource for testing. 24/186324/3
subhransu mohanty [Thu, 9 Aug 2018 02:52:00 +0000 (11:52 +0900)]
lottie: few more resource for testing.

Change-Id: I11c1bd4d87ca79416698a9f9b6ba9b68d859892d

5 years agolottie/render: Draw layers form back to front in the composition layer. 15/186315/2
subhransu mohanty [Thu, 9 Aug 2018 02:09:36 +0000 (11:09 +0900)]
lottie/render: Draw layers form back to front in the composition layer.

Change-Id: I41c0aedef7cc76e768c6d4776f7a29b3b1cab474

5 years agolottie: added new resource for testing. 08/186308/2
subhransu mohanty [Thu, 9 Aug 2018 01:25:20 +0000 (10:25 +0900)]
lottie: added new resource for testing.

Change-Id: I0050594833dfabf8f3d724d1da1636e2a18e735f

5 years agolottie/player: take buffer argument by value. 06/186306/1
subhransu mohanty [Thu, 9 Aug 2018 01:10:44 +0000 (10:10 +0900)]
lottie/player: take buffer argument by value.
As we have async rendering, we can't rely on the caller to keep the buffer alive till render finish.

Change-Id: Ic7f9670a5e5003424c2b695c171a13717e531b21

5 years agolottie/player: make sure model or composition available before calling api. 03/186303/2
subhransu mohanty [Thu, 9 Aug 2018 00:52:20 +0000 (09:52 +0900)]
lottie/player: make sure model or composition available before calling api.

Change-Id: Ia1351bbd076d0e3189d033f708bd3ec281c30cd4

5 years agolottie/vector: added isEmpty() api in size class. 02/186302/1
subhransu mohanty [Thu, 9 Aug 2018 00:51:43 +0000 (09:51 +0900)]
lottie/vector: added isEmpty() api in size class.

Change-Id: Ia49254b2d83c047d268ff7510c058c6b25873564

5 years agolottie/render : fixed dash regression 05/186205/1
subhransu mohanty [Mon, 6 Aug 2018 08:09:23 +0000 (17:09 +0900)]
lottie/render : fixed dash regression

Change-Id: I7a79295348ba23d8328718014a49760c2e11e731

5 years agolottie/vector: fixed dasher issue. 04/186204/1
subhransu mohanty [Mon, 6 Aug 2018 06:56:10 +0000 (15:56 +0900)]
lottie/vector: fixed dasher issue.

Change-Id: If602ac7441469c5ed8bfe0500154a585087f433f

5 years agolottie/vector: refactored VRle class to use cow_ptr. 11/185911/4
subhransu mohanty [Wed, 1 Aug 2018 02:04:29 +0000 (11:04 +0900)]
lottie/vector: refactored VRle class to use cow_ptr.

Change-Id: I00dd76c57e94a255efb478a61465ce6b20e8d0b5

5 years agolottie/render: Implement drawRle() with position information. 62/185962/1
subhransu mohanty [Mon, 6 Aug 2018 01:19:57 +0000 (10:19 +0900)]
lottie/render: Implement drawRle() with position information.

Change-Id: Ia5bbcf911baaaa4b684045a6ac28c4dcfc14f841

5 years agolottie/render: don't redraw stroke/dash if there is no change 91/185891/2
Youngbok Shin [Fri, 3 Aug 2018 08:46:02 +0000 (17:46 +0900)]
lottie/render: don't redraw stroke/dash if there is no change

It will improve performance.

Change-Id: I3764d126d7eae19d009d72998247789e620205a1

5 years agolottie: don't redraw path item if its properties are not changed 56/185856/3
Youngbok Shin [Fri, 3 Aug 2018 04:38:04 +0000 (13:38 +0900)]
lottie: don't redraw path item if its properties are not changed

A path item has few animation frames, it has to be redrawn only in
animated frames. If the path item became static after animation frames,
it shouldn't redraw its path.
It will improve performance.

Change-Id: I583f2b8a889208a07530f6d06ed90469bcee726c

5 years agolottie: always get the item by ref or const ref. 96/185796/1
subhransu mohanty [Thu, 2 Aug 2018 05:57:08 +0000 (14:57 +0900)]
lottie: always get the item by ref or const ref.

Change-Id: Id798812b135d2e1ef1fb593412808f15e2645761

5 years agolottie/raster: remove Const qualifier from VPath parameters 75/185775/1
Youngbok Shin [Thu, 2 Aug 2018 07:59:59 +0000 (16:59 +0900)]
lottie/raster: remove Const qualifier from VPath parameters

The given VPath should be moved by std::move.
The std:move only work as our purpose when it is non-const variable.
And it also fix a crash issue when its path is not changed, but its other properties are changed.

Change-Id: I4135066f99c0eed07e033c368dc4b60e6703ca37

5 years agolottie/vector: move VPath to raster/drawable methods 63/185763/1
Youngbok Shin [Thu, 2 Aug 2018 07:05:20 +0000 (16:05 +0900)]
lottie/vector: move VPath to raster/drawable methods

It prevents to increase ref count of VPath meaninglessly.
It could be helpful to improve performance by avoiding alloc/dealloc/copy.

Change-Id: I597ca0ea99cdc10bfe9c83a644d20caeab6162b3

5 years agolottie/vector: add clone method to copy data without increasing ref count 52/185752/2
Youngbok Shin [Thu, 2 Aug 2018 04:43:59 +0000 (13:43 +0900)]
lottie/vector: add clone method to copy data without increasing ref count

It helps to improve performance by avoiding copy job from writing COW data.

Change-Id: I72d1c7106fc4fe53fa6db05e7ed8c74f1b70fe95

5 years agolottie/render: fixed logic where the memory will only grow when needed. 48/185748/1
subhransu mohanty [Thu, 2 Aug 2018 04:11:28 +0000 (13:11 +0900)]
lottie/render: fixed logic where the memory will only grow when needed.

Change-Id: I2367433c69083b5c52d109ff854b9fa3b9019247

5 years agolottie: reuse path for reducing constructor/destructor calls from getPath()/toPath() 75/185675/3
Youngbok Shin [Wed, 1 Aug 2018 11:15:15 +0000 (20:15 +0900)]
lottie: reuse path for reducing constructor/destructor calls from getPath()/toPath()

It helps to improve performance by avoiding constructor/destructor calls.
The getPath function is renamed to updatePath function.
And it does not return VPath anymore.

Change-Id: I6e6cc52ec3f1560aac2ee0633cdf5a8c224dcc6e

5 years agolottie: add support for arm fast path in vector render backend. 35/185735/1
subhransu mohanty [Thu, 2 Aug 2018 01:39:56 +0000 (10:39 +0900)]
lottie: add support for arm fast path in vector render backend.

Change-Id: I6e2524290eb22cf889033ebb129b9a699bcdaf07

5 years agolottie: remove dead code. 93/185593/1
subhransu mohanty [Wed, 1 Aug 2018 04:06:44 +0000 (13:06 +0900)]
lottie: remove dead code.

Change-Id: Ia56674a813a65007f07b2a54d230743ced6b6511

5 years agolottie/optimization: move the rle object to rletask thread to reuse 86/185586/1
subhransu mohanty [Wed, 1 Aug 2018 02:46:31 +0000 (11:46 +0900)]
lottie/optimization: move the rle object to rletask thread to reuse
the object between frames.

Change-Id: Ia551fea9346c27aa4b6c020670a287b83b8a472e

5 years agolottie/vector: added reset() api to VRle class. 85/185585/1
subhransu mohanty [Wed, 1 Aug 2018 02:43:37 +0000 (11:43 +0900)]
lottie/vector: added reset() api to VRle class.

Change-Id: Iace73912f6ab4510c0adb15387029e2038ad15be

5 years agolottie/render: fixed rendering backend issue for arm. 13/185513/1
subhransu mohanty [Tue, 31 Jul 2018 08:10:30 +0000 (17:10 +0900)]
lottie/render: fixed rendering backend issue for arm.

Change-Id: I23b2f24b0ed995cb76ba554228e4ff72677806bd

5 years agolottie/render: add support for arm backend build. 12/185512/1
subhransu mohanty [Tue, 31 Jul 2018 08:08:54 +0000 (17:08 +0900)]
lottie/render: add support for arm backend build.

Change-Id: I2cd319c4f599ead2e33056b037828d417d47753b

5 years agolottie: treat undefined symbol as error while building library and enable assembly... 10/185510/1
subhransu mohanty [Tue, 31 Jul 2018 08:01:05 +0000 (17:01 +0900)]
lottie: treat undefined symbol as error while building library and enable assembly building.

Change-Id: I034d8bb84e61ecc56da6a66c18e620e8611dcb0b

5 years agolottie: remove hardcoding pathes in pkgconfig file. (.pc) 86/185486/1
Youngbok Shin [Tue, 31 Jul 2018 05:57:12 +0000 (14:57 +0900)]
lottie: remove hardcoding pathes in pkgconfig file. (.pc)

Change-Id: I284cc1fc0af6f58e0da16ea8ab3d17de7f3b4286

5 years agolottie: move logging system initialization to player. 84/185484/1
subhransu mohanty [Tue, 31 Jul 2018 05:29:01 +0000 (14:29 +0900)]
lottie: move logging system initialization to player.
disable loggin for tizen till issue resolved.

Change-Id: I24664f43128c6edfacd09f7296d63cad636c0c81

5 years agolottie: fixed pc file for linking issue of lottie library in tizen 81/185481/1
subhransu mohanty [Tue, 31 Jul 2018 04:52:57 +0000 (13:52 +0900)]
lottie: fixed pc file for linking issue of lottie library in tizen

thanks to youngbok for the help

Change-Id: Iff2cb41b58102892b8903cf17cc7847ff3c9163e

5 years agolottie: add cmake config file so that library can be found with find_package() 52/185452/2
subhransu mohanty [Tue, 31 Jul 2018 01:14:46 +0000 (10:14 +0900)]
lottie: add cmake config file so that library can be found with find_package()

Change-Id: I4e1c29f79a1a24636808079762cc88501fe2389b

5 years agolottie/vector: reserve memory ahead to minimize reallocation. 81/185381/6
subhransu mohanty [Mon, 30 Jul 2018 05:54:42 +0000 (14:54 +0900)]
lottie/vector: reserve memory ahead to minimize reallocation.

Change-Id: Idb973bb7660c4ec95f36aa36d3707aa6030f5ffc

5 years agolottie: use make_unique construct 94/185394/2
Youngbok Shin [Mon, 30 Jul 2018 06:47:36 +0000 (15:47 +0900)]
lottie: use make_unique construct

Change-Id: I8618541470fb636d2315aa39360fadc58c182dd3