summaryrefslogtreecommitdiff
path: root/src/lib/ector (follow)
AgeCommit message (Collapse)Author
2019-01-22ector: remove unused functionMarcel Hollerbach
done is not called, nor implemented in a single spot, lets remove it. It can still be readded once its needed. ref T5719 Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D7713
2019-01-18efl: convert all abstracts to the new eolian syntaxMarcel Hollerbach
ref T7459 Reviewed-by: Daniel Kolesa <daniel@octaforge.org> Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es> Differential Revision: https://phab.enlightenment.org/D7686
2019-01-18efl: convert all mixins to new eolian syntaxMarcel Hollerbach
ref T7459 Reviewed-by: Daniel Kolesa <daniel@octaforge.org> Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es> Differential Revision: https://phab.enlightenment.org/D7685
2019-01-18efl: convert all classes to the new eolian syntaxMarcel Hollerbach
ref T7459 Reviewed-by: Daniel Kolesa <daniel@octaforge.org> Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es> Differential Revision: https://phab.enlightenment.org/D7684
2019-01-17evas: make classes abstractMarcel Hollerbach
Summary: those classes are defining pure_virtual functions, so the class should be abstract. ref T7632 Depends on D7670 Reviewers: cedric, segfaultxavi, zmike, q66 Reviewed By: segfaultxavi Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T7632 Differential Revision: https://phab.enlightenment.org/D7671
2019-01-16evas/engines/gl_generic: remove multiclass inheritanceDaniel Kolesa
evas_ector_gl_buffer/evas_ector_gl_image_buffer contained a regular class in extensions list, which is wrong.
2019-01-11efl: refactor all mixinsMarcel Hollerbach
Differential Revision: https://phab.enlightenment.org/D7585
2018-12-28efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGEDHermet Park
Summary: Here is an additional optmization patch for removing unnecessary updation of path, For instance, let's assume this scenario: If one vg object has 20 path nodes(shapes), and every single nodes would have 50 path changes. (like, append_cubic, append_rect, append_xxx ...); There would 1000 events triggering. Furthermore, if there are 20 vector objects in one view, hese events would be triggered 20000 in one frame. It's insane, actually I could figured out that happens. and it took a lot of cpu consumption in some vector usages. efl_gfx_path_commit() is my idea to avoid this. When path is ready, the path need to get this api call in the last to make object changed properly. @feature Reviewers: #committers, cedric Reviewed By: #committers, cedric Subscribers: segfaultxavi, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7494
2018-12-26Revert "efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGED"Hermet Park
This reverts commit 7c38c0c9154b0971ccb8ecf5ea8f15467cfb6662. Oops, didn't intend this patch.
2018-12-26efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGEDHermet Park
Summary: Here is an additional optmization patch for removing unnecessary updation of path, For instance, let's assume this scenario: If one vg object has 20 path nodes(shapes), and every single nodes would have 50 path changes. (like, append_cubic, append_rect, append_xxx ...); There would 1000 events triggering. Furthermore, if there are 20 vector objects in one view, hese events would be triggered 20000 in one frame. It's insane, actually I could figured out that happens. and it took a lot of cpu consumption in some vector usages. efl_gfx_path_commit() is my idea to avoid this. When path is ready, the path need to get this api call in the last to make object changed properly. @feature Reviewers: #committers, cedric Subscribers: segfaultxavi, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7494
2018-12-20cmake: remove!Marcel Hollerbach
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-07ector software: Be careful at alloca() usage.Hermet Park
allocate one spare span memory then reuse it.
2018-12-07evas ector: add software implmentation for masking feature.Hermet Park
This implementation uses Ector_Buffer to generate mask image from vg container, and pass it to Ector engine. Ector renderer could blend this image as a mask. Yet only vg container works as a mask, we could extend shape to support masking later. Still vector gl drawing is not completed, We use software ector buffer to draw on it. This is on progessing.
2018-12-07ector: code refactoring.Hermet Park
make code clean and neat. no logical changes.
2018-12-03meson: use eolian_gen with -SMarcel Hollerbach
this ensures that eolian does not parse installed .eo files Differential Revision: https://phab.enlightenment.org/D7405
2018-11-28ector: fix indentation.Hermet Park
2018-11-28evas ector: Replace renderer preparation responsibility.Hermet Park
Replace fill/stroke renderer preparation of shapes to canvas vg, These renderer now is triggered by their own instances. This cairo change part is missing bym cbf70b32f049583fc0bf7542af7d89d4ef5d50c55.
2018-11-28evas ector: Replace renderer preparation responsibility.Hermet Park
Replace fill/stroke renderer preparation of shapes to canvas vg, These renderer now is triggered by their own instances.
2018-11-28ector: remove quality option.Hermet Park
This option is empty, useless. No plan to support it.
2018-11-23ector software: make a pair of ref/unref.Hermet Park
public_shape missed get xunref, it won't reache to zero reference. @fix
2018-11-23ector renderer: correct indentation.Hermet Park
2018-11-16meson - ector - fix eo dependencies to include all of themCarsten Haitzler (Rasterman)
move subdir after all eo files added to eo file deps var so it can use them all.
2018-11-16meson: cleanup the native-cpu optimization build codeMarcel Hollerbach
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-16meson: fix build breakMarcel Hollerbach
Summary: the optimization that is build here requries a few .eo.h files - so ensure that they are generated before they are used. This fixes the build of efl. Reviewers: ManMower, raster Reviewed By: ManMower Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7295
2018-11-16ector: replace custom _efl_refplace by generic efl_replace.Cedric BAIL
Summary: Depends on D7274 Reviewers: Hermet, smohanty Reviewed By: Hermet Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7275
2018-11-16ector: remove deprecated _efl_refplace and _efl_xrefplace.Cedric BAIL
Summary: Depends on D7275 Reviewers: Hermet, smohanty Reviewed By: Hermet Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7276
2018-11-16ector: use efl_replace to make sure that no dangling pointer is left being.Cedric BAIL
Reviewers: Hermet, smohanty Reviewed By: Hermet Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7273
2018-11-16ector: reorder destructor code to make sure that freed pointer are not ↵Cedric BAIL
possibly accessed during destruction. Summary: Depends on D7276 Reviewers: Hermet, smohanty Reviewed By: Hermet Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7277
2018-11-16ector - fix meson build with sse3 on ix86 (32bit)Carsten Haitzler (Rasterman)
2018-11-15ector: fix wrong initalization count reference.Hermet Park
Ector shutdown couldn't terminate engine properly since it's counting statement is wrong.
2018-11-14evas ector: fix memory leaks.Hermet Park
Summary: Make it sure ref/unref pairs. unpaired reference count occures object dangled. @fix Reviewers: #committers Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7270
2018-11-14ector/software: remove duplicate call.Hermet Park
2018-10-24meson: add eolian custom dependencies supportDaniel Kolesa
This uses the meson/ninja depfile functionality + eolian to make sure proper dependencies between generated files and .eo files are managed, to ensure consistent re-generation of all generated files that are affected upon .eo file modification. For custom rules with multiple outputs, Ninja currently does not support depfiles. Therefore, split those into two custom rules so that the depfiles functionality can be enabled. While this is ugly and slows down the process a little by having to invoke Eolian twice instead of once, it has to be done and it's still better than what we had in Autotools anyway. Differential revision: D7187 Fixes T6700.
2018-10-02here comes mesonMarcel Hollerbach
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-05-19efl: Add missing event typesXavi Artigas
Summary: All events must have a type now, otherwise bindings don't know how to handle the event_info field. Most of the missing event types were actually "void" (no event_info present). Some struct definitions had to be moved to eo instead of h files, so they are available to bindings. Some have not, and are marked with FIXME. Some namespaces have been fixed (like Efl_Event_Cb -> Efl.Event_Cb). In general, there are hundreds of changed files, but mostly to add a type which was not present before, so there's no harm done. Also, A lot of FIXMEs have been added which should be, like, fixed. For example, some events can send different types of event_info, which is very inconvenient (and error prone). Test Plan: make with c# bindings works, make check and make examples work too. Reviewers: cedric, q66, lauromoura Subscribers: zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6169
2018-04-24Efl.Gfx.Gradient_* (from Efl.Gfx.Gradient.*)Xavi Artigas
Ref https://phab.enlightenment.org/T6847 Reviewed-by: Cedric Bail <cedric@osg.samsung.com>
2018-04-20ector cairo: fix a memory leak.Hermet Park
Here don't need to use heap memory. @fix
2018-04-17eolian gen: enable constness generation on property getter implsDaniel Kolesa
This changes a lot of things all across the EFL. Previously, methods tagged @const had both their external prototype and internal impl generated with const on object, while property getters only had const on the external API. This is now changed and it all has const everywhere. Ref T6859.
2018-03-20efl: use efl_add_ref to create objects which have no parentCedric BAIL
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-02-12interfaces: merge all bounds_get methods into efl.gfx.pathMike Blumenkrantz
ref 884fc35160152712decdf7fd43082ef3912c0856
2018-02-12ector: rename ector_renderer "bounds_get" method to "boundary_get"Mike Blumenkrantz
this conflicted with a method from Efl.Gfx.Path
2018-02-12ector: fix property/method name conflict for "fill"Mike Blumenkrantz
Shape implements a property, sw/gl/cairo implements a method rename method to op_fill
2018-02-12eolian: convert all of cedric's tabs to spaces in .eo filesMike Blumenkrantz
2018-02-08ector: Updated the ector_buffer_pixels_set() api with stride infosubhransu mohanty
Reviewers: jypark, jpeg Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D5795
2018-01-18all: Simplify definition of EAPIVincent Torri
This will help in the transition from Autotools to Meson. This has been tested on Windows for which EFL_XXX_BUILD were first introduced.
2017-12-13efl: Move VG-specific change event to efl.gfx.pathJean-Philippe Andre
2017-11-10ector: move gradient generation api to draw library for reuse.subhransu mohanty
2017-11-07vg_common: property apply "objectBoundingBox" morphings to radial gradientVitalii Vorobiov
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-07ector: use cairo_pattern_add_color_stop_rgba in gradient_radialVitalii Vorobiov
It actually invoked SIGSEGV when trying to load SVG file with Radial Gradient @fix
2017-11-03eolian: disallow ptr() on things that are already pointer-likeDaniel Kolesa
This disallows deeply nested pointers, you can only explicitly ptr() on types that are strictly value types. For a few cases where it was necessary to override this behavior, you can use legacy(ptr(x)) as a temporary measure.