Vincent Torri [Thu, 5 Nov 2020 10:36:43 +0000 (11:36 +0100)]
fix compilation on Windows
Change-Id: Ie1cfe437abb250c87389e2f122cb2fda0c50e8dc
Hermet Park [Thu, 5 Nov 2020 07:34:14 +0000 (16:34 +0900)]
sw_engine rle: performance optimization.
Tis is a subsequential trial of
1b8188ee676eae5c690b1b88bb823b6ad126bb78
for opimizing memory alloc count.
In this time, it concentrates on rle span.
@Issues: 75
Change-Id: Ie7a0324c33856b2ac938f4300a280b5fb6d3b39f
Hermet Park [Thu, 5 Nov 2020 05:44:43 +0000 (14:44 +0900)]
Update README.md
Change-Id: I4022490bb0a206b5cbd77deeb0720de4d0b483dd
Hermet Park [Thu, 5 Nov 2020 05:43:32 +0000 (14:43 +0900)]
Update README.md
Change-Id: I8f7343ae0c3b41f6c1672afda40d1de4f1a7bd91
Hermet Park [Thu, 5 Nov 2020 04:57:21 +0000 (13:57 +0900)]
Update CONTRIBUTING.md
Change-Id: I5d7e3c08106c05912be07537fd7ddc09311da19b
Hermet Park [Wed, 4 Nov 2020 12:01:22 +0000 (21:01 +0900)]
Update README.md
Change-Id: Iddf24b5580e6157a966d1c38fde40a16c93adb4c
Hermet Park [Wed, 4 Nov 2020 11:58:54 +0000 (20:58 +0900)]
res: updated thorvg card images.
Change-Id: Ic527aad2533ea9de0b15a7e6f8d164b5bda2e880
Hermet Park [Wed, 4 Nov 2020 10:58:14 +0000 (19:58 +0900)]
sw_engine mempool: performance optimization.
This is a subsequential trial of
1b8188ee676eae5c690b1b88bb823b6ad126bb78
for opimizing memory alloc count.
In this time, it concentrates on stroke outline.
@Issues: 75
Change-Id: I0f73b83cb7aee51186455d2312fa77cdb434ab3d
Hermet Park [Wed, 4 Nov 2020 10:20:29 +0000 (19:20 +0900)]
sw_engine mempool: changed caching policy.
for smart usage, clear memory only when engine is terminated.
Change-Id: I377fd6f1953a50b64945cbf0e84c882aa1cb92d8
Hermet Park [Wed, 4 Nov 2020 10:18:59 +0000 (19:18 +0900)]
common sw_engine: code refactoring
replaced names and fixed out of coding convention.
Change-Id: I1a2f17a3da6ea38e7ef2c00ff787323267439e0e
Hermet Park [Wed, 4 Nov 2020 08:56:33 +0000 (17:56 +0900)]
examples: revise example code.
Move the Clear call to the end of drawing those scenarios doesn't need to retain paints resources.
We should show the examples as the best usage.
@Issues: 75
Change-Id: Ieea116077e578742d627b71fb5fad395a74dbc9d
Hermet Park [Wed, 4 Nov 2020 07:28:47 +0000 (16:28 +0900)]
sw_engine shape: performance optimization.
we introduced shared memory pool for avoiding reallocate memory
while it process the stroke outlines, It experimentally increase
the outline data if we use the allocated memory for multiples shape strokes,
we don't need to alloc/free memory during the process.
This shared outline memory is allocated for threads count
so that we don't interrupt memory access during the tasks.
@Issues: 75
Change-Id: I2794c4368e392fa774a5cf9a9fc771963427269a
Hermet Park [Wed, 4 Nov 2020 02:46:49 +0000 (11:46 +0900)]
res: polishing example pictures.
Change-Id: I83f085a843425d9f747183cd99dce2800a6ac706
Hermet Park [Wed, 4 Nov 2020 02:33:27 +0000 (11:33 +0900)]
Update README.md
Change-Id: I34d108e90bea2fb5278d3f0e2202730b270c37ab
Hermet Park [Wed, 4 Nov 2020 02:32:27 +0000 (11:32 +0900)]
Update README.md
Change-Id: Ie28f9b92e5ee8ec20966b6cedc7d1b6b40cdec4d
Hermet Park [Wed, 4 Nov 2020 02:28:34 +0000 (11:28 +0900)]
res: adds working-flow picture.
this picture will be used in README.
Change-Id: Id9f1ce6df61a19ce1bdefd302d5c809dd6a191d4
Michal Szczecinski [Tue, 3 Nov 2020 11:42:57 +0000 (12:42 +0100)]
common capi: Added opacity C bindings.
Added opacity setter/getter to CAPI. They will be useful to simplify
code responsible for set visiblility of paint.
@API Additions:
Tvg_Result tvg_paint_set_opacity(Tvg_Paint* paint, uint8_t opacity)
Tvg_Result tvg_paint_get_opacity(Tvg_Paint* paint, uint8_t* opacity)
Change-Id: Ifeae545d12d74f316b8d27b5e047c55f82a696fe
Hermet Park [Tue, 3 Nov 2020 07:23:29 +0000 (16:23 +0900)]
Update README.md
Change-Id: I19b6f77d80640ee7791e85a93cc2c1e38d92fcb7
Hermet Park [Tue, 3 Nov 2020 05:48:40 +0000 (14:48 +0900)]
Update README.md
Change-Id: I64a0d9afe5795fbd3305e7ac7ba4cb04026e522d
Hermet Park [Tue, 3 Nov 2020 05:45:52 +0000 (14:45 +0900)]
res: updated example screenshot resources
Change-Id: I4605c2b57206b447b40358e1272ecbf280fb8639
Hermet Park [Tue, 3 Nov 2020 05:45:44 +0000 (14:45 +0900)]
Update README.md
Change-Id: I0758a443349254d54e2dc7b86bd79d2a8b5bfa85
Hermet Park [Tue, 3 Nov 2020 05:42:33 +0000 (14:42 +0900)]
Update README.md
Change-Id: I5c713c8c3edeaae4f7a1fdddb436fca51e0331ff
Hermet Park [Tue, 3 Nov 2020 05:40:51 +0000 (14:40 +0900)]
res: replaced primitive example screenshot.
Change-Id: I243b0790ad7bf9649fcc992caae8371324497cda
Hermet Park [Tue, 3 Nov 2020 05:26:05 +0000 (14:26 +0900)]
Update README.md
Change-Id: I15dd7878ec85d703ee4af8ec9afeece171afc90a
Hermet Park [Tue, 3 Nov 2020 05:25:00 +0000 (14:25 +0900)]
Update README.md
Change-Id: I4059109d548b47cbeb170fcb2175e8d00ffaf0f4
Hermet Park [Tue, 3 Nov 2020 04:40:47 +0000 (13:40 +0900)]
common LoaderMgr: code refactoring
keep clean & neat thorvg coding style.
Change-Id: I9525b37922fd7a273677fb8522e7257d9d4fb611
Hermet Park [Tue, 3 Nov 2020 05:19:31 +0000 (14:19 +0900)]
res: adds primitive example screenshot.
Change-Id: I35fe24913d5f7e71436286b052c8e86a2ef75968
Hermet Park [Tue, 3 Nov 2020 05:07:58 +0000 (14:07 +0900)]
Update README.md
Change-Id: I91e6118d1c190397e687c9aff2f1d4623873967b
JunsuChoi [Thu, 22 Oct 2020 04:10:48 +0000 (13:10 +0900)]
svg_loader LoaderMgr: Delegates file validation check to LoaderMgr.
Delegates extension string check and header(open) check
for file to LoaderMgr.
This makes it easy to add a loader afterwards.
Change-Id: I93b355cdc78fe371b77ada56fe08e4dc47e0d5d5
Hermet Park [Mon, 2 Nov 2020 10:25:36 +0000 (19:25 +0900)]
sw_engine shape: code refactoring.
thorvg always prefer simpler code, less LOC.
Change-Id: I93a1314f5cd96c5080360f622940cf239e698c2e
Mira Grudzinska [Sun, 1 Nov 2020 15:38:14 +0000 (16:38 +0100)]
sw_engine shape: change of the rectangle fast tracking algorithm
The algorithm erroneously treated some shapes (like isosceles trapezoids
and specifically arranged zero width parallelograms) as rectangles,
which causes the whole bbox to be filled.
Change-Id: If5aa87c53cf174367841323ac813b28ead4871b4
JunsuChoi [Thu, 29 Oct 2020 08:48:09 +0000 (17:48 +0900)]
svg_loader: Fixed a typo
lenght ->length
Change-Id: I0d05b3ff1ae5dc6c8330a3f29a290feacd705c00
JunsuChoi [Thu, 29 Oct 2020 10:45:21 +0000 (19:45 +0900)]
test Canvas: Set up unit test based on gtest.
In test directory, set up unit_test based on gtest
First, add a test for SwCanvas generate.
Change-Id: I2b7ab96b5f7bc17408cc43cebda2ec731f73d1e7
JunsuChoi [Fri, 30 Oct 2020 02:54:03 +0000 (11:54 +0900)]
common lib/loaders: Fix missing space for coding convention
Correct missing or incorrect spaces according to coding convention.
Change-Id: If90d7c1926a99fe0ee6847920a8c08ecf6cec89f
JunsuChoi [Fri, 30 Oct 2020 03:07:15 +0000 (12:07 +0900)]
svg_loader SvgLoader: Fix wrong indentation
indent 3 -> 4
Change-Id: I9578df16f1300adff507e416bd1cd06646e4a58f
JunsuChoi [Fri, 23 Oct 2020 02:55:07 +0000 (11:55 +0900)]
svg_loader SvgLoader: Prevent memory overflow for tagName
When copying tagName, if length of referenced string is longer
than general case, it is not used as tagName.
Change-Id: I205b4eb58f97a75bed43caafe55de8f56e6700d4
Hermet Park [Mon, 26 Oct 2020 09:57:11 +0000 (18:57 +0900)]
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
Change-Id: Ie291890304230c34006fbe7f96a8707e01d9439c
Hermet Park [Mon, 26 Oct 2020 08:13:02 +0000 (17:13 +0900)]
xexamples fillrule: revise code.
just adjusted start points for better visual.
Change-Id: Ib1a121e5acd375bedc737cc56c2f9f5549ab110d
Hermet Park [Mon, 26 Oct 2020 07:52:52 +0000 (16:52 +0900)]
examples svgs: replace logo design resource.
White background is our official thorvg logo,
cyan is for Tizen customed.
Change-Id: Ic32b4cd9349daef7cb9eaea91da69f5b7b734cd8
Mira Grudzinska [Mon, 26 Oct 2020 01:13:30 +0000 (02:13 +0100)]
sw_engine shape: adding a dash pattern switch condition
Preventing switching to the next dash pattern for a line with a length of zero.
Change-Id: I364a39cbf99f14d0a3563c65f7523c288fe97a6d
Mira Grudzinska [Thu, 22 Oct 2020 23:32:52 +0000 (01:32 +0200)]
common shape: handling dash patterns < 1
For the dash pattern values (both, length and gap) < 1 the program crashed.
curLen - variable type changed from int to float.
Change-Id: I9a50f1d247c210de7e5017b652554d94f00eb875
Hermet Park [Thu, 22 Oct 2020 12:01:55 +0000 (21:01 +0900)]
common api: interface refactoring
returning color fill() method renamed to fillColor() as like others-strokeXXX, fillRule- do.
This change is for naming consistency.
Change-Id: I8022219514b829e78097ac2f308688129d586a05
Hermet Park [Thu, 22 Oct 2020 08:14:29 +0000 (17:14 +0900)]
sw_engine shape: support fillRule method
this change supports EvenOdd fillrule in shape rendering
@Examples: examples/FillRule.cpp
@Isuses: 97
Change-Id: Iff5ce7228cff607131a4725fb9b335561fc883d8
Hermet Park [Thu, 22 Oct 2020 05:55:22 +0000 (14:55 +0900)]
sw_engine renderer: fix aliasing shape outline result.
There a scenario detected that stroke 2 is not enough to cover
shape outlines. So make it bigger size.
Change-Id: Ic1042706ef8af1aa5d57f77e438e671faded4188
Hermet Park [Thu, 22 Oct 2020 04:36:29 +0000 (13:36 +0900)]
examples FillRule: added shape::fillRule() example
one shape shows Winding, the other one shows EvenOdd.
Change-Id: I5e0280c1caf72b2533cf1c40da232e0d984abb39
Hermet Park [Tue, 20 Oct 2020 10:36:26 +0000 (19:36 +0900)]
common fill: add fill-rule interface.
Fill rule is used to select how paths are filled.
For both fill rules, wheter or not a point is included in the fill is determined by taking a ray
from that point to infinity and looking at intersections with the path. The ray can be in any
direction, as long as it doens't pass through the end point of a segment or have a tricky
intersection such as intersecting tangent to the path.
@API Addtions:
enum class TVG_EXPORT FillRule { Winding = 0, EvenOdd };
Result Fill::rule(FillRule r) noexcept;
FillRule Fill::rule() const noexcept;
@Examples:
shape->rule(FillRule::EvenOdd);
@issue: 97
Change-Id: Ia282acd5f9d6154216683c1a65369a9a48220544
Mira Grudzinska [Thu, 15 Oct 2020 20:10:56 +0000 (22:10 +0200)]
Bezier curve: introducing BEZIER_EPSILON
BEZIER_EPSILON is used instead of EPSILON_FLT, because its
value was to small causing in some cases an infinite loop.
Change-Id: I90e25aed0d6138c2927d96cbbfea02e56d83c9ed
Hermet Park [Thu, 15 Oct 2020 11:37:53 +0000 (20:37 +0900)]
svg_loader XmlParser: just renamed file name to simplify.
XmlParser without "Simple" is enough to address itself.
Change-Id: Ib2d41d75674763be9e2757bb05c592d5fa655eaa
Shinwoo Kim [Thu, 15 Oct 2020 05:33:40 +0000 (14:33 +0900)]
wasm test: update sample index.html
Update index.html according to updated wasm interface.
Missed chance to update index.html during review.
Change-Id: Ib2ada27619e3bee6d500f0804209dbac076be30f
Hermet Park [Thu, 15 Oct 2020 03:14:50 +0000 (12:14 +0900)]
Update CONTRIBUTING.md
Change-Id: I8cd6512b93c91f9b7f190980b4422efa53e7e6d0
Hermet Park [Thu, 15 Oct 2020 03:09:08 +0000 (12:09 +0900)]
Update CONTRIBUTING.md
Change-Id: I03e3f6c3d2dc1f0f96a2bbae5432a801402dae1d
Hermet Park [Thu, 15 Oct 2020 03:04:05 +0000 (12:04 +0900)]
Update CONTRIBUTING.md
Change-Id: Id18191e2b7afd2a18d90d45a99a66c40bf06aad3
Hermet Park [Thu, 15 Oct 2020 03:01:01 +0000 (12:01 +0900)]
Create CONTRIBUTING.md
First guideline for contribution.
Change-Id: Ie52b32c1fcfe4127b295c1d29f55ea4b63245e74
Shinwoo Kim [Wed, 14 Oct 2020 08:26:14 +0000 (17:26 +0900)]
thorvg viewer: fix scale problem
If viewer calls load() with a data which does not have size changes of both
viewbox and canvas, then load() does not set a scale value.
This makes incorrect result on viewer side.
So thorvg wasm should set a scale value, whenever load() is called.
Change-Id: I2d29c56d9ae3295f86a2a78944f8cbd4a3cebbb4
Shinwoo Kim [Wed, 14 Oct 2020 08:43:04 +0000 (17:43 +0900)]
thorvg viewer: add getDefualtData interface
The 'getDefaultData' interface will be used when the svg data area
of thorvg viewer does not have any value.
Change-Id: I5eb8f0bae1d90432b25bf90ebd01403ee908d34f
Hermet Park [Wed, 14 Oct 2020 08:51:59 +0000 (17:51 +0900)]
svg_loader: fix wasm data type compile error.
Change-Id: Ie46ef91ccd032cda2a5c27a5811ab505616e0798
Hermet Park [Wed, 14 Oct 2020 08:50:32 +0000 (17:50 +0900)]
improve svg logo design quality.
Change-Id: I3d447db750f830db809b28ba7248564a6f6cba2b
Hermet Park [Tue, 13 Oct 2020 10:15:17 +0000 (19:15 +0900)]
Update README.md
Change-Id: Icd7b27ec9de21f18991f550b129a1072776d42a9
Hermet Park [Tue, 13 Oct 2020 10:13:46 +0000 (19:13 +0900)]
Update README.md
Change-Id: Id38719d554db7036418596075b843c0644130912
Shinwoo Kim [Tue, 15 Sep 2020 06:40:41 +0000 (15:40 +0900)]
thorvg viewer: introduce thorvg viewer
Support Emscripten wasm build for thorvg viewer
Change-Id: I0a70a721acb6446733f714a6d30273949b61be2c
Hermet Park [Tue, 13 Oct 2020 08:22:04 +0000 (17:22 +0900)]
re-tourched logo design for better quality.
Change-Id: I961ee405cf71f9e4a09723035676bfa7184e486b
Hermet Park [Tue, 13 Oct 2020 07:31:39 +0000 (16:31 +0900)]
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
Change-Id: Ia37ce4b68ba9cbcea5f590fa365abbee66e9b6cd
JunsuChoi [Tue, 13 Oct 2020 04:45:40 +0000 (13:45 +0900)]
tvgSvgLoader: Add points copy of missing polygon/polyline
When using <use> node, do atrribute copy.
At that time, when target(url) is polygon or polyline,
points array is not copied, causing a problem in output.
So, add missing array copy.
Change-Id: I0c8b295f4723a3e4d96831191073d49058d2923a
JunsuChoi [Tue, 13 Oct 2020 01:00:03 +0000 (10:00 +0900)]
tvgSvgLoader: Fix wrong bracket
Change-Id: I4ae7242816febbddf7b6d1cd05fffe3b8abc0fa6
JunsuChoi [Mon, 12 Oct 2020 06:35:28 +0000 (15:35 +0900)]
tvgSvgLoader: Add "clip-path" attribute
Below node types support clip-path.
<circle>
<ellipse>
<g>
<path>
<polygon>
<polyline>
<rect>
Change-Id: I45780fe56d85fe69ec09d1dea7241872c6acb956
JunsuChoi [Thu, 24 Sep 2020 02:52:26 +0000 (11:52 +0900)]
SvgLoader: Implement ClipPath style
Supports case of using style attribute for defined <clipPath>.
In SVG, <clipPath> can be used as a "clipPath" attribute or a style "clip-path".
This patch only supports "clip-path" of style is declared.
The remaining features will be added later.
[Example SVG case]
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" enable-background="new 0 0 64 64" xml:space="preserve">
<defs>
<clipPath id="clipPath">
<rect x="15" y="15" width="40" height="40" fill="#F00" />
<circle cx="20" cy="20" r="10" fill="#F00" />
</clipPath>
</defs>
<circle cx="25" cy="25" r="20"
style="fill: #0000ff; clip-path: url(#clipPath); " />
</svg>
Change-Id: Ie9b1000a52070ca86f67ce794413c3640784a079
Hermet Park [Tue, 13 Oct 2020 04:31:29 +0000 (13:31 +0900)]
examples: update DirectUpdate
Shape::clear() method is changed.
Now it clear all properties, the examples must be updated.
Change-Id: Ic5b971240b65738a24a5857a28e42f161ca234cb
Hermet Park [Tue, 13 Oct 2020 03:02:31 +0000 (12:02 +0900)]
Added thorvg logo svg resources,
Also replaced svg examples to use them.
Change-Id: I52b5f3af9cf379588d94fcbe0e477aac69e75e99
Hermet Park [Mon, 12 Oct 2020 11:17:42 +0000 (20:17 +0900)]
svg_loader: use designated fabsf() for float values.
fabs() is designed for double type,
but here it uses float type.
Change-Id: Icdc2d6c6541f029e4e8d406da49895d9169fa046
Hermet Park [Thu, 8 Oct 2020 07:37:39 +0000 (16:37 +0900)]
common shape: fix reset() bug. (#99)
Previous reset() doesn't implemented properly.
It resets only path data.
Now Shape resets all drawing properties.
Change-Id: I9385dec0fc1bf34724c85be133f7598a84339050
Hermet Park [Thu, 8 Oct 2020 06:57:01 +0000 (15:57 +0900)]
examples: add stacking example
This example shows how to restack paints node
Change-Id: I7a6fa0ed52976ff0adcdb9910f762c183b1fee86
JunsuChoi [Wed, 7 Oct 2020 11:01:39 +0000 (20:01 +0900)]
Travis-CI: Add build options
enable examples and svg2png tool
Change-Id: Ic89459496fc4be1e6d3f49da1909875484bf0cb1
Hermet Park [Thu, 8 Oct 2020 02:55:50 +0000 (11:55 +0900)]
common canvas: revise clear method.
Canvas::clear() introduces a new argument "free" that deterimes freeing the retained paints.
If free is true, Canvas won't delete the retained paints so that user keep paints valid.
In this scenario, user must have paints pointers, free them manually or push them again to the canvas.
This scenario is useful if user wants to re-organize paints order in the list or reuse them.
Change-Id: Ib8c9125dafed301430eee4cd293434b8d84c0ed7
JunsuChoi [Wed, 7 Oct 2020 07:27:50 +0000 (16:27 +0900)]
Add PULL_REQUEST_TEMPLATE.md (#92)
[Template]
- Description :
- Issue Tickets (if any) :
- Tests or Samples (if any) :
- Screen Shots (if any) :
Change-Id: I64e671ce55745db25e6b1b5d50585ca446bba05d
Hermet Park [Wed, 7 Oct 2020 07:25:09 +0000 (16:25 +0900)]
common: code refactoring
renamed the enum CompMethod -> CompositionMethod
added FIXME comment
also clean up internals for less code.
Change-Id: I5ac3c85fc7cbf8c37578be7b97455e763a898658
Hermet Park [Wed, 7 Oct 2020 05:33:17 +0000 (14:33 +0900)]
common bezier: code refactoring.
use a zero ranged macro.
Change-Id: I1b94518ef2785755663739d26ad693d596a32d21
Mira Grudzinska [Thu, 1 Oct 2020 01:09:36 +0000 (03:09 +0200)]
Bezier curve: improvement of the curve splitting algorithm
bezAt() function needed to be fixed.
Also the convergence in the while loop was sped up and
the break condition was changed.
Change-Id: I7571d2cbe7fd8a3207cc21e5a15892478877b6bf
Hermet Park [Wed, 7 Oct 2020 05:28:11 +0000 (14:28 +0900)]
examples: add missing files.
Change-Id: Id5da21d2c1981df2022c5581ae8f8c5fd19b7473
Hermet Park [Wed, 7 Oct 2020 04:57:10 +0000 (13:57 +0900)]
examples: removed test prefix
Change-Id: Ie7a897ebaac59701665a5340db31110599a63b8d
Hermet Park [Wed, 7 Oct 2020 04:48:09 +0000 (13:48 +0900)]
examples: revise Stroke, StrokeLine
JunsuChoi [Wed, 7 Oct 2020 02:21:23 +0000 (11:21 +0900)]
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
Change-Id: I7151607744ef7f567b6dd2a4bdb4062500197e66
Hermet Park [Wed, 7 Oct 2020 01:36:59 +0000 (10:36 +0900)]
sw_engine: code refactoring.
clean code for compaction.
Change-Id: I297a20a10835c880ab798f5e275f3abab2afa26d
Mateusz Palkowski [Mon, 5 Oct 2020 05:59:30 +0000 (07:59 +0200)]
gradient: added check for gradient start and end set for 0
Change-Id: I5edcf566843f935ce4f84e1a5edd1ff03b300b66
Hermet Park [Tue, 6 Oct 2020 05:03:07 +0000 (14:03 +0900)]
updated .gitignore
Change-Id: I3bc0bc2c8f75355706d64ef9413826134d2b9198
Mira Grudzinska [Thu, 1 Oct 2020 01:19:48 +0000 (03:19 +0200)]
shape: fixing 'pie' option
For a dashed arc with pie = 1 the closing line was missing.
Change-Id: Ida5ce74b50195bae2ebadb51c5b10d341ecbc0b9
Mira Grudzinska [Thu, 1 Oct 2020 00:41:50 +0000 (02:41 +0200)]
examples: testStrokeLine example expanded
Added dashed lines to circles and arcs.
Change-Id: Ie37cdf944c20e3c6cc1f941bfd8a9f7693cf4079
Hermet Park [Fri, 25 Sep 2020 04:56:47 +0000 (13:56 +0900)]
gl_engine: fix compile error.
After refactoring header includsion, gl_engine has a break at file dependencies.
now this fixes it.
Change-Id: I876e552392bd330b0c5dfe1821d7bfa046b50af8
Michal Szczecinski [Wed, 23 Sep 2020 09:41:32 +0000 (11:41 +0200)]
gradient: Fixed radial gradient setter.
Removed check for gradient radius. Because of check, x and y values
was ignored when radius equals 0 and api was not usable
in integration with external libs which sets gradient center and
radius in separeted functions.
Change-Id: I6af9ca489d158636db7f24f971a625b1d1813cb4
Hermet Park [Thu, 24 Sep 2020 08:05:25 +0000 (17:05 +0900)]
common: code refactoring.
Merge shape internal bodies to one (ShapePath => ShapeImpl),
for keeping less files.
Change-Id: I98ed3c032524f45189e1d30b4a7015410343984a
Hermet Park [Wed, 23 Sep 2020 11:51:40 +0000 (20:51 +0900)]
optimization: cut off file dependencies.
we should avoid code insertion during file dependencies,
such as #include "xxx.h" which has implementations.
This could increase binary size, we can avoid it as possible.
Current patch improves binary size like this:
From: file(
2059008) = text(120360) data(8096) bss(80) dec(128536)
To : file(
1921832) = text(118429) data(7872) bss(56) dec(126357)
More additional patches will come in to optmize binary size.
Change-Id: Iae826752bc80c161c075b5980a485fd27f42e896
mmaciola [Wed, 23 Sep 2020 06:09:08 +0000 (08:09 +0200)]
bindings/capi: Added gradient getter
Change-Id: Ia109c48cb4d3cf9bc753d52bbf486ad8e7233fa6
Co-authored-by: Michal Maciola <m.maciola@samsung.com>
Hermet Park [Wed, 23 Sep 2020 02:59:44 +0000 (11:59 +0900)]
examples: added stress test.
Change-Id: I2e48dada86608b5494bc56bcc9fbec1f98936642
JunsuChoi [Tue, 22 Sep 2020 05:28:51 +0000 (14:28 +0900)]
SvgPath: When path end(Z,z), Current point are returned to starting point(M,m)
When path ends with 'z' or 'Z' command, if 'm' comes as next command,
the current point is incorrectly referenced.
Since 'Z', 'z' means to close the path,
so, Save point and reuse it when 'M' or 'm' is called.
Change-Id: I6b47ec0d424dbc7dfc3bcf1344cf2ae4c15a1081
Hermet Park [Tue, 22 Sep 2020 04:47:23 +0000 (13:47 +0900)]
common picture: implement duplicate() method.
Change-Id: I2fae44b8981560cefd6430e068bf3221535090a5
Hermet Park [Tue, 22 Sep 2020 04:20:13 +0000 (13:20 +0900)]
common scene: implement duplicate() method.
Change-Id: I132776aa42a4f170bd3dd0c36a02dbdeaa9613f7
Hermet Park [Tue, 22 Sep 2020 01:56:53 +0000 (10:56 +0900)]
common fill: code refactoring
removed unique_ptr in the interface because it's hard to get polymorphism benefits in programming perspective.
Change-Id: I1c1fc0a0b5047f365efb17ece3645291a4719224
Hermet Park [Mon, 21 Sep 2020 10:22:47 +0000 (19:22 +0900)]
examples: update testDuplicate.
Added shape gradient fill to check duplication feature.
Change-Id: If2bbfb35d2a6cb4241bfcc8923788cd42512e733
Hermet Park [Mon, 21 Sep 2020 10:20:51 +0000 (19:20 +0900)]
common fill: implement duplicate() method.
Change-Id: Ia47a13d4a124d91f84bd5ed755b831ea5c35e3ff
Hermet Park [Fri, 18 Sep 2020 16:04:34 +0000 (01:04 +0900)]
Update README.md
Add examples section.
Change-Id: I0f6a954caebad0051490f894b3ea89e6fa26760b
Hermet Park [Fri, 18 Sep 2020 15:34:46 +0000 (00:34 +0900)]
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.
Change-Id: I60be4a45d520eab138e25212fbc4de3691bf1127