Commit Graph

154 Commits

Author SHA1 Message Date
Seunghun Lee b10ab1a86f ecore-drm: added drm launcher that is allow to determine whether to launch with logind or root privilege.
Summary:
- allow to launch drm backend without systemd-logind with root privilege.
- allow to open drm device node via logind, not directly open it, in case exist systemd-logind.
- fixes issue that couldn't switch session, because ecore-drm couldn't drop master to drm device with no permission. (allow to switch session appropriate.)

Reviewers: gwanglim, devilhorns

Subscribers: torori, cedric

Differential Revision: https://phab.enlightenment.org/D1704
2014-12-09 09:36:42 -05:00
Mun, Gwan-gyeong d1b8d52e0e evas/gl_drm: add native surface for wayland_egl_client.
Reviewers: zmike, devilhorns, cedric, gwanglim

Reviewed By: cedric, gwanglim

Subscribers: jpeg, torori, cedric

Differential Revision: https://phab.enlightenment.org/D1507
2014-12-04 17:59:30 +09: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
Chris Michael 15c6eab519 ecore-evas-drm: Fix formatting
NB: No functional changes, just cosmetic

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-08 11:35:17 -04:00
Chris Michael b31c66ab84 ecore-evas-drm: Set the ecore_drm_device reference in the engine data
Summary: Since we have a field inside the engine info structure to
store a reference to the Ecore_Drm_Device, then let's set it.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-08 11:33:04 -04:00
Chris Michael 39db828aad ecore-evas-drm: Fix calling ecore_drm_device_find twice in some cases
Summary: If no device name was passed in to ecore_drm_device_find
function, then if we fail to find the default drm device on the first
call, there is No point in calling the same function again to get the
same result.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-23 15:09:47 -04:00
Chris Michael 11237fd858 ecore-evas-drm: Implement ecore_evas_pointer_xy_get for drm engine
This implements ecore_evas_pointer_xy_get for the drm engine, However
this is simply using evas_pointer_output_xy_get for the moment because
I need to add ecore_drm functions for getting pointer position.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-15 11:44:10 -04:00
Chris Michael bbd6822c7c ecore-evas-drm: Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-15 11:23:03 -04:00
Stefan Schmidt dc7910a7ef ecore_evas/drm: Clarify error message if given device is not found.
While it is bad that the given device is not found we fall back here
to the default one. Still good to mention it in the error message as
it can be confusing when we read that the device could not be found
be it still works.
2014-09-08 16:21:24 +02:00
Stefan Schmidt bff3bee8a5 evas/drm: Remove now obsolete tty and own_tty struct members
We used these when expedite was using evas directly without ecore_evas.
That changed and we can now leave tty custody to ecore_evas and ecore_drm.
2014-09-05 15:55:08 +02:00
Chris Michael c3e2750408 ecore-evas-drm: Remove extra blank space in parameter
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-04 15:49:17 -04:00
Chris Michael f2bc4ff4b8 ecore-evas-drm: Remove dead comment
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-04 11:18:23 -04:00
Chris Michael e7707a859f ecore-evas-drm: Add function to return screen geometry
This adds the ecore_evas function pointer for
ecore_evas_screen_geometry_get. This will be used from the drm
compositor to return the current screen geometry.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-04 11:18:23 -04:00
Chris Michael 8eb9ae418b ecore-evas-drm: Fix misplaced #ifdef from gl_drm patch
This #ifdef does not belong here. The interface_new functions Is Still
Used for normal drm ecore_evas.

Bad Gwanglim, no cookie ;)

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-28 16:01:28 -04:00
Gwanglim Lee 00382bb6a6 gl-drm: Fix missing link to gbm for ecore_evas_drm and clean up build script
@fix

Summary:
This fixes following build script problems for ecore_evas_drm engine module.

1. Missing link to gbm for ecore_evas_drm if '--enable-gl-drm' option is given.
ecore_evas_drm engine is using gbm function if it builds with that config option.
To be more exact, ecore_evas_gl_drm_new_internal function needs gbm.
Thus we need to add gbm library linking '-lgbm' to ecore_evas_drm engine module
if '--enable-gl-drm' option is given. I've added this build script to
m4/ecore_check_module.m4 file.

2. Wrong gbm dependency check code in configure.ac
EFL_OPTIONAL_INTERNAL_DEPEND_PKG m4 macro function is designed for checking
dependency of efl internal libraries. Thus we should remove gbm pkg name when
configuring ecore_evas_drm engine module. It would be better to move dependency
check for gbm to m4/ecore_check_module.m4 file. And one more thing want_drm
value has to be changed to want_gl_drm in ECORE_EVAS_MODULE([gl-drm]...).

3. BUILD_ECORE_EVAS_OPENGL_DRM macro is always defined in configure.ac.
This kind of macro, BUILD_EFL_MODULE_NAME, has to be defined only if given module
is enabled. But this macro value was just defined with no test.
And it is even useless, we can use BUILD_ECORE_EVAS_GL_DRM macro which is defined
by ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}],...) function.
So I've removed that from configure.ac.

Test Plan:
1. Configure with --enable-gl-drm:
  $ ./autogen.sh --enable-drm --enable-gl-drm
2. Build:
  $ make && make install
3. Check module.so of ecore_evas_drm engine whether it has a library dependency with gbm:
  $ readelf -a $EFL_GIT/src/modules/ecore_evas/engines/drm/.libs/module.so | grep NEEDED

Reviewers: raster, stefan_schmidt, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1379
2014-08-28 13:37:28 -04:00
Mun, Gwan-gyeong f5b8109397 evas: add evas gl-drm engine
Summary: This is the first step to introduce a gl-drm backend.

Test Plan: "ecore evas" create with ecore_evas_gl_drm_new(). It creates "ecore evas" with gl_drm evas backend.
@feature

Reviewers: raster, Hermet, cedric, devilhorns

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-08-21 12:04:53 +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 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
Chris Michael 8db2db06cb ecore-evas-drm: Enable vsync by default for ecore_evas drm engine
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-04-01 07:09:49 +01:00
Chris Michael 86258cd165 ecore-evas-drm: Add better support for ecore_evas_fullscreen_set
@bugfix: This fixes ecore_evas_drm to function properly when
ecore_evas_fullsreen_set is called. This is needed for running
Elementary apps 'standalone' in drm.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-04-01 07:09:49 +01:00
Carsten Haitzler 4da1081c4d drm - shut up warnings (not actual bugs) 2014-03-22 19:12:07 +09:00
Chris Michael 6f66369710 ecore-evas-drm: Add support for setting aspect of ecore_evas
@feature: This adds support for ecore_evas_aspect_set to the drm engine

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 11:23:49 +00:00
Chris Michael bd13b46e25 ecore-evas-drm: Add support for alpha & transparent setting
@feature: This adds (preliminary) support for ecore_evas_alpha_set and
ecore_evas_transparent_set

NB: This is just the function placeholders and does not actually
implement transparency yet

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 11:21:02 +00:00
Chris Michael c0e3f73391 ecore-evas-drm: Add support for maximized, fullscreen, withdrawn, and
ignore_events settings

@feature: This adds support for: ecore_evas_maximized_set,
ecore_evas_fullscreen_set, ecore_evas_withdrawn_set, and
ecore_evas_ignore_events_set functions to the drm engine

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 11:11:23 +00:00
Chris Michael b95174b21d ecore-evas-drm: Add support for ecore_evas_borderless_set
@feature: This adds support for setting the ecore_evas to borderless

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 11:00:32 +00:00
Chris Michael a6bf2e3535 ecore-evas-drm: Add support for ecore_evas_iconified_set
@feature: This adds support for ecore_evas_iconified_set in ecore_evas
drm engine.

NB: This does not actually iconify the ecore_evas yet tho

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 10:52:10 +00:00
Chris Michael 11de8bfae1 ecore-evas-drm: Add support for ecore_evas_layer_set
@feature: This adds support for ecore_evas_layer_set function used to
set the layer of the ecore_evas

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 10:50:26 +00:00
Chris Michael 2ed6452286 ecore-evas-drm: Add support for ecore_evas_object_cursor_set
@feature: This adds support for setting an Evas_Object as the cursor
to use on the ecore_evas

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 10:48:16 +00:00
Chris Michael 467ad3119e ecore-evas-drm: Add support for setting size hints
@feature: This adds support for ecore_evas_size_min_set (and other
size hint functions).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 10:42:19 +00:00
Chris Michael de8b2e735a ecore-evas-drm: Add support for ecore_evas_name_class_set
@feature: This adds support for setting the name & class of the
ecore_evas

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 10:38:36 +00:00
Chris Michael 69adb7a44e ecore-evas-drm: Add support for setting the title of the ecore_evas
@feature: This adds support for setting the title of the ecore_evas
with ecore_evas_title_set

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 10:33:38 +00:00
Chris Michael d42f16a603 ecore-evas-drm: Add support for rotation set
@feature: This adds support for ecore_evas_rotation_set function and
updates the Evas rotation accordingly

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 10:30:44 +00:00
Chris Michael 5e8b33c1f3 ecore-evas-drm: Add support for ecore_evas_move_resize
@feature: This adds support for the ecore_evas_move_resize function
and calls the appropriate internal functions for this ecore_evas

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 10:27:02 +00:00
Chris Michael 34b6657b0e ecore-evas-drm: Add support for ecore_evas_move function
@feature: This adds support for updating the ecore_evas location when
ecore_evas_move is called, and also calling any "move" function of the
ecore_evas.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 10:23:55 +00:00
Chris Michael 2baf8c4d76 ecore-evas-drm: Add support for setting the mouse in & mouse out
callbacks of the ecore_evas

@feature: Add support for setting the callback functions to call when
the ecore_evas gets mouse in or mouse out events

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 10:20:43 +00:00
Chris Michael 2a5d168323 ecore-evas-drm: Add support for setting focus_in & focus_out callbacks
@feature: Add support for setting the focus in & focus out callbacks
of the ecore_evas.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 10:18:58 +00:00
Chris Michael d33d4c86a0 ecore-evas-drm: Add support for resize and move callbacks
@feature: Add support for setting the resize and move callbacks of the
ecore_evas

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 10:16:55 +00:00
Chris Michael 18c40befc0 ecore-evas-drm: Fix setting of the ecore_evas property window and
register the prop.window for events.

@fix: ecore_evas_window_get expects an Ecore_Window to be returned so
we cannot use a void pointer in ecore_drm_device_window_get.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 09:12:57 +00:00
Chris Michael 7d5600ffb4 ecore-evas-drm: Fix printing of device name error message
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-12 10:43:44 +00:00
Chris Michael 33b475c74c ecore-evas-drm: Remove FIXME comment
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-12 10:29:34 +00:00
Chris Michael ca701a5ff2 ecore-evas-drm: Try to find a drm device with the given name
If we are given a drm device name, tell ecore_drm to try and find That
device. If it is not found, we fallback to the default drm device.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-12 10:25:36 +00:00
Chris Michael baedf0223a ecore-evas-drm: If not device name is passed in, use the device name
from drm.

This assigns a name to the ecore_evas. If no device name was passed
in, we will get the device name from the drm card.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-12 10:17:00 +00:00
Chris Michael 456e6f20e0 ecore-evas-drm: Set window to receive input events
After we have setup ecore-drm, we need to tell it where to send any
input events, so call the ecore-drm API function to set the window.
Also feed mouse_in to the canvas after creation, so that it gets focus.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-10 12:40:31 +00:00
Chris Michael c403035e1d ecore-evas-drm: Add initial code to make ecore_evas render using drm
NB: This is still a work-in-progress and not complete yet

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-10 12:40:31 +00:00
Chris Michael 46f6ef0ccc ecore-evas: Include Ecore_Drm header
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-06 12:38:06 +00:00
Chris Michael b184d140a2 evas-drm: Set Magic on the Ecore_Evas
@bugfix: Set magic on the ecore_evas

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-02-28 13:08:44 +00: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
Chris Michael d22a4c6ef9 Ooops, this should return the allocated Ecore_Evas.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-14 11:30:37 +01:00
Chris Michael dd364de99d Start on basic ecore_evas_drm code.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-14 10:49:14 +01:00
Chris Michael 817284fb96 Add start of ecore_evas_drm code.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-14 10:49:14 +01:00