subhransu mohanty [Wed, 10 Jul 2019 00:22:36 +0000 (09:22 +0900)]
fix coreguideline warning from clang
Hermet Park [Tue, 9 Jul 2019 12:37:59 +0000 (21:37 +0900)]
stb: ++safety.
make it safe not to leave potential dangling pointers.
Hermet Park [Tue, 9 Jul 2019 12:36:39 +0000 (21:36 +0900)]
pixman: ++safety
make it safe not to leave potential dangling pointers.
Hermet Park [Tue, 9 Jul 2019 12:35:49 +0000 (21:35 +0900)]
Revert "stb: ++safety."
unintended code. revert it.
This reverts commit
cca357019d7822b2c21eb1a910f08cdff60645a1.
Hermet Park [Tue, 9 Jul 2019 12:29:08 +0000 (21:29 +0900)]
stb: ++safety.
make it safe not to leave potential dangling pointers.
subhransu mohanty [Tue, 9 Jul 2019 07:06:12 +0000 (16:06 +0900)]
Fix clang code model warning
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.
sub.mohanty@samsung.com [Sun, 7 Jul 2019 06:27:52 +0000 (15:27 +0900)]
example: use std::string api
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
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.
sub.mohanty@samsung.com [Thu, 4 Jul 2019 12:49:58 +0000 (21:49 +0900)]
fix warning regarding nested anonymus union
subhransu mohanty [Thu, 4 Jul 2019 10:47:51 +0000 (19:47 +0900)]
rlottie/meson: make rlottie buildable as a subproject
subhransu mohanty [Thu, 4 Jul 2019 00:20:31 +0000 (09:20 +0900)]
fix msvc build
subhransu mohanty [Wed, 3 Jul 2019 06:57:47 +0000 (15:57 +0900)]
rlottie/gbs: move gbs build from cmake to meson
subhransu mohanty [Wed, 3 Jul 2019 05:28:06 +0000 (14:28 +0900)]
rlottie/meson: refactor meson buildsystem
Change-Id: I0627e3d51cc55f5b177351b67fa4f30e5e235e98
sub.mohanty@samsung.com [Tue, 2 Jul 2019 13:09:50 +0000 (22:09 +0900)]
rlottie/exampe: add correct implementation of basename()
subhransu mohanty [Mon, 1 Jul 2019 10:37:03 +0000 (19:37 +0900)]
rlottie/example: fix typo
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()
subhransu mohanty [Mon, 1 Jul 2019 09:37:09 +0000 (18:37 +0900)]
rlottie: refactor VGradient to remove unnecessary inheritance
subhransu mohanty [Mon, 1 Jul 2019 09:19:43 +0000 (18:19 +0900)]
rlottie: fix warning regarding no return value
subhransu mohanty [Mon, 1 Jul 2019 08:19:07 +0000 (17:19 +0900)]
rlottie/meson: Move comipler options to default_options for customizable build
subhransu mohanty [Mon, 1 Jul 2019 07:34:29 +0000 (16:34 +0900)]
rlottie: Fix issue with LOT_EXPORT for windows
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
subhransu mohanty [Mon, 1 Jul 2019 00:24:18 +0000 (09:24 +0900)]
Fix windows build
sub.mohanty@samsung.com [Sat, 29 Jun 2019 14:57:15 +0000 (23:57 +0900)]
rlottie: fix old style cast.
sub.mohanty@samsung.com [Sat, 29 Jun 2019 14:07:22 +0000 (23:07 +0900)]
rlottie: Fix cmake build
sub.mohanty@samsung.com [Sat, 29 Jun 2019 11:27:09 +0000 (20:27 +0900)]
rlottie: fix windows build
sub.mohanty@samsung.com [Sat, 29 Jun 2019 09:13:16 +0000 (18:13 +0900)]
rlottie: refactor meson build file
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
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.
sub.mohanty@samsung.com [Thu, 27 Jun 2019 12:47:45 +0000 (21:47 +0900)]
rlottie: Get size data from the model
JunsuChoi [Wed, 26 Jun 2019 11:12:25 +0000 (20:12 +0900)]
Fix typo that incorrect matrix information.
subhransu mohanty [Wed, 26 Jun 2019 05:54:20 +0000 (14:54 +0900)]
rlottie/vector: backport optimization from freetype
subhransu mohanty [Wed, 26 Jun 2019 01:53:44 +0000 (10:53 +0900)]
rlottie: Update DirtyMatrix only when needed.
subhransu mohanty [Tue, 25 Jun 2019 10:04:11 +0000 (19:04 +0900)]
rlottie: use correct default opacity value.
Change-Id: I9b2012a0951aecb1ead036181fb1f90c50a9bcdd
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
subhransu mohanty [Tue, 25 Jun 2019 00:58:38 +0000 (09:58 +0900)]
rlottie/model: Refactor LOTTransformData object to optimize object size
subhransu mohanty [Mon, 24 Jun 2019 07:51:29 +0000 (16:51 +0900)]
rlottie: ran clang-format with the latest code
subhransu mohanty [Mon, 24 Jun 2019 06:50:47 +0000 (15:50 +0900)]
rlottie: Fix build break
Hermet Park [Mon, 24 Jun 2019 06:52:05 +0000 (15:52 +0900)]
example: changed file permission.
Keep their access mode as others' same.
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.
subhransu mohanty [Mon, 24 Jun 2019 05:44:02 +0000 (14:44 +0900)]
rlottie: Fix clang-tidy warning
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.
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
subhransu mohanty [Fri, 21 Jun 2019 02:37:26 +0000 (11:37 +0900)]
rlottie: disable copy and move operation for layeritem and contentitem
Hermet Park [Thu, 20 Jun 2019 08:13:57 +0000 (17:13 +0900)]
capi: expose layer item name for utiliziing by demand.
subhransu mohanty [Thu, 20 Jun 2019 00:10:09 +0000 (09:10 +0900)]
rlottie: Fix all cppcheck warnings.
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
subhransu mohanty [Wed, 12 Jun 2019 07:45:32 +0000 (16:45 +0900)]
lottie/vector: Added reset api to VBitmap class
Change-Id: Idec04c77350bf2ae33cf03b5a1f92cb060d639da
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
subhransu mohanty [Tue, 18 Jun 2019 04:53:53 +0000 (13:53 +0900)]
rlottie: Fix issue with handling hidden Layer
subhransu mohanty [Mon, 17 Jun 2019 04:09:35 +0000 (13:09 +0900)]
rlottie/optimization: remove unnecessary pointer indirection 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.
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.
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.
sub.mohanty@samsung.com [Sat, 8 Jun 2019 14:48:23 +0000 (23:48 +0900)]
rlottie/cmake: Fix cmake build issue for Mac
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
subhransu mohanty [Wed, 5 Jun 2019 01:53:54 +0000 (10:53 +0900)]
rlottie/json: updated to latest rapidjson
subhransu mohanty [Tue, 4 Jun 2019 08:45:48 +0000 (17:45 +0900)]
rlottie/parser: opacity attribute can be float
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
subhransu mohanty [Tue, 4 Jun 2019 01:11:18 +0000 (10:11 +0900)]
rlottie/parser: Fix build after refactoring
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.
subhransu mohanty [Mon, 3 Jun 2019 07:17:50 +0000 (16:17 +0900)]
raster/drawing: updated drawbitmap api with const_alpha support
subhransu mohanty [Mon, 3 Jun 2019 04:48:23 +0000 (13:48 +0900)]
rlottie: optimize rendering when final opacity of layer is Zero
subhransu mohanty [Mon, 3 Jun 2019 03:28:46 +0000 (12:28 +0900)]
vector: reserve some memory before starting dash operation
subhransu mohanty [Mon, 3 Jun 2019 01:42:26 +0000 (10:42 +0900)]
example: update example with exploding star resource
subhransu mohanty [Mon, 3 Jun 2019 00:12:50 +0000 (09:12 +0900)]
rlottie: optimize matte rendering when both src and matte are invisible
subhransu mohanty [Fri, 31 May 2019 01:26:27 +0000 (10:26 +0900)]
vector: refactor gradient cache
subhransu mohanty [Fri, 31 May 2019 00:40:08 +0000 (09:40 +0900)]
vector: keep a shared reference to cached color table
subhransu mohanty [Thu, 30 May 2019 23:48:02 +0000 (08:48 +0900)]
rlottie/example: Fixed asan warning of unintialized pointer access
Hermet Park [Thu, 30 May 2019 11:33:32 +0000 (20:33 +0900)]
updated AUTHORS
subhransu mohanty [Thu, 30 May 2019 05:10:55 +0000 (14:10 +0900)]
rlottie: Use optimization level -Os to further reduce library size
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)
subhransu mohanty [Thu, 30 May 2019 01:07:32 +0000 (10:07 +0900)]
rlottie: Optimize library size when logging is disabled
subhransu mohanty [Thu, 30 May 2019 00:22:24 +0000 (09:22 +0900)]
rlottie: disable RTTI use to optimize library size
subhransu mohanty [Thu, 30 May 2019 00:17:13 +0000 (09:17 +0900)]
refactor to remove all dynamic_cast usage
subhransu mohanty [Wed, 29 May 2019 23:23:46 +0000 (08:23 +0900)]
rlottie: Added no-exception flag to build
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
subhransu mohanty [Wed, 29 May 2019 07:53:35 +0000 (16:53 +0900)]
added more json resource to example
subhransu mohanty [Wed, 29 May 2019 07:50:15 +0000 (16:50 +0900)]
vector/raster: check for 0 size stroke width
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.
Hermet Park [Wed, 29 May 2019 01:53:56 +0000 (10:53 +0900)]
README: correct a usage of words in a sentence.
subhransu mohanty [Wed, 29 May 2019 01:26:52 +0000 (10:26 +0900)]
rlottie: updated showcase gif file
subhransu mohanty [Wed, 29 May 2019 01:19:59 +0000 (10:19 +0900)]
rlottie/pareser: remove unused property
JunsuChoi [Fri, 24 May 2019 10:12:16 +0000 (19:12 +0900)]
example : Fix resource path in efl_animation
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.
subhransu mohanty [Wed, 29 May 2019 00:21:43 +0000 (09:21 +0900)]
rlottie/parser: Don't create transform object for root layer
subhransu mohanty [Tue, 28 May 2019 09:55:59 +0000 (18:55 +0900)]
rlottie/parser: Refactor static property handling of layer object.
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.
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.
Subhransu [Mon, 27 May 2019 04:36:02 +0000 (13:36 +0900)]
Update README.md
Updated cmake build instruction
subhransu mohanty [Mon, 27 May 2019 04:27:03 +0000 (13:27 +0900)]
rlottie/test: Fix 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
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
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
subhransu mohanty [Fri, 24 May 2019 07:00:15 +0000 (16:00 +0900)]
rlottie/vector: Added unique(), refcount and clone api to VRle class
subhransu mohanty [Thu, 23 May 2019 05:54:47 +0000 (14:54 +0900)]
lottie/model: refactor LOTAnimatable to optimize size.
Hermet Park [Fri, 24 May 2019 03:11:31 +0000 (12:11 +0900)]
license: keep standard lgpl2 license text
subhransu mohanty [Thu, 23 May 2019 08:10:55 +0000 (17:10 +0900)]
rlottie/model: refactor repeater object model to optimize size.
subhransu mohanty [Thu, 23 May 2019 00:54:16 +0000 (09:54 +0900)]
rlottie/trim: Fix trim segment calculation.
In AE start and end value can naver be -ve. but the final
start and end value after applting interpolator curve could be -ve.
So refactor to always take the -ve value into account.