Commit graph

249 commits

Author SHA1 Message Date
Hermet Park
b214fd23bc common canvas/scene: introduce paints() api that returns the list of the paints.
These new apis would enable users to easily modify the motion scene,
The data structure of the paints has been changed from an array to a list.

@APIs:
std::list<Paint*>& Canvas::paints() noexcept;
std::list<Paint*>& Scene::paints() noexcept;

@Deprecated:
Result Canvas::reserve(uint32_t size) noexcept;
Result Scene::reserve(uint32_t size) noexcept;

@Issue: https://github.com/thorvg/thorvg/issues/1203
2023-06-09 10:54:03 +09:00
Hermet Park
6cbc1de570 api: enhance Shape::stroke() method usage.
Designate a default value for alpha which is mostly optional.
2023-06-07 12:10:31 +09:00
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
Hermet Park
d4dc625481 examples MaskMethods: add a new example
This is introduced for Masking Methods.
2023-06-03 15:50:48 +09:00
Hermet Park
36919dc70f examples Texmap: extending the feature scenario. 2023-05-29 09:45:21 +09:00
Hermet Park
f4c9c4189e examples: changed the screen size. 2023-05-29 09:45:21 +09:00
Martin Capitanio
2a56c43c84 infra: Avoid meson warning.
WARNING:: You should add the boolean check kwarg to the run_command call.
         It currently defaults to false,
         but it will default to true in future releases of meson.
         See also: https://github.com/mesonbuild/meson/issues/9300
2023-05-22 00:06:08 +09:00
Hermet Park
7e1a647a36 examples: added InvLumaMasking sample. 2023-05-20 20:11:58 +09:00
Hermet Park
f2fdc380b4 fix compiler warnings on MacOS
warning: unqualified call to 'std::move' [-Wunqualified-std-cast-call]
2023-05-19 10:56:59 +09:00
Hermet Park
3626ded041 examples svg: adjust window size.
Still some display size is not enough large.
2023-05-19 10:35:24 +09:00
Hermet Park
d55ba07646 examples masking: updated for stroking composition. 2023-05-19 10:35:24 +09:00
Hermet Park
d8687314a6 common picture: fix a composition bug.
Previously, a picture with a half-translucent mask would not function correctly.
This fix addresses the bug by applying the expected composition step.

Note: Even after applying this patch, a half-translucent mask with shape fill alpha will still not work properly.
We should consider removing the fill alpha property, as it duplicates the Paint opacity.

@Issue: https://github.com/thorvg/thorvg/issues/1423
2023-05-17 11:11:55 +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
Hermet Park
41c41b538d examples: updated SVG samples.
increase the canvas to afford more resources.
2023-05-16 11:46:28 +09:00
Hermet Park
9d9f38c875 common: code refactoring
Replace standard casting with tvg::cast()
2023-05-15 12:07:55 +09:00
Hermet Park
4513bc1c4d examples tvg: updated samples
TvgSaver has been updated by 77114a8ac8
2023-05-11 02:01:40 +09:00
Hermet Park
54ef8a5e50 infra: updated tvg resources 2023-05-10 14:35:42 +09:00
Hermet Park
737b89471a examples: ++performance test
Add masking to figure out the perf result.
2023-05-08 10:55:03 +09:00
Hermet Park
0ce2208be0 examples masking: added nested masking scenario. 2023-05-08 10:55:03 +09:00
Hermet Park
f8c45cb175 examples image: ++sample svg 2023-05-03 22:08:16 +09:00
Hermet Park
5d930e51e4 test/examples: -- deprecated apis call warnings.
Result load(const char* data, uint32_t size, bool copy = false)
-> Result load(const char* data, uint32_t size, const std::string& mimeType, bool copy = false)

Result bounds(float* x, float* y, float* w, float* h)
-> Result bounds(float* x, float* y, float* w, float* h, bool transformed)
2023-04-22 18:32:22 +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
a0fbe7db41 example: add an example SceneClipper 2023-04-16 22:03:36 +09:00
Hermet Park
08b833b5bb examples: added sample svgs 2023-04-16 13:08:15 +09:00
Mira Grudzinska
9102f66948 examples: preventing undef behavior
Calling get() on a unique pointer after
it has been moved is the undefined behavior.
2023-04-04 10:55:50 +09:00
Hermet Park
8175f8dd2a example: correct clipper usage.
it has been changed by 0de3872be3
2023-01-22 10:13:52 +09:00
Mira Grudzinska
b701bfc91c examples: ClipPath's modified
The opacity/alpha value doesn't need to be set
for clips any more.
2023-01-19 23:21:34 +01: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
5bc6f4881a examples: fixing the crash for disabled loaders
ImageScaleUp/ImageScaleDown fixed.
2023-01-07 10:48:40 +09:00
Hermet Park
4082a13527 examples: keep aspect ratio of svg images.
changed by 3939b61770
2023-01-07 02:28:48 +09:00
Mira Grudzinska
4bdb58a8ca examples: fixing building errors on macOS
Reference to the 'count' was ambiguous (var name / std::count).
2022-12-14 10:41:42 +09:00
Hermet Park
d958fc7971 saver/loader tvg: support picture mesh properties.
this mesh properites newly introduced in v0.8
(see: 3dd65dfed0)

tvg saver/loader should implement mesh support to
properly capture/replay the scene snapshot.

@Issue: https://github.com/Samsung/thorvg/issues/1242
2022-12-08 22:29:29 +09:00
Hermet Park
dc583325b3 examples TvgSaver: code refactoring.
extracted functions for a better readiabilty.
2022-12-07 14:56:25 +09:00
Hermet Park
f03b260b19 examples tvg: added texmap use-case. 2022-12-07 14:22:04 +09:00
JunsuChoi
3ba0b8adff common Accessor: Add access API using std::function 2022-11-25 15:25:49 +09:00
Hermet Park
67b48ab772 examples: Added Texmap
added texture mapping example.

@Issues: https://github.com/Samsung/thorvg/issues/1241
2022-09-14 11:36:21 +09:00
Hermet Park
e2057d10f1 examples: updated svg.
revised the logic to align svg images in the center of the grids.

this is the subsequent changes to 3939b61770.
2022-09-02 12:10:36 +09:00
Hermet Park
5fa8aac2aa examples: fix a compilation error on windows.
../src/examples/Performance.cpp:32:8: error: 'uint' does not name a type; did you mean 'u_int'?
   32 | static uint cnt = 0;
      |        ^~~~
      |        u_int

@Issues: https://github.com/Samsung/thorvg/issues/1247
2022-08-23 22:44:24 +09:00
Rémi Verschelde
46c3fc1f94 Format code files with dos2unix, ensure newline at EOF 2022-07-10 23:21:05 +09:00
Hermet Park
49c6336b33 examples - updated a resource usage 2022-03-08 18:39:32 +09:00
Hermet Park
6276175d5b prepare tvg v0.8 release
updated tvg binaries, back up them for backward compatibility test.
2022-03-08 18:25:48 +09:00
Hermet Park
143cb83515 examples: adds a new sample svg 2022-02-14 14:38:39 +09:00
Hermet Park
5f40449c3d example: just renamed the svg file. 2022-02-08 18:02:20 +09:00
Mira Grudzinska
0e4211fb96 example: cssStyle.svg add
For now it's a simple file used to check the styling precedence
and overall correctness.
After the css stylling will be fully introduced a more complex file
can be used,
2022-02-08 18:01:00 +09:00
Hermet Park
cf5ce5d00c examples images: updated sample resources 2022-01-26 17:58:30 +09:00
Mira Grudzinska
74a99867df examples: terminate the same engine as was initialized 2022-01-21 23:55:17 +01:00
Hermet Park
f0141e63de updated copyright date. 2022-01-12 14:08:48 +09:00
Michal Maciola
a18f85cca8
example: added LumaMasking.cpp (#621)
Added an example LumaMasking.cpp that tests CompositeMethod::LumaMask
2021-12-30 15:56:25 +01:00
Hermet Park
906679cbeb infra: just changed naming. 2021-12-24 14:04:08 +09:00