Commit graph

1355 commits

Author SHA1 Message Date
JunsuChoi
0e57f869bc example: Modify the number of svg image examples
Find the hidden example...
2021-10-25 16:18:15 +09:00
Mira Grudzinska
5fc5fd7f2d svg_loader: requested changes applied 2021-10-25 11:15:58 +09:00
Mira Grudzinska
60029327f0 svg_loader: gradient handling and recalculation changed
The need to convert the gradient values occurs only when they are given
as nominal values in the current user coordinate system (userSpaceOnUse).
2021-10-25 11:15:58 +09:00
Mira Grudzinska
280d27ac83 capi: added pointer validation 2021-10-23 12:18:23 +09:00
Mira Grudzinska
a93b5b98a9 svg loader: converting the image path to the absolute one
The href image tag should point to an absolute image path.
2021-10-23 02:26:55 +02:00
Hermet Park
6f3ff2a355 wasm: update the code.
Yes, now we have standard apis for getting class types,
don't need to hack it anymore.

Now, replaced the redundant id() calls with identifier()
2021-10-22 23:23:09 +09:00
Hermet Park
47334800c6 common: code refactoring
renamed internal module name IteratorModule -> IteratorAccessor
2021-10-22 23:20:29 +09:00
Hermet Park
36270f588e common: replace the id() -> identifier() 2021-10-22 18:47:05 +09:00
Hermet Park
78d85d714a common: Introduce class type identifier apis.
This identifier is useful when user identify the instance type in runtime.

ThorVG basically don't prefer to dynamic_cast() nor typeid(),
it compiles with -fno-rtti option for the optimial size.

Here is an example for the simple usage.

if (paint->identifier() == Shape::identifier())
  auto shape = static_cast<Shape*>(paint);

@Issue: https://github.com/Samsung/thorvg/issues/693
2021-10-22 18:47:05 +09:00
JunsuChoi
d3ba000d80 png_loader meson: Remove dependency check using find_library()
meson's find_library() throws an error when the package cannot be found.
png static library is added, so it should be passed when package is not found.
Therefore, delete unnecessary find_library.
2021-10-22 16:32:57 +09:00
Ji2z
fcb0258b3c common: Fix typo
Fix typo backeneds to backends
2021-10-22 15:10:02 +09:00
Hermet Park
2e6715ba41 loader png: support static png loader
Copied only necessary decoding functions from the lodepng opensource.
See: https://lodev.org/lodepng/

additional changes:
- disabled crc for the optimal size.
- converted the format bgr -> rgb for our png example.

Still we don't have a concrete idea for the image formats,
We should fix the converting methods between bgra <-> rgba.

@Issue: https://github.com/Samsung/thorvg/issues/594
2021-10-21 22:39:50 +09:00
Hermet Park
b0c964cbb4 svg_loader: code refactoring.
cast to proper value type.
2021-10-21 15:15:07 +09:00
JunsuChoi
1b675adca4 svg_loader XMLParser: Clean up parameter type
size_t to unsigned int
2021-10-21 15:03:47 +09:00
JunsuChoi
e5196d610d svg_loader XMLParser: Refacotring simpleXmlParse method
1.
Remove macro function. The existing macro function
was doing meaningless nested `return false`.

2.
Extract the logic to find the type as a function.

3.
The SimpleXMLType::Error case is not actually used,
and in case of invalid XML, Do 'return false' immediately.
2021-10-21 15:03:47 +09:00
Hermet Park
9c8e785fdc updated license
Add missing original copyright texts in the source code.
2021-10-20 22:50:07 +09:00
Michal Maciola
d7a3aa580a svg_loader: fix potential mem corruption in _idFromUrl function
This patch fixes some potential memory corruptions in _idFromUrl function
when name (url) is longer than 50 chars or is incorrectly terminated.
2021-10-20 10:34:02 +09:00
Mira Grudzinska
e0aa007659 common: new api for a grad transformation
The new apii allows to transform the gradient fill.
2021-10-19 17:43:24 +09:00
Mira Grudzinska
e6f8aa1379 capi: example modified 2021-10-19 10:27:37 +09:00
Hermet Park
a3ecff9504 svg_loader util: fix the floating constant truncated to zero issue.
fyi, the minimum value of the float is 1.175494351 E-38

@Issue: https://github.com/Samsung/thorvg/issues/899
2021-10-15 15:20:01 +09:00
Mira Grudzinska
1abee9f8d5 svg_loader: fixing viewBox clipping
For vw=width and vh=height, vx or vy > 0 had no effect. Fixed
2021-10-15 12:33:26 +09:00
Michal Maciola
e186bb4a82 svg_loader util: fix missing quot
There was checking for 0 ('\0') that should be checking for '0'
2021-10-15 02:04:17 +09:00
Hermet Park
f4d284df2a infra: add "all" option for tools.
just for developer convenience.
2021-10-14 14:54:24 +09:00
Mira Grudzinska
95430fc645 capi: change defines to enum
Tvg_Engine enum introduced to replace TVG_ENGINE_SW/GL defs.
2021-10-14 12:39:54 +09:00
Michal Maciola
1f42f7da89 wasm: saveTvg add compress option 2021-10-13 21:24:53 +09:00
Hermet Park
d9f421ff4a svg_loader util: just fix a typo
exponet -> exponent
2021-10-13 20:12:51 +09:00
Hermet Park
5a6240bdf3 svg_loader util: code refactoring
fix for thorvg coding convention.

no logical changes.
2021-10-13 20:07:08 +09:00
Mira Grudzinska
e6debdbf15
capi: tvg_swcanvas_set_mempool capi added (#903)
* capi: tvg_swcanvas_set_mempool capi added

* tests: tvg_swcanvas_set_mempool added to the tests
2021-10-13 19:31:39 +09:00
Hermet Park
0f0a0ae4f0 bindings capi: code refactoring
fix for code consistency, no logical changes.
2021-10-13 19:02:55 +09:00
Mira Grudzinska
600055dacd capi: saver capis added 2021-10-13 18:58:18 +09:00
Mira Grudzinska
d40d2ea288 capi: introduced Tvg_Colorspace enum instead of defs
Used in the tvg_swcanvas_set_target() capi.
2021-10-13 18:55:17 +09:00
Mira Grudzinska
0bffe930ad tvg_saver: fix the argument of the sizeof call
We got the size of a pointer instead of the size of a whole table.
Fixed now
2021-10-13 18:46:21 +09:00
Mira Grudzinska
0497ac894e svg_loader: removed unused variable
The gradient values passed to the scene builder are always given as percentages,
so there is no need to mark/check that.
2021-10-13 18:40:05 +09:00
Mira Grudzinska
e0488f4a8d capi: tvg_gradient_duplicate() added 2021-10-13 18:34:02 +09:00
Mira Grudzinska
39af185de8 docs: ++ 2021-10-12 14:04:18 +02:00
Mira Grudzinska
c2bbdccac1 svg_loader: removed unnecessary casting
The used scaling factor should be a float - casting it to an int caused
misevaluation of the radial gradient radius
2021-10-11 18:59:23 +09:00
Hermet Park
4219d2b8ea tools svg2tvg: remove unused header 2021-10-11 15:43:28 +09:00
Mira Grudzinska
883e44ad40 svg2tvg: added missing array lib 2021-10-11 15:30:36 +09:00
projectitis
dad6c71b6c
all: fix warnings on MSVC
* Explicit casts to suppress warnings
* Fixed compiler warnings
2021-10-09 11:33:45 +09:00
Michal Maciola
e12729e0d3 wasm: fix compilation
After 'all: fixing clang warnings' (e7c3a91) there was a problem with wasm
compilation, as strncpy and strdup.
Disable define is __EMSCRIPTEN__.
2021-10-09 11:32:27 +09:00
Michal Maciola
cba7cf0e2b
example: added image-embeded-jpeg.svg (#890) 2021-10-08 17:38:18 +02:00
JunsuChoi
5e7981106b infra : add window build (with loaders) 2021-10-07 15:00:48 +09:00
Mira Grudzinska
a16e91b441 all: fix compiler warnings
pow->powf and sqrt->sqrtf
2021-10-07 14:49:00 +09:00
Hermet Park
9737dd4a89 test capi: update tvg_paint_get_bounds() utc.
The api has been changed by 060564cc93
update it according its change.
2021-10-06 22:17:18 +09:00
Hermet Park
ca9a9c3a42 capi: replaced bounds() api with the latest.
The next api of c++ version has been deprecated

Tvg_Result tvg_paint_get_bounds(const Tvg_Paint* paint, float* x, float* y, float* w, float* h);

instead, we introduce the next one under the beta.

Tvg_Result tvg_paint_get_bounds(const Tvg_Paint* paint, float* x, float* y, float* w, float* h, bool transformed);
2021-10-06 22:17:18 +09:00
Mira Grudzinska
dc55070ba7 docs: c and c++ apis docs improved 2021-10-06 22:11:17 +09:00
Hermet Park
a2ac28d0c5
infra: add all option to enable all loader formats.
just for developer convenience (including me)

ex) $meson . build -Dloaders="all" ...
2021-10-06 11:13:49 +09:00
Mira Grudzinska
e7c3a91aa1 all: fixing clang warnings
fopen->fopen_s, strdup -> _strdup, strncpy -> strncpy_s
__declspec(dllexport) -> __attribute__ ((visibility ("default")))
2021-10-06 11:13:12 +09:00
JunsuChoi
5124a9ad6b infra: Add window build test in CI
Add build test for normal build
2021-10-06 10:44:51 +09:00
Mira Grudzinska
78363c3aad Revert "sw_engine: border cases for gradients"
This reverts commit 284298445b.
2021-10-06 01:13:02 +02:00