platform/core/graphics/tizenvg.git
4 years agogradient: added check for gradient start and end set for 0
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

4 years agoupdated .gitignore
Hermet Park [Tue, 6 Oct 2020 05:03:07 +0000 (14:03 +0900)]
updated .gitignore

Change-Id: I3bc0bc2c8f75355706d64ef9413826134d2b9198

4 years agoshape: fixing 'pie' option
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

4 years agoexamples: testStrokeLine example expanded
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

4 years agogl_engine: fix compile error. accepted/tizen_6.0_unified accepted/tizen_6.0_unified_hotfix tizen_6.0 tizen_6.0_hotfix accepted/tizen/6.0/unified/20201030.120901 accepted/tizen/6.0/unified/hotfix/20201103.050014 accepted/tizen/unified/20200928.072819 submit/tizen/20200927.213403 submit/tizen_6.0/20201029.205103 submit/tizen_6.0_hotfix/20201102.192503 submit/tizen_6.0_hotfix/20201103.114803 tizen_6.0.m2_release
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

4 years agogradient: Fixed radial gradient setter.
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

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

4 years agooptimization: cut off file dependencies.
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

4 years agobindings/capi: Added gradient getter
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>
4 years agoexamples: added stress test.
Hermet Park [Wed, 23 Sep 2020 02:59:44 +0000 (11:59 +0900)]
examples: added stress test.

Change-Id: I2e48dada86608b5494bc56bcc9fbec1f98936642

4 years agoSvgPath: When path end(Z,z), Current point are returned to starting point(M,m)
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

4 years agocommon picture: implement duplicate() method.
Hermet Park [Tue, 22 Sep 2020 04:47:23 +0000 (13:47 +0900)]
common picture: implement duplicate() method.

Change-Id: I2fae44b8981560cefd6430e068bf3221535090a5

4 years agocommon scene: implement duplicate() method.
Hermet Park [Tue, 22 Sep 2020 04:20:13 +0000 (13:20 +0900)]
common scene: implement duplicate() method.

Change-Id: I132776aa42a4f170bd3dd0c36a02dbdeaa9613f7

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

4 years agoexamples: update testDuplicate.
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

4 years agocommon fill: implement duplicate() method.
Hermet Park [Mon, 21 Sep 2020 10:20:51 +0000 (19:20 +0900)]
common fill: implement duplicate() method.

Change-Id: Ia47a13d4a124d91f84bd5ed755b831ea5c35e3ff

4 years agoUpdate README.md
Hermet Park [Fri, 18 Sep 2020 16:04:34 +0000 (01:04 +0900)]
Update README.md

Add examples section.

Change-Id: I0f6a954caebad0051490f894b3ea89e6fa26760b

4 years agoexamples: move tests to src/examples
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

4 years agobindings/capi: fix c compatibility warnings.
Hermet Park [Fri, 18 Sep 2020 14:36:33 +0000 (23:36 +0900)]
bindings/capi: fix c compatibility warnings.

Change-Id: Idcd5736851950459ea7ad4af96662ea64013be75
warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]

4 years agocommon: binary optimization. (#65)
Hermet Park [Fri, 18 Sep 2020 07:34:12 +0000 (16:34 +0900)]
common: binary optimization. (#65)

removed unique_ptr usages from pImpl pattern.
that increased binary size.

2204082 -> 2045672

Change-Id: Idb2c25769704b246d51dce6da5bf85b240787205

4 years agocommon: code refactoring. accepted/tizen/unified/20200923.024103 submit/tizen/20200920.213436
Hermet Park [Fri, 18 Sep 2020 03:14:01 +0000 (12:14 +0900)]
common: code refactoring.

revise duplicate() approach with stategy pattern.

Change-Id: Id829e6ed5bad481ed317f036ee82991a01faa1c1

4 years agoUpdate README.md
Hermet Park [Thu, 17 Sep 2020 11:57:43 +0000 (20:57 +0900)]
Update README.md

fix typos.

Change-Id: Ibd3b4b860e2223f2366cb7867d468c7cb913171c

4 years agobuild: renamed utilities to tools
Hermet Park [Thu, 17 Sep 2020 11:53:25 +0000 (20:53 +0900)]
build: renamed utilities to tools

Change-Id: Ia0675ebbbdfec9aeb8f97ff43804457b68cb30b4

4 years agoUpdate README.md
Hermet Park [Thu, 17 Sep 2020 11:49:47 +0000 (20:49 +0900)]
Update README.md

Change-Id: I7b1f3868b35cee3f1f10cb4606758607a8f57534

4 years agoUpdate README.md
Hermet Park [Thu, 17 Sep 2020 11:49:10 +0000 (20:49 +0900)]
Update README.md

Updated Svg to Png section.

Change-Id: I669fac4f0c2d05e4a55251ffedd8cae8b7ef4f76

4 years agoReadMe: Add description for svg2png (#62)
JunsuChoi [Thu, 17 Sep 2020 11:35:43 +0000 (20:35 +0900)]
ReadMe: Add description for svg2png (#62)

Change-Id: Ieec329b35070308614fa6f774e1b92f2c52e62b1

4 years agoUpdate README.md
Hermet Park [Thu, 17 Sep 2020 03:06:42 +0000 (12:06 +0900)]
Update README.md

retouch the layout and fix some grammars.

Change-Id: I9ee6a7abaa0a1b4e160639b7f3dbea5fc81851c5

4 years agoupdated gitignore
Hermet Park [Thu, 17 Sep 2020 02:30:31 +0000 (11:30 +0900)]
updated gitignore

Change-Id: I44923c66890b746c8fb09156aad093a315d48e52

4 years agocommon shape: fix grammar mistake.
Hermet Park [Thu, 17 Sep 2020 02:29:02 +0000 (11:29 +0900)]
common shape: fix grammar mistake.

array values are not copied by *a = *b;

Change-Id: Ic7b4efa9597778f0a6545a8f80155ba692abe08f

4 years agocommon path: code refactoring.
Hermet Park [Thu, 17 Sep 2020 02:28:05 +0000 (11:28 +0900)]
common path: code refactoring.

revise duplicate() method for clean & neat code.

Change-Id: I040c2a5f05094a284f870806faf2eaf569d8657d

4 years agoshape: added duplicate api.
Michal Szczecinski [Thu, 10 Sep 2020 10:55:08 +0000 (12:55 +0200)]
shape: added duplicate api.

Changes:
1. New shape->duplicate(Shape) api.
2. New example: testDuplicate
3. Added capi binding for duploicate api
4. Added capi duplication test in testCapi.c

Description:

Added implementation of duplicate api. For now it supports stroke
properties and shape properties (fill color, path) duplication.

TODO:
Implement gradient properties duplication

Change-Id: I69e006982aec946fd5a26e5be6d29c6191cd461f

4 years agotest: fix typo
Hermet Park [Wed, 16 Sep 2020 12:01:43 +0000 (21:01 +0900)]
test: fix typo

dash size must be 2, not 4.

Change-Id: Iefaa241bb330ca0a83401518d0415a9480197727

4 years agoUpdate README.md
Hermet Park [Wed, 16 Sep 2020 11:58:00 +0000 (20:58 +0900)]
Update README.md

Change-Id: I4f0e7f7749db9ef9424a17371d37cc3afaaf358a

4 years agoUpdate README.md
Hermet Park [Wed, 16 Sep 2020 11:48:29 +0000 (20:48 +0900)]
Update README.md

Change-Id: Ie4a13d75348c8e63b4822a497d60c16df077c77d

4 years agoUpdate README.md
Hermet Park [Wed, 16 Sep 2020 11:31:49 +0000 (20:31 +0900)]
Update README.md

Change-Id: I1d7067b871f51051611424cb209258349e2be1f9

4 years agoUpdate README.md
Hermet Park [Wed, 16 Sep 2020 11:28:56 +0000 (20:28 +0900)]
Update README.md

Change-Id: I7185f92c51a33f189eac4f8e46fdde9f027d3436

4 years agoREADME: updated example
Hermet Park [Wed, 16 Sep 2020 11:27:50 +0000 (20:27 +0900)]
README: updated example

Change-Id: I9dd2006af98a74766da63bd6f3192c3b5ba7a677

4 years agoUpdate README.md
Hermet Park [Wed, 16 Sep 2020 10:48:12 +0000 (19:48 +0900)]
Update README.md

Change-Id: I1ef76ccfb58dd8e5ca325174104cd89e4d90d321

4 years agoUpdate README.md
Hermet Park [Wed, 16 Sep 2020 10:45:00 +0000 (19:45 +0900)]
Update README.md

Change-Id: Ieb4a1e7135c88b79302d5a9fa9f41f08ca718b6e

4 years agoupdated README
Hermet Park [Wed, 16 Sep 2020 10:42:42 +0000 (19:42 +0900)]
updated README

Change-Id: Ie90c9db06824ce2028e35969b777e5d582018d58

4 years agoUpdate README.md
Hermet Park [Wed, 16 Sep 2020 10:32:43 +0000 (19:32 +0900)]
Update README.md

updated sample code

Change-Id: I9af0929d93da1d768876f4d02852dc8111ee9cc6

4 years agocapi: code refactoring (#58)
Hermet Park [Wed, 16 Sep 2020 10:00:19 +0000 (19:00 +0900)]
capi: code refactoring  (#58)

* capi: refactoring code.

init/term method allows mixing enum values,
we don't need to call them separatetly.

Change-Id: I900137b5578173895ba695c86703ee0035f19e69

4 years agocapi: correct interfaces.
Hermet Park [Wed, 16 Sep 2020 08:53:24 +0000 (17:53 +0900)]
capi: correct interfaces.

put missing const parameter and correct set/get naming.

attention, these two apis are changed!

tvg_gradient_color_stops() => tvg_gradient_set_color_stops()
tvg_gradient_spread() = tvg_gradient_set_spread()

Change-Id: I309b973b8e88bdf33232f95e5da30061b9c2a22b

4 years agobindings/capi: Added path getters + test in testCapi.c
Piotr Kalota [Tue, 15 Sep 2020 12:06:05 +0000 (14:06 +0200)]
bindings/capi: Added path getters + test in testCapi.c

Change-Id: I5ce453509d16c06f5649f08fcd2d16414e7e0f18

4 years agobin svg2png: revise abe7187f5bd3041609ee27b8637b6d55d7353bf0
Hermet Park [Wed, 16 Sep 2020 02:22:54 +0000 (11:22 +0900)]
bin svg2png: revise abe7187f5bd3041609ee27b8637b6d55d7353bf0

revise previous patch code.

1. turned off it in default.
2. + copyright declaration.
3. fix coding convention.

Change-Id: I52577a21240a2abec3ee9a99c0f6614740d65540

4 years agoThorVG/Utils: Convert svg to png (#8)
JunsuChoi [Wed, 16 Sep 2020 02:11:50 +0000 (11:11 +0900)]
ThorVG/Utils: Convert svg to png (#8)

* thorVG/example: added thorVG example app to convert svg to png

Rasterazing the svg file and extracting it as a png file.
The png encoder uses the 'lodepng' library.
(https://lodev.org/lodepng/)

Usage:
   svg2png [svgFileName] [Resolution] [bgColor]

Examples:
    $ svg2png input.svg
    $ svg2png input.svg 200x200
    $ svg2png input.svg 200x200 ff00ff

* ThorVG/Utils: Change examples to utils

* ThorVG/Utils: Move svg2png from util to src/bin

Renamed the build option for svg2png.

Change-Id: Ifa4f3bfc94c1df2f6e207b07ad523a882e754886

4 years agobindings/capi: Added stroke/gradient getters.
Michal Szczecinski [Tue, 15 Sep 2020 06:29:32 +0000 (08:29 +0200)]
bindings/capi: Added stroke/gradient getters.

Change-Id: I2b08b9f8867baa4614274c7848e599690c321215

4 years agocommon: fix compiler warnings.
Hermet Park [Tue, 15 Sep 2020 03:35:52 +0000 (12:35 +0900)]
common: fix compiler warnings.

Change-Id: I4462c9ed073e8ed4ae777e21a57f00481406b931
warning: some methods overrides a member function but is not marked 'override' [-Winconsistent-missing-override]

4 years agosw_engine: fix build warning
Hermet Park [Tue, 15 Sep 2020 03:29:54 +0000 (12:29 +0900)]
sw_engine: fix build warning

Change-Id: I5c5e7bcb4e038b10193a02517b9f7598d48154eb
warning: absolute value function 'fabsf' given an argument of type 'double' but has parameter of type 'float' which may cause truncation of value [-Wabsolute-value]

4 years agosw_engine: code refactoring.
Hermet Park [Tue, 15 Sep 2020 03:26:57 +0000 (12:26 +0900)]
sw_engine: code refactoring.

removed unused macro.

Change-Id: I894050103e4c4a939da4f4cb526759a40a9ccd58

4 years agoSvgLoader: Fix wrong display when dasharray size is 1
JunsuChoi [Tue, 15 Sep 2020 02:39:08 +0000 (11:39 +0900)]
SvgLoader: Fix wrong display when dasharray size is 1

If dash array size is 1, it means that dash and gap size are the same.

Change-Id: I40efd6e9152bee013d735a131cbfe5bde65e3783

4 years agoUpdate README.md
JunsuChoi [Mon, 14 Sep 2020 11:54:55 +0000 (20:54 +0900)]
Update README.md

Add build status

Change-Id: Iddc00e94cf865878153a8f445102f437dd51a9f1

4 years agoAdd travis ci build
JunsuChoi [Mon, 14 Sep 2020 11:50:09 +0000 (20:50 +0900)]
Add travis ci build

Change-Id: Iabe0669b1b55f8cdb1c851b7252a6c768e934bdf

4 years agoUpdate README.md
Hermet Park [Fri, 11 Sep 2020 10:49:22 +0000 (19:49 +0900)]
Update README.md

Fix typo

Change-Id: If5af278c08d84b7bb183dda61f3426b16272bfbf

4 years agoSvgLoader: Fixing issues with a A/a command
Mira Grudzinska [Thu, 10 Sep 2020 11:48:06 +0000 (13:48 +0200)]
SvgLoader: Fixing issues with a A/a command

Cmd 'A' from an svg path should not be connected with any other commands via the control points.

Change-Id: I3ef798693660263f16a74d9f068b341f78ecee6e

4 years agosvg_loader: fixing issue with parsing an svg path (A/a cmd)
Mira Grudzinska [Wed, 9 Sep 2020 21:31:30 +0000 (23:31 +0200)]
svg_loader: fixing issue with parsing an svg path (A/a cmd)

The large_arc and sweep flags should be type checked and
whether their value is 1 or 0.

Change-Id: Ia122cd651e8efab06e68cd45cfa252eedbb0e848

4 years agoupdated AUTHORS accepted/tizen/unified/20200914.131341 submit/tizen/20200913.215058
Hermet Park [Fri, 11 Sep 2020 02:15:00 +0000 (11:15 +0900)]
updated AUTHORS

Change-Id: I20ae1591ed854d57eed1063a0ecdc481de86b562

4 years agoSvgLoader: Fix missing doc.gradients update
JunsuChoi [Thu, 10 Sep 2020 11:13:31 +0000 (20:13 +0900)]
SvgLoader: Fix missing doc.gradients update

When both <defs> and <svg> gradients are declared,
the update of gradient declared in <svg> is omitted.
Therefore, this patch fixes any missing gradient updates.

Change-Id: I21f5c31dbc679f8308e19c17bf942b23c4b2bebe

4 years agoSvgLoader: Modify calculation formula of linear gradient matrix
JunsuChoi [Thu, 10 Sep 2020 10:00:16 +0000 (19:00 +0900)]
SvgLoader: Modify calculation formula of linear gradient matrix

When there is a matrix of linear gradient, the applied formula is this.
= T(x - cx, y - cy) x g->transform x T(cx, cy)
This patch has modified this formula to work properly.

Change-Id: I861b796f5c0b375a318e444446eff82a0e922e8a

4 years agosw_engine: code refactoring.
Hermet Park [Thu, 10 Sep 2020 06:28:44 +0000 (15:28 +0900)]
sw_engine: code refactoring.

use macro for single maintenance.

Change-Id: I8a76b5f13abc371cd1f9fa3c9d797becc294f0b2

4 years agosw_engine: the check if the stroke width > 0 after conversion its value from float...
Mira Grudzinska [Tue, 8 Sep 2020 13:30:41 +0000 (15:30 +0200)]
sw_engine: the check if the stroke width > 0 after conversion its value from float to long

During stroke width interpolation, if the width value after conversion
to long was 0, the bbox size was undefined.

Change-Id: I9425b9c16665bdb8346bd00092f73c109cbf9fb9

4 years agoUpdate README.md
Hermet Park [Thu, 10 Sep 2020 01:53:44 +0000 (10:53 +0900)]
Update README.md

Change-Id: I44554322cdca1b716459d197b60e576d0cb81861

4 years agoSvgLoader: Supports case when only rx or ry is declared
JunsuChoi [Wed, 9 Sep 2020 10:36:15 +0000 (19:36 +0900)]
SvgLoader: Supports case when only rx or ry is declared

In relation to the declaration of rx and ry attribute of rect, the following three cases occur.
rx="10" (or ry="10"
rx="10" ry = "0" (or rx="0" ry = "10")
rx="10" ry = "10"
To cover these case, we check the rx and ry declarations.

Change-Id: Ibf1d258a093319ce21b2b907eee58f2a45f17352

4 years agoUpdate README.md
Hermet Park [Wed, 9 Sep 2020 02:11:24 +0000 (11:11 +0900)]
Update README.md

Change-Id: I82d5ff41586a65d4694b766bd5a7979e48e22ae2

4 years agosw_engine: fix shape rendering skip issue.
Hermet Park [Wed, 9 Sep 2020 01:52:45 +0000 (10:52 +0900)]
sw_engine: fix shape rendering skip issue.

tvg canvas must draw retained shapes for every draw call
even though user missed call update() for shapes.

that case canvs must draw shapes without update,
it means drawing them within previous condition.

Change-Id: If15933bd1a04cd3c55dc04a7913f4833094b2b5d

4 years agochanged file permission
Hermet Park [Tue, 8 Sep 2020 11:29:24 +0000 (20:29 +0900)]
changed file permission

Change-Id: Ic39e9e678584f7f46f730799d90c66b063b9817b

4 years agogl_engine: fix by coding convention.
Hermet Park [Tue, 8 Sep 2020 06:24:00 +0000 (15:24 +0900)]
gl_engine: fix by coding convention.

A *a; (x)
A* a; (o)
A &a; (x)
A& a; (o)

Change-Id: I1b9f176293252266938920900fed04996effce7e

4 years agogl_engine: gradient implementation 25/243225/3
Pranay Kumar Samanta [Fri, 4 Sep 2020 04:56:28 +0000 (10:26 +0530)]
gl_engine: gradient implementation

Change-Id: If2413328437847d52ba1badc3b5c510fdd47ccd3

4 years agoUpdate README.md
Hermet Park [Tue, 8 Sep 2020 03:27:30 +0000 (12:27 +0900)]
Update README.md

Change-Id: Ib828a44f2be3876e47d6aa826c2950817ad7b207

4 years agoUpdate README.md
Hermet Park [Tue, 8 Sep 2020 03:26:23 +0000 (12:26 +0900)]
Update README.md

updated logo.

Change-Id: I1bcf3dddecd368247ea60782b5fc9ca09ae0f1fe

4 years agosvg_loader: refactoring code.
Hermet Park [Sat, 5 Sep 2020 10:49:05 +0000 (19:49 +0900)]
svg_loader: refactoring code.

merge loader class with task to simplfy code.

Change-Id: I89953b8842d061503caefe6932d515ce2ae54063

4 years agosvg_loader: remove dead code.
Hermet Park [Mon, 7 Sep 2020 08:57:41 +0000 (17:57 +0900)]
svg_loader: remove dead code.

default covers all left enumeration values.

Change-Id: I917d49a10be00ba9e8aab7a6a9cd3826ca43fddb

4 years agosw_engine: fix memory leak.
Hermet Park [Mon, 7 Sep 2020 08:40:39 +0000 (17:40 +0900)]
sw_engine: fix memory leak.

free resources properly at exceptional case.

Change-Id: Ie6c35f4b3dcb5c25fca945ea0bb4cbcb8aa52a8e

4 years agoUpdate README.md
Hermet Park [Mon, 7 Sep 2020 05:12:07 +0000 (14:12 +0900)]
Update README.md

Change-Id: I07f601da6e86fe32df4772babc8d2637958177cf

4 years agoREADME: introduced our new logo.
Hermet Park [Mon, 7 Sep 2020 05:08:14 +0000 (14:08 +0900)]
README: introduced our new logo.

Change-Id: I41f8f973b33eefe21515317a8ddacd1c32749d7a

4 years agotest: +++ missing test file. accepted/tizen/unified/20200907.045053 submit/tizen/20200906.212734
Hermet Park [Sat, 5 Sep 2020 10:05:17 +0000 (19:05 +0900)]
test: +++ missing test file.

Change-Id: Ib7459b9a31342a144f5bd708a73dd328d2a6bd24

4 years agocommon: fix context corruption among the multiple canvases.
Hermet Park [Sat, 5 Sep 2020 09:33:23 +0000 (18:33 +0900)]
common: fix context corruption among the multiple canvases.

previous implementation didn't consider multiple canvases,
multiple canvas shared one renderer engine that brought corrupted contexts.
Thus, each canvas instances should have designated renderer engine instances.

Now fixed.

Change-Id: I2649d55c4ba3bd44853006332b2ee83096906abe

4 years agoUpdate README.md
Hermet Park [Sat, 5 Sep 2020 05:26:56 +0000 (14:26 +0900)]
Update README.md

Update Sample code

Change-Id: I62cc381f06df664182cf304f4846328b26199fa4

4 years agoSvgLoader: Add Mask, ClipPath nodees as dummy.
JunsuChoi [Fri, 4 Sep 2020 10:34:28 +0000 (19:34 +0900)]
SvgLoader: Add Mask, ClipPath nodees as dummy.

Mask and clippath TAG are not supported yet.
If this TAG is used, the Child TAG declared with this TAG may cause problems.
To prevent that, declare them as Unknown types until they are supported. (display=none)

Change-Id: I0afac47d4e0bda92e7caa2234e605060d6cab901

4 years agoSvgLoader: Support DashArray attribute for stroke
JunsuChoi [Fri, 4 Sep 2020 07:26:12 +0000 (16:26 +0900)]
SvgLoader: Support DashArray attribute for stroke

It supports stroke-dasharray, one of the stroke properties of svg.
https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dasharray

Change-Id: Ief1317f56ec707e2a696fcbf355af805e4f041c5

4 years agoSvgLoader: Fix memory leak for loader's gradient
JunsuChoi [Fri, 4 Sep 2020 05:00:08 +0000 (14:00 +0900)]
SvgLoader: Fix memory leak for loader's gradient

Release the memory that was not released.

Change-Id: I33cd35d69e7a363ebd3292b01fe69aedc04a81f3

4 years agoSvgLoader: Add null check
JunsuChoi [Fri, 4 Sep 2020 04:56:24 +0000 (13:56 +0900)]
SvgLoader: Add null check

Since the pointer actually used inside the if condition is loader->def,
add a null check for this.

Change-Id: I5578553fcfef42b04d02bb0c6de012e5e0f586f2

4 years agoSvgLoaderCommon: Add initialization in SvgVector
JunsuChoi [Fri, 4 Sep 2020 04:53:36 +0000 (13:53 +0900)]
SvgLoaderCommon: Add initialization in SvgVector

A segfault occurs when calling clear() a list without push.
This patch prevents it.

Change-Id: Ifb238def28990c2ac9621affadf23803a5e01fb2

4 years agoSvgLoader: Gradient use non-premultipied color
JunsuChoi [Fri, 4 Sep 2020 03:23:20 +0000 (12:23 +0900)]
SvgLoader: Gradient use non-premultipied color

Follow color policy of tvg:Shape.

Change-Id: Id99f2e3dcfb3cdb245ba5ab947c997cc87b7ce41

4 years agosw_engine: step backward optimization.
Hermet Park [Fri, 4 Sep 2020 03:12:18 +0000 (12:12 +0900)]
sw_engine: step backward optimization.

As profiled, raster parallelization is not so efficient,
we revert this behavior.

We will come again with a better fine-tuned method.

Change-Id: I53ffb683c1b4e7d3be8d01ae79a1f8e9ac5c5019

4 years agoSvgLoader: Use non-premultipied color
JunsuChoi [Fri, 4 Sep 2020 03:11:08 +0000 (12:11 +0900)]
SvgLoader: Use non-premultipied color

Follow color policy of tvg:Shape.

Change-Id: I282c45de62225c01547988ec019cf31146524167

4 years agosvg_loader: prevent dangling node in exception case.
Hermet Park [Fri, 4 Sep 2020 02:47:16 +0000 (11:47 +0900)]
svg_loader: prevent dangling node in exception case.

We prefer the independent unit function behavior.

Change-Id: I1653e9cc0d8a8f3d7d2136a28151636d2c07530d

4 years agoSvgLoader: Remove unnecessary declaration
JunsuChoi [Fri, 4 Sep 2020 01:28:54 +0000 (10:28 +0900)]
SvgLoader: Remove unnecessary declaration

This declaration is no longer needed,
removing unnecessary actions.(69e8b54be2467f17418b84c8bc5819dce92a36b2)

Change-Id: Iac2d80ec420e8e9a3010c6ea7fd83f4416d4e05e

4 years agoSvgLoader: Do not delete the cloned node
JunsuChoi [Thu, 3 Sep 2020 10:18:49 +0000 (19:18 +0900)]
SvgLoader: Do not delete the cloned node

Reverted incorrectly modified code in 3b9bb51321bb9b6aa5aba78ac984915a8eb9d854.

The newly created node becomes a child of the parent parameter
and is deleted together when parsing ends.

Change-Id: I3043e6f115dca83dbcf21c7ec43946eb75b2812e

4 years agoSvgLoader: Fix pointing to wrong parent
JunsuChoi [Thu, 3 Sep 2020 10:18:12 +0000 (19:18 +0900)]
SvgLoader: Fix pointing to wrong parent

If defs type is open empty style, it is not included in stack.

Change-Id: I208fdbd86e47862e5b57f517aff5e34ee4dba91f

4 years agoSvgLoader: Prevent underflow when stack.cnt is 0
JunsuChoi [Wed, 2 Sep 2020 08:10:50 +0000 (17:10 +0900)]
SvgLoader: Prevent underflow when stack.cnt is 0

If graphic node is directly located in the <svg>(root) node,
it may cause underflow because stack.cnt is 0.

Change-Id: I04b8aac9354cb33a9e7b5d277e6681fbcecce975

4 years agoSvgLoader: Defs type nodes are not saved in loader's node list.
JunsuChoi [Wed, 2 Sep 2020 07:05:06 +0000 (16:05 +0900)]
SvgLoader: Defs type nodes are not saved in loader's node list.

If there is an empty (unused) <defs /> inside the svg file, this can cause problems.
<defs> node is managed separately in loader->def.
So it doesn't have to be added to loader's list.

Change-Id: Ic5d9e2ac247dd9ad022f9f7403b71c17537a557d

4 years agobindings/capi: Check invalid parameters in capi.
Michal Szczecinski [Tue, 1 Sep 2020 07:38:07 +0000 (09:38 +0200)]
bindings/capi: Check invalid parameters in capi.

Added checks to capi bindings to avoid crash when api is used
with invalid parameters.

Change-Id: Id141b8448730bea7a23b9a5bebe0fe33b734e2bd

4 years agosvg_loader: fix vector memory leaks.
Hermet Park [Tue, 1 Sep 2020 11:13:07 +0000 (20:13 +0900)]
svg_loader: fix vector memory leaks.

vector is designed for c++ syntaxes,
it works properly when c++ memory allocator is applied,

Here svg_loader uses c style structures which allocated using malloc()/calloc().
That brings the memory broken of stl vectors.

So, we replaced it with our customized SvgVector to easily fix it.

Change-Id: Iccf5090b13322671893bb8b185bba6d8253e96f5

4 years agotest async: fix wrong time unit. submit/tizen/20200901.214039
Hermet Park [Tue, 1 Sep 2020 11:40:18 +0000 (20:40 +0900)]
test async: fix wrong time unit.

Change-Id: I2ea2b2e6176cc3384bdfe2b5f96b7ee1dc42d93f

4 years agocanvas: fix memory leak.
Hermet Park [Tue, 1 Sep 2020 10:47:33 +0000 (19:47 +0900)]
canvas: fix memory leak.

call flush() to make engine sure working done before canvas is terminated.

Change-Id: I5769557801802ab3eb0868d2b6881aa053074bb1

4 years agosvg_loader: code refactoring 52/242852/2
Hermet Park [Tue, 1 Sep 2020 06:42:33 +0000 (15:42 +0900)]
svg_loader: code refactoring

revise code for simple & better readibility.

Change-Id: Idb20ac6c05b8dcd451a1627d796bf422f6d9d39f

4 years agosw_engine: fix memory leak. submit/tizen/20200830.214225
Hermet Park [Fri, 28 Aug 2020 10:16:01 +0000 (19:16 +0900)]
sw_engine: fix memory leak.

free dash outline stroke data memory properly.

Change-Id: I25bebc38c2d6d7f69d04f6288a5b6863324b70d6

4 years agocapi: fix memory leak.
Hermet Park [Fri, 28 Aug 2020 09:55:03 +0000 (18:55 +0900)]
capi: fix memory leak.

Here canvas type should be explicitly defined,
it deleted its instance as a Canvas.

Change-Id: I85664462cad675ba537a3e79f02ccd6f263f613b

4 years agoMerge "tvgShape: fixed missing check in Shape::fill" into tizen
Hermet Park [Fri, 28 Aug 2020 05:03:38 +0000 (05:03 +0000)]
Merge "tvgShape: fixed missing check in Shape::fill" into tizen