Commit Graph

48 Commits

Author SHA1 Message Date
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
Guilherme Iscaro ca53a21504 Ecore Evas Cocoa: Properly unregister the window events.
Fix T4624
2016-10-10 14:20:48 -03: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 Guyomarc'h 1f69a7cfa7 ecore_evas_cocoa: better handling of resize callback 2016-06-05 12:12:02 +02: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
Thiep Ha 9c204eb369 ecore_evas_cocoa: correct focus handlers
Focus handlers are set incorrectly.
It causes windows process focus when they are acttually unfocused.
This patch corrects it.

Signed-off-by: Thiep Ha <thiepha@gmail.com>
2016-03-15 08:15:05 +09:00
Jean Guyomarc'h deb553d55e ecore_cocoa: remove Ecore_Cocoa_Event_Window
Create specific structures for each event:
- Ecore_Cocoa_Event_Window_Focused
- Ecore_Cocoa_Event_Window_Unfocused
- Ecore_Cocoa_Event_Window_Destroy

They are currently hold the same data, but this will allow not to break
the event protocol when future extensions will be needed.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-03-02 13:56:28 -08:00
Jean Guyomarc'h 3b61c2e07c ecore_cocoa: better naming of events
Lost and got focused have been renamed FOCUSED and UNFOCUSED to mirror
the focus API in Elementary.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-03-02 13:56:20 -08:00
Jean Guyomarc'h 84bbe500c5 ecore_cocoa: replace Ecore_Cocoa_Window_Id by Ecore_Cocoa_Object
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-03-02 13:56:16 -08: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
Jaehyun Cho 91d9e7f83c Revert "ecore_cocoa: add support for system cursors"
This reverts commit 4623d57762.
This commit is duplicated with 2c93c73cbd.
2015-12-11 14:28:33 +09:00
Jean Guyomarc'h 4623d57762 ecore_cocoa: add support for system cursors
- Ecore_Cocoa_Cursor enum which references system cursors;
- API to show/hide cursor: ecore_cocoa_window_cursor_show();
- API to set system cursor: ecore_cocoa_window_cursor_set();
- Ecore_Evas interface to get Ecore_Cocoa_Window from Ecore_Evas.

@feature

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-03 12:07:20 -05:00
Jean Guyomarc'h 2de19485ac ecore_evas_cocoa: factorize code
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-01 12:15:32 -08:00
Jean Guyomarc'h eba4ff041a ecore_evas_cocoa: remove dead code
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-01 12:15:32 -08:00
Jean Guyomarc'h 1ab2b14cfb ecore_cocoa: remove ECORE_COCOA_EVENT_EXPOSE
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-01 12:15:32 -08:00
Jean Guyomarc'h e8fe721cd5 ecore_evas_cocoa: focus: handle ignore_events
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-01 12:15:31 -08:00
Jean Guyomarc'h 566184078a ecore_evas_cocoa: don't reset the init count if negative
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-01 12:15:31 -08:00
Jean Guyomarc'h 09d6dc2775 ecore_evas_cocoa: use Eina macro to determine the size of a static array
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-01 12:15:31 -08:00
Jean Guyomarc'h cbc989a0cb ecore_evas_cocoa: don't shutdown ecore_event_evas() twice
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-01 12:15:31 -08:00
Jean Guyomarc'h dccec92ecb ecore_evas_cocoa: EAPI cannot be set for WIN32
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-01 12:15:31 -08:00
Jean Guyomarc'h ca171d59ec ecore_evas_cocoa: remove dead code
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-01 12:15:31 -08:00
Jean Guyomarc'h 2c93c73cbd ecore_cocoa: add support for system cursors
- Ecore_Cocoa_Cursor enum which references system cursors;
- API to show/hide cursor: ecore_cocoa_window_cursor_show();
- API to set system cursor: ecore_cocoa_window_cursor_set();
- Ecore_Evas interface to get Ecore_Cocoa_Window from Ecore_Evas.

@feature

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-01 12:15:31 -08:00
Nicolas Aguirre aab530e347 ecore_cocoa/evas_gl_cocoa: fix indent, remove printf, and add DBG messages
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-11-09 10:42:34 -08:00
Nicolas Aguirre e9c2d07696 ecore_evas_cocoa: use the same render function as ecore_evas_x
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-13 15:40:00 -07:00
Cedric BAIL ce5ccfb5be ecore: remove the need to order the header correctly for Windows. 2015-05-07 09:53:10 +02:00
pierre lamot 59532c7d96 ecore_cocoa: add missing window state functions
implement missing window state functions:

  * raise
  * lower
  * activate
  * iconified_set
  * withdrawn_set
  * move

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-17 10:42:51 +01:00
pierre lamot ca3bd69485 ecore_cocoa: add functions to allow min/max window size
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-17 10:42:51 +01:00
pierre lamot c80f527dbc ecore_evas: rewrite render loop to conform with other engines.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-17 10:42:51 +01:00
pierre lamot 6ea9b476ad ecore_cocoa: release resources on window close event
@fix this patch:

catch the window close event from cocoa and send an ecore event
this event is catched by a handler in ecore_evas wich will
call the registered fn_delete_request (from elementary for instance)

/!\ this patch is currently incomplete and leads to a segv when
closing the last window

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-17 10:42:51 +01:00
Romain Perier 422178b216 ecore_evas: add support for multiple windows to cocoa backend.
Each new Ecore_Evas was already stored into the evases container, however only
the first one was returned and used from events handler, which is not correct if
the application uses multiple windows. This commit adds support to handle
Ecore_Event_Cocoa_Window event type from event handlers and modify
_ecore_evas_cocoa_match() to find the right Ecore_Evas associated with the window
indentifier passed throught Ecore_Event_Cocoa_Window.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-12 07:43:58 +01: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
Jean Guyomarc'h c03876d611 ecore_cocoa: NSRunLoop integration
Summary: Get rid of the old NSApplicationLoad() which was aimed to be use with Carbon. Unless the NSRunLoop is strictly integrated to the ecore_main_loop() (where cocoa events would be checked when entering the ecore_main_loop) I think the poller is the only option left.

Reviewers: raster, naguirre, raoulh, stefan_schmidt, cedric

@feature

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-09-03 20:34:57 +02:00
Jean Guyomarc'h be077f079d ecore_cocoa: Introduce canvas resizing + warning fixes
Summary: Add support for canvas resizing: the window was resizable but its content was not resized.

Reviewers: raster, raoulh, naguirre, cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1163
2014-07-10 20:04:24 +02:00
Raoul Hecky 0df6a85056 ecore_cocoa: make engine works again 2014-06-18 11:34:07 +02:00
Nicolas Aguirre 795f97e22a ecore_evas: fix warnings in Ecore_Evas Cocoa. 2014-06-18 11:34:06 +02:00
Nicolas Aguirre 5885bfcb2e ecore_evas: use Eina_List to store Ecore_Evases and return the first one when asked for a match. 2014-06-18 11:34:06 +02: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 fb59ac34a1 ecore_evas - use eina_bool instead of the char for interal data. 2014-01-13 14:26:36 +09:00
ChunEon Park f111c8da6d ecore - clean up code.
fix indentation and use Eina_Bool instead of char.
2014-01-11 18:19:43 +09:00
Cedric Bail 32661a5ac4 ecore_evas: re-order inclusion of header to fix compilation on Windows.
It is a very tricky things to get header order right on windows. Having that
order only in .c files simplify the work a lot. So let's try to do it with
Ecore_Evas after it rewrite and split into modules.
2013-03-12 15:58:43 +09:00
Jiyoun Park c5a8a6b5ff Add infrastructure to handle message between ecore and parent ecore in Ecore_Evas
I add new example related with this. (ecore_evas_extn_socket & plug example)
ecore extn use this infrasturcture, server app and client app can communicate each other
later, this can be used to contorl access message


SVN revision: 83942
2013-02-15 09:32:40 +00:00
Flavio Vinicius Alvares Ceolin ad7579c129 ecore_evas: Make the engines loadable modules
Implementing support for loadables modules. It makes the engines been
loaded when they are needed. It not breakes the api, so each engine
still has its own api.

The implementation basically is:

* Functions that creates Ecore_Evas, for example
  ecore_evas_software_x11_new, request to load its module and then get
  the module's function to create the Ecore_Evas.
* The other functions such as \(.*\)_window_get from the Ecore_Evas
  its interface and then call the appropriate method.
* As there is no unified interface to communicate with the engines
  (not break api problem), all interfaces were declared in
  ecore_evas_private.h
* Now the data necessary for each module is not declared in the
  Ecore_Evas_Engine structure, instead of this, the struct has a void
  pointer that is used by the modules.
* In this first moment engines as software_x11 and gl_x11 were put
  together in the same module, but obviously exporting all the things
  necessary.


SVN revision: 80280
2012-12-05 21:15:42 +00:00