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

svg_loader: recalculating the default values of grads

The default values of gradient properties were handled differently
than the values given by a us...

f411b5a64cd0ce4dc7b801a00e8685dc8788e7d9 authored over 3 years ago by Mira Grudzinska <[email protected]>
sw_engine: fix broken MSVC compatibility.

error: use of undeclared identifier 'ulong'

@Issue: https://github.com/Samsung/thorvg/issues/541

1154986a585fae235a19c1858be9cacc7bfa2443 authored over 3 years ago by Hermet Park <[email protected]>
sw_engine: stop-opacity value should be interpolated between stops

The opacity value is interpolated as are all color channels.

ac95433b53f5fd4a375b7d1952694f17eeda3d0f authored over 3 years ago by Mira Grudzinska <[email protected]>
svg_loader: allow multiple <defs> tags without data and memory leak (#528)

* svg_loader: allow multiple defs without data and memory leak

If the svg file contained mult...

3086f28b5580e088c60e77be0faffb4b35e5b145 authored over 3 years ago by Michal Maciola <[email protected]>
svg_loader: fix a infinite loop error by circular dependency.

Composition can be applied recursively if its children nodes have composition target to this one...

19a3190245a24174f15c0f4dd8f3ead92379f51b authored over 3 years ago by Hermet Park <[email protected]>
infra: ++ strict build test

Enable log in default.

bb68a2d51476b16699ba7bd1b670b495ec9401f4 authored over 3 years ago by Hermet Park <[email protected]>
svg_loader: code refactoring

unify to tvg fill rule.

fcbc77bcdf40ed6bf86d2bd808ce036eb4c10707 authored over 3 years ago by Hermet Park <[email protected]>
svg_loader: recover partial code from 3e7888b5387a57568c558afc59526d5e672e1859

oops, log was not tested in the patch...

2c24a1fa5e4cea24a537a40d5122aff6756889e5 authored over 3 years ago by Hermet Park <[email protected]>
svg_loader: code refactoring

remove more unused declarations...

571a1e5caa35d8422e70ee54c2b12058f19612c6 authored over 3 years ago by Hermet Park <[email protected]>
svg_loader: code refactoring

use color structure to keep neat & compact code.

3e7888b5387a57568c558afc59526d5e672e1859 authored over 3 years ago by Hermet Park <[email protected]>
svg_loader: code refactoring

remove unused declaration.

8dc5d5204ba52b68ecde7f4860ec5fc0fba03824 authored over 3 years ago by Hermet Park <[email protected]>
svg_loader: fix the inifite loop bug when size has 'em' unit.

svg may have 'em' unit for fonts, strtof() must handle this case to not
drop in the infinite loo...

6a79d2c06ee59a9206092eb3bad44058ebffc340 authored over 3 years ago by Hermet Park <[email protected]>
sw_engine rle: -- sanitizer reports.

The code is actually intended, we can modify it to ignore the
annoying sanitizer reports.

@Issu...

38fa5107bf7d40ad53c1074d2257c344e632fd21 authored over 3 years ago by Hermet Park <[email protected]>
sw_engine renderer: fix a broken composition bug

tvg sw_engine tries to skip composition as far as its doable,
it tries composition only if the t...

c31156e737dd4e0b7d0e01b67a8537734eec9295 authored over 3 years ago by Hermet Park <[email protected]>
svg_loader: currentColor - inheritance from a parent

The 'currentColor' attribute value was not inherited. Fixed.

feb71ff36c537993ffd4aac8d6b61e5f67289422 authored over 3 years ago by Mira Grudzinska <[email protected]>
svg_loader: negative attrs length fix

After finding no attributes but white spaces, attrs length could be negative
that resulted in se...

520d6e7bbdbc74c94aa25ff31d5a7493b4eeeb8f authored over 3 years ago by Michal Maciola <[email protected]>
svg_loader: fix trivial build warnings.

../src/loaders/svg/tvgSvgLoader.cpp: In function ‘void _copyAttr(SvgNode*, const SvgNode*)’:
../...

78bb8d1f2e468632857c32ae47e6f057bf92f75b authored over 3 years ago by Hermet Park <[email protected]>
svg_loader: finish the search after founding the proper color

In the _toColor func, after founding the proper color, the search
should be finiched.

57a22b846207eda5c574e1d30e7f195331f46d76 authored over 3 years ago by Mira Grudzinska <[email protected]>
svg_loader: applying opacity to the gradient

Before this change the 'stroke-opacity' and the 'fill-opacity'
grad style attributes were not ta...

f477933098f9ef40a91af395e4afd2637b9c5101 authored over 3 years ago by Mira Grudzinska <[email protected]>
common: introducing the composite API (getter)

The new API gets the composite method and the pointer to the composite
target of the given paint...

6eea979dae7ad8abbbf2ac215ef4cdd77a9146f6 authored over 3 years ago by Mira Grudzinska <[email protected]>
common: PaintType enum changed to identifier in Paint class

The PaintType enum was used to set the paint type in the internal Paint
implementation. This sol...

96d6b47a641e5b93fb916774a2a5161340d69a19 authored over 3 years ago by Mira Grudzinska <[email protected]>
Update README.md

@mgrudzinska I don't know this makes you understand, you can suggest if you have a better phrase.

bf39e0fea9faf46c989aff32d48a7966d2c3c566 authored over 3 years ago by Hermet Park <[email protected]>
Use spellcheck

affa809a2c8bfda6e74f096570dc1ab3b5cbaa0b authored over 3 years ago by K. S. Ernest (iFire) Lee <[email protected]>
svg_loader: fix memory violation issues.

copy attribute must copy the url data,
otherwise, url memory can be atempted freeing twice.

als...

a6f9ec30808ea11583f97115fb16ccd7321d3be7 authored over 3 years ago by Hermet Park <[email protected]>
Update README.md

940b8b566f101b52ae70c0f538d10469edd44f30 authored over 3 years ago by Hermet Park <[email protected]>
svg_loader: handling the ColorStop offset values

The ColorStop offset < 0 and > 1 should be treated as 0 and 1 respectively.
The offset value < t...

286f700305935258efae4de0f269580c0fbfa1f8 authored over 3 years ago by Mira Grudzinska <[email protected]>
sw_engine stroke: set stroke invalid if points are zero.

This valid tag is used for further progress.
we don't need it actually since we can count by poi...

750ad90bf01175a6390c0e065827ffa0c22df8f2 authored over 3 years ago by Hermet Park <[email protected]>
svg_loader: prevent heap memory overflow.

if the input points are odd-numberd by invalid svg data, it could access invalid memory.

Preven...

86fd0f67cfa61a2d7a3c02b4efe78bf89bd36740 authored over 3 years ago by Hermet Park <[email protected]>
svg_loader SvgPath: Added corner case handling for flags of Arc

It handles the case what the flag of the arc of the path is defined
without spaces or commas, su...

5da4c8113803de9068aa7a1c495b7bddfc530cf4 authored over 3 years ago by JunsuChoi <[email protected]>
svg2png: Clean up code

Modify the code to fit coding style

b17f3cc9a4e2116c389f7c6176b972efdd1483f7 authored over 3 years ago by JunsuChoi <[email protected]>
svg2png: revise code to fix memory violation.

previous code didn't take care of multi-threading.

This revise code to avoid changing canvas bu...

a459a53bc748e718794b5efb9ebe85a3bec66475 authored over 3 years ago by Hermet Park <[email protected]>
Update tvgSwMath.cpp

fix typo.

59f189bcb4d85f98535d9ab0fe4994ad3fe9aa6b authored over 3 years ago by Hermet Park <[email protected]>
tvg_loader: recover wrongly introduced change by my mistake.

80090e118980df6e6735f3a395c978616c785a09 authored over 3 years ago by Hermet Park <[email protected]>
+++

c2b84dc50051c52241d3ebc9a88880bbcdb8e116 authored over 3 years ago by Hermet Park <[email protected]>
tvg_loader: code refactoring.

keep it neat & clean code for better readibility and maintenence.

135cba001fc6ef94bd7124c77def0d311428fb13 authored over 3 years ago by Hermet Park <[email protected]>
sw_engine: fix MSVC compatibility problem.

clz (count leading zero) is builtin function
that is not available in MSVC.

This patch replace ...

bba162b604944671211d8dd7bf384dcf20428ff8 authored over 3 years ago by Hermet Park <[email protected]>
common: fix compatibility issue for MSVC.

strcasecmp() is not supported by MSVC

We can replace it with _stricmp()

thanks @fire for point...

4f35c478c24211260b6ddaf3c0c06a3a799d5fbc authored over 3 years ago by Hermet Park <[email protected]>
common: fix compatibility issue for MSVC.

__attribute__ syntax is not supported by MSVC.

We can turn it on optionally.

53576d39390392481769c03abfa1e68b0a56c11d authored over 3 years ago by Hermet Park <[email protected]>
common: fix compatibility issue for MSVC

Math Constants are not defined in Standard C/C++

for this, we can use _USE_MATH_DEFINES before ...

87b94b7a7fcb855d6ed48149ffe806ab117d5271 authored over 3 years ago by Hermet Park <[email protected]>
examples: add commentary for exceptions.

89d35123d8d53fa750bf56adc27cf8d68103cc45 authored over 3 years ago by Hermet Park <[email protected]>
sw_engine fill: fixing gradient calculations for 'repeat' spread value

There was a call to the ctable element from outside its boundaries, because
the check was mispla...

a0f28d0db4ea0ff4970e2ab787165208998d5c18 authored over 3 years ago by Mira Grudzinska <[email protected]>
infra: add memory sanitize option in meson

for optimial library, we removed some peripheral information in default,
this breaks asan enviro...

5bbe713ca55c56ddab706472a52dcb2c7be89d6e authored over 3 years ago by Hermet Park <[email protected]>
svg_loader: correct parsing ColorStop offset values

Values different from numbers and percentages should be ignored
and the default values should be...

5679d666a6df9890fff8695abe42d3b5df4004bd authored over 3 years ago by Mira Grudzinska <[email protected]>
common loadermgr: fix missing break; in switch-case.

cadbbb802898aea35b446750c3375af814264565 authored over 3 years ago by Hermet Park <[email protected]>
svg_loader SvgLoader: Copy the missing composite url

When copying an attribute, url information of stype's composite is overwritten with memcpy.
This...

f20ef0dc158626b207edfabaa90f86cadb98beb9 authored over 3 years ago by JunsuChoi <[email protected]>
common scene: fix a regression bug.

That is wrongly changed by 39bf94e506c30a07720a0ef66809dea3331de727

renderer must be valid unti...

234c1cefc85da08900105aae672593ce4ee9ea84 authored over 3 years ago by Hermet Park <[email protected]>
tvg_loader: code refactoring.

remove if-def code.

Actually, tvg log is supposed to print some useful info for users,
not debu...

58f251163b5ad81f4e977516ed80223b88243a79 authored over 3 years ago by Hermet Park <[email protected]>
svg_loader SvgLoader: Prevent invalid access

If there is no path information, it is not copied.

a2d348242b72f9129d6ce1f7401837384d1d1621 authored over 3 years ago by JunsuChoi <[email protected]>
fix a build break in MSVC

add missing string header, string is used for a Picture::load() parameter

ea668eae1d5674c4c14f69425f89e0d952502b0e authored over 3 years ago by Hermet Park <[email protected]>
common scene: code refactoring.

keep it clean and less LOC.

39bf94e506c30a07720a0ef66809dea3331de727 authored over 3 years ago by Hermet Park <[email protected]>
svg_loader XmlParser: Fix check the end of string

While skipping the string, check the end of the string first.
Prevents an invalid read when pars...

b7919249833bc543aa30866e79140d5f9c8e8656 authored over 3 years ago by JunsuChoi <[email protected]>
common: fix a memory leak after scene->clear(true)

If renderer was null, paints was cleared (count set to zero), but data
was not deleted regardles...

24cebf5cc5f57d962afd0d7caa30e6a4044c9f39 authored over 3 years ago by Michal Maciola <[email protected]>
loaders: revise code from cce4b443b3250d14a3077cf13226f7cacbb82f57

use copy variable instead of additional buffer pointer.

0df8c0051982d62399f7d6f7f440667e3ebaeb50 authored over 3 years ago by Hermet Park <[email protected]>
loaders: added copy param for Picture::load

@API Changed:
Result Picture::load(const char* data, uint32_t size, bool copy /*=false*/) noexce...

cce4b443b3250d14a3077cf13226f7cacbb82f57 authored over 3 years ago by Michal Maciola <[email protected]>
test Scene: Separate tests into SECTION()

Split some tests into SECTIONs based on their type.
This improves the readability of TC.

And de...

f4895459faf7eb509ea66f1b57e0c9f7a447e597 authored over 3 years ago by JunsuChoi <[email protected]>
svg_loader: radial gradient transformation support

For now the gradient radius is scales like x-axis - it has to be changed
after issue #37 will be...

8bb10fb261f3fde1ec5f2ac6b6d7d9b291b339d2 authored over 3 years ago by Mira Grudzinska <[email protected]>
test Scene: Add tvg::Scene unit tests

- Creation
- Push
- Reserve
- Clear

b2020a9387f54124f660eb19b885ee32b0944c0c authored over 3 years ago by JunsuChoi <[email protected]>
infra CI: Upload unit test result to artifact

Users can download the unit test result list from PR-> Checks -> Build Test -> Artifacts.

d92a2c25f6cd58d7be671b0e517453c874eca927 authored over 3 years ago by JunsuChoi <[email protected]>
infra CI: Fix test flag of test build

test -> tests

0d28bdfc07e4430c653620f88d8ae016f468b586 authored over 3 years ago by JunsuChoi <[email protected]>
test capi: code refactoring.

keep the coding consistency, no logical changes.

Also, renamed tests to avoid conflicts duplica...

20c68e3b37842998476dcb7424945f7195d832e2 authored over 3 years ago by Hermet Park <[email protected]>
utc capi: Added linear gradient tests.

bde0d8e751ced7b271cb44b2f6198049d75b14c8 authored over 3 years ago by Michal Szczecinski <[email protected]>
test capi: code refactoring.

keep the coding consistency, no logical changes.

25b31d9154c6a24e0250febd15cc4424dd546df2 authored over 3 years ago by Hermet Park <[email protected]>
utc capi: Added radial gradient tests.

2b78d58c232743e002f7c2b7e6af17b2862a306a authored over 3 years ago by Michal Szczecinski <[email protected]>
common Scene: return FailedAllocation if it really failed at memory allocation.

Due to change of f0ecc67, the return type of reserve() is changed to bool,
which can return the ...

6d5d0a154b02bb332753d5d17f5b2ab89a2b17a5 authored over 3 years ago by JunsuChoi <[email protected]>
svg_loader: key and value in the simpleXmlParseW3CAttribute needed to be cleared out of spaces

2bf21dae3d52ee48c9e7f97f26a60254d84beb4b authored over 3 years ago by Mira Grudzinska <[email protected]>
svg_loader: fixing color parsing

For colors given in a style attribute in the format "rgb(rrr, ggg, bbb)"
a parsing was incorect....

7ffeb2e60638db802d3acdf7c545900893d4a7f7 authored over 3 years ago by Mira Grudzinska <[email protected]>
svg_loader: after reading an unsupported style attribute no other values were loaded

After finding an unsupported style attribute the log is printed (on request)
and processing of o...

20e926c950499a6dcda22b3c3e2f960a87db6444 authored over 3 years ago by Mira Grudzinska <[email protected]>
svg_loader: adding check if stroke-dasharray attribute != none

The stroke-dasharray value equal to "none" was causing a segfault
during a conversion to float. ...

e0a1aa935546e1851a84679a8fec6bbe825823b6 authored over 3 years ago by Mira Grudzinska <[email protected]>
utc capi: added capiSwCanvas test cases

858de0febb03481df9c51e9fcac3cbe1a39bfc78 authored over 3 years ago by Michal Maciola <[email protected]>
tset capi: code refactoring.

revise coding style.

c19aa9fed752b39b8f4b95ac41a7c711e6c5a552 authored over 3 years ago by Hermet Park <[email protected]>
test capi: fix build infrastructure

fe493a93f2f39587d030b8ca49e43ec80a1839ed authored over 3 years ago by Hermet Park <[email protected]>
utc capi: Added capi initializer, canvas, paint and shape utc

3f1b08f0503db569cb2c07263b1a23a01d483ff0 authored over 3 years ago by mmaciola <[email protected]>
svg_loader: gradient update takes into account a stroke and a fill

For shapes with a grad fill and a grad stroke only the fill was drawn.
After this fix both can h...

a3e784b6b5cdc96ef9932ee527256cd1664bbae8 authored over 3 years ago by Mira Grudzinska <[email protected]>
tvg_loader: code refactoring.

renamed internal functions, no logical changes.

26fd6b5dfdf1ab475fdb240aafc446e16c83945e authored over 3 years ago by Hermet Park <[email protected]>
loader_mgr: FileTypes order changed

FileType order was changed in tvgLoaderMgr.h to move Tvg at the beginning.

When raw data loadin...

88a85c68fa05cfa3bc3c5300ee3b8a84d77ec632 authored over 3 years ago by Michal Maciola <[email protected]>
tvg_loader: added tvg format verification

TVG format verification was added on TvgLoader:open()

fa15b9a2afd196b039acc8cf7a90ed7ed9a8ec32 authored over 3 years ago by mmaciola <[email protected]>
tests capi: revise the show-case & infrastructure.

90dd1b5f98999a3e429ab1c91fe2eb9bd528abb1 authored over 3 years ago by Hermet Park <[email protected]>
utc capi: Added shape fill utc.

5b99bc186d891acf00504fa7cdce227ddd7962ce authored over 3 years ago by Michal Szczecinski <[email protected]>
tvg_loader: Fixed missing 'this->' keyword

Fixed missed 'this->' in tvgTvgLoader.cpp

8123250f52976243d9cfad45c520a4d70efaa117 authored over 3 years ago by Michal Maciola <[email protected]>
fix build break.

regression by - 15b56a66de8fb5872afc4bda4986cae6967ddb56

4795927dc1077e0df89450fcb1658fdb348e5181 authored over 3 years ago by Hermet Park <[email protected]>
capi: picture load data

Added 'tvg_picture_load_data' capi.

9453273fc896d2a84b79a947ac573c68b7e2a352 authored over 3 years ago by Michal Maciola <[email protected]>
tvg_loader: code refactoring.

revise it under the tvg coding convention.

15b56a66de8fb5872afc4bda4986cae6967ddb56 authored over 3 years ago by Hermet Park <[email protected]>
tests: add SwCanvasBase unit tests

52d95dcb5938170383c757a6ee4df3fbffe72aa1 authored over 3 years ago by Hermet Park <[email protected]>
examples tvg: clean up for tvg consistency.

no logical changes.

58fefeb05f95915aff18d28dc8f94c7878892ef4 authored over 3 years ago by Hermet Park <[email protected]>
TVG Loader/Saver module: tvg loader example

2c1f165f1969bc1170af06dc3dbd1d94e165a402 authored over 3 years ago by mmaciola <[email protected]>
TVG Loader/Saver: tvg loader introduced

This patch introduces tvg loader module for loading .tvg binary files.
This allows to load and ...

16e39ee81bf9d139c2684086e638185bfb254a0c authored over 3 years ago by mmaciola <[email protected]>
examples: updated samples.

one of children paint can not be updated immediately with a canvas.

the root paint must be pass...

b7431eab3e4c4f0eb6f65196082409c04786e378 authored over 3 years ago by Hermet Park <[email protected]>
examples: revise examples

remove the show-cases that accessing the raw memory from the unique_ptr

we don't like to use th...

ea8d26a68166de42fa0052d046fc1acee08359d4 authored over 3 years ago by Hermet Park <[email protected]>
common canvas: ++ case cover exception scenarios.

Do not update the paint if it's not pushed in the canvas.

6b75ce34765adfb3ec9501a15cd077d5df30a091 authored over 3 years ago by Hermet Park <[email protected]>
examples: updated svg samples

2401495c47bf130b5012a412cc0fe7ef8668b3e2 authored over 3 years ago by Hermet Park <[email protected]>
svg_loader: support stroke gradient

The loader was ready to handle the gradient stroke, but there was no API to support
it when the ...

9b1356e7cbdb771791482bd274d356816c542c31 authored over 3 years ago by Mira Grudzinska <[email protected]>
common canvas: ++ exception handling.

canvas update won't be performed if it's on drawing condition nor zero paints.

4acf89cf96ffeff6a9c436884e9fec1af6b9af6a authored over 3 years ago by Hermet Park <[email protected]>
examples stacking: ++ scene stacking.

85587bbe791cc06af58607d077e80a29ddf96eb1 authored over 3 years ago by Hermet Park <[email protected]>
common canvas: supplement corner cases.

filled up corner cases to return the result properly.

Canvas newly has a drawing condition to p...

13009657cdc74e52b595f74e1905806bb6af1118 authored over 3 years ago by Hermet Park <[email protected]>
test SwCanvas: ++ case cover.

All prerequiste condition must be passed successfully.
Each test case should verify them before ...

2d2c88b153c0870cd41909bf50d74b3641e033b1 authored over 3 years ago by Hermet Park <[email protected]>
test SwCanvas: -- out of spec, don't guratee the result.

9b204fb983c288673a4ae88912edaed346df3845 authored over 3 years ago by Hermet Park <[email protected]>
test SwCanvas: ++case cover

83d860b150d006fb8bec3544d1d08df38ad47090 authored over 3 years ago by Hermet Park <[email protected]>
sw_engine: added check whether surface width <= surface stride

In a case width > stride segf occured. Such a case should be treated
as an invalid arg.

f3fac71a1257c57724211acaccb5c80d60c03ad8 authored over 3 years ago by Mira Grudzinska <[email protected]>
tests: add SwCanvas unit tests

5c26014e2f32c52633a82dc00f92cf15c452cd66 authored over 3 years ago by Hermet Park <[email protected]>
sw_engine: fixing the composition for canvas width != canvas stride

When canvas width was smaller than its stride and a composition is used,
the plots were drawn in...

419751c7366f275d92acf86bdd43ced65a465e7e authored over 3 years ago by Mira Grudzinska <[email protected]>