Mira Grudzinska [Sat, 23 Oct 2021 12:27:04 +0000 (14:27 +0200)]
svg_loader: gradient transformation properly applied
The final gradient transformation depends on the coordinate system.
It can not be applied during an svg loading. The transformation matrix
has to be passed via api for further gradient processing.
Mira Grudzinska [Tue, 26 Oct 2021 10:51:05 +0000 (12:51 +0200)]
sw_engine: variables names changed
Rasial gradient variables names changed to be more descriptive.
Mira Grudzinska [Sat, 23 Oct 2021 13:20:43 +0000 (15:20 +0200)]
sw_engine: gradient transformation combined with the shape transformation
The gradient transformation has to be included in the last step
of gradient preparation (and combined with a shape transformation).
Mira Grudzinska [Mon, 20 Sep 2021 00:39:24 +0000 (02:39 +0200)]
sw_engine: proper radial gradient transformation
Mira Grudzinska [Thu, 28 Oct 2021 23:14:12 +0000 (01:14 +0200)]
sw_engine: refactoring
The rasterization region was rearranged in the case of fastTrack,
but its validation and boundaries weren't check, causing segf in some
cases. Fixed.
Mira Grudzinska [Wed, 27 Oct 2021 00:55:22 +0000 (02:55 +0200)]
svg_loader: shape's bounds without a stroke
A shape's bounds used for a gradient transformation shouldn't take
a stroke into account.
JunsuChoi [Thu, 28 Oct 2021 03:50:07 +0000 (12:50 +0900)]
infra action: Enable to run test(window build)
use static png, jpg library
Hermet Park [Fri, 29 Oct 2021 04:17:56 +0000 (04:17 +0000)]
Merge "tizen_only: Leave the redundant capis until efl remove them." into tizen
Hermet Park [Thu, 28 Oct 2021 06:15:16 +0000 (15:15 +0900)]
tizen_only: Leave the redundant capis until efl remove them.
Change-Id: Ib0f76263cc233408022495056a6e9bd9e3df412b
JunsuChoi [Wed, 27 Oct 2021 08:03:28 +0000 (17:03 +0900)]
test Scene/Canvas: Fix maximum size for big size test
In some development environments, -1 of uint32_t may become 0.
Hermet Park [Wed, 27 Oct 2021 11:53:01 +0000 (20:53 +0900)]
tools svg2tvg: support converting multiple files.
Usage:
svg2tvg [SVG file] or [SVG folder]
Examples:
$ svg2tvg input.svg
$ svg2tvg svgfolder
JunsuChoi [Thu, 28 Oct 2021 04:45:58 +0000 (13:45 +0900)]
test Picture : Remove unnecessary namespace
Remove `std::`
JunsuChoi [Thu, 28 Oct 2021 03:07:49 +0000 (12:07 +0900)]
test Picture: Change file open of ifstream to binary(and readonly) type
When opening a file using ifstream, a different problem occurs for each platform.
To fix this, change to binary, readonly type.
refer to:
https://stackoverflow.com/questions/9817806/why-does-my-program-produce-different-results-on-windows-and-linux-about-file-r
Hermet Park [Wed, 27 Oct 2021 07:34:03 +0000 (16:34 +0900)]
sw_engine shape: code refactoring.
move the exceptional code for the coherency,
and ++ more history of the description.
Hermet Park [Wed, 27 Oct 2021 11:58:45 +0000 (20:58 +0900)]
Update README.md
Hermet Park [Wed, 27 Oct 2021 10:25:43 +0000 (19:25 +0900)]
tools svg2tvg: improve the usability.
Removed the .svg in the output name.
Before: tiger.svg -> tiger.svg.tvg
After: tiger.svg -> tiger.tvg
Hermet Park [Wed, 27 Oct 2021 04:47:52 +0000 (13:47 +0900)]
jpg_loader: support multi-thread and header reading in prior to decoding.
revise the code to support async loading of the static jpeg_loader,
also support header reading in prior to decoding.
Mira Grudzinska [Sat, 23 Oct 2021 19:31:02 +0000 (21:31 +0200)]
sw_engine: rasterization region edited in the case of fast tracking
Since no antialiasing is applied for the fastTracking cases,
the shape's rasterization region needs to be edited. To establish
the rastered bbox, the rounding is performed before the bbox corners
are casted to the SwCoords.
Hermet Park [Tue, 26 Oct 2021 10:37:06 +0000 (19:37 +0900)]
jpg_loader: code refactoring
revise code to satisfy with the tvg world.
no logical changes.
- modified file names
- added the samsung copyright
- removed unnecessary typedefs
- ++indentation
- --LOC
Mira Grudzinska [Tue, 26 Oct 2021 09:11:56 +0000 (11:11 +0200)]
capi: tvg_paint_transform -> tvg_paint_set_transform
Mira Grudzinska [Tue, 26 Oct 2021 00:13:57 +0000 (02:13 +0200)]
example: gradtransf.svg
The file enables to check the correctness of the gradient transformations
and units.
Removed duplicate file.
Hermet Park [Tue, 26 Oct 2021 06:52:24 +0000 (15:52 +0900)]
Update CONTRIBUTING.md
Michal Maciola [Fri, 22 Oct 2021 15:01:14 +0000 (17:01 +0200)]
jpg loader: support static jpeg loader using richgel999
Adds an alternative static jpg loader.
The jpg loader copied the jpeg decoding implementation from this open-source
repo: https://github.com/richgel999/jpeg-compressor
That opensource has the public-domain license, it doesn't have any restriction
of the copy.
note: jpgd.cpp is modified version (changed decompress_jpeg_image_from_stream)
for returning BGRA
Mira Grudzinska [Tue, 26 Oct 2021 00:02:46 +0000 (02:02 +0200)]
capi: casting on 'const Paint*' instead of constness removing
Mira Grudzinska [Tue, 26 Oct 2021 00:21:07 +0000 (02:21 +0200)]
example: modify the tvg example to plot all of the files
Change-Id: I63908b03d0276aa78bc8a266c62a89c98f9634c1
Hermet Park [Mon, 25 Oct 2021 10:24:45 +0000 (19:24 +0900)]
capi: ++missing const in capis.
Non-changeable apis should keep the const parameter so that
user knows the api won't change the internal data.
Thanksfully, we didn't release the capis, we can change it.
Mira Grudzinska [Fri, 22 Oct 2021 18:28:28 +0000 (20:28 +0200)]
tests: added Capis gradient transformation tests
Mira Grudzinska [Fri, 22 Oct 2021 11:46:06 +0000 (13:46 +0200)]
capi: gradient transformation apis added
Mira Grudzinska [Fri, 22 Oct 2021 23:50:18 +0000 (01:50 +0200)]
sw_engine: including gradient transformation into gradient preparation
The gradient transformation has to be taken into account as the last
step of the gradient preparation.
Mira Grudzinska [Fri, 17 Sep 2021 22:33:32 +0000 (00:33 +0200)]
sw_engine: proper linear gradient transformation
In the case of any shape transformation, the gradient fill
was not correct.
JunsuChoi [Mon, 25 Oct 2021 04:43:20 +0000 (13:43 +0900)]
svg_loader SvgLoader: Fix gradient default value
If isXXPercentage is true, then it is calculated accordingly.
JunsuChoi [Mon, 25 Oct 2021 05:33:20 +0000 (14:33 +0900)]
example: Modify the number of svg image examples
Find the hidden example...
Mira Grudzinska [Sat, 23 Oct 2021 00:16:40 +0000 (02:16 +0200)]
svg_loader: requested changes applied
Mira Grudzinska [Sun, 10 Oct 2021 15:14:42 +0000 (17:14 +0200)]
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).
Mira Grudzinska [Fri, 22 Oct 2021 11:49:44 +0000 (13:49 +0200)]
capi: added pointer validation
Hermet Park [Sat, 23 Oct 2021 02:52:10 +0000 (11:52 +0900)]
doc: updated api doc.
use @retval for the multiple return values.
Mira Grudzinska [Tue, 21 Sep 2021 01:11:47 +0000 (03:11 +0200)]
svg loader: converting the image path to the absolute one
The href image tag should point to an absolute image path.
Hermet Park [Fri, 22 Oct 2021 14:21:26 +0000 (23:21 +0900)]
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()
Hermet Park [Fri, 22 Oct 2021 14:14:23 +0000 (23:14 +0900)]
common: code refactoring
renamed internal module name IteratorModule -> IteratorAccessor
Change-Id: Ic317e5738161e697f3dbfe1bc7b9f1fd653f03cd
Mira Grudzinska [Fri, 22 Oct 2021 10:33:50 +0000 (12:33 +0200)]
tests: fill transformation tests added
Hermet Park [Fri, 22 Oct 2021 10:09:25 +0000 (19:09 +0900)]
api: not allow the inheritance of the Saver.
We missed the final keyword for the Saver,
This inheritance is out of our policy.
It might be break apis but Saver class is just opened,
and we're pretty sure that there is no any extension of this.
I know this is the bad decision, but we have a chance yet,
so we must correct it before further late.
Hermet Park [Fri, 22 Oct 2021 07:18:35 +0000 (16:18 +0900)]
common: replace the id() -> identifier()
Hermet Park [Fri, 22 Oct 2021 06:15:33 +0000 (15:15 +0900)]
test: API coverage up
Added identifier() test cases.
Hermet Park [Fri, 22 Oct 2021 05:39:38 +0000 (14:39 +0900)]
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
신지예 [Fri, 22 Oct 2021 09:11:11 +0000 (18:11 +0900)]
common: Fix typo
Change-Id: Idfd45fc9eb3beb1ad720492e55888db57745aaca
JunsuChoi [Fri, 22 Oct 2021 05:42:33 +0000 (14:42 +0900)]
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.
Ji2z [Fri, 22 Oct 2021 03:27:31 +0000 (12:27 +0900)]
common: Fix typo
Fix typo backeneds to backends
Change-Id: Idd13c3972ba2fa0fddc2a1eb706c55a9ea46674f
Hermet Park [Fri, 22 Oct 2021 03:33:07 +0000 (12:33 +0900)]
updated README.md
Hermet Park [Fri, 22 Oct 2021 03:15:42 +0000 (12:15 +0900)]
Update README.md
Hermet Park [Fri, 22 Oct 2021 03:09:32 +0000 (12:09 +0900)]
docs: updated example resource.
Hermet Park [Fri, 15 Oct 2021 10:55:34 +0000 (19:55 +0900)]
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
Hermet Park [Thu, 21 Oct 2021 06:15:07 +0000 (15:15 +0900)]
svg_loader: code refactoring.
cast to proper value type.
JunsuChoi [Thu, 21 Oct 2021 04:13:23 +0000 (13:13 +0900)]
svg_loader XMLParser: Clean up parameter type
size_t to unsigned int
JunsuChoi [Wed, 20 Oct 2021 06:40:12 +0000 (15:40 +0900)]
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.
Hermet Park [Wed, 20 Oct 2021 13:50:07 +0000 (22:50 +0900)]
updated license
Add missing original copyright texts in the source code.
Hermet Park [Wed, 20 Oct 2021 13:18:19 +0000 (22:18 +0900)]
Revert "common: Update license infomation"
This reverts commit
4c87f18345d65617a89b04347fffd1df810681fc.
Come to think of it, this is not correct.
Apply the copyright to only files from the original source code.
JunsuChoi [Wed, 20 Oct 2021 07:01:43 +0000 (16:01 +0900)]
common: Update license infomation
Update LICENSE by adding BSD license.
Michal Maciola [Wed, 22 Sep 2021 07:48:54 +0000 (09:48 +0200)]
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.
Mira Grudzinska [Mon, 11 Oct 2021 13:20:03 +0000 (15:20 +0200)]
common: new api for a grad transformation
The new apii allows to transform the gradient fill.
JunsuChoi [Tue, 19 Oct 2021 06:49:50 +0000 (15:49 +0900)]
common: Fix typo
Mira Grudzinska [Sun, 17 Oct 2021 23:39:54 +0000 (01:39 +0200)]
capi: example modified
Hermet Park [Wed, 13 Oct 2021 11:15:44 +0000 (20:15 +0900)]
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
Mira Grudzinska [Thu, 14 Oct 2021 00:12:49 +0000 (02:12 +0200)]
svg_loader: fixing viewBox clipping
For vw=width and vh=height, vx or vy > 0 had no effect. Fixed
JunsuChoi [Fri, 15 Oct 2021 04:19:03 +0000 (13:19 +0900)]
[Tizen] common: Change dlog tag name for VD profile
Change-Id: Id9c8e235fe86f690b3a9dee2ea0caae954aae0bd
Michal Maciola [Thu, 14 Oct 2021 15:40:31 +0000 (17:40 +0200)]
svg_loader util: fix missing quot
There was checking for 0 ('\0') that should be checking for '0'
Hermet Park [Thu, 14 Oct 2021 07:18:46 +0000 (16:18 +0900)]
Update README.md
Hermet Park [Thu, 14 Oct 2021 07:16:26 +0000 (16:16 +0900)]
Update README.md
Hermet Park [Thu, 14 Oct 2021 07:16:06 +0000 (16:16 +0900)]
Add files via upload
Hermet Park [Thu, 14 Oct 2021 07:15:21 +0000 (16:15 +0900)]
Delete example_tvg.png
Hermet Park [Thu, 14 Oct 2021 07:14:09 +0000 (16:14 +0900)]
Add files via upload
Hermet Park [Thu, 14 Oct 2021 07:13:34 +0000 (16:13 +0900)]
Delete example_tvg.png
Hermet Park [Thu, 14 Oct 2021 07:12:36 +0000 (16:12 +0900)]
Update README.md
Hermet Park [Thu, 14 Oct 2021 07:12:04 +0000 (16:12 +0900)]
Add files via upload
Hermet Park [Thu, 14 Oct 2021 07:11:37 +0000 (16:11 +0900)]
Delete example_tvg.png
Hermet Park [Wed, 13 Oct 2021 11:24:21 +0000 (20:24 +0900)]
infra: add "all" option for tools.
just for developer convenience.
Mira Grudzinska [Thu, 14 Oct 2021 00:32:35 +0000 (02:32 +0200)]
capi: change defines to enum
Tvg_Engine enum introduced to replace TVG_ENGINE_SW/GL defs.
Mira Grudzinska [Wed, 13 Oct 2021 11:46:41 +0000 (13:46 +0200)]
tests: saver capis added into the tests
Michal Maciola [Wed, 13 Oct 2021 09:12:52 +0000 (11:12 +0200)]
wasm: saveTvg add compress option
Hermet Park [Wed, 13 Oct 2021 11:12:51 +0000 (20:12 +0900)]
svg_loader util: just fix a typo
exponet -> exponent
Hermet Park [Wed, 13 Oct 2021 10:49:24 +0000 (19:49 +0900)]
svg_loader util: code refactoring
fix for thorvg coding convention.
no logical changes.
Mira Grudzinska [Wed, 13 Oct 2021 10:31:39 +0000 (12:31 +0200)]
capi: tvg_swcanvas_set_mempool capi added (#903)
* capi: tvg_swcanvas_set_mempool capi added
* tests: tvg_swcanvas_set_mempool added to the tests
Hermet Park [Wed, 13 Oct 2021 10:02:55 +0000 (19:02 +0900)]
bindings capi: code refactoring
fix for code consistency, no logical changes.
Mira Grudzinska [Tue, 12 Oct 2021 14:32:06 +0000 (16:32 +0200)]
capi: saver capis added
Mira Grudzinska [Tue, 12 Oct 2021 11:13:48 +0000 (13:13 +0200)]
capi: introduced Tvg_Colorspace enum instead of defs
Used in the tvg_swcanvas_set_target() capi.
Mira Grudzinska [Tue, 12 Oct 2021 19:00:19 +0000 (21:00 +0200)]
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
Mira Grudzinska [Mon, 11 Oct 2021 11:36:53 +0000 (13:36 +0200)]
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.
Mira Grudzinska [Tue, 12 Oct 2021 21:43:38 +0000 (23:43 +0200)]
tests: tvg_gradient_duplicate added to the capi tests
Mira Grudzinska [Tue, 12 Oct 2021 12:49:31 +0000 (14:49 +0200)]
capi: tvg_gradient_duplicate() added
Mira Grudzinska [Tue, 12 Oct 2021 12:00:05 +0000 (14:00 +0200)]
docs: ++
Mira Grudzinska [Mon, 11 Oct 2021 21:32:06 +0000 (23:32 +0200)]
docs: saver module description ++
Mira Grudzinska [Sun, 10 Oct 2021 14:39:06 +0000 (16:39 +0200)]
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
Hermet Park [Mon, 11 Oct 2021 06:34:42 +0000 (15:34 +0900)]
tools svg2tvg: remove unused header
Mira Grudzinska [Sun, 10 Oct 2021 22:13:11 +0000 (00:13 +0200)]
svg2tvg: added missing array lib
projectitis [Sat, 9 Oct 2021 02:33:45 +0000 (15:33 +1300)]
all: fix warnings on MSVC
* Explicit casts to suppress warnings
* Fixed compiler warnings
Michal Maciola [Fri, 8 Oct 2021 14:55:20 +0000 (16:55 +0200)]
wasm: fix compilation
After 'all: fixing clang warnings' (e7c3a91) there was a problem with wasm
compilation, as strncpy and strdup.
Disable define is __EMSCRIPTEN__.
Michal Maciola [Fri, 8 Oct 2021 15:38:18 +0000 (17:38 +0200)]
example: added image-embeded-jpeg.svg (#890)
Hermet Park [Thu, 7 Oct 2021 10:59:33 +0000 (19:59 +0900)]
Update CONTRIBUTING.md
Hermet Park [Thu, 7 Oct 2021 06:24:16 +0000 (15:24 +0900)]
infra: renamed build badge names.
Hermet Park [Thu, 7 Oct 2021 05:59:54 +0000 (14:59 +0900)]
test: ++safety.
add null handlings just in case.
Mira Grudzinska [Tue, 5 Oct 2021 13:20:19 +0000 (15:20 +0200)]
tests: added tests for size and composite C apis