Commit Graph

64 Commits

Author SHA1 Message Date
Vincent Torri ac6528c9ec Windows: fix copy'n paste
Summary: fix seat id and clean cnp data when needed

Test Plan: Ctrl-c and Ctrl-V (elm-->app, app--> elm elm-->elm)

Reviewers: jptiz, walac, cochisecesar, bu5hm4n, felipealmeida, raster

Reviewed By: felipealmeida, raster

Subscribers: netstar, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12166
2020-10-06 10:18:32 +02:00
Marcel Hollerbach 13d52be7e6 ecore_evas: fix leaks in macos and win32
memory is duplicated in eina_content_new.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11641
2020-04-06 09:05:05 +02:00
Vincent Torri e0f5e80f78 fix segfault when there is no text in clipboard
Test Plan: cnp a clipboard content without text

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11565
2020-03-26 10:47:34 -04:00
Xavi Artigas 7a79e15ea3 ecore_evas: Use EFL naming convention in cnp & dnd methods
Some methods were missing the "Drag" or "Selection" namespaces or the _Cb suffix.
Depends on D11219

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

Reviewers: raster, zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11439
2020-03-08 11:01:15 +01:00
Marcel Hollerbach 39f3ce42dc ecore_evas: Introduce cnp / dnd API for ecore evas
The idea of copy and paste here is:
- The user specifies the content he wants to have in the selection
  buffer with a Eina_Content, these content pointer ownerships are
  passed to the called. Internally ecore_evas code will memorieze the
  pointer, and pass on function callbacks to the modules, which then do
  not have to deal with the ownership.

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

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

(The docs needs improvement)

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11192
2020-03-08 10:59:25 +01:00
Vincent Torri 7a882ab02c ecore_evas win32: fix warning reported by clang
Test Plan: compilation

Reviewers: zmike, raster, cedric, Hermet

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9025
2019-05-27 15:58:51 +09:00
Mike Blumenkrantz 4d62d59978 ecore-evas-win32: set draw_block until the window receives a configure event
Summary:
drawing a window before receiving a configure event results
in an unsized window, breaking spec. it also prevents ecore-evas resize
callbacks from triggering, yielding undefined returns from functions which
attempt to get the geometry of the ecore-evas

ref T6907

@fix

Depends on D6033

Reviewers: vtorri

Reviewed By: vtorri

Subscribers: cedric

Maniphest Tasks: T6907

Differential Revision: https://phab.enlightenment.org/D6034
2018-05-02 15:57:26 -04:00
Cedric Bail a44697c37a ecore_evas: refactor logic for creating Ecore_Evas. 2018-04-02 15:12:31 -07:00
Vincent Torri d54f0f66cf Evas: remove depth usage in GDI and DirectDraw engines
Test Plan: compilation and elementary_test

Reviewers: raster

Reviewed By: raster

Subscribers: cedric, raster

Differential Revision: https://phab.enlightenment.org/D5792
2018-02-07 22:20:20 +09:00
Prince Kumar Dubey cb4a17ab22 ecore_evas: preprocessor flag "BUILD_ECORE_EVAS_SOFTWARE_GDI" is not closed properly, if not defined, leads to build break.
Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: rajeshps, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-13 12:05:43 -07:00
Vincent Torri c2abb9a946 ecore_evas: win32 module - fix possibly uninitialized variables
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-08-14 10:16:59 -07:00
Derek Foreman aa8d9c1829 ecore_evas: Add a function pointer for last_tick_get
Engines that provide their own tickers may need to be able to provide the
time of the last tick even if they weren't sending ticks to EFL at the
time.

This is a feature added during freeze as it's necessary to resolve a bug.

ref T5462
2017-07-13 18:07:42 -05:00
Derek Foreman e69cc0f552 ecore_evas engines: Add some nulls to the func arrays
Purely cosmetic, but gets the comments back in sync with reality.
2017-07-13 18:07:41 -05:00
Vincent Torri 937a0d6411 Ecore_Evas win32 module: fix memory leak 2017-07-09 13:34:19 +02:00
Vincent Torri bdb62b6bbe Add ecore_win32_cursor_show() API and ecore_evas_win32_cursor_(un)set() functions
This fixes double mouse cursor in elm entries on Windows (for example)

@feature
@fix
2017-07-09 13:34:09 +02:00
Jean-Philippe Andre e8f9f109a6 evas: Rename device Class to Type, remove Sub_Class
1. The word "class" is a pain point with many languages where
   it's a keyword. Type is a little better. Also, the property
   was already named "device_type" and not "device_class".

2. Remove Efl.Input.Device.Sub_Class
   It's not used inside EFL upstream codebase, and unlikely to
   be used anywhere else (even in Tizen).

Hopefully no one used the Efl_ enum types. So far only the Evas_
types should be in used.

Ref T5540
2017-06-12 15:21:55 +09:00
Mike Blumenkrantz 1e6e5047be ee engines: update engines for per-seat cursor objects
ref 5856d3b52f6124ad5b4cfe47b21f28ab6f380002
2017-06-02 18:23:42 -04:00
Vincent Torri 94509a3d86 Ecore_Evas (Win32): add geometry_get() method and fix dpi_get(), using the new API in Ecore_Win32.
This fixes fullscreen feature in Elm on Windows as the geometry of the desktop
was not known.

In case of multiple displays, the desktop, where the window is displayed, is used for fullscreen.

@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-05-08 15:09:11 -07:00
Cedric BAIL 122c34b2ce ecore_evas: refactor win32 backend to use generic render infrastructure. 2017-05-08 15:04:09 -07:00
Cedric Bail 11cf280cfa ecore_evas: first step into refactoring win32 backend. 2017-05-05 17:55:06 -07:00
Vincent Torri cf2786a849 ecore_evas: fix test in the hide callback in Windows module
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-04-27 09:56:23 -07:00
Vincent Torri 540de0e254 Ecore_Evas: use window states and event property to fix ecore_evas_fullscreen_set()
This implies that elm_win_fullscreen_set() is also fixed

@fix
2017-04-26 15:07:38 +09:00
Vincent Torri 24c756b9f2 Ecore_Evas: clean up Windows module 2017-04-26 15:07:29 +09:00
Guilherme Iscaro 044219226c Ecore Evas: Add support for multiple mouse positions.
Since it's possible to have more than one mouse, Ecore Evas
must take into account the position of all mouses and update them
correctly.
2016-12-20 18:34:39 -02:00
Guilherme Iscaro e5acc5604a Ecore Evas: Add support to set cursor icon per mouse device.
Since Ecore Evas now supports multiple mouses new APIs were added
in order to be able to set the cursor image to any device.
2016-12-20 18:34:39 -02:00
Guilherme Iscaro 64986bccac Ecore Evas: Add API to set/get the pointer position per device.
Since Ecore Evas now support multiple mouse devices new APIs were
added in order to fetch the mouse position.
2016-12-20 18:34:39 -02:00
Guilherme Iscaro 75619fc290 Ecore Evas: Add multi seat support for mouse in/out. 2016-11-28 13:57:55 -02:00
Guilherme Iscaro be609118c6 Ecore_Evas: Add support for per-seat focus. 2016-11-28 13:57:55 -02:00
Derek Foreman 398771bf8a evas_engines: Add fn_evas_changed callback
To allow using the pageflip completion event to drive timing in the DRM
engine we need to know as soon as possible that a render has been after
a render has been considered if it will cause a page flip or not.

The fn_evas_changed callback sends this information.
2016-09-08 13:55:23 -05:00
Jean-Philippe Andre 5aa00004a5 ecore_evas: Register direct input cb from modules
If the ecore_evas modules were using
ecore_event_window_register() then they can also redirect
everything though the direct callback instead.
2016-05-31 19:03:04 +09:00
Cedric BAIL bb1a1eef65 ecore_evas: introduce support for per window animator trigger.
This code is currently only using the older fallback code and not any
new event source, so all animator on all window are still triggered
whatever the case are.
2016-02-02 10:47:25 -08:00
Tom Hacohen f48a420886 Ecore win32: Fix compilation.
Broke in commit 015040d13f.
Please compile check before pushing.
2015-09-30 13:22:53 +01:00
ChunEon Park 015040d13f ecore_win32: fix the mouse out behavior.
Current win32 let the mouse out regardless of mouse down status.
This is not quitely same with the x system so widget behaviors were not properly working.
Make the widget behaviors about mouse-out same to x window system
to keep the same behaviors on all window system always.

@fix
2015-09-30 20:31:30 +09:00
ChunEon Park 882e29b9ae ecore_win32: code refactoring.
replace to ECORE_CALLBACK_PASS_ON from 1 for readability.
2015-09-30 20:28:45 +09:00
Vincent Torri 0ccd43615f Ecore_Evas GDI engine: free module data 2015-07-23 14:05:33 +01:00
Cedric BAIL ce5ccfb5be ecore: remove the need to order the header correctly for Windows. 2015-05-07 09:53:10 +02:00
Mike Blumenkrantz 38f1f9c5f2 ee-win32 probably might compile now
<vtorri> bad Mike !
<vtorri> the name of the function is not good, so compilation fails on Windows
<vtorri> remove 'object' in the name of the definition of the function :)

@fix
2015-02-12 16:21:52 -05:00
Mike Blumenkrantz 7171135792 ecore evas should not crash when unsetting pointer
ref D812

disappointed.jpg
2015-02-06 17:54:08 -05:00
Mike Blumenkrantz 6a934f703c ee engines should not crash when re-setting the same title/name_class
@fix
2015-01-22 14:39:10 -05:00
Carsten Haitzler 5954289c6c ecore_evas - ecore_evas's should start withdrawn then normal on show
this fixes initial state of an ee where you couldn't detect when the
window had been accepted by the wm (goes to normal state from
withdrawn).

@fix
2014-10-29 19:34:33 +09:00
Cedric BAIL 201d9b567d windows: make those warning explicit about what they imply. 2014-06-27 17:00:23 +02:00
Cedric BAIL 2d1431b8f9 ecore_evas: remove warning from Windows backend. 2014-06-27 13:24:12 +02:00
Chris Michael edb1202a84 ecore-evas: Fix formatting and remove whitespace
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-06-25 13:20:49 -04:00
Chris Michael 87af84c3e3 ecore-evas: Fix cursor position getting reset to 0,0 when using
ecore_evas_cursor_object_set

NB: Previously, if we mad calls to ecore_evas_cursor_object_set to update the
mouse cursor hotspot, the mouse cursor would be repositioned at 0,0 on
the canvas due to x & y being set to 0,0. We fix that here by fetching
the current mouse position Regardless if we are changing the object or
not (ie: perhaps we are just updating the hotspot and not the object)

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-06-25 13:20:49 -04:00
Carsten Haitzler 662fbe5ede it seems the if 0'd code was wrong and ecore win32 doesnt support nocursor 2014-04-03 19:57:07 +09:00
Carsten Haitzler 165efe2254 ecore-evas - fix object cursor to not delete the same cursor when set
this fixes a misbehavior with ecore evas object cursors when you set
one, the old one is deleted, but if the old is the same, the new one
you set gets deleted, rather than just updated.

@fix
2014-04-02 20:47:28 +09:00
Gwanglim Lee cbf6f94c80 ecore_evas: Added support for window auxiliary hint
Summary:
The window auxiliary hint is the value which is used to decide
which actions should be made available to the user by the WM. If you
want to set specific hint to your window, then you should check whether
it exists in the supported auxiliary hints that are registered in the
root window by the window manager.

Once you've added an auxiliary hint, you can get a new ID which is used
to change value and delete hint. The window manager sends the response
message to the application on receiving auxiliary hint change event.

A list of auxiliary hint within the Ecore_Evas has this format:

  ID:HINT:VALUE,ID:HINT:VALUE,...

Reviewers: raster, cedric, seoz, Hermet

Reviewed By: raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D543
2014-02-28 07:20:01 +09:00
Gwanglim Lee 77092d94d4 ecore_evas: added window manager rotation to manage the rotation of windows by the WM.
Summary: The window manager rotation allows the WM to controls the rotation of application windows. It is designed to support synchronized rotation for the multiple application windows at same time.

Reviewers: raster, seoz, cedric, Hermet

Reviewed By: raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D529
2014-02-09 09:46:51 +09:00
ChunEon Park 892b1c5be3 ecore_evas - applied macro to check rotation state.
also, let the potrait compare on the higher priority.

if you can suggest better macro name, then please modify it.
2014-01-18 22:26:10 +09:00