Find a file
Pekka Paalanen 03fc316000 window: add toysurface abstraction and port EGL path
We need more structure to the way we handle the backing storage in
toytoolkit, to make it possible to double-buffer the shm case properly.
The existing buffer handling is very complex with the three
different cases:
- EGLSurface backed Cairo surface with a window associated
- wl_shm backed Cairo surface with a window associated
- wl_shm backed Cairo surface without a window, as used by dnd.c

Introduce the toysurface abstraction, which defines the interface for
the both buffer handling cases that have a window associated. It also
means, that windows will not have a valid Cairo surface outside of their
repaint cycle.

Convert the EGLsurface case into toysurface for starters. For EGL-based
Cairo surfaces, the private data is no longer needed. Destroying
egl_window_surface will trigger the destruction of the cairo_surface_t,
not vice versa. This is possible because display_create_surface() is
shm-only.

The shm cases are left untouched.

As a side-effect, display_acquire_window_surface() and
display_release_window_surface() will no longer use the 'display'
argument. Instead, display will be the one inherited from the window.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
2012-11-27 15:49:34 -05:00
clients window: add toysurface abstraction and port EGL path 2012-11-27 15:49:34 -05:00
data window.c: frame_button: Maximize, minimize, close, icon buttons in window frame 2012-05-10 16:19:33 -04:00
man man: fill missing pieces to weston page 2012-11-27 11:13:00 -05:00
protocol text: Add support for forwarding key events 2012-11-27 13:10:10 -05:00
shared toytoolkit: Don't draw shadows for maximized windows. 2012-10-10 11:23:41 -04:00
src noop-renderer: Remove unused variable 2012-11-27 13:20:40 -05:00
tests tests: Remove last GLfloat use 2012-11-14 14:42:51 -05:00
wcap wcap: Fix typo in usage output. 2012-07-23 14:25:14 -04:00
.gitignore Add cscope.out to .gitignore 2012-07-09 17:57:55 -04:00
autogen.sh Update autotools configuration 2010-11-06 21:04:03 -04:00
configure.ac rpi: a backend for Raspberry Pi 2012-11-08 16:56:26 -05:00
COPYING Add COPYING 2012-04-25 10:17:42 -04:00
Makefile.am man: add man page for weston 2012-08-29 15:32:05 -04:00
notes.txt Add informal notes file 2012-10-25 15:00:42 -04:00
README Flesh out README a bit, link to building instructions 2012-07-20 12:26:23 -04:00
weston.ini text: Start input method from configuration 2012-11-27 12:57:39 -05:00

Weston

Weston is the reference implementation of a Wayland compositor, and a
useful compositor in its own right.  Weston has various backends that
lets it run on Linux kernel modesetting and evdev input as well as
under X11.  Weston ships with a few example clients, from simple
clients that demonstrate certain aspects of the protocol to more
complete clients and a simplistic toolkit.  There is also a quite
capable terminal emulator (weston-terminal) and an toy/example desktop
shell.  Finally, weston also provides integration with the Xorg server
and can pull X clients into the Wayland desktop and act as a X window
manager.

Refer to http://wayland.freedesktop.org/building.html for buiding
weston and its dependencies.