Commit Graph

284 Commits

Author SHA1 Message Date
Tom Hacohen e65aae994e Eo: Finish the renaming of Eo to the EFL.
This renames all the rest of the API to the EFL namespace except for
Eo_Event that will follow soon.

Obviously breaks both API and ABI.
2016-08-15 15:07:42 +01:00
Mike Blumenkrantz f0400e604c efl: add EFL_VERSION_1_19
indicate that features from this version can be used
2016-08-11 13:42:42 -04:00
Tom Hacohen c662934be8 Change the EFL to follow the new Eo rename. 2016-08-11 17:04:43 +01:00
Carsten Haitzler e3e68f8ae0 efl vpath - make sure we check returns of mkdir just in case for errors
so vpath has a fallback if all things bad go wrong to mkdir a homedir
in /tmp and if that fails use /tmp or use / - if $HOME isnt set ... but
$HOME alwasy should be, so this is only for "a broken system".

this should fix CID 1354286
2016-08-08 17:47:14 +09:00
Cedric BAIL dd1d3f0d2d autotools: since it has been broken for some times and nobody noticed, let's remove per directory support. 2016-08-01 13:36:47 -07:00
Subhransu Mohanty 0023f20d85 efl/interface: fixed the shape interpolation implementation.
Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4188
2016-07-26 14:19:59 +09:00
Jean-Philippe Andre 9cf72fe80a gfx: Add NULL check to silence coverity
realloc() can return NULL if size is 0. It's like free().
So, the usage here is correct, and there are probably no
points to interpolate between anyway. I wonder if there
can be commands without points, though.

Fixes CID 1293004
2016-07-13 16:18:54 +09:00
Jean-Philippe Andre edccf44150 efl: Rename "pointer" device class to "wand"
Because I like magic. And to avoid confusion with mouse pointer.
Suggested by @zmike in D3858 (Ecore_Device).
2016-07-06 11:27:06 +09:00
Stefan Schmidt 159171a073 efl: gfx_shape: add some more documentation and improve existing one 2016-06-30 15:17:58 +02:00
Stefan Schmidt ee18b418e2 efl: gfx_shape: document property itself and not the getters and setters 2016-06-30 15:17:58 +02:00
Jean-Philippe Andre d04ff8d69b evas object: Move display_mode to Efl.Gfx.Size.Hint 2016-06-30 14:34:59 +09:00
Jean-Philippe Andre 2065aedc44 win: Remove font & image cache functions
Those actually belong to elm_config, or rather Efl.Config:
  efl_config_int_set("cache_image_cache_size", 42);
  efl_config_int_set("cache_font_cache_size", 1337);
2016-06-30 14:34:59 +09:00
Jean-Philippe Andre 45cd0465a4 efl: Add Efl.Version struct and APIs
The original idea behind knowing the app's version of EFL is not
a great story. It comes from the fact that some bugs exist in
earlier versions of EFL, and some things need to be fixed. But
those fixes may break behaviour for older apps. This patch is
opening the way to the slippery slope of bug compatibility.

Unfortunately this is a requirement if we want to be able to move
forward and not break apps when we fix bugs (behaviour or ABI).

I hope we will not need to implement too many (if any) workaround
such issues. For now, this will only be used as debugging info.

EFL_MAIN() and ELM_MAIN() will both set the app's EFL version
automatically at startup time. Some internal helpers can be added
later to check how the app build-time and run-time version of
EFL differ.

@feature
2016-06-29 15:01:34 +09:00
Jean-Philippe Andre d931c53919 efl: Remove eo struct Efl.Gfx.Color
So far this was protected behind ifdef EO_API_SUPPORT. It also
was not used internally. Dropping this before the release, since
we will soon have a (hopefully) better solution to handle various
color representations.
2016-06-28 10:52:28 +09:00
Jean-Philippe Andre 9f5d279722 Evas events: Implement support for hold event 2016-06-27 16:38:46 +09:00
Jean-Philippe Andre 07613bf2f6 config: Simplify Efl.Config API, make C helpers only
This removes the mixin functions and uses static inline functions
instead. Much cleaner, looks the same to C devs.
2016-06-24 17:10:21 +09:00
Jean-Philippe Andre 47a1fae200 efl: Introduce general Efl.Config API
This is to port elm_config to EO APIs.

The current implementation relies on the legacy API, by
simply forwarding calls.

The new API is simply efl_config_set("config_name", value)
where value is an Eina_Value (aka. generic_value).
The C interface proposes a few helpers like config_int_set,
config_double_set, etc...

Unfortunately at the moment, not all config options are
supported, as some rely on more complex types:
- lists
- color class and multiple arguments
- unset functions
- enums

Profiles are also not handled at this point.

@feature
2016-06-24 16:57:04 +09:00
Subhransu Mohanty 22f97be785 efl/interface: fixed scubic_to and quad_to implementation.
Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4063
2016-06-21 14:42:35 +09:00
Tom Hacohen 6202cc7485 Adjust the code according to the eo event stop changes.
This was changed in the previous commit.
2016-06-20 18:02:00 +01:00
Jean-Philippe ANDRE 413549301f Efl: Fix a build break
Strange doc reference has decided to break the build now.
Not sure why it worked before and not anymore...
2016-06-17 20:35:43 +09:00
Ji-Youn Park 1f127fe45a efl_ui_win: move some APIs get the object's list in special location to efl_ui_win.
The apis to get the object or object list in special location is useful.
like game app.
so move these APIs from evas canvas to efl_canvas.
2016-06-17 16:06:26 +08:30
Jean-Philippe Andre a50a0f5d76 Evas: Move Object_Pointer_Mode to Efl.Event 2016-06-17 11:37:39 +09:00
Jean-Philippe Andre f2fafb8044 Evas: Move BiDi type to Efl.Text
This renames it to Efl.Text.Bidirectional_Type.
2016-06-17 11:37:39 +09:00
Jean-Philippe Andre fc6ba5561e Evas: Move Evas.Load_Error to legacy, use Efl.Image.Load.Error
This also disables the unused interface "load_state".
2016-06-17 11:37:39 +09:00
Ji-Youn Park 76d2778177 efl_ui_win: add some evas feature(pointer, cache ) to efl.canvas and efl_ui_win
evas will be internal, so APIs need to open public are moved efl.canvas eo
and efl_ui_win.
2016-06-17 10:30:22 +08:30
Felipe Magno de Almeida 8e4f383d61 efl: Move promise parameter to return in data model
Summary:
Instead of:

efl_model_property_get("name", &promise);

now:

promise = efl_model_property_get("name");

Reviewers: stefan_schmidt, cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4038
2016-06-16 22:01:07 -03: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
Jean-Philippe Andre 254f5ef772 evas object: Move some events to efl_gfx and efl_image
This affects basic evas object events such as:
- show, hide, resize, move,
- changed size hints,
- restack,
- image preloaded, resize, unloaded

Also, switched names to shorter "present form" like "preload"
instead of "preloaded".
2016-06-14 16:27:42 +09:00
Jean-Philippe Andre 62b0817880 Efl: Make size_hint_restricted_get public, set protected
This is now possible thanks to 375179b47f (T3645).
2016-06-10 15:10:43 +09:00
Jean-Philippe Andre 9fdf584d1a Efl: Rename event flags to processed and scrolling
From on_hold and on_scroll
2016-06-10 13:21:21 +09:00
Jean-Philippe Andre 44f445fe76 Efl: Introduce app-side min size hint
Now called "hint_min", not sure if it's the proper name for it.
At first I wanted to reuse the request size hint instead of
adding a new hint, but doing that would break Terminology
or any app that already used size_hint_request.

One problem with hint_request is that the legacy function
already exists but its support is practically not implemented.

@feature
2016-06-09 16:36:04 +09:00
Jean-Philippe Andre e36a300d36 Efl: Add geometry property (combines position and size)
It's a helper function that can also in the future be
used to implement atomic move+resize operations.
2016-06-09 16:17:43 +09:00
Jean-Philippe Andre f773206769 Efl: rename size hint content_min to restricted_min
Still not sure about which keyword is the best to use here,
but anyway, it's a protected function so users should realize
it's probably not what they want.
2016-06-09 16:13:39 +09:00
Jean-Philippe Andre b40b4042f0 Efl: Introduce combine_min size hint
It combines the content min size and the requested min size
by taking the MAX value. This will help support request size
without major code changes.
2016-06-09 14:20:53 +09:00
Jean-Philippe Andre 62c5ebc784 Efl: Add screen_ prefix to all Efl.Screen apis
This will resolve conflicts between Gfx.size and Screen.size.
2016-06-08 17:25:06 +09:00
Jean-Philippe Andre 5542d6dc48 Efl: Add hint_ prefix to all size hints
This covers:
- base
- step
- aspect

The prefix hint_ is useful for bindings, and does not change
the generated C API.
2016-06-08 17:20:44 +09:00
Jean-Philippe Andre 7872690e73 Efl: Move evas size hints to Efl.Gfx.Size.Hint
This includes:
- align
- min (now content_min)
- request
- max
- padding (now margin)
- weight

This does NOT include:
- display mode (compress, expand... a hint used by naviframe only).
2016-06-08 17:10:07 +09:00
Jean-Philippe Andre 7d5811a99a Evas: Move aspect ratio to Efl.Gfx.Size.Hint
Problem:
- edje aspect ratio is defined by 1 enum and 2 double (min, max)
- window aspect ratio is defined by only 1 double
- evas object aspect ratio is defined by 1 enum and 2 ints (w, h)

Which one is the best interface? Are min/max a better option?

Also, not sure how to call the enum...
2016-06-08 15:14:11 +09:00
Jean-Philippe Andre e3160da0f7 Evas: EO-ify Evas_Event_Render_Post
As Efl.Gfx.Event.Render_Post.
To be implemented by Efl.Ui.Window
2016-06-08 13:59:08 +09:00
Jean-Philippe Andre 31279d2513 Efl.Pack: Replace pack_direction with Efl.Orientation
Since I first made the pack_direction before orientation
existed, the names didn't match. This should improve API
consistency.
2016-06-03 16:52:31 +09:00
Jean-Philippe Andre b147911bad elm_win: Forward events between window and evas
This does:
1. Forward keyboard events from evas to win
2. Allow feeding external input events

Input events can be faked by apps by simply forging
eo objects of the proper type (key or pointer evt) and
calling eo_event_callback_call().

Such events will be forwarded to the internal Evas, and
some bool flags prevent infinite refeeding loops.

efl_event_dup() returns fake events for this to work.

@feature
2016-06-03 15:29:17 +09:00
Daniel Kolesa b1946ca5d6 eolian: utilize the new void_ptr builtin across eo files
This lets me narrow down the remaining cases of pointers across the EFL.
The void pointers will later need to be reevaluated on per-case basis and
replaced appropriately where possible/feasible.
2016-06-02 13:00:26 +01:00
Ji-Youn Park 2bf508836d Efl.Gfx.Size.Hint: add Efl.Gfx.Size.Hint skeletton
create Efl.Gfx.Size.Hint skeletton and change elm_win eo.
remove size_step and size_base API from elm_win
and inherit from Efl.Gfx.Size.hint
2016-06-02 16:48:17 +08:30
Jean-Philippe Andre 0505a729e2 Evas: Simplify eo event mechanism
So, I was stupid. I was relying on legacy callbacks to
trigger eo events, which means that only when a legacy
callback was registered would my new eo events be triggered.

Instead, I can pass the eo event desc & info whenever
calling evas_object_event_callback_call().
2016-06-02 14:19:18 +09:00
Jean-Philippe Andre d6b8f0a691 Evas: Send key events through eo callbacks 2016-06-02 13:31:40 +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
Ji-Youn Park 0e6139e487 efl_screen: create efl_screen interface
elm_win have three feature releated with screen.
1. screen_rotation_get
2. scrren_size_get
3. screen_dpi_get
so create efl_screen interface, and elm_win implement that interface
2016-06-01 15:17:31 +08:30
Daniel Kolesa 6fc482aa9b eolian: utilize the new builtin string type across eo files 2016-05-31 16:05:43 +01: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 4381d3a824 Evas events: Store position as double only
This splits pixel and subpixel precision by using
different methods rather than two different storage values.
2016-05-31 19:03:04 +09:00