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
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
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
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
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
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
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
Hermet Park [Mon, 20 Jul 2020 02:44:32 +0000 (11:44 +0900)]
test: replaced svg resources.
Change-Id: I30ab48ecc0bbae158baecce1f6173fc36ecfbbb6
Hermet Park [Thu, 16 Jul 2020 11:42:42 +0000 (20:42 +0900)]
common transformation: fix transformation multiply
Change-Id: Ibc95fab0abfc07aa7f0c4ff6c74785d4f73d02c7
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
Hermet Park [Fri, 17 Jul 2020 07:57:02 +0000 (16:57 +0900)]
test: changed file permission.
Change-Id: I8172152f700d10fa1d8c84473d45ff484c0b36d8
Hermet Park [Fri, 17 Jul 2020 07:56:05 +0000 (16:56 +0900)]
updated AUTHORS
Change-Id: If9412e0598bdfa59dc142aacaec1cb5ae3f5401d
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
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
Hermet Park [Thu, 16 Jul 2020 08:09:48 +0000 (17:09 +0900)]
svg_loader: code refactoring
keep clean & neat code.
Change-Id: Ia17139a291fc9934fe2f8d5e51417c44ec50f2ed
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
JunsuChoi [Thu, 16 Jul 2020 05:58:35 +0000 (14:58 +0900)]
test: Fix typo in makefile
' -> `
Change-Id: Iafacfb78d8f788ef302e5ad7f1a1d9cfbd380ffb
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
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
Hermet Park [Wed, 15 Jul 2020 07:18:55 +0000 (16:18 +0900)]
capi: improve code template.
Change-Id: Ia48a21fbd93103b371b41a13adf46d82b76803b1
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
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
Hermet Park [Fri, 10 Jul 2020 00:50:38 +0000 (00:50 +0000)]
Merge "SvgLoader: Inherit parent opacity" into tizen
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
Hermet Park [Fri, 10 Jul 2020 00:19:51 +0000 (00:19 +0000)]
Merge "SvgLoader: Support to linear, radial gradient" into tizen
Hermet Park [Fri, 10 Jul 2020 00:16:49 +0000 (00:16 +0000)]
Merge "SvgLoader: Fix typo (SCubic draw)" into tizen
JunsuChoi [Thu, 9 Jul 2020 07:36:30 +0000 (16:36 +0900)]
SvgLoader/Parser: Fix typo
Change-Id: Iced0f2196c52f7cc729d6f648f5df6affbda3357
JunsuChoi [Thu, 9 Jul 2020 06:40:21 +0000 (15:40 +0900)]
SvgLoader: Fix typo (SCubic draw)
Change-Id: Id54cf6a7ca66cdbc96cfb93143aacccab95de822
JunsuChoi [Thu, 9 Jul 2020 04:37:12 +0000 (13:37 +0900)]
SvgLoader: Inherit parent opacity
Change-Id: If52c6581845e9918dc13c4627080ba84d270a07b
JunsuChoi [Thu, 9 Jul 2020 04:23:41 +0000 (13:23 +0900)]
SvgLoader: Support to linear, radial gradient
Change-Id: Ida3f6ccca5f0d6ed1922b7ce99d2d2f3203f5ba9
Hermet Park [Wed, 8 Jul 2020 04:08:28 +0000 (13:08 +0900)]
build: support features toggling in meson option.
Change-Id: Id1ebda70fe8380aaa913f79af26e5c39893a6df5
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
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
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
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
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
JunsuChoi [Tue, 7 Jul 2020 06:09:13 +0000 (15:09 +0900)]
SvgLoader: Fix z-angle calculation
Change-Id: I9220abd9f92dbdf250ea071af128a93a0bbb3d78
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
Hermet Park [Tue, 7 Jul 2020 05:49:20 +0000 (05:49 +0000)]
Merge "SvgLoader: Support arc_to draw" into tizen
JunsuChoi [Mon, 6 Jul 2020 07:35:10 +0000 (16:35 +0900)]
SvgLoader: Support arc_to draw
Change-Id: I950c8e850605f990d6a0aa59a067ced571ffdb51
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
Hermet Park [Tue, 7 Jul 2020 04:49:01 +0000 (04:49 +0000)]
Merge "SvgLoader: Async conversion of svg data" into tizen
JunsuChoi [Mon, 6 Jul 2020 05:09:52 +0000 (14:09 +0900)]
SvgLoader: Skip unnecessary transform calc
Change-Id: I58e3baae6d68a2ad4a34c8b460fe67bd36f03b3d
JunsuChoi [Tue, 7 Jul 2020 01:15:05 +0000 (10:15 +0900)]
SvgLoader: Async conversion of svg data
Change-Id: I58025e646b531a0451be096ef1891377e655a3fc
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
JunsuChoi [Mon, 6 Jul 2020 08:01:56 +0000 (17:01 +0900)]
SvgLoader: Support x,y rounded rect
Change-Id: I45d8f7ff3604da0a80c09e2495ed8c0301310094
JunsuChoi [Mon, 6 Jul 2020 05:02:38 +0000 (14:02 +0900)]
SvgLoader: Support ellipse draw
Change-Id: I6420673d8341a59b91546224576d1c977c1a08d2
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
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
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
Hermet Park [Wed, 1 Jul 2020 07:36:15 +0000 (07:36 +0000)]
Merge "SvgLoader: Don't use custom transform" into tizen
Hermet Park [Wed, 1 Jul 2020 02:33:50 +0000 (11:33 +0900)]
sw_engine: optimize othogonal rectangle drawing.
if the rectangle is not transformed, we don't need to use rle method.
we can directly raster pixels onto the bounding box.
Change-Id: I4e8b57149c0bcd78124d09388bf5115093a43bee
Hermet Park [Wed, 1 Jul 2020 05:25:53 +0000 (14:25 +0900)]
test: enable gl window only on gl backend.
Change-Id: Iafd790b7fc1df8a58bdce2f18c39029cc0d74945
JunsuChoi [Wed, 1 Jul 2020 04:44:12 +0000 (13:44 +0900)]
SvgLoader: Don't use custom transform
Change-Id: Ia7cd0992bbb8d5ee117806ee62b35604ffd91e16
Hermet Park [Wed, 1 Jul 2020 03:53:01 +0000 (12:53 +0900)]
sw_engine: fix a regression bug.
Shape must have closed path for filling color.
if closed is skipped, it would take it's a line.
Change-Id: Ie1dcde9edbfc6501a34d6cb9ce54184ade6864db
Hermet Park [Tue, 30 Jun 2020 07:57:31 +0000 (16:57 +0900)]
sw_engine: fix to update stroking transform
when shape doesn't have fill color, stroking is missed in update.
this fixs that issue.
Change-Id: I49292475e56caa834e79497a16db705b965bcf5f
Hermet Park [Tue, 30 Jun 2020 04:08:09 +0000 (13:08 +0900)]
test: revise sample.
this patch adds the showcase how to handle exceptional cases.
Change-Id: Ic8e3c740bbf613f4dccace511b6c8d93b987a10c
Hermet Park [Tue, 30 Jun 2020 03:38:01 +0000 (12:38 +0900)]
sw_engine: flush all processing data when clear() is requested.
there was a missing point which occured corrupted data in multi-processing.
Change-Id: Ifb28ee82852e488d23d45b4b75f0a6c70bb428b2
Hermet Park [Tue, 30 Jun 2020 01:24:56 +0000 (10:24 +0900)]
test svg: remove white trailings
Change-Id: Ie23ffdd420eb9742b21350dfffd5b29ae0515be3
Hermet Park [Tue, 30 Jun 2020 01:22:25 +0000 (01:22 +0000)]
Merge "SvgLoader: Supports Path's quadratic_to draw" into tizen
Hermet Park [Mon, 29 Jun 2020 08:35:04 +0000 (17:35 +0900)]
test: unify test code for supporting gl engine from all test cases.
now you can launch tests with gl engine by "gl" option
ex)
$ testTransform gl
$ testScene gl
Change-Id: Idb720ed369a2fbfb908c977fdaebd7289986fb6f
JunsuChoi [Mon, 29 Jun 2020 10:30:29 +0000 (19:30 +0900)]
test: Improve svg test
Displays svg files located in "./svgs" dir.
Change-Id: I4b9a281dc31fefb28c969780fa28adb74a5f5c02
JunsuChoi [Mon, 29 Jun 2020 10:24:54 +0000 (19:24 +0900)]
SvgLoader: Fix typo
rect types w, h -> width, height
Change-Id: I5e85360644d9b8c2b2d84f182a0de16fefe9edbf
JunsuChoi [Mon, 29 Jun 2020 07:35:21 +0000 (16:35 +0900)]
SvgLoader: Supports Path's quadratic_to draw
Convert quadratic bezier to cubic
Change-Id: I885138dcdfb9f0e85bf3ca1ca5c9fc4eb0d8f1f8
Hermet Park [Mon, 29 Jun 2020 07:26:02 +0000 (16:26 +0900)]
test: print current backend engine name
Change-Id: Iaafa521556a614b47994914c09228b8e8ae9c9e9
JunsuChoi [Fri, 26 Jun 2020 09:51:36 +0000 (18:51 +0900)]
SvgLoader: Implement svgpath draw
Convert Svg path in string to tvg::PathCommand.
Draw converted data by adding it as path to shape.
Following tags are supported.
Move, Line, Cubic, SCubic, Vertical, Horizontal and Close.
Change-Id: I3cb31e05bcb233b4c187e0c9e7eef8cdadf84695
Hermet Park [Mon, 29 Jun 2020 07:17:15 +0000 (07:17 +0000)]
Merge "SvgLoader: Implement SvgSceneBuilder using SvgNode" into tizen
JunsuChoi [Wed, 24 Jun 2020 10:35:40 +0000 (19:35 +0900)]
SvgLoader: Implement SvgSceneBuilder using SvgNode
SvgSceneBuilder builds Scene using SvgNode tree.
build(root node) function return the root scene.
Following SVG tags are supported.
Polygon, Polyline, Circle, Rect, Line
Change-Id: I8c9b8c28d9a4799af6ddc45c35f77a75f696b2a5
Hermet Park [Mon, 29 Jun 2020 07:16:01 +0000 (16:16 +0900)]
updated AUTHORS
Change-Id: Ife45b8ec1ad39822491e57b6031927a42f6a113b
JunsuChoi [Wed, 24 Jun 2020 00:55:25 +0000 (09:55 +0900)]
SvgLoader: Implement SVG Loader and SimpleXMLParser
Load svg using fstream and parse it using SimpleXMLparser.
And Make a document tree composed of SvgNodes using the parsed data.
Change-Id: I5715b466638195844798f7b66f54f6015e7c3ae6
Hermet Park [Mon, 29 Jun 2020 05:59:01 +0000 (14:59 +0900)]
test shape: unify sw/gl test code.
default is sw engine, please run sample app with "gl" argument
$./testShape gl
Change-Id: Iff7da624ff17827df957919341737b9f129f502e
Hermet Park [Thu, 25 Jun 2020 04:52:50 +0000 (13:52 +0900)]
renamed project name tizenvg => thorvg
we're going to open this project as the independent one,
thus removed tizen naming here.
Change-Id: Ib3c898067dd9186e893f7cb0903fd70d2ce7b31f
Hermet Park [Wed, 24 Jun 2020 12:00:43 +0000 (21:00 +0900)]
sw_engine: fix a regression bug.
this matrix data is volatile since it's coming from stack memory.
thus engine should record its own memory space for keeping it.
Change-Id: I664dd56412f4d236ad04c312220c67da226274e5
Hermet Park [Wed, 24 Jun 2020 11:14:46 +0000 (20:14 +0900)]
test: revise async(stress) test code.
Change-Id: I2005f12cc9552b4a98101ba53f48b04c9a6c5732
Hermet Park [Wed, 24 Jun 2020 08:10:50 +0000 (17:10 +0900)]
sw_engine: optimize rasterizey by threading it.
Also, newly introduced render interfaces: preRender(), postRender(), flush()
Change-Id: If506fa27e3c7dbd89f6734cad4774c1d151b88aa
Hermet Park [Tue, 23 Jun 2020 11:12:39 +0000 (20:12 +0900)]
sw_engine: threading optimization
make it prepare step asynchronously.
Change-Id: Ifb85f01d579cf1c111558842496b93fcaef74cd9
Hermet Park [Wed, 24 Jun 2020 04:31:09 +0000 (13:31 +0900)]
test: add stress test for performance profiling.
Change-Id: I4a1556c107ba59b7c972375ab8bfd22c777a5503
Hermet Park [Tue, 23 Jun 2020 09:59:12 +0000 (18:59 +0900)]
sw_engine: optimize memory allocation.
there are a logical wrong that memory increase size,
it correct that also tune the number to reduce memory allocation time.
Now scene transform test works smoothly.
Change-Id: If0674e33426d794546801a96ad9de711b5de0dcd
Hermet Park [Tue, 23 Jun 2020 08:38:59 +0000 (17:38 +0900)]
sw_engine stroke: initialize a missing variable.
Change-Id: I1c3d83d56045f592ff89a5462d4de494e50c9d34
Hermet Park [Tue, 23 Jun 2020 08:29:28 +0000 (17:29 +0900)]
sw_engine: optimize span generation.
there are unnecessary partial spans generated in orthogonal rectangle.
we can merge those partial spans to others if they are on the same scanline...
Change-Id: I35a437a4f2eec106bd50f46f0390c652e617311d
Hermet Park [Tue, 23 Jun 2020 05:41:57 +0000 (14:41 +0900)]
sw_engine: optimize raster.
memset() is more than 10x faster than manual loop.
Thus we replace it to manipulate buffer pixels.
Change-Id: If0f255578f7d49ff6704c4f15e2eefe435cc3c15
Hermet Park [Tue, 23 Jun 2020 05:14:47 +0000 (14:14 +0900)]
sw_engie: fix wrong boundary check.
this bounding box max indicates absolute positions,
not width/height size.
because of this, shape couldn't rendered properly,
when it's clipped out.
Change-Id: I0afb0d6e63d1b511b83716c55f55e3fd5370fdb8
Hermet Park [Tue, 23 Jun 2020 02:31:23 +0000 (02:31 +0000)]
Merge "common transform: support matrix transform interface." into tizen
Hermet Park [Mon, 22 Jun 2020 11:53:52 +0000 (20:53 +0900)]
common transform: support matrix transform interface.
this interface is designed for user-defined arbitrary affine-transform paints.
required by svg loader.
Change-Id: I7f08023605d224e36cef3770098d3757aee81848
Hermet Park [Mon, 22 Jun 2020 08:06:53 +0000 (17:06 +0900)]
common bezier: code refactoring.
Organize bezier functions for internal share.
this bezier can be used in svg loader.
Change-Id: I78acd3273c0528688ca46ff7c29d78607bd729bd
Hermet Park [Mon, 22 Jun 2020 07:44:11 +0000 (16:44 +0900)]
comon render: split declaration and body.
Change-Id: I39eb1dfb929b7811fab82956aedbb15f001390e7
Hermet Park [Mon, 22 Jun 2020 07:30:18 +0000 (16:30 +0900)]
common render: code refactoring.
just replace the filename.
Change-Id: I6b18520d33c7db3ac9d6c44b10dd693b204495e5
Hermet Park [Fri, 19 Jun 2020 05:49:07 +0000 (14:49 +0900)]
common loader: build up loader infrastructure.
Change-Id: I62aaed43015301ec39e414833f37d6c5485d8043
Hermet Park [Thu, 18 Jun 2020 09:44:52 +0000 (18:44 +0900)]
correct unmatched files permission.
Please keep file permission 664.
Change-Id: I90bdfa76b4f94a06d3b560df42509f30e59111a4
Hermet Park [Thu, 18 Jun 2020 09:41:10 +0000 (18:41 +0900)]
test: revise glShape sample.
turn on gl window for testing.
Change-Id: I8a965f820d4a09697bc4145147cb0940672933be
Pranay Kumar Samanta [Wed, 10 Jun 2020 12:44:42 +0000 (18:14 +0530)]
gl_engine: implement gl infrastructure interfaces & test Gl shape sample
Change-Id: Ie142616bf02f9bd50ac8e88e31ed9f782dd6324b
Signed-off-by: Pranay Kumar Samanta <pranay.ks@samsung.com>
Hermet Park [Thu, 18 Jun 2020 01:41:58 +0000 (10:41 +0900)]
sw_engine renderer: accept stroke less 1 width size.
Change-Id: I5fe6a0993ab5c1abc79d89834ea04c25b059c320
Hermet Park [Tue, 16 Jun 2020 06:28:43 +0000 (15:28 +0900)]
common scene: design load()/save() interfaces
these interfaces will perform for vector resources such as svg/tvg/etc ...
see testSvg examples
Change-Id: Icec0a4682301a13646868bd7c3bfc1771ae7db2c
Hermet Park [Mon, 15 Jun 2020 12:01:46 +0000 (21:01 +0900)]
common initializer: replace engine class with intializer
This initializer will take over the global environments of tvg engines.
Change-Id: I7b99973dafaea57ddd3134800bd442ef4dc319ae
Hermet Park [Mon, 15 Jun 2020 11:55:55 +0000 (20:55 +0900)]
common engine: manage engine initializing context.
Change-Id: Ida3997fd7cc9ee0916d48290168cdb884e946833
Hermet Park [Mon, 15 Jun 2020 10:54:52 +0000 (19:54 +0900)]
sw_engine: support gradient transformation properly
added testGradientTransform
Change-Id: I29037d08ce951e5ceb2eef31cb414efc25296417
Hermet Park [Mon, 15 Jun 2020 09:10:24 +0000 (18:10 +0900)]
test: updated trivial comments.
Change-Id: If44643d51d9acd3e3042118e39ca3e8f07c148da
Hermet Park [Sun, 14 Jun 2020 08:53:29 +0000 (17:53 +0900)]
sw_engine: implement gradial gradient feature
also added testRadialGradient
Change-Id: If4a278cb4667c38c7842ad30edf5aa2fdd56fff7
Hermet Park [Thu, 11 Jun 2020 06:06:17 +0000 (15:06 +0900)]
sw_engine: implement linear gradient feature
also added testLinearGradient
Change-Id: I9cce74b9fc40c4ebd978939ee50955e44e7f44f2
Hermet Park [Thu, 11 Jun 2020 05:27:20 +0000 (14:27 +0900)]
common fill: added spread mode.
Change-Id: I95d47bc492d5a22326a745a591d243e56a26bae4