Commit Graph

93 Commits

Author SHA1 Message Date
Rafael Antognolli 42788da2ea ecore_evas/wayland_egl: Remove wrong if.
It was left behind when fixing the borderless feature.
2013-05-08 18:18:23 -03:00
Rafael Antognolli 2a20ca4477 ecore_evas/wayland: Do not send additional mouse_in's.
If this Ecore_Evas already has a mouse inside it, there's no need to
send an additional mouse in event.

Additionally, always send a mouse_move event before a mouse_down, so the
Evas pointer position can be updated properly before the mouse down.
2013-05-08 16:56:12 -03:00
Rafael Antognolli b619b6bfd4 ecore_evas/wayland: Correctly use framespace size for ecore_evas_resize. 2013-05-06 20:10:06 -03:00
Rafael Antognolli 401265d57e ecore_evas/wayland_shm: Do not invert framespace size twice. 2013-05-06 17:14:09 -03:00
Rafael Antognolli 13c0e8f3f3 ecore/wayland: Fix alpha windows on EGL backend.
Now the opaque and input regions are updated on ecore_wl_window_resize,
there's no need to call ecore_wl_window_buffer_attach() for this
anymore.

The checks on alpha and transparent flags were also fixed.

ecore_wl_window_update_size() is now called by ecore_wl_window_resize(),
reducing duplicated code.
2013-05-06 16:46:20 -03:00
Rafael Antognolli 7a7a0b8297 ecore/wayland: Add ecore_wl_window_alpha_set().
Just sets the "alpha" flag on the window and use it when calculating
opaque regions.
2013-05-06 16:40:50 -03:00
Rafael Antognolli 67179b4a71 ecore_evas/wayland_egl: Call ecore_wl_window_transparent_set.
It must be called on EGL, otherwise it definitely won't work.
2013-05-06 16:16:14 -03:00
Rafael Antognolli aba3064184 ecore_evas/wayland_shm: Delay some operations when in_async_render. 2013-05-06 14:48:03 -03:00
Rafael Antognolli d5fe89b32d ecore_evas/wayland: Add missing frame width and height.
It must be used when calling the window new function too.
2013-05-02 07:32:14 -03:00
Rafael Antognolli 6fc19b8dc2 ecore_evas/wayland: Only set a default framespace if we have a frame.
If Ecore_Evas is requested to draw its own frame, then set the
framespace too. Otherwise, keep it at 0,0 + 0x0, which means not
framespace offset at all (and the window will have exactly the
requested size).
2013-05-02 07:32:14 -03:00
Chris Michael dee2262214 Remove hack for changed state.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-01 08:10:54 +01:00
Chris Michael 1c442867c4 Remove duplicated wdata variable.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-01 07:56:25 +01:00
Chris Michael 127bee584d Revert "Fix some formatting."
This reverts commit 809144780e.

Conflicts:

	src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-01 07:46:36 +01:00
Chris Michael 6f6a0951f2 Revert "Check for valid engine resize function before calling it."
This reverts commit 6e0075aa04.

This broke rotation (and some other things).
2013-05-01 07:32:54 +01:00
Rafael Antognolli 1f58a59a61 ecore_evas/wayland: Remove hack for changed state.
Since we don't have a changed state callback on Wayland, just call the
changed_state callback of Ecore_Evas from the configure callback.
There's no need to add the Ecore_Job that will send the event later.

This makes the code cleaner, simpler, and will call the callback when
the configure event is received, which is a good place to check for the
changes.
2013-04-30 16:31:43 -03:00
Chris Michael 809144780e Fix some formatting.
Reduce duplicated code in ecore_evas_wl_resize and just call the
_common_resize function
Fix segfault on elm app closing

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 14:55:55 +01:00
Chris Michael b9fa3b3089 We don't need evas_sync on resize here.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 14:55:54 +01:00
Chris Michael 6e0075aa04 Check for valid engine resize function before calling it.
In the window_configure callback, reduce duplicated/not needed code.
Account for rotation when getting new size during common_rotation_set.
Reduce duplicated code in ecore_evas_wl_resize function and just call
the _common_resize function (as that already has most of this code).

Fix issue of Segfault on elm app closing:
  - During hide we need to call evas_sync to make sure the async
    render has flushed out everything that is pending.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 14:55:54 +01:00
Rafael Antognolli 59c37d1c7b evas/framespace: Add support for framespace offset rendering translation.
Instead of moving the objects by adding the framespace offset to them,
use this offset when rendering them. This way there's no change in the
object's geometry/position, it works correctly with map, and will be
automatically updated in case that the framespace values change (for
instance if one sets a window to borderless).

There are 2 main places where changes were needed:
 - output redraws, when they come from an object being changed, must be
   add the framespace offset to their damaged area;
 - checks to see if the object is inside a given rendering area, must
   also add this offset, since the object is actually being rendered on
   a different position;
2013-04-29 11:29:43 -03:00
Chris Michael d3c79b813e Fix engine_info_get function call being in the wrong place.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-29 12:56:08 +01:00
Chris Michael 25f1706fa8 Fix variable usage in framespace get. Thanks Seb ;)
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-26 07:41:17 +01:00
Chris Michael 8235272ec0 Reenable ability for async render of shm engine.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-26 07:14:58 +01:00
Rafael Antognolli 6890a0e452 evas/wayland_shm: Fix resize to the left or top when rotated. 2013-04-25 19:58:05 -03:00
Rafael Antognolli 1ec6dd5fbc evas/wayland_egl: Fix resize to the left or top when rotated. 2013-04-25 19:58:03 -03:00
Rafael Antognolli f18174f302 ecore_evas/wayland: Fix rotation when going back to 0 or 180 degrees. 2013-04-24 17:43:10 -03:00
Rafael Antognolli 0745e46d12 ecore_evas/wayland: Add support for rotation on wayland_egl backend.
Also move the common code for rotation_set from the shm engine to
wayland_common.
2013-04-24 15:24:37 -03:00
Rafael Antognolli 8ef6568ea7 ecore/evas wayland_shm: Add support for window rotation. 2013-04-23 18:52:54 -03:00
Rafael Antognolli dba2fc5aa5 ecore_evas/wayland: Change the default frame smart object.
Add 4 rectangles to be used as border of the window, instead of a single
rectangle under the framespace. This allows to move the frame object to
the top layer, instead of staying on the lowest layer. With the frame
over the other objects, there's no need of framespace clipper object,
which causes several bugs.
2013-04-23 18:52:35 -03:00
Rafael Antognolli 34d4352055 ecore_evas/wayland: Actually, the frame object should be on LAYER_MIN.
Also set the layer on the wayland_egl backend.
2013-04-18 19:39:46 -03:00
Rafael Antognolli 89960340d7 ecore_evas/wayland: Put the default frame object in a lower layer.
The frame should not stay in the same layer as the other objects. If the
application wants to allow it to be on top of the content, then it must
provide a custom frame object and set it to that layer.

NOTE: Should we make Elementary's be on a lower layer too?
2013-04-18 19:04:07 -03:00
Rafael Antognolli b73786814c ecore_evas/wayland: Ecore_Evas geometry should report the client size.
The real canvas size contains enough space for rendering the frame, but
ecore_evas_geometry_get() should be consistent accross all the engines
and report only the client area.
2013-04-02 14:39:59 -03:00
Stefan Schmidt d0483d3dde evas_extn: Tag parameter as unused.
Maybe we should switch to use -Wno-unused-parameter in our default cflags?
I mean unused parameters are really common and I do not see their harm.

Using -Wno-unused-parameter would let us remove all the cluttered EINA_UNUSED
and __UNUSED__ and also be safe when a paramter gets is use later as the
compiler could optimize it out when tagged with unused. Still we would avoid
the warnings to find the important ones.
2013-03-26 09:36:09 +00:00
Cedric BAIL d583d08814 evas: no need for a callback per async call.
Let's not multiply our callback infrastructure without any serious need. We
already have to many of them.
2013-03-26 11:59:27 +09:00
Stefan Schmidt a9c543c73f evas_extn: Rename data variable to avoid local shadowing.
Jenkins as well as klocwork complained here as data is already used for
the parameter of the function and we shadow it here locally. Does not look
like it would really harm us here but better avoid it.
2013-03-25 09:40:36 +00:00
Carsten Haitzler 1117cb938a update po's ... :/ 2013-03-23 13:31:22 +09:00
Rafael Antognolli f9fbafae58 ecore_evas/wayland: Don't need to show and hide children of the frame.
The frame smart object inherits from clipped smart object now, so it
doesn't need to show and hide its children, as the clipper takes care of
that.
2013-03-22 15:31:21 -03:00
Jiyoun Park 8653a45cb1 * Ecore_x: fix alpha set function not clear sync counter 2013-03-22 18:49:46 +09:00
Rafael Antognolli 048c8f0b25 ecore_evas/wayland: Use clipped smart object for window decorations.
When creating windows directly with Ecore_Evas, instead of using
Elementary, a default smart object is provided for the frame (client
side window decorations).

Now this smart object inherits from the clipped smart object, which
means that all its member objects will be clipped to its main clipper,
being skipped when the framespace clipper checks for objects without a
clipper.

Fix a ticket, which I don't remember the number because trac doesn't
work.
2013-03-21 20:45:44 -03:00
Rafael Antognolli 7a01acd60d ecore_evas/wayland_shm: Check if the Ecore_Evas is visible on render.
Without this check, the code tries to access win->surface, which will be
NULL, causing a segfault.

Fix ticket #2304.
2013-03-20 18:06:26 -03:00
Cedric Bail ba4db2c241 ecore_evas: follow naming of other modules for Windows to. 2013-03-16 15:54:18 +09:00
Cedric Bail a4593c1cdf ecore_evas: killing Glew and Direct3d, because someone already killed Kenny. 2013-03-16 15:50:01 +09:00
Carsten Haitzler 5b201f9122 please... compile again thanks! 2013-03-12 23:17:00 +09:00
Chris Michael 873c18cc15 Force shm engine to do sync render for now.
There are stalling issues with async render that I need to look in to.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-03-12 12:52:25 +00:00
Christopher Michael 31ec0c4d7b Add Async support for Wayland Shm Engine.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-03-12 12:52:25 +00:00
Christopher Michael 91a83b8cda Add Async support for wayland_shm engine.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-03-12 12:52:25 +00: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 bcfc58f460 ecore_x: fix bug not check data value when get deiconify message 2013-03-12 11:53:21 +09:00
Cedric Bail 7da76cf25a ecore_evas: remove warning. 2013-03-10 20:32:21 +09:00
Jiyoun Park 9210db4dd5 Ecore_x: Add manual render code before deiconify 2013-03-07 16:33:59 +09:00
Rafael Antognolli e92bafb141 ecore_evas/wayland: Call _ecore_evas_wayland_resize on window configure.
This will update the edges info inside the Evas_Engine_Info, and make it
correctly resize to the top/left if needed.

Also call ecore_wl_window_buffer_attach() on the egl engine, since it's
needed after the ecore_wl_window_update_size().
2013-02-28 12:48:42 -03:00