Hermet Park
adf32b5628
sw_engine: --compiler warnings on MSYS2
...
comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'long int' [-Wsign-compare]
2024-12-19 16:18:49 +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
Hermet Park
5c129472ff
renderer: add a new scene effect type - Fill
...
Fill is used for overriding the scene content color
with a given fill information. It's yet an Experimental API.
issue: https://github.com/thorvg/thorvg/issues/2718
2024-12-19 16:12:28 +01:00
RuiwenTang
be538bacf7
gl_engine: Fix calculation error in path triming
...
Basically rewrite the PathTrim code, correct the Line and Bezier split
function calling.
Also the trim situation where start is greater than end can be handled correctly.
2024-12-19 13:27:23 +01:00
Mira Grudzinska
babff908cd
bump up version v0.15.6
2024-12-05 21:30:34 +01:00
Mira Grudzinska
f3cc245b37
lottie: add TextCaps property support
2024-12-05 16:45:02 +01:00
Hermet Park
36e5f68222
common: improve the rendering pipeline
...
enhanced the rendering composition target to better support features such as
alpha blending, blending, masking, post effects, and more.
This allows rasterizers to prepare the composition context with more precise control.
Additionally, resolved a crash in the software engine's post-effect process
caused by a buffer size mismatch during XY buffer flipping.
issue: https://github.com/thorvg/thorvg/issues/3009
issue: https://github.com/thorvg/thorvg/issues/2984
2024-12-05 13:13:42 +01:00
Dragoș Tiselice
c5a7d76109
sw_engine: replaced longjmp with returns
...
Since longjmp is not yet fully supported on Wasm (emscripten uses
JS to make the jumps and requires slow jumps), but also because
longjmp is hard to reason about, this patch replaces it with
return values. The logic stays exactly the same.
2024-12-05 12:20:12 +01:00
Hermet Park
52cf31a79d
renderer: make the file io configurable
...
certain systems, may not support file I/O operations.
ThorVG should provide users with an option to configure
builds according to their requirements.
This ensures that file I/O calls are avoided,
preventing potential crashes.
Please use the meson '-Dfile=true/false' option for this.
Please note that "THORVG_FILE_IO_SUPPORT" might be expected
for your thorvg manual build.
issue: https://github.com/thorvg/thorvg/issues/3008
2024-12-02 12:03:15 +09:00
RuiwenTang
c0aab8c738
gl_engine: Fix the wrong bounds cause composition not correct
...
The bounds should allow negative origins, only zero width or height bounds needs discard.
2024-12-02 11:56:00 +09:00
Hermet Park
89ab573acb
bump up version v0.15.5
2024-11-27 19:17:23 +09: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
RuiwenTang
14d66198d1
gl_engine: correct the stroke alpha calculation
...
The wrong matrix scale factor value caused the stroke alpha to be zero
when the matrix contains rotation.
2024-11-27 19:17:23 +09:00
Hermet Park
c6632d9ec0
portability: fixed a compile error on msys2
2024-11-27 19:17:23 +09:00
Hermet Park
ba8a764ec3
example: ++gl, wgpu safety
...
Free the canvas in the reverse order of their creation.
2024-11-27 19:17:20 +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
96ffc05ecb
lottie: fix bug in expressions
...
'end' used instead of 'offset'
2024-11-26 01:19:48 +09:00
Hermet Park
3d4df8df41
lottie: portability++
...
issue: https://github.com/lvgl/lvgl/issues/7214
2024-11-26 01:19:39 +09:00
Hermet Park
f05ee1ca63
renderer/sw_engine: fix omitted alpha multiplication in the dropshadow effect
...
When a scene has a valid opacity, it must be multiplied with the
direct dropshadow image to ensure correct rendering.
2024-11-26 01:19:28 +09:00
Mira Grudzinska
b3c1c33285
lottie: shapes support in text range selector
...
@issue: #2178
2024-11-26 01:18:59 +09:00
Mira Grudzinska
483b40c78e
lottie: easing support in text range selector
...
@issue: #2178
2024-11-26 01:18:53 +09:00
Hermet Park
f0d4e7a7c7
sw_engine: hotfix range broken
...
hotfix for release. need to review the logic again
2024-11-26 01:17:36 +09:00
Hermet Park
e95f80c18f
lottie: corrected drop-shadow handling
...
opacity value type should be float with range 0 ~ 256
2024-11-26 01:17:28 +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
2324f6e75d
renderer: support SceneEffect DropShadow
...
Apply a drop shadow effect with a Gaussian Blur filter.
API Addition:
- enum class SceneEffect::DropShadow
Parameters:
- color_R(int)[0 - 255]
- color_G(int)[0 - 255]
- color_B(int)[0 - 255]
- opacity(int)[0 - 255]
- angle(float)[0 - 360]
- distance(float)
- blur_sigma(float)[> 0]
- quality(int)[0 - 100]
issue: https://github.com/thorvg/thorvg/issues/2718
2024-11-26 01:16:37 +09:00
lpogic
8daf0b7b94
renderer: Fix paint transformation on scene change
...
issue: https://github.com/thorvg/thorvg/issues/2958
2024-11-26 01:15:01 +09:00
Mira Grudzinska
9869855640
svg_loader: handle currentColor inside gradient
...
@Issue: https://github.com/thorvg/thorvg/issues/2960
2024-11-26 01:13:16 +09:00
Hermet Park
481f359338
bump up version v0.15.4
2024-11-19 01:13:51 +09:00
Hermet Park
bf7b837b17
lottie: --minor memory leak
2024-11-19 01:13:51 +09:00
Hermet Park
1779689f03
lottie: Fixed a regression bug
...
Reverted commit db800c8d45
,
which introduced another regression that omitted support
for multiple image asset references.
Updated the data of active images in the pooler
within the override() function to resolve the issue.
2024-11-19 01:01:34 +09:00
Hermet Park
ed07a151c9
lottie: ++slot overriding
...
Keep trying overriding even if the given sid is invalid.
issue: https://github.com/thorvg/thorvg/issues/2969
2024-11-18 23:43:18 +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
a989dc9a7d
lottie: fixed a memory leak
...
A regression bug by efe7440fa0
To address this, removed the non-essential image pooling mechanism.
issue: https://github.com/thorvg/thorvg/issues/2959
2024-11-18 23:42:04 +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
Hermet Park
fcf080cc4e
sw_engine: ++exceptional handling
...
issue: https://github.com/thorvg/thorvg/pull/2955
2024-11-18 23:39:38 +09:00
Jinny You
98fbc90f9b
lottie/slot: Support image overriding
2024-11-18 23:39:28 +09:00
Mira Grudzinska
ce3bee7a3f
lottie: fix text range opacity
2024-11-18 23:37:14 +09:00
RuiwenTang
552d4bcee1
gl_engine: Fix repeated clip drawing causes performance degradation
...
The clips need to be cleared every time when shape update.
Otherwise, the increasing number of clips will hurt the performance.
2024-11-18 23:35:47 +09:00
Mira Grudzinska
d37ab3b39f
lottie: maxAmount support in the text range selector
...
@issue: #2178
2024-11-18 23:35:40 +09:00
Mira Grudzinska
76206a174e
lottie: smoothness support in the text range selector
...
@issue: #2178
2024-11-18 23:35:31 +09:00
Mira Grudzinska
606e107712
lottie: text range selector++
...
Change in the algorithm for selecting characters included
in the range selector. This is the first step towards adding
support for maxAmount, smoothness, and easing.
@Issue: https://github.com/thorvg/thorvg/issues/2178
2024-11-18 23:24:58 +09:00
RuiwenTang
e82830147c
gl_engine: Support new radial gradient data struct and calculation
...
Change the shader and uniform struct to support new radial gradient.
The mathematical calculation comes from https://skia.org/docs/dev/design/conical/
2024-11-18 23:22:56 +09:00
RuiwenTang
159bf6949e
gl_engine: Fix memory leak in the IndexBuffer object
...
The CPU buffer cache in the IndexBuffer object needs to be cleared, otherwise it will cause memory leaks and reduce performance per frame
2024-11-18 23:07:42 +09:00
RuiwenTang
8b37ec5d9c
gl_engine: seperate the index buffer from vertex buffer
...
WebGL has a strict rule that does not allow the same GLBuffer
to be bound to both ARRAY_BUFFER and ELEMENT_ARRAY_BUFFER at the same time.
(https://registry.khronos.org/webgl/specs/latest/1.0/#5.14.5 )
To support WebGL in the future, a separate GLBuffer is used to store index data.
2024-11-18 23:07:29 +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