Hermet Park
afc7bc8c2f
common: code refactoring
...
remove exceptional handling which is inevitable scenario.
Change-Id: I761a59a38f4578291ee8bc044c5ca989feedbe79
2020-07-29 19:53:45 +09:00
Mateusz Palkowski
cd699738b6
capi: Added wrapper
...
for tvg::Shape::transform (fixed)
Change-Id: Ibbb867e828a07af90f38ed506894d026004fa53d
2020-07-29 12:23:18 +02:00
Hermet Park
9e0c4666af
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
2020-07-29 16:52:40 +09:00
Hermet Park
8a924cbd78
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
2020-07-29 13:40:11 +09:00
Hermet Park
d2d4a2a3e7
gl_engine: updated file permission.
...
please keep 664 for files.
Change-Id: Iaddd87b0d35a74bc8c6cbf330fecbd28e14ad57a
2020-07-28 20:57:34 +09:00
Mateusz Palkowski
ba17287419
capi: Added wrapper for tvg::Shape::translate
...
Change-Id: Idcf672926c489148f15c654f85b4d6c3ff8cde80
2020-07-27 15:12:07 +02:00
Mateusz Palkowski
52ece17fc3
capi: Added wrapper for tvg::Shape::rotate
...
Change-Id: I2cef6600586c037caaf8d2f45fc6d78e93dce925
2020-07-27 15:11:38 +02:00
Mateusz Palkowski
87a6b5219f
capi: Added wrapper for tvg::Shape::scale
...
Change-Id: Ie8380478d9e5bf99c924f3b93cfbb3d80ff55611
2020-07-27 15:11:08 +02:00
Hermet Park
bee94d48fe
sw_engine gradient: support x/y scale for linear gradient
...
Change-Id: Ic58e7cc61a3c90307b6cfb629eb8af69b75fb903
2020-07-24 21:09:24 +09:00
Hermet Park
76a7c900be
sw_engine gradient: support x/y scale for radial gradient
...
Change-Id: Id725637e261642d0e92d100c73841278b7f44c1c
2020-07-24 16:48:41 +09:00
Hermet Park
5fdc1f7fc8
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
2020-07-24 11:03:20 +09:00
Hermet Park
f1aab52958
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
2020-07-23 17:36:54 +09:00
JunsuChoi
62aa24d9ad
SvgLoader: Fix opacity propagation
...
Remove duplicate opacity calculation of the scene.
Change-Id: I1253ea290e78fdbf946a492ebfcaaa082fbfc121
2020-07-23 01:40:36 +00:00
Hermet Park
4d72eeda15
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
2020-07-22 20:59:52 +09:00
Hermet Park
5dcafb8b89
comon: code refactoring
...
renamed internal variable for better readibility.
Change-Id: I07dc66c4bd63f2aec8036aab14ec3ed608820fbc
2020-07-22 18:45:11 +09:00
Hermet Park
96477c0a24
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
2020-07-21 18:44:27 +09:00
JunsuChoi
27ca82c140
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
2020-07-21 02:51:28 +00:00
Hermet Park
2ba529c8fb
common transformation: fix transformation multiply
...
Change-Id: Ibc95fab0abfc07aa7f0c4ff6c74785d4f73d02c7
2020-07-17 17:54:21 +09:00
Pranay Kumar Samanta
3b385d1d54
gl_engine: Fix crash in animation callback. Refactor test samples draw function. Fix open shape drawing.
...
Change-Id: I9ca2cb3951f2229f36292b69221451e0eaf5b6a1
2020-07-17 07:54:58 +00:00
Hermet Park
ca6417ec8d
svg_loader: code refactoring.
...
leave to shape to handle non-effective values.
Change-Id: I4193653710498e0ea31b0ff88fd8f0f8f0238e0e
2020-07-16 17:17:16 +09:00
Hermet Park
231b3779b1
svg_loader: code refactoring
...
keep clean & neat code.
Change-Id: Ia17139a291fc9934fe2f8d5e51417c44ec50f2ed
2020-07-16 17:11:47 +09:00
Hermet Park
33b067eb0a
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
2020-07-16 17:03:44 +09:00
Hermet Park
a6344daa66
sw_engine: fix wrong gradient fill transform.
...
it missed the offset when transformed gradient positions.
now it's fixed.
Change-Id: I916bd88b40bc29ca57d31411b92e10fe357d720e
2020-07-16 13:45:27 +09:00
JunsuChoi
1b48bf10fe
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
2020-07-16 09:36:19 +09:00
Hermet Park
2501c50506
capi: improve code template.
...
Change-Id: Ia48a21fbd93103b371b41a13adf46d82b76803b1
2020-07-15 16:18:55 +09:00
Hermet Park
9876d685cf
capi: support c interfaces
...
this capi is under the beta,
we quickly provide this working prototype for collaboration.
Change-Id: Ie246abc306feb9a1305d1b593c4f3ef7f40ab5a9
2020-07-15 16:00:09 +09:00
Hermet Park
9e1ba8d2c0
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
2020-07-11 20:58:09 +09:00
Hermet Park
2deb6919c7
Merge "SvgLoader: Inherit parent opacity" into tizen
2020-07-10 00:50:38 +00:00
Hermet Park
9299c41a21
svg_loader: code refactoring.
...
simpler code is better for readibility.
Change-Id: I4bc18bb184aea6fea0179bb38b445da5e0acba43
2020-07-10 09:31:50 +09:00
Hermet Park
22581040f3
Merge "SvgLoader: Support to linear, radial gradient" into tizen
2020-07-10 00:19:51 +00:00
Hermet Park
c237eb04c1
Merge "SvgLoader: Fix typo (SCubic draw)" into tizen
2020-07-10 00:16:49 +00:00
JunsuChoi
e86d2ab686
SvgLoader/Parser: Fix typo
...
Change-Id: Iced0f2196c52f7cc729d6f648f5df6affbda3357
2020-07-09 16:36:30 +09:00
JunsuChoi
581451ea8d
SvgLoader: Fix typo (SCubic draw)
...
Change-Id: Id54cf6a7ca66cdbc96cfb93143aacccab95de822
2020-07-09 15:40:21 +09:00
JunsuChoi
84df3439de
SvgLoader: Inherit parent opacity
...
Change-Id: If52c6581845e9918dc13c4627080ba84d270a07b
2020-07-09 13:37:12 +09:00
JunsuChoi
f644443655
SvgLoader: Support to linear, radial gradient
...
Change-Id: Ida3f6ccca5f0d6ed1922b7ce99d2d2f3203f5ba9
2020-07-09 13:36:46 +09:00
Hermet Park
99428ee80a
build: support features toggling in meson option.
...
Change-Id: Id1ebda70fe8380aaa913f79af26e5c39893a6df5
2020-07-08 15:30:12 +09:00
Hermet Park
84af527a27
build: refactoring meson script.
...
move out engine/loader dependency to its immediate parent folders.
Change-Id: I7f08433fc6d2a333951fceaffea81cbe2e5da9e3
2020-07-08 10:56:44 +09:00
Hermet Park
e2fc353846
build: refactoriong meson script.
...
move gl dependency to gl_engine part which is right position.
Change-Id: I9d4935f94eff96ca1527762c92d07f9b216f19cd
2020-07-08 10:47:04 +09:00
Hermet Park
400ad1c585
Merge "common loader: return viewbox info from the vector resource." into tizen
2020-07-07 10:06:25 +00:00
Hermet Park
c0280e6d57
svg_loader: code refactoring.
...
initialize members in its own constructor.
Change-Id: I6450971330dd3e3235b0f690a8d9b066cf374212
2020-07-07 17:52:16 +09:00
Hermet Park
018f4919da
svg_loader: allow deferred loading.
...
don't push thread to work hard unless it's necessary.
that might occur performance drop.
Change-Id: Ib71fa0ae46461b10b7ed7ef356512fbf2a7aa0a8
2020-07-07 17:46:29 +09:00
JunsuChoi
feb6aad641
SvgLoader: Fix z-angle calculation
...
Change-Id: I9220abd9f92dbdf250ea071af128a93a0bbb3d78
2020-07-07 15:24:19 +09:00
Hermet Park
6967b998b6
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
2020-07-07 15:17:43 +09:00
Hermet Park
d37cdaf57c
Merge "SvgLoader: Support arc_to draw" into tizen
2020-07-07 05:49:20 +00:00
JunsuChoi
1d24838c67
SvgLoader: Support arc_to draw
...
Change-Id: I950c8e850605f990d6a0aa59a067ced571ffdb51
2020-07-07 14:28:52 +09:00
Hermet Park
a94bd31d56
svg_loader: release resources just in case when it's destroyed.
...
Change-Id: Ib4a61ae0769d3f9284e3cf450002750c47fba01c
2020-07-07 13:54:33 +09:00
Hermet Park
be6e39eb02
Merge "SvgLoader: Async conversion of svg data" into tizen
2020-07-07 04:49:01 +00:00
JunsuChoi
88ed685f1d
SvgLoader: Skip unnecessary transform calc
...
Change-Id: I58e3baae6d68a2ad4a34c8b460fe67bd36f03b3d
2020-07-07 04:47:08 +00:00
JunsuChoi
d5e78eac71
SvgLoader: Async conversion of svg data
...
Change-Id: I58025e646b531a0451be096ef1891377e655a3fc
2020-07-07 13:43:00 +09:00
Hermet Park
ef4d7a3956
common shape: expand rectangle arguement to support both corner radius x, y
...
this is useful for svg loader
Change-Id: Ia11c2d1c6ea88f3fd65c7f75cef8b59bef426bcb
2020-07-07 13:09:46 +09:00