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
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
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
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
Michal Szczecinski [Tue, 15 Sep 2020 06:29:32 +0000 (08:29 +0200)]
bindings/capi: Added stroke/gradient getters.
Change-Id: I2b08b9f8867baa4614274c7848e599690c321215
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]
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]
Hermet Park [Tue, 15 Sep 2020 03:26:57 +0000 (12:26 +0900)]
sw_engine: code refactoring.
removed unused macro.
Change-Id: I894050103e4c4a939da4f4cb526759a40a9ccd58
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
JunsuChoi [Mon, 14 Sep 2020 11:54:55 +0000 (20:54 +0900)]
Update README.md
Add build status
Change-Id: Iddc00e94cf865878153a8f445102f437dd51a9f1
JunsuChoi [Mon, 14 Sep 2020 11:50:09 +0000 (20:50 +0900)]
Add travis ci build
Change-Id: Iabe0669b1b55f8cdb1c851b7252a6c768e934bdf
Hermet Park [Fri, 11 Sep 2020 10:49:22 +0000 (19:49 +0900)]
Update README.md
Fix typo
Change-Id: If5af278c08d84b7bb183dda61f3426b16272bfbf
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
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
Hermet Park [Fri, 11 Sep 2020 02:15:00 +0000 (11:15 +0900)]
updated AUTHORS
Change-Id: I20ae1591ed854d57eed1063a0ecdc481de86b562
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
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
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
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
Hermet Park [Thu, 10 Sep 2020 01:53:44 +0000 (10:53 +0900)]
Update README.md
Change-Id: I44554322cdca1b716459d197b60e576d0cb81861
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
Hermet Park [Wed, 9 Sep 2020 02:11:24 +0000 (11:11 +0900)]
Update README.md
Change-Id: I82d5ff41586a65d4694b766bd5a7979e48e22ae2
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
Hermet Park [Tue, 8 Sep 2020 11:29:24 +0000 (20:29 +0900)]
changed file permission
Change-Id: Ic39e9e678584f7f46f730799d90c66b063b9817b
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
Pranay Kumar Samanta [Fri, 4 Sep 2020 04:56:28 +0000 (10:26 +0530)]
gl_engine: gradient implementation
Change-Id: If2413328437847d52ba1badc3b5c510fdd47ccd3
Hermet Park [Tue, 8 Sep 2020 03:27:30 +0000 (12:27 +0900)]
Update README.md
Change-Id: Ib828a44f2be3876e47d6aa826c2950817ad7b207
Hermet Park [Tue, 8 Sep 2020 03:26:23 +0000 (12:26 +0900)]
Update README.md
updated logo.
Change-Id: I1bcf3dddecd368247ea60782b5fc9ca09ae0f1fe
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
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
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
Hermet Park [Mon, 7 Sep 2020 05:12:07 +0000 (14:12 +0900)]
Update README.md
Change-Id: I07f601da6e86fe32df4772babc8d2637958177cf
Hermet Park [Mon, 7 Sep 2020 05:08:14 +0000 (14:08 +0900)]
README: introduced our new logo.
Change-Id: I41f8f973b33eefe21515317a8ddacd1c32749d7a
Hermet Park [Sat, 5 Sep 2020 10:05:17 +0000 (19:05 +0900)]
test: +++ missing test file.
Change-Id: Ib7459b9a31342a144f5bd708a73dd328d2a6bd24
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
Hermet Park [Sat, 5 Sep 2020 05:26:56 +0000 (14:26 +0900)]
Update README.md
Update Sample code
Change-Id: I62cc381f06df664182cf304f4846328b26199fa4
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Hermet Park [Tue, 1 Sep 2020 11:40:18 +0000 (20:40 +0900)]
test async: fix wrong time unit.
Change-Id: I2ea2b2e6176cc3384bdfe2b5f96b7ee1dc42d93f
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
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
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
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
Hermet Park [Fri, 28 Aug 2020 05:03:38 +0000 (05:03 +0000)]
Merge "tvgShape: fixed missing check in Shape::fill" into tizen
Hermet Park [Fri, 28 Aug 2020 02:28:59 +0000 (11:28 +0900)]
sw_engine: + exceptional handling for safety
Change-Id: I3ee6ca40590c5af5fd7243f419eaf96197ba757b
Mateusz Palkowski [Wed, 26 Aug 2020 09:26:40 +0000 (11:26 +0200)]
tvgShape: fixed missing check in Shape::fill
Without this check, setting same fill twice results in crash later.
Change-Id: I38e7026c52a250f65923c4e3008868ed471bf885
Hermet Park [Wed, 26 Aug 2020 07:39:10 +0000 (16:39 +0900)]
sw_engine: applied async rasterizing based on task scheduler.
Now, we have 2 points for asynchronous behaviors.
1. update shapes:
Each shape update will be performed by async when you push shape to canvas.
Meaning, if you have time gap between update and rendering in process main-loop,
you can have a benefit by this.
2. rasterization by canvas:
Canvas.draw() will be performed asynchnously until you call canvas.sync();
Meaing, if you can trigger tvg rendering eariler than composition time.
You can have a benefit by this.
If these 1, 2 points might not work for your program,
You can just toggle off async by setting threads number zero at initialization.
Or if you could apply either point of them for your program,
It might be good for performance.
But the best approach is to make both async properly.
Though this might need to fine-grained tuning integration between your program & tvg,
You could achieve the best peformance by parallelzing tasks as possible without any jobs delaying.
Change-Id: I04f9a61ebb426fd897624f5b24c83841737e6b5b
Mira Grudzinska [Mon, 24 Aug 2020 21:31:50 +0000 (23:31 +0200)]
SwRenderer: fixing unnecessary nesting in prepare()
Validating the above by adding shape/canvas update to testCapi.cpp
Change-Id: I7db8d014f4aff7b5b2884c2dca5af119329e9d43
Hermet Park [Fri, 21 Aug 2020 12:13:39 +0000 (21:13 +0900)]
svg_loader: applied asynchronous threads tasks for optimal performance.
Change-Id: I6575a6a6302c0ae52d1256a5f79f4c080002a4aa
Shinwoo Kim [Mon, 24 Aug 2020 08:06:26 +0000 (17:06 +0900)]
taskscheduler: initialize member correctly
This patch will fix runtime crash caused by incorrect init variables.
Hermet Park [Mon, 24 Aug 2020 05:45:36 +0000 (14:45 +0900)]
Update README.md
update gitter channel address.
Subhransu Mohanty [Fri, 21 Aug 2020 07:53:56 +0000 (16:53 +0900)]
meson: added compiler flags to optimize binary size
this reduced library size from 153KB to 119KB.
Change-Id: Ie70e5412b42d864fbaa827eec21b3cbc1e8f26af
Hermet Park [Fri, 21 Aug 2020 06:56:04 +0000 (15:56 +0900)]
common initializer: don't try initialize engine duplicatedly.
Change-Id: I58c715745b8db40fe759582545082f2e6e10626a
Hermet Park [Thu, 20 Aug 2020 08:04:32 +0000 (17:04 +0900)]
common taskscheduler: revise functionalities.
initialization interfaces has been changed for threads count.
if you want to set concrete threads count by system, please specify thread count with it.
std threads:
tvg::Initializer::init(tvg::CanvasEngine::Sw, std::thread::hardware_concurrency());
if your system provides designed threads info, you can use it.
efl:
tvg_engine_init(TVG_ENGINE_SW, eina_cpu_count());
I recommend to avoid max threads usage for better performance.
Change-Id: I22cfa315768f73fa941be136956cdbb2cf837c20
Hermet Park [Thu, 20 Aug 2020 08:52:11 +0000 (17:52 +0900)]
updated AUTHORS
Change-Id: Ie0bb862f8ba20e682bf3bb7469455fa52a5d5498
Mira Grudzinska [Sun, 16 Aug 2020 13:23:42 +0000 (15:23 +0200)]
svg path: changes in processing cmds T,Q,S
Change-Id: I979bb8cbcbdd4fd1374205feac6acedc58bdd3e1
Hermet Park [Thu, 20 Aug 2020 08:02:07 +0000 (08:02 +0000)]
Merge "tvg: added task support that runs on a threadpool." into tizen
Hermet Park [Thu, 20 Aug 2020 07:16:46 +0000 (16:16 +0900)]
code refactoring
remove unnecessary condition.
implementation won't be included multiple times not like headers.
Thus this condition is unnecessary.
Change-Id: Id37e675c40ce7213a06c950da8e5ca17ff7245c9
Hermet Park [Thu, 20 Aug 2020 03:18:51 +0000 (12:18 +0900)]
sw_engine: fix loss of data when it's converting.
if SwCoord type is determined to 4byte,
it could lose remarkable value that occur stroking jiggling.
This fixes the issue.
Change-Id: Ib2fed2a3bfc9188a30522f35837439364d446a73
Hermet Park [Wed, 19 Aug 2020 09:32:32 +0000 (18:32 +0900)]
sw_engine: replace rgba8888 with abgr8888
Actually Dali rendering system requires abgr8888.
We could add more colorspaces if it's necessary.
Change-Id: Ia42a6575d1313629e55efc3077e302992c47b6c0
Hermet Park [Wed, 19 Aug 2020 05:50:49 +0000 (14:50 +0900)]
code refactoring
Now, stabilizing is pretty enough.
Remove assert code so that we never abort process in any cases.
This also reduce the binary size.
Change-Id: Ia7d2d5c5a0757b12481eaebad7a86aade6a89c1e
Hermet Park [Tue, 18 Aug 2020 11:35:13 +0000 (20:35 +0900)]
remove print/cout logs.
we need a comprehensive logging interface for this.
right now, leave as "LOG:" to replace later.
Change-Id: I25321223cd48ec13a1de5e4140cfea75a2f42866
Hermet Park [Tue, 18 Aug 2020 11:19:31 +0000 (20:19 +0900)]
sw_engine: code refactoring
introduce compositor table for runtime colorspace switching.
Change-Id: If179d1e1625f995e114d66cf1bf13742c54ed4f7
Hermet Park [Sat, 15 Aug 2020 07:29:46 +0000 (16:29 +0900)]
sw_engine: convert colorspace ARGB -> RGBA in default.
We can use RGBA colorspace rather ARGB for pixel data.
This would be better for many rendering system,
since it's more widely preferred than ARGB including opengl.
Change-Id: Ibbfe6a511d77bf0ef30ce261995467c11164d306
Hermet Park [Fri, 14 Aug 2020 10:35:39 +0000 (19:35 +0900)]
picture svg: introduce load() with memory data input source.
picture now affords the memory data as input source so that
user can pass svg data memory directly.
Change-Id: I246c09b682a2d60e53ad556ce0c90337142ee4f1
Hermet Park [Fri, 14 Aug 2020 09:51:38 +0000 (18:51 +0900)]
common initializer: introduce thread count api.
this interface controls the number of threads working behind.
default is 0 == only syncrhonous.
Change-Id: I8404f33359e6213acc5e578061568fede50cd9a6
Hermet Park [Fri, 14 Aug 2020 09:47:03 +0000 (18:47 +0900)]
loader svg: code refactoring.
renamed svg loader path.
Change-Id: I0219721540ea981d15d17b9571c1ee9b37651fb8
Hermet Park [Fri, 14 Aug 2020 08:44:17 +0000 (17:44 +0900)]
disable gl_engine in default.
We don't include gl compile before it works properly.
For development & test please turn it on in meson_option.txt locally.
Change-Id: I2ff8b06f8e1b496922f70ec580662e8886a9b93d
Hermet Park [Thu, 13 Aug 2020 11:39:34 +0000 (20:39 +0900)]
remove std async usage.
we can't control any threads count that could drop the performance.
remove async() and will come back with fine-tuned threading-pool.
Change-Id: I17c39792234acfce6db334abc0ce12da23978a9a
Subhransu Mohanty [Thu, 13 Aug 2020 04:01:53 +0000 (13:01 +0900)]
tvg: added task support that runs on a threadpool.
this patch adds an async() function that takes a shared_task
and runs asyncronously in a threadpool.
Change-Id: I02a47df6938656828f924fbf5e2bc075073b329b
Hermet Park [Thu, 13 Aug 2020 11:05:37 +0000 (20:05 +0900)]
common: code refactoring.
we can return nullptr directly here.
Change-Id: Ic1d987f2701d20ff1b69af2854f9cfee7e2fe065
Hermet Park [Thu, 13 Aug 2020 10:59:01 +0000 (19:59 +0900)]
gl_engine: engine should return shape data for resuing it.
Change-Id: I45f7ecbdb707b0751894e01d273b149402e089af
Hermet Park [Thu, 13 Aug 2020 10:50:46 +0000 (19:50 +0900)]
sw_engine: fix potential data overflow.
Change-Id: Ie800fda74d44ad3741f7a92f12681f7f753ee50c
Hermet Park [Thu, 13 Aug 2020 10:41:34 +0000 (19:41 +0900)]
svg_loader: free allocated data properly.
also renamed internal function for consistency.
createNode()
cloneNode()
freeSVGNode() ?
Change-Id: Ie9b22e92d5e918e947f8476ad0d4682fc7a3be65
Hermet Park [Thu, 13 Aug 2020 10:29:23 +0000 (19:29 +0900)]
sw_engine: remove unnecessary assert() call
Change-Id: I8cb249b6b7f32992f7ce9c86e408546c14856330
Hermet Park [Thu, 13 Aug 2020 10:27:02 +0000 (19:27 +0900)]
sw_engine: fix data overflow case.
Change-Id: I01f90a8a6b3bca38142c8c16d1990b5b1a09d081
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
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
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
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
Hermet Park [Thu, 13 Aug 2020 10:00:09 +0000 (19:00 +0900)]
sw_engine: remove unnecessary assert() call
Change-Id: I7c665bab4ef867f912ea738480e6d9b2b63e014e
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
Hermet Park [Thu, 13 Aug 2020 07:50:32 +0000 (16:50 +0900)]
replace license from Apache 2.0 to MIT
Change-Id: I61f7cb2b0e407bc035f3b2ec7da9b7f230057e24
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
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
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