Commit Graph

437 Commits

Author SHA1 Message Date
smohanty d5f72053fd evas/gesture: Added long_tap gesture to gesture framework 2017-10-19 10:33:12 +09:00
smohanty 9da7a7f0d2 evas/gesture: Added gesture manager implementaion. 2017-10-19 10:33:12 +09:00
smohanty 4b997e89e5 evas/gesture: added recognizer and tap recognizer implementation 2017-10-19 10:33:12 +09:00
smohanty 5af499b01b evas/gesture: Added gesture and tap gesture implementation. 2017-10-19 10:33:12 +09:00
smohanty e65f18ef3e evas/gesture: Added touch accumulator class implementation. 2017-10-19 10:33:12 +09:00
smohanty a403023242 evas/gesture: Added gesture_private header file. 2017-10-19 10:33:12 +09:00
smohanty b1c6915ab4 evas/gesture: Added Eo classes for evas gesture framework. 2017-10-19 10:33:12 +09:00
Jaehyun Cho 4112a68e32 efl_animation: Add sequential group animation and object
Efl.Animation.Group.Sequential is a class for animations started in
sequence.
Efl.Animation.Object.Group.Sequential is a class which provides
methods for an object of Efl.Animation.Group.Sequential.
The objects added into the sequential group animation object start
in sequence.
2017-10-12 21:03:49 +09:00
Jaehyun Cho 923a5b02eb efl_animation: Add parallel group animation and object
Efl.Animation.Group.Parallel is a class for animations started in
parallel.
Efl.Animation.Object.Group.Parallel is a class which provides methods
for an object of Efl.Animation.Group.Parallel.
The objects added into the parallel group animation object start in
parallel.
2017-10-12 21:03:49 +09:00
Jaehyun Cho 861a90415c efl_animation: Add group animation object 2017-10-12 21:03:49 +09:00
Jaehyun Cho e1a73fffb9 efl_animation: Add group animation
Efl.Animation.Group is an abstract class which provides methods for
group animations such as parallel and sequential group animations.
2017-10-12 21:03:49 +09:00
Jaehyun Cho 5a1147d643 efl_animation: Add translate animation object 2017-10-12 21:03:49 +09:00
Jaehyun Cho f01c96e542 efl_animation: Add translate animation 2017-10-12 21:03:49 +09:00
Jaehyun Cho 5540520846 efl_animation: Add scale animation object 2017-10-12 21:03:49 +09:00
Jaehyun Cho c3865609c9 efl_animation: Add scale animation 2017-10-12 21:03:49 +09:00
Jaehyun Cho 29917e4e91 efl_animation: Add rotate animation object 2017-10-12 21:03:49 +09:00
Jaehyun Cho d4f96f9728 efl_animation: Add rotate animation 2017-10-12 21:03:49 +09:00
Jaehyun Cho 58dd0bebaa efl_animation: Add alpha animation object 2017-10-12 21:03:49 +09:00
Jaehyun Cho 31ed27f002 efl_animation: Add alpha animation 2017-10-12 21:03:49 +09:00
Jaehyun Cho b4d4e2a2cc efl_animation: Add animation object
Efl.Animation.Object is a class which starts or cancels animation.
Efl.Animation.Object instance is created by Efl.Animation instance.
So Efl.Animation.Object instance contains animation properties from
Efl.animation instance.

Animation properties are set by using Efl.Animation instance and the
animation is started or cancelled by using Efl.Animation.Object.
2017-10-12 21:03:49 +09:00
Jaehyun Cho 5038223b61 efl_animation: Add efl_animation
Efl.Animation is a class which contains basic properties of animation
for Efl.Canvas.Object.
2017-10-12 21:03:49 +09:00
Jean-Philippe Andre 9ed6838f17 evas: Remove class Efl.Canvas.Group.Clipped
The functionality is now merged inside the core Group class, which will
allow us to clean up its API.
2017-09-13 09:57:05 +09:00
Stefan Schmidt 96d071349c build: evas: fix names of jpeg200 test images
The suffix for both of them has been wrong.
2017-08-28 16:45:21 +02:00
Cedric BAIL d179a5c2a9 efl: remove PS3 backend.
This backend has received no patch and maintenance from anyone who could
actually test it over the last few years. After talking with KaKaRoTo it
is best to remove it. If anyone want to take over its maintenance, you
are welcome to revert this patch.
2017-08-25 10:48:42 -07:00
Daniel Zaoui 2f53bdfe60 Move efl interfaces from evas to efl directory
You may need to remove your installed directory to avoid conflicts
2017-08-22 09:53:24 +03:00
Carsten Haitzler 6226e88b6e evas - fix build dependencies that cause failed builds
missing dev on ecore_wl2 so fix...
2017-08-21 16:04:43 +09:00
Derek Foreman ccc4ffc80d wayland: Make the wayland evas engines dependent on ecore_wl2
Seems like the best place to put some common code.
2017-08-18 14:27:31 -05:00
Jean-Philippe Andre b3722c05f9 evas: Fix crash with filters
Since the EO APIs are defined as weak symbols, invalid definitions of
EAPI lead to runtime crashes on non-public APIs. This is a fix following
a series of changes wrt. EAPI definitions.
2017-08-16 14:06:51 +09:00
Al Poole 8dbb8944b3 makefile_evas: fix includes when openjpeg 1.5 and 2.0 are installed.
Reviewers: vtorri

Subscribers: ManMower, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5084
2017-08-11 13:10:11 -05:00
Vincent Torri c358ac0222 evas tests - add Jpeg2000 tests
add tests for loading jp2k files correctly and the images
2017-08-11 17:53:28 +09:00
Stefan Schmidt 40d31b170c evas: update file path after move into fonts subdir
The file have been moved into a fonts subdir in commit e8b35c779e.
Update the path here to get it included into the tarball to make sure
check passes during distcheck.
2017-07-11 22:12:40 +02:00
Jean-Philippe Andre e8b35c779e evas: Add a test case with a custom font
The font is **ugly** and was created with birdfont. Its license
shall be anything EFL requires (public domain in the ttf file).
2017-07-11 16:21:29 +09:00
Daniel Hirt 49b838c448 Canvas text cursor: move to Efl.Canvas.Text namespace
Originally it was its own object.
There are some valid claims that there is no justification for it to
remain an object.
Furthermore, it's apparent that it added little benefit: changes of
each cursors, in practice, triggered a query for all objects of the
same textblock. There wasn't real advantage to have a finer resolution
of controlling the cursors with their own events.

This ports back a lot of code, and changes a lot of other code in the
higher-up widgets, such as Efl.Ui.Text and co.

The usage was replaces from:
  efl_canvas_text_cursor_char_next(cur_obj)
to
  efl_canvas_text_cursor_char_next(text_obj, cur_obj)
that is, it is an operations on the TEXT OBJECT, rather than on the
(now removed) cursor object.

So, one less efl object to worry about now.
Hopefully, the port went smooth.
2017-06-11 23:58:52 +03:00
Mike Blumenkrantz 7fafbdee28 evas: add new event_grabber smart-ish object
adding an "event rect" is a common use case for rectangles, but I needed
a smarter event rect so I sent one off to school and it came back like this.

an event_grabber is a smart object which functions like a normal event rect
which has color(0,0,0,0), but with an important difference: it can have smart
members. event propagation works differently for an event_grabber:

normal:
	event -> layer -> smart(obj1,obj2,obj3) ->(?) other objects
in this case, obj1,obj2,obj3 are all "inside" the smart object and their stacking
will always be considered as being inside the smart object. rendering is also
tied to the smart object in this case, as is clipping.
an event which reaches a smart object will be sent to the objects inside,
and then may continue through the smart object if there are no objects which
block repeating.

event_grabber:
	event -> layer -> event_grabber -> obj1,obj2,obj3 -> STOP
in this case, obj1,obj2,obj3 are unmodified after being added to the event_grabber
and can be stacked, rendered, and clipped completely independently of the
event_grabber.
the event_grabber is considered an "event_parent" for this case. member objects
are not "inside" the event_grabber, and they are unable to receive events on
their own. instead, the event_grabber, which must be stacked above all its
members, receives events and propagates them top->down through its member objects.
if none of the member objects block the repeat of an event then the event will
still be blocked from further propagation past the event_grabber.

object lifetimes are independent of the event_grabber; deleting the event_grabber
has no effect on its members.

@feature
2017-06-09 20:06:19 -04:00
Amitesh Singh 5e1711aac1 rename Efl.Ui.Zoomable to Efl.Ui.Zoom
Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-05-18 14:56:49 +09:00
Jean-Philippe Andre a96b7edb41 evas: Rename evas_types to evas_canvas3d_types
Now evas_types has nothing but canvas3d definitions.

Fixes T5312
2017-05-16 20:47:49 +09:00
Jean-Philippe Andre 81dd06a6ed evas map: Move Efl.Gfx.Map mixin to its own C file 2017-05-11 17:53:51 +09:00
Jean-Philippe Andre 5bce7120f1 evas filter: Implement blur filter in pure GL
Wait a second though, this implementation is not only incomplete
(no support for box vs. gaussian blur), it's also insanely bad in
terms of performance. Small radii may work fine, but at least blurs
render properly in GL with this patch (no more glReadPixels!).

The shader needs a lot of love, including in particular:
- support for 1D box blur single pass
- support for 1D gaussian (or sine) blur
- use linear interpolation and N-tap filters
- separation of 2D blur in two passes (high-level logic)
- potentially separation of large 1D blurs in 2 or more passes
  knowing that 2sigma == sigma + sigma when it comes to the gaussian
  bell curve.
2017-04-14 11:26:43 +09:00
Jean-Philippe Andre 125c7d956e evas filters: Implement displace filter in pure GL
This one was a bit more... "fun". I had to add a new vertex
attribute and obviously using a VertexAttribPointer led to
incomprehensible crashes. But a simple glVertexAttrib2fv makes
it work like a charm!

A rare option is not handled yet.
2017-04-14 11:26:43 +09:00
Jean-Philippe Andre ac8812665b evas filters: Implement fill filter in pure GL
Now that one was trivial. Could also be done with glClear and
glScissor instead, but the rectangle infrastructure works well
enough.
2017-04-14 11:26:43 +09:00
Jean-Philippe Andre 3d2f1a3d9b evas filters: Implement mask filter in pure GL
This reuses the existing mask infrastructure, but adds a color
flag to use the whole RGBA range, rather than just the Alpha
channel.

Filters are still very slow (glReadPixels and non-optimized use of
GL buffers...), but this is progress :)
2017-04-14 11:26:43 +09:00
Jean-Philippe Andre 2ef8d6f39a evas filters: Refactor ector and gfx filters A LOT
Alright, so this is a massive patch that is the result of
trying to get rid of unused or poorly implemented classes in
ector. Originally ector was meant to support VG but extend to
things like filters as well. At the moment, ector's design
makes it quite hard to plug in the filters.

For now I think it's easier to implement the GL support for
the filters directly in the engine, where I hope to interfere
as little as possible.

This massive patch keeps only the required minimum to support
a versatile gl buffer that can be mapped, drawn or rendered to (FBO).
It's extremely inefficient as it relies on glReadPixels and lots
of texture uploads, as well as conversions between ARGB and Alpha.

Another type of GL buffer is a wrap around an existing GL image,
but that one is read-only (map or draw: no write map, no FBO).

No, all the filters run fine, and the high-level implementation
(evas_filters.c) does not need to know whether the underlying engine
is SW or GL. One problem though appears with the blending or blurring
of some Alpha buffers, the colors are wrong.

This patch removes more lines than it adds so it must be good ;)
2017-04-14 11:26:43 +09:00
Jean-Philippe Andre fb52c15e85 evas filters: Prepare GL support for blend operation
No implementation yet, this is just the skeletton!
2017-04-14 11:26:43 +09:00
Jean-Philippe Andre 190d84e84b evas: Rename software filter function type
From Evas_Filter_Apply_Func to Software_Filter_Func.
Also fix include dir for out-of-tree builds of non-static sw generic.
2017-04-14 11:26:43 +09:00
Jean-Philippe Andre a8d283567a evas filters: Move blur to software generic (8/8)
This completes the series of refactoring patches, where only the
filter implementation is moved to the engine rather than inside
evas itself.
2017-04-14 11:26:43 +09:00
Jean-Philippe Andre 46542ea748 evas filters: Move transform to software generic (7/8) 2017-04-14 11:26:42 +09:00
Jean-Philippe Andre 1b95d22c2c evas filters: Move bump to software generic (6/8) 2017-04-14 11:26:42 +09:00
Jean-Philippe Andre b56a788e96 evas filters: Move displace to software generic (5/8) 2017-04-14 11:26:42 +09:00
Jean-Philippe Andre c9eec74002 evas filters: Move fill to software generic (4/8)
This also moves the header evas_engine_filter.h to its subdir.
2017-04-14 11:26:42 +09: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