platform/core/graphics/tizenvg.git
3 years agosw_engine: fix data overflow case. 86/240986/1
Hermet Park [Thu, 13 Aug 2020 10:27:02 +0000 (19:27 +0900)]
sw_engine: fix data overflow case.

Change-Id: I01f90a8a6b3bca38142c8c16d1990b5b1a09d081

3 years agosw_engine renderer: initialize member data in default. 84/240984/1
Hermet Park [Thu, 13 Aug 2020 10:15:33 +0000 (19:15 +0900)]
sw_engine renderer: initialize member data in default.

static analizyer bothers us due to this.
we'd rather initialize members for free of them.

Change-Id: I23b769b94be7514a8bf6e6d683ddb90b3cd613c4

3 years agocommon: code refactoring. 83/240983/1
Hermet Park [Thu, 13 Aug 2020 10:13:17 +0000 (19:13 +0900)]
common: code refactoring.

we can return nullptr directly here.

Change-Id: I35e04dc9850b3b3b75e1e02b4c81a61b79f2c43f

3 years agosvg_loader: initialize member data in default. 82/240982/2
Hermet Park [Thu, 13 Aug 2020 10:08:34 +0000 (19:08 +0900)]
svg_loader: initialize member data in default.

static analizyer bothers us due to this.
we'd rather initialize members for free of them.

Change-Id: I6dd76427b0fe2f9ff09034fe3ab11080a8d72a2e

3 years agogl_engine renderer: initialize member data in default. 79/240979/1
Hermet Park [Thu, 13 Aug 2020 10:02:31 +0000 (19:02 +0900)]
gl_engine renderer: initialize member data in default.

static analizyer bothers us due to this.
we'd rather initialize members for free of them.

Change-Id: Ifa6ebffdfdcb31d2dd3a1d6b911226928f654e3f

3 years agosw_engine: remove unnecessary assert() call 78/240978/1
Hermet Park [Thu, 13 Aug 2020 10:00:09 +0000 (19:00 +0900)]
sw_engine: remove unnecessary assert() call

Change-Id: I7c665bab4ef867f912ea738480e6d9b2b63e014e

3 years agocommon_shape: fixed arc api to draw rectangles lower than 0. 79/240779/2
Michal Szczecinski [Tue, 11 Aug 2020 10:11:06 +0000 (12:11 +0200)]
common_shape: fixed arc api to draw rectangles lower than 0.

Absolute value is used to calculate number of bezier curves used
to approximate arc.

Change-Id: Idedd7fd73590d569417fc646fc7febdaaab65857

3 years agoreplace license from Apache 2.0 to MIT 65/240965/2
Hermet Park [Thu, 13 Aug 2020 07:50:32 +0000 (16:50 +0900)]
replace license from Apache 2.0 to MIT

Change-Id: I61f7cb2b0e407bc035f3b2ec7da9b7f230057e24

3 years agosw_engine: fix one last compile warning. 65/240465/1 accepted/tizen/unified/20200810.123122 submit/tizen/20200809.214919
Hermet Park [Thu, 6 Aug 2020 11:17:34 +0000 (20:17 +0900)]
sw_engine: fix one last compile warning.

casting to loss data in converting data type.

Change-Id: I4c9b45b1c015579807a2d44e0ff2734bd2f655f3

3 years agosvg_loader: fix compile warnings. 64/240464/1
Hermet Park [Thu, 6 Aug 2020 11:09:15 +0000 (20:09 +0900)]
svg_loader: fix compile warnings.

-- warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move]

Change-Id: I7dec55fe117d27217b7a29d5983b23cedadacb71

3 years agocommon: fix compiler warnings that loss data by mis-matched converision 63/240463/5
Hermet Park [Thu, 6 Aug 2020 10:50:44 +0000 (19:50 +0900)]
common: fix compiler warnings that loss data by mis-matched converision

these conversions are intented, we explicity use casting so that compiler doesn't
catch them anymore.

Change-Id: I9d905c7562c43929b040d034e5ee0d14c6750a80

3 years agocapi: Added C wrapper for setting spread type 04/240204/5
Mateusz Palkowski [Tue, 4 Aug 2020 10:11:24 +0000 (12:11 +0200)]
capi: Added C wrapper for setting spread type
and test

Change-Id: I3b4cd3740a82446fea60ed050814b03f32632f6d

3 years agofix compile warnings 37/240437/1
Hermet Park [Thu, 6 Aug 2020 08:06:36 +0000 (17:06 +0900)]
fix compile warnings

comparison of unsigned expression < 0 is always false [-Werror=type-limits]

Change-Id: I8cee625056bcde1f2a3cb2b9ce704b33be5bd725

3 years agogl_engine: fix compile warnings 31/240431/1
Hermet Park [Thu, 6 Aug 2020 07:57:38 +0000 (16:57 +0900)]
gl_engine: fix compile warnings

this statement may fall through [-Werror=implicit-fallthrough=]

Change-Id: I3cfc9b51697e229a524f6f75e10b83715b06ce13

3 years agosvg_loader: fix compile warnings. 25/240425/2
Hermet Park [Thu, 6 Aug 2020 07:50:59 +0000 (16:50 +0900)]
svg_loader: fix compile warnings.

--warning: extra â^`^x;â^`^y [-Wpedantic]

Change-Id: Ib40079628cac3fff6d991fd05d7d8073dd350361

3 years agocommon: fix compile warnings. 23/240423/3
Hermet Park [Thu, 6 Aug 2020 07:38:12 +0000 (16:38 +0900)]
common: fix compile warnings.

--Werror=unused-parameter

Change-Id: If4c04e3e20b67be62b50c3b1e2e909dbd848eccc

3 years agocommon: fix compile warnings. 20/240420/1
Hermet Park [Thu, 6 Aug 2020 07:24:24 +0000 (16:24 +0900)]
common: fix compile warnings.

--Werror=unused-parameter

Change-Id: I180464d770b1aa04afd39c30a3223a7cd48c78a4

3 years agosvg_loader: code refactoring.
Hermet Park [Thu, 6 Aug 2020 05:35:56 +0000 (14:35 +0900)]
svg_loader: code refactoring.

++neat

Change-Id: I3b5552a2bbf09571ba01f0e31569b553913f400d

3 years agosvg_loader: fix build error 02/240402/2
Shinwoo Kim [Thu, 6 Aug 2020 05:31:08 +0000 (14:31 +0900)]
svg_loader: fix build error

This patch is solving following build error.

   error: ‘offsetof’ was not declared in this scope

Depending on build environment, this error could happen.

Change-Id: I3512bb205f79a4d893cf33266db0a9109c0df886

3 years agosvg_loader: code refactoring 99/240399/3
Hermet Park [Thu, 6 Aug 2020 05:19:50 +0000 (14:19 +0900)]
svg_loader: code refactoring

remove macro code that does not helpful.

This just decrease readibility and increase LOC.

Change-Id: I9f1b11318447b45a9f96e7b00c18141fd9e71f9a

3 years agocommon: changed premultiplied color policy. 95/240395/2
Hermet Park [Thu, 6 Aug 2020 04:53:00 +0000 (13:53 +0900)]
common: changed premultiplied color policy.

Some user have no idea of premultiplied alpha concept,
We suggest more user-friendly interfaces so that they don't confuse it.

Now, this pre-multipying is acommplished by backend engines.

Change-Id: Ifd84d56361cb56a8b98240bbd16690accf370bad

3 years agoupdated README 33/240333/1 accepted/tizen/unified/20200806.062539 submit/tizen/20200806.023659
Hermet Park [Wed, 5 Aug 2020 11:08:27 +0000 (20:08 +0900)]
updated README

prepare for github system.

Change-Id: I0ee45e3ccb56f25f0252aad91a48151d62f9ed02

3 years agotest arc: revise sample code.
Hermet Park [Tue, 4 Aug 2020 00:57:37 +0000 (09:57 +0900)]
test arc: revise sample code.

Change-Id: I3629befdf5ce74ae7822929a059b4c95f2a9e88e

3 years agoMerge "spec: Add spec for rpm packaging" into tizen
Hermet Park [Tue, 4 Aug 2020 00:42:47 +0000 (00:42 +0000)]
Merge "spec: Add spec for rpm packaging" into tizen

3 years agocapi: revise some common paint interfaces and added picture stuff. 29/240129/1
Hermet Park [Tue, 4 Aug 2020 00:37:08 +0000 (09:37 +0900)]
capi: revise some common paint interfaces and added picture stuff.

Change-Id: I9850cbead5ce1ab172f284738fe8456cd19dc3f9

3 years agocommon: code refactoring.
Hermet Park [Mon, 3 Aug 2020 11:06:02 +0000 (20:06 +0900)]
common: code refactoring.

return as soon as possible.

Change-Id: If48e13e8976bc1692dadd9054b484bf7cd811917

3 years agocommon shape: support pie filling from arc. 07/240107/1
Hermet Park [Mon, 3 Aug 2020 10:58:12 +0000 (19:58 +0900)]
common shape: support pie filling from arc.

last argument pie=true makes arc to pie shape.

Change-Id: I6f22d00fed77bf728a4ff6e5f1ca42f476ac1664

3 years agoMerge "common shape: added arc implementation" into tizen
Hermet Park [Mon, 3 Aug 2020 09:50:52 +0000 (09:50 +0000)]
Merge "common shape: added arc implementation" into tizen

3 years agocommon shape: added arc implementation 89/239989/4
Michal Szczecinski [Fri, 31 Jul 2020 09:07:53 +0000 (11:07 +0200)]
common shape: added arc implementation

Change-Id: Ib483e24d8e358b2860ca8d46e8b88d58d12bdb62

3 years agospec: Add spec for rpm packaging 43/238643/8
JunsuChoi [Thu, 16 Jul 2020 04:15:58 +0000 (13:15 +0900)]
spec: Add spec for rpm packaging

Change-Id: I33a7d7e03549860c122eb56534f492a48784533e

3 years agocapi: Added C wrappers for gradient func 93/239993/1
Mateusz Palkowski [Fri, 31 Jul 2020 09:34:49 +0000 (11:34 +0200)]
capi: Added C wrappers for gradient func

Change-Id: If41dab9b06f6cec2831ea1361f30b50a193e99c4

3 years agotest: updated svg sample 10/239910/2
Hermet Park [Thu, 30 Jul 2020 11:40:12 +0000 (20:40 +0900)]
test: updated svg sample

also revise size() method of Picture for proper aligning.

Change-Id: I58a0886968f6058e65a062477e2a873224d8ea8f

3 years agocommon: code refactoring 95/239895/4
Hermet Park [Thu, 30 Jul 2020 10:17:55 +0000 (19:17 +0900)]
common: code refactoring

remove duplicated code among the Paint types.

Change-Id: Ia7c09f29531e6aef73d2ba1f951f8dfdf488deb8

3 years agocommon picture: introduce picture feature which is for vector file extensions. 69/239869/5
Hermet Park [Thu, 30 Jul 2020 07:50:29 +0000 (16:50 +0900)]
common picture: introduce picture feature which is for vector file extensions.

Now Scene is only specialized for composition of Paint objects.

Change-Id: I16426913f029c89e9f9ac4d5e0afed11d1a228d0

3 years agocommon: code refactoring. 39/239839/2
Hermet Park [Thu, 30 Jul 2020 06:10:59 +0000 (15:10 +0900)]
common: code refactoring.

changed just internal variable & method names.

no logical changes.

Change-Id: I01782ec59dec3ff2232e03de7b3863100d9cc27f

3 years agocommon: code refactoring for simplicity. 33/239833/3
Hermet Park [Thu, 30 Jul 2020 05:47:04 +0000 (14:47 +0900)]
common: code refactoring for simplicity.

Introduce internal PaintMethod since there more derived paint classes are coming.

This PaintMethod is a sort of Strategy Pattern method.

Change-Id: I29c49f5d4ddbfb9e429d4976636b20b39914ee20

3 years agoMerge "capi: Added wrapper for tvg::Shape::transform (fixed)" into tizen
Hermet Park [Thu, 30 Jul 2020 04:47:31 +0000 (04:47 +0000)]
Merge "capi: Added wrapper for tvg::Shape::transform (fixed)" into tizen

3 years agocommon: revise canvas interfaces. 04/239804/2
Hermet Park [Thu, 30 Jul 2020 04:40:18 +0000 (13:40 +0900)]
common: revise canvas interfaces.

1. removed async option which doesn't work currently,
rather than it, we can add async option in initiailizer class.

2. removed update() method.
Instead, we can call update(paint = nullptr); which has exactly same behavior.

Change-Id: I7909a50d804b97baf413a2ff6365a3cf79a3689e

3 years agocommon: code refactoring 60/239760/3
Hermet Park [Wed, 29 Jul 2020 11:41:34 +0000 (20:41 +0900)]
common: code refactoring

keep consistency of internal functions among the paint type methods.

Change-Id: I98a42ac398ddc5aaf49ac59e5cbb1790266bd612

3 years agocommon: code refactoring 46/239746/2
Hermet Park [Wed, 29 Jul 2020 10:47:28 +0000 (19:47 +0900)]
common: code refactoring

remove exceptional handling which is inevitable scenario.

Change-Id: I761a59a38f4578291ee8bc044c5ca989feedbe79

3 years agocapi: Added wrapper 42/239742/1
Mateusz Palkowski [Wed, 29 Jul 2020 10:23:18 +0000 (12:23 +0200)]
capi: Added wrapper
for tvg::Shape::transform (fixed)

Change-Id: Ibbb867e828a07af90f38ed506894d026004fa53d

3 years agocommon: revise transform interfaces. 99/239699/4
Hermet Park [Wed, 29 Jul 2020 05:25:18 +0000 (14:25 +0900)]
common: revise transform interfaces.

transform interfaces are getting duplicated in derived classes.

we moved to the super for smaller apis count.

Applied strategy pattern to hide the inheritance.

Change-Id: I7b0c3ff9317e9bf3c97bb0c849bf55e79ee9a591

3 years agosw_engine: fix out of cell memory. 93/239693/1
Hermet Park [Wed, 29 Jul 2020 04:40:11 +0000 (13:40 +0900)]
sw_engine: fix out of cell memory.

we can adjust cell size if the cell memory is out.
the main rle logic missed the exception handling.

Change-Id: I4419eefefccafd788729111eafeb65aa4e6a20e9

3 years agogl_engine: updated file permission.
Hermet Park [Tue, 28 Jul 2020 11:57:18 +0000 (20:57 +0900)]
gl_engine: updated file permission.

please keep 664 for files.

Change-Id: Iaddd87b0d35a74bc8c6cbf330fecbd28e14ad57a

3 years agoupdated AUTHORS
Hermet Park [Tue, 28 Jul 2020 11:46:11 +0000 (20:46 +0900)]
updated AUTHORS

Change-Id: Ia3b91f2dff139b80c5e968be2a0ecb725e6b62bd

3 years agocapi: Added wrapper for tvg::Shape::translate 53/239553/1
Mateusz Palkowski [Mon, 27 Jul 2020 12:08:51 +0000 (14:08 +0200)]
capi: Added wrapper for tvg::Shape::translate

Change-Id: Idcf672926c489148f15c654f85b4d6c3ff8cde80

3 years agocapi: Added wrapper for tvg::Shape::rotate 52/239552/1
Mateusz Palkowski [Mon, 27 Jul 2020 12:08:01 +0000 (14:08 +0200)]
capi: Added wrapper for tvg::Shape::rotate

Change-Id: I2cef6600586c037caaf8d2f45fc6d78e93dce925

3 years agocapi: Added wrapper for tvg::Shape::scale 51/239551/1
Mateusz Palkowski [Mon, 27 Jul 2020 12:07:03 +0000 (14:07 +0200)]
capi: Added wrapper for tvg::Shape::scale

Change-Id: Ie8380478d9e5bf99c924f3b93cfbb3d80ff55611

3 years agosw_engine gradient: support x/y scale for linear gradient 24/239424/1
Hermet Park [Fri, 24 Jul 2020 12:09:24 +0000 (21:09 +0900)]
sw_engine gradient: support x/y scale for linear gradient

Change-Id: Ic58e7cc61a3c90307b6cfb629eb8af69b75fb903

3 years agosw_engine gradient: support x/y scale for radial gradient 98/239298/5
Hermet Park [Thu, 23 Jul 2020 11:56:05 +0000 (20:56 +0900)]
sw_engine gradient: support x/y scale for radial gradient

Change-Id: Id725637e261642d0e92d100c73841278b7f44c1c

3 years agosw_engine: revise stroke scaling logic. 20/239320/1
Hermet Park [Fri, 24 Jul 2020 02:03:20 +0000 (11:03 +0900)]
sw_engine: revise stroke scaling logic.

previous fast track logic is useless,
it actually doesn't helpful for performance, just increase the code complexity.

Change-Id: Ib6ad204edfb241d74c41413dfec7ab42fb02af81

3 years agosw_engine: support bidirectional stroke scaling. 07/239207/10
Hermet Park [Wed, 22 Jul 2020 11:31:57 +0000 (20:31 +0900)]
sw_engine: support bidirectional stroke scaling.

if the transform scale factor for x/y is not identical,
it keeps its both xy scale factor then apply them
for stroking calculation.

Change-Id: I519dfce3ce7b4a12c13da1801d6a00e139e7400f

3 years agoSvgLoader: Fix opacity propagation 26/239226/2
JunsuChoi [Thu, 23 Jul 2020 01:14:46 +0000 (10:14 +0900)]
SvgLoader: Fix opacity propagation

Remove duplicate opacity calculation of the scene.

Change-Id: I1253ea290e78fdbf946a492ebfcaaa082fbfc121

3 years agosw_engine: revise scale transform logic. 74/239074/5
Hermet Park [Tue, 21 Jul 2020 11:24:25 +0000 (20:24 +0900)]
sw_engine: revise scale transform logic.

Basically, stroke width size is linear,

engine couldn't apply scale factor from the matrix which contains 2 dimensional values.

Thus, we can apply it if the scale factor of x/y is identical.

Otherwise, we should transform every stroke points in the stroking process.
That scenario can be improved with another patch.

Change-Id: I070dcf29d2e42f21e182bdf4239781464158ef73

3 years agocomon: code refactoring 82/239182/1
Hermet Park [Wed, 22 Jul 2020 09:45:11 +0000 (18:45 +0900)]
comon: code refactoring

renamed internal variable for better readibility.

Change-Id: I07dc66c4bd63f2aec8036aab14ec3ed608820fbc

3 years agosw_engine: revise outline transform 37/239037/3
Hermet Park [Tue, 21 Jul 2020 08:18:48 +0000 (17:18 +0900)]
sw_engine: revise outline transform

sw_engine simulates floating point by integer bit shifting,
it loses the accuracy while converting the number data.

This occurs the inacculated curve points result if it scales up very large size.

So we transform points before converting data in order to avoid losing the numbers less decimal point.

Change-Id: I0172e83f06b1a19143a2f65f667dc193e9a4396a

3 years agoSvgLoader: Support display=none feature 71/238971/3
JunsuChoi [Tue, 21 Jul 2020 01:42:22 +0000 (10:42 +0900)]
SvgLoader: Support display=none feature

If display is none, scene does not create a child shape,
and shape does not draw fills and strokes.

Change-Id: I8af72c904be00107dff115429e27df7ba4cb83b6

3 years agotest: replaced svg resources.
Hermet Park [Mon, 20 Jul 2020 02:44:32 +0000 (11:44 +0900)]
test: replaced svg resources.

Change-Id: I30ab48ecc0bbae158baecce1f6173fc36ecfbbb6

3 years agocommon transformation: fix transformation multiply 16/238716/7
Hermet Park [Thu, 16 Jul 2020 11:42:42 +0000 (20:42 +0900)]
common transformation: fix transformation multiply

Change-Id: Ibc95fab0abfc07aa7f0c4ff6c74785d4f73d02c7

3 years agotest: ++code safety 80/238780/1
Hermet Park [Fri, 17 Jul 2020 08:15:16 +0000 (17:15 +0900)]
test: ++code safety

added null check for exceptional case.

Change-Id: I12a5e9724149f607188b67a84e46a033a16270f7

3 years agotest: changed file permission.
Hermet Park [Fri, 17 Jul 2020 07:57:02 +0000 (16:57 +0900)]
test: changed file permission.

Change-Id: I8172152f700d10fa1d8c84473d45ff484c0b36d8

3 years agoupdated AUTHORS
Hermet Park [Fri, 17 Jul 2020 07:56:05 +0000 (16:56 +0900)]
updated AUTHORS

Change-Id: If9412e0598bdfa59dc142aacaec1cb5ae3f5401d

3 years agogl_engine: Fix crash in animation callback. Refactor test samples draw function.... 20/238620/5
Pranay Kumar Samanta [Wed, 15 Jul 2020 13:32:27 +0000 (19:02 +0530)]
gl_engine: Fix crash in animation callback. Refactor test samples draw function. Fix open shape drawing.

Change-Id: I9ca2cb3951f2229f36292b69221451e0eaf5b6a1

3 years agosvg_loader: code refactoring. 91/238691/1
Hermet Park [Thu, 16 Jul 2020 08:17:16 +0000 (17:17 +0900)]
svg_loader: code refactoring.

leave to shape to handle non-effective values.

Change-Id: I4193653710498e0ea31b0ff88fd8f0f8f0238e0e

3 years agosvg_loader: code refactoring 89/238689/2
Hermet Park [Thu, 16 Jul 2020 08:09:48 +0000 (17:09 +0900)]
svg_loader: code refactoring

keep clean & neat code.

Change-Id: Ia17139a291fc9934fe2f8d5e51417c44ec50f2ed

3 years agosvg_loader: optimize data delivery. 88/238688/1
Hermet Park [Thu, 16 Jul 2020 08:03:44 +0000 (17:03 +0900)]
svg_loader: optimize data delivery.

We know how this shape is passed,
so don't use unique_ptr to save data size.

Change-Id: I02410692199b9cee701c206246ceea5988d06726

3 years agotest: Fix typo in makefile 59/238659/1
JunsuChoi [Thu, 16 Jul 2020 05:58:35 +0000 (14:58 +0900)]
test: Fix typo in makefile

' -> `

Change-Id: Iafacfb78d8f788ef302e5ad7f1a1d9cfbd380ffb

3 years agosw_engine: fix wrong gradient fill transform. 49/238649/1
Hermet Park [Thu, 16 Jul 2020 04:45:27 +0000 (13:45 +0900)]
sw_engine: fix wrong gradient fill transform.

it missed the offset when transformed gradient positions.

now it's fixed.

Change-Id: I916bd88b40bc29ca57d31411b92e10fe357d720e

3 years agoSvgLoader: Verify SVG resource 23/238223/3
JunsuChoi [Thu, 9 Jul 2020 11:12:48 +0000 (20:12 +0900)]
SvgLoader: Verify SVG resource

Only <svg> tag is parsed first before data get in file open function.
If the <svg> tag is found, the loaded file is valid and stores viewbox information.
After that, the remaining content data is parsed in order with async.

Change-Id: Idb934fbd5e190c7c523abe601a80745ccc767af1

3 years agocapi: improve code template. 72/238572/1
Hermet Park [Wed, 15 Jul 2020 07:18:55 +0000 (16:18 +0900)]
capi: improve code template.

Change-Id: Ia48a21fbd93103b371b41a13adf46d82b76803b1

3 years agocapi: support c interfaces 97/238397/7
Hermet Park [Mon, 13 Jul 2020 11:19:23 +0000 (20:19 +0900)]
capi: support c interfaces

this capi is under the beta,
we quickly provide this working prototype for collaboration.

Change-Id: Ie246abc306feb9a1305d1b593c4f3ef7f40ab5a9

3 years agosw_engine: introduce avx simd instruction 78/238078/11
Hermet Park [Wed, 8 Jul 2020 07:05:58 +0000 (16:05 +0900)]
sw_engine: introduce avx simd instruction

avx is the cutting edge method for intel & amd cpus simd instruction.
We are going to support this feature for the desktop environment (instead of sse)

You can turn on this with configuration something like this:

$meson . build -Dvectors=avx

Current patch supports only for raster solid color

Change-Id: I068ba30a1f63d480415e2762f8021fc8d6d28a39

4 years agoMerge "SvgLoader: Inherit parent opacity" into tizen
Hermet Park [Fri, 10 Jul 2020 00:50:38 +0000 (00:50 +0000)]
Merge "SvgLoader: Inherit parent opacity" into tizen

4 years agosvg_loader: code refactoring. 40/238240/1
Hermet Park [Fri, 10 Jul 2020 00:31:12 +0000 (09:31 +0900)]
svg_loader: code refactoring.

simpler code is better for readibility.

Change-Id: I4bc18bb184aea6fea0179bb38b445da5e0acba43

4 years agoMerge "SvgLoader: Support to linear, radial gradient" into tizen
Hermet Park [Fri, 10 Jul 2020 00:19:51 +0000 (00:19 +0000)]
Merge "SvgLoader: Support to linear, radial gradient" into tizen

4 years agoMerge "SvgLoader: Fix typo (SCubic draw)" into tizen
Hermet Park [Fri, 10 Jul 2020 00:16:49 +0000 (00:16 +0000)]
Merge "SvgLoader: Fix typo (SCubic draw)" into tizen

4 years agoSvgLoader/Parser: Fix typo 84/238184/1
JunsuChoi [Thu, 9 Jul 2020 07:36:30 +0000 (16:36 +0900)]
SvgLoader/Parser: Fix typo

Change-Id: Iced0f2196c52f7cc729d6f648f5df6affbda3357

4 years agoSvgLoader: Fix typo (SCubic draw) 79/238179/1
JunsuChoi [Thu, 9 Jul 2020 06:40:21 +0000 (15:40 +0900)]
SvgLoader: Fix typo (SCubic draw)

Change-Id: Id54cf6a7ca66cdbc96cfb93143aacccab95de822

4 years agoSvgLoader: Inherit parent opacity 69/238169/1
JunsuChoi [Thu, 9 Jul 2020 04:37:12 +0000 (13:37 +0900)]
SvgLoader: Inherit parent opacity

Change-Id: If52c6581845e9918dc13c4627080ba84d270a07b

4 years agoSvgLoader: Support to linear, radial gradient 68/238168/1
JunsuChoi [Thu, 9 Jul 2020 04:23:41 +0000 (13:23 +0900)]
SvgLoader: Support to linear, radial gradient

Change-Id: Ida3f6ccca5f0d6ed1922b7ce99d2d2f3203f5ba9

4 years agobuild: support features toggling in meson option. 53/238053/6
Hermet Park [Wed, 8 Jul 2020 04:08:28 +0000 (13:08 +0900)]
build: support features toggling in meson option.

Change-Id: Id1ebda70fe8380aaa913f79af26e5c39893a6df5

4 years agobuild: refactoring meson script. 41/238041/1
Hermet Park [Wed, 8 Jul 2020 01:51:34 +0000 (10:51 +0900)]
build: refactoring meson script.

move out engine/loader dependency to its immediate parent folders.

Change-Id: I7f08433fc6d2a333951fceaffea81cbe2e5da9e3

4 years agobuild: refactoriong meson script. 38/238038/2
Hermet Park [Wed, 8 Jul 2020 01:44:51 +0000 (10:44 +0900)]
build: refactoriong meson script.

move gl dependency to gl_engine part which is right position.

Change-Id: I9d4935f94eff96ca1527762c92d07f9b216f19cd

4 years agoMerge "common loader: return viewbox info from the vector resource." into tizen
Hermet Park [Tue, 7 Jul 2020 10:06:25 +0000 (10:06 +0000)]
Merge "common loader: return viewbox info from the vector resource." into tizen

4 years agosvg_loader: code refactoring. 03/238003/1
Hermet Park [Tue, 7 Jul 2020 08:52:16 +0000 (17:52 +0900)]
svg_loader: code refactoring.

initialize members in its own constructor.

Change-Id: I6450971330dd3e3235b0f690a8d9b066cf374212

4 years agosvg_loader: allow deferred loading. 00/238000/1
Hermet Park [Tue, 7 Jul 2020 08:46:29 +0000 (17:46 +0900)]
svg_loader: allow deferred loading.

don't push thread to work hard unless it's necessary.
that might occur performance drop.

Change-Id: Ib71fa0ae46461b10b7ed7ef356512fbf2a7aa0a8

4 years agoSvgLoader: Fix z-angle calculation 84/237984/4
JunsuChoi [Tue, 7 Jul 2020 06:09:13 +0000 (15:09 +0900)]
SvgLoader: Fix z-angle calculation

Change-Id: I9220abd9f92dbdf250ea071af128a93a0bbb3d78

4 years agocommon loader: return viewbox info from the vector resource. 85/237985/2
Hermet Park [Tue, 7 Jul 2020 06:12:11 +0000 (15:12 +0900)]
common loader: return viewbox info from the vector resource.

if a scene loads a vector resource, it must have viewbox info from the design,
That viewbox will be used as bounding box so that user can scale up/down
the scene by its requirements.

Change-Id: Iafa39af23118a03de207c745364d56c837892e1b

4 years agoMerge "SvgLoader: Support arc_to draw" into tizen
Hermet Park [Tue, 7 Jul 2020 05:49:20 +0000 (05:49 +0000)]
Merge "SvgLoader: Support arc_to draw" into tizen

4 years agoSvgLoader: Support arc_to draw 64/237864/4
JunsuChoi [Mon, 6 Jul 2020 07:35:10 +0000 (16:35 +0900)]
SvgLoader: Support arc_to draw

Change-Id: I950c8e850605f990d6a0aa59a067ced571ffdb51

4 years agosvg_loader: release resources just in case when it's destroyed. 67/237967/1
Hermet Park [Tue, 7 Jul 2020 04:54:33 +0000 (13:54 +0900)]
svg_loader: release resources just in case when it's destroyed.

Change-Id: Ib4a61ae0769d3f9284e3cf450002750c47fba01c

4 years agoMerge "SvgLoader: Async conversion of svg data" into tizen
Hermet Park [Tue, 7 Jul 2020 04:49:01 +0000 (04:49 +0000)]
Merge "SvgLoader: Async conversion of svg data" into tizen

4 years agoSvgLoader: Skip unnecessary transform calc 41/237841/3
JunsuChoi [Mon, 6 Jul 2020 05:09:52 +0000 (14:09 +0900)]
SvgLoader: Skip unnecessary transform calc

Change-Id: I58e3baae6d68a2ad4a34c8b460fe67bd36f03b3d

4 years agoSvgLoader: Async conversion of svg data 46/237946/3
JunsuChoi [Tue, 7 Jul 2020 01:15:05 +0000 (10:15 +0900)]
SvgLoader: Async conversion of svg data

Change-Id: I58025e646b531a0451be096ef1891377e655a3fc

4 years agocommon shape: expand rectangle arguement to support both corner radius x, y 59/237959/2
Hermet Park [Tue, 7 Jul 2020 04:05:44 +0000 (13:05 +0900)]
common shape: expand rectangle arguement to support both corner radius x, y

this is useful for svg loader

Change-Id: Ia11c2d1c6ea88f3fd65c7f75cef8b59bef426bcb

4 years agoSvgLoader: Support x,y rounded rect 68/237868/2
JunsuChoi [Mon, 6 Jul 2020 08:01:56 +0000 (17:01 +0900)]
SvgLoader: Support x,y rounded rect

Change-Id: I45d8f7ff3604da0a80c09e2495ed8c0301310094

4 years agoSvgLoader: Support ellipse draw 36/237836/3
JunsuChoi [Mon, 6 Jul 2020 05:02:38 +0000 (14:02 +0900)]
SvgLoader: Support ellipse draw

Change-Id: I6420673d8341a59b91546224576d1c977c1a08d2

4 years agosvg_engine: fix infinit loop dead in stroke rendering. 08/237908/3
Hermet Park [Mon, 6 Jul 2020 10:26:50 +0000 (19:26 +0900)]
svg_engine: fix infinit loop dead in stroke rendering.

here logic was wrongly introducedd, we fix the condition check properly.

Change-Id: I97f18f68290c61096f4e7fe54bd6f6fde51e175b

4 years agosw_engine: optimize rle rendering. 79/237779/2
Hermet Park [Fri, 3 Jul 2020 09:17:43 +0000 (18:17 +0900)]
sw_engine: optimize rle rendering.

we don't need to apply anti-aliasing if stroke is there.
here turns off anti-alias if stroke width is more than 2.
magic number 2 is experimentally confirmed.

Change-Id: I09031dc2a0a84f31c5904651ed1e62004645ba9a

4 years agosw_engine: Draw shapes even though there is no explict closed command. 54/237554/1
Hermet Park [Wed, 1 Jul 2020 07:49:03 +0000 (16:49 +0900)]
sw_engine: Draw shapes even though there is no explict closed command.

This behavior is not confiremd but it's beneficial for svg spec.

Change-Id: Ia711c057811ae51e472b4e164b36f3dd6af9893f