Hermet Park
0f409a654a
renderer: reserved colorspace option in target api
...
API Modification:
- Result WgCanvas::target(void* device, void* instance, void* target, uint32_t w, uint32_t h, int type = 0)
-> Result WgCanvas::target(void* device, void* instance, void* target, uint32_t w, uint32_t h, ColorSpace cs, int type = 0)
- Tvg_Result tvg_wgcanvas_set_target(Tvg_Canvas* canvas, void* device, void* instance, void* target, uint32_t w, uint32_t h, int type)
-> Tvg_Result tvg_wgcanvas_set_target(Tvg_Canvas* canvas, void* device, void* instance, void* target, uint32_t w, uint32_t h, Tvg_Colorspace cs, int type)
2024-11-26 12:04:30 +09:00
Sergii Liebodkin
6c452c1fd3
wg_engine: fix resources disposing on context destroy
...
We must to dispose all paints render handles before the context will be destroyed to prevent handles leak
2024-11-26 11:34:42 +09:00
Hermet Park
951ea77f5d
lottie: compact code++
...
use constructor to remove unnecessary function call
2024-11-26 01:11:03 +09:00
Hermet Park
97058badbf
example: ++lottie extension
2024-11-26 01:11:03 +09:00
Hermet Park
e811a513f2
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:11:03 +09:00
Mira Grudzinska
b453bd4f40
lottie: fix bug in expressions
...
'end' used instead of 'offset'
2024-11-25 21:54:37 +09:00
Hermet Park
036d1e7cac
example: ++gl, wgpu safety
...
Free the canvas in the reverse order of their creation.
2024-11-25 11:10:25 +09:00
Hermet Park
8995bc32a2
lottie: portability++
...
issue: https://github.com/lvgl/lvgl/issues/7214
2024-11-23 11:43:33 +09:00
Hermet Park
877c524e5e
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-23 01:03:39 +09:00
Sergii Liebodkin
077a0481c4
wg_engine: reset context in examples
...
Fix examples termination process: reset context while window releasing before webgpu instance released
Issue https://github.com/thorvg/thorvg/issues/2745
2024-11-22 18:34:46 +09:00
Sergii Liebodkin
d0bc4bc4f5
wg_engine: multicanvas support (multicanvas example)
...
Updated multicanvas example
Issue https://github.com/thorvg/thorvg/issues/2745
2024-11-22 12:34:26 +09:00
Sergii Liebodkin
3805f26aff
wg_engine: multicanvas support
...
Added multicanas support
Issue https://github.com/thorvg/thorvg/issues/2745
2024-11-22 12:34:26 +09:00
Hermet Park
57fcada8cc
example: updated lottie samples
2024-11-22 11:17:07 +09:00
Hermet Park
ccaf44e80e
gl_engine: fix a regression by a mistake
...
introduced by d3d085de15
2024-11-22 00:38:03 +09:00
Mira Grudzinska
b5d81be339
tests: remove capi tests
...
@Issue: https://github.com/thorvg/thorvg/issues/2978
2024-11-21 23:39:17 +09:00
Hermet Park
d069156994
Update README.md
2024-11-21 01:31:48 +09:00
Mira Grudzinska
0cc0d0e1c8
lottie: shapes support in text range selector
...
@issue: #2178
2024-11-21 01:20:53 +09:00
Mira Grudzinska
a6fb2ef9a7
lottie: easing support in text range selector
...
@issue: #2178
2024-11-21 01:05:11 +09:00
Sergii Liebodkin
f5a183b20c
wg_engine: fix gradint stops color usage
...
Fixed access to the last value of color stops array
https://github.com/thorvg/thorvg/issues/2922
2024-11-20 22:20:25 +09:00
Hermet Park
d3d085de15
renderer: code refactoring
...
- introduced RenderColor
- internal name changes to avoid conflicts
2024-11-20 22:13:27 +09:00
lpogic
a67f30de65
renderer: Fix paint transformation on scene change
...
issue: https://github.com/thorvg/thorvg/issues/2958
2024-11-20 15:43:58 +09:00
Hermet Park
96e8d3d7a2
api: revise the gl target() api.
...
API modification:
- Result GlCanvas::target(int32_t id, uint32_t w, uint32_t h)
-> Result GlCanvas::target(int32_t id, uint32_t w, uint32_t h, ColorSpace cs)
- Tvg_Result tvg_glcanvas_set_target(Tvg_Canvas* canvas, int32_t id, uint32_t w, uint32_t h)
-> Tvg_Result tvg_glcanvas_set_target(Tvg_Canvas* canvas, int32_t id, uint32_t w, uint32_t h, Tvg_Colorspace cs)
issue: https://github.com/thorvg/thorvg/issues/1372
2024-11-20 14:55:40 +09:00
Hermet Park
0b4f2a49fe
common: improved instance memory handling
...
- prevent dangling instances in failure scenarios by utilizing a reference counter.
- update the test suite to treat null pointer arguments as invalid argument failures.
2024-11-20 01:53:25 +09:00
Hermet Park
df8fc1949c
test: ++paint reference counting
2024-11-20 01:53:25 +09:00
Hermet Park
16b985799a
capi: introduced paint reference counting
...
New APIs:
- uint8_t tvg_paint_ref(Tvg_Paint* paint)
- uint8_t tvg_paint_unref(Tvg_Paint* paint, bool free)
- uint8_t tvg_paint_get_ref(const Tvg_Paint* paint)
issue: https://github.com/thorvg/thorvg/issues/1372 https://github.com/thorvg/thorvg/issues/2598
2024-11-20 01:53:25 +09:00
Hermet Park
22d94ea629
renderer: introduced paint reference counting
...
The reference count of the Paint object allows
easy & safe shared ownership and control over its lifetime
among users and the engine.
New APIs:
- uint8_t Paint::ref()
- uint8_t Paint::unref(bool free = true)
- uint8_t Paint::refCnt() const
issue: https://github.com/thorvg/thorvg/issues/1372 https://github.com/thorvg/thorvg/issues/2598
2024-11-20 01:53:25 +09:00
Mira Grudzinska
511495f6d8
svg_loader: handle currentColor inside gradient
...
@Issue: https://github.com/thorvg/thorvg/issues/2960
2024-11-20 01:46:19 +09:00
Hermet Park
b7888c2ff3
lottie: --minor memory leak
2024-11-19 01:55:38 +09:00
Hermet Park
b66ce727ff
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:55:38 +09:00
Hermet Park
66d4bab696
lottie: ++slot overriding
...
Keep trying overriding even if the given sid is invalid.
issue: https://github.com/thorvg/thorvg/issues/2969
2024-11-18 19:52:47 +09:00
Mira Grudzinska
a0f1c2d99d
infra: prevent warning on windows
...
"conversion from 'float' to 'int8_t', possible loss of data"
2024-11-18 19:03:30 +09:00
Jinny You
931d0748bb
lottie/slot: Fix incorrect image slot schema
...
Issue: #2964
2024-11-18 19:01:10 +09:00
Hermet Park
db800c8d45
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 18:51:15 +09:00
Hermet Park
8107582c8b
example/lottie_extension: added overriden default slot sample
2024-11-18 16:59:17 +09:00
Hermet Park
0b0488df82
lottie: corrected an omission in overriding the default slot
...
issue: https://github.com/thorvg/thorvg/issues/2953
2024-11-18 16:59:17 +09:00
Jinny You
a85470b5d5
wasm: Enhance gif saving without data copy
...
Removed data copy for gif saving.
Binding function `save` has changed:
- bool save(string data, string mimetype)
2024-11-18 14:55:14 +09:00
Hermet Park
a5dc165fa8
sw_engine: ++exceptional handling
...
issue: https://github.com/thorvg/thorvg/pull/2955
2024-11-18 12:45:35 +09:00
Jinny You
4ec7ce65bc
examples/slot: added example for image slot overriding
2024-11-15 18:26:32 +09:00
Jinny You
efe7440fa0
lottie/slot: Support image overriding
2024-11-15 17:56:42 +09:00
Sergii Liebodkin
0d5c3914e3
wg_engine: fix radial fill anti-aliased drawing
...
Use anisotropy filter for gradient fills
https://github.com/thorvg/thorvg/issues/2931
2024-11-12 16:35:04 +02:00
SergeyLebedkin
4b6f2172be
wg_engineL fix test build scripts and ambiguous declarations
...
Issue https://github.com/thorvg/thorvg/issues/2938
2024-11-12 22:49:17 +09:00
Mira Grudzinska
c49cb49e5c
lottie: fix text range opacity
2024-11-12 22:25:47 +09:00
RuiwenTang
b9cbd74fc6
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-11 22:08:04 +09:00
Hermet Park
6b2f18ffa2
capi: unified the separate linear and gradient fill APIs
...
API Removal:
- Tvg_Result tvg_shape_set_stroke_linear_gradient(Tvg_Paint* paint, Tvg_Gradient* grad)
- Tvg_Result tvg_shape_set_stroke_radial_gradient(Tvg_Paint* paint, Tvg_Gradient* grad)
- Tvg_Result tvg_shape_set_shape_linear_gradient(Tvg_Paint* paint, Tvg_Gradient* grad)
- Tvg_Result tvg_shape_set_shape_radial_gradient(Tvg_Paint* paint, Tvg_Gradient* grad)
API Addition:
- Tvg_Result tvg_shape_set_stroke_gradient(Tvg_Paint* paint, Tvg_Gradient* grad)
- Tvg_Result tvg_shape_set_shape_gradient(Tvg_Paint* paint, Tvg_Gradient* grad)
2024-11-10 13:48:25 +09:00
Mira Grudzinska
88a19b06f9
lottie: maxAmount support in the text range selector
...
@issue: #2178
2024-11-10 13:16:57 +09:00
Mira Grudzinska
84c7551c9b
lottie: smoothness support in the text range selector
...
@issue: #2178
2024-11-10 13:16:57 +09:00
Mira Grudzinska
4ee73be95b
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-10 13:16:57 +09:00
Hermet Park
1528ae3729
examples: updated lottie extension
...
Added default slot overriding case
2024-11-09 17:28:56 +09:00
Hermet Park
d8fa8f364c
lottie: improve slots to properly override solid fill opacity
2024-11-09 17:28:56 +09:00
Hermet Park
f84b2331da
lottie: support default slot overriding
...
issue: https://github.com/thorvg/thorvg/issues/2915
2024-11-09 17:28:52 +09:00