Commit Graph

229 Commits

Author SHA1 Message Date
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 7fe34af84b ecore-evas-wayland: Remove unused function & declaration
Remove unused function and it's declaration. This function is not
being called from anywhere anymore, so it's no longer needed.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-10 13:58:20 +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 58c5edd9af ecore-evas-x: Fix resource leak from eina_str_split_full usage
@bugfix: This fixes Coverity CID 1188012

Coverity reported resource leak from eina_str_split_full return which
was only being freed if the number was > 0. This is incorrect as
eina_str_split_full will still allocate the array and thus it should
be freed.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-05 14:36:39 +00:00
Chris Michael 8e48e864ae ecore-evas-x: Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-05 14:32:15 +00:00
Gustavo Sverzut Barbieri ecc5fa3379 ecore_evas/fb: implement screen_geometry_get()
Sometimes it is useful to query screen geometry (more often size) to
do some metrics as finding the proper theme in my case. As this call
works for X11 and others, let's make it work for framebuffer as well.
2014-03-05 10:20:27 -03: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
Gustavo Sverzut Barbieri 9804bba503 ecore_evas_fb: allow to force tslib even if mouse was handled.
sometimes a device may have a mouse connected but the primary use is
via touchscreen, then we force ecore_fb_ts_init() with
ECORE_EVAS_FB_TS_ALWAYS=1
2014-02-20 20:12:22 -03:00
Carsten Haitzler 199fb20fe4 ecore-evas - sdl module - limit to 1 window at a time
this should fix T693 and only allow 1 sdl window at any one time iwht
the sdl ecore-evas engine/module. it's simply invalid to use more than
one window with it.
2014-02-18 17:52:16 +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
Jérémy Zurcher 45340521f9 ecore_evas_wayland_common: fix compilation, missing bits of 892b1c5 2014-01-19 19:41:27 +01: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
ChunEon Park 8cd92c17e0 Revert "ecore_evas - use the macro orthogonal check."
This reverts commit 43acf1e82f.

some partial changes are incorrectly applied.
2014-01-18 22:04:25 +09:00
ChunEon Park 43acf1e82f ecore_evas - use the macro orthogonal check. 2014-01-18 21:53:56 +09:00
Stefan Schmidt 384783a896 ecore_evas_win32: Fix build regression in ecore evas win32 engine
Regression introduced with fb59ac34a1
Simple typo during Eina_Bool convertion.
2014-01-13 13:36:28 +01:00
Chris Michael 7b83985d7e Unbreak ecore_evas wayland engines:
Val variable is not declared here. Use the variable 'on' which was
passed in to this function.

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2014-01-13 07:52:24 +00:00
ChunEon Park fb59ac34a1 ecore_evas - use eina_bool instead of the char for interal data. 2014-01-13 14:26:36 +09:00
Daniel Juyung Seo d4a3b9a233 ecore_evas_x: Call _ecore_evas_x_sync_clear() after
_ecore_evas_x_gl_window_new() to ensure eglDestroySurface is called
before XDestroyWindow call.

In case of gl engine, eglDestroySurface should be called before
XDestroyWindow.
Special thanks to Changwoo Kim <ce2010.kim@samsung.com> for the idea.
2014-01-12 17:22:40 +09:00
Daniel Juyung Seo 15b6bd99ef ecore_evas_x: Fix gl_sync_draw_done initialize routine to handle
exceptional case.

As ECORE_EVAS_GL_SYNC_DRAW_DONE is an environment variable, that could
have unexpected value like 2 or 3. So set gl_sync_draw_done to 1 only
when the env variable is 1.
2014-01-12 17:01:02 +09:00
Daniel Juyung Seo 881f4e9c75 ecore_evas_x: Refactor/flourish gl_dync_draw_done member from Ecore_Evas
structure.

- moved gl_sync_draw_done for a better structure packing.
- changed gl_sync_draw_done type from int to char which is enough.
- added more description to gl_sync_draw_done
2014-01-12 16:37:30 +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
Daniel Juyung Seo 7566c5bbb7 ecore_evas_x: Refactored by reducing cascaded if statements.
Just return the function. Do not create unnecessary cascaded if
statements it makes indentation depth deeper.
2014-01-08 23:32:43 +09:00
Daniel Juyung Seo 96fe10ba68 ecore_evas_x: Check 1 for gl_sync_draw_done instead of 0 before sending comp_sync_draw_size_done.
There was a corner case which gl_sync_draw_done is set to -1. So send
comp_sync_draw_size_done when the gl_sync_draw_done is not 1. It can be -1 or 0.

This is a manual cherry-pick from tizen.org.
Thanks to original author Jiyoun Park.

commit 4be6c821df4ccd418dbe44f7e6fecbcd7dd66d74
Author: Jiyoun Park <jy0703.park@samsung.com>
Date:   Thu Jul 4 18:04:11 2013 +0900

    fix lockup issue (N_SE-44214)
    because this sync draw done cannot be send

    Change-Id: Id05978e925d5b44d6ca9af0a1684bbb255b9ec5b
2014-01-08 23:32:43 +09:00
Daniel Juyung Seo e5bfbedfa2 ecore_evas_x: Fixed formatting and added an empty line for a better readability. 2014-01-08 23:32:43 +09:00
Carsten Haitzler e8c13118eb fix mingw build for setuid fix/checks 2014-01-08 22:06:41 +09:00
Carsten Haitzler b95ef3801f setuid safeness - ensure if an app that is setuid doesn't do bad things
this makes efl ignore certain env vars for thnigs and entirely removes
user modules (that no one ever used) etc. etc. to ensure that *IF* an
app is setuid, there isn't a priv escalation path that is easy.
2014-01-08 19:46:23 +09:00
Cedric Bail 3e302e7e61 ecore_evas: extn - restore missing symbol that resulted in a temporary ABI break.
Thanks to Albin and Debian tools to have spotted that.

- cherry-pick me -
2014-01-04 11:23:47 +09:00
Carsten Haitzler 7a46449191 ecore-evas - x11 - call resize callback if wm denies resize request
in SOME cases a wm may deny a resize request entirely and keep the
window size the same. it does so with a configurenotify of the SAME
size as before. problem is we never passed this onto the app with a
resize callback of the original size before request to the new size.
this does that now.

cherry-pick me!
2013-12-30 13:43:49 +09:00
Gustavo Sverzut Barbieri fc05567c8f extn: remove files.{w,h} that are not used. 2013-12-20 13:10:38 -02:00
Gustavo Sverzut Barbieri a2baca3270 extn: remove unused attribute am_server. 2013-12-20 13:09:52 -02:00
Gustavo Sverzut Barbieri 4f4f662a40 extn: complete with NULL newly added functions. 2013-12-20 13:08:51 -02:00
Gustavo Sverzut Barbieri c7fed5d879 extn: fix typo, alpha is SHM_REF2, not 1! 2013-12-20 12:59:13 -02:00
Daniel Juyung Seo c4b7f83ef6 ecore_evas: removed author's name from source code as the author requested it.
Git log should be enough for the credit :)

This code was merged into efl upstream by devilhorn's aggressive synchronization between efl upstream and tizen.
But that commit didn't have the author's credit.
However We will never forget the contribution of Gwanglim Lee <gl77.lee@samsung.com>.
2013-12-18 23:49:06 +09:00
ChunEon Park 0947bae126 ecore/ecore_x - show the window if the window should be visible.
when the window alpha mode is changed, the x window is re-created.
but if the window is going on the show state(not visible yet but waiting for visible from xserver) this window never be visible.
so here it make the window visible also if the window is going on the visible state.
2013-12-17 20:37:17 +09:00
Rafael Antognolli cb3fcca0e7 ecore_evas/wayland: Update withdrawn property, and inform state_changed. 2013-12-09 08:26:24 -02:00
Chris Michael 13caf63420 Fix opaque windows becoming transparent after hide() then show().
This fixes Phab #T611. Previously, windows which were opaque would
become transparent after being hidden and then shown. We fix that by a
call to ecore_wl_window_alpha_set when the window gets shown. This
patch also brings the wayland_egl hide code more inline with the shm
hide code by testing if the surface does not match the existing one.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-12-09 07:35:16 +00:00
Chris Michael 1ac5a89957 Add code to deal with min, max, step, aspect, and base sizes.
Properly fix efl wayland elm window resize problem.

This adds support for min, max, step, aspect, and base size properties
when resizing a canvas under EFL Wayland.

This Also Properly fixes raster's report for EFL Wayland elm windows not
resizing properly. Previously, when resizing an elm window in wayland,
a portion of the window would draw outside the frame.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-12-05 11:52:37 +00:00
Chris Michael 8f21dfe06b Set engine aspect function pointer
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-12-05 11:52:37 +00:00
Chris Michael a36b1641d9 Add common function prototype for setting ecore_evas aspect ratio
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-12-05 11:52:37 +00:00
Chris Michael ae7fd6fac0 Fix raster bug report about elm window resize issue (content drawing
outside the window).

Be sure that the EEs requested geometry gets updated in our
common_resize function After min/max have been taken into account.

Elm is using ecore_evas_request_geometry_get in it's resize_job code
(Why...I have no clue lol. Does not seem like a good thing to check).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-12-04 11:32:45 +00:00
Chris Michael 231790c7cb Update the engine resize edge before we call ecore_wl_window_resize
Ecore_wl_window_resize essentially tells the shell to start the resize
process. We should have the evas engine info's resize_edge updated
Before we start that process so that Evas knows where the resize is
occuring from

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-12-04 11:32:45 +00:00
Rafael Antognolli 615d5ab634 ecore_evas/wayland: Add a function to cleanup the frame callback.
This callback must be manually destroyed and removed on
ecore_evas_hide(), because it won't be delivered anymore after the
surface is destroyed. If the callback still exists, the engine will find
it and avoid doing a new redraw until it is finally called.

Maybe the correct thing to do is to keep this callback in the
Ecore_Wl_Window struct, and have some functions to set/unset it, so it
gets destroyed when the window is hidden. Or when the surface is
destroyed.
2013-12-02 17:54:29 -02:00
Rafael Antognolli 77a4654470 ecore_evas/wayland_egl: Unset the surface on window hide.
We must unset it, so the Evas engine knows that it has to do all the
setup to destroy the EGL surfaces associated with it. And in the case of
an ecore_evas_show, recreate everything again.
2013-12-02 17:52:00 -02:00