platform/core/graphics/tizenvg.git
2 years agoMerge "tizen_only: Leave the redundant capis until efl remove them." into tizen
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

2 years agotizen_only: Leave the redundant capis until efl remove them. 61/265761/4
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

2 years agotest Scene/Canvas: Fix maximum size for big size test
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.

2 years agotools svg2tvg: support converting multiple files.
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

2 years agotest Picture : Remove unnecessary namespace
JunsuChoi [Thu, 28 Oct 2021 04:45:58 +0000 (13:45 +0900)]
test Picture : Remove unnecessary namespace

Remove `std::`

2 years agotest Picture: Change file open of ifstream to binary(and readonly) type
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

2 years agosw_engine shape: code refactoring.
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.

2 years agoUpdate README.md
Hermet Park [Wed, 27 Oct 2021 11:58:45 +0000 (20:58 +0900)]
Update README.md

2 years agotools svg2tvg: improve the usability.
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

2 years agojpg_loader: support multi-thread and header reading in prior to decoding.
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.

2 years agosw_engine: rasterization region edited in the case of fast tracking
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.

2 years agojpg_loader: code refactoring
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

2 years agocapi: tvg_paint_transform -> tvg_paint_set_transform
Mira Grudzinska [Tue, 26 Oct 2021 09:11:56 +0000 (11:11 +0200)]
capi: tvg_paint_transform -> tvg_paint_set_transform

2 years agoexample: gradtransf.svg
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.

2 years agoUpdate CONTRIBUTING.md
Hermet Park [Tue, 26 Oct 2021 06:52:24 +0000 (15:52 +0900)]
Update CONTRIBUTING.md

2 years agojpg loader: support static jpeg loader using richgel999
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

2 years agocapi: casting on 'const Paint*' instead of constness removing
Mira Grudzinska [Tue, 26 Oct 2021 00:02:46 +0000 (02:02 +0200)]
capi: casting on 'const Paint*' instead of constness removing

2 years agoexample: modify the tvg example to plot all of the files
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

2 years agocapi: ++missing const in capis.
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.

2 years agotests: added Capis gradient transformation tests
Mira Grudzinska [Fri, 22 Oct 2021 18:28:28 +0000 (20:28 +0200)]
tests: added Capis gradient transformation tests

2 years agocapi: gradient transformation apis added
Mira Grudzinska [Fri, 22 Oct 2021 11:46:06 +0000 (13:46 +0200)]
capi: gradient transformation apis added

2 years agosw_engine: including gradient transformation into gradient preparation
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.

2 years agosw_engine: proper linear gradient transformation
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.

2 years agosvg_loader SvgLoader: Fix gradient default value
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.

2 years agoexample: Modify the number of svg image examples
JunsuChoi [Mon, 25 Oct 2021 05:33:20 +0000 (14:33 +0900)]
example: Modify the number of svg image examples

Find the hidden example...

2 years agosvg_loader: requested changes applied
Mira Grudzinska [Sat, 23 Oct 2021 00:16:40 +0000 (02:16 +0200)]
svg_loader: requested changes applied

2 years agosvg_loader: gradient handling and recalculation changed
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).

2 years agocapi: added pointer validation
Mira Grudzinska [Fri, 22 Oct 2021 11:49:44 +0000 (13:49 +0200)]
capi: added pointer validation

2 years agodoc: updated api doc.
Hermet Park [Sat, 23 Oct 2021 02:52:10 +0000 (11:52 +0900)]
doc: updated api doc.

use @retval for the multiple return values.

2 years agosvg loader: converting the image path to the absolute one
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.

2 years agowasm: update the code.
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()

2 years agocommon: code refactoring
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

2 years agotests: fill transformation tests added
Mira Grudzinska [Fri, 22 Oct 2021 10:33:50 +0000 (12:33 +0200)]
tests: fill transformation tests added

2 years agoapi: not allow the inheritance of the Saver.
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.

2 years agocommon: replace the id() -> identifier()
Hermet Park [Fri, 22 Oct 2021 07:18:35 +0000 (16:18 +0900)]
common: replace the id() -> identifier()

2 years agotest: API coverage up
Hermet Park [Fri, 22 Oct 2021 06:15:33 +0000 (15:15 +0900)]
test: API coverage up

Added identifier() test cases.

2 years agocommon: Introduce class type identifier apis.
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

2 years agocommon: Fix typo
신지예 [Fri, 22 Oct 2021 09:11:11 +0000 (18:11 +0900)]
common: Fix typo

Change-Id: Idfd45fc9eb3beb1ad720492e55888db57745aaca

2 years agopng_loader meson: Remove dependency check using find_library()
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.

2 years agocommon: Fix typo
Ji2z [Fri, 22 Oct 2021 03:27:31 +0000 (12:27 +0900)]
common: Fix typo
Fix typo backeneds to backends

Change-Id: Idd13c3972ba2fa0fddc2a1eb706c55a9ea46674f

2 years agoupdated README.md
Hermet Park [Fri, 22 Oct 2021 03:33:07 +0000 (12:33 +0900)]
updated README.md

2 years agoUpdate README.md
Hermet Park [Fri, 22 Oct 2021 03:15:42 +0000 (12:15 +0900)]
Update README.md

2 years agodocs: updated example resource.
Hermet Park [Fri, 22 Oct 2021 03:09:32 +0000 (12:09 +0900)]
docs: updated example resource.

2 years agoloader png: support static png loader
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

2 years agosvg_loader: code refactoring.
Hermet Park [Thu, 21 Oct 2021 06:15:07 +0000 (15:15 +0900)]
svg_loader: code refactoring.

cast to proper value type.

2 years agosvg_loader XMLParser: Clean up parameter 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

2 years agosvg_loader XMLParser: Refacotring simpleXmlParse method
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.

2 years agoupdated license
Hermet Park [Wed, 20 Oct 2021 13:50:07 +0000 (22:50 +0900)]
updated license

Add missing original copyright texts in the source code.

2 years agoRevert "common: Update license infomation"
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.

2 years agocommon: Update license infomation
JunsuChoi [Wed, 20 Oct 2021 07:01:43 +0000 (16:01 +0900)]
common: Update license infomation

Update LICENSE by adding BSD license.

2 years agosvg_loader: fix potential mem corruption in _idFromUrl function
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.

2 years agocommon: new api for a grad transformation
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.

2 years agocommon: Fix typo
JunsuChoi [Tue, 19 Oct 2021 06:49:50 +0000 (15:49 +0900)]
common: Fix typo

2 years agocapi: example modified
Mira Grudzinska [Sun, 17 Oct 2021 23:39:54 +0000 (01:39 +0200)]
capi: example modified

2 years agosvg_loader util: fix the floating constant truncated to zero issue.
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

2 years agosvg_loader: fixing viewBox clipping
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

2 years ago[Tizen] common: Change dlog tag name for VD profile 31/265331/1
JunsuChoi [Fri, 15 Oct 2021 04:19:03 +0000 (13:19 +0900)]
[Tizen] common: Change dlog tag name for VD profile

Change-Id: Id9c8e235fe86f690b3a9dee2ea0caae954aae0bd

2 years agosvg_loader util: fix missing quot
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'

2 years agoUpdate README.md
Hermet Park [Thu, 14 Oct 2021 07:18:46 +0000 (16:18 +0900)]
Update README.md

2 years agoUpdate README.md
Hermet Park [Thu, 14 Oct 2021 07:16:26 +0000 (16:16 +0900)]
Update README.md

2 years agoAdd files via upload
Hermet Park [Thu, 14 Oct 2021 07:16:06 +0000 (16:16 +0900)]
Add files via upload

2 years agoDelete example_tvg.png
Hermet Park [Thu, 14 Oct 2021 07:15:21 +0000 (16:15 +0900)]
Delete example_tvg.png

2 years agoAdd files via upload
Hermet Park [Thu, 14 Oct 2021 07:14:09 +0000 (16:14 +0900)]
Add files via upload

2 years agoDelete example_tvg.png
Hermet Park [Thu, 14 Oct 2021 07:13:34 +0000 (16:13 +0900)]
Delete example_tvg.png

2 years agoUpdate README.md
Hermet Park [Thu, 14 Oct 2021 07:12:36 +0000 (16:12 +0900)]
Update README.md

2 years agoAdd files via upload
Hermet Park [Thu, 14 Oct 2021 07:12:04 +0000 (16:12 +0900)]
Add files via upload

2 years agoDelete example_tvg.png
Hermet Park [Thu, 14 Oct 2021 07:11:37 +0000 (16:11 +0900)]
Delete example_tvg.png

2 years agoinfra: add "all" option for tools.
Hermet Park [Wed, 13 Oct 2021 11:24:21 +0000 (20:24 +0900)]
infra: add "all" option for tools.

just for developer convenience.

2 years agocapi: change defines to enum
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.

2 years agotests: saver capis added into the tests
Mira Grudzinska [Wed, 13 Oct 2021 11:46:41 +0000 (13:46 +0200)]
tests: saver capis added into the tests

2 years agowasm: saveTvg add compress option
Michal Maciola [Wed, 13 Oct 2021 09:12:52 +0000 (11:12 +0200)]
wasm: saveTvg add compress option

2 years agosvg_loader util: just fix a typo
Hermet Park [Wed, 13 Oct 2021 11:12:51 +0000 (20:12 +0900)]
svg_loader util: just fix a typo

exponet -> exponent

2 years agosvg_loader util: code refactoring
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.

2 years agocapi: tvg_swcanvas_set_mempool capi added (#903)
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

2 years agobindings capi: code refactoring
Hermet Park [Wed, 13 Oct 2021 10:02:55 +0000 (19:02 +0900)]
bindings capi: code refactoring

fix for code consistency, no logical changes.

2 years agocapi: saver capis added
Mira Grudzinska [Tue, 12 Oct 2021 14:32:06 +0000 (16:32 +0200)]
capi: saver capis added

2 years agocapi: introduced Tvg_Colorspace enum instead of defs
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.

2 years agotvg_saver: fix the argument of the sizeof call
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

2 years agosvg_loader: removed unused variable
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.

2 years agotests: tvg_gradient_duplicate added to the capi tests
Mira Grudzinska [Tue, 12 Oct 2021 21:43:38 +0000 (23:43 +0200)]
tests: tvg_gradient_duplicate added to the capi tests

2 years agocapi: tvg_gradient_duplicate() added
Mira Grudzinska [Tue, 12 Oct 2021 12:49:31 +0000 (14:49 +0200)]
capi: tvg_gradient_duplicate() added

2 years agodocs: ++
Mira Grudzinska [Tue, 12 Oct 2021 12:00:05 +0000 (14:00 +0200)]
docs: ++

2 years agodocs: saver module description ++
Mira Grudzinska [Mon, 11 Oct 2021 21:32:06 +0000 (23:32 +0200)]
docs: saver module description ++

2 years agosvg_loader: removed unnecessary casting
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

2 years agotools svg2tvg: remove unused header
Hermet Park [Mon, 11 Oct 2021 06:34:42 +0000 (15:34 +0900)]
tools svg2tvg: remove unused header

2 years agosvg2tvg: added missing array lib
Mira Grudzinska [Sun, 10 Oct 2021 22:13:11 +0000 (00:13 +0200)]
svg2tvg: added missing array lib

2 years agoall: fix warnings on MSVC
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

2 years agowasm: fix compilation
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__.

2 years agoexample: added image-embeded-jpeg.svg (#890)
Michal Maciola [Fri, 8 Oct 2021 15:38:18 +0000 (17:38 +0200)]
example: added image-embeded-jpeg.svg (#890)

2 years agoUpdate CONTRIBUTING.md
Hermet Park [Thu, 7 Oct 2021 10:59:33 +0000 (19:59 +0900)]
Update CONTRIBUTING.md

2 years agoinfra: renamed build badge names.
Hermet Park [Thu, 7 Oct 2021 06:24:16 +0000 (15:24 +0900)]
infra: renamed build badge names.

2 years agotest: ++safety.
Hermet Park [Thu, 7 Oct 2021 05:59:54 +0000 (14:59 +0900)]
test: ++safety.

add null handlings just in case.

2 years agotests: added tests for size and composite C apis
Mira Grudzinska [Tue, 5 Oct 2021 13:20:19 +0000 (15:20 +0200)]
tests: added tests for size and composite C apis

2 years agodocs: TVG logo svg file added to the docs directory
Mira Grudzinska [Thu, 30 Sep 2021 22:06:12 +0000 (00:06 +0200)]
docs: TVG logo svg file added to the docs directory

The logo path is changed in the Doxygen file.

2 years agoinfra : add window build (with loaders)
JunsuChoi [Thu, 7 Oct 2021 03:55:13 +0000 (12:55 +0900)]
infra : add window build (with loaders)

2 years agotests: fix stack overflow error in testPicture for windows
projectitis [Thu, 7 Oct 2021 05:51:07 +0000 (18:51 +1300)]
tests: fix stack overflow error in testPicture for windows

2 years agoall: fix compiler warnings
Mira Grudzinska [Fri, 24 Sep 2021 11:32:53 +0000 (13:32 +0200)]
all: fix compiler warnings

pow->powf and sqrt->sqrtf

2 years agoexamples, tests: replace backslashes with forward slashes for portability (#880)
projectitis [Wed, 6 Oct 2021 13:18:56 +0000 (02:18 +1300)]
examples, tests: replace backslashes with forward slashes for portability (#880)

* Replace backslashes with forward slashes

* Downgrade to older meson syntax

2 years agotest capi: update tvg_paint_get_bounds() utc.
Hermet Park [Fri, 1 Oct 2021 10:31:04 +0000 (19:31 +0900)]
test capi: update tvg_paint_get_bounds() utc.

The api has been changed by 060564cc938f3773467b56e66ccee0562b5192e3
update it according its change.

2 years agocapi: replaced bounds() api with the latest.
Hermet Park [Fri, 1 Oct 2021 10:15:39 +0000 (19:15 +0900)]
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);