Commit Graph

57 Commits

Author SHA1 Message Date
Rafael Antognolli 508585c48b ecore/wayland: Consider the framespace offset for the pointer object.
We have to subtract the framespace offset from the current set pointer
object, otherwise it will have that offset added to it when
evas_object_move() is done on it. This happens because the pointer
object has no parent, and is not marked with the flag "is_frame".

SVN revision: 78972
2012-11-07 16:12:18 +00:00
Rafael Antognolli 76f067b9fb ecore/wayland: Implement the object_cursor_set method for wayland.
This allows to specify an Evas_Object (e.g. an edje object) as cursor
theme.

SVN revision: 78971
2012-11-07 16:12:14 +00:00
Eduardo Lima (Etrunko) 8a014153d4 Wayland_SHM: Add listener to frame callback
This is the method necessary to synchronize Wayland and Evas rendering, similar
to vblank sync that is used in X11. This solves the Wayland SHM render issues
(tearing effect) without the need to add double buffering to the engine.

In a near future, the SHM implementation will feature double (or triple)
buffering and this syncrhonization mechanism will be changed to be optional.

Patch based on the work started by Robert Bradford on ticket #1280
http://trac.enlightenment.org/e/ticket/1280

Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>



SVN revision: 77580
2012-10-08 14:22:17 +00:00
Eduardo Lima (Etrunko) 352926829e Ecore_Evas: Share code between SHM and EGL
implementations

Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>



SVN revision: 77579
2012-10-08 14:09:53 +00:00
Eduardo Lima (Etrunko) c76d15436b Wayland_SHM: Remove unecessary initialization
Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>



SVN revision: 77375
2012-10-03 16:30:45 +00:00
Eduardo Lima (Etrunko) 536114dd46 Ecore_Evas: Fix Wayland engine includes
Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>



SVN revision: 77373
2012-10-03 16:30:28 +00:00
Christopher Michael 1e3f4b329c Ecore_Evas (wayland): Add missing close.
SVN revision: 77100
2012-09-26 19:26:24 +00:00
Christopher Michael a37ddfb283 Ecore_Evas (wayland): Remove goto. (don't need them, don't want them)
;) Also, remove an extra blank line that got in there.



SVN revision: 77099
2012-09-26 19:01:04 +00:00
Eduardo Lima (Etrunko) 1750a5a144 Wayland_SHM: Simplify code for buffer creation
Removed unecessary ensure_pool_size function move the checks to _pool_create.

Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>



SVN revision: 77097
2012-09-26 18:42:47 +00:00
Eduardo Lima (Etrunko) 617b6f62dc Wayland_SHM: new functions for freeing SHM buffer and
pool

_ecore_evas_wl_buffer_free() and _ecore_evas_wl_shm_pool_free() were added,
avoid repeating the same calls everywhere.

Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>



SVN revision: 77096
2012-09-26 18:41:57 +00:00
Christopher Michael be452d83c9 Ecore_Evas (wayland): Do not allow windows to be resized below their
desired min/max properties. Fixes ticket #1244



SVN revision: 75308
2012-08-16 08:03:20 +00:00
Christopher Michael fb2819c4fd Ecore_Evas (wayland_shm): Fix toggling alpha and transparent state on and off.
When we are using alpha, we need to create the buffer using ARGB so we
will destroy the old buffer and recreate with the new alpha format
because currently all windows are created using XRGB8888 by default.



SVN revision: 75307
2012-08-16 07:29:37 +00:00
Christopher Michael eb016fe9ad Ecore_Evas (wayland_shm): Fullscreen mode bug fixes
Only take min & max properties into account if the window is not fullscreen. 

Be sure to call update_size before we attach the buffer, as the buffer attach 
code makes use of the allocated size to damage the surface.

Add trapping for fullscreen window in the configure callback. This
(along with coming commits) allows us to actually do fullscreen now :)

During window configure, when we check for maximized, we should check
to be sure it is not fullscreen also before adjusting window size.



SVN revision: 75293
2012-08-15 10:55:35 +00:00
Christopher Michael cfe7431256 Ecore_Evas (wayland): When we maximize windows, account for framespace
width and height so the window does not draw outside the output
dimensions. Fixes ticket #1281




SVN revision: 75005
2012-08-08 10:09:49 +00:00
Christopher Michael baa604b736 Ecore_Evas (wayland): Patch from Robert Bradford to fix a small bug in
the ecore_evas fullscreen code.

Previously, fullscreening was only done if the ecore_evas was visible.
This patch allows to specify an ecore_evas be fullscreen before it is
displayed.



SVN revision: 74774
2012-08-02 06:24:47 +00:00
Christopher Michael ac66f47334 Ecore_Evas (wayland): Account for framespace width & height when
resizing the Ecore_Evas.



SVN revision: 74566
2012-07-30 09:53:43 +00:00
Christopher Michael 7ca653e1d8 Ecore_Evas_Wayland: Add code to handle the ecore_evas_screen_dpi_get
function recently added. NB: This only gets the xdpi currently from
ecore_wayland.



SVN revision: 73352
2012-07-05 14:09:32 +00:00
Carsten Haitzler 1e8520050d ecore evas gets func to get dpi and frix x screen size get.
SVN revision: 73341
2012-07-05 12:51:05 +00:00
Christopher Michael 33681aa35f Ecore_Evas Merge Tizen changes to upstream EFL.
SVN revision: 73206
2012-07-03 07:44:17 +00:00
Christopher Michael be3784dab9 Ecore_Evas (wayland_shm): Reduce processing overhead by not feeding a
mouse_move when we feed an in/out.



SVN revision: 71733
2012-06-06 08:16:36 +00:00
Christopher Michael be66a4e03b Ecore_Evas (wayland_shm): Add support for ecore_evas_move_resize
engine function.



SVN revision: 71452
2012-05-28 12:19:17 +00:00
Christopher Michael 732cf1db22 Ecore_Evas (wayland_shm): Quiet down output and set alpha & rotation
on initial ee setup.



SVN revision: 71202
2012-05-17 13:56:37 +00:00
Christopher Michael f579ef7a35 Ecore_Evas (wayland_shm): Apply patch from Robert Bradford
<robert.bradford@intel.com> to refactor shm pool allocation function,
and adjust pool calculation.



SVN revision: 71145
2012-05-16 07:44:43 +00:00
Christopher Michael 17e6403345 Ecore_Evas (wayland_shm): After some testing, it actually is better to
only damage the portions that change (for the case of rendering).



SVN revision: 71123
2012-05-15 14:30:57 +00:00
Christopher Michael 0f45670b50 Ecore_Evas (wayland): Support for setting shell_surface title & class
in wayland compositors. Added alpha support for wayland_egl. Support
evas output rotation in wayland_egl. Don't move/resize windows in
wayland_egl unless sizes actually change. Included patch from Robert
Bradford <robert.bradford@intel.com> for vertical/horizontal mouse
wheel scrolling.



SVN revision: 71108
2012-05-15 12:01:46 +00:00
Christopher Michael 97f7c0acd9 Ecore_Evas (wayland): Fixes for moving/resizing efl wayland clients.
SVN revision: 70444
2012-04-24 17:01:59 +00:00
Christopher Michael e0f7350f1b Ecore_Evas (wayland_shm): Calculate shm pool size based on output size.
SVN revision: 70283
2012-04-17 21:56:03 +00:00
Christopher Michael 9081734c1d Ecore_Evas (wayland_shm): Allocate the shm_pool according to output
size. Don't set the engine destination until we have created the pool
& buffer.



SVN revision: 70159
2012-04-12 20:46:48 +00:00
Christopher Michael 54f67d668e Ecore_Evas (wayland): Update ecore_evas_wayland engines to match
recent changes in ecore_wayland. Implement the wl_shm_pool interface
also for wayland_shm engine.



SVN revision: 69998
2012-04-10 17:02:24 +00:00
Christopher Michael 651d301b69 Ecore_Evas (wayland): Be sure to call 'iterate' if this is the first
initialize of ecore_wl (needed for running clients under the Weston
Compositor). Remove extra flush call when rendering.



SVN revision: 69708
2012-03-29 01:28:28 +00:00
Christopher Michael 5d861aad45 Ecore_Wayland: Remove dependency on egl (handled in compositors).
Handle 'axis' events from multi-touch devices (also handles mouse
wheel).
Remove wl_buffer_damage calls (obsolete in newest wayland).

NB: This will require the 'latest' wayland code from their git repo as
of 2012-03-27.



SVN revision: 69672
2012-03-27 17:50:40 +00:00
Christopher Michael 4c2f9b615a Ecore_Evas (wayland):
- Add ecore_wl_sync to ecore_evas_wayland_* (needed for some
compositors).
- Implement ecore_evas_wayland_type_set (for setting window types).
- Implement ecore_evas_wayland_pointer_set (for setting pointer
hotspots).
- Fix ecore_evas_alpha/transparent set.



SVN revision: 69645
2012-03-27 02:17:22 +00:00
Christopher Michael 804a3332bf Ecore_Evas (wayland_shm): Make sure we have a window for the engine
before trying to attach a buffer.



SVN revision: 69031
2012-03-07 21:46:01 +00:00
Christopher Michael b0dde0d92d Ecore_Evas (wayland): Implement alpha_set, transparent_set, and
ignore_events for ecore_evas_wayland_shm.

NB: I have to code for egl done, but am tracking a segfault when we
set alpha :/



SVN revision: 68558
2012-02-29 21:00:38 +00:00
Christopher Michael a31808b48b Ecore_Evas (Wayland): Refactor code to match Ecore_Wayland changes.
NB: Fixes outstanding issues with running EFL apps as wayland clients.



SVN revision: 68516
2012-02-28 21:56:39 +00:00
Carsten Haitzler 57c681a33e booyah. added lots of ecore_evas state stuff and ability to track
state changes too made by a wm - eg getting iconified.



SVN revision: 68493
2012-02-28 06:43:59 +00:00
Christopher Michael f7c29b5eae Ecore_Evas (wayland): Update shm and egl engines for recent changes in
wayland.



SVN revision: 68284
2012-02-22 18:38:26 +00:00
Christopher Michael 317f1ebf99 Ecore_Evas (wayland): Disable logfn's (again) :( Remove extra parens.
SVN revision: 67819
2012-02-10 10:36:21 +00:00
Christopher Michael 1acb7b4f9e Ecore_Evas: Add functions for setting wayland mouse pointer (used from
elm wayland clients).



SVN revision: 67816
2012-02-10 09:16:29 +00:00
Christopher Michael 2644d16d50 Ecore_Evas (Wayland): Fix getting double mouse events for the wayland
engines.

NB: Fixes elementary momentum scrolling.



SVN revision: 67780
2012-02-09 08:12:39 +00:00
Christopher Michael 58c865325d Ecore_Evas (wayland): Add/Fix more dnd code.
SVN revision: 67248
2012-01-16 19:11:17 +00:00
Christopher Michael 21975a748f Ecore_Evas (wayland): Implement Fullscreen Set for Shm and Egl.
SVN revision: 67179
2012-01-13 06:46:35 +00:00
Christopher Michael ce12a4481b Ecore_Evas (wayland): Do not set the shell_surface_listeners until
After we have set the new surface for the evas engine. Reason being:
The shell_surface_listener_configure event handles resizing the
ecore_evas. If that gets called Before we have set the new engine
surface, then bad crashes can happen.



SVN revision: 67161
2012-01-13 00:01:09 +00:00
Christopher Michael ad51dd4bc3 Ecore_Evas (Wayland_Shm): Fix ecore_evas_wayland_shm_resize function.
Does not exist anymore...being replaced with a more generic
ecore_evas_wayland_resize funciton.



SVN revision: 67129
2012-01-12 09:05:12 +00:00
Christopher Michael cf6322e938 Ecore_Evas (wayland_shm): Don't issue a surface move if the ecore_evas
is not visible (has no surface).



SVN revision: 67104
2012-01-12 00:06:37 +00:00
Christopher Michael 7b21d59a52 Ecore_Evas (wayland_shm): Add missing shell_surface handler (recently
added in wayland).



SVN revision: 67076
2012-01-11 13:00:54 +00:00
Christopher Michael 9c3b28d908 Ecore_Evas (Wayland): Be sure to unregister the ecore_evas (wrt input
events).
Add big fat NB wrt potential 'hack' (works around screen garbage on
resize).
Add evas damage rectangle on resize.
Do surface_damage before surface_attach.
Prevent compositor crash on resize by checking width/height <= 0.
Don't do a resize of the ecore_evas unless the event matches.



SVN revision: 67013
2012-01-10 10:31:18 +00:00
Christopher Michael 655e20307a Ecore_Evas (Wayland): Add missing flush during rendering.
NB: This fixes animation issue wrt eating up cpu, only animating when
mouse was over, etc, etc..... Thanks Old Man !! ;)



SVN revision: 66995
2012-01-09 10:52:19 +00:00
Christopher Michael d18dafa65a Ecore_Evas (Wayland): Fix building apps without wayland support
(function was missing a declaration if wayland was disabled). (Fixes
elm compile problems).



SVN revision: 66982
2012-01-09 05:22:43 +00:00
Christopher Michael 94a4ce180b Ecore_Evas (wayland): Add shell listener for 'configure' events (occur
on shell_surface_resize).
Provide callback_mouse_in_set for ecore_evas.



SVN revision: 66970
2012-01-08 11:25:57 +00:00