40cb67b2ac
Add redraw_needed flag to all surfaces, in addition to having one in window. The window redraw_needed flag is changed to force a redraw of the whole window, regardless of frame events. widget_schedule_redraw() now schedules the redraw only for the surface, where the widget is on. window_schedule_redraw() is equivalent to scheduling a redraw for all (sub-)surfaces of the window. We still use only one deferred task for all redraws. surface_redraw() will skip the redraw, if the window does not force a redraw and the surface does not need a redraw. It will also skip the redraw, if the frame callback from the previous redraw has not triggered yet. When the frame callback later arrives, the redraw task will be scheduled, if the surface still needs a redraw. If the window forces a redraw, the redraw is executed even if there is a pending frame callback. This is for resizing: resizing should trigger a window repaint, as it really wants to update all surfaces in one go, to apply possible sub-surface size and position changes. Resizing is the only thing that makes a window force a redraw. With this change, subsurfaces demo can avoid repainting the cairo sub-surface while still animating the GL sub-surface. Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com> |
||
---|---|---|
clients | ||
data | ||
man | ||
protocol | ||
shared | ||
src | ||
tests | ||
wcap | ||
.gitignore | ||
autogen.sh | ||
configure.ac | ||
COPYING | ||
Makefile.am | ||
notes.txt | ||
README | ||
weston.ini |
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.