Commit Graph

19520 Commits

Author SHA1 Message Date
Daniel Zaoui ea50cbd2b3 Support endianness 2017-06-05 08:55:38 +03:00
Daniel Zaoui 758bb0557c Support opcodes registration for Windows
A standard static array with symbols whose addresses are only known at
runtime is not supported in Windows.
2017-06-05 08:55:38 +03:00
Daniel Zaoui ab01f3f696 Rename opcodes for a better readability 2017-06-05 08:55:38 +03:00
Daniel Zaoui 3107e0d3eb Eo: add APIs to walk over classes and objects
These APIs are needed by Clouseau to get a list of classes and objects.
2017-06-05 08:55:38 +03:00
Daniel Zaoui 9e47089311 Remove alloca of potential big size 2017-06-05 08:55:38 +03:00
Daniel Zaoui 6e1eb7193d Bt: Remove special handling for mainloop 2017-06-05 08:55:38 +03:00
Daniel Zaoui 97064ea7e5 Fix Coverity issues 2017-06-05 08:55:37 +03:00
Daniel Zaoui 253d3ffe44 Remove thread management
The handling to forward requests is let to the callbacks.
2017-06-05 08:55:37 +03:00
Daniel Zaoui 67391a6684 Use better names for daemon operations 2017-06-05 08:55:37 +03:00
Daniel Zaoui 5ac9e54d67 Remove old evlog code from efl_debugd 2017-06-05 08:55:37 +03:00
Daniel Zaoui 3a46e013fe Fix connection closing
The client structure was not deleted when the connected application was
suddenly terminated (ctrl-c).
It was not happening before, so I suspect TCP and UNIX sockets behave
differently on this matter.
2017-06-05 08:55:37 +03:00
Daniel Zaoui a466eca426 Add Clouseau loading at the init of the application 2017-06-05 08:55:37 +03:00
Daniel Zaoui 2ff96adcc1 Removes modules feature 2017-06-05 08:55:37 +03:00
Daniel Zaoui d6146b0778 Fix daemon issues 2017-06-05 08:55:37 +03:00
Daniel Zaoui e947be1b85 Add prints to efl_debugd 2017-06-05 08:55:37 +03:00
Daniel Zaoui 6e93528f41 Init the communication with the daemon from the debug thread 2017-06-05 08:55:37 +03:00
Daniel Zaoui d6e3ab67db Replace shell remote connection with localhost TCP connection 2017-06-05 08:55:37 +03:00
Daniel Zaoui 36959014d3 Remove _session variable as it is not needed anymore 2017-06-05 08:55:37 +03:00
Daniel Zaoui 27228d3dc1 Add data to opcode registration callback 2017-06-05 08:55:37 +03:00
Daniel Zaoui 8babb55646 Add API to get/set data to session 2017-06-05 08:55:36 +03:00
Daniel Zaoui d970c855ea Add API to get the session dispatcher 2017-06-05 08:55:36 +03:00
Daniel Zaoui bb87302808 Clean code and add comments 2017-06-05 08:55:36 +03:00
Daniel Zaoui 87e68e3ed0 Adapt bt stuff to Eina Debug signal infras 2017-06-05 08:55:36 +03:00
Daniel Zaoui 9fadbc00ad Move internals constants to private h file 2017-06-05 08:55:36 +03:00
Daniel Zaoui 76e5a8f268 Fix Coverity issues 2017-06-05 08:55:36 +03:00
Daniel Zaoui f5cbb61bf4 Add a better support of timers
Now, the timers are handled in one dedicated thread. Multiple timers are
supported.
2017-06-05 08:55:36 +03:00
Daniel Zaoui 39c6a9562b Add shell remote connection
This feature is essential to debug remote applications.
2017-06-05 08:55:36 +03:00
Daniel Zaoui 5251ee326d Fix typo 2017-06-05 08:55:36 +03:00
Daniel Zaoui 6ad0d6ab22 Free packet buffer outside of the dispatcher 2017-06-05 08:55:36 +03:00
Daniel Zaoui cd8b2fc66b Close file descriptor when the session is terminated 2017-06-05 08:55:36 +03:00
Daniel Zaoui 5f268ec26a First patch of the Eina Debug layer rewriting
Eina Debug is a new layer aimed for EFL debugging. It offers scalability
by allowing registration of operations not specific to EFL core.

The protocol is simple and the APIs try to provide as much
functionalities/freedom as possible.
2017-06-05 08:51:49 +03:00
Daniel Hirt 3eb649b180 Elm layout: replace 'text' property with 'efl_part' interface
The expected usage is efl_text_set(efl_part(layout, part), text);
Same for text_get.

Also, added an example how to make API easier with providing
efl_text_set/get for the widget itself, in efl_ui_button. Please see
this example.
2017-06-05 02:08:03 +03:00
Shilpa Singh e53b77d6ce elm_colorselector: Improve ATSPI support
Summary:
Item: state_set_get, name, actions api added
Widget: children_get api added.

Test Plan:
In Accessibility mode, on item tap, color name should be read out,
and if the color is a selected color, state also should be read out.

Reviewers: kimcinoo

Subscribers: cedric, jpeg, govi, rajeshps

Differential Revision: https://phab.enlightenment.org/D4934
2017-06-03 17:28:30 +09:00
Cedric BAIL bc13f96ae8 ecore: simplify usage of poller by giving 3 class of event on the main loop object.
The internal logic should be improved further in the future to synchronize itself
with loop wake up whenever possible (Especially true for the high frequency poller).
2017-06-02 16:28:28 -07:00
Cedric BAIL 88fc88a305 ecore: poller will be legacy only. 2017-06-02 16:28:28 -07:00
Bryce Harrington e0a6eaeaa3 ecore-imf-wayland: Check xkb_keysym_to_utf8
Summary:
Coverity reports an error "Calling "xkb_keysym_to_utf8" without checking
return value (as is done elsewhere 4 out of 5 times)."

fixes: cid1375673

Reviewers: zmike

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4936
2017-06-02 19:06:31 -04:00
Mike Blumenkrantz 179e89d955 ecore-audio: unset DISPLAY conditionally before processing pulse events
in some cases, pulse events trigger spawning another pulse instance, and
the environment at this time is used to determine whether to attempt an
x11 connection

fix T2599

@fix
2017-06-02 18:23:43 -04:00
Mike Blumenkrantz bc346d367f elput: send extra pointer motion event on first button press after resume
ensure state is reapplied by other components
2017-06-02 18:23:43 -04:00
Mike Blumenkrantz f220f086b9 elput: move pointer coords into seat struct
@fix
2017-06-02 18:23:43 -04:00
Mike Blumenkrantz 36dcd5719a elput: ref evas devices in event structs 2017-06-02 18:23:43 -04:00
Mike Blumenkrantz 32bf71f19e evas: simplify seat-getting during key event dispatch 2017-06-02 18:23:42 -04:00
Mike Blumenkrantz 6632f4d906 ecore-evas: directly get the seat device instead of the parent
no functional changes
2017-06-02 18:23:42 -04:00
Mike Blumenkrantz 890a917852 evas: redo pointer data to be per-seat instead of per-device
pointer devices are grouped into seats, and it is the seat which has
states related to canvas coordinates

@fix

ref 484dae76e6
2017-06-02 18:23:42 -04:00
Mike Blumenkrantz bdadd3bac3 efl_input_device: do not free list when freeing children iterator
disappoint.jpg

@fix
2017-06-02 18:23:42 -04:00
Mike Blumenkrantz cb18ce4a90 ee drm: null elput device pointer when deleting device 2017-06-02 18:23:42 -04:00
Mike Blumenkrantz 4c7c613e76 elput: add refcounting for seats/devices
ensure lifetimes persist through events

@fix
2017-06-02 18:23:42 -04:00
Mike Blumenkrantz 539c2169b5 evas: don't crash in _evas_default_output_get() if no outputs exist
@fix
2017-06-02 18:23:42 -04:00
Mike Blumenkrantz f61e2636a5 ecore-wl2: change safety null check to regular null check on surface create
this is a normal case during async init
2017-06-02 18:23:42 -04:00
Mike Blumenkrantz 1e6e5047be ee engines: update engines for per-seat cursor objects
ref 5856d3b52f6124ad5b4cfe47b21f28ab6f380002
2017-06-02 18:23:42 -04:00
Mike Blumenkrantz cde843438d ee wayland: only handle events for ee with matching display object
ensure apps with multiple client connections don't mix events from different
connections

@fix
2017-06-02 18:23:42 -04:00
Mike Blumenkrantz 8d08119fdd elput: add null checks for xkb compose pointers
somehow these can fail to be created
2017-06-02 18:23:42 -04:00
Mike Blumenkrantz c60fbea89f ecore-wl2: add null checks for xkb compose pointers
somehow these can fail to be created
2017-06-02 18:23:42 -04:00
Mike Blumenkrantz d61453be22 ecore-wl2: do not unref non-matching input device upon removal
this is how you avoid crashing

@fix
2017-06-02 18:23:42 -04:00
Mike Blumenkrantz a7ed5d0540 ecore-evas: redo per-device cursor internals to be per-seat
seats have cursors, pointer devices do not.

@fix

fix T5531
2017-06-02 18:23:42 -04:00
Mike Blumenkrantz 2a0b6ddebd evas_device: remove unused code
ref 6775b23212
2017-06-02 18:23:42 -04:00
Felipe Magno de Almeida 6dcc8dd07f eolian-cxx: Fixed compilation error after Eolian_Unit type introduction 2017-06-02 18:27:46 -03:00
Derek Foreman cc70806497 ecore_evas_drm: Send a spurious pageflip when showing a canvas
This is a quick and harmless hack to make sure we don't come back to a
dead compositor on a vc switch.

A proper fix will follow eventually, I promise.

Really.  Would I lie?
2017-06-02 15:50:09 -05:00
Derek Foreman 280c82fdd4 ecore_drm2: Don't try to disable all devices when session deactivates
We get this callback after we've lost the drm device to logind, so
deactivating stuff here will just generate a lot of ERR messages
and break our internal book-keeping.

Instead, we just turn on DPMS on session activation instead of trying
to go through the output enable path (that will bail if it's already
enabled)

This could potentially result in a display that's enabled and DPMS
off being switched back on during session activation - if that's a real
problem we can restore the previous dpms state instead...

@fix T5483
2017-06-02 15:50:09 -05:00
Derek Foreman 9d583b3fdb ecore_drm2: Fix dpms shutdown while disabling outputs
We need to set output->enabled to disabled *after* dpms takes place or set
it to enabled *before* dpms takes place.  We can't just set it at the
start of the function or one of enable/disable will hit the dpms path
with a disabled display.
2017-06-02 15:50:08 -05:00
Derek Foreman 0df7299526 ecore_drm2: Properly release buffers on output disable
Give back all buffers, and do it through the release mechanism that can
fire a callback into the engine.

Previously we just leaked one and left the rest.
2017-06-02 15:50:08 -05:00
Derek Foreman df0595ebc0 ecore_drm2: Rename _release_buffer and make it private instead of static
Other files in ecore_drm2 need to release buffers too.
2017-06-02 15:50:08 -05:00
Amitesh Singh bd1ee1b083 Efl.Ui.Image.Zoomable: implement Ui.Image.icon property
@feature
2017-06-02 18:32:09 +09:00
JinYong Park bcb7eb99b3 popup: fix object_mirrored_set didn't work
Summary:
object_mirroed_set as opposed to config_mirrored_set doesn't work with
popup. This patch broadcasts a change on 'mirrored' to internal notify,
main layout, scroller and action area layout to make API work.

@fix

Reviewers: singh.amitesh, jpeg, conr2d, cedric, raster

Reviewed By: conr2d

Subscribers: herb

Differential Revision: https://phab.enlightenment.org/D4900
2017-06-02 16:34:42 +09:00
Stefan Schmidt 4d13211116 examples: edje: make sure we use the edje_object_language_set legacy API
The EO based edje_obj_language_set API is now longer available since a
rework of this API. Also make sure a used parameter is not marked as
unused.
2017-06-02 09:21:49 +02:00
Stefan Schmidt e3a073c0a8 docs: efl_text_style: add docs for various style related enums 2017-06-02 09:21:11 +02:00
Stefan Schmidt 6bc5e2ddfc docs: efl_font_format: add docs for Efl.Text.Format.Wrap enum 2017-06-02 09:21:11 +02:00
Stefan Schmidt c01052dafb docs: efl_text_font: add docs for font width and slant enums 2017-06-02 09:21:11 +02:00
Stefan Schmidt b0d056f291 docs: efl_text_font: add docs for font weight enum
Who comes up with font weight names like extrabold or black? :)
2017-06-02 09:21:11 +02:00
Stefan Schmidt bf6050047c docs: elm: add description for external Elm.Glob.Match_Flags 2017-06-02 09:21:11 +02:00
Stefan Schmidt abdb326f0d elm: move Elm.Glob.Match_Flags extern into a single place
Since this was moved into the two genlist and gengrid files I get
redefinition warnings during the build and when generating the docs
eolian actually errors out on me and stops parsing.
2017-06-02 09:21:11 +02:00
SangHyeon Lee dc98fd4f5e elm_gen : apply Elm_Theme_Apply enum return types for theme_object_get of item view.
elm_widget_theme_object_get now return Elm_Theme_Apply enum not bools.
only ELM_THEME_APPLY_FAILED case, need to re-apply default item edje.

Signed-off-by: SangHyeon Lee <sh10233.lee@samsung.com>
2017-06-02 10:32:07 +09:00
Jihoon Kim e2804c6f01 ecore_imf: Add commit content event callback
COMMIT_CONTENT is called when the input method commits content such as an image.

Change-Id: Idf238dc9b27811999b1ee733eeba2318d57e54f1
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
2017-06-02 09:24:47 +09:00
Derek Foreman b53d1e29f1 elput: Fix logind session object path
We're supposed to query the path for a session id instead of just
making up the string ourselves.

Fixes all input devices being dead after a vc switch for some users.
2017-05-31 14:16:36 -05:00
Amitesh Singh cb1d53c835 Efl.Ui.Image.Zoomable: inherit from Efl.Ui.Image 2017-05-31 19:02:47 +09:00
jiin.moon 2c119f54af elm_image: Fix previous image visible issue
Summary: Previous image still visible when elm_image_file_set has wrong file path.

Test Plan: self

Reviewers: jpeg, jypark, singh.amitesh

Reviewed By: singh.amitesh

Subscribers: singh.amitesh, minkyu, cedric

Differential Revision: https://phab.enlightenment.org/D4888
2017-05-31 19:01:04 +09:00
Jean-Philippe Andre 602039cf83 edje: Move some functions to Efl.Ui.Base (EO)
This introduces the new interface Efl.Ui.Base, intended to
share some APIs between Edje and Elm:
 - mirrored (rtl)
 - language
 - scale

base_scale remains in Edje.Object for now. I don't think it
applies to generic widgets.

The new interface uses eo prefix "efl_ui". It could be renamed
as Efl.Ui (no Base), or anything else. As always, I'm open to
propositions!

Ref T5315
2017-05-31 18:42:32 +09:00
Jean-Philippe Andre 20a305a85d interfaces: Remove display_mode from EO size hints
This size hint is only used by naviframe, which is not part of
our EO widgets. I also believe it might be an even more confusing
hint than the others.

I kept the typedef as is in Evas_Legacy.h in case an app is
written using EFL_GFX_ instead of EVAS_...
2017-05-31 18:42:32 +09:00
Jean-Philippe Andre ce0d15ecb3 edje: Reshuffle a bit edje_object.eo
This changes a few method names:
 - freeze -> calc_freeze
 - thaw -> calc_thaw
 - update_hints -> calc_update_hints

Otherwise this is mostly about reshuffling the EO file itself
and changing documentation.

Ref T5315
2017-05-31 18:42:28 +09:00
Jean-Philippe Andre aa5ac8eed7 edje: Rename "data" to "group_data" for EO
Still not happy with the name. I'm trying to avoid a name
clash between other "data" elements in the object. This is
the EDC group "data item".

Ref T5315
2017-05-31 18:42:24 +09:00
Jean-Philippe Andre 07da746194 drm: Fix build warning (invalid enum type) 2017-05-31 17:48:26 +09:00
Jean-Philippe Andre 6e5431579e edje: Revert build fix and make "internal" eo public
Those classes are simply badly named, and I've come to realize since
that part class definitions are not internal, but instead they are
part of the public API. They are required for documentation, casting,
etc... I will rename them to "part" instead of "internal" later.

Since the headers are included in Edje_Eo.h not installing them
broke the build of any external app. Sorry for the mess!

This reverts 665856027d

Ref T5306
2017-05-31 15:41:20 +09:00
Jean-Philippe Andre 8f7fc307f2 edje: Remove external param_set from EO
As Dave pointed out, those are meant for internal use by Edje and
the plugins implementation, rather than for apps. This removes
ugly and complex code. Makes me happy :)

Note that I've kept the composition for now. We can remove it
as efl_content_get() must work on the part handle anyway. But it
can be used as a quick solution.
2017-05-31 15:41:20 +09:00
Jean-Philippe Andre 2b57acda33 test: Cleanup timer when window is closed
This avoids confusing ERR messages in efl_part().
2017-05-31 15:41:20 +09:00
Jean-Philippe Andre f767e8bea4 edje: Move part drag APIs to efl_part
This moves all part_drag APIs to legacy and implements them for
EO using efl_part(). All parts now support these APIs, even if
they are not draggable. Making this more fine grained would
probably be much extra work for little gain.

This creates a new interface Efl.Ui.Drag.
2017-05-31 15:41:20 +09:00
Jean-Philippe Andre 2949329d4b edje: Improve reference doc for part drag APIs 2017-05-31 15:41:20 +09:00
JinYong Park 2086530d07 popup: remove previous object when setting new content
Summary:
Other widgets remove previous object when setting new content, but popup does
nothing for the part whose name is "default".
content_unset can be used to keep previous content object, so content_set
(especially with NULL) should be able to delete previous content object
for uniformity of the entire widgets.

@fix

Reviewers: jpeg, singh.amitesh, cedric, raster, conr2d

Reviewed By: conr2d

Subscribers: minkyu, herb

Differential Revision: https://phab.enlightenment.org/D4885
2017-05-31 13:21:08 +09:00
Cedric BAIL 665856027d edje: temporary build fix.
Currently Edje_Eo.h does use all the internal eo file for part.
This should be fixed soon, but in the mean time we need a usable tree.
2017-05-30 14:05:40 -07:00
Chris Michael dc3da87139 ecore-drm2: Don't free output plane states if not using atomic
If atomic support is not enabled (kernel or env var), then we will not
be filling output plane_states, so no need to free them (if non-atomic).

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-30 15:57:07 -04:00
Chris Michael f2a0e5ae4c ecore-drm2: Minor formatting fix
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-30 15:56:51 -04:00
Daniel Kolesa cc7b354db2 eolian: silence a unused warning temporarily 2017-05-30 17:15:54 +02:00
Daniel Kolesa a72cac2223 docgen: stub out units so the generator works again 2017-05-30 17:15:54 +02:00
Daniel Kolesa d2280f91a1 eolian: use unit in typedecl c_type_get 2017-05-30 17:15:54 +02:00
Daniel Kolesa d4c835545b eolian: pass unit in internal type serialization 2017-05-30 17:15:54 +02:00
Daniel Kolesa a5e66b3421 eolian: doc token ref resolver now takes unit 2017-05-30 17:15:54 +02:00
Daniel Kolesa 81a1d9659a eolian: type_class_get takes unit 2017-05-30 17:15:54 +02:00
Daniel Kolesa c234b5ee69 eolian: expr eval APIs now take units 2017-05-30 17:15:54 +02:00
Daniel Kolesa 4125e3f34b eolian: more expr system unit updates 2017-05-30 17:15:54 +02:00
Daniel Kolesa 2cfbd3a42b eolian: pass unit around in expr eval 2017-05-30 17:15:54 +02:00
Daniel Kolesa 0bf6fd6297 eolian: update lua bindings with new unit apis 2017-05-30 17:15:54 +02:00
Daniel Kolesa 308a3d91a3 eolian: use unit in all getters for typedecls 2017-05-30 17:15:54 +02:00
Daniel Kolesa 4f88aa424d eolian: use units in by_file getters for typedecls 2017-05-30 17:15:54 +02:00
Daniel Kolesa 67bc32d9ac eolian: pass unit to enum get by name 2017-05-30 17:15:54 +02:00
Daniel Kolesa 9c2dae3531 eolian: pass unit to struct get by name 2017-05-30 17:15:54 +02:00
Daniel Kolesa 52a0255e38 eolian: pass unit to alias get by name 2017-05-30 17:15:54 +02:00
Daniel Kolesa 6d0ee5d2df eolian: return real nil on parse failure 2017-05-30 17:15:54 +02:00
Daniel Kolesa bf2ac6c937 elua: update for unit api usage 2017-05-30 17:15:53 +02:00
Daniel Kolesa 2f9c4cfef2 eolian: update tests according to unit API 2017-05-30 17:15:53 +02:00
Daniel Kolesa 9699d074bc eolian: pass unit to all_classes_get 2017-05-30 17:15:53 +02:00
Daniel Kolesa 45a73a0878 eolian: pass unit to class get_by_name/file 2017-05-30 17:15:53 +02:00
Daniel Kolesa 83bf422159 eolian: make all variable lookups take unit 2017-05-30 17:15:53 +02:00
Daniel Kolesa cee3b604a3 eolian: make by-file variable lookups take unit 2017-05-30 17:15:53 +02:00
Daniel Kolesa 653cf6bac3 eolian: make by-name variable lookups take unit 2017-05-30 17:15:53 +02:00
Daniel Kolesa 6d453bc694 eolian gen: pass the unit around 2017-05-30 17:15:53 +02:00
Daniel Kolesa 7da0549970 eolian: make eolian_file_parse return unit 2017-05-30 17:15:53 +02:00
Daniel Kolesa 91411c5389 eolian: units will contain multiple files 2017-05-30 17:15:53 +02:00
Daniel Kolesa 5f4c2f7b79 eolian: initial structure for units
Units are Eolian files (eo/eot). Each unit contains information
about its class, dependencies, variables and types. This allows
for saner checking to be done.
2017-05-30 17:15:53 +02:00
Chris Michael bd189f69f2 ecore-drm2: Don't fill device atomic state if atomic is disabled
If atomic support is disabled (via kernel or env var), then we do not
need to fill device atomic state as it will not be used anyway.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-30 11:01:22 -04:00
Chris Michael ba4042da1e ecore-drm2: Don't fill output atomic states if not using atomic
If atomic support is not enabled (kernel or env var), then we should
not be filling in output atomic state

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-30 11:00:20 -04:00
Chris Michael ac2c82b871 ecore-drm2: Remove useless return
This 'return' statement here is just useless as the code can fall
through and the function will return 0 anwyay.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-30 10:59:25 -04:00
Taehyub Kim e7b302d89f efl_ui_image_zoomable: fix wrong initial value for zoom mode
Summary:
fix wrong initial value for ELM_PHOTOCAM_ZOOM_MODE_AUTO_FILL mode

@fix

Test Plan:
1. set zoom mode of photocam to ELM_PHOTOCAM_ZOOM_MODE_AUTO_FILL in text_photocam.c example
2. run elementary_test -to photocam
3. check it is working well

Reviewers: jpeg, cedric, raster, Hermet, singh.amitesh

Reviewed By: singh.amitesh

Differential Revision: https://phab.enlightenment.org/D4921
2017-05-30 20:33:26 +09:00
jiin.moon e250a27922 evas: Fix don't redraw map_sufarce issue
Summary:
map_surface does not redraw in below case.

1) parent and child are smart object and has map.
3) drawing objects.
4) apply new map to child object.

Test Plan: sample code

Reviewers: jpeg, cedric, jypark

Differential Revision: https://phab.enlightenment.org/D4889
2017-05-30 19:25:37 +09:00
Jean-Philippe Andre eb27724eb9 evas: Set modifiers & locks on global key events
Fixes T5510
2017-05-30 19:16:48 +09:00
YeongJong Lee 0b67bfc031 elm_code: fix wrong selection delete
Summary:
If multi selection have 0 column and delete the selection, 0 + 1 column also
deleted
This fix that bug.

Also, remove needless code.

Test Plan:
1. select multi line with 0 column.
2. delete the selection

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4922
2017-05-30 08:50:18 +01:00
Bowon Ryu a4e54adb0c elm_toolbar: added to ensure different sizes of items in shrink mode.
Change-Id: I9f8a14e77a8859c9a7543e442f8355d5ef5c0d3d
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
2017-05-30 15:41:05 +09:00
Jeeyong Um 74ef504aa8 elm_widget: optimize memory alignment for focus related fields 2017-05-30 15:36:17 +09:00
Jean-Philippe Andre bca55bb52f edje: Add test case for signal_recursive_process 2017-05-30 14:39:24 +09:00
Jean-Philippe Andre 63518c4c2c edje: Implement part proxy for all parts
This is required for part_state_get, which is now based
on the EO API internally. This fixes the test case introduced
in the following commmit.
2017-05-30 13:54:35 +09:00
Jean-Philippe Andre bac435a49e edje: Also implement content_get on external part
This implements edje_object_part_external_object_get() using
efl_content_get() on the part object. Note that there are now
two ways to call APIs on the external part:
 - direct call to the efl_part() as if it was the object itself
     (implemented by composition),
 - get a handle with efl_content_get(efl_part()) and manipulate
      it directly (it is the real object).

Do we need this? Do we need the composition trick? Should we have
only one of those solutions implemented?
2017-05-30 13:54:35 +09:00
Jean-Philippe Andre 8bf347b228 edje: Compose external part with real object
This effectively replaces edje_object_part_external_object_get
and allows all function calls except those from Efl.Object.

Is this good enough? Or do we need access to the real object?
2017-05-30 13:54:34 +09:00
Jean-Philippe Andre 9575bc8f8b edje: Remove external_object_get from EO
This will be replaced by a trick: composition on the part
object itself!
2017-05-30 13:54:34 +09:00
Jean-Philippe Andre 7ce7d4cc27 edje: Remove part_external_content_get from EO
I couldn't find a use of this API. This looks like it returns
an object inside a part inside an external (so, inside an edje).

Kept as legacy only.
2017-05-30 13:54:34 +09:00
Jean-Philippe Andre 554dd9facf edje: Move external_param_set to a efl_part API
This adds a new class: Efl.Canvas.Layout.External.
I hate this long name...

This class represents an external part, and for now only
supports param_set/get as well as param_type_get. For now
param_type_get() still returns an Edje_External_Param_Type and
not another more generic type.

TODO: enumerate choices, return object, return content
2017-05-30 13:54:34 +09:00
Jean-Philippe Andre f9a95528b6 edje: Enhance documentation for play vs animation
I had to test in order to get an idea of what those two similar
properties meant. Hopefully this is clear and not wrong.

See example: edje-animations
2017-05-30 13:54:34 +09:00
Jeeyong Um 0e78ecb325 eina: Fix broken link in doc to introduce integer hash algorithms 2017-05-30 13:34:34 +09:00
Jean-Philippe Andre ebb9cad1ed evas gl: Add an env var to debug GLSL version issues
Set this env var to "300 es" to test GLSL 300 ES as shader
version. This is for brokenshakles.

Example:
  export EVAS_GL_GET_PROGRAM_BINARY=0
  export EVAS_GL_SHADER_GLSL_VERSION="300 es"
  export ELM_ACCEL=gl
  elementary_test
2017-05-30 11:15:41 +09:00
Jean-Philippe Andre bc38a4c639 check: Bump version to 0.9.10 and change macro
Changing ck_assert_ptr_nonnull() to ck_assert_ptr_ne() in order to
require "only" check >= 0.9.10. ck_assert_ptr_nonnull() was
introduced in 0.11.0. ck_assert_ptr_ne() is already used a lot
in the test suite so a recent version of check is required.
2017-05-30 11:02:05 +09:00
Carsten Haitzler fa944c700e evas - adjust code in evas init to keep threaded gl patches applying 2017-05-29 18:25:49 +09:00
Jean-Philippe Andre e9c7159210 edje: Add recursive flag for message_signal_process
Original patch by Jinwoo Shin:

If edje has multiple levels of child group,
edje_object_message_signal_process cannot process message on
child group. To cover that, it needs to add new API which
traverses its hierarchy and process messages.

@feature

Signed-off-by: jinwoo.shin <jw0227.shin@samsung.com>

Differential Revision: https://phab.enlightenment.org/D4914
2017-05-29 15:45:31 +09:00
Amitesh Singh 6fe568d9ac elm: rename elm_photocam to Efl.Ui.Image.Zoomable
Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-05-29 14:52:36 +09:00
Jean-Philippe Andre 5971277e71 ecore: Try to fix build
ecore_types.eot does not exist anymore.
2017-05-29 13:36:51 +09:00
Jean-Philippe Andre ac3abd1f5b eo: Make efl_cast() return NULL if invalid cast
This makes it work like C++ dynamic_cast<> operator, so that
the return value will be NULL if the object is not an instance
of the given class.

In case of efl_super() we don't do it as efl_super is used A LOT
inside EFL itself (all constructors & destructors, for a start)
and efl_isa is in fact a bit expensive. efl_cast isn't really used
and is intended to be something like dynamic_cast.

For @cedric :)
2017-05-29 13:29:03 +09:00
Jean-Philippe Andre 11d4daf90a edje: Move part_state_get to efl_part 2017-05-29 10:49:17 +09:00
Jean-Philippe Andre da2a7e6587 edje: Implement part_geometry_get with Efl.Part
This refactors even more the edje part eo internals. But now
common part APIs can easily be implemented in edje_part.c

The API now looks like:
  efl_gfx_geometry_get(efl_part(edje, "part"), &x, &y, &w, &h)
2017-05-29 10:49:17 +09:00
Jean-Philippe Andre 42403cd3df edje: Refactor a bit internal parts for edje objects (EO)
1. Make internal part "real_part_set" an internal function (EO)
2. Use a common class rather than an interface:
  - Cost: 1 extra call to efl_data_scope_get() as we don't have
    the data inside the EO function call implementation.
  - Gain: Ability to implement common code, such as part_geometry_get
2017-05-29 10:49:17 +09:00
Jean-Philippe Andre 7c3e732f8c edje: Remove part_object_get from EO
Ooooh. This one might be controversial, as some apps definitely
use the function. But it is so easily abused. For our EO API
we are trying to not expose any internal object, as this prevents
us from making changes to the internal behaviour and structure.
All the features that this API provided should be limited to
read-only access to the internal object. In order to replace
this, we will have to return an Efl.Part object that implements
all those APIs: geometry_get, visibility_get, etc...
2017-05-29 10:49:17 +09:00
Jean-Philippe Andre 76ef772d0a edje: Unify load error types for image and edje (EO)
Most of the values were the same, with edje having just a couple
more error codes.

Not entirely sure the prefix Efl.Image is correct for this type.
Maybe just Efl.Load.Error?
2017-05-29 10:49:17 +09:00
Jean-Philippe Andre 3cc8bc2173 edje: Move message structs to legacy header 2017-05-29 10:49:16 +09:00
Jean-Philippe Andre 5540ab8c6f edje: Remove Message_Type from EO
See the previous commits, Eina_Value is used directly, no need to
specify the type.
2017-05-29 10:49:16 +09:00
Jean-Philippe Andre 71678f301a ecore: Remove ecore_types.eot
This moves one enum from EO to legacy only (Ecore_Pos_Map).
Ideally the type should be in Ecore_Legacy and no Common, that
can be done later.

Ref T5522
2017-05-29 10:49:16 +09:00
Carsten Haitzler 356ad74377 elm inwin - fix unised variable warning by removing it 2017-05-29 10:14:38 +09:00
Daniel Hirt 0d83604599 Ui text: use new text api instead of 'style' 2017-05-28 15:34:26 +03:00
Daniel Hirt e55b91aa91 Ui text: use 'wrap' and 'multiline' properties 2017-05-28 15:34:26 +03:00
Daniel Hirt 9289e082d8 Canvas text: implement Font, Format and Style interfaces
This replaces the 'style' API with actual properties.

@feature
2017-05-28 15:34:26 +03:00
Daniel Hirt da2ef30f2b Efl text: add Font, Format and Style interfaces
The following text interfaces are added:
  - Efl.Text.Font: font settings that decide which font to display in
the text
  - Efl.Text.Format: formatting that affects the looks and layout of
the text
  - Efl.Text.Style: decorations and overlays that shouldn't affect the
font choice or the layout

@feature
2017-05-28 13:36:16 +03:00
Andy Williams 57a0343775 elm_code: Allow multibyte characters to be entered
@fix T5496
2017-05-26 23:07:52 +01:00
Mike Blumenkrantz 6e1a52fc7d elput: do not set TABLET_PAD to have POINTER caps 2017-05-26 16:27:43 -04:00
Mike Blumenkrantz d725ae5a0a elput: fallback to regular device name if output_name is not available 2017-05-26 16:27:43 -04:00
Mike Blumenkrantz ed4e54ebe2 wayland/drm: create evas_devices and add device pointer to input events
this is still semi-broken if a seat has many pointer-ish type devices since
pointer devices in ecore-evas were never correctly implemented to be 1:1 with
seat:cursor relationships

@feature
2017-05-26 16:27:43 -04:00
Mike Blumenkrantz 6775b23212 evas: better handle async device creation of default mouse
instead of yolo setting the first pointer-ish device which is created,
check to see if a better match for "default mouse" can be applied

@fix
2017-05-26 16:27:43 -04:00
Mike Blumenkrantz d4ce9b1ac3 elput: store output w/h and apply to devices on creation
fix async device initialization for devices which need this (e.g., touchpads)

@fix
2017-05-26 16:27:43 -04:00
Mike Blumenkrantz cf6fc05610 elput: add more elput_seat accessor apis 2017-05-26 16:27:43 -04:00
Mike Blumenkrantz 466456b4f0 ecore-evas: init cursors for all pointer-ish objects
all of these will use a cursor visual if one is set

@fix
2017-05-26 16:27:43 -04:00
Mike Blumenkrantz 50381e7911 ecore-evas: clear cursor object cache when setting default cursor
@fix
2017-05-26 16:27:43 -04:00
Mike Blumenkrantz e21847e3fd ecore-evas: only apply cursor object cache for default pointer
@fix
2017-05-26 16:27:43 -04:00
Mike Blumenkrantz 737f64b822 ecore-drm2: simplify output name checking on device change
eina_streq handles null and stringshare params
2017-05-26 16:27:43 -04:00
Mike Blumenkrantz b09c6f1f3e elput: start elput_device_ and elput_seat_ namespaces, rename some functions 2017-05-26 16:27:43 -04:00
Mike Blumenkrantz e34088d74e elput: rename and make public Elput_Device_Caps enum 2017-05-26 16:27:43 -04:00
Mike Blumenkrantz e8fe0bcc47 elput/drm: redo xkb context/keymap setting
context and keymap need to be set at the same time in order to effectively
update keyboard state, and active group should be accessible through api
as well

preserve old function ABI to ensure old binaries don't crash
2017-05-26 16:27:42 -04:00
Mike Blumenkrantz 6ddcd48fde elput: implement compose sequences
@feature

fix T5006
2017-05-26 16:27:42 -04:00
Mike Blumenkrantz f7ae2a7de8 elput: fix key/keyname strings in key events
todo: move all this duplicated code somewhere
2017-05-26 16:27:42 -04:00
Mike Blumenkrantz 53157f4a4f elput: sync _keyboard_keysym_translate() with ecore-wl2 code, add copyright 2017-05-26 16:27:42 -04:00
Mike Blumenkrantz 9f217eb0f6 elput: add copyright from weston 2017-05-26 16:27:42 -04:00
Mike Blumenkrantz fbe5ff0104 ecore-wl2: implement compose keys
@feature

ref T5006
2017-05-26 16:27:42 -04:00
Mike Blumenkrantz d1c35171c1 ecore-wl2: add weston copyright notice to ecore_wl2_input.c
this file contains code copied from weston
2017-05-26 16:27:42 -04:00
Mike Blumenkrantz 140a3d668c elput: handle double/triple click for pen events 2017-05-26 16:27:42 -04:00
Mike Blumenkrantz 03e23322d5 elput: send axis events for tablet tools 2017-05-26 16:27:42 -04:00
Mike Blumenkrantz 7cc52ef27b elput: add initial input tablet support
@feature
2017-05-26 16:27:42 -04:00
Mike Blumenkrantz dc61c2e80f elput: use unrounded coords for subpixel struct members in events
@fix
2017-05-26 16:27:42 -04:00
Mike Blumenkrantz ba1ab3a8b1 elput: store device pressure for use in events 2017-05-26 16:27:42 -04:00
Mike Blumenkrantz 679872a800 elput: group tablet input devices into pointer devices
this is consistent with x11 behavior as well as the behavior of other toolkits
under wayland

@feature
2017-05-26 16:27:42 -04:00
Marcel Hollerbach 859b5a0423 elementary_test: add a new inwin test
to show focusable widgets in the inwin
2017-05-26 21:34:24 +02:00
Marcel Hollerbach 94dad4c37a elm_inwin: set this widget as a redirect
once this widget is visible, It should handle the focus of its children
and leave no option to the underlaying widgets to gain focus.

This is implemented by making it a redirect when it gets visible.
2017-05-26 21:34:24 +02:00
Marcel Hollerbach a7fb6e92b2 introduce efl_ui_focus_manager_root_focus
add a class that fills a dummy element for the case of no element added
at all.
2017-05-26 21:34:24 +02:00
Al Poole 66fd9839a0 elm_code: fix cursor position (100%)
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4905
2017-05-24 21:25:24 +01:00
Amitesh Singh 99738e4d39 Efl.Ui.Progressbar: Implement Efl.Ui.Progress intf for progressbar part
and remove part_value_set/get as EO APIs

ref T5360

Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-05-24 19:25:28 +09:00
Amitesh Singh 071bdb6b22 Efl.Ui.Progressbar: add pulse_mode & pulse as eo API
and mark pulse_set/get, pulse and is_pulsing_get() as legacy APIs

ref T5360

Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-05-24 19:25:28 +09:00
Jean-Philippe Andre 81eb7a3f0b examples: Test API efl_input_device_children_iterate
While the API seems to work fine, I am not 100% sure the device
names are properly assigned.

Run ecore_evas_cursor_example or ecore_evas_vnc_example and
then connect to the VNC server locally or remotely.
2017-05-24 16:06:18 +09:00
Jean-Philippe Andre 5573cf414a evas: Unify device names
Fixes mouse name that was "keyboard".

This is an attempt at unifying names under X11, WL and VNC.

The default device names now look the same, namely "Keyboard"
and "Mouse". The default seat still has different names on WL
and X11 ("seat-0" and "default").
2017-05-24 16:06:18 +09:00
Jean-Philippe Andre 127c4ac9c2 elm: Remove elm_box_layout_set from EO
This removes a type from ecore_types.eot
elm_box is legacy. Efl.Ui.Box is the new EO-enabled box.

Ref T5522
2017-05-24 15:24:13 +09:00
Jean-Philippe Andre b114f8c66d evas/elm: Add Efl.Image.image_size read-only property
Following a remark in the mailing list, it is pretty clear that
Efl.Gfx.View.view_size is not as simple as "image_size".

I have defined this new image_size as being the size of the
image file, and not what's currently loaded. So it will not
apply to proxies, gl views, 3d scenes, etc... but only to
standard image files loaded with file_set or mmap_set.
Supported objects:
 - Efl.Canvas.Image (evas image)
 - Efl.Ui.Image (elm image)
 - Elm.Photocam (note: still needs some interface work)

@feature
2017-05-24 15:24:13 +09:00
Jean-Philippe Andre d8f59d24c4 evas: Fix rare crash in object destruction
The COW object may have not been created if the object could
not be created. Example: a window failed to open because the
engine could not create a surface.
2017-05-24 15:24:13 +09:00
Jean-Philippe Andre 1e1a611fdb evas: Add children_iterate to Efl.Input.Device
This is a new method for EO that allows us to enumerate the
children of a device, especially useful for seat devices.

@feature
2017-05-24 15:24:13 +09:00
Jean-Philippe Andre 12748a039e evas: Make efl_input_device_seat_id_get() more useful
And cleanup the EO file a little bit.
2017-05-24 15:24:13 +09:00
Woochan Lee 3cdd290f17 spinner: Add signal to notify the value of spinner has been reached at min, max.
Summary: The User requires this signal to handle spinner widget easily on their app.

Test Plan: Spinner test on elementary_test.

Reviewers: cedric, jpeg, Hermet, woohyun, Jaehyun, myoungwoon, Jaehyun_Cho

Reviewed By: myoungwoon, Jaehyun_Cho

Subscribers: myoungwoon, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4886
2017-05-24 13:31:15 +09:00
Jean-Philippe Andre 9d48350ae4 edje: Implement EO API for message_send
Since this uses generic_value (aka Eina_Value), there is an
implicit type detection and conversion. I did not attempt to
cover all types (namely string+int and string+float and even
less sets of those) as I believe they aren't really used. Or
they most likely could be replaced by multiple messages rather
than a single message.

Note: should we pass ptr(generic_value) instead of generic_value?
The API looks a little odd in C when passing by value.

@feature
2017-05-24 13:02:20 +09:00
Jean-Philippe Andre e7abfba034 edje: Fix typos and overall strange function name
popornot was supposed to be propornot which stands for prop or not.
prop itself means propagate. Why choose a name so complicated? :)
2017-05-24 11:04:58 +09:00
Jean-Philippe Andre df4e8653c7 edje: Remove message_handler_set from EO
It is used to receive messages with a payload from embryo to C.
This API has a function pointer, which means it would have to be
manually bound, or transformed (eg. eo event).

Also, prepare the change for message_send to use Eina_Value and
no explicit type.

This feature seems rarely used.

But note that handler_set is in fact used in terminology, rage and
luncher. So, if the need arises, it will have to be transformed in
a proper EO way.
2017-05-24 11:04:58 +09:00
Andy Williams 6058401590 elm_code: reduce race conditions in rendering cursor
This code is slowly getting neater as we get to the bottom of it
2017-05-23 23:03:08 +01:00
Bryce Harrington 4f5ea8f3b7 elm_win: Fix breakage in frame bg style with Elementary WL2
Summary:
An else statement was added in 5ebdf8f3 with no clause, resulting in the
bg_solid property becoming conditionalized such that it won't be set
correctly when HAVE_ELEMENTARY_WL2 is defined and there is no wayland
window in use.

Further, this also causes focus to be left undefined.  Since there's no
window, presumably it should be turned off in this circumstance.

fix CID1375496, CID1375497

Reviewers: zmike

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4899
2017-05-23 16:46:00 -04:00
Marcel Hollerbach 32cc23aea3 elm_fileselector: use a sane item size
16 px is nothing you can really read, even the font is bigger than that,
so you only see "...", like
http://www.enlightenment.org/ss/e-592478d86028f5.91073806.jpg.

Now it looks like:
http://www.enlightenment.org/ss/e-592479ac4dde13.60227000.png

@fix
2017-05-23 20:15:13 +02:00
Daniel Hirt 1624417d91 Evas textblock: fix width calculation of non-dirty paragraphs
This reverts commit 0a28cb97af, as the
addressed issue was still occurring.
Non-dirty paragraphs were not considered when recalculating the
formatted width of the text.
This could easily be reproduced with two paragraphs, getting the width,
and then updating only the second paragraph.

Added a test case.

@fix
2017-05-23 13:26:32 +03:00
Amitesh Singh f6b81f0a1e elm: rename elm_progressbar to Efl.Ui.Progressbar
ref T5360

Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-05-23 19:05:48 +09:00
Amitesh Singh 997d0261fb Efl.Ui.Radio: correct the 'changed' event name
Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-05-23 15:42:02 +09:00
Amitesh Singh 56b6e023bb Efl.Ui.Check: correct the include gaurds name
Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-05-23 10:25:59 +09:00
Jean Guyomarc'h cc4e101ba1 elementary: fix global declaration
Don't DEFINE a global in a header, DECLARE it instead!
This fixes link on macOS.
2017-05-22 19:39:10 +02:00
Mike Blumenkrantz a6d9d3119e elm_cnp: use correct pointer when emitting ELM_CNP_EVENT_SELECTION_CHANGED
CID ???
2017-05-22 07:00:18 -04:00
Amitesh Singh 12b862f8d1 rename elm_radio to Efl.Ui.Radio
Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-05-22 19:21:28 +09:00
Jean-Philippe Andre 3082dc212e evas: Fix build for Windows without segv
Revert "Revert "evas: Fix build for Windows (hopefully)""
This reverts commit c8ec1cb2af.

The two efl_input_ functions need to be declared as EOAPI inside
the file where they are implemented. Otherwise the symbols aren't
exposed and weak linking means the function call crashes.

Sorry for the first untested patch and subsequent revert. Things
should be in order now.
2017-05-22 17:37:35 +09:00
Amitesh Singh 850498e977 rename elm_button to Efl.Ui.Button
ref T5323

Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-05-22 17:28:47 +09:00
Jean-Philippe Andre c8ec1cb2af Revert "evas: Fix build for Windows (hopefully)"
This reverts commit 1e2d382298.
This segfaults. Ouch... Will need more time to fix this.
2017-05-22 15:05:16 +09:00
Jean-Philippe Andre 1e2d382298 evas: Fix build for Windows (hopefully)
The declaration of some internal EO APIs was located in the wrong
library, which results on Windows to an invalid definition of
EAPI (dllexport vs dllimport).

Thanks @vtorri for the report!
2017-05-22 14:52:26 +09:00
Jean-Philippe Andre 83a294664e elm: Try to fix build (linking failure)
This should expose the proper definition of EAPI before including
elm_widget.h, as elm modules call internal APIs from elementary.

Thanks Mykyta for the report!
2017-05-22 13:28:15 +09:00
Stefan Schmidt f47b03f7fa elm_check: make sure of the correct naming of header files
We use a header wrapper _eo.h here instead of using the eo.h file
directly. By not doing so the automagic in our build system will not
work.
2017-05-22 12:13:17 +09:00
Amitesh Singh bd743d93ac rename elm_check to Efl.Ui.Check
Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-05-22 12:13:13 +09:00
Andy Williams 7f1ef4e2d4 elm_code: improving cursor move behavior.
There is a blank line off the scroller but for now it's better
2017-05-21 23:19:24 +01:00
Marcel Hollerbach ecc39f19c6 elm_widget: use a different pointer from sd
sd is used later below, which could then alter the wrong private data,
which is not part of the object.

CID 1374433
2017-05-20 21:03:15 +02:00
Marcel Hollerbach f424af2578 efl_ui_focus_manager: logical_end could be called before root_set
which would lead to a NULL deref

CID 1374435
2017-05-20 20:51:30 +02:00
Marcel Hollerbach 43cb924faa efl_ui_focus_manager: fix valgrind warnings in the tests 2017-05-20 20:46:49 +02:00
Derek Foreman a5fae67e9c dmabuf: Drop requirement that buffer be writeable
We don't need to write to it, and some clients don't create their buffers
in a way that we can.

@fix
2017-05-19 16:59:27 -05:00
Mike Blumenkrantz fb082484b0 ecore-wl2: permit null drag icon window in ecore_wl2_dnd_drag_start()
this is explicitly allowed in the spec

@fix
2017-05-19 15:53:52 -04:00
Al Poole 6d7a73c68f elm_code: fix carriage return at EOF scroller behaviour
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4890
2017-05-19 19:04:46 +01:00
Mike Blumenkrantz 31295a95d7 evas: fix doc copypaste on evas_device_get() 2017-05-19 13:17:31 -04:00
Mike Blumenkrantz d47197e65b evas: add evas_device_get_by_seat_id()
sometimes it may be more useful to find a device by its hw id

@feature
2017-05-19 13:17:31 -04:00
Mike Blumenkrantz 771d8803dd ecore-wl2: block key->string translation when appropriate
copied from libX11.

I don't understand what's going on here but this fixes input bugs such
as, e.g., holding ctrl and pressing shift affecting cursor position in
terminology

@fix
2017-05-19 13:17:31 -04:00
Mike Blumenkrantz 2b2367b6ff ecore-wl2: add copyright info to code copied from libX11
this code has been slightly modified, but it was originally taken without
attribution from libX11/src/KeyBind.c

ref 08c804f5bb

@fix
2017-05-19 13:17:30 -04:00
Mike Blumenkrantz f4ad162eef ecore-wl2: remove ecore_wl2_window_input_get()
this function does not make sense within the context of wayland and seats,
since a surface does not own and is not owned by a seat, nor is there a 1:1
association between surfaces and seats
2017-05-19 13:17:30 -04:00
Mike Blumenkrantz 13cf5a1d43 ecore-wl2: do not attempt to call zxdg_surface_v6.get_popup without a parent
this is a protocol error so ensure that it can never occur

@fix
2017-05-19 13:17:15 -04:00
Mike Blumenkrantz 7caf3b88ce ecore-wl2: add ecore_wl2_window_popup_input_set()
this is a function for explicitly setting the seat which will be used
for popup grabs

@feature
2017-05-19 12:41:17 -04:00
Mike Blumenkrantz 2fe7878235 wayland: move pointer-related functions to ecore_wl2_input namespace
windows do not have pointers or cursors under wayland, seats do. due to
lack of multiseat support, most components simply use the "default" seat
with these functions, but this should make the corresponding code more
easily adaptable
2017-05-19 12:41:17 -04:00
Mike Blumenkrantz 55cfc97455 wayland: send focus in/out events when receiving/losing keyboard focus
since this is typically what efl defines as "focus"

@fix
2017-05-19 12:41:17 -04:00
Mike Blumenkrantz 5ebdf8f341 wayland: use shell activated state to indicate focus in csd
the current (v6) xdg-shell spec reads as follows:

	  Client window decorations should be painted as if the window is
	  active. Do not assume this means that the window actually has
	  keyboard or pointer focus.

so this is not equivalent to receiving/losing input focus and should not
be propagated as such

@fix
2017-05-19 12:41:16 -04:00
Mike Blumenkrantz 704a22d1c9 ecore-wl2: add ecore_wl2_window_activated_get()
this is specifically for returning the shell surface's activation state
which is NOT equivalent to the window having input focus

@feature
2017-05-19 12:41:16 -04:00
Mike Blumenkrantz 1bc837c3de ecore-wl2: redo ecore_wl2_window_move() to take a seat instead of coords
this triggers a move operation and is seat-dependent
2017-05-19 12:41:16 -04:00
Mike Blumenkrantz d7d3c9adab ecore-wl2: redo ecore_wl2_window_resize() to take a seat instead of size
this triggers a resize operation and is seat-dependent
2017-05-19 12:41:16 -04:00
Mike Blumenkrantz d0f707ef91 ecore-evas-wayland: do not trigger resize operation when performing rotation
@fix
2017-05-19 12:41:16 -04:00
Mike Blumenkrantz 871e0c8de8 ecore-wl2: add ecore_wl2_display_input_find_by_name()
@feature
2017-05-19 12:41:16 -04:00
Mike Blumenkrantz 01d3edef00 elm_win: don't unset wl cursor when starting move operation
I don't understand why this is here and it isn't required by spec?

ref ea7bbfe47d
2017-05-19 12:41:16 -04:00
Mike Blumenkrantz 23cf5e80f7 elm_win: add elm_win_get()
it's frequently useful to be able to return the window object from
any object. this simplifies doing so for users

@feature
2017-05-19 12:41:16 -04:00
Mike Blumenkrantz 0b10aa7f19 ecore-wl2: use nonblocking event flush when disconnecting a client
roundtrip will deadlock if called in a compositor process

@fix
2017-05-19 12:41:16 -04:00
Mike Blumenkrantz f289967927 elm_cnp: add elm_cnp_clipboard_selection_has_owner()
this already existed as an internal function which was improperly namespaced

@feature
2017-05-19 12:41:16 -04:00
Mike Blumenkrantz 0b2e15db0f elm_cnp: add event for selection change
@feature
2017-05-19 12:41:16 -04:00
Mike Blumenkrantz a08f8e7bbf ecore-wl2: add ecore_wl2_display_name_get()
@feature
2017-05-19 12:41:16 -04:00
Mike Blumenkrantz 047118c6e2 ecore-wl2: add ecore_wl2_display_input_find()
for finding seat using hw id

@feature
2017-05-19 12:41:16 -04:00
Mike Blumenkrantz 2c291f5bb8 ee wl engines: set seat id when creating seats 2017-05-19 12:41:16 -04:00
Mike Blumenkrantz 535ceaafd8 ee vnc thingy: set seat id for vnc seat 2017-05-19 12:41:16 -04:00
Mike Blumenkrantz 589773055a evas_device: add seat_id property, set seat id for default fallback seat
@feature
2017-05-19 12:41:16 -04:00
Mike Blumenkrantz bcdd87ce35 ecore: resolve compiler warning
/home/jpeg/e/core/efl/src/lib/ecore/ecore_main.c:1381: warning: comparison of unsigned enum expression < 0 is always false [-Wtautological-compare]

THANKS @JPEG FOR REPORTING
2017-05-19 12:41:16 -04:00
Mike Blumenkrantz 4a16eb15fb efl_input_device: add seat_id property
this is the hardware id of a seat which is required in order to match
against objects from other components

@feature
2017-05-19 12:41:16 -04:00
Chris Michael e0a1e63072 ecore-drm2: Don't call fb_flip until output is enabled
When calling ecore_drm2_output_enabled_set, we cannot initiate a
pageflip until the output has been enabled, so remove call to fb_flip
here. The dpms_set function will handle issueing the pageflip anyway.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-19 11:33:19 -04:00
Chris Michael 851a2c72af ecore-drm2: Cleanup output_enabled_set function code
If we are using atomic, we don't need to set the crtc active values
here as they will be set in output_dpms_set function anyway.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-19 11:32:20 -04:00
Chris Michael 7a3c658759 ecore-drm2: Fix atomic dpms setting (round 2)
As it turns out, we still need to enable/disable the output crtc when
we enable/disable dpms in order for the screen itself to turn off, so
this patch "should" finally fix atomic dpms setting.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-19 11:29:47 -04:00
Jean-Philippe Andre b8336030ea doc: Fix filters documentation in edcref
Thanks @rimmed for the report!

@fix
2017-05-19 14:52:50 +09:00
Jean-Philippe Andre 55b529cebc evas/elm: Make group_add/group_del internal functions
This hides those two legacy functions from the EO API.
2017-05-19 14:07:00 +09:00
Jean-Philippe Andre 2cdc02b03c evas: Make beta events from Evas.Canvas internal
This includes 4 events:
 - render,flush,pre
 - render,flush,post
 - axis,update
 - viewport,resize

Those were not accessible from the EO API since Evas.Canvas
isn't part of the public EO API.
2017-05-19 14:07:00 +09:00
Jean-Philippe Andre 4310e641cd evas: Make Efl.Canvas.Object.type internal 2017-05-19 14:07:00 +09:00
Jean-Philippe Andre 781594088e evas: Make Efl.Canvas.Object.legacy_ctor internal
Continuing...
2017-05-19 14:07:00 +09:00
Jean-Philippe Andre de4627030a evas: Make Efl.Input.Event.instance_get internal
Same as the previous patch. This removes the definition from
the EO file, implementing the feature in C.
2017-05-19 14:06:59 +09:00
Jean-Philippe Andre 60444d681e evas: Make Efl.Input.Event.legacy_info.get internal
This removes the function from the EO file by using EXTRA_OPS
as introduced in 53fef30db0.
2017-05-19 14:06:59 +09:00
Jean-Philippe Andre 7007c3314d elm: Remove Elm_Glob_Match_Flags from EO
This is used by legacy gengrid & genlist only.

Ref T5329
2017-05-19 14:06:59 +09:00
Cedric BAIL 26d401351d eina: fix reproductible build.
This make eina hamster depend on when configure was generated. This
should only happen really when we make a new tarball for release.

@fix

T5495
2017-05-18 16:20:06 -07:00
Andy Williams 7510a2a9ee elm_code: Fix crash on tabs in long lines
@fix
2017-05-19 00:01:23 +01:00
Chris Michael 76806fda80 ecore-drm2: Update connector state dpms value if setting works
If we successfully set dpms via atomic state, we should also update
the connector state dpms value

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-18 12:22:27 -04:00
Chris Michael 892b58fbf2 ecore-drm2: Fix setting dpms level using atomic state
The property we need to change during an atomic dpms change is
actually from the output connector state (not crtc state). This fix
should make dpms work when using atomic

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-18 12:14:01 -04:00
Amitesh Singh 1a025edd62 check: fix efl_ui_check_selected_set() API
send the theme signal after changing state.
Thanks to JP for pointing out this.

@fix

Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-05-18 18:22:49 +09:00
Amitesh Singh fd2111d9d0 nstate: correct the legacy class name
@fix
2017-05-18 17:15:39 +09:00
Andy Williams 67f4b98ddb Revert "elm_code: Add a save_as API call for writing buffers to a new file"
The implementation is flawed and was not noticed due to
the tests not having run unexpectedly.

This reverts commit ac076be75d.
2017-05-18 08:40:43 +01:00
Amitesh Singh 5ed8ed5ba2 photocam: fix make distcheck
Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-05-18 15:30:41 +09: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
Amitesh Singh c124534a5e photocam: move zoom related APIs to Efl.Ui.Zoomable
Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-05-18 12:56:14 +09:00
Derek Foreman 12260dabb9 ecore_drm2: Better handle flip failure round 2
If the buffer being flipped to is the one already on screen then
releasing it on flip failure will leave it on scanout with no
references.  The next time a buffer is queued it will be removed
from scanout and deleted.

Not good.

Fix T5462
2017-05-17 17:31:13 -05:00
Derek Foreman 2c58d77ba9 ecore_drm2: Better handle flip failure
We need to release the buffer we couldn't flip to when a flip fails.

This makes whatever bug is causing a page flip to happen right after
dpms blanks the screen, which was leading to a failure to ever wake
from dpms because the flip left a pending buffer that never completed.

Fix T5462
2017-05-17 15:01:54 -05:00
Amitesh Singh a9de4a7216 photocam: rename 'paused' API to 'zoom_animation'
and mark paused_set/get as legacy APIs.

Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-05-17 16:40:50 +09:00
Amitesh Singh a61e53fe34 photocam: implement Efl.Gfx.View.view_size.get
replace elm_photocam_image_size_get with Efl.Gfx.View.view_size.get
and mark elm_photocam_image_size_get as legacy API.

Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-05-17 16:40:50 +09:00
Amitesh Singh bf31dcd2d0 photocam: merge image_region_show() into image_region
and mark this API as legacy

Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-05-17 16:40:50 +09:00
Amitesh Singh ef4cae6c7f photocam: remove internal_image_get as eo api
and mark it as legacy API instead.

Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-05-17 16:40:50 +09:00
Andy Williams 47660f28dd elm_code: Fix off by 1 in selection refactor 2017-05-17 08:33:52 +01:00
Jean-Philippe Andre 7c5808f451 c++: Fix examples as Win.Standard was removed 2017-05-17 15:43:58 +09:00
Jean-Philippe Andre a9d11ab9e8 elm: Remove some of Gen_Item types from EO
Those belong to legacy only, EO interfaces will use models
and objects, not function pointers and item classes.

Ref T5329
2017-05-17 15:32:04 +09:00
Jean-Philippe Andre afbdaf514a efl model: Fix invalid type in EO
Efl.Canvas refers to a canvas, like Evas or Window. Efl.Gfx is
the base visual object type in libefl.so
2017-05-17 15:32:04 +09:00
Jean-Philippe Andre ba8db108cb evas map: Fix uninitialized fields
This fixes a "jump on uninitialized value" as reported by valgrind.
See evas_map.c:85:
  if (obj->map->cur.map->normal_geometry.x != x1) ch = 1;
2017-05-17 15:32:04 +09:00
Jean-Philippe Andre dab7c4d6e0 prefs: Remove some elm_prefs types from EO
Ref T5329
2017-05-17 15:32:03 +09:00
Jean-Philippe Andre f0d0686096 widget: Remove widget_callback_add/del from EO
Those APIs are not bindable with EO since they pass in a function
pointer. Luckily they are barely used.

Ref T5329
2017-05-17 15:32:03 +09:00
Jean-Philippe Andre daabd44520 elm_code: Fix invalid read of 1 byte
After end of string...
2017-05-17 15:32:03 +09:00
Jean-Philippe Andre 90de99eea6 elm_code: Fix use after free 2017-05-17 15:32:03 +09:00
Carsten Haitzler 0feb34927b edje_cc - use mem_alloc to fail and exit if alloc fails and fix err out
PVS sudio thought this was odd and it was a bit. not a real issue as a
mem alloc failure herw would still be fatal and simply a crash... as
opposed to a clean "out of mem" and fatal exit then...

error out eally was not finding originally allocated color and the
malloc should have been a mem_alloc() that guarantees a valid memory
return (or termintion of the process).

@fix
2017-05-17 15:04:01 +09:00
Carsten Haitzler 58a40d6f8a elm glview -> fix pvs studio caught typo in stencil bit mappings
this fixes CWE-570 on https://www.viva64.com/en/b/0508/

@fix
2017-05-17 15:04:01 +09:00
Carsten Haitzler d6d8d84b80 edje_cc docs - fix docs for vector images as it is wrong
it's images { vector: "x.svg"; } not vector { vector: "x.svg"; } ...

@fix
2017-05-17 15:04:01 +09:00
Carsten Haitzler 1d0b37a9e6 eo - eoid - finally rtemove option to not have eoid. it doesn't work
we use too many bits for metadata now so eoid is broken... remove it
as an option so people dont break out the foot guns
2017-05-17 15:04:01 +09:00
Sung-Jin Park f603001367 ecore_input: add ECORE_AXIS_LABEL_TOUCH_PALM enum
Summary:
Some of latest touchscreen devices can report if the tool in contact
is the palm of your hand and there is no axis label for this palm flag.
This adds ECORE_AXIS_LABEL_TOUCH_PALM enum as Ecore_Axis_Label type.

Test Plan: N/A

Reviewers: raster, cedric, jpeg, jypark, devilhorns, ManMower

Reviewed By: jpeg

Subscribers: JHyun

Differential Revision: https://phab.enlightenment.org/D4848
2017-05-17 10:39:43 +09:00
Jean-Philippe Andre 093938e5d9 win: Remove special class Efl.Ui.Win.Standard
All windows should be standard, really. Except when using legacy
elm_win_add() or if type_set() was called with a specific type.

I dislike type_set...

Ref T5322
2017-05-17 10:39:43 +09:00
Amitesh Singh 11a674ad7d Efl.Ui.Autorepeat: add 'autorepeat' prefix to methods.
Thanks to Dave for pointing out this.

Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-05-17 10:31:25 +09:00
Andy Williams ac076be75d elm_code: Add a save_as API call for writing buffers to a new file 2017-05-16 23:19:34 +01:00
Andy Williams eb04ab591c elm_code: Fix insertion of multiline content in widget
A small refactoring to reduce code duplication as well :)
2017-05-16 22:13:43 +01:00
Stefan Schmidt 75727592df examples: evas: fix else block by adding needed parenthesis
This was broken since over a year. Happened during the automatic eo4
migration in f21ade6123.

Thanks goes to the gcc warning misleading-indentation:

evas-3d-shadows.c:163:4: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
    else
    ^~~~
evas-3d-shadows.c:165:6: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘else’
      evas_canvas3d_node_look_at_set(scene->mediator, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 3.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 5.0, 0.0);
2017-05-16 21:58:35 +02: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 d974e708c2 evas: Remove unnecessary imports of evas_types
Ref T5312
2017-05-16 20:47:49 +09:00
Jean-Philippe Andre 9c494489e8 evas: Remove Efl.Canvas.Text.Annotation from evas_types.eot
This moves it to efl/interfaces which may not be the best...
@herdsman should know where to place this opaque definition.

Ref T5312
2017-05-16 20:47:49 +09:00
Jean-Philippe Andre 01d4886328 evas: Add seat arg to modifier/lock EO APIs
This now matches the new seat-related set of APIs present as EAPI.
2017-05-16 20:47:49 +09:00
Jean-Philippe Andre 4c81e0c5b9 evas: Remove Evas.Modifier from EO
Similar to the previous patch with Evas.Lock

Ref T5312
2017-05-16 20:47:48 +09:00
Jean-Philippe Andre 054aa012c4 evas: Use enum instead of string in Efl.Input.State
Ref T5312
2017-05-16 20:47:48 +09:00
Jean-Philippe Andre 64b90fd22e ecore_x: Fix build warning (invalid enum used) 2017-05-16 20:47:48 +09:00
Jean-Philippe Andre 83d1162171 evas: Remove Evas.Lock from EO
This is a step towards the removal of the modifier & lock API
as it is and use enums exclusively.

Ref T5312
2017-05-16 20:47:48 +09:00
Jean-Philippe Andre fe7f07615b evas: Move Efl_Gfx_Fill_Spread to legacy
This was never implemented and was translated to EO without
any implementation.
2017-05-16 20:47:48 +09:00
Jean-Philippe Andre c64f9ee235 evas: Move evas event info types to Evas_Legacy.h
This moves the following definitions from Common to Legacy:
 - Evas_Event_Mouse_Down
 - Evas_Event_Mouse_Up
 - Evas_Event_Mouse_In
 - Evas_Event_Mouse_Out
 - Evas_Event_Mouse_Move
 - Evas_Event_Mouse_Wheel
 - Evas_Event_Multi_Down
 - Evas_Event_Multi_Up
 - Evas_Event_Multi_Move
 - Evas_Event_Key_Down
 - Evas_Event_Key_Up
 - Evas_Event_Hold
 - Evas_Event_Axis_Update
2017-05-16 20:47:48 +09:00
Jean-Philippe Andre d682c3dfbb evas: Move Evas_Engine_Info to Evas_Legacy.h 2017-05-16 20:47:48 +09:00
Jean-Philippe Andre 1f13696b84 gesture: Use new EO API to grab Ctrl key
See previous commit
2017-05-16 20:47:48 +09:00
Jean-Philippe Andre 2d6f53f2b9 evas: Replace Evas.Modifier_Mask with Efl.Input enums
This removes Evas.Modifier_Mask from EO.

This introduces two new types instead:
 - Efl.Input.Modifier
 - Efl.Input.Lock

Those are enums, not strings, containing all the known and
currently supported lock and modifier keys. The enums are
bit masks.

This effectively removes the ability for an application to
create and handle specific modifier or lock keys - with EO
API (legacy compatibility is unchanged, of course). I wonder
who ever required this?
2017-05-16 20:47:48 +09:00
Jean-Philippe Andre fd35532d9e evas: Remove evas_key_modifier_mask_get from EO
Such an ugly API. This is an API to match a string to a number,
build a bitmask from it, and then use that. The supported
strings are well known (should be enum) and would need a
recompilation (ABI update) to support anything new anyway.
2017-05-16 20:47:47 +09:00
Jean-Philippe Andre 2fb5747fc9 elm: Add missing eo.c file for elm_button
This fixes a recently introduced crash in elm.
2017-05-16 20:47:47 +09:00
Amitesh Singh 68119700bb Efl.Ui.Autorepeat: Add efl autorepeat interface
Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-05-16 20:01:13 +09:00
Derek Foreman 88f328efd2 ecore_drm2: Clear next fb if we use it
Fixes a race that's either really hard to hit if you're a developer
or really easy to hit if you're a user.

Thanks to ApB for the debug assistance.

Fix T5484
2017-05-15 16:22:12 -05:00
Bryce Harrington ddfc6f0632 evas: Improve linespacing consistency
Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4879
2017-05-15 11:07:48 +02:00
Bryce Harrington cf30397737 ecore_evas: Omit redundant return info in doxygen
Summary:
These routines all already have a @return line that states the return
values appropriately; it's unnecessary to restate the return values in
the documentation text.

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4878
2017-05-15 11:07:07 +02:00
Jean-Philippe Andre be98868245 photocam: Fix invalid type in legacy header
Sorry, this temporarily broke the build of external apps.
2017-05-15 17:27:43 +09:00
Jean-Philippe Andre af3cb10185 evas: Remove Evas.Coord from EO
This may be a bit more controversial...
But Evas_Coord really is just an int and all the internals
of EFL assume that the base coordinate type is a 32-bit int.
So this type is a bit redondant and can't easily be changed
to, say, a float or int64.

Ref T5312
2017-05-15 17:26:42 +09:00
Jean-Philippe Andre a1abc129ec evas: Remove font_hinting from EO
We only need it in elm_config.
This removes the type Evas_Font_Hinting_Flags from EO,
as well as the functions font_hinting_set/get and
font_hinting_can_hint.

Ref T5312
2017-05-15 17:12:15 +09:00
Jean-Philippe Andre da229e34aa evas: Remove evas touch_point from EO
Note: it seems the EAPI evas_touch_point_list_xy_get() was
lst at some point, as it doesn't appear in the headers anymore.
It looks like we fail to catch an ABI break! abi_checker didn't
catch this!?

Ref T5312
2017-05-15 16:21:20 +09:00
Jean-Philippe Andre 9a251d6d5d evas: Remove Evas_Border_Fill_Mode from EO
Ref T5312
2017-05-15 15:07:43 +09:00
Jean-Philippe Andre f8473a2d19 evas: Remove Evas_Image_Orient from EO
Ref T5312
2017-05-15 15:05:14 +09:00
Jean-Philippe Andre f9ba9fa554 photocam: Move image_orient to legacy
This makes photocam implement Efl.Flipable and Efl.Orientation
in order to use the proper API.

image_orient is now split into two function calls.

Ref T5312
2017-05-15 15:05:14 +09:00
Jean-Philippe Andre e0ed9bb8b8 evas: Remove some types from EO
Those are legacy only.

Ref T5312
2017-05-15 15:05:10 +09:00
Jean-Philippe Andre 47b6db15c5 evas: Remove Evas_Callback_Type from EO
This moves the enum to legacy only, but in Evas_Common.h and not
Evas_Legacy.h because some other legacy things are in Evas_Common.h

Ref T5312
2017-05-15 10:29:23 +09:00
Jean-Philippe Andre cc82c48b73 elm_widget: Remove widget_event_propagate from EO
It is an internal only API.

Ref T5312 (one less use of a legacy type)
2017-05-15 10:29:23 +09:00
Jean-Philippe Andre 07263e881c evas: Remove Evas_Text_Style_Type from EO
It belongs to legacy only... Evas.Text is not part of EO.

Ref T5312
2017-05-15 10:29:23 +09:00
Jean-Philippe Andre 3df12eb690 evas: Remove Evas_Font_Size from EO
Ref T5312
2017-05-15 10:29:23 +09:00
Derek Foreman 51f5f43d43 ecore_drm2: Fix use after free
In trying to clean up some code and fix a hypothetical buffer leak, I added
a use after free error that can break rendering on the drm and gl_drm
evas engines.

Coverity did the heavy lifting for me on this one.

Fix Coverity CID 1375047
Fix T5484
2017-05-14 13:13:34 -05:00
Derek Foreman 1c60ac3bc9 ee_drm: Remove some commented out code
I think this was intended as a reminder to do something that's already
been done.  Or something.
2017-05-12 17:51:34 -05:00
Derek Foreman 44b57b5dfa ecore_drm2: Add some safety checks for accessing dead fbs
Accessing an fb after discarding it is bad karma, so we should log something
if it ever happens.
2017-05-12 17:51:34 -05:00
Derek Foreman edcbff59b7 ecore_drm2: refcount fbs
Removes the previous "busy" flag, as now we might have an fb attached to
multiple outputs at once, and need to be careful to destroy them only
after they've been removed from all outputs.

Removed the old "busy_set" API which nothing used, and renames fb_destroy
to fb_discard to make it more clear that it's not immediately destroyed.

It's all beta api, so I can do this.
2017-05-12 17:51:34 -05:00
Cedric BAIL 69b941f018 evas: simplify fb engine. 2017-05-12 15:24:45 -07:00
Cedric BAIL a660ee9e19 evas: simplify buffer engine. 2017-05-12 15:24:45 -07:00
Cedric BAIL 35e54acc46 evas: stat introducing a concept of engine and output in the backend. 2017-05-12 15:24:45 -07:00
Mike Blumenkrantz 68a3f43d1e ecore-wl2: add functions for proxying a selection receive externally
in some cases (e.g,, x11 bridged selections) it is necessary to use
alternate means when transferring a selection, and so performing the
entire piped receive is not necessary. instead, extend the lifetime
of the data offer until the proxied receive has completed

@feature
2017-05-12 12:08:26 -04:00
Mike Blumenkrantz 8afdbaba48 ecore-wl2: add function for setting a drag source's actions without a drag
in some cases it may be desired to have a drag data source without ever
initiating a drag, so ensure that it's possible to set the actions of the
source which will be passed for drag operations in this case

@feature
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz f6964f50e3 ecore-wl2: add function for accepting a single mime type
@feature
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 9f69882211 ecore-wl2: do not offer a null mime first in ecore_wl2_offer_mimes_set()
this seems to have been done to account for the case where no mimes were
passed, but sending null in this way is bad behavior for a client. the
spec indicates that null should be sent only when no mimes are accepted

@fix
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 2e5251b364 ecore-wl2: add events for changes in keymap, selection, and kbd repeat rate
@feature
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz d119fdded9 ecore-wl2: add 'cancelled' to Ecore_Wl2_Event_Data_Source_End
it's impossible to know the result of a drag operation without this
member
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 05fd3771e7 ecore-wl2: add display object to all events
this is required in order to determine which connection an event originated
from
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 1a7279f72e ecore-wl2: add const to internal function param 2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 4f2a8b8679 ecore-wl2: add seat id to most events
seat id is required in order to handle multiseat environments
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 31f98a6d81 elm_cnp: only attempt to manage wl selections which are created by elm_cnp
use serials of the selections and events to avoid mangling external selections
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 37ff7b43f1 ecore-wl2: emit serials in selection-related events
these allow apps to match the serial of their selection to the related
event in order to avoid mangling selections from other components
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz d51252a69e ecore-wl2: change selection setting apis to return the serial of the request
in the case where multiple places in an app may be handling selections, this
is necessary in order to manage the selections accurately

@feature
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 5869767355 ecore-wl2: remove ERR when trying to find the focused window id
this can trigger in the case where a selection transfer occurs and
no input resource has received an enter (e.g., the window is not focused)

@fix
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 00da1a771a ecore-wl2: correctly refcount display objects during events
ensure lifetime of display object is longer than events in which
the object is passed

@fix
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 8b6526eb7a ecore-wl2: add safety check in ecore_wl2_display_inputs_get()
ensure this is not called on server displays
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz ba2a76d7ab ecore-wl2: handle case where session recovery listener triggers on dead surface
@fix
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz f32cb9ea00 ecore-wl2: add function for checking if a client connection sync is done
@feature
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 7c9e3d2dbd ecore-wl2: add some accessors for useful Ecore_Wl2_Input struct members
@feature
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 44f22a250e ecore-wl2: split data offers into selection and drag
these are distinct objects and can coexist simultaneously; a drag
source should not overwrite an existing selection source

@fix
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 8afe0a7a6c ecore-wl2: store names for inputs and add api for retrieving name
@feature
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 6fc8ea3c4b ecore-wl2: add checks for a valid display object in ecore_wl2_input fns
no display = invalid object, so this needs checking
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 0d9a7a6d98 ecore-evas: account for framespace when processing mouse movement
in some cases (e.g., the mouse-out emission from the ee wl engine),
this was calculating wrong coordinates, which would lead to a broken
chain of events like:
  object mouse out -> object mouse in -> object mouse out
which would severely break some apps

@fix
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 2fabed3255 ecore-evas: add function for unsetting a specific seat's cursor
@feature
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 34999448c2 ecore: allow creation of fd handlers with no flags
it's possible to set flags to 0 with another function, so allowing
creation with 0 makes the api more consistent without breaking the
documented behavior
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 0eaa1a3fc2 elm_entry: request both text and markup when pasting
setting this to only markup means that it's impossible to paste into
an elm_entry from a plaintext app under wayland

@fix
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 3b51b3047f elm_cnp: don't explicitly set wl window type when starting drag
this is no longer necessary
2017-05-12 12:08:24 -04:00
Mike Blumenkrantz ef471e4eca evas: ensure even no-op renders emit RENDER_PRE
ref 67fae7aa0fdc9d778e8db88fc49bc149576994d2
2017-05-12 12:08:24 -04:00
Stefan Schmidt a3bd46d99f tests: win_dialog: remove unused variable 2017-05-12 13:21:24 +02:00
Carsten Haitzler 3a60246297 efl ui win -> add test for centering + fix center of window before show
we haven't gotten replies yet on what our position or size should be,
so we should store them so centering works before show but after
resizing is evaluated (that also fixed by forcing an eval).

@fix
2017-05-12 19:21:48 +09:00
Bryce Harrington a7c1edc44f efreet: Fix failure to save list data to output
Summary:
This fixes a typo in the fix 55676b33, which introduced an invalid early
return from the save_list function, preventing it from outputing the
list data to the file.

@fix CID1375005, CID1375004

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: stefan_schmidt, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4873
2017-05-12 11:08:30 +02:00
Jean-Philippe Andre 7e2e6e8aa4 evas gl: Fix typo and revert hack (GLES 3.1)
Omg... Thanks Daekwang Ryu for pointing me to my error. I remember
struggling a lot with this OpenGL API and libGLdispatch (glvnd) when
in fact this was all just a typo in the code.

GLES 3.1 and the upcoming 3.2 support need a proper test case...

See c68a409874

@fix
2017-05-12 16:34:38 +09:00
Shilpa Singh 442ab2bc67 elm_entry: Cursor disappears on calling select function in an empty entry.
Summary:
Issue: Selection cannot happen on an empty entry, if selection functions
are called on empty entry, cursor is hidden, even if entry is focused.
Soln: Check for whether entry is empty or not before proceeding with selection.

Test Plan:
1. Call select_all, select_region_set on a focused entry
2. You can observe cursor cannot be seen.

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4862
2017-05-12 15:10:37 +09:00
JinYong Park ef2f37cad1 popup: move "visible_set(FALSE)" before calling dismissed callback
Summary:
 After hiding animation is finished, "dismissed" callback will be called.
 It means popup's visible state is FALSE.
 But if evas_object_show(popup) is called in it's custom dimssed callback function,
 popup's visible state is TRUE, so evas_object_show is canceled.
 So visible_set(FALSE) is must done before call dimissed callback.

@fix

Reviewers: Hermet, herb, jpeg, cedric, singh.amitesh, raster

Reviewed By: jpeg

Subscribers: woohyun

Differential Revision: https://phab.enlightenment.org/D4869
2017-05-12 14:59:32 +09:00
JinYong Park 9df3685884 popup: enable to set last_button_number to 0
Summary:
If last added button is removed, any statements to set last_button_number in for loop doesn't be executed.
So last button number has previous value, not 0.
Because of that, action area is not removed, but that area has zero height, so it doesn't be shown.

@fix

Reviewers: herb, jpeg, cedric, singh.amitesh, raster

Reviewed By: jpeg

Subscribers: woohyun

Differential Revision: https://phab.enlightenment.org/D4870
2017-05-12 14:57:01 +09:00
Bryce Harrington 226c1cff82 evas: Revise documentation for evas_async_events*()
Summary:
Straightens up grammar and simplifies phrasing to make the functions
purposes clearer.

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4874
2017-05-12 14:46:55 +09:00
Bryce Harrington 9f9d2177bf examples/evas: Fix weird use of word synchrony in comment
Summary: 'keep in sync' is more familiar programmer jargon.

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4876
2017-05-12 14:42:29 +09:00
Bryce Harrington 34d28a93ae efl_ui_focus_manager: Fix misspellings in comments
Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4877
2017-05-12 14:42:04 +09:00
Bryce Harrington 6c2826db03 evas: Fix two whitespace errors
Summary:
Removes extraneous newline, and fixes the indentation of the while
statement's sub-clause (which looked like a code error at first
glance).

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4875
2017-05-12 14:41:49 +09:00
Youngbok Shin f97920816d evas textblock: fix dereferenced memory after free issue for ellipsis
Summary:
_layout_ellipsis_item_new() function deallocates "ellip_ti" and
allocates memory for new one. The local "ellip_ti" pointer should be
updated.
@fix

Test Plan: N/A

Reviewers: raster, cedric, herdsman, jpeg, woohyun

Differential Revision: https://phab.enlightenment.org/D4854
2017-05-12 14:34:13 +09:00
Jean-Philippe Andre c6d6e13060 evas map: Rename raw_coord to coord_absolute
This is more in line with the other "absolute" APIs.
2017-05-12 12:02:24 +09:00
Jean-Philippe Andre f1bb8c7ad9 elm_test: Add EO version of "Flip Page" test
This is a copy of the "Flip Page" map usage example that relies
on the new set of APIs for EO. This was used to test the API
and show its usage.

The calculation being done in absolute values, this does not
really exploit the new API, but instead proves that it is on
par feature-wise.

The performance is worse than with legacy, because of extra list
walkings, map calculations, small struct allocations and eo calls.
This fixes the shadow of the page which was broken with the legacy
API (as color_get did not recalc the map).

A better implementation can probably be done without having
to rely so much on absolute coordinates.
2017-05-12 11:59:16 +09:00
Jean-Philippe Andre 290f1893cd evas map: Reach feature parity with legacy API
I've done this by translating "Flip Page" to this new set of
EO APIs. In particular, absolute coordinates need to be used
in some calls, and the map needs to be calculated between
get and set operations.

This required an adjustment of the raw_coord API as the flip_page
code does some math after reading and then writing to the map.
Same for color. Those two properties now act like commands (ie.
like the other gfx map functions).

This also introduces a duplicate set of APIs to handle absolute
coordinates. Other solutions included:

 - Use an enum to specify the type of coordinates (but then the
   unit of cx,cy varies between non-unit relative position and
   pixel position. Also this adds an extra argument to all those
   function calls.

 - Pass a special value (an empty eo object) as the argument for
   pivot. Same remark about the unit as above. This way was
   deemed too confusing because of the weird object.

Those two options have been discarded after asking the opinion
of a few developers I could reach.

@feature
2017-05-11 18:02:31 +09:00
Jean-Philippe Andre 0a224da86f evas map: Introduce new API for maps (Efl.Gfx.Map)
This implements an entirely new API model for Evas Map by relying
on high-level transformations on the object rather than an external
Evas_Map structure that needs to be constantly updated manually.

The implementation relies on Evas_Map.

To rotate an object all you need to do now is
  efl_gfx_map_rotate(obj, 45.0, NULL, 0.5, 0.5);

Or with a C++ syntax:
  obj.rotate(45.0, NULL, 0.5, 0.5);

Or even simply (with default arguments):
  obj.rotate(45.0);

The map transformation functions are:
 - rotate
 - rotate_3d
 - rotate_quat
 - zoom
 - translate (new!)
 - perspective_3d
 - lightning_3d

@feature
2017-05-11 17:54:00 +09:00
Jean-Philippe Andre d111c6e1dd evas map: Replace EO APIs for populate with reset
Manual points population will eventually be useless as the
map API will become more like a transformation API, where
the current object geometry doesn't matter as much as which
transformation is applied to it.
2017-05-11 17:53:57 +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 5b4bb7f341 ecore_evas: Use proper enum values in axis events
Somehow the evas enum values were used instead of the ecore ones.
But I believe this is just a cosmetic change as their integral
values was the same.
2017-05-11 17:53:51 +09:00
Jean-Philippe Andre 70821182ff evas examples: Fix invalid assumption about proxy
In the map examples, the map image UV size was based on the image
source geometry, rather than the image geometry itself.

In the example, this affects how the glass is mirrored. Before this
patch, the reflection is a single line stretched. EFL 1.18 and 1.19
seem to have the same issue, while 1.17 simply fails to show any
reflection. 1.16 fails miserably and the entire window is black.

If the original code was correct, then I believe that map and/or
proxy rendering have been modified in a way that affects the meaning
of those image UV parameters. But this seems like the regression (if
it is one) is in fact quite old.

@fix
2017-05-11 17:53:51 +09:00
Jean-Philippe Andre a8ba44b708 edje: Fix shadow variable warning 2017-05-11 17:53:51 +09:00
Jean-Philippe Andre 83f243f51e mapbuf: Make point_color a property 2017-05-11 17:53:51 +09:00
Jean-Philippe Andre 6cd8811fe9 container: Remove method part_name_get
Remove this for now, as it may not apply to all contents.
Note that this was a new API in EO.
2017-05-11 17:53:50 +09:00
Stefan Schmidt 55676b335c efreet: free the allocated buffer before returning
This fixes the commit 169a08c03a (efreetd:
BSD optimizations). Coverity rightly pointed out six different leaks of
various buffers on error paths.

CID: 1374949 1374950 1374951 1374952 1374953 1374954
2017-05-11 09:34:53 +02:00
Derek Foreman 2653fd3fda gl_drm: Fix rendering problems with dmabuf
Somehow this long standing bug wasn't obvious until wayland 1.13.0 made
some additions to an opaque structure.

This changed the frequency that new buffers came to us with the exact
same pointer value of a buffer that had just been freed.

This shortcut in eng_image_native_set has always been wrong - we need to
proceed to the end to make sure we pick up new dmabuf attributes.
2017-05-10 16:24:11 -05:00
Al Poole 169a08c03a efreetd: BSD optimizations.
Summary: Related to ticket T5475.

Reviewers: raster, cedric

Subscribers: jpeg, cedric, raster

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-05-10 12:26:08 -07:00
Bryce Harrington c6212e6e67 examples/evas: Improve linespacing consistency
Summary:
Also fixes a handful of obvious indentation irregularities,
including some reformatting of some printf() multi-line indents that
commit a71b770b did not properly adjust.

No functional code changes.

Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4864
2017-05-10 11:03:38 +02:00
Bryce Harrington 0f5ab72ed0 ecore_evas: Improve linespacing consistency
Summary:
Adds a line between each function so it's more obvious what doc goes
with what API routine.  Reorganize the doxygen elements so they're
consistently ordered and spaced.

No code or documentation changes; mostly just whitespace.

Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4866
2017-05-10 10:49:17 +02:00
Cedric BAIL 4baeb17dba evas: adjust pointer mode set to work in headless scenario.
With the wayland backend, it is posible to have no seat connected
until later. This would lead to calling evas_object_pointer_mode_set
and fail without returning a boolean it was impossible to detect it
did fail. This patch correct it.
2017-05-09 15:54:45 -07:00
Cedric BAIL 688cbeae97 evas: make sure that even when nothing is rendered there is a pair of RENDER_PRE and RENDER_POST events generated. 2017-05-09 15:40:14 -07:00
Jean Guyomarc'h d340d85a1f ecore_evas: fix link issue on macOS
696ed3e2e8 introduced a build failure on
macOS. _ecore_evas_subregister is being used in a foreign code module,
but it was not exported. Enforcing EAPI gives this symbol enough
visibility to be used outside of ecore_evas.
2017-05-09 21:29:11 +02:00
Jean Guyomarc'h 9ac6ad4943 ecore_input: suppress warning (unused parameter) 2017-05-09 21:29:11 +02:00
Prasoon Singh 9c62ab525b eina: fix for escapable charachters not getting escaped if it comes after '\t' or '\n'
Summary:
Escaping is not happening whenever any escapable characters is coming after
'\t' or '\n'. It will also fix invalid read of 1 byte which happens for string where
last charachter is '\t' or '\n' like "eina\t".

Test Plan:
Take a string like "eina\t ". Observe space which is followed by tab is not getting
escaped.

Signed-off-by: Prasoon Singh <prasoon.16@samsung.com>

Reviewers: shilpasingh, rajeshps, govi, cedric

Reviewed By: shilpasingh

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-05-09 10:37:16 -07:00
thierry E 07024ab6c8 ecore_x: add function to show and hide X cursor.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-05-09 10:15:02 -07:00
thierry E 71c8f1de27 ecore_x: handle DPMS state for a more accurate idling evaluation.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-05-09 10:15:01 -07:00
Chris Michael f160d41539 ecore-evas-wayland: Remove unused variable
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-09 11:47:04 -04:00
Chris Michael af587c01cb ecore-drm2: Add start of refcounting for FB objects
Small patch which starts to implement refcounting on framebuffer
objects. This will be needed so that we do not free FB objects while
they are on the screen.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-09 11:47:04 -04:00
Derek Foreman 544cffaa19 ecore_drm2: Move test for atomic_req into atomic flip path
We ended up doing an occasional atomic ioctl when we shouldn't.
This should be a harmless failure, but it's also a pointless one.
2017-05-09 10:34:33 -05:00
Derek Foreman 8067b0146a ecore_drm2: Fix dmabuf fb destroy
I missed the fact that it'd run through the existing non-gbm path on
destroy, resulting in a (probably harmless) bad ioctl
2017-05-09 10:34:33 -05:00
Bryce Harrington cee4d928cf examples/evas: streamline the intro description statement for examples
Summary:
For people browing through the examples, having the opening statement be
concise and consistent will help them more quickly find what they're
looking for.

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>

Test Plan:
Some of the examples had identical opening statements (e.g. the image
object examples).  I've tried to give each a unique description defining
what they are demonstrating, but you may want to doublecheck I got these
correct.  Of particular note, to me evas-images5.c looks like just a
fixup to evas-images4.c, so I'm not sure what makes these two distinct.

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-05-08 15:26:07 -07:00
Bryce Harrington 06425007f7 evas: fix typos in Evas Text docco
Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-05-08 15:23:23 -07:00