Commit Graph

65340 Commits

Author SHA1 Message Date
Xavi Artigas b828343175 doxygen docs: remove doubly-defined @examples
This index page only contains references (@ref), the actual
examples (@example) are defined elsewhere and the double
definition was throwing warnings.
2020-03-09 13:03:54 +01:00
Stefan Schmidt b717deb098 Revert "ci: travis: stop osx builds until build failures are solved on Travis"
This was actually a problem we could solve on our side. Marcel has done
so in commit: 32597e7e77

This reverts commit b554b25c4c.
2020-03-09 10:11:50 +01:00
Xavi Artigas 0f03165fec eina: Docs/Comments: eina_safety_checks: Correct grammar, spelling mistakes and be more clearer
Summary: This just corrects the comments grammar, spelling mistakes and is a little bit clearer.

Reviewers: segfaultxavi, barbieri

Reviewed By: segfaultxavi

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11472
2020-03-09 09:58:41 +01:00
junsu choi d60587c098 Efl.Ui.Image: Modify current frame to start at 1
Summary:
3dc3deb patch was changed to start at 1 rather than 0.
gif image starts at 1, not 0.

Test Plan: N/A

Reviewers: Hermet, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11474
2020-03-09 17:54:33 +09:00
Xavi Artigas c6e40641aa doxygen docs: Miscellaneous typos 2020-03-09 09:35:40 +01:00
Carsten Haitzler 4d0e3c37aa readme - adapt for removal of xine/vlc support 2020-03-08 12:38:58 +00:00
Carsten Haitzler 075bab83c4 remove vlc, gst-0.10, xine deps, modules as they are broken
they dont work. easier to remove than fix, so... remove :) only gst
1.x supported now.
2020-03-08 12:36:01 +00:00
Marcel Hollerbach 0dcbc26a5a ecore_evas_x: honor forign dnd implementations
enlightenment does not use the elm dnd operation implementations.
Therefore we have to ensure that we only handle these operations here,
when ecore_evas dnd API is used.
2020-03-08 12:29:41 +01:00
Hermet Park b2bd0c548f evas gl: clip rect with proper size.
gc width/height indicates the main output size,
if the target surface(fbo) is larger than this, rect won't be drawn.

We should clip this with current context size.

@fix
2020-03-08 20:20:43 +09:00
Xavi Artigas 7a79e15ea3 ecore_evas: Use EFL naming convention in cnp & dnd methods
Some methods were missing the "Drag" or "Selection" namespaces or the _Cb suffix.
Depends on D11219

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11426
2020-03-08 11:01:24 +01:00
Xavi Artigas 8b25bc41b3 mono-tests: Fix build after DnD changes
The test struct used to check mono bindings struct pack/unpack
is no longer available. Used a different one, and checked the same things.

Reviewed-by: João Paulo Taylor Ienczak Zanette <joao.tiz@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11219
2020-03-08 11:01:21 +01:00
Xavi Artigas 645c3d41eb docs: Strengthen docs for Copy&Paste and Drag&Drop
Including Eina.Content

And a typo/bugfix in ecore_evas_x.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11204
2020-03-08 11:01:18 +01:00
Marcel Hollerbach 7dd92a2d98 port cnp on Windows
Test Plan: Ctrl-c and Ctrl-Vworking

Reviewers: raster, zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11439
2020-03-08 11:01:15 +01:00
Marcel Hollerbach c731cf56d5 ecore_evas: Introduce cnp support for cocoa
with this commit you can do limited cnp for cocoa. You still cannot copy
and paste pictures or markup arround, only text is supported so far.
However, text on its own works quite stable and good.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11351
2020-03-08 10:59:46 +01:00
Marcel Hollerbach 06b7933512 ecore_cocoa: change clipboard API
the new API works with mimetypes, so we can remove the cnp types from
Ecore_Cocoa.h and just forward the types from ecore_evas directly

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11350
2020-03-08 10:59:43 +01:00
Marcel Hollerbach 165f6f0ae2 rewrite efl cnp and dnd handling
the previous commits introduced a abstraction for drag in drop which can
be now used for this here. With this commit all the direct protocol
handling in efl.ui is removed, and only the ecore evas API is used.

Additionally, this lead to a giant refactor of how APIs do work. All
Efl.Ui. interfaces have been removed except Efl.Ui.Selection and
Efl.Ui.Dnd, these two have been restructored.
A small list of what is new:
- In general no function pointers are used anymore. They feel very
  uncompftable in bindings and in C. For us its a lot easier to just
listen to a event when a drop enters or leaves, there is no need to
register custom functions for that.
- Asynchronous data transphere is handled via futures, which proved to
  be more error safe.
- Formats and actions are handled as mime types / strings.
- 0 is the default seat if you do not know what else to take.
- Content is in general passes as a content container from eina, this
  also allows applications to pass custom types

The legacy dnd and cnp API is implemented based on that.
All cnp related things are in elm_cnp.c the dnd parts are in elm_dnd.c

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11190
2020-03-08 10:59:40 +01:00
Marcel Hollerbach 5ac02ec9ac ecore_evas: introduce wayland support for cnp & dnd
This adds cnp support, actions are right now only mapped to "ask",
further support can be added there, and synchronization can be added to
register more available actions. However, i did not find *any* wayland
implementation in gtk qt nor chromiumos that even use the action to
indicate anything. This here also has a slightly different behaviour to
X11 in terms of coordinates for motion,leave,enter. They can contain
negative coordinates (which is due to the fact that wl is CSD and X11 is
SSD. However, I did not want to fix this in any regard, as you might
want to use that, and it would be a none trivial amount of code to fix
that.

Reviewed-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11329
2020-03-08 10:59:37 +01:00
Marcel Hollerbach e0c40abb40 ecore_evas: introduce initial selection & dnd support for x.
Seats are not implemented, if there is a type mismatch promises are
going to be rejected. Most of this code is copied over from
selection_manager.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11195
2020-03-08 10:59:34 +01:00
Marcel Hollerbach 6189c2112c ecore_x_selection: do not skip any any atoms
i dont know why we skipped the first two atoms, but right now, if a
application is only providing one single target, we would crash.
With this we might copy a few atoms more. However, these atoms do not
matter, as we skip those, that we cannot understand

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11194
2020-03-08 10:59:31 +01:00
Marcel Hollerbach 293b2fe719 ecore_x: add API to request selection changed events for diff. wins
we need that in order to get seleciton per window events, which is
required to get a nice mapping onto the ecore_evas object.

Reviewed-by: Carsten Haitzler (Rasterman) <rasterman.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11193
2020-03-08 10:59:28 +01:00
Marcel Hollerbach 39f3ce42dc ecore_evas: Introduce cnp / dnd API for ecore evas
The idea of copy and paste here is:
- The user specifies the content he wants to have in the selection
  buffer with a Eina_Content, these content pointer ownerships are
  passed to the called. Internally ecore_evas code will memorieze the
  pointer, and pass on function callbacks to the modules, which then do
  not have to deal with the ownership.

- In case the module does not specify these APIs, the callback
  implementation will be called, which only works for cnp *not* dnd.

- Action and mime types are handled as strings, which allows way better
  custom organisations.

(The docs needs improvement)

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11192
2020-03-08 10:59:25 +01:00
Marcel Hollerbach 40a62ddf94 eina: introduce Eina_Abstract_Content
A little abstraction to have abstract data content bound to a type.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11018
2020-03-08 10:59:22 +01:00
Daniel Kolesa f6464b0deb evas_pbject_intercept: add missing parenthesis
Broken in 7c99e0a444.

*spanks*
2020-03-06 23:30:50 +01:00
Christopher Michael 8be14b2e6e efl_ui_win: Fix dereference before NULL check
This patch fixes an issue detected by Coverity in that 'sdp' is
already being dereferenced before we check it. ELM_WIN_DATA_GET can
return NULL, so we should check it's return Before trying to use the
variable.

Fixes CID1419871
2020-03-06 16:12:15 -05:00
Christopher Michael 7c99e0a444 evas_object_intercept: Add check for NULL 'obj' variable inside macros
This patch adds a small check for a valid 'obj' variable inside the
object_intercept macros, which fixes several Coverity reported issues
of NULL pointer dereference.

Fixes CID1420239 through CID1420258
2020-03-06 13:08:47 -05:00
Mike Blumenkrantz dceb056a66 efl-wl: properly send surface enter event in smart show
Summary:
confusing...
Depends on D11452

Reviewers: segfaultxavi, bu5hm4n, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11453
2020-03-06 12:16:50 -05:00
Mike Blumenkrantz 94d3ab1d2a elm: undef EAPI_WEAK in header before defining
Summary: avoid double define warnings

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11452
2020-03-06 12:16:50 -05:00
Christopher Michael 0bf6f5bbe4 evas_gl_drm: Fix incorrect define statement.
This actually should be #ifndef so that if it's not defined in the
system, then we can still compile properly.
2020-03-06 11:46:33 -05:00
Hermet Park 7664aa97c0 canvas grid: fix inifinite loop dead.
Here parent smart del() call occurs inifinite loop for member deletion,

Maybe we need a better clean and neat solution here.
2020-03-06 23:51:20 +09:00
Marcel Hollerbach 32597e7e77 ci: make ci work again
because of some reasons, python now hides in a different PATH, which is
not *always* added to the PATH env variable.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11461
2020-03-06 15:11:30 +01:00
Marcel Hollerbach c47b78c80a efl_canvas_layout_part: remove debugging content set / get impl
this is now handled when eo is erroring.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11464
2020-03-06 15:11:26 +01:00
Marcel Hollerbach f41c497fa7 efl_canvas_layout_part: add part name, type and group name to debug info
this is usefull, as we now know which type of part we have, if a API
call does not succeed.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11463
2020-03-06 15:11:23 +01:00
Marcel Hollerbach f7e0a55d52 eo: print debug information when a call cannot be resolved
that is usefull esp. on parts.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11462
2020-03-06 15:11:20 +01:00
Mike Blumenkrantz 565fa76a11 tests/evas: verify loading and mmap values for efl.file are correct with skip_head
ensure that these functions are still usable with async load

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11424
2020-03-06 13:30:52 +01:00
Mike Blumenkrantz bab8fcc442 evas/image: implement efl.file loading and mmap getters to correctly handle skip_head
when this property is set, the mixin implementation of efl_file_load() is
never called, which means the internal loaded flag (and related data) is
not set, and so the values for these properties must instead be returned
directly from the image data

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11423
2020-03-06 13:30:49 +01:00
Mike Blumenkrantz 576229bf6a evas: set mmap data to image data after preload with skip_head enabled
this is a bit ugly, but in the case where skip_head is used it's important
to propagate the resulting Eina_File back up to the image object's data
for use in other api functions

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11422
2020-03-06 13:30:46 +01:00
Mike Blumenkrantz 92a03628c8 efl_ui/widget: add inheritance for efl.gfx.entity to widget part
most of these are empty

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11448
2020-03-06 13:30:43 +01:00
Christopher Michael 2f4d209181 evas_object_intercept: Use efl_data_scope_safe_get
As per mailing list discussion, This macro is apparently a forward
facing API so we should be using efl_data_scope_safe_get in the event
that the API receives an object of the wrong type (which would have
caused a crash previously).

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11450
2020-03-06 13:30:40 +01:00
Christopher Michael 5e23d3983a evas_object_intercept: Reduce calls to efl_data_scope_get
Small patch to reduce the number of calls to efl_data_scope_get as per
mailing list discussion. Since the
EVAS_OBJECT_INTERCEPT_CALLBACK_DEFINE macro already retrieves the
protected data via efl_data_scope_get, we can just pass that
protected data directly to evas_object_intercept_init/deinit functions
without the need to refetch it.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11449
2020-03-06 13:30:37 +01:00
Marcel Hollerbach b9f185cc58 elm_label: add EFL_ACCESS_WIDGET_ACTION_MIXIN
we implement the API from it, so we should have that as a type here.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11447
2020-03-06 13:30:34 +01:00
Alastair Poole b8326b6096 elm_code_syntax: Add c-sharp syntax highlighting. 2020-03-06 11:04:08 +00:00
Stefan Schmidt b554b25c4c ci: travis: stop osx builds until build failures are solved on Travis
This looks like problems on the TravisCI side, but this is going on for
to long. Stop osx builds to have our on CI in a sane state again.
2020-03-06 12:01:46 +01:00
Jaehyun Cho 2f9b4a7080 elc_naviframe: fix to delete item once by elm_object_item_del in pop_cb
If elm_object_item_del is called in pop_cb and pop_cb returns
EINA_FALSE, then the given item is destructed by _item_noref when
efl_unref is called after pop_cb.

After the above destruction, efl_del is called after the above efl_unref
and it deletes the item again.

Not to delete item after the item is destructed, efl_del after pop_cb is
removed.
2020-03-06 14:33:07 +09:00
Alastair Poole bd6608dd90 elm_code: Avoid moving to non-existent line.
Check for line existence before moving cursor.
2020-03-06 01:23:35 +00:00
Christopher Michael 7a89b7711f evas: Fix dereferenceing null pointer
Coverity reports a forward null here. If we do not get obj from
efl_data_scope_get then we should return. Also fixes some formatting

Fixes CID1420216
2020-03-04 14:20:47 -05:00
Hosang Kim 9ea61428db evas: Fix mouse event info for legacy events.
Summary:
Legacy event info have canvas and output coordinates.
Output coordinates have information of original position.
Canvas coordinates have information of transformed position.
So keep backward compatibility, fix filling legacy information.

This reverts commit 7f724f6c5d

Reviewers: Hermet, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11445
2020-03-04 09:35:58 -05:00
Alastair Poole b847348699 elm_code: Improve efficiency of the widget.
For now, only create textgrids when needed. Also improve other
regions of the widget. This will improve large file support and
also some rendering of the widget.

This improves performance 1-2 times. However, there must be a
reasonable redesign regarding the current use of textgrids.
2020-03-04 01:41:43 +00:00
Carsten Haitzler 01b818c5b0 avahi - let's disable by default as there doesn't seem to be a use
i asked why we should have it by default etc. and what it's needed
for. i cant't find any... and no answer soc off by default to trim efl
down.
2020-03-03 20:07:51 +00:00
Mike Blumenkrantz d9560ffcd9 efl-wl: add toplevel_added event for adding a new toplevel surface
Summary: Depends on D11443

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11444
2020-03-03 13:42:47 -05:00
Mike Blumenkrantz 0fb7acabc2 efl-wl: ensure that child_added event is called only when a parent is set
Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11443
2020-03-03 13:42:43 -05:00