Michal Szczecinski [Thu, 25 May 2023 07:15:02 +0000 (09:15 +0200)]
lottieitem: Added alpha in Fill::updateContent method.
use parent alpha in the Fill::updateContent method to calculate combined
alpha.
Change-Id: Id56f4cd9680c7c906219001ac4f1e632f7c569f7
joogab.yun [Tue, 16 May 2023 01:06:32 +0000 (10:06 +0900)]
Update color blending style in LottieItem
Change-Id: I277dea0212759d01c3dd69cf39fd854b9a5f19b3
joogab.yun [Thu, 27 Apr 2023 06:00:52 +0000 (15:00 +0900)]
Revert "Update color blending style in LottieItem"
This reverts commit
272130dbd9c1516eee854ff99bbcd77386b6435a.
Change-Id: I0b459c678f047b075eb46db2c33eebc35b3e6b47
Michal Szczecinski [Thu, 6 Apr 2023 11:16:35 +0000 (13:16 +0200)]
Update color blending style in LottieItem
This commit modifies the LottieItem rendering process to match Adobe
After Effects blending style. Initially, the entire content of the layer
is rendered to an intermediate buffer. Then, the buffer is rendered with
applied alpha layer.
Change-Id: Ic145daa83c7d8f3007e46f08cdfcc063d22526ae
Michal Maciola [Mon, 19 Sep 2022 02:03:33 +0000 (04:03 +0200)]
example: lottieviewer - fixed frame no (#528)
There is a problem (issue #527) with totalFrame() in rlottie.
As lottieviewer didn't showed the actual frame number, but calculated it from
progress, it camouflaged the problem. Now the actual frame number and the
total number of frames are displayed.
Change-Id: I051a07c5c0d28bb7c8474eb55a9af31c031c9d1d
Signed-off-by: jykeon <jykeon@samsung.com>
Michal Maciola [Mon, 19 Sep 2022 02:03:23 +0000 (04:03 +0200)]
Fix one frame missing (#529)
As mStartFrame and mEndFrame was counted from 0 and totalFrame() was
calculated as a difference, there were always one frame missing and
the animation rescaled. This patch adds one to the total frames count.
issue: #527
Change-Id: I82f7d85ba6f932b2e47a4be68bf91dcc97da5b0a
Nicholas Guriev [Sun, 29 May 2022 19:42:00 +0000 (19:42 +0000)]
Delete accidentally committed Vim swap file
Nicholas Guriev [Tue, 4 Jan 2022 17:15:50 +0000 (20:15 +0300)]
Check border of color table while generating gradient
Change-Id: I40bacd737acb73ee22dda8fbfaee76afecfe50a7
Signed-off-by: jykeon <jykeon@samsung.com>
Nicholas Guriev [Tue, 4 Jan 2022 17:13:43 +0000 (20:13 +0300)]
Ignore animations with objects of unspecified type
Change-Id: Idc20b0b41f293d092cfd6b9dff9764c9703bc285
Signed-off-by: jykeon <jykeon@samsung.com>
wangxuedong [Tue, 14 Dec 2021 07:33:12 +0000 (15:33 +0800)]
add formal parameter void to lottie_init() and lottie_shutdown()
Signed-off-by: wangxuedong <wangxuedong@xiaomi.com>
Change-Id: I40dbe4b07f9581e5042e468d3860e135622580c8
Signed-off-by: jykeon <jykeon@samsung.com>
Subhransu Mohanty [Fri, 10 Dec 2021 04:30:07 +0000 (13:30 +0900)]
Add lottie_init() and lottie_shutdown() c api.
To support dynamic loading and unloading of rlottie library safely
we need to deallocate the resource cache as well as safely shutdown all the
worker threads.
current patch only stops the Render and Rle task schedulers when lottie_shutdown is called.
Things yet to be implemented during shutdown phase
- Unload image loader if loaded dynamically.
- Check if we can release some cache resources.
- Currently multiple load and unload of rlottie library will not work as we are not starting the
scheduler again when lottie_init() called multiple time in the same process.
Change-Id: Ifacf3882c4aec3ce87e9840d76f445e727a74f58
Signed-off-by: jykeon <jykeon@samsung.com>
wangxuedong [Thu, 9 Dec 2021 08:51:34 +0000 (16:51 +0800)]
replace unsigned int with uint32_t in Int()
Signed-off-by: wangxuedong <wangxuedong@xiaomi.com>
Change-Id: I4390c12fcf3aefccfe20290436b0dad96877008c
Signed-off-by: jykeon <jykeon@samsung.com>
Subhransu Mohanty [Thu, 9 Dec 2021 03:05:26 +0000 (12:05 +0900)]
replace uint ushort and uchar typedefs with uint32 uint16 and uint8
-- added format script to run clang format on latest commit.
Change-Id: I23f7fad4b75ef6c40e984766480876bf1bcb88a2
Signed-off-by: jykeon <jykeon@samsung.com>
Nicholas Guriev [Fri, 28 May 2021 12:34:42 +0000 (15:34 +0300)]
Reject reversed frames
Change-Id: I162cfaf0a68967f2e248a3c3af4a0fbb2ce30a54
Signed-off-by: jykeon <jykeon@samsung.com>
Nicholas Guriev [Fri, 28 May 2021 12:33:22 +0000 (15:33 +0300)]
Finite loop in VBezier::tAtLength()
Change-Id: I47205f80830d273ac395488f23200fefa1f86d5b
Signed-off-by: jykeon <jykeon@samsung.com>
JunsuChoi [Thu, 9 Dec 2021 00:50:46 +0000 (09:50 +0900)]
lottiemodel: Improve opacity calculation for gradient stop
Basically, Graeidnt stop's color and opacity are provided as separate arrays.
Stop position and opacity position do not match each other.
Existing code is a sequential approach. It caused problems in various cases of positions.
The improved logic repeats the loop, but no exceptions are raised. It's not complicated, it's simple.
This code referenced the lottie-android library.
https://github.com/airbnb/lottie-android/blob/master/lottie/src/main/java/com/airbnb/lottie/parser/GradientColorParser.java
Change-Id: Ib23064f7f91ee35ecec2afa41a0a1ccb57c8373a
JunsuChoi [Wed, 4 Aug 2021 06:31:16 +0000 (15:31 +0900)]
rlottie/capi: Add missing multiply for Path
mPath is std::vector array of VPointF as a VPath type.
Since the list of points is passed to the capi structure as a float*,
the size of the capi point list is twice the length of the vector array.
Change-Id: Ieaf1faf29323d3e17af51d3ec8a8cf7e431571ec
Nicholas Guriev [Sun, 23 May 2021 11:04:14 +0000 (14:04 +0300)]
Check Layer.mExtra and Transform.mExtra before dereferencing
Change-Id: I830ddb91a1ab81d3848633512ef1c23b37654883
Nicholas Guriev [Fri, 21 May 2021 19:36:10 +0000 (22:36 +0300)]
Avoid access to last element of empty mChildren vector
Change-Id: I590b2bdf25424161d25ddc1a4311b393d08b9a96
Subhransu Mohanty [Wed, 26 May 2021 02:32:40 +0000 (11:32 +0900)]
remove RAPIDJSON_ASSERT() by placing the parser in error state
Change-Id: I2ef64d4a50feb0ca769f19ce38b5bcabb83fd181
Nicholas Guriev [Thu, 27 May 2021 12:01:58 +0000 (15:01 +0300)]
Fix dereferencing of null pointer in model::Layer::solidColor() getter
Also remove unnecessarily check of mExtra->mAsset in the asset() getter.
Change-Id: Ic17532314309e331be28bd09d9af63208ac0690b
Nicholas Guriev [Tue, 25 May 2021 11:12:31 +0000 (14:12 +0300)]
Skip dash array of size one or zero
An attempt to fix CVE-2021-31317, not tested yet.
Change-Id: Ib9a061ddc6c2136082f9f79ff35101fb6d5cf0b5
Simon Schmeisser [Sat, 1 May 2021 16:55:37 +0000 (18:55 +0200)]
add the /inc folder as an include path at build time
Change-Id: I496fb88a3a11e23da1c560ff93347f6c95720ab1
Subhransu Mohanty [Tue, 25 May 2021 07:17:18 +0000 (16:17 +0900)]
Improve matte rendering performance for simple layer
Change-Id: I58902f2c7a30056e605cc2884d834451edc947e8
Yuhang Zhao [Thu, 25 Mar 2021 05:56:08 +0000 (13:56 +0800)]
CMake: fix MSVC warnings
MSVC can't recognize these parameters.
Change-Id: I6be8de53b1ae0ee84eaef4ae47113d5376634b44
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
xspeed1989 [Wed, 24 Mar 2021 06:44:50 +0000 (14:44 +0800)]
fix compileing error
Change-Id: Ie3f23bb218f2052eaf657132ee2dccc4996c7130
xspeed1989 [Wed, 24 Mar 2021 06:39:11 +0000 (14:39 +0800)]
On windows, stbi__fopen opens a path containing non-English characters or symbols will fail due to encoding problems, so the filename parameter is assumed to be utf-8 and converted to utf-16, and then call _wfopen_s or _wfopen
Subhransu Mohanty [Thu, 25 Feb 2021 01:59:33 +0000 (10:59 +0900)]
add lottie_configure_model_cache_size() c api
Change-Id: I56e51ae7651f9a966d56f70ebb304408d973cfae
Johan Mattsson [Wed, 17 Feb 2021 19:55:39 +0000 (20:55 +0100)]
Fix comparison
Change-Id: I25d5d40de5ab47cb73456a240a6a436fb102c3a5
nokeya [Wed, 23 Sep 2020 14:53:46 +0000 (17:53 +0300)]
MT and MTd
Change-Id: I1c403595104c92425fc48ecd501034b6cae74b03
Michael R. P. Ragazzon [Fri, 1 Jan 2021 16:57:51 +0000 (17:57 +0100)]
Remove link warnings on MSVC
Change-Id: If65f7c96bd2fac65593b2888080fb4dce7f146b7
Sunny Gonnabathula [Mon, 21 Dec 2020 02:49:52 +0000 (20:49 -0600)]
I'm writing a wrapper library around rlottie and rust-bindgen won't accept local includes with angle braces, only quotes. Not a C/C++ programmer, so I hope this doesn't break anything and is an acceptable change.
Change-Id: I20a3826b1344de5f37e619e2264d127701a2124a
crizan [Wed, 23 Dec 2020 17:59:14 +0000 (18:59 +0100)]
Fix CMake build in subdirectory
Change-Id: Ia1df562057a87ef3a51201f62ba7145c456ce744
Subhransu Mohanty [Mon, 25 Jan 2021 01:47:25 +0000 (10:47 +0900)]
Fix crash when path animation data is empty
Change-Id: I31c61d053af4dafbf536e5e214cbee4885c26647
Subhransu Mohanty [Mon, 16 Nov 2020 06:39:16 +0000 (15:39 +0900)]
Added support for RoundedCornor objects.
- Currently RoundedCorner object only affects Rect object round property.
- yet to implement for Shape object.
Shinwoo Kim [Tue, 3 Nov 2020 02:22:18 +0000 (11:22 +0900)]
rlottie: draw line if width or height is 0
If width or heigth is 0 rlottie returned without drawing rect.
But it makes sense to draw line even if width or height is 0.
Hermet Park [Mon, 2 Nov 2020 07:08:38 +0000 (16:08 +0900)]
resource: polish player png image.
observed a dirty pixel. removed them.
Hermet Park [Mon, 2 Nov 2020 07:01:19 +0000 (16:01 +0900)]
resource: add rlottie_player image.
This image is referenced by rlottie web viewer
Vitaly Zaitsev [Sat, 17 Oct 2020 14:12:07 +0000 (16:12 +0200)]
Fixed build with GCC 11.
Signed-off-by: Vitaly Zaitsev <vitaly@easycoding.org>
JunsuChoi [Wed, 28 Oct 2020 06:24:27 +0000 (15:24 +0900)]
vs2019: Add release build option
Add project configuration for release build
+ add ignore warning 4996
Hermet Park [Tue, 20 Oct 2020 08:43:16 +0000 (17:43 +0900)]
updated AUTHORS
Hermet Park [Tue, 20 Oct 2020 06:33:45 +0000 (15:33 +0900)]
updated AUTHORS
Chae Lin Shin [Tue, 20 Oct 2020 06:30:58 +0000 (15:30 +0900)]
wasm: Add extra functions for lottie animation to use them in rlottie viewer
Added following functions for lottie animation
- FillColor, FillOpacity, StrokeColor, StrokeOpacity, StrokeWidth, TrPosition, TrRotation, TrAnchor, TrScale, TrOpacity
Hermet Park [Tue, 6 Oct 2020 06:38:04 +0000 (15:38 +0900)]
updated AUTHORS
Hermet Park [Tue, 6 Oct 2020 06:33:29 +0000 (15:33 +0900)]
example/win32Player: removed unnecessary files.
start1a [Tue, 6 Oct 2020 06:25:03 +0000 (15:25 +0900)]
add app executables
start1a [Tue, 6 Oct 2020 06:21:16 +0000 (15:21 +0900)]
rename directory rlottiePlayer to win32Player
start1a [Mon, 28 Sep 2020 13:09:21 +0000 (22:09 +0900)]
fix openJSONFileDialog
Resolving problem that did not update the background when running and
terminating the dialog while playing a smaller canvas animation
start1a [Mon, 28 Sep 2020 09:47:45 +0000 (18:47 +0900)]
fix animation replace error
start1a [Mon, 28 Sep 2020 08:09:34 +0000 (17:09 +0900)]
fix animation bitmap size to be set dynamically
start1a [Mon, 28 Sep 2020 07:52:32 +0000 (16:52 +0900)]
move function prototype to animation.h
To prevent function prototype duplicate code in source.cpp.
start1a [Sun, 27 Sep 2020 10:02:18 +0000 (19:02 +0900)]
add an example of win32 app that play rlottie animation by vs2019
start1a [Sat, 26 Sep 2020 04:43:11 +0000 (13:43 +0900)]
add rlottiePlayer Project
msnodeve [Wed, 23 Sep 2020 16:01:08 +0000 (01:01 +0900)]
Modify: Update .gitignore
- Add the text 'builddir_wasm' in .gitignore
sjh7141 [Wed, 23 Sep 2020 08:23:56 +0000 (17:23 +0900)]
Docs: Fix README typo
- with -> width
- Scale -> Rotation
Hermet Park [Thu, 17 Sep 2020 03:22:43 +0000 (12:22 +0900)]
updated license in spec file.
rlottie newly use MPL license code at vInterpolator
Change-Id: I7c0513949f9f355df20f3ba80fa23769025a9a8e
서지훈 [Sun, 13 Sep 2020 16:02:18 +0000 (01:02 +0900)]
Docs: Fix README typo
Change-Id: Iad58c140db68a3e0778209bb664682555e91485d
Hermet Park [Thu, 10 Sep 2020 01:54:58 +0000 (10:54 +0900)]
Update README.md
신채린 [Sun, 6 Sep 2020 17:47:46 +0000 (02:47 +0900)]
Fixed README typo
Moein Mohammadian [Sat, 29 Aug 2020 23:25:11 +0000 (03:55 +0430)]
fixed readme typo
Subhransu Mohanty [Fri, 21 Aug 2020 05:23:08 +0000 (14:23 +0900)]
ci: upgrade windows build chain to VS2017
Subhransu Mohanty [Thu, 20 Aug 2020 01:28:56 +0000 (10:28 +0900)]
fixed sign extension warning
Vincent Torri [Wed, 19 Aug 2020 04:55:22 +0000 (06:55 +0200)]
build: use shared_module instead of shared_library
Subhransu Mohanty [Wed, 19 Aug 2020 02:50:33 +0000 (11:50 +0900)]
release: prepare for 0.2 release
Subhransu Mohanty [Wed, 19 Aug 2020 01:36:54 +0000 (10:36 +0900)]
fix warnings
Subhransu Mohanty [Tue, 18 Aug 2020 01:53:57 +0000 (10:53 +0900)]
vector: refactor vrle class
Subhransu Mohanty [Tue, 18 Aug 2020 04:10:40 +0000 (13:10 +0900)]
render: fix issue with mask opacity handling
sub.mohanty@samsung.com [Mon, 17 Aug 2020 07:11:47 +0000 (16:11 +0900)]
example: added a perf test to keep track of performance
Hermet Park [Sat, 15 Aug 2020 05:16:08 +0000 (14:16 +0900)]
vs2019: up-to-date some missed file list.
Hermet Park [Sat, 15 Aug 2020 03:30:54 +0000 (12:30 +0900)]
vs2019: fix all visible configuration errors & warnings.
Subhransu Mohanty [Fri, 14 Aug 2020 09:10:56 +0000 (18:10 +0900)]
render: keep a path object in solid and image layer for reuse
nokeya [Fri, 14 Aug 2020 09:03:01 +0000 (12:03 +0300)]
ignore ds_store
Subhransu Mohanty [Fri, 14 Aug 2020 07:54:35 +0000 (16:54 +0900)]
vector/vrle: added free function for + and & operator
- removed unused functions.
Subhransu Mohanty [Fri, 14 Aug 2020 06:44:29 +0000 (15:44 +0900)]
rlottie: fix mask logic when inverted flag is set.
Added the test resource that is fixed by this patch.
Subhransu Mohanty [Thu, 13 Aug 2020 08:15:56 +0000 (17:15 +0900)]
parser: remove dead code
Subhransu Mohanty [Thu, 13 Aug 2020 07:02:06 +0000 (16:02 +0900)]
lottie: mark render classes final when possible
Subhransu Mohanty [Wed, 12 Aug 2020 04:51:09 +0000 (13:51 +0900)]
optimization: optimize VBezier::length()
- force VLine::length() function to be inline.
Subhransu Mohanty [Wed, 12 Aug 2020 04:29:28 +0000 (13:29 +0900)]
vector: added V_ALWAYS_INLINE macro.
Subhransu Mohanty [Wed, 12 Aug 2020 02:09:44 +0000 (11:09 +0900)]
optimization: refactor Property class for size optimization.
As only Property<VPointF> in Transform object has the tangent info
added a tag in Property to differentiate form other property.
This will add tangent info to only property that require them.
Subhransu Mohanty [Tue, 11 Aug 2020 09:25:01 +0000 (18:25 +0900)]
build: change LOT_BUILD to RLOTTIE_BUILD
nokeya [Tue, 11 Aug 2020 08:39:06 +0000 (11:39 +0300)]
improve README
Subhransu Mohanty [Tue, 11 Aug 2020 08:02:32 +0000 (17:02 +0900)]
example: updated test example.
Subhransu Mohanty [Tue, 11 Aug 2020 06:29:36 +0000 (15:29 +0900)]
example: update test example with fps info
Subhransu Mohanty [Tue, 11 Aug 2020 02:15:33 +0000 (11:15 +0900)]
rlottie/rapidjson: updated to latest rapidjson
Subhransu Mohanty [Tue, 11 Aug 2020 04:40:49 +0000 (13:40 +0900)]
parser: Fix the keyframe cache logic.
For some keyframes the cache function was not getting called.
so move the cache logic to outer function and call it when the property
is fully parsed.
Subhransu Mohanty [Tue, 11 Aug 2020 03:32:19 +0000 (12:32 +0900)]
parser: optimize zero length path keyframes
sub.mohanty@samsung.com [Sun, 9 Aug 2020 03:48:25 +0000 (12:48 +0900)]
rlottie: mark all user defined destructor's as noexcept
Hermet Park [Thu, 6 Aug 2020 11:43:45 +0000 (20:43 +0900)]
Attention, rlottie now has a MIT license.
We switch rlottie base license from LGPL2 to MIT
since we hope our project is more freely used by other projects for better world.
Change-Id: Ibb3023c628cc9d683bc5e577790e016605523f7b
Александр Першин [Fri, 7 Aug 2020 09:42:14 +0000 (12:42 +0300)]
fix msvc 2019 build
sub.mohanty@samsung.com [Sun, 9 Aug 2020 00:10:12 +0000 (09:10 +0900)]
parser: Refactor cache computation to fix the issue when no start value provided
Subhransu Mohanty [Fri, 7 Aug 2020 02:08:09 +0000 (11:08 +0900)]
perf: added tAtLength(len, totalLength) api to Bezier.
When length of the bezier is known , then pass it to tAtLength function
to avoid doing expensive length() operation again.
Subhransu Mohanty [Fri, 7 Aug 2020 01:40:05 +0000 (10:40 +0900)]
rlottie: rename LOT_EXPORT to RLOTTIE_API
Subhransu Mohanty [Fri, 7 Aug 2020 01:12:34 +0000 (10:12 +0900)]
rlottie: update license in source and header files
Subhransu Mohanty [Thu, 6 Aug 2020 03:56:48 +0000 (12:56 +0900)]
parser: cache some comutaion during parsing
Subhransu Mohanty [Tue, 4 Aug 2020 02:18:46 +0000 (11:18 +0900)]
rlottie: remove Qt license as we are no more using any code form Qt
Subhransu Mohanty [Mon, 3 Aug 2020 04:25:54 +0000 (13:25 +0900)]
lottie/model: Refactor filter model
Subhransu Mohanty [Mon, 27 Jul 2020 05:24:24 +0000 (14:24 +0900)]
build: provide cross file for arm build
Subhransu Mohanty [Thu, 23 Jul 2020 06:31:16 +0000 (15:31 +0900)]
vector: rendering refactor.
- replaced implementation form qt.
- refactor render function table.
- ran clang-format
Subhransu Mohanty [Wed, 22 Jul 2020 05:50:19 +0000 (14:50 +0900)]
rlottie: update VInterpolator license header
Hermet Park [Tue, 21 Jul 2020 04:23:04 +0000 (13:23 +0900)]
Update README.md
adjust icon size.