Hermet Park
388631be68
lottie: Newly added support for the text feature.
...
This enhancement enables embedded glyphs rendering.
The 'fonts' and 'chars' properties are now supported.
2024-04-05 17:28:05 +09:00
Hermet Park
25ea242d38
saver/tvg: removed an unstable condition.
...
this optimization breaks the scene composition, remove it.
Issue: https://github.com/thorvg/thorvg/issues/1750
2024-01-03 16:21:15 +09:00
Hermet Park
cfb9ea8a43
tvg picture: binary version up.
2024-01-02 20:34:12 +09:00
Hermet Park
4ebbd0aefc
examples: ++safety.
...
Guarantee the resource free at the termination.
2024-01-02 20:34:12 +09:00
Hermet Park
102414d56f
lottie: resolve a thread sanitizer report.
...
Issue: https://github.com/thorvg/thorvg/issues/1874
2024-01-02 20:34:12 +09:00
Jinny You
92288c8291
updated copyright date ( #1866 )
2024-01-02 20:34:12 +09:00
Hermet Park
dab0380398
examples/text: Added Text example.
2024-01-02 20:34:11 +09:00
Hermet Park
6f19c581e8
infra: renamed the folders, images -> resources.
...
these folders might have more than images.
2024-01-02 20:34:10 +09:00
Sergii Liebodkin
802fb3efc6
examples: fixed manual loading of binary data (jpg, png, raw ect)
...
To load binary data operations must be performed in binary mode rather than text.
The issue appears on windows platform, especially for PNG loading
2024-01-02 20:34:10 +09:00
Hermet Park
b1c1958c99
examples/GifSaver: updated with a background usage
2023-12-26 18:30:27 +09:00
Hermet Park
5401b1ae2e
examples: show users the best practice usage.
2023-12-26 18:24:04 +09:00
Hermet Park
cd216a5235
example: renamed a sample, Svg2 -> DataLoad
...
The sample actually intends to test Picture::load() with a data.
2023-12-26 18:18:57 +09:00
JunsuChoi
a20216045a
saver GifSaver: Introduce GifSaver for animation
...
Add save() API that takes tvg::Animation as a parameter.
This API uses gif.h to create each animation frame as a gif frame.
Gif creation do not support threads because they must be added sequentially.
Please see example/GifSaver.cpp
ex)
auto animation = tvg::Animation::gen();
auto picture = animation->picture();
picture->load(EXAMPLE_DIR"/walker.json");
auto saver = tvg::Saver::gen();
saver->save(std::move(animation), EXAMPLE_DIR"/test.gif");
saver->sync();
New API:
Result Saver::save(std::unique_ptr<Animation> animation, const std::string& path, uint32_t quality = 100, uint32_t fps = 0);
Issue: https://github.com/thorvg/thorvg/issues/1712
2023-12-26 18:17:38 +09:00
Hermet Park
b21c7f8302
example/capi: remove saver test.
...
This generated tvg often make us confused
when Tvg example doesn't show it properly.
It's too small circle.
2023-12-26 18:06:50 +09:00
Jinny You
45dfab5ef5
examples: Support mac os to execute all
2023-12-26 18:06:15 +09:00
Hermet Park
29590b373f
lottie/builder: enable layer blending
...
Issue: https://github.com/thorvg/thorvg/issues/1737
2023-12-26 18:02:12 +09:00
Hermet Park
0832a188fe
animation/lottie: updated the frame count unit.
...
replace the frame count unit from the int32_t to float
since animations could smoothly interpolate key-frames.
This notificably improve the animation smoothness in Lottie
Beta API changes:
Result Animation::frame(uint32_t no) -> Result Animation::frame(float no)
uint32_t Animation::curFrame() const -> float Animation::curFrame() const
uint32_t Animation::totalFrame() const -> float Animation::totalFrame() const
2023-12-26 17:51:53 +09:00
Hermet Park
854ae10011
examples/lottie: added more show cases
2023-12-26 17:51:31 +09:00
Hermet Park
1b15233aeb
api: enhance the API usage.
...
Allow users to omit the default type casting for added convenience.
2023-12-26 17:50:36 +09:00
Hermet Park
f37bbce2f5
examples: add svg samples.
2023-12-26 17:48:56 +09:00
Hermet Park
84a19ece7e
examples: allow gl test
2023-12-26 17:48:50 +09:00
Hermet Park
e8fd7e2b85
infra: update the tvg binaries.
2023-09-26 17:42:17 +09:00
Hermet Park
92b6f9dc48
examples: remove Async test
...
We have alternative test cases for it such as Lottie
2023-09-26 14:50:16 +09:00
Hermet Park
44d0f98274
examples/capi: added an animation example.
2023-09-25 12:27:22 +09:00
Hermet Park
c40df32561
examples: changed the default test intervnal time. (1 -> 2)
2023-09-21 22:18:58 +09:00
Hermet Park
87dee3c1f7
loader/lottie: fix a memory leak
...
A dangling scene instance should be deleted properly.
2023-09-18 10:41:00 +09:00
Hermet Park
516e8bf042
loader/lottie: minimum support for 3D transform
...
It lacks perspective projection information,
so it transforms 3D axes with orthogonal projection.
2023-09-07 17:59:52 +09:00
Hermet Park
a49ac81543
loader/lottie: support the repeater property
2023-09-07 12:17:16 +09:00
Hermet Park
dae6636d29
loader/lottie: filled a missing gradient stroke dash body.
2023-09-05 18:41:20 +09:00
Hermet Park
ad9d9d0ecd
loader/lottie: support trimpath feature
2023-09-01 13:16:18 +09:00
Hermet Park
ce5ac1c114
loader/lottie: fix a crash issue caused by incorrect gradient alpha handling.
...
This fix addresses the interpretation of gradient alpha values,
preventing a potential crash due to invalid memory access.
2023-08-30 17:46:27 +09:00
Hermet Park
86467481d1
examples: do not update canvases when frame numbers haven't been changed.
2023-08-29 13:24:59 +09:00
Hermet Park
07069f6640
loader/lottie: introduce chaining maskings more effectively.
2023-08-28 11:55:17 +09:00
Hermet Park
21413b1872
sw_engine: optimizing the masking feature
...
replaced 32-bit operations with 8-bit operations for masking buffers.
We might need a grasycale image support for applying 1-byte channel masking input(Picture).
Some of masking implementation are disabled by this reason.
Also, I don't expecct it's necessary for the thorvg now.
2023-08-28 11:55:10 +09:00
Hermet Park
624b275628
sw_engine: improve the masking methods
...
Corrected subtract/intersect masking behaviors that were inaccurately functioning
within chain-masking.
This also helps to enhance the masking performance by reducing the
masking region when applying subtract/intersect.
@Issue: https://github.com/thorvg/thorvg/issues/1606
2023-08-28 11:55:01 +09:00
Hermet Park
3d5c5ef0fa
loader/lottie: support the stroke offset property
2023-08-24 10:56:07 +09:00
Hermet Park
7d797ee548
Yet we don't break apis, this patch reverts the next:
...
cb36c25aff
8c0fc2b25a
c1e4e0808a
Those reverted changes sholud be in the bucket, the next issue item:
@Issue: https://github.com/thorvg/thorvg/issues/1372
2023-08-24 01:00:57 +09:00
Hermet Park
68f4193378
loader/lottie: support the polystar property.
2023-08-23 13:12:26 +09:00
Mira Grudzinska
8c0fc2b25a
capi: dashed stroke setter and getter modyfied
...
tvg_shape_set_stroke_dash() and tvg_shape_get_stroke_dash()
require an extra argument: offset
2023-08-23 12:40:27 +09:00
Mira Grudzinska
c1e4e0808a
Revert "api: enhance Shape::stroke() method usage."
...
This reverts commit 6cbc1de570
.
Setting def value for 'a' makes it impossible to overload
the 'stroke' api with 3 values (needed for introducing dash offset).
2023-08-23 12:40:27 +09:00
Hermet Park
899ea77695
exmamples lottie: add a time measurement.
2023-08-22 21:25:59 +09:00
Hermet Park
3437e4729f
examples: remove Stress
...
we have a good stress test - Lottie
2023-08-21 19:49:05 +09:00
Hermet Park
994c1b99a5
lottie/loader: support the masking features.
...
Enhancing the basic masking options by providing additional support.
2023-08-17 23:03:37 +09:00
Hermet Park
86aabb4df0
loader lottie: image optimization
...
In every frame, the image undergoes a Colorspace conversion attempt.
This approach aims to bypass the step by retaining the pre-converted image data.
I acknowledge that this might not be the best approach,
but it is proving to be quite effective at the moment.
2023-08-15 15:49:05 +09:00
Hermet Park
1b020f70c4
loader lottie: support for stroke dash style
...
However, dash offset is still missing.
The TVG canvas needs to add the stroke offset feature.
2023-08-11 11:41:28 +09:00
RuiwenTang
7a35ff4d4b
gl_engine: upgrade min gl version
...
most device supported morden gl which is:
GLES 3.0 for mobile GPU
GL 3.3 for desktop GPU
2023-08-09 23:23:57 +09:00
Hermet Park
8f4f3d6f1b
loader/lottie: Add radial gradient support
...
This allows for the creation of basic radial gradients,
without support for focal points.
2023-08-09 21:30:25 +09:00
Hermet Park
d7c70c5371
loader/lottie: fix a missing layer timeremap.
...
The frame count should have been multiplied with the timeStretch property.
also newly implemented the TimeRemap(tm) property
2023-08-09 21:30:25 +09:00
Hermet Park
1e2051ded3
examples lottie: add an image test sample
2023-08-08 23:52:30 +09:00
Hermet Park
10cb09dbda
examples/lottie: updated for wider coverage.
2023-08-08 23:47:58 +09:00