Commit Graph

12907 Commits

Author SHA1 Message Date
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 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 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 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 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
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 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 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
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 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 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 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