Hermet Park
a4054abffc
Update CONTRIBUTING.md
2024-01-02 20:34:11 +09:00
Hermet Park
d9a3a36d98
Update CODEOWNERS
...
* removed inactive member.
2024-01-02 20:34:10 +09:00
Vincent Torri
7e438a665c
include missing headers for strcmp(), strdup() and realloc()
2024-01-02 20:34:10 +09:00
Hermet Park
bbf3cec2cc
common/array: code refactoring.
...
Use a default constructor with reservation.
2024-01-02 20:34:10 +09:00
Hermet Park
79facf3656
renderer/scheduler: --binary size by 2.2kb
...
replace the stl with own lightweight data structures.
2024-01-02 20:34:10 +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
Hermet Park
f594806dd3
renderer/shape: Apply the magic number kappa to achieve rounded corners.
...
The magic number kappa (0.552284), which is associated with the bezier curve,
has been introduced. This formula is supposed to be applied to the rounded corners
of the rectangle to ensure consistent drawing results.
Issue: https://github.com/thorvg/thorvg/issues/1824
2024-01-02 20:34:10 +09:00
Hermet Park
e928307ced
Create CODE_OF_CONDUCT.md
2024-01-02 20:34:10 +09:00
Hermet Park
c0a1f82033
renderer/loader: optimization++
...
removed the internal unique_ptr usage to reduce the binary size(-553)
2024-01-02 20:34:10 +09:00
Hermet Park
7acb263b66
docs: updated
2024-01-02 20:34:10 +09:00
Hermet Park
6e7b10ea87
docs: updated resource image.
2024-01-02 20:34:10 +09:00
Jinny You
118516f015
lottie/builder: fix crash by null reference
2024-01-02 20:34:10 +09:00
Hermet Park
8e6705d9dc
Update README.md
2024-01-02 20:34:10 +09:00
Hermet Park
8e322cfa12
Update README.md
2024-01-02 20:34:10 +09:00
Hermet Park
0cbedfd12b
Update README.md
2024-01-02 20:34:10 +09:00
Hermet Park
ba5184e127
doc: updated practices
2024-01-02 20:34:10 +09:00
Jinny You
d173e62530
loader/jpg: Fix warning
2024-01-02 20:34:10 +09:00
Sergii Liebodkin
cb737f174c
[Issues 1811: Compiller shadowing warning]( https://github.com/thorvg/thorvg/issues/1811 )
...
Godot CI compilation issue fixed
2024-01-02 20:34:10 +09:00
RuiwenTang
269537a411
gl_engine: support advance compose method
2024-01-02 20:34:10 +09:00
Hermet Park
221005bb25
lottie/builder: revert the clipper cache.
...
This ia a buggy,
We will revisit this optimization with a perfect solution.
2024-01-02 20:34:10 +09:00
Hermet Park
3674078b31
Update README.md
2024-01-02 20:34:10 +09:00
Hermet Park
f64ee28079
Loaders: Introduced a loader cache.
...
The loader cache is applied to conserve memory.
If the input data is already present in loaders,
the loader cache will promptly return the active loader.
This results in a lot of memory savings for the duplicated resources.
binary diff: -400 bytes
2024-01-02 20:34:10 +09:00
Hermet Park
14e90e9b31
Update CODEOWNERS
2024-01-02 20:34:10 +09:00
Hermet Park
8cc8cf3b02
common: Move the list to the gl_engine side.
...
Unfortunately, the usage of this list is not intuitive,
so can be confusing. Placed it only for gl.
2024-01-02 20:34:10 +09:00
Hermet Park
815eb23856
lottie/builder: ++size optimization
...
Replaced std::queue with inlist for optimizing binary size (-1.3kb).
2024-01-02 20:34:10 +09:00
Hermet Park
49137b3851
common/inlist: added a inline list data structure.
...
Inline lists mean that their nodes' pointers are part of the same memory as the data.
This has the benefit of fragmenting memory less and avoiding node->data indirection.
2024-01-02 20:34:10 +09:00
Hermet Park
6053525e7c
Update CONTRIBUTING.md
2024-01-02 20:34:10 +09:00
Hermet Park
3279603154
Update CONTRIBUTING.md
2024-01-02 20:34:10 +09:00
Hermet Park
53ca478a51
Update CODEOWNERS
...
Welcome a new committer, SergeyLededkin
2024-01-02 20:34:10 +09:00
Hermet Park
52a90d54ee
lottie/builder: corrected polystar rotation.
...
There was likely a mistake in the rotation value set;
there was no reason to multiply it by 2.
Issue: https://github.com/thorvg/thorvg/issues/1773
2024-01-02 20:34:10 +09:00
Hermet Park
1fbdf7bbb6
renderer, loader: minor code refactoring.
...
- sync with its file name
- remove unnecessary section comments
- compact binary size (-300)
- private Task::run() methods from the loaders
2024-01-02 20:34:10 +09:00
Hermet Park
92d7727c2a
Lottie/builder: revert a static cache optimization.
...
There are some matting masking bugs observed,
Reverted the commit. We will revisit it later.
commit d37c500262
Author: Hermet Park <hermet@lottiefiles.com>
Date: Wed Oct 25 18:55:05 2023 +0900
lottie: introduced static layer cache.
lottie builder doesn't need to rebuild the layer object
if it has no any animation frame data.
That case, we can cache the layer scene in order to reuse it.
Tested on local machine (single thread):
- Lottie: appx. 2ms enhanced.
- Binary: +204
2024-01-02 20:34:10 +09:00
Hermet Park
5c2be47e57
lottie/builder: hotfix, invalid stroking scaling.
...
There is a buggy workaround code that rewinds the stroke scaling.
Issue: https://github.com/thorvg/thorvg/issues/1730
2024-01-02 20:34:10 +09:00
Sergii Liebodkin
51e98eebdb
Add support for textures color space formats
...
[Issues 1479: pictures](https://github.com/thorvg/thorvg/issues/1479 )
Formats supported:
ABGR8888
ARGB8888
ABGR8888S
ARGB8888S
2024-01-02 20:34:10 +09:00
Hermet Park
cf8cba8f7b
Update README.md
...
updated sample code
2024-01-02 20:34:10 +09:00
Hermet Park
e7e959ec19
Update README.md
...
updated thorvg viewer video
2024-01-02 20:34:10 +09:00
Hermet Park
ec1510ee08
gif/saver: fix a invalid memory access
2024-01-02 20:34:10 +09:00
Hermet Park
b8b8188879
sw_engine: fixed a bug where strokes were not showing.
...
Basic shapes were trimmed entirely when they were outside of the canvas,
even if they had a big enough stroke to be partially on the canvas.
This fixes the issue.
Issue: https://github.com/thorvg/thorvg/issues/1785
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
0665837899
gif/encoder: fixed memory violation.
...
There was an invalid palette data access
when no frame data had been changed, detected by memory sanitizer.
2024-01-02 20:34:10 +09:00
Hermet Park
f98d01c2c5
test: added gif save test
...
Skipped capi tests this time, since it has no saver api now.
2024-01-02 20:34:06 +09:00
Sergii Liebodkin
c5b642e3e7
wg_engine: introduced images drawing support
...
[issues 1479: pictures](https://github.com/thorvg/thorvg/issues/1479 )
auto picture = tvg::Picture::gen();
picture->load("images/test.png");
picture->translate(0, 0);
picture->size(100, 100);
picture->opacity(255);
canvas->push(std::move(picture));
2023-12-26 18:36:45 +09:00
Hermet Park
b87bb2b1a0
lottie/parser: Fix the shapes parsing logic.
...
Currently, it assumes "ty":"gr" for the related shapes children,
which can be skipped since the children will be in the "it" scope.
Some Lottie data is missing the "ty":"gr" field,
and ThorVG couldn't display the content properly.
It can ignore it with the context understanding.
2023-12-26 18:36:38 +09:00
Hermet Park
c44e09faae
gif/encoder: adjusted alpha transparent threshold 255 -> 127
...
More than half-transparent(50%) pixels will be encoded as well.
2023-12-26 18:36:31 +09:00
Hermet Park
89a6a835dd
saver/gif: memory usage optimization.
...
Use a cache to store the intermediate palette data.
2023-12-26 18:36:25 +09:00
Hermet Park
b3e2c7e6b0
saver/gif: code refactoring
...
Revised the code to keep the thorvg convention consistency.
2023-12-26 18:36:18 +09:00
Hermet Park
2053bbbc37
gif: fixed a regresion bug by clear() change
...
by 66305f3e6d
2023-12-26 18:34:49 +09:00
Hermet Park
7272e8efd4
infra: fix git-action ios break
2023-12-26 18:34:22 +09:00
Hermet Park
2309648869
Update README.md
2023-12-26 18:33:52 +09:00
Hermet Park
34f47671b1
gif: support transparent gif animation
...
if no background is set, gif will generate transparent version.
Issue: https://github.com/thorvg/thorvg/issues/1769
2023-12-26 18:33:46 +09:00