Commit graph

22 commits

Author SHA1 Message Date
Hermet Park
e8e9ba5ea0 infra: move the examples folder outside of the source directory.
examples are not considered a feature of ThorVG;
hence, they are excluded from the src directory.

This change allows developers to concentrate more effectively
on the core ThorVG sources for practical usages.
2024-04-01 10:52:22 +09:00
Hermet Park
54acc7c955 examples/lottie: do not scan samples recursively.
lottie/extensions will be only accessed by LottieExtension
2024-03-20 16:49:05 +09:00
Hermet Park
c79e8e6271 examples: refactored the examples directory
reorganized the resources folder,
distributing contents into categorized subfolders:
SVG, Lottie, Image, Font, and TVG.
2024-03-18 18:09:03 +09:00
Hermet Park
754a4aeaea renderer/gl_engine: Refine GlCanvas Interface
Refactor the GlCanvas::target() interface to allow
passing the drawing target ID from the user side.

Previously, it performed the drawing on the currently set FBO target.

Beta API change:

Result GlCanvas::target(uint32_t* buffer, uint32_t stride, uint32_t w, uint32_t h)
-> Result GlCanvas::target(int32_t id, uint32_t w, uint32_t h)
2024-03-13 10:13:02 +02:00
Hermet Park
27b49dcf45 examples: revise the usage.
Remove the canvas buffer clear call
when the solid bg is introduced.
2024-01-18 13:34:14 +09:00
Jinny You
2c6c8d3b21
updated copyright date (#1866) 2023-12-28 10:43:25 +09:00
Hermet Park
86bdf30479 examples: show users the best practice usage. 2023-11-10 13:56:11 +09:00
Hermet Park
d6fffd13c2 api: revise the engine initializer for the 1.0 release.
This change introduces the CanvasEngine::All type to automatically
initialize the engines available on the current system.

These revisions improve the usability of these APIs.

Addtions:
- enum class CanvasEngine::All

Modifications:
- Result Initializer::init(CanvasEngine engine, uint32_t threads) ->
Result Initializer::init(uint32_t threads, CanvasEngine engine = tvg::CanvasEngine::All)
2023-10-30 11:48:02 +09:00
Hermet Park
e570064eba 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-10-24 11:49:57 +09:00
Hermet Park
891c7d1139 examples/lottie: added more show cases 2023-10-23 14:19:05 +09:00
Hermet Park
a6d7a19047 api: enhance the API usage.
Allow users to omit the default type casting for added convenience.
2023-10-18 14:35:57 +09:00
Hermet Park
4a9b008b83 examples: allow gl test 2023-10-13 11:59:04 +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
dae6636d29 loader/lottie: filled a missing gradient stroke dash body. 2023-09-05 18:41:20 +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
68f4193378 loader/lottie: support the polystar property. 2023-08-23 13:12:26 +09:00
Hermet Park
899ea77695 exmamples lottie: add a time measurement. 2023-08-22 21:25:59 +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
10cb09dbda examples/lottie: updated for wider coverage. 2023-08-08 23:47:58 +09:00
Hermet Park
5c45e64b93 examples: use tvg::cast(). 2023-07-27 17:53:12 +09:00
Hermet Park
3311c8d82b examples: do not create contents that is over-counted. 2023-07-27 00:31:27 +09:00
Hermet Park
ca7a9068bd examples lottie: adds a basic example 2023-07-27 00:31:27 +09:00