simple-shm: Don't use ret variable in main() uninitialized
window: Don't set pointer image when requesting to move a surface

Since it's the server who moves the surface it's the server who sets the
pointer image.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
window: Always pass focused widget to widget motion handlers

Grabbed widgets should always receive motion events as if it was the
widget that would receive it if no grab was active. This means that the
focused widget should always be passed as the widget argument to widget
motion handlers.

This reverts commit 8c9c8fcf6e294f0446446d8e9bdfeb37294743c3.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Stop relying on ARRAY_LENGTH being defined in wayland-util.h

Time to break a bad habit.
Define our own container_of as well

Don't rely on libwayland-client/server to define this for us.
compositor-drm: Disable hw cursor if allocation fails

Instead of crashing later, we can just fall back to gl rendered cursors.
test-client: Make sure we process pending eevents before we verify state

Since the send-button-state request comes in on one socket and the
wayland event we're looking for comes in on another socket, the order
that we process the two in is undefined.  Thus, button-test fails
intermittently, depending on which event we process first.

We change wl_display_flush() to wl_display_roundtrip(), to make sure that
we deal with all wayland events before handling test protocol requests.
configure.ac: Bump version to 1.0.0
compositor: Clip pointer coordinates on pointer enter as well

When tiling window managers resize a non-resizable window they're violating
ICCCM.  Not some hippie-community standard like EWMH, but ICCCM, which is
about as old and sacred as the constitution.  If they want to force a window
to be a size it wasn't designed for, at least they could have the decency to
reparent the client window into a bigger containing window of whatever size
they think it should be.  But apparently ICCCM compliance is too much to ask.

Anyway, all that just to say that it's really not our fault when we get an
enter event with coordinates outside the valid output region.  But we'll
clip it anyway and work around mis-behaving tiling WMs.
gles2: log EGL config info

Interesting in new environments.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
gles2: check eglBindWaylandDisplayWL return value

If the bind fails, do not bother pretending the EGL Wayland extension
is usable, and no need to unbind, either.

Print some important details about the GLESv2 renderer configuration
into the log.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
window: remove window_set_transparent() declaration

The function is not implemented.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
desktop-shell: background should be opaque

Toytoolkit does not support setting opaqueness for anything else than
the immediate child widget of the frame widget. Backgrounds do not have
frames, so we need to poke it in manually.

This should allow Weston to paint the background without blending.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
compositor-drm: remove a stale comment

This comment became stale in:

commit 65a11e1039e7ea429ff26bdd0058bdf0efd1df2d
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Fri Aug 3 11:30:18 2012 -0400

    compositor: Accumulate damage per plane

Now it is just misleading. Remove it.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
Add informal notes file

By request on the wayland-devel mailing list, we could start collecting
useful writings here.

However, this is not meant to be a substitute to proper documentation,
though I understand it may very well become one. Better than nothing, I
guess, and hopefully helps in writing real documentation.

Feel free to add stuff.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
gles2-renderer: Provide an API for backends to use.
Move compositor-wayland border drawing into gles2-renderer.
gles2-renderer: Adds an utility function which calls eglMakeCurrent.
compositor: Add a renderer function to read out pixels and remove the GL calls from screenshooter.
compositor: Add a function to set surface color in weston_renderer and move color state to gles2-renderer.