Commit Graph

147 Commits

Author SHA1 Message Date
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
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
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
Bryce Harrington 910c316c17 evas: Rewrite Evas Eo documentation
Summary:
Cleans up grammar, simplifies wording, and elaborates on some details
for better clarity.  Assume the reader will already have a basic
understanding of reference counting and 3D graphics in order to avoid
overexplaining these concepts.

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4837
2017-05-03 12:38:41 +02:00
Bryce Harrington 4b653b7a31 evas: Fix grammar of which vs. that
Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4809
2017-04-24 08:28:31 -04:00
Bryce Harrington 4768b38e6c evas: fix spelling for "ptimitive"
Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4804

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-04-19 10:49:20 -07:00
Bryce Harrington bb1a8779db evas: correct pluralization grammar in Evas_Eo.h
Test Plan:
- There are other grammatical errors, but I'm focusing this patch just
  on pluralization-related issues to ease review and make it clearer if
  I've introduced any inaccuracies.

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4784

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-04-12 14:27:40 -07:00
Bryce Harrington 72878655b7 evas: Correct typos in Evas_Eo.h docs
Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4735
2017-04-04 09:20:24 -04:00
Guilherme Iscaro ed9c635152 Evas: Add Focus event type. 2016-11-24 19:18:47 -02:00
Jean-Philippe Andre d504284dd2 efl: Rename Efl.Event.XX to Efl.Input.XX
This removes:
 Efl.Event interface

And renames:
 Efl.Event.Input -> Efl.Input.Event
 Efl.Event -> Efl.Input.Event (merged)
 Efl.Event.Pointer -> Efl.Input.Pointer
 Efl.Event.Key -> Efl.Input.Key
 Efl.Event.Hold -> Efl.Input.Hold

This also moves some interfaces from efl/ to evas/ where they
belong better.

This allows renaming Eo_Event to Efl_Event.
2016-08-26 10:18:01 +09:00
Jean-Philippe Andre 44cff879a1 evas: Fix includes when enabling BETA but not EO API
This fixes the build for older versions of E.
2016-08-24 14:42:19 +09:00
Jean-Philippe Andre 6b8228ffbd evas: Move map to a separate mixin
Evas map is not translated to proper eo apis yet.
Efl.Canvas.Map will be a mixin implementing the evas map
API in a bindable API.
2016-06-29 09:12:26 +09:00
Jean-Philippe Andre 9f5d279722 Evas events: Implement support for hold event 2016-06-27 16:38:46 +09:00
Jean-Philippe Andre 269fc4f7a6 evas: Remove common interface and use provider_find
Evas.Common_Interface not only had a bad name, it also
wasn't in line with how we can get a loop object, for
instance.

Use eo_provider_find in each implementing class.
2016-06-21 16:13:04 +09:00
Jean-Philippe Andre 7bf8da2baa evas: Rename Evas.Object to Efl.Canvas.Object
One step closer to make the EO inheritance tree look like
it's all Efl.
2016-06-21 14:35:19 +09:00
Jean-Philippe Andre 52f9220b3f Evas: Rename smart object into Efl.Canvas.Group 2016-06-17 19:32:43 +09:00
Jean-Philippe Andre 4653cc44dd Evas: Cleanup evas smart clipped class
This is legacy stuff. I wish we could hide it from our inheritance
entirely. Instead, just make it abstract, remove all functions from
eo (doable here) and rename with the keyword "internal" in the new
ugly java style name.
2016-06-17 19:32:43 +09:00
Tom Hacohen c297ff4115 Canvas text cursor: introduce this new object
The text cursor is now an eo object. Consult the efl_canvas_text_cursor.eo file
for the API.

@feature
2016-06-16 19:15:20 +01:00
Daniel Hirt 3a6c648d28 Canvas text: introduce new text object
The implementation depends on creating different code paths from the now-legacy
behavior of text appending.

The annotation system introduced in this commit replaces the current way of
applying formats on text.
Up until now it has been quite a hassle for the user to control the formats, as
it required keeping track of the format positions with an opener and closer
formats almost every time (with the exception of own-closing formats).

The combination of Efl.Text API along with the Efl.Canvas.Text annotation API
essentially replaces the capabilities of the old format.

There is additional annotation API to allow more control, so be sure to check
the documentation/.eo files and the wiki page of Efl.Canvas.Text.

The style API now accepts actual strings of format style. There is not longer
need to instantiate as style with style_new() followed later by style_free().

@feature
2016-06-16 19:15:20 +01:00
Jean-Philippe Andre d97c07d675 Efl: Move Efl.Canvas to efl/interfaces
Not sure this is a good name for this interface, but it
definitely doesn't belong inside lib/evas/

Thanks Jiyoun for the question / report :)
2016-06-16 10:57:56 +09:00
Stefan Schmidt ddbf379359 evas: move canvas3d and vg parts into beta API and keep the rest under EO API
Vanvas3d and VG are still conisereed beta. For the rest we are going to sort
this out over the next days/weeks. Either EO API flag removed or put under BETA.
2016-06-14 16:27:10 +02:00
Jean-Philippe Andre 8a0e74afa8 evas: Move canvas events to a common interface
This merges window and evas events into a single name.
Some events are marked as @beta as they shouldn't really be
part of our EO API.
2016-06-14 16:27:42 +09:00
Jean-Philippe Andre e165854a78 Evas: Rename Zoomable_Interface to Efl.Ui.Zoomable 2016-06-10 18:06:15 +09:00
Jean-Philippe Andre b2355d7da3 Evas: Rename Selectable_Interface to Efl.Ui.Selectable 2016-06-10 18:06:15 +09:00
Jean-Philippe Andre 31c4fd1f7c Evas: Rename Scrollable_Interface to Efl.Ui.Scrollable 2016-06-10 18:06:15 +09:00
Jean-Philippe Andre d67171940f Evas: Rename Draggable_Interface to Efl.Ui.Draggable 2016-06-10 18:06:10 +09:00
Jean-Philippe Andre e691de04be Evas: Rename Clickable_Interface to Efl.Ui.Clickable
Event prefix is efl_ui:
 EFL_UI_EVENT_CLICKED
 EFL_UI_EVENT_CLICKED_DOUBLE
 ...

The event prefix could be reduced to efl but I personally
prefer with UI.
2016-06-10 17:33:53 +09:00
Jean-Philippe Andre 36cec53890 Evas: Fix previous commit
Thanks @ami
2016-06-10 17:22:43 +09:00
Jean-Philippe Andre 79abba52c5 Evas: Rename Evas.Image into Efl.Canvas.Image.Internal
Make it abstract.
And add Evas.Image as a legacy-only class.
2016-06-10 13:21:20 +09:00
Jean-Philippe Andre 915e09aed3 Evas: Rename Evas.Rectangle as Efl.Canvas.Rectangle 2016-06-02 18:57:30 +09:00
Jean-Philippe Andre 95628c1efa Evas: Add storage class for Key events
This is for key up/down events' info.
2016-06-02 13:31:40 +09:00
Jean-Philippe Andre b0a32b0bd0 Efl: Rename Efl.Pointer.Event into Efl.Event.Pointer
Also renames two types: Efl.Pointer.Flags and Efl.Event.Flags
2016-05-31 19:03:04 +09:00
Jean-Philippe Andre c68f71239c Evas events: Add EO APIs for lock & modifiers
This moves Efl.Pointer.Event back to Evas. Originally I wanted
to share this class with Ecore but eventually I didn't need to
do so, since only ecore_evas (which depends on evas) really needs
access to these.

The internal data struct is not moved out of efl (yet?)
2016-05-31 19:03:04 +09:00
Tom Hacohen d64f2fdd43 Efl vg: Remove the no longer needed .Base hack. 2016-05-11 13:13:27 +01:00
Cedric BAIL fd80e26f06 evas: make no longer supported object, legacy only.
So I forgot to clean my hard drive from previously generated files,
and obviously everything still worked. This lead to having to roll back
evas_smart_clipped.eo as a public eo object until we merge elementary.

Still I would like someone to take a look at elm_pan.eo and figure out
how to not rely on smart clipped there.
2016-03-21 16:31:26 -07:00
Jean-Philippe Andre 8367f497b8 Evas.Image: Create Efl.Canvas.Image for file & data images
This replaces standard Evas_Object_Image when it is used "normally",
ie. it's an image from a file or from a pixel buffer. All other APIs
(proxy, snapshot, 3d, gl, ...) are disabled on this object.

Also, reduce number of failing calls when the object is not a legacy
object, but a legacy function is called. This is because a lot of
image APIs are called internally using the legacy APIs, often in
order to reset the state of the image object (eg. set file to NULL,
etc...)
2016-03-17 13:10:35 +09:00
Jean-Philippe Andre 7ddb73b177 Evas: Move 3d to Efl.Canvas.Scene3d
This still seems a bit redondant with the underlying
Evas.Canvas3d.Scene class.
2016-03-15 11:11:59 +09:00
Jean-Philippe Andre 68beccd1a9 Evas.Image: Add new classes Snapshot and Proxy
Efl.Canvas.Snapshot and Efl.Canvas.Proxy are specialized
classes previously implemented as features of Evas.Image.

Note: this half of the work, as I suffered from a bad
merge and rebase with my work branch on top of master.
2016-03-15 11:11:59 +09:00
Cedric BAIL 0ff7429ea7 evas: move Evas_Polygon to become Efl_Canvas_Polygon.
TODO: add support for 2 points (aka line).
2016-03-14 15:12:52 -07:00
Cedric BAIL bf26946ba1 evas: move canvas event to be declared inside proper eolian file. 2016-02-02 10:45:42 -08:00
Amitesh Singh 83beb559e9 evas: fix typos in documentation 2015-09-29 09:14:28 +05:30
Marcel Hollerbach 2eb4f2604d evas_3d: fix defines
Summary:
evas_3d: removed unnessecary defines

Evas_Real was allready defined.

The typedefs of the Eo types can be avoided by fixing the include order

Reviewers: cedric, stefan_schmidt, tasn

Reviewed By: stefan_schmidt, tasn

Subscribers: stefan_schmidt, cedric

Projects: #efl

Maniphest Tasks: T2658

Differential Revision: https://phab.enlightenment.org/D2974
2015-08-24 12:00:57 +02:00
Oleksandr Shcherbina 60b16be772 Evas canvas3d: Move evas 3d types to evas_types.eot
Summary:
Move evas_canvas3d types from Evas_Eo.h to evas_types.eot
Change enum constatnt for vertex_arrtib, material_attrib, blend_func
Correct namespace for Evas.Real type

Reviewers: cedric, tasn

Reviewed By: tasn

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2734
2015-08-04 10:57:14 +01:00
Oleksandr Shcherbina d409df1caa evas: change interface evas_3d to evas_canvas3d
Summary:
Regard to https://phab.enlightenment.org/T2479 it is need for right generation
Eolian files

Reviewers: cedric

Subscribers: cedric, tasn

Differential Revision: https://phab.enlightenment.org/D2711

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-17 17:52:17 +02:00
Bogdan Devichev 6dac83e643 evas: add API for creation Evas_3D node primitives.
Summary: Now mechanism of creation of primitives is similar to model loading.

Reviewers: Oleksander, Hermet, raster, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2516

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-27 00:31:07 +02:00