Commit graph

181 commits

Author SHA1 Message Date
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
Shinwoo Kim
d349f73222 example: add script to execute all
This patch will save your time to check example.

  ./all.sh [interval time between examples, default is 1 second]
2021-12-24 14:01:55 +09:00
Hermet Park
100d98d82e common: Introduced Accessor for traversing the scene-tree.
Basically, this Accessor is a utility to debug the Scene structure,
by traversing the scene-tree by users.

You can search specific nodes to read the property information,
figure out the structure of the scene tree and its size.

We actually don't recommend you to touch the property unless you really
know the each paint's position and role because it's not visible, difficult to
understand its anatomy.

Also, You must underatnd that modifying the nodes of the scene will be going
well with both the art-design structure and the prorgram logic.

In this first version, Accessor only supports for the Picture class.

@example:

auto picture = tvg::Picture::gen();
picture->load("test.svg");

//The callback function from lambda expression.
//This function will be called for every paint nodes of the tree.
auto f = [](const tvg::Paint* paint) -> bool
{
    if (paint->identifier() == Shape::identifier()) {
        //override properties?
        uint8_t r, g, b, a;
        paint->fillColor(&r, &g, &b, &a);
        paint->fill(r / 2, g / 2, b / 2, a);
    }

    //You can return false, to stop traversing immediately.
    return true;
};

auto accessor = tvg::Accessor::gen();

picture = accessor->access(move(picture), f);

...

@Issue: https://github.com/Samsung/thorvg/issues/693
2021-12-23 11:54:44 +09:00
Hermet Park
0aefbc3fb8 examples: update tvg binaries. 2021-12-22 18:48:49 +09:00
Hermet Park
e258a2a662 sw_engine texmap: implemented fast span-edge anti-aliasing
This Anti-Aliasing mechanism is originated from Hermet Park's idea.
To understand this AA logic, you can refer this page:
www.hermet.pe.kr/122 (hermetpark@gmail.com)

@Issue: https://github.com/Samsung/thorvg/issues/161
2021-12-16 15:56:20 +09:00
Hermet Park
36da47af80 png_loaders: fix the wrong premultiplying operations.
It should not modify the alpha channel value while premultiplying
that turned out with the wrong visual result.

@Issue: https://github.com/Samsung/thorvg/issues/655
2021-12-13 23:46:15 -08:00
Hermet Park
4cdf648e14 sw_engine image: support non-premultiplied alpha images.
Previously, translucent png images are not displayed properly
due to alpha channels premultiplication.

This patch implements that missing part to support it properly
by introducing the Surface data between canvas engine & rasterizer

@Issue: https://github.com/Samsung/thorvg/issues/655
2021-12-02 17:10:12 +09:00
Hermet Park
3221e27e3e examples: replaced png resource to verify alpha channel.
alpha blending looks a bit awkward.. need to fix it.
2021-11-23 16:16:09 +09:00
Hermet Park
49294e9142 examples: remove boundary samples.
Removed these tests from the example since it's not so proper showcases
for user scenaro.
2021-11-22 17:40:06 +09:00
Hermet Park
e83a47b4c6 example stress: adjusted loading count.
This example loads all the svgs even if they are out of the screen space.
2021-11-19 16:12:25 +09:00
Hermet Park
840e4f54f0 example stroke: updated the sample 2021-11-19 13:32:13 +09:00
Hermet Park
823cc85238 examples: added image scale up/down samples. 2021-11-18 17:45:49 +09:00
Hermet Park
7152953df4 example boundary2: added image boundary check sample. 2021-11-18 10:41:00 +09:00
Mira Grudzinska
6be38fa431 example: added different stroke's caps 2021-11-17 23:56:37 +09:00
Hermet Park
c510ced623 example stroke: added vertical line samples. 2021-11-17 23:01:49 +09:00
Hermet Park
41b4b30269 examples: remove low quality sample images. 2021-11-17 12:42:00 +09:00
Hermet Park
5690f1ab0d examples pictures: updated for case cover.
+ test opacity
2021-11-15 18:07:24 +09:00
Hermet Park
cffc87e7b1 sw_engine raster: code refactoring.
keep the code thorvg convention.
2021-11-10 17:03:07 +09:00
Hermet Park
c31c77c0fb tvg_loader interpreter: tiny optmization
skip memory copy as possible.
2021-11-02 19:47:08 +09:00