Commit Graph

154 Commits

Author SHA1 Message Date
Chris Michael 8d97b8b204 ecore-evas-drm: Implement ecore_evas_screen_dpi_get for drm canvas
Small patch to implement support for ecore_evas_screen_dpi get on the
drm canvas. This will be used in enlightenment (e_scale) to get the
screen dpi of the compositor canvas when we call e_scale_update.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-28 10:09:41 -05:00
Derek Foreman f2fa8f67f5 ecore_evas_drm: Fix render freezes
Missed setting pending to true in one of the paths, this resulted in
an extra pageflip being scheduled too soon and returning EBUSY.

This was more likely to happen on slow systems, and is hopefully the last
remaining cause of render freeze on the RPI3.
2016-11-21 16:23:03 -06:00
Derek Foreman 24608d9950 ecore_evas_drm: Stop errant page from flip handler
This was required due to bugs elsewhere, and could potentially cause
stutters in display.  Now that we don't need it we're better off without.
2016-11-16 14:26:58 -06:00
Derek Foreman 8611aa83bc ecore_evas_drm: Don't do a flip if we know a frame is coming
If the async renderer is running then something's going to trigger a
pageflip naturally, and if we do one now we'll block it.
2016-11-16 14:26:58 -06:00
Chris Michael c58de1ce1d ecore-evas-drm: Fix call to drmHandleEvent
As we don't compile-time link to libdrm anymore, we need to make a
call to ecore_drm2_event_handle in order to process drm events.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-15 08:42:07 -05:00
Derek Foreman 20f52cd607 ecore_evas_drm: Fix bugs in pending tracking
This has been dead wrong for a while but only recently became a
showstopper when another bug was fixed that made this one manifest.
2016-11-14 14:30:11 -06:00
Derek Foreman bf7814aca0 ecore_evas_drm: Use timestamp from pageflip event for animator time
Should be more accurate this way.
2016-11-14 14:12:58 -06:00
Cedric BAIL 8215d9832c ecore: introduce adjusting main loop time on animator. 2016-11-14 11:53:01 -08:00
Carsten Haitzler b07cc74107 evas drm engine - fix build if gl not enabled for drm engine build
this fixes the build after a derek b0rk :)
2016-09-09 19:21:53 +09:00
Derek Foreman 0f534dc3bd ecore_evas_drm: Use pageflips, not vblanks, to drive animation
This should sort some timing problems.
2016-09-08 13:55:24 -05:00
Derek Foreman b4cbf860b9 ecore_drm2: Add a page flip completion call
Add a function for ecore_evas_drm to call after a page flip happens so
ecore_drm2 can track busy status for fbs itself (including for the fb
that's currently being flipped to scanout)

Also, call the completion function from ecore_evas_drm
2016-09-08 13:55:24 -05:00
Derek Foreman ce7991b993 ecore_drm2: Implicitly set buffer busy status when flipping
This simplifies other code that shouldn't need to deal with this.
2016-09-08 13:55:23 -05:00
Derek Foreman 794798f559 ee_drm: Move all ticking into ecore_evas_drm and use new tick system
Combines all the gl_drm and drm ticking code into one set in
ecore_evas_drm and uses the new evas tick register/unregister callbacks
to set it up.
2016-09-08 13:55:23 -05:00
Derek Foreman 316ca09b0d ecore_evas_drm: Refactor common code
ecore_evas_gl_drm_new_internal and ecore_Evas_drm_new_internal are huge
functions differing in very few lines.  Combined them.
2016-09-08 13:55:23 -05:00
Derek Foreman 31de16d408 ecore_evas_drm: check for libglapi presence first
Minor refactor
2016-09-08 13:55:23 -05: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
Chris Michael fb569d7eb0 ecore-evas-drm: Re-enable direct input callback
As it seems the jpeg breakage is over wrt direct input callbacks, we
can re-enable these for the drm engines

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-06-13 16:19:46 -04:00
Chris Michael e01ac62e5f ecore-evas-drm: Disable direct input callback
For ecore_evas drm engine(s), disable setting of
ecore_event_window_direct_callback as this Completely Breaks all input
when running Enlightenment Wayland.

NB: This can likely be re-enabled at some point, when the jpeg
breakage is over ;)

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-31 09:49:43 -04:00
Chris Michael 1ca1f8b06d ecore-evas-drm: Register direct input callback for gl_drm also
@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-31 09:23:20 -04: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
Chris Michael 593961c2e2 ecore-evas-drm: Fix issue of mouse pointer not centering on startup
This patch fixes an issue where starting Enlightenment would not
center the mouse pointer. Basically the issue is that we cannot warp
the mouse pointer until After the ee->prop.window has been set else
E will not process the mouse_move event

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-27 11:57:53 -04:00
Mike Blumenkrantz da8bcbc7c6 ecore-drm2: update to latest elput 2016-05-27 11:57:53 -04:00
Chris Michael 93178199a6 ecore-evas: Port ecore_evas drm engine to use Ecore_Drm2 library
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-27 11:57:53 -04:00
Derek Foreman d53e1d6748 ecore_evas_drm: enable pointer warping
Use ecore_drm_device_pointer_warp() to warp the pointer
2016-02-18 15:50:16 -05: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
Chris Michael 479bf37aec ecore-evas-drm: Cleanup drm outputs during shutdown
As we no longer cleanup outputs inside the ecore_drm_device_free
function (see previous commit), we should be cleaning up outputs here
as they are created during the _ecore_evas_drm_init function.

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-21 09:24:06 -05:00
Derek Foreman 943f2df006 ecore_drm/ecore_wl2: logging: remove errant usage of %m
Summary:
printf %m stringifies and prints errno.  I've tried to remove its use
anywhere that the immediately preceding function might not set errno
or is a complicated function for which knowing errno doesn't really
give any useful information.

I've left a few of the drmMode calls because they're just wrappers
around ioctl, which legitimately sets errno.

@fix

Reviewers: zmike, devilhorns

Reviewed By: zmike, devilhorns

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3572
2016-01-14 13:06:02 -05:00
Chris Michael 85b04c188a ecore-evas-drm: Send fake mouse_move event after registering
This fixes an issue where ecore_drm was sending an initial mouse_move
event too early in the startup process. Instead, we will send the
event from Ecore_Evas after it has been registered with Ecore_Input.
This is done here to address and Fix T2854.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-17 15:55:41 -05:00
Mike Blumenkrantz 2a7d4d62db ecore-evas drm: null global device pointer after free
ref T2844

@fix
2015-11-16 14:11:18 -05:00
Chris Michael b8ebd5b356 ecore-evas-gl-drm: Don't create software dumb buffers when using gl
Summary: If we are rendering using gl_drm, then we don't need to be
creating extra software dumb buffers.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-04 09:43:35 -05:00
Chris Michael 444926923f ecore-evas-drm: Use GBM_FORMAT_XRGB8888 when creating new canvas
Summary: With linux kernels >= 4.2.x, we need to use
GBM_FORMAT_XRGB8888 when creating a new canvas else we end up with a
format mismatch when trying to add the framebuffer

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-02 09:30:19 -05:00
Chris Michael 49442d5615 ecore-evas-gl-drm: Disable async rendering for EGL
Summary: Disable async rendering for EGL engine as EGL is sync only.
This fixes gl_drm engine to work (in my tests) using ecore_evas
example apps.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-06 09:39:36 -04:00
Chris Michael 7d6b142ca7 ecore-evas-drm: Default to GBM_FORMAT_ARGB8888
Summary: Seems some platforms (my setup here at least) don't have EGL
configs which suppose GBM_FORMAT_XRGB8888, so default to ARGB

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-17 10:19:29 -04:00
Chris Michael 35e7d36489 ecore-evas-drm: We don't need to feed mouse events here
@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-05 10:00:45 -04:00
Chris Michael 493e751882 ecore-evas-drm: Use XRGB format for gl_drm canvas
@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-05 10:00:44 -04:00
Chris Michael 39c28cbe8e ecore-evas-drm: Update ecore_evas_drm for recent evas gl_drm changes
Summary: Previous Ecore_Evas drm code would create the gbm device and
surface inside the gl_drm function. As these are now handled inside
the evas-gl-drm engine itself, this code is not needed here.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-05 10:00:44 -04:00
Cedric BAIL ce5ccfb5be ecore: remove the need to order the header correctly for Windows. 2015-05-07 09:53:10 +02:00
Chris Michael 92fc46cc16 ecore-evas-drm: Fix issue of fullscreen surfaces not getting focus on show
Summary: This fixed T2349 where elm apps would not get initial focus
on show when running via drm. This also addresses the issue of always
sending the state_change event even when not an override.

NB: Thanks to bu5hm4n for reporting ... and even providing a potential fix ;)

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-21 13:44:36 -04:00
Chris Michael f6c5550946 ecore-evas-drm: Use new Ecore_Drm functions to get properties of the output
Summary: This makes use of the newly added Ecore_Drm API functions to
get information about the output so we can setup the Evas engine
properly

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-10 11:09:51 +02:00
Chris Michael 6257127d0c ecore-evas-drm: Setup Ecore_Drm_Device for software rendering
Summary: If we are using the software version of ecore_evas_drm, then
make API call to setup the Ecore_Drm_Device for software rendering.
This creates the dumb buffers on the Ecore_Drm_Device.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-10 11:09:50 +02:00
Chris Michael da80ee8cc2 ecore-evas-drm: Fix function call to ecore_evas_pointer_xy_get for drm
engine

Summary: This changes the ecore_evas_pointer_xy_get function call (on
drm engine) to use the new ecore_drm_device_pointer_xy_get so we can
center mouse pointer on an output at startup.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-03-04 11:49:44 -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
Chris Michael b53e125640 ecore-evas-drm: Fix improper shutdown sequence
Summary: As the launcher code now uses some fields from the
Ecore_Drm_Device, we need to free the device After the launcher has
been disconnected.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-26 08:37:09 -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
Chris Michael bb8b00b956 ecore-evas-drm: Init outputs before inputs so that input devices can
have a pointer to outputs

Summary: In order to limit pointer motion, we need to assign an Output
to each Input device. In order to accomplish that, we need to
initialize Outputs first

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-13 10:35:52 -05:00
Chris Michael 2cae004592 ecore-evas-drm: Fix formatting
Summary: No functional changes, just formatting cleanup

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-07 09:52:34 -05:00
kabeer khan 200a9f3421 ecore_evas_drm: Added support for initial rotation in ecore_evas_drm
Summary:
Resolved FIXME added support for initial rotation in ecore_evas_drm initialisation

@fix

Signed-off-by: kabeer khan <kabeer.khan@samsung.com>

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1837
2015-01-07 09:51:19 -05:00
Chris Michael 5eb11e1285 ecore-evas-drm: Perform shutdown in proper order
Summary: This fixes an incorrect order with shutdown of drm library.
Sprites are created (during init) before inputs, so they should be
shutdown After inputs are.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-06 11:10:44 -05:00
Chris Michael 68ede67850 ecore-evas-drm: Fix up error handling
Summary: Due to the change of order in creating outputs & inputs, we
need an additional goto error for destroying inputs if output_create
fails

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-12-10 12:01:59 -05:00
Chris Michael 61d03472a4 ecore-evas-drm: Create inputs before we create outputs
Summary: Call function to create drm input devices Before we create
outputs. This is done so that when outputs Do get created, it will
update the input's known size of output for device coordinate
transformation

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-12-10 12:01:59 -05:00
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