Commit Graph

132 Commits

Author SHA1 Message Date
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
Marcel Hollerbach e43f090265 cmake: remove!
This build was never complete and also was not maintained probebly.

It is also dropped in favour of meson which is cool, merged, works & is fast.

Differential Revision: https://phab.enlightenment.org/D7010
2018-12-20 20:07:26 +01:00
Marcel Hollerbach 9c1d2fe62f build: draw is using functions from rg_etc
this means when you use draw you should automatically drag in rg_etc.

This fixes a build problem reported on irc.
2018-12-07 15:01:21 +01:00
Marcel Hollerbach 500a36ba3d meson: add inital support for windows compilation
Differential Revision: https://phab.enlightenment.org/D7416
2018-12-07 13:05:31 +01: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 46422187d8 meson: cleanup the native-cpu optimization build code
you were not able to disable the header checks, so if the header was not
there it indicated that you could turn it of. However, the option check
was in the has_header if not outside of it. Further more, header checks
are done in the subdirectory that is done for header checks,
unneccessary cpu_**** flags are removed, global optimization options are
added to the global_arguments instead of just the package_c_args, which
leads to the fact that also all binaries etc. are build by default with
those optimization flags.

This also reduces the amount of options to a minimum of 1 option, to
just control if there should be the optimization or not.

This also changes from host_maschine to target_mschine, since we
probebly want to enable the optimization for the target maschine, not
the host.

Differential Revision: https://phab.enlightenment.org/D7296
2018-11-16 17:29:05 +01:00
Carsten Haitzler e6c7521f5d meson - move static libs sraw sse2 inot sse3 build options set
this fixes builds when sse3 is enabled by building with sse3 opts...
2018-11-12 16:42:17 +00:00
Carsten Haitzler df02d9a8e2 libunibreak - warn - add fallthrough attributes to minimize warnings 2018-11-09 12:18:59 +00:00
Carsten Haitzler 8292e8c937 meson build - fix libunibreak build to not directly build wordbreakdata
wordbreakdata.c is #included. dont compile it on its own. also
graphemebreakdata.c too is inthe same boat.
2018-11-09 12:18:59 +00: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
Yeongjong Lee 02d83ebcd4 docs: Fix typos in API reference doc and comments.
Reviewers: Hermet, segfaultxavi

Reviewed By: Hermet, segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6948
2018-08-31 17:45:31 +09:00
Youngbok Shin 517018e008 evas textblock: add/apply cursor cluster APIs based on grapheme cluster
Summary:
Add a feature for moving cursor over a grapheme cluster.
It is applied to edje_entry.c and elm_entry.c for improving
cursor handling just like other modern text editors. ex) gedit
The patch on Evas needs to update libunibreak library.
So, the patch will update libunibreak, too.
@feature

Test Plan:
1. Put "ഹലോ" in your entry.
2. Your cursor can reach at the end of text from the beginning
   only in 2 right key event with this feature.

Reviewers: raster, cedric, jpeg, herdsman, zmike, devilhorns

Reviewed By: herdsman, zmike

Subscribers: #reviewers, #committers, zmike, bowonryu, woohyun

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D5490
2018-08-20 10:29:32 -04: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
Marcel Hollerbach c93bd1b81b Introduction of buildtools!
buildtool is a little static library for the abstraction of buildtool
depedend path generation.
2018-02-17 21:17:47 +01: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
Derek Foreman cf605549c5 ecore_wl2: Add dmabuf allocations for vc4
This should theoretically be better for software rendering on rpi3 since
it allows the compositor to use our sw rendered buffers as a texture.
2017-11-21 16:31:23 -06:00
subhransu mohanty 76e75dc105 ector: move gradient generation api to draw library for reuse. 2017-11-10 11:20:38 +09:00
subhransu mohanty 5f9c54a1b2 triangulator:Added stroke_set api to the triangulator_stroker. 2017-11-10 11:20:38 +09: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
Thiep Ha 8116112f78 ector: remove unused value
The stored value of v_last is overwritten in another place,
its stored valued is not used.
2017-10-10 13:19:03 +09:00
Carsten Haitzler 932ae95a4e efl src - mark fallthrough switch statements in 3rd party code
in code we importend that doesnt use eina we have warnings of
fallthroughs. all o them are commented to be fallthrough so add the
attribute there too to have fewer warnings.
2017-08-04 10:19:27 +09:00
Carsten Haitzler 02a07caca4 etc to rgba conversion - dont read stack garbage into the est imgs
surprising this wasn't caught when testing fallbacks. etc2 is used
hyper-rarely but still... basically it'd skip pixels and read stack
junk (which really would not crash but we'd have junk in image data).
or should.

found by PVS studio

@fix
2017-07-29 09:08:40 +09:00
Chris Michael 3ec0233a28 static_libs/libdrm: Update exynos header files
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 14:53:16 -04:00
Chris Michael ca66a9fa0d static_libs/libdrm: Update static libdrm headers
This patch updates our static_libs/libdrm header files to version
2.4.81-1 (from arch).

NB: derek, I don't have the exynos headers here. Please update them
when you can.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 14:23:57 -04:00
Chris Michael 434bb09b17 static_libs: Add xf86drm headers to libdrm static_libs
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 13:44:52 -04:00
Cedric BAIL 3fadc0d5af draw: silence warning in a tricky loop/switch statement. 2017-06-05 12:07:57 -07:00
Jean-Philippe Andre b6df13b024 evas filters: Move curve to software generic (3/8)
This moves the RGBA premul/unpremul functions to static_libs/draw.
2017-04-14 11:26:42 +09:00
Jean-Philippe Andre 0740010a06 evas filters: Move blend to software_generic (1/8)
This is an attempt at refactoring the filters code so I can
later implement GL support. This patch adds a few extra changes
to remove avoid calling functions of libevas from the software
engine: use the draw functions from static_libs/draw rather
than evas_common APIs.
2017-04-14 11:26:42 +09:00
Gustavo Sverzut Barbieri 525d1e0629 cmake: add EFL_SUPPORT_LIB() and simplify/speedup its usage.
generate a static library for src/static_libs and use that as
LIBRARIES for the actual library, for those such as rg_etc that are
used multiple times will even speed up the final build by compiling
only once.

Although not used, they can be made into shared libraries that would
go inside /usr/lib/efl/support/v-1.19/libname.so
2017-01-27 12:52:14 -02:00
Cedric BAIL 8f1c071d6a eina: rename EINA_{FLT,DBL}_CMP to EINA_{FLT,DBL}_EQ. 2017-01-06 15:58:46 -08:00
Cedric BAIL 0d1c0773a0 triangulator: fix float comparison warning. 2016-12-20 16:39:29 -08:00
Stefan Schmidt e90622ec41 all: use void if we really want to make sure we do not accept parameters
In C we need this to make clear that we really do not accept parameters.
Found by the smatch source code matcher. I had run and fixed this before
but it seems to creep in again over time.
2016-12-06 17:16:24 +01:00