Commit graph

65 commits

Author SHA1 Message Date
Hermet Park
ca7f837e5c examples: ++svg samples 2024-09-30 16:44:22 +09:00
Hermet Park
62416132ca examples: added image rotation 2024-09-30 16:44:21 +09:00
Mira Grudzinska
e0203a2fa2 examples: capi example ++
Animation is loaded from a memory instead from a file.
2024-09-30 16:44:21 +09:00
Hermet Park
0f17f6c69a common: spec out TexMap
Spec out this incomplete experimental feature,
this is a still promising one, we will reintroduce
this officially after 1.0 release

size: -2kb

issue: https://github.com/thorvg/thorvg/issues/1372
2024-09-30 16:44:21 +09:00
Elliott Sales de Andrade
ee19753f36 build: Remove redundant comparisons
If a Meson option is typed as `boolean`, the `get_option` returns a
boolean, and comparing it with `true` is redundant. Meson also errors if
you try to compare across types, so it couldn't _not_ be a boolean.

Also, Meson is not C, so no need for parentheses around `if` conditions.
2024-09-30 16:44:21 +09:00
Mira Grudzinska
2a342a5463 API: deprecate the appendArc() api
@Issue: https://github.com/thorvg/thorvg/issues/2632
2024-09-30 16:44:21 +09:00
Hermet Park
a25366b283 common: spec out Scene Clipper
Scene Clipper is an unusual feature
that is too unstable and ambiguous in ThorVG.

Users can achieve the same functionality
with multiple composed shapes instead of scene clipping.

size: -2.5kb

issues:
- https://github.com/thorvg/thorvg/issues/1548
- https://github.com/thorvg/thorvg/issues/1549
- https://github.com/thorvg/thorvg/issues/1573
2024-09-30 16:44:21 +09:00
Hermet Park
05d4d05f59 examples/text: hotfix
corrected wrong arguments.
2024-09-30 16:44:21 +09:00
Hermet Park
8de23876d5 examples: added Interaction sample
The Interaction sample demonstrates
how to handle user input with ThorVG Animation.
2024-09-30 15:48:50 +09:00
Hermet Park
21d3cc4eb9 renderer/accessor: revise set() api for animation support
before:
unique_ptr<Picture> Accessor::set(unique_ptr<Picture> picture, function<bool(const Paint* paint)> func)

after:
Result Accessor::set(const Picture* picture, std::function<bool(const Paint* paint, void* data)> func, void* data)
2024-09-30 15:48:18 +09:00
Hermet Park
52a69b9a93 examples: added Lighten/Darken options in MaskingMethods 2024-09-30 15:48:18 +09:00
Hermet Park
90b40912d9 examples/lottie: updated a resource.
polished up for the animation smoothness.
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
859b3f6c39 example: merge Path & PathCopy 2024-09-30 15:37:15 +09:00
Hermet Park
64e8bfddfd renderer: quick skip rendering if the opacity is zero
This also resolves a corner case bug introduced by
lottie render pooling: f06127ab93
2024-09-30 15:37:06 +09:00
Hermet Park
d671f8637b lottie/expressions: ++coverage enhancement
Allow to access layer index globally.
2024-09-30 15:36:24 +09:00
Hermet Park
9749e7fea0 examples: updated lottie samples 2024-09-30 15:36:18 +09:00
Hermet Park
072ce383db examples: added more expressions samples 2024-09-30 15:36:11 +09:00
Hermet Park
0b66cd422e lottie/expressions: added a missing polystar property build. 2024-09-30 15:35:59 +09:00
Hermet Park
7e9febf2c6 examples: ++exception handling
Added handling for engine initialization failure.
2024-09-30 15:34:48 +09:00
Hermet Park
ec00238aed examples: added LottieExpressions 2024-09-30 15:31:55 +09:00
Hermet Park
3d9f7ebbc3 examples: updated lottie samples 2024-09-30 15:30:12 +09:00
Hermet Park
f49bf9e775 examples: added svg samples 2024-09-30 15:29:22 +09:00
Hermet Park
2a6a221b6c example: print non support webgpu msg properly. 2024-09-30 15:20:31 +09:00
Hermet Park
1d7bf0d9a2 example: ++ DirectUpdate to cover more scenarios. 2024-09-30 15:11:16 +09:00
Hermet Park
d8a8f1a01f example: improved to print proper fail msgs. 2024-09-30 13:00:12 +09:00
Hermet Park
4345d6b8a5 API: revise the APIs.
deprecate the `identifier()` APIs by replacing them with `type()`.

ThorVG is going to introduce an instance `id()`,
and this could be confused with the `identifier()` methods.

with this new type() method can reduce the memory size
by removing unncessary type data.

New Experimental C APIs:
- enum Tvg_Type
- Tvg_Result tvg_paint_get_type(const Tvg_Paint* paint, Tvg_Type* type)
- Tvg_Result tvg_gradient_get_type(const Tvg_Gradient* grad, Tvg_Type* type)

New Experimental C++ APIs:
- Type Paint::type() const
- Type Fill::type() const
- Type LinearGradient::type() const
- Type RadialGradient::type() const
- Type Shape::type() const
- Type Scene::type() const
- Type Picture::type() const
- Type Text::type() const

Deprecated C APIs:
- enum Tvg_Identifier
- Tvg_Result tvg_paint_get_identifier(const Tvg_Paint* paint, Tvg_Identifier* identifier)
- Tvg_Result tvg_gradient_get_identifier(const Tvg_Gradient* grad, Tvg_Identifier* identifier)

Deprecated C++ APIs:
- enum class Type
- uint32_t Paint::identifier() const
- uint32_t Fill::identifier() const
- static uint32_t Picture::identifier()
- static uint32_t Scene::identifier()
- static uint32_t Shape::identifier()
- static uint32_t LinearGradient:identifier()
- static uint32_T RadialGradient::identfier()

Removed Experimental APIs:
- static uint32_t Text::identifier()

issue: https://github.com/thorvg/thorvg/issues/1372
2024-09-30 12:55:16 +09:00
Sergii Liebodkin
9b638ea470 examples: fix surface refresh approuchfor webgpu
Move surface refresh approach from engine side to user size.
2024-09-30 12:51:09 +09:00
Josh Soref
e3c66db301 common: fix 178+ spelling errors 2024-09-30 12:41:38 +09:00
Hermet Park
6f0ae1cd3f example: do not scan a given resource folder recursively 2024-06-27 14:42:27 +09:00
Hermet Park
3019bb81e8 example: do not redraw for the static content 2024-06-27 14:42:27 +09:00
Hermet Park
8c11fa085f example: ++exception handling 2024-06-27 14:42:27 +09:00
Mira Grudzinska
0f2fe0c4d4 common: fix rendering failure
In case of a problem with loading font data, there
is no paint inside a text that can be rendered,
but this should not interrupt the rendering process
of other paints. Now fixed.

@Issue: https://github.com/thorvg/thorvg/issues/2468
2024-06-27 14:42:27 +09:00
Mira Grudzinska
90ee76bd7b examples: fix sdl2 headers in Capi example 2024-06-27 14:42:27 +09:00
Sergii Liebodkin
a671254400 examples: fix sdl2 headers includes path
Fix SDL2 headers include path to release IDE warnings.
Tested on linux and macos
2024-06-27 14:42:27 +09:00
Hermet Park
fd6385a17b example: synchronize the canvas before the window pops up.
This ensures that the window pops up with the appropriate content,
since windows can be popped up asynchronously with mainloop.
2024-06-27 14:42:27 +09:00
Hermet Park
376acfacdb examples: --unnecessary initial buffer clear 2024-06-27 14:42:27 +09:00
Hermet Park
7ee3db0ce9 tvg: updated binaries 2024-06-27 14:42:27 +09:00
Hermet Park
2761f75a4e example/LottieExtension: adjusted its window size 2024-06-27 14:42:27 +09:00
Hermet Park
518be23db2 gl_engine: revise the gl portability
- guarantee minimum gl version requirement
- removed glesv2 dependency
- corrected gl ver dependency

issue: https://github.com/thorvg/thorvg/issues/2282
2024-06-27 14:42:27 +09:00
RuiwenTang
5836661155 gl_engine: Fix compile error if only has OpenGL library on MacOS
Since GLES headers and library can not be found on MacOS,
use macros to determin if link with OpenGL library.
2024-06-27 14:42:27 +09:00
Hermet Park
c2a205047e example: clear buffer properly.
The update might affect areas outside of the
default window. Update the sample to handle window
resizing.
2024-06-27 14:42:27 +09:00
JunsuChoi
400511c123 examples: Support window resizable
Add SDL_WINDOW_RESIZABLE to the sdl window property
and call canvas->update() in the resize event.

Afterwards, if the canvas needs to be expanded by the window size by passing the size as an argument
to the update(canvas,elapsed) interface, it can be processed individually.
2024-06-27 14:42:27 +09:00
Hermet Park
38765b7ac0 examples: replace the efl toolkit with sdl
see also: https://www.libsdl.org/

issue: https://github.com/thorvg/thorvg/issues/1244
2024-06-27 14:42:27 +09:00
Mira Grudzinska
4f32a15acb examples: add FillSpread example
@Issue: https://github.com/thorvg/thorvg/issues/2124
2024-06-24 14:56:07 +09:00
Mira Grudzinska
80b1e911ba examples: capi updated with text examples 2024-06-24 14:55:09 +09:00
Mira Grudzinska
7ec67baf9a examples: ensure the file is closed
In case of an error during memory allocation
for file data, the file was not closed.
2024-06-24 14:53:32 +09:00
Hermet Park
bfcde7403e examples: ++ function name alignment 2024-06-24 14:51:04 +09:00
Mira Grudzinska
c35b731f0f example: load font from memory in Text.cpp 2024-06-24 14:50:22 +09:00
Hermet Park
137383ff78 examples: fix memory leak 2024-06-24 14:43:14 +09:00