Commit graph

37 commits

Author SHA1 Message Date
Hermet Park
1ae92daa9d api: enhance Shape::fill() method usage.
Designate a default value for alpha which is mostly optional.
2023-06-07 12:10:31 +09:00
Martin Capitanio
6f715b46a7 Fix clang compiler warnings.
[clang] Warn on unqualified calls to std::move and std::forward
See: https://reviews.llvm.org/D119670
2023-05-20 20:10:56 +09:00
Hermet Park
fe14e4f499 api: rename beta apis.
- SwCanvas::Colorspace::ABGR8888_STRAIGHT -> SwCanvas::Colorspace::ABGR8888S
- SwCanvas::Colorspace::ARGB8888_STRAIGHT -> SwCanvas::Colorspace::ARGB8888S

@Issue: https://github.com/thorvg/thorvg/issues/1372
2023-05-20 13:22:52 +09:00
Martin Capitanio
baf21761f7 infa: Install svg2png and svg2tvg.
Meson can install stripped versions to
the standards-compliant (or --prefix) location.
2023-05-19 18:15:06 +09:00
Vincent Torri
be2de28312 portability: fix usage of TVG_API
Rule of thumb on Windows:
  * for a DLL:
    * if the library is built, set TVG_API to __declspec(dllexport)
    * if the library is used, set TVG_API to __declspec(dllimport)
  * for a static library, set TVG_API to nothing

To set TVG_API for a static library, TVG_STATIC is defined when the stataic library is built.
Otherwise, TVG_API is correctly set for a DLL.
Also sun and intel compilers are handled

@issue: https://github.com/thorvg/thorvg/issues/1446
2023-05-16 18:55:33 +09:00
Mira Grudzinska
2a0a3950e6 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 the image. Now, in the case of a non-integer
size, it will be rounded up.

@Issue: https://github.com/thorvg/thorvg/issues/1414
2023-05-05 10:58:54 +09:00
Mira Grudzinska
11b36aa4c9 svg2png: changing image size
For resolution > 8k image's width and height are changed,
but the change was not applied to the image itself. Now fixed.
2023-05-04 09:54:43 +09:00
Hermet Park
69063d2405 infra: specify TVG_API for both static/dynamic linking.
The previous meson script was incomplete,
therefore this change requires it to be revised.

To enable static linking use the next meson option.
"-Ddefault_library=static"

Issue: https://github.com/thorvg/thorvg/issues/1234
2023-04-22 18:32:22 +09:00
Hermet Park
aa915ee1c4 Make it silent MSVC's trivial compilation warnings.
@Issue: https://github.com/thorvg/thorvg/issues/1381
2023-04-21 08:28:56 +09:00
Hermet Park
fc196b0965 tools svg2tvg: ++Windows port
Complete the Windows port build that is currently missing.

@Issue: https://github.com/thorvg/thorvg/issues/882
2023-04-20 11:13:31 +09:00
Hermet Park
9b3c34c3b1 updated copyright. 2023-01-14 13:48:11 +09:00
Mira Grudzinska
1980d9d0e3 all: Trailing spaces removed 2023-01-07 10:53:51 +09:00
Mira Grudzinska
a863f29512 [svg2png] size limitation while converting the file
In case the svg file size is too large, a heap overflow occurred
when conversting to png. To prevent this a size limitation
has been added - the resolution of the resulting png file cannot
be higher than 8k (7680 x 4320).
2022-11-22 22:37:00 +01:00
Vincent Torri
e918a8cb5b fix compilation of svg2png on Windows 2022-08-23 22:41:28 +09:00
Vincent Torri
de87cdc717 Windows: use _fullpath() instead of fullpath().
Fix compilation error
2022-08-17 19:44:05 +09:00
JunsuChoi
8ef075eb27 svg2png: Add more error message types
Add a message according to the returned Result type.
2022-05-06 17:13:43 +09:00
Hermet Park
f0141e63de updated copyright date. 2022-01-12 14:08:48 +09:00
Hermet Park
15412907b8 svg2png: update the error messages.
@Issue: https://github.com/Samsung/thorvg/issues/1031
2021-11-12 12:00:01 +09:00
Hermet Park
e4ab100fb2 tools svg2tvg: ++exception handling.
skip to process if the input is invalid.
2021-11-02 14:38:09 +09:00
Michal Maciola
479cea74cc common: Unmultiplicated colorspace
This patch introduces _STRAIGHT colorspaces (ABGR8888_STRAIGHT and
ARGB8888_STRAIGHT) whose colors are un-alpha-premultiplied. Unmultiplicated
colors are especially needed for wasm thorvg loader and svg2png / tvg2png.
Only C version now.

@issue: #791
2021-11-01 15:57:13 +09:00
Hermet Park
70840218d6 tools svg2tvg: support converting multiple files.
Usage:
   svg2tvg [SVG file] or [SVG folder]

Examples:
    $ svg2tvg input.svg
    $ svg2tvg svgfolder
2021-10-28 13:59:49 +09:00
Hermet Park
3ba33382d7 tools svg2tvg: improve the usability.
Removed the .svg in the output name.

Before: tiger.svg -> tiger.svg.tvg
After:  tiger.svg -> tiger.tvg
2021-10-27 20:56:48 +09:00
Hermet Park
f4d284df2a infra: add "all" option for tools.
just for developer convenience.
2021-10-14 14:54:24 +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
Michal Maciola
bf2e9631bf
svg2png: changed help message (#762) 2021-08-31 11:19:18 +02:00
Mira Grudzinska
a1480bedb1
svg2png: fixing the args interpretation (#760)
The background color was misinterpreted and its value was treated
as an svg file name (warning was returned).
The color format can not be passed in a `#ffffff` format, since
the '#' sign is used in bash to comment a line and nothiing after
it is loaded.
2021-08-31 11:14:16 +02:00
Michal Maciola
78dd50acc0
svg2png: enhance the feature.
Svg2png fully redesigned.
Introduced whole directory parsing. Created flags interface.

Usage:
   svg2png [svgFileName] [-r resolution] [-b bgColor]

Flags:
    -r set output image resolution.
    -b set output image background color.

Examples:
    $ svg2png input.svg
    $ svg2png input.svg -r 200x200
    $ svg2png input.svg -r 200x200 -b ff00ff
    $ svg2png input1.svg input2.svg -r 200x200 -b ff00ff
2021-08-18 20:29:10 +09:00
Hermet Park
f66af5c8f5 tools svg2tvg: introduce a new tool for exporting tvg.
This is an utility to convert a file from svg to tvg
To use this, enable the feature by toggling in the meson option.

$meson build -Dtools="svg2tvg" ...

See also the usage:

Usage:
   svg2tvg [SVG file]

Examples:
    $ svg2tvg input.svg
2021-07-27 10:56:31 +09:00
Hermet Park
8d31496648 infra: print enabled features in the meson summary list.
instead removed individual messages.
2021-07-03 14:58:17 +09:00
JunsuChoi
b17f3cc9a4 svg2png: Clean up code
Modify the code to fit coding style
2021-06-24 11:31:15 +09:00
Hermet Park
a459a53bc7 svg2png: revise code to fix memory violation.
previous code didn't take care of multi-threading.

This revise code to avoid changing canvas buffer during multi-tasking.
2021-06-24 10:52:44 +09:00
Hermet Park
1a7d41ce71 updated copyright 2021-03-23 14:31:58 +09:00
Hermet Park
729fee5a23 examples: move tests to src/examples
tests is now officially placed in src/examples,
default is turned off, only necessaries turn it on.

ex) meson . build -Dexamples=true

+ this examples are required efl 'elementary' package.
2020-09-19 00:39:25 +09:00
Hermet Park
f11a4d9b7b build: renamed utilities to tools 2020-09-17 20:53:54 +09:00
Hermet Park
64c958cd2c bin svg2png: revise abe7187f5b
revise previous patch code.

1. turned off it in default.
2. + copyright declaration.
3. fix coding convention.
2020-09-16 11:22:54 +09:00
JunsuChoi
abe7187f5b
ThorVG/Utils: Convert svg to png (#8)
* thorVG/example: added thorVG example app to convert svg to png

Rasterazing the svg file and extracting it as a png file.
The png encoder uses the 'lodepng' library.
(https://lodev.org/lodepng/)

Usage:
   svg2png [svgFileName] [Resolution] [bgColor]

Examples:
    $ svg2png input.svg
    $ svg2png input.svg 200x200
    $ svg2png input.svg 200x200 ff00ff

* ThorVG/Utils: Change examples to utils

* ThorVG/Utils: Move svg2png from util to src/bin

Renamed the build option for svg2png.
2020-09-16 11:11:50 +09:00