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
Hermet Park
1ed48ccbdb
example stress: revise the sample.
...
use canvas::paints() instead of a local list.
2023-08-02 18:03:53 +09:00
Hermet Park
0e97d21752
common canvas: Alter the concept of the Canvas::clear() API.
...
We've changed the behavior of Canvas::clear(false).
The canvas::clear(false) now retains the paints, allowing the user to update the next frame
more easily without having to recompose the paint list.
Previously, clear(false) removed the paint list from the canvas,
requiring the user to re-push all of them in the next frame.
Now, we offer the Canvas::paints() API, allowing users to modify the paint list directly instead.
This change will break compatibility with previous versions of Canvas.
Therefore, this update is included in ThorVG 1.0.
@Issue: https://github.com/thorvg/thorvg/issues/1372
2023-08-02 17:23:53 +09:00
Hermet Park
d96f906ef3
release: up to update tvg resources.
...
Compatibility test has been successfully passed.
2023-07-29 14:24:37 +09:00
Hermet Park
f551531bb5
examples blending: fix a memory leak.
2023-07-29 10:29:03 +09:00
Hermet Park
5c45e64b93
examples: use tvg::cast().
2023-07-27 17:53:12 +09:00
Hermet Park
739bb63f92
examples animation: adds a basic example.
2023-07-27 00:31:27 +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
Hermet Park
463fc853be
examples webp: --compiler warning.
...
1 warning generated.
[122/183] Compiling C++ object src/examples/PictureWebp.p/PictureWebp.cpp.o
../thorvg-git/src/examples/PictureWebp.cpp:38:18: warning: unqualified call to 'std::move' [-Wunqualified-std-cast-call]
canvas->push(move(bg));
^
std::
../thorvg-git/src/examples/PictureWebp.cpp:53:26: warning: unqualified call to 'std::move' [-Wunqualified-std-cast-call]
if (canvas->push(move(picture)) != tvg::Result::Success) return;
^
std::
../thorvg-git/src/examples/PictureWebp.cpp:77:18: warning: unqualified call to 'std::move' [-Wunqualified-std-cast-call]
canvas->push(move(picture));
^
std::
2023-07-18 11:02:26 +09:00
Hermet Park
be1984982e
example stack: updated sample.
...
use paints() method instead of grabbing a manual list.
@Issue: https://github.com/thorvg/thorvg/issues/1501
2023-06-20 15:48:02 +09:00
Hermet Park
f36455048a
examples: add SceneBlending
2023-06-20 11:30:18 +09:00
Hermet Park
0cc7833000
example: update blending sample
2023-06-20 11:30:18 +09:00
Hermet Park
4627daf6f7
api: enhance API usability
...
Set the default values of rx = 0 and ry = 0 for the shape.
Only the round rectangle shape requires the usage of these values.
2023-06-13 10:42:57 +09:00
Martin Capitanio
a597d3bb49
API, sw_engine: add stroke-miterlimit example.
2023-06-13 10:42:20 +09:00
JunsuChoi
595cc56e86
webp_loader: Introduce Webp image loader
...
Add external_webp loader which uses libwebp library.
2023-06-09 10:58:01 +09:00