platform/core/uifw/lottie-player.git
5 years agocode cleanup
subhransu mohanty [Wed, 10 Jul 2019 08:15:35 +0000 (17:15 +0900)]
code cleanup

5 years agoCI: Added support for windows build using appveyor
subhransu mohanty [Wed, 10 Jul 2019 08:10:05 +0000 (17:10 +0900)]
CI: Added support for windows build using appveyor

5 years agomeson: better handling of dependency using disabler
subhransu mohanty [Wed, 10 Jul 2019 04:22:25 +0000 (13:22 +0900)]
meson: better handling of dependency using disabler

5 years agofix missing header in windows 62/209662/1 submit/tizen/20190718.020831
subhransu mohanty [Wed, 10 Jul 2019 01:40:56 +0000 (10:40 +0900)]
fix missing header in windows

Change-Id: I6e743b16d89ee772541f4e4f430c7e3fc114813d

5 years agofix coreguideline warning from clang
subhransu mohanty [Wed, 10 Jul 2019 00:22:36 +0000 (09:22 +0900)]
fix coreguideline warning from clang

5 years agostb: ++safety.
Hermet Park [Tue, 9 Jul 2019 12:37:59 +0000 (21:37 +0900)]
stb: ++safety.

make it safe not to leave potential dangling pointers.

5 years agopixman: ++safety
Hermet Park [Tue, 9 Jul 2019 12:36:39 +0000 (21:36 +0900)]
pixman: ++safety

make it safe not to leave potential dangling pointers.

5 years agoRevert "stb: ++safety."
Hermet Park [Tue, 9 Jul 2019 12:35:49 +0000 (21:35 +0900)]
Revert "stb: ++safety."

unintended code. revert it.

This reverts commit cca357019d7822b2c21eb1a910f08cdff60645a1.

5 years agostb: ++safety.
Hermet Park [Tue, 9 Jul 2019 12:29:08 +0000 (21:29 +0900)]
stb: ++safety.

make it safe not to leave potential dangling pointers.

5 years agoFix clang code model warning
subhransu mohanty [Tue, 9 Jul 2019 07:06:12 +0000 (16:06 +0900)]
Fix clang code model warning

5 years agolottie/optimize: Reduce LOTLayerData size
subhransu mohanty [Tue, 9 Jul 2019 05:06:15 +0000 (14:06 +0900)]
lottie/optimize: Reduce LOTLayerData  size
- better packing
- move seldom use data to extra storage
- reuse layerSize for layer as well as solidlayer size.

Now Size(LOTLayerData) reduced from 262 to 128 byte.

5 years agoexample: use std::string api
sub.mohanty@samsung.com [Sun, 7 Jul 2019 06:27:52 +0000 (15:27 +0900)]
example: use std::string api

5 years agorlottie: Fix Crash when the resource is not a valid lottie resource
sub.mohanty@samsung.com [Sun, 7 Jul 2019 04:36:59 +0000 (13:36 +0900)]
rlottie: Fix Crash when the resource is not a valid lottie resource
- when resource dosen't have valid header
- layer dosen't have a transform object

5 years agovs2019: added the preset visual studio project.
Hermet Park [Fri, 5 Jul 2019 09:05:43 +0000 (18:05 +0900)]
vs2019: added the preset visual studio project.

This is a compilable vs project to generate library
for the fan of visual studio.

Still, there are a lot of compile warnings,
it works to generate working dll and lib.

5 years agofix warning regarding nested anonymus union
sub.mohanty@samsung.com [Thu, 4 Jul 2019 12:49:58 +0000 (21:49 +0900)]
fix warning regarding nested anonymus union

5 years agorlottie/meson: make rlottie buildable as a subproject
subhransu mohanty [Thu, 4 Jul 2019 10:47:51 +0000 (19:47 +0900)]
rlottie/meson: make rlottie buildable as a subproject

5 years agofix msvc build
subhransu mohanty [Thu, 4 Jul 2019 00:20:31 +0000 (09:20 +0900)]
fix msvc build

5 years agorlottie/gbs: move gbs build from cmake to meson
subhransu mohanty [Wed, 3 Jul 2019 06:57:47 +0000 (15:57 +0900)]
rlottie/gbs: move gbs build from cmake to meson

5 years agorlottie/meson: refactor meson buildsystem
subhransu mohanty [Wed, 3 Jul 2019 05:28:06 +0000 (14:28 +0900)]
rlottie/meson: refactor meson buildsystem

Change-Id: I0627e3d51cc55f5b177351b67fa4f30e5e235e98

5 years agorlottie/exampe: add correct implementation of basename()
sub.mohanty@samsung.com [Tue, 2 Jul 2019 13:09:50 +0000 (22:09 +0900)]
rlottie/exampe: add correct implementation of basename()

5 years agorlottie/example: fix typo
subhransu mohanty [Mon, 1 Jul 2019 10:37:03 +0000 (19:37 +0900)]
rlottie/example: fix typo

5 years agofix dirname() implementation of Windows in lottieloader.cpp, and fix basename() imple...
Vincent Torri [Mon, 1 Jul 2019 09:23:26 +0000 (11:23 +0200)]
fix dirname() implementation of Windows in lottieloader.cpp, and fix basename() implementation by using strrchr() and not strchr()

5 years agorlottie: refactor VGradient to remove unnecessary inheritance
subhransu mohanty [Mon, 1 Jul 2019 09:37:09 +0000 (18:37 +0900)]
rlottie: refactor VGradient to remove unnecessary inheritance

5 years agorlottie: fix warning regarding no return value
subhransu mohanty [Mon, 1 Jul 2019 09:19:43 +0000 (18:19 +0900)]
rlottie: fix warning regarding no return value

5 years agorlottie/meson: Move comipler options to default_options for customizable build
subhransu mohanty [Mon, 1 Jul 2019 08:19:07 +0000 (17:19 +0900)]
rlottie/meson: Move comipler options to default_options for customizable build

5 years agorlottie: Fix issue with LOT_EXPORT for windows
subhransu mohanty [Mon, 1 Jul 2019 07:34:29 +0000 (16:34 +0900)]
rlottie: Fix issue with LOT_EXPORT for windows

5 years agolottie2gif.cpp: use _fullpath() instead of realpath() and mimic basename() 2 strchr()
Vincent Torri [Mon, 1 Jul 2019 06:58:30 +0000 (08:58 +0200)]
lottie2gif.cpp: use _fullpath() instead of realpath() and mimic basename() 2 strchr()

Notes:
1) arguments of realpath() and _fullpath() are in reverse order
2) 2 calls of strchr() are needed because / and \ are valid path separators on Windows

5 years agoFix windows build
subhransu mohanty [Mon, 1 Jul 2019 00:24:18 +0000 (09:24 +0900)]
Fix windows build

5 years agorlottie: fix old style cast.
sub.mohanty@samsung.com [Sat, 29 Jun 2019 14:57:15 +0000 (23:57 +0900)]
rlottie: fix old style cast.

5 years agorlottie: Fix cmake build
sub.mohanty@samsung.com [Sat, 29 Jun 2019 14:07:22 +0000 (23:07 +0900)]
rlottie: Fix cmake build

5 years agorlottie: fix windows build
sub.mohanty@samsung.com [Sat, 29 Jun 2019 11:27:09 +0000 (20:27 +0900)]
rlottie: fix windows build

5 years agorlottie: refactor meson build file
sub.mohanty@samsung.com [Sat, 29 Jun 2019 09:13:16 +0000 (18:13 +0900)]
rlottie: refactor meson build file

5 years agorlottie: make dependancy to dl library optional for windows build
sub.mohanty@samsung.com [Sat, 29 Jun 2019 08:47:16 +0000 (17:47 +0900)]
rlottie: make dependancy to dl library optional for windows build

5 years agoIamage loader: include windows.h and not Windows.h
Vincent Torri [Fri, 28 Jun 2019 08:40:16 +0000 (10:40 +0200)]
Iamage loader: include windows.h and not Windows.h

Indeed, when cross-compiling on Linux, which has a case
sensitive file system, and as minwg-w64 provides windows.h,
we must use lower case name for header files.

5 years agorlottie: Get size data from the model
sub.mohanty@samsung.com [Thu, 27 Jun 2019 12:47:45 +0000 (21:47 +0900)]
rlottie: Get size data from the model

5 years agoFix typo that incorrect matrix information.
JunsuChoi [Wed, 26 Jun 2019 11:12:25 +0000 (20:12 +0900)]
Fix typo that incorrect matrix information.

5 years agorlottie/vector: backport optimization from freetype
subhransu mohanty [Wed, 26 Jun 2019 05:54:20 +0000 (14:54 +0900)]
rlottie/vector: backport optimization from freetype

5 years agorlottie: Update DirtyMatrix only when needed.
subhransu mohanty [Wed, 26 Jun 2019 01:53:44 +0000 (10:53 +0900)]
rlottie: Update DirtyMatrix only when needed.

5 years agorlottie: use correct default opacity value. 25/208525/1 accepted/tizen/unified/20190626.114529 submit/tizen/20190626.023112
subhransu mohanty [Tue, 25 Jun 2019 10:04:11 +0000 (19:04 +0900)]
rlottie: use correct default opacity value.

Change-Id: I9b2012a0951aecb1ead036181fb1f90c50a9bcdd

5 years agorapidjson: filterate BOM encoding mark out as it's necessary.
Hermet Park [Tue, 25 Jun 2019 07:21:33 +0000 (16:21 +0900)]
rapidjson: filterate BOM encoding mark out as it's necessary.

Previously, json file containing BOM(Byte Order Mark),
it wouldn't recognize it as the normal data,

Our StringStream could filter out BOM if it's necessary.

See: https://en.wikipedia.org/wiki/Byte_order_mark

5 years agorlottie/model: Refactor LOTTransformData object to optimize object size
subhransu mohanty [Tue, 25 Jun 2019 00:58:38 +0000 (09:58 +0900)]
rlottie/model: Refactor LOTTransformData object to optimize object size

5 years agorlottie: ran clang-format with the latest code
subhransu mohanty [Mon, 24 Jun 2019 07:51:29 +0000 (16:51 +0900)]
rlottie: ran clang-format with the latest code

5 years agorlottie: Fix build break
subhransu mohanty [Mon, 24 Jun 2019 06:50:47 +0000 (15:50 +0900)]
rlottie: Fix build break

5 years agoexample: changed file permission.
Hermet Park [Mon, 24 Jun 2019 06:52:05 +0000 (15:52 +0900)]
example: changed file permission.

Keep their access mode as others' same.

5 years agoexample: remove some example resources.
Hermet Park [Mon, 24 Jun 2019 06:48:23 +0000 (15:48 +0900)]
example: remove some example resources.

These are not guranteed as free resources.

5 years agorlottie: Fix clang-tidy warning
subhransu mohanty [Mon, 24 Jun 2019 05:44:02 +0000 (14:44 +0900)]
rlottie: Fix clang-tidy warning

5 years agorlottie: Fix issue with Line join(Miter) by using the implementation similar to what...
subhransu mohanty [Mon, 24 Jun 2019 04:57:55 +0000 (13:57 +0900)]
rlottie: Fix issue with Line join(Miter) by using the implementation similar to what PDF uses.

Freetype has 2 types of miter join SW_FT_STROKER_LINEJOIN_MITER_VARIABLE and SW_FT_STROKER_LINEJOIN_MITER_FIXED.
SW_FT_STROKER_LINEJOIN_MITER_FIXED is similar to what PostScrip and PDF generates.
SW_FT_STROKER_LINEJOIN_MITER_VARIABLE is similar to what XPS generates.

5 years agorlottie: Add LOTTIE_CACHE_SUPPORT config variable to enable/disable lottie model...
sub.mohanty@samsung.com [Sun, 23 Jun 2019 03:25:25 +0000 (12:25 +0900)]
rlottie: Add LOTTIE_CACHE_SUPPORT config variable to enable/disable lottie model cache strategy

5 years agorlottie: disable copy and move operation for layeritem and contentitem
subhransu mohanty [Fri, 21 Jun 2019 02:37:26 +0000 (11:37 +0900)]
rlottie: disable copy and move operation for layeritem and contentitem

5 years agocapi: expose layer item name for utiliziing by demand.
Hermet Park [Thu, 20 Jun 2019 08:13:57 +0000 (17:13 +0900)]
capi: expose layer item name for utiliziing by demand.

5 years agorlottie: Fix all cppcheck warnings.
subhransu mohanty [Thu, 20 Jun 2019 00:10:09 +0000 (09:10 +0900)]
rlottie: Fix all cppcheck warnings.

5 years agorlottie: Fix a issue when shape animation data are not same size
Subhransu Mohanty [Wed, 19 Jun 2019 09:02:17 +0000 (18:02 +0900)]
rlottie: Fix a issue when shape animation data are not same size

5 years agolottie/vector: Added reset api to VBitmap class 53/208153/1 accepted/tizen/unified/20190620.071909 submit/tizen/20190619.051039
subhransu mohanty [Wed, 12 Jun 2019 07:45:32 +0000 (16:45 +0900)]
lottie/vector: Added reset api to VBitmap class

Change-Id: Idec04c77350bf2ae33cf03b5a1f92cb060d639da

5 years agorlottie: fix typo which was causing invalid memory read 52/208152/1
subhransu mohanty [Wed, 19 Jun 2019 00:09:04 +0000 (09:09 +0900)]
rlottie: fix typo which was causing invalid memory read

Change-Id: I724b9097b4239702807bc82c2dbd15e6bb31b369

5 years agorlottie: Fix issue with handling hidden Layer
subhransu mohanty [Tue, 18 Jun 2019 04:53:53 +0000 (13:53 +0900)]
rlottie: Fix issue with handling hidden Layer

5 years agorlottie/optimization: remove unnecessary pointer indirection to optimize memory alloc...
subhransu mohanty [Mon, 17 Jun 2019 04:09:35 +0000 (13:09 +0900)]
rlottie/optimization: remove unnecessary pointer indirection to optimize memory allocation.

5 years agorlottie: Refactor Rle Generation to optimize memory allocation.
subhransu mohanty [Fri, 14 Jun 2019 08:20:06 +0000 (17:20 +0900)]
rlottie: Refactor Rle Generation to optimize memory allocation.

Moved the Rle Generation to Rasterizer class which will take care of
handling async rle generation efficiently by reusing Task.
Now Rle Task scheduler will take a shared_ptr to the Task data which will
be created once in Rasterizer.

5 years agorlottie: Keep an offscreen buffer in the layer.
subhransu mohanty [Wed, 12 Jun 2019 07:51:03 +0000 (16:51 +0900)]
rlottie: Keep an offscreen buffer in the layer.

The offscreen buffer is created on demand if the layer has any matte.
so we only create the buffer once and reuse for subsequent frame rendering.

5 years agolottieitem : Fix layer alpha transparency issue.
JunsuChoi [Tue, 11 Jun 2019 08:25:16 +0000 (17:25 +0900)]
lottieitem : Fix layer alpha transparency issue.

When a layer has transparency, we need to send it to layer node.
So I add mAlpha member to the LOTLayerItem.

5 years agorlottie/cmake: Fix cmake build issue for Mac
sub.mohanty@samsung.com [Sat, 8 Jun 2019 14:48:23 +0000 (23:48 +0900)]
rlottie/cmake: Fix cmake build issue for Mac

5 years agomeson/build: meson has builtin option 'b_sanitize' to run asan msan and tsan
subhransu mohanty [Fri, 7 Jun 2019 01:58:46 +0000 (10:58 +0900)]
meson/build: meson has builtin option 'b_sanitize' to run asan msan and tsan

5 years agorlottie/json: updated to latest rapidjson
subhransu mohanty [Wed, 5 Jun 2019 01:53:54 +0000 (10:53 +0900)]
rlottie/json: updated to latest rapidjson

5 years agorlottie/parser: opacity attribute can be float
subhransu mohanty [Tue, 4 Jun 2019 08:45:48 +0000 (17:45 +0900)]
rlottie/parser: opacity attribute can be float

5 years agorlottie/example: refactor to use evas_object_image_pixels_dirty_set() api
subhransu mohanty [Tue, 4 Jun 2019 04:58:32 +0000 (13:58 +0900)]
rlottie/example: refactor to use evas_object_image_pixels_dirty_set() api

5 years agorlottie/parser: Fix build after refactoring
subhransu mohanty [Tue, 4 Jun 2019 01:11:18 +0000 (10:11 +0900)]
rlottie/parser: Fix build after refactoring

5 years agorlottie: Fix precomp layer rendering issue when it has alpha value
subhransu mohanty [Mon, 3 Jun 2019 07:23:35 +0000 (16:23 +0900)]
rlottie: Fix precomp layer rendering issue when it has alpha value

When the precomp layer has alpha transparency and has more than 1 child layer and they overlap each other
if we just propagate the alpha to child layer it will be applied twice in overlapped area.
in this case we treat the precomp layer as complex content and don't propagate the alpha transparency.
instead we create a buffer and draw all the child layers and then we blend with the main buffer
with the alpha transparency value.

5 years agoraster/drawing: updated drawbitmap api with const_alpha support
subhransu mohanty [Mon, 3 Jun 2019 07:17:50 +0000 (16:17 +0900)]
raster/drawing: updated drawbitmap api with const_alpha support

5 years agorlottie: optimize rendering when final opacity of layer is Zero
subhransu mohanty [Mon, 3 Jun 2019 04:48:23 +0000 (13:48 +0900)]
rlottie: optimize rendering when final opacity  of layer is Zero

5 years agovector: reserve some memory before starting dash operation
subhransu mohanty [Mon, 3 Jun 2019 03:28:46 +0000 (12:28 +0900)]
vector: reserve some memory before starting dash operation

5 years agoexample: update example with exploding star resource
subhransu mohanty [Mon, 3 Jun 2019 01:42:26 +0000 (10:42 +0900)]
example: update example with exploding star resource

5 years agorlottie: optimize matte rendering when both src and matte are invisible
subhransu mohanty [Mon, 3 Jun 2019 00:12:50 +0000 (09:12 +0900)]
rlottie: optimize matte rendering when both src and matte are invisible

5 years agovector: refactor gradient cache
subhransu mohanty [Fri, 31 May 2019 01:26:27 +0000 (10:26 +0900)]
vector: refactor gradient cache

5 years agovector: keep a shared reference to cached color table
subhransu mohanty [Fri, 31 May 2019 00:40:08 +0000 (09:40 +0900)]
vector: keep a shared reference to cached color table

5 years agorlottie/example: Fixed asan warning of unintialized pointer access
subhransu mohanty [Thu, 30 May 2019 23:48:02 +0000 (08:48 +0900)]
rlottie/example: Fixed asan warning of unintialized pointer access

5 years agoupdated AUTHORS
Hermet Park [Thu, 30 May 2019 11:33:32 +0000 (20:33 +0900)]
updated AUTHORS

5 years agorlottie: Use optimization level -Os to further reduce library size
subhransu mohanty [Thu, 30 May 2019 05:10:55 +0000 (14:10 +0900)]
rlottie: Use optimization level -Os to further reduce library size

5 years agorlottie: Optimize library size by disabling exception table generation (.eh_frame...
subhransu mohanty [Thu, 30 May 2019 04:40:57 +0000 (13:40 +0900)]
rlottie: Optimize library size by disabling exception table generation (.eh_frame section)

5 years agorlottie: Optimize library size when logging is disabled
subhransu mohanty [Thu, 30 May 2019 01:07:32 +0000 (10:07 +0900)]
rlottie: Optimize library size when logging is disabled

5 years agorlottie: disable RTTI use to optimize library size
subhransu mohanty [Thu, 30 May 2019 00:22:24 +0000 (09:22 +0900)]
rlottie: disable RTTI use to optimize library size

5 years agorefactor to remove all dynamic_cast usage
subhransu mohanty [Thu, 30 May 2019 00:17:13 +0000 (09:17 +0900)]
refactor to remove all dynamic_cast usage

5 years agorlottie: Added no-exception flag to build
subhransu mohanty [Wed, 29 May 2019 23:23:46 +0000 (08:23 +0900)]
rlottie: Added no-exception flag to build

5 years agolottie2gif: support set background color as an extra argument.
Hermet Park [Wed, 29 May 2019 08:40:59 +0000 (17:40 +0900)]
lottie2gif: support set background color as an extra argument.

If lottie contents were designed in white color, gif result is invisible.

we can generate gif with a specified bg color.

lottie2gif [lottieFileName]
lottie2gif [lottieFileName] [bgColor]

example:

lottie2gif sample.json         //white bg color in default.
lottie2gif sample.json ff0000  //red bg color

5 years agoadded more json resource to example
subhransu mohanty [Wed, 29 May 2019 07:53:35 +0000 (16:53 +0900)]
added more json resource to example

5 years agovector/raster: check for 0 size stroke width
subhransu mohanty [Wed, 29 May 2019 07:50:15 +0000 (16:50 +0900)]
vector/raster: check for 0 size stroke width

5 years agorlottie/parser: refactor image asset parsing.
subhransu mohanty [Wed, 29 May 2019 07:06:19 +0000 (16:06 +0900)]
rlottie/parser: refactor image asset parsing.

- generate bitmap while parsing the image asset and store it there.
- remove storing the imagedata in the asset.
- share the bitmap across multiple layers who wants to use the image.

5 years agoREADME: correct a usage of words in a sentence.
Hermet Park [Wed, 29 May 2019 01:53:56 +0000 (10:53 +0900)]
README: correct a usage of words in a sentence.

5 years agorlottie: updated showcase gif file
subhransu mohanty [Wed, 29 May 2019 01:26:52 +0000 (10:26 +0900)]
rlottie: updated showcase gif file

5 years agorlottie/pareser: remove unused property
subhransu mohanty [Wed, 29 May 2019 01:19:59 +0000 (10:19 +0900)]
rlottie/pareser: remove unused property

5 years agoexample : Fix resource path in efl_animation
JunsuChoi [Fri, 24 May 2019 10:12:16 +0000 (19:12 +0900)]
example : Fix resource path in efl_animation

5 years agolottieitem: Add image property in LOTNode
JunsuChoi [Mon, 27 May 2019 06:32:24 +0000 (15:32 +0900)]
lottieitem: Add image property in LOTNode

The image properties are image data, size, and matrix information.
If the lottie item is an image item, the image property is stored in the Nodelist.

5 years agorlottie/parser: Don't create transform object for root layer
subhransu mohanty [Wed, 29 May 2019 00:21:43 +0000 (09:21 +0900)]
rlottie/parser: Don't create transform object for root layer

5 years agorlottie/parser: Refactor static property handling of layer object.
subhransu mohanty [Tue, 28 May 2019 09:55:59 +0000 (18:55 +0900)]
rlottie/parser: Refactor static property handling of layer object.

5 years agoexample: update image object pixels properly.
Hermet Park [Tue, 28 May 2019 02:46:56 +0000 (11:46 +0900)]
example: update image object pixels properly.

image object requests the updated pixels in its own designed interface.

5 years agoexample: fix lottieviwer to properly resizable.
Hermet Park [Tue, 28 May 2019 02:22:35 +0000 (11:22 +0900)]
example: fix lottieviwer to properly resizable.

Don't touch object's in evas render stage.
This has also tiny edc code refactoring.

5 years agoUpdate README.md
Subhransu [Mon, 27 May 2019 04:36:02 +0000 (13:36 +0900)]
Update README.md

Updated cmake build instruction

5 years agorlottie/test: Fix test cases
subhransu mohanty [Mon, 27 May 2019 04:27:03 +0000 (13:27 +0900)]
rlottie/test: Fix test cases

5 years agoFixed regression in VPath::Clone() api and updated test cases
subhransu mohanty [Mon, 27 May 2019 01:32:27 +0000 (10:32 +0900)]
Fixed regression in VPath::Clone() api and updated test cases

5 years agocmake: if LIB_INSTALL_DIR is not set default it to /usr/lib
subhransu mohanty [Mon, 27 May 2019 01:05:42 +0000 (10:05 +0900)]
cmake: if LIB_INSTALL_DIR is not set default it to /usr/lib

5 years agorlottie: make sure rle object shared between 2 threads always keeps refcount 1 to...
subhransu mohanty [Fri, 24 May 2019 07:15:18 +0000 (16:15 +0900)]
rlottie: make sure rle object shared between 2 threads always keeps refcount 1 to avoid copy

5 years agorlottie/vector: Added unique(), refcount and clone api to VRle class
subhransu mohanty [Fri, 24 May 2019 07:00:15 +0000 (16:00 +0900)]
rlottie/vector: Added unique(), refcount and clone api to VRle class