Commit Graph

29 Commits

Author SHA1 Message Date
Christopher Michael 2a4c87bb11 static_libs/vg_common: Fix resource leak
Coverity reports a resource leak here. The function _create_node
returns allocated storage which should be freed when we are finished
with it.

Fixes CID1382215

@fix
2019-04-24 08:56:00 -04:00
Hermet Park 29b65ccf88 evas svg: code refactoring.
reorder data fields to packing memory fit.
2019-04-19 15:21:07 +09:00
junsu choi 41152dc29e vg_common_svg : Implement gradientTransform property of linearGradient
Summary:
Svg parser gets transformation matrix information from svg.
If there is a matrix, calculate matrix operations
on the start and end points of the gradient.

TODO: We should implement gradientTransform of radialGradient.

Test Plan: N/A

Reviewers: Hermet, smohanty

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8663
2019-04-19 15:07:12 +09:00
junsu choi 5403af9629 vg_common_svg: Prevent duplicate operations for percentage value
Summary:
x1, y1, x2 and y2 of Svg_Linear_Gradient structure must be a percentage value.(0 ~ 1)
but these variables are reused with efl_gfx_gradient_linear_start/end_set/get
and duplicate operations occur.

Test Plan: N/A

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8662
2019-04-19 13:56:49 +09:00
junsu choi b736697ec7 vg_common_svg : Add missing eet data descriptor
Summary:
Add descriptor to get the value of user_space,
which is a member of Svg_Style_Gradient.

Test Plan: N/A

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8594
2019-04-11 14:48:05 +09:00
Hermet Park 2fdbc21c03 evas svg: replace internal vg legacy calls with interfaces. 2019-03-11 16:27:19 +09:00
Hermet Park 7c8210d8a6 evas vg: don't access a dangling pointer. 2019-02-27 19:13:18 +09:00
Hermet Park 9a5dacdb36 evas vg: check for OOM when calloc() 2019-02-21 10:36:49 +09:00
Hermet Park 0a47a0ef32 evas vg: check for OOM when calloc() 2019-02-21 10:36:49 +09:00
Hermet Park a921040743 evas vg: check for OOM when calloc() 2019-02-21 10:36:49 +09:00
Hermet Park 1442690680 evas vg: check for OOM when calloc() 2019-02-21 10:36:49 +09:00
Hermet Park 63e11e1b18 evas vg: avoid integral division not to loss precision. 2019-02-21 10:36:49 +09:00
Hermet Park 07521f5e07 evas vg: refactor internal function name.
Specify explict svg name in vg common function
since the function totally depends on svg spec.

No logic changes.
2019-01-09 14:59:01 +09:00
Hermet Park 950059ce9a evas vg: revise basic vg cache logic.
There was a big trouble that vg cache didn't free cached data properly.
Plus, there was a unnecessary copy of vg tree data.

This revised version is a improvement of our evas vg cache
in stable and optmization.
2018-12-07 19:08:34 +09:00
Marcel Hollerbach 46d464e5bf here comes meson
a new shiny buildtool that currently completes in the total of ~ 4 min..
1 min. conf time
2:30 min. build time
Where autotools takes:
1:50 min. conf time
3:40 min. build time.

meson was taken because it went quite good for enlightenment, and is a traction gaining system that is also used by other mayor projects. Additionally, the DSL that is defined my meson makes the configuration of the builds a lot easier to read.

Further informations can be gathered from the README.meson

Right now, bindings & windows support are missing.

It is highly recommented to use meson 0.48 due to optimizations in meson
that reduced the time the meson call would need.

Co-authored-by: Mike Blumenkrantz <zmike@samsung.com>

Differential Revision: https://phab.enlightenment.org/D7012
Depends on D7011
2018-10-02 17:22:50 +02:00
Jaehyun Cho 5e0877ca2c efl_vg: calculate center point with double type
Although the center point is double type, the calculation is integer type.
To calculate center point correctly, calculate with double type.
Differential Revision: https://phab.enlightenment.org/D7097
2018-09-27 10:13:57 +02:00
Cedric Bail b671a2c34f evas: actually we expect gradient to live as long as the part that is using them. 2018-05-24 16:02:20 -07:00
Cedric BAIL 49fbdcf17a evas: vg loader actually should hold a ref when no parent is given. 2018-04-03 14:26:59 -07:00
Mike Blumenkrantz 7eb0375c0e efl_vg: namespace moves
efl.vg -> efl.canvas.vg.node
efl.vg.* -> efl.canvas.vg.*

ref T6714
2018-02-21 14:04:59 -05:00
Mike Blumenkrantz 09f2fab144 interfaces: merge all bounds_get methods into efl.gfx.path
ref 884fc35160
2018-02-12 16:59:48 -05:00
Mike Blumenkrantz a03bcd34af efl_vg: use efl.object's name property instead of implementing a new one 2018-02-12 15:56:46 -05:00
Vitalii Vorobiov 66e0caccb7 evas_vg_load_svg: default stop opacity color should be 255, not 0
@fix
2017-11-07 11:54:09 +09:00
Vitalii Vorobiov d98e2323ad vg_common: property apply "objectBoundingBox" morphings to radial gradient
When objectBoundingBox flag is set up, all gradients should morphed into
multiple gradients for every entity that has gradient to be applied on
2017-11-07 11:54:09 +09:00
Vitalii Vorobiov 6bf5d9d96e svg_parse: parse correct values for radialGradient
Especially Radius calculation which was a huge pain to find formula
within SVG documentations!
2017-11-07 11:54:09 +09:00
Vitalii Vorobiov f81f031ceb vg_common: apply related coordinates for linear gradient
multiply it with object size or with view box sizes depending on
gradientUnits value
2017-11-07 11:54:09 +09:00
Vitalii Vorobiov 405e56ac55 svg_parse: parse linear gradient variables accroding to gradientUnits
There are difficult cases according to
https://www.w3.org/TR/2000/CR-SVG-20000802/pservers.html
2017-11-07 11:54:09 +09:00
Vitalii Vorobiov fac649c7f4 vg_common: parse and store userSpaceOnUse (for gradient) when it is set
So it can be calculated during the draw later on
2017-11-07 11:54:09 +09:00
Subhransu Mohanty 8329c98d5f evas/vg: fixed handling of stroke width in cairo and native backend 2017-10-27 14:58:38 +09:00
Subhransu Mohanty 48c1c4850a static_lib: added vg_common static lib
Features:
 Copied vg eet descriptor from edje_data
 Copied convert func  from Svg_Node to Efl_VG from edje
 added  convert function from Efl_VG to Svg_Node
2017-10-27 14:58:38 +09:00