Hermet Park
77c7aa04f5
release: bump up version v0.10
2023-07-29 14:24:37 +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
d522e37565
release: update the docs
2023-07-29 14:24:37 +09:00
Hermet Park
c027799a79
infra: up-to-date doxygen-awesome-css
2023-07-29 14:10:04 +09:00
Hermet Park
e0ed2c7ace
loader lottie: ++safety.
...
It shouldn't corrupt, even if it doesn't support certain features.
2023-07-29 10:29:03 +09:00
Hermet Park
24c0b5ecf5
sw_raster c: fix the misaligned memory access.
...
An issue occurred in the 64-bit accelerated raster version,
involving 8 bytes of misaligned memory access.
This was detected by the memory sanitizer and has now been fixed.
2023-07-29 10:29:03 +09:00
Hermet Park
f551531bb5
examples blending: fix a memory leak.
2023-07-29 10:29:03 +09:00
Hermet Park
65189ab8e8
sw_engine texmap: fixed a memory violation.
...
A reported out-of-range memory access issue,
as identified by the sanitizer, has been corrected.
2023-07-29 10:29:03 +09:00
Hermet Park
229efd7807
loader lottie: fixed the memory leaks.
...
All memory leaks detected by the sanitizer have been fixed.
2023-07-29 10:29:03 +09:00
Hermet Park
3e8225a5ba
common math: promote matrix functions.
...
comparing matrices is a common mathmatical operation.
2023-07-28 21:57:40 +09:00
Hermet Park
a74062d5f1
loader tvg: add missing strokeFirst property.
...
tvg binary missed the stroke order,
this patch implements the missing condition.
@Issue: https://github.com/thorvg/thorvg/issues/1499
2023-07-28 21:57:40 +09:00
Hermet Park
1b7c882be4
sw_engine raster: fixed a wrong composition instruction.
...
it's a regression bug.
@Issue: https://github.com/thorvg/thorvg/issues/1540
2023-07-28 18:35:51 +09:00
Hermet Park
68b8fce501
loader lottie: ++optimization.
...
Aggressive parallelization is implemented to perform updates
on every frame in an asynchronous manner.
2023-07-28 16:54:44 +09:00
Hermet Park
023b38ad3c
loader lottie: fix a missing initialization.
...
this breaks 0 frame lottie rendering, now it's fixed.
2023-07-28 16:54:44 +09:00
Hermet Park
3e8126ead9
Update README.md
2023-07-28 12:15:36 +09:00
Mira Grudzinska
4f9f125454
svg_loader: update style in defs
...
In the defs node the style was not updated, hence
the inheritance wasn't applied causing wrong results.
2023-07-28 12:11:24 +09:00
Nattu Adnan
9230fc1f85
Updated ThorVG Viewer link on README.md
2023-07-27 18:27:04 +09:00
Hermet Park
abc132de48
Update README.md
2023-07-27 18:07:14 +09:00
Hermet Park
5c45e64b93
examples: use tvg::cast().
2023-07-27 17:53:12 +09:00
Hermet Park
6cb2a37326
docs: updated sample images.
2023-07-27 17:10:50 +09:00
Hermet Park
c98af8a4a2
doc: updated resources
2023-07-27 16:51:44 +09:00
Hermet Park
3368e47ab3
Update README.md
2023-07-27 16:29:39 +09:00
Hermet Park
b84bb827a5
Update README.md
2023-07-27 16:22:39 +09:00
Hermet Park
f834a7b8ab
Delete example_lottie.mp4
2023-07-27 16:14:09 +09:00
Hermet Park
473361f6a5
Add files via upload
2023-07-27 16:13:39 +09:00
Hermet Park
c180482441
Update README.md
2023-07-27 15:45:40 +09:00
Hermet Park
dcd32dd36d
Add files via upload
2023-07-27 15:34:17 +09:00
Mira Grudzinska
b0e41b2b9f
svg_loader: support the '!important' directive
...
The directive is used to give a specific style property
higher priority, ensuring that it overrides other style
declarations for the same property.
@Issue: https://github.com/thorvg/thorvg/issues/1255
2023-07-27 11:51:45 +09:00
Hermet Park
f4717fb4c3
sw_engine: --redundant comment.
2023-07-27 00:56:22 +09:00
Hermet Park
f93fbc9e59
sw_engine: enforce the drawing of small stroke cubic outlines.
...
At the construction stage, some stroke points can be skipped
if the distance between the points is too narrow.
Previously, this was assumed to be an error case,
but it's clearly intended to remove unnecessary points introduced in a small area of drawing.
This sometimes leads to a flickering issue when super small-sized vector images are drawn.
Now, it's fixed.
2023-07-27 00:40:37 +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
193a9833a8
lottie loader: implement the necessary interaces.
2023-07-27 00:31:27 +09:00
Hermet Park
73a8792eae
loader lottie: add lottie builder.
2023-07-27 00:31:27 +09:00
Hermet Park
03f878bb2e
loader lottie: adds the lottie property, model and parser.
2023-07-27 00:31:27 +09:00
Hermet Park
b060959e0d
loader lottie: add a lottie specific interpolator.
2023-07-27 00:31:27 +09:00
Hermet Park
93734fe673
infra: allow access to pImpl from the tvg internals.
...
Since pImpl is an ambiguous pointer, visibility is not practically effective.
On the other hand, this allows the tvg engine to easily pass data among instances.
2023-07-27 00:31:27 +09:00
Hermet Park
e7a94f5314
common Animation: introduce the Animation class.
...
This class serves as the base for Animation.
The main purpose of its APIs is to control the animation frames.
Its example will be provided in the upcoming commits.
@APIs:
Result Animation::frame(uint32_t no) noexcept;
Picture* Animation::picture() const noexcept;
uint32_t Animation::curFrame() const noexcept;
uint32_t Animation::totalFrame() const noexcept;
float Animation::duration() const noexcept;
static std::unique_ptr<Animation> Animation::gen() noexcept;
@Issue: https://github.com/thorvg/thorvg/pull/1450
2023-07-27 00:31:27 +09:00
Hermet Park
7e7a561d9f
common loader: enable lottie loader
...
json/lottie extensions are recognized as Lottie file format.
2023-07-27 00:31:27 +09:00
Hermet Park
60f81b7da7
loader lottie: added empty interface body
...
This marks the first step towards implementing the Lottie feature.
2023-07-27 00:31:27 +09:00
Hermet Park
7c58d7afaa
common frame_module: adds FrameModule interface.
...
This interface is designed for controlling animation frames.
2023-07-27 00:31:27 +09:00
Hermet Park
0f40eb90ae
common loader: adds animatable() interface
...
This interface returns a value indicating
whether the current loader supports animation or not.
2023-07-27 00:31:27 +09:00
Hermet Park
250e2d7d34
loader lottie: +rapidjson for lottie json parser.
...
We've investigated two json parsers, simdjson & rapidjson.
Since the size is higer priorty for thorvg, we adopted rapidjson.
It's under MIT license.
See: https://github.com/Tencent/rapidjson
2023-07-27 00:31:27 +09:00
Hermet Park
de6df1fb21
loader svg: --compiler warning
...
warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
2023-07-26 00:46:30 +09:00
Mira Grudzinska
de41853bcf
svg_loader: custom strndup moved into utils
...
The custom _strndup was used only in one file
as an internal function and wasn't accessible
in other parts of the code. Now function
is available as svgUtilStrndup.
2023-07-26 00:21:56 +09:00
Hermet Park
a1f0b06f41
common array: revise code.
...
maintain code with an optimial size.
2023-07-25 19:57:12 +09:00
Hermet Park
055daed3f3
common shape: add an internal method to forcibly update the properties.
...
This internal access assists in performing direct property updates
among the engine's internal objects.
2023-07-25 19:57:12 +09:00
Hermet Park
192d29fa8a
common array: enhance the features.
...
Add a push() method that appends a whole array instance.
2023-07-25 19:57:12 +09:00
Hermet Park
d53d8d726f
common bezier: enhancement to the common Bezier function
...
Add a method that returns the angle at position 't'.
also revise bezAt() method to allow optimal usages.
2023-07-25 19:57:12 +09:00