Hermet Park
a69bad43fe
lottie: support Tint LayerEffect
...
issue: https://github.com/thorvg/thorvg/issues/2718
2024-12-20 00:36:26 +01:00
Hermet Park
7b8ebcea10
lottie: support Layer Effect Fill type
...
During the fill properties, only color/opacity is available.
Not support other properties since they are unclear spec now.
issue: https://github.com/thorvg/thorvg/issues/2718
2024-12-19 16:18:44 +01:00
Mira Grudzinska
f3cc245b37
lottie: add TextCaps property support
2024-12-05 16:45:02 +01:00
Hermet Park
a233ae09da
lottie: ++parser stability
...
fixed a parsing failure that occurred
when a desired single value was presented as part of an array.
issue: https://github.com/thorvg/thorvg/issues/2975
2024-11-27 19:17:23 +09:00
Hermet Park
4010496e8b
lottie: compact code++
...
use constructor to remove unnecessary function call
2024-11-27 18:56:41 +09:00
Hermet Park
1fa30d9321
lottie: ++slot overriding
...
- fixed the ommiting the duplicate keyframe data overriding
- code refactoring
issue: https://github.com/thorvg/thorvg/issues/2988
2024-11-26 01:19:54 +09:00
Mira Grudzinska
483b40c78e
lottie: easing support in text range selector
...
@issue: #2178
2024-11-26 01:18:53 +09:00
Hermet Park
13aa26109f
lottie: support drop shadow effect
...
issue: https://github.com/thorvg/thorvg/issues/2153
issue: https://github.com/thorvg/thorvg/issues/2718
2024-11-26 01:17:13 +09:00
Hermet Park
bf7b837b17
lottie: --minor memory leak
2024-11-19 01:13:51 +09:00
Mira Grudzinska
80815b269b
infra: prevent warning on windows
...
"conversion from 'float' to 'int8_t', possible loss of data"
2024-11-18 23:43:12 +09:00
Jinny You
b394a46cef
lottie/slot: Fix incorrect image slot schema
...
Issue: #2964
2024-11-18 23:42:55 +09:00
Hermet Park
88098f547f
lottie: corrected an omission in overriding the default slot
...
issue: https://github.com/thorvg/thorvg/issues/2953
2024-11-18 23:40:37 +09:00
Jinny You
98fbc90f9b
lottie/slot: Support image overriding
2024-11-18 23:39:28 +09:00
Hermet Park
e66f6853d9
lottie: code clean up
2024-11-18 23:03:00 +09:00
Jinny You
ab1c62bd05
lottie/text: Support text alignment options
...
Introduced new properties:
- group alignment
- text grouping (words, line)
Issue: #2178
2024-11-18 23:02:56 +09:00
Hermet Park
e954297a64
lottie: improve slots to properly override solid fill opacity
2024-11-09 17:31:19 +09:00
Hermet Park
e12765ef41
lottie: support default slot overriding
...
issue: https://github.com/thorvg/thorvg/issues/2915
2024-11-09 17:31:16 +09:00
Hermet Park
f42559e613
lottie/slot: revise gradient fill support
...
Revise gradient fill data parsing by adding support
for the color stop count (p) parameter in slot data.
issue: https://github.com/thorvg/thorvg/issues/2795
2024-11-08 12:46:03 +09:00
Hermet Park
c830abb901
lottie: corrected a shallow keyframe data copy bug
...
The previous assignment operator was missed due to a template error,
which has now been corrected.
issue: https://github.com/thorvg/thorvg/issues/2797
2024-11-01 17:38:24 +09:00
Mira Grudzinska
9ce784751c
lottie: correct the array reserved size
...
The color input will contain at least colorStops.count * 4
elements (not including alpha). Since the alpha offset values
don't have to much colorStops, estimation is used.
2024-10-22 00:41:01 +09:00
Mira Grudzinska
661bdeb9b7
lottie: add support for mask expansion
...
Implemented the mask attribute 'x' - expand mask.
Enforced rounded lines join according to tests in AE.
@Issue: https://github.com/thorvg/thorvg/issues/2832
2024-10-22 00:39:21 +09:00
Hermet Park
38f6ff4380
lottie: hotfix layer effect parsing
...
fixed a break in expressions/driving.json
2024-10-03 16:33:26 +09:00
Hermet Park
124dd4b629
lottie: ++safety
2024-10-01 12:58:13 +09:00
Mira Grudzinska
80a977f07e
lottie: fix mem leak
...
Mem leak was observed in a case the end values
(deprecated feature) were provided for the gradient.
@Issue: https://github.com/thorvg/thorvg/issues/2667
2024-09-30 23:24:24 +09:00
Hermet Park
ab8b4ef73e
lottie: support layer effect & gaussian blur
...
issue: https://github.com/thorvg/thorvg/issues/2718
2024-09-30 16:44:22 +09:00
Jinny You
82d4725c3e
lottie/text: hotfix for parsing text range issue
...
If randomize is not enabled, "rn" prop falls into skip()
2024-09-30 16:44:22 +09:00
Jinny You
c10c713c05
lottie/text: applied Text Range randomization.
...
on each parse, if the `randomize` is enabled,
the start and end of the Text Range are redefined
with the same gap as the original range.
issue: https://github.com/thorvg/thorvg/issues/2178
2024-09-30 16:44:22 +09:00
Jinny You
bf3e861b5a
lottie/text: Support line spacing
...
Compute line spacing based on the text range selector, applying the maximum spacing value for each line.
issue: https://github.com/thorvg/thorvg/issues/2178
2024-09-30 16:44:22 +09:00
Hermet Park
371139e220
renderer: blending refactoring++
...
- reordered the blending types to align with lottie spec.
- removed source over.
2024-09-30 16:44:22 +09:00
Hermet Park
c4678eb420
lottie/parser: ++ null value handling
...
Note that, only dealt with a obivous case in practice.
issue: https://github.com/thorvg/thorvg/issues/2703
2024-09-30 16:44:22 +09:00
Hermet Park
89031244cd
lottie/parser: enable logs to notify missing features
2024-09-30 16:44:21 +09:00
Mira Grudzinska
90e7a50c8e
lottie: add offsetPath support
...
Due to the lack of an analytical solution for Bezier
curves offsetting, a simple and computationally cheap
approximation has been implemented. The algorithm shifts
the segments connecting control points and determines
new points based on their intersections.
@issue: https://github.com/thorvg/thorvg/issues/2230
2024-09-30 16:44:21 +09:00
Hermet Park
fb6635713e
lottie: code refactoring
...
Moved common data declarations to tvgLottieCommon.h.
2024-09-30 15:49:34 +09:00
Hermet Park
cd1ed24bbe
lottie/expressions: revised exception handlings
2024-09-30 15:49:26 +09:00
Hermet Park
abf3e2d6ae
renderer: newly support the Lighten/Darken Masking options
...
Lighten is applied, where multiple masks intersect,
the highest transparency value is used.
Darken is applied, where multiple masks intersect,
the lowest transparency value is used.
Experimental API:
- CompositeMethod::LightenMask
- CompositeMethod::DarkenMask
issue: https://github.com/thorvg/thorvg/issues/2608
2024-09-30 15:48:18 +09:00
Hermet Park
c9ad7289a6
lottie/expressions: feature enhancement
...
added groupIndex() support
added property (ix) value support
2024-09-30 15:48:18 +09:00
Hermet Park
fc61fc42c2
lottie: code refactoring
...
Access its type from a property instance,
through coherent data structure.
2024-09-30 15:48:18 +09:00
Hermet Park
4e3d027fa7
lottie: code refactoring
...
- removed unnecessary variables.
- migrated the composition methods to the precomp layer.
2024-09-30 15:38:00 +09:00
Hermet Park
7a6d2e0c5a
lottie: ++scene rendering optimization
...
Apply LottieRenderPooler to texts.
2024-09-30 15:37:26 +09:00
Hermet Park
e27b8ddf25
lottie/parser: tiny binary size reduction
2024-09-30 15:30:47 +09:00
Mira Grudzinska
774e4f5156
lottie: support 'direction' in ellipses
2024-09-30 15:30:29 +09:00
Hermet Park
12b7c634f7
lottie: clarify shape direction.
...
There are only two options clockwise or counter-clockwise.
2024-09-30 15:29:22 +09:00
Hermet Park
43a5bf2fce
lottie: ++ scene composing optimization
...
retain resuable layer solid paint during animation.
2024-09-30 15:29:22 +09:00
Jinny You
0953d000c1
lottie/text: Support text range selector (Phase 1)
...
This patch provides initial support for the text range selector. Full support will be added gradually in subsequent steps. This is the first step.
Text range selector with following properties:
1. Text Range Selector (Units)
2. Text Style
- Fill Color
- Fill Opacity
- Stroke Color
- Stroke Width
- Stroke Opacity
- Opacity
- Rotation
- Position
- Scale
2024-09-30 15:28:24 +09:00
Hermet Park
12d0504a23
common: replace the round() with nearbyint()
...
nearbyint() is 2x faster than round() in our local test.
2024-09-30 15:24:39 +09:00
Mira Grudzinska
5276663c45
lottie: add support for image size
...
The width and height of the image must
be specified in the Lottie file and must
be taken into account during rendering.
2024-09-30 15:11:34 +09:00
Hermet Park
98e613e3f0
lottie/parser: optimization++
...
Skip the data constructuion if the mask mode
is none. it's not used at all.
2024-09-30 12:46:49 +09:00
Josh Soref
e3c66db301
common: fix 178+ spelling errors
2024-09-30 12:41:38 +09:00
Hermet Park
933176e309
lottie: hotfix for preventing a crash.
...
MaskMode=None is not properly addressed,
Prevent the crash from the use-case.
issue: https://github.com/thorvg/thorvg/issues/2426
2024-06-27 14:42:27 +09:00
Mira Grudzinska
d9326921fa
lottie: fix repeater order
...
Assigning numbers 1 or 2 to a bool always
resulted in true. Now fixed and repeated
shapes are drawn in the proper order.
If the repeater had no elements, iterating
shapes from the end would result in a segf.
This issue is now fixed.
2024-06-24 14:56:31 +09:00