Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/thorvg/thorvg

Thor Vector Graphics is a lightweight portable library used for drawing vector-based scenes and animations including SVG and Lottie. It can be freely utilized across various software platforms and applications to visualize graphical contents.
https://github.com/thorvg/thorvg

api: enhance Shape::fill() method usage.

Designate a default value for alpha which is mostly optional.

1ae92daa9d879d36d0a3800d155e855c21b103e3 authored over 1 year ago by Hermet Park <[email protected]>
Revert "api: remove deprecated apis"

This reverts commit aa000f7c569113309c4f4e8c4094da7bbffcee97.

TVG will move forward to v0.10, s...

fbf8e8dfce3c41db3a01cd6a565e0cb77576eb71 authored over 1 year ago by Hermet Park <[email protected]>
sw_engine fill: code clean up.

eliminate logic duplication by introducing direct blend operation.

3399da198ff2192968b97bdf501b257c6018d5d0 authored over 1 year ago by Hermet Park <[email protected]>
sw_engine raster: code clean up.

eliminate logic duplication by introducing functions.

fbe1b1fb5f6050c56ec2f50a2c619c633bf19cf1 authored over 1 year ago by Hermet Park <[email protected]>
sw_engine texmap: code clean up.

eliminate logic duplication by introducing a c++ template mechanism.

This will retain the opaci...

dbdf103e8244d6a057ea7a7b6c7b5c7da4d0e23a authored over 1 year ago by Hermet Park <[email protected]>
examples MaskMethods: add a new example

This is introduced for Masking Methods.

d4dc6254819abe12281dd86fc5ff18644b1a08e1 authored over 1 year ago by Hermet Park <[email protected]>
sw_engine: keep code clean.

0294782c771abd3381ae55e318e54744a7c4a88e authored over 1 year ago by Hermet Park <[email protected]>
common sw_engine: adds missing composite methods.

Now tvg user could combine Mask Alpha & Mask Method like this:

paint->composite(target, tvg::Co...

fddc409728fa6dc42074f10ffebc2d2c73c52734 authored over 1 year ago by Hermet Park <[email protected]>
sw_engine: gradient filling code refactoring.

Reduce excessive gradient filling code duplication by employing C++ template method.

This chang...

a3691ff249bf6ce0477c87387ca3515a3a2e422d authored over 1 year ago by Hermet Park <[email protected]>
sw_engine: Keep compact masking raster code.

Reduce duplicated masking raster code by replacing with c++ templates
this change does not notic...

92265ef0f1e16183130eec1ead85bf5a4b7d4531 authored over 1 year ago by Hermet Park <[email protected]>
sw_engine: Keep compact image raster code.

Reduce duplicated image raster code between scaler approaches.

Although this allows for a funct...

c3a002a474727a851851c70d88dfa4c8d65ef77e authored over 1 year ago by Hermet Park <[email protected]>
doc: ++Colorspace description

@Issue: https://github.com/thorvg/thorvg/issues/1372

b45c8efd7518249813eac91033a12311fb693199 authored over 1 year ago by Hermet Park <[email protected]>
sw_engine texmap: code optimization.

Unify textmap methods that are overly duplicated with each other.

Still trying to simplifying r...

9032c00347f4f6d5bd146cf3ebb5e6aba6a2b48d authored over 1 year ago by Hermet Park <[email protected]>
sw_engine: code refactoring.

Unify raster methods that are overly duplicated with each others.

01974f652cc64d18aeb21875821222c3c8d8b214 authored over 1 year ago by Hermet Park <[email protected]>
sw_engine: minor code clean up

keep code consistency, no logical changes.

86d287038b09e3096ec6df28a9337241c93ff538 authored over 1 year ago by Hermet Park <[email protected]>
sw_engine fill: optimize linear/radial fill fetching.

Save the separated for-loop by
unifying the blending/composition in one fetching stage.

eb8539e0b41114f6a5897dc988de653a2f517961 authored over 1 year ago by Hermet Park <[email protected]>
sw_engine: code refactoring.

unify raster methods that are overly duplicated with each other.

4d842d03f6ab5b083aea1121c652e138bee03e8a authored over 1 year ago by Hermet Park <[email protected]>
examples: changed the screen size.

f4c9c4189e556c973314e14bc411bfc02f20ecf7 authored over 1 year ago by Hermet Park <[email protected]>
common masking: optimize InvAlphaMask

try fast track if InvAlphaMask has 0 opacity + rectangle shape.

28257ec807b81a59d94e4cafe7ecc58b94ae9ce5 authored over 1 year ago by Hermet Park <[email protected]>
examples Texmap: extending the feature scenario.

36919dc70fab03def31a561d6e1165cb83042873 authored over 1 year ago by Hermet Park <[email protected]>
sw_engine: optimize alpha blending operation.

Compact blending instructions by distinquish the
shape & images. since we gurantee the shape col...

ee9b947c0c12bf43ba0adac9f967706cfe5c9797 authored over 1 year ago by Hermet Park <[email protected]>
sw_engine: code cleanup

Remove unused template multiply.
Currently, 8-bit multiplication is the only valid operation.

62963268cb56a9ad926ef530972dfe1cb239e903 authored over 1 year ago by Hermet Park <[email protected]>
tvgJpgd.cpp: Warnings - set but unused variables.

[41/145] Compiling C++ object src/libthorvg.a.p/loaders_jpg_tvgJpgd.cpp.o
../src/loaders/jpg/tvg...

8b810bed87b13165921ce33d353e82327382acde authored over 1 year ago by Martin Capitanio <[email protected]>
CI: Fix ubuntu-latest apt-get install ... 404 Not Found.

42a04bbc7789b94cef6b99c6f061de8a0faca52e authored over 1 year ago by Martin Capitanio <[email protected]>
Fix invalid conversion error in Avx raster.

368ff016187a21068b3e1bcadf3e042c21754f64 authored over 1 year ago by Vincenzo Pupillo <[email protected]>
infra: Avoid meson warning.

WARNING:: You should add the boolean check kwarg to the run_command call.
It currently ...

2a56c43c8495f05ead82f4fb977f19ffcfbde537 authored over 1 year ago by Martin Capitanio <[email protected]>
examples: added InvLumaMasking sample.

7e1a647a3631fa352a9a3001da45f034b90c90b5 authored over 1 year ago by Hermet Park <[email protected]>
sw_engine: code refactoring

Introduced a blender alpha() to maintain clean and organized code.

5643ecabd8a068e75902766df9166051cbfde8f3 authored over 1 year ago by Hermet Park <[email protected]>
composite: Support Inverse Luma Masking

The CompositeMethod now includes the newly supported InvLumaMask option:

The source pixels are ...

21c7debf14c889b2e97c0bb3ace32495eaec07f4 authored over 1 year ago by Hermet Park <[email protected]>
sw_engine raster: compact blender alpha table size.

4838c25fa4d0b4c37a20095dfb8eb9eb60fcfd14 authored over 1 year ago by Hermet Park <[email protected]>
sw_engine code refactoring.

Introduced a compositor table to maintain clean and organized code.

0aae65a1712602de0dd57f67176997fa928b76a8 authored over 1 year ago by Hermet Park <[email protected]>
test: add Inverse Luma Mask test cases

72f89fcf530ed4318613caaffaf649d98bc47736 authored over 1 year ago by Hermet Park <[email protected]>
Fix clang compiler warnings.

[clang] Warn on unqualified calls to std::move and std::forward
See: https://reviews.llvm.org/D1...

6f715b46a75dd175d322c64ef6d32dc41c0c7067 authored over 1 year ago by Martin Capitanio <[email protected]>
capi: tvg_shape_set_paint_order introduced

Capi sets the rendering order of the stroke and the fill.

2309a4836981f70eaf3b830c592eadd9de6726b0 authored over 1 year ago by Mira Grudzinska <[email protected]>
tests: capi test for tvg_shape_set_paint_order

ca0f30c4c0d89f2f30d2f7364633397973092ed6 authored over 1 year ago by Mira Grudzinska <[email protected]>
api: remove a beta api.

- Result Picture::viewbox(float* x, float* y, float* w, float* h) const; //c++
- vg_Result tvg_...

5ceeb32ef01c236d361382a34c1f6fb06e9f7623 authored over 1 year ago by Hermet Park <[email protected]>
apis: promote beta apis to offical ones.

- unique_ptr<Picture> Accessor::set(std::unique_ptr<Picture> picture, std::function<bool(const P...

4c60415c0cab8bfbf55b2a345a7d620437c77be4 authored over 1 year ago by Hermet Park <[email protected]>
test shape: add stroke order test

f633717e9f21536108a1d94eaa22b40c399be43d authored over 1 year ago by Hermet Park <[email protected]>
api: rename beta apis.

- SwCanvas::Colorspace::ABGR8888_STRAIGHT -> SwCanvas::Colorspace::ABGR8888S
- SwCanvas::Colorsp...

fe14e4f499b5ba3d1b446c5f625be16aaeb5d374 authored over 1 year ago by Hermet Park <[email protected]>
infa: Install svg2png and svg2tvg.

Meson can install stripped versions to
the standards-compliant (or --prefix) location.

baf21761f7ff79a5d71fa4ed0aa33f3f7f106e27 authored over 1 year ago by Martin Capitanio <[email protected]>
fix compiler warnings on MacOS

warning: unqualified call to 'std::move' [-Wunqualified-std-cast-call]

f2fdc380b4b07fb18575802cb913596383e51c1a authored over 1 year ago by Hermet Park <[email protected]>
sw_engine: remove an unused function.

0e960e2d2b03527284b083959fe9ae5c0d7b152f authored over 1 year ago by Hermet Park <[email protected]>
examples svg: adjust window size.

Still some display size is not enough large.

3626ded041ee651f6426555c8997fbce98b85691 authored over 1 year ago by Hermet Park <[email protected]>
common shape: fixing stroking composition issue.

When combining Shape, Stroke, and AlphaMasking, there is a missing
composition step which result...

6994925b9d178caed29c2f68db517b25bc8234d0 authored over 1 year ago by Hermet Park <[email protected]>
examples masking: updated for stroking composition.

d55ba07646f1852765b479c6428b1b7b81f98c14 authored over 1 year ago by Hermet Park <[email protected]>
common sw_engine: gather scattered stroking composition.

There are two branches for completing stroke composition between the canvas and sw_engine.

It i...

89db13037d570ff8ee0cefae3aec80daec288bc2 authored over 1 year ago by Hermet Park <[email protected]>
doc: updated godot image.

4938c3253cb3946e38f0dee91c148cd79c7b1d37 authored over 1 year ago by Hermet Park <[email protected]>
package: add thorvg preprocessor for static linking

1672badb7cda7ea22c51b85f67af730194ea86fa authored over 1 year ago by Hermet Park <[email protected]>
infra: enable strip flag only when it's requeted.

$meson . build -Dstrip=false //off
$meson . build -Dstrip=true //on

42e0f8c3a3a4cf6acf76d8f5a661f913aef738f0 authored over 1 year ago by Hermet Park <[email protected]>
common picture: fix a composition bug.

Previously, a picture with a half-translucent mask would not function correctly.
This fix addres...

d8687314a61dd7a11733984926861214a8d41974 authored over 1 year ago by Hermet Park <[email protected]>
common scene: fix a potential composition bug.

In the current implementation, only a scene with a single shape type
is able to skip the composi...

c7d77b3517f09c9909f541a0d0a2cc1276f51734 authored over 1 year ago by Hermet Park <[email protected]>
portability: fix usage of TVG_API

Rule of thumb on Windows:
* for a DLL:
* if the library is built, set TVG_API to __declspe...

be2de283123358794a9492b75be6321a27a9d8d0 authored over 1 year ago by Vincent Torri <[email protected]>
examples: updated SVG samples.

increase the canvas to afford more resources.

41c41b538d179544d7d2c16d82f673bfee55fd31 authored over 1 year ago by Hermet Park <[email protected]>
svg_loader: fixing finding defs node

In the case when a 'use' node was used
in a 'defs' block and the element it
referenced was also...

2cfa5505c37374d695d00028302e2c2feea45138 authored over 1 year ago by Mira Grudzinska <[email protected]>
svg_loader: copy the use node properties

A bug was observed when a 'use' node was
referenced in another 'use' node.

@Issue: https://gith...

40ef9031ba767461d897e1f9988dc5786e5b2922 authored over 1 year ago by Mira Grudzinska <[email protected]>
common: code refactoring

Replace standard casting with tvg::cast()

9d9f38c875ebf9161a533e0fcaaacde3719c5a3a authored over 1 year ago by Hermet Park <[email protected]>
api: introduce cast() template method.

The cast() method is a utility function used to
cast a 'Paint/Fill' to type 'T'.

This would hel...

4d722623a6b1b0bf1b51fa1d8e7044d190259406 authored over 1 year ago by Hermet Park <[email protected]>
api: remove extern "C"

Remove extern "C specifier. ThorVG has the C binding,
C++ apis doesn't need to be compatibile wi...

0fb8ed38d7a0988aea56cb93674e7b73e332a27b authored over 1 year ago by Hermet Park <[email protected]>
api: remove deprecated apis

- Result Paint::bounds(float* x, float* y, float* w, float* h) const noexcept;
- Result Picture:...

aa000f7c569113309c4f4e8c4094da7bbffcee97 authored over 1 year ago by Hermet Park <[email protected]>
test: updated tvg binaries.

07cb8fd55bae7f34a8863b4386fbdba4b745e777 authored over 1 year ago by Hermet Park <[email protected]>
engine gl: specify gl as beta

The engine hasn't been maintained propelry and it's not functional.

0dec5a44b6692da6ddd282e061a81fca21e6b007 authored over 1 year ago by Hermet Park <[email protected]>
engine gl: fix build error

f95c91ddc22733f368c99739a1cd015d1d7b6b46 authored over 1 year ago by Hermet Park <[email protected]>
jpg_loader: Add file existence check

Prevent memory leaks.

==2277==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 2...

597b88b1181534f8c7516eb1d4d3efb19c4bcc1e authored over 1 year ago by JunsuChoi <[email protected]>
Update CONTRIBUTING.md

73ee8a9409bf8e06fec6806d0bb6d5724af6d00e authored over 1 year ago by Hermet Park <[email protected]>
Update CODEOWNERS

a1b74a3aa2dade199008e550fd66b1fbc8d33a74 authored over 1 year ago by Mira Grudzinska <[email protected]>
examples tvg: updated samples

TvgSaver has been updated by 77114a8ac85dca4d955bdfbf6c603210d9435710

4513bc1c4d69035dac8b0bee14b13861179abeaa authored over 1 year ago by Hermet Park <[email protected]>
tvg_saver: fixing unwanted merging

Similar shapes are merged to improve
performance. This should not be the case
with a semi-transp...

77114a8ac85dca4d955bdfbf6c603210d9435710 authored over 1 year ago by Mira Grudzinska <[email protected]>
test_capi: Add missing *_del api

6d16713ce990522a2029fd69fbbd7a535eb4af9e authored over 1 year ago by JunsuChoi <[email protected]>
tests: lcov++ (sw_engine)

78c503422907ea314f7822e7958db2663b3d8977 authored over 1 year ago by Mira Grudzinska <[email protected]>
released v0.9.0

e84b181da840f3d41200441a427f45b2f77e3deb authored over 1 year ago by Hermet Park <[email protected]>
doc: up-to-update

2d0ef20ab178983ff68dbf8cde1a24f0b98df3de authored over 1 year ago by Hermet Park <[email protected]>
infra: updated tvg resources

54ef8a5e506ba663d2cf7d567c975cb1db6e71b7 authored over 1 year ago by Hermet Park <[email protected]>
test paint: ++CompositeMethod coverage

89dc7616cffd33958067b21e75f2acf223f4a0e8 authored over 1 year ago by Hermet Park <[email protected]>
test capi: ++CompositeMethod coverage

a992e571a3be286cecdd8ba675a541c46539cf67 authored over 1 year ago by Hermet Park <[email protected]>
apis: Let's promote the beta APIs to official ones.

- enum class CompositeMethod::LumaMask
- Result Picture::load(uint32_t* data, uint32_t w, uint32...

ddc846289cf86dd68ab6ac5930ac8e7ed4b5d60d authored over 1 year ago by Hermet Park <[email protected]>
sw_engine: fix the dead lock issue.

fully recovered from the scene clipping multi-tasksing.

@Issue: https://github.com/thorvg/thorv...

7956a21fc2e684a1bc34783c77f15013f5b81a85 authored over 1 year ago by Hermet Park <[email protected]>
capi: luma mask introduced, tvg_picture_load_raw description changed

ac86c522f1e79be51dcbe2429b3fcd80b5947b50 authored over 1 year ago by Mira Grudzinska <[email protected]>
common: changed a returned value from load function

In the event that malloc returns a nullptr while copying
loaded raw data, a Result::NonSupport v...

52260067e459900e9f0c4162854030785bd988d8 authored over 1 year ago by Mira Grudzinska <[email protected]>
Update CODEOWNERS

85f001c88d77279e213c2ec86eeb43f6650f18d5 authored over 1 year ago by Hermet Park <[email protected]>
Update CONTRIBUTING.md

23c0b8e9f229bf6770d0dd57595aed45d87c7ea4 authored over 1 year ago by Hermet Park <[email protected]>
Update CODEOWNERS

fd756c421ed9dfac81b5b799e228ceadf749a8b6 authored over 1 year ago by Hermet Park <[email protected]>
Update CODEOWNERS

2ee6612763217e1ee37f42e4bcd7649ba10720d3 authored over 1 year ago by Hermet Park <[email protected]>
sw_renderer: fixing names after refactor

the 'buffer' doesn't exist any more in the Surface
struct. Replaced by tjhe 'buf32' - error visi...

cfead5ff68ef58e0f7493a912258040dbf976e1c authored over 1 year ago by Mira Grudzinska <[email protected]>
examples: ++performance test

Add masking to figure out the perf result.

737b89471a0a4dac5133f31f9a036df4d41cbcb1 authored over 1 year ago by Hermet Park <[email protected]>
common sw_engine: polished code

--OOM handling
++exception handling
++log info

1302c18f287c35c037bbbd4c24f0503fff7c5a11 authored over 1 year ago by Hermet Park <[email protected]>
common render: added a new type for one byte pixel data.

This is designed using for masking buffers.

@Issue: https://github.com/thorvg/thorvg/issues/976

e3f363fea7dddbbbf3ad7302aae09ce593220701 authored over 1 year ago by Hermet Park <[email protected]>
sw_engine raster: code refactoring.

Move partial region in rasterClear()

f18d2557e3f2a2b8e9cbee7fbeb373d619607307 authored over 1 year ago by Hermet Park <[email protected]>
sw_engine: ++8bit grayscale rasterizer.

These rasterizers are added for 8bit maskings.

3376f44de508486c30d9242c2919bb4f971051b3 authored over 1 year ago by Hermet Park <[email protected]>
sw_engine: code refactoring

use shorter name.

4893746eb25fc2e7a64a705d702f67df3cd0cf65 authored over 1 year ago by Hermet Park <[email protected]>
examples masking: added nested masking scenario.

0ce2208be07b32216596aa97224971a2a3e3b3f4 authored over 1 year ago by Hermet Park <[email protected]>
engine: add Renderer::colorSpace() interface

This is necessary for acquiring current format size.

@Issue: https://github.com/thorvg/thorvg/i...

01b26c43a60a04cd016ccb44c09cc3fb0eaa3049 authored over 1 year ago by Hermet Park <[email protected]>
sw_engine: specify buffer size so that we can clearly access the buffer data.

Also, it introduces the 'pixel_t' type to ensure that anonymous pixel data
follows the system's ...

da6216f9bfce94fb8e6227dcaf7f12e862a0450e authored over 1 year ago by Hermet Park <[email protected]>
common sw_engine: applied colorspace format size.

Now backend engines know which channel size is required for
compositions.

@Issue: https://githu...

527b1af926285a4271003f673f99a175c0e621a6 authored over 1 year ago by Hermet Park <[email protected]>
infra: Improve regression finder

56d18f37c3ad1018c986ebff7ce6efb348a45e97 authored over 1 year ago by Rafał Mikrut <[email protected]>
sw_engine: fix the broken scene clipping.

The implementation has been reverted by https://github.com/thorvg/thorvg/issues/1409

Since the ...

3c8a4afaa7f3b180aa9b5e14357ccbfa8c78fc99 authored over 1 year ago by Hermet Park <[email protected]>
sw_engine: fix a logical wrong.

the value should be updated properly.

d7eb913741750757c9b6b4491586066129b767cf authored over 1 year ago by Hermet Park <[email protected]>
canvas: ++ log msg for dev

cc1f86e719aca9cd6488bee48d18b1965219b4c3 authored over 1 year ago by Hermet Park <[email protected]>
svg2png: rounding up svg width and height

The svg width/height values were cast to int,
which could result in cutting off a small part
of ...

2a0a3950e696c850f2e60a2e936619dfbf113819 authored over 1 year ago by Mira Grudzinska <[email protected]>
common taskscheduler: revert 4db25db962c6cdf311012ffb94fc4a67e1d58f24

There is a report of the thread sanitizer.
It could be a false-positive as far as I reviewed,
bu...

e8eef1af1d3d9f9fb881e468c15cad64f6843f3d authored over 1 year ago by Hermet Park <[email protected]>
tests: capi identifier tests added

51a31e226db454c4be3e48b1be59774745b34b24 authored over 1 year ago by Mira Grudzinska <[email protected]>