Commit graph

25 commits

Author SHA1 Message Date
Hermet Park
0399d84478 common paint: introduce opacity() method.
We introduced separate opacity interface to adjust alpha value by paint.
This opacity will affect to whole paint image if paint is a group of paints.

Also, this opacity is to multipy with fill/stroke alpha values.
This means if the opacity is valid, the paint might deal with a composition step,
which is very expensive due to additional rendering step.

One tip is, if you want to toggle on/off for a certian paint,
you can set opacity to 255 or 0.

@API Additions:

Result Paint::opacity(uint8_t o) noexcept;
uint8_t Paint::opacity() const noexcept;

@Examples: examples/Opacity

@Issues: 94
2020-10-26 19:23:54 +09:00
Hermet Park
da4b57e763 examples fillrule: revise code.
just adjusted start points for better visual.
2020-10-26 17:13:02 +09:00
Hermet Park
73c7782749 examples svgs: replace logo design resource.
White background is our official thorvg logo,
cyan is for Tizen customed.
2020-10-26 16:52:52 +09:00
Hermet Park
c807010554 examples FillRule: added shape::fillRule() example
one shape shows Winding, the other one shows EvenOdd.
2020-10-22 13:50:04 +09:00
Hermet Park
3e5d3b06c3 improve svg logo design quality. 2020-10-14 17:51:33 +09:00
Hermet Park
32f40bf7b0 re-tourched logo design for better quality. 2020-10-13 17:23:11 +09:00
Hermet Park
2a239714af sw_engine: fix missing shape update issue.
It missed to update shape data if visilibity is changed from false to true by alpha.

Also, it needs to update engine shape data for every requests.

There scenario can be allowed,

1. update shape
2. change shape property
3. update shape
4. draw

previously engine could skip step 3, its result was not properly expected.

@fix #84
2020-10-13 17:07:54 +09:00
Hermet Park
31725b8d33 examples: update DirectUpdate
Shape::clear() method is changed.
Now it clear all properties, the examples must be updated.
2020-10-13 13:34:10 +09:00
Hermet Park
a8124f6782 Added thorvg logo svg resources,
Also replaced svg examples to use them.
2020-10-13 12:07:47 +09:00
Hermet Park
24a0a2554d
examples: add stacking example
This example shows how to restack paints node
2020-10-08 15:57:01 +09:00
Hermet Park
a200c6d4e2
common: code refactoring
renamed the enum CompMethod -> CompositionMethod

added FIXME comment
also clean up internals for less code.
2020-10-07 16:25:09 +09:00
Hermet Park
b5c301ba2d examples: add missing files. 2020-10-07 14:28:11 +09:00
Hermet Park
433746f2bd examples: removed test prefix 2020-10-07 14:04:08 +09:00
Hermet Park
4204030bbe examples: revise Stroke, StrokeLine 2020-10-07 13:48:09 +09:00
JunsuChoi
c70d1b1e45
SwRender & tvgPaint: Implement ClipPath feature (#68)
common sw_engine: Implement ClipPath feature

Paint object can composite by using composite API.
ClipPath composite is clipping by path unit of paint.
The following cases are supported.

Shape->composite(Shape);
Scene->composite(Shape);
Picture->composite(Shape);

Add enum
  enum CompMethod { None = 0, ClipPath };

Add APIs
  Result composite(std::unique_ptr<Paint> comp, CompMethod method) const noexcept;

* Example: Added testClipPath
2020-10-07 11:21:23 +09:00
Mira Grudzinska
48f1115b0b examples: testStrokeLine example expanded
Added dashed lines to circles and arcs.
2020-10-06 11:27:00 +09:00
mmaciola
145bafbec8
bindings/capi: Added gradient getter
Co-authored-by: Michal Maciola <m.maciola@samsung.com>
2020-09-23 15:09:08 +09:00
Hermet Park
ce69dcd416 examples: added stress test. 2020-09-23 14:42:52 +09:00
Hermet Park
87a0666034 common picture: implement duplicate() method. 2020-09-22 13:55:25 +09:00
Hermet Park
c1827df0a3 common scene: implement duplicate() method. 2020-09-22 13:24:00 +09:00
Hermet Park
a85540397c examples: update testDuplicate.
Added shape gradient fill to check duplication feature.
2020-09-21 19:22:47 +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
9893af979f replace license from Apache 2.0 to MIT
Change-Id: I61f7cb2b0e407bc035f3b2ec7da9b7f230057e24
2020-08-13 16:53:38 +09:00
Hermet Park
56e866dd36 renamed project name tizenvg => thorvg
we're going to open this project as the independent one,

thus removed tizen naming here.

Change-Id: Ib3c898067dd9186e893f7cb0903fd70d2ce7b31f
2020-06-25 13:57:41 +09:00
Hermet Park
c20274aaf8 + Initial draft
Introduce project skeleton such as build envrionment and interfaces
to build up code further cooperatively.

Change-Id: Ie9ac38991f609d33637283134906d7cc3f2ac19e
2020-03-25 11:53:03 +09:00