Kristian Høgsberg
6dd08ebbe1
Move core protocol libraries into wayland/ subdirectory
14 years ago
Kristian Høgsberg
76b43326a5
Move example compositor to subdirectory
14 years ago
Kristian Høgsberg
8a40871645
A few makefile/autoconf fixes
14 years ago
Kristian Høgsberg
4219a407ae
Add DMZ cursor theme
...
Some day we can make this parse X cursor themes
14 years ago
Kristian Høgsberg
b91cd10fcb
Move cairo-util.[ch] to clients/
14 years ago
Kristian Høgsberg
a661f263b4
Name libraries -client and -server for consistency
...
Instead of wayland-server and wayland...
14 years ago
Kristian Høgsberg
5fcd0aa58e
Introduce 'buffer' object for attaching, image cahce and cursor images
...
The buffer object is created by a 'drm' object, which encapsulates the
buffer sharing and authentication mechanism. Once the buffer is created
it can be attached to a surface.
14 years ago
Kristian Høgsberg
83fc061c9c
Introduce 'shell' object for moving and resizing surfaces in the compositor
14 years ago
Kristian Høgsberg
a1f3f60bea
Generate protocol types and metadata from xml
14 years ago
Kristian Høgsberg
ce5325d3ed
Add x11 backend for compositor
...
This still needs all the bells and whistles from the egl-kms mesa branch,
but it makes it a lot easier to work on wayland.
15 years ago
Kristian Høgsberg
fc783d4071
Split native drm part of compositor out
15 years ago
Kristian Høgsberg
a7f258221a
Add spec document in progress
15 years ago
Kristian Høgsberg
a2ee675861
Make compositor compile and port it to new mesa extensions
15 years ago
Kristian Høgsberg
8286302644
Rename wayland-system-compositor back to just compositor
15 years ago
Kristian Høgsberg
b2a432ef18
Move clients to subdirectory
15 years ago
Kristian Høgsberg
d4de54efe7
Use autoconf instead of $(shell ...) in the Makefile.
16 years ago
Kristian Høgsberg
3620295d17
Drop unused clients, pointer and window.
16 years ago
Kristian Høgsberg
fbdbbdc153
Finally implement the commit/ack/frame protocol and improve repaint loop.
...
This implements the commit/ack/frame protocol that let clients batch up
a series of requests and then commit them atomically using the commit request.
The commit requests generats two following events: the acknowledge event,
which lets the client know that the server has received the request and
which frame the rendering has been scheduled for. At this point the client
can start rendering the next frame or free up temporary buffers. Then when
the compositor finally makes the newly composited frame visible on screen
the server sends a frame event, which contains the number of the frame that
was presented and the time when it happened.
The window and flower clients have been updated to use these two events in
their main loops and everything now updates per frame. The EGL compositor
repaint loop has been tweaked to delay the compositing of the screen to
10ms after last swapbuffer completed so as to allow processing as many
requests as possible before blocking on the next vertical retrace.
16 years ago
Kristian Høgsberg
18fb78307b
Use struct buffer from cairo-util.c in flower.c.
16 years ago
Kristian Høgsberg
cddc0ad502
Add keyboard input, move input device creation to compositor.
16 years ago
Kristian Høgsberg
a5a2c8e5db
Rename input.c to evdev.c.
16 years ago
Kristian Høgsberg
1e4b86af1a
Expose screenshooting as an interface, drop SIGUSR hack.
...
This pulls in a bit of extra infrastructure for discovering adertised objects on the
client side.
16 years ago
Kristian Høgsberg
aa5b5bed73
Load and draw background in compositor.
16 years ago
Kristian Høgsberg
4c9f2c9b1a
Move pointer drawing into compositor.
16 years ago
Kristian Høgsberg
8d7ca6be21
Add quick screenshot hack.
16 years ago
Kristian Høgsberg
2f2cfae227
Factor out common cairo code, add blur function.
16 years ago
Kristian Høgsberg
b7a01928be
Add prototypes warnings, use -fvisibility.
16 years ago
Kristian Høgsberg
f099fd24a3
Use the eagle pkg-config file instead of assuming ../eagle.
16 years ago
Kristian Høgsberg
1cbaa6abac
Use glib main loop for all clients.
16 years ago
Kristian Høgsberg
fb59084fbf
Add glib main loop integration, use it in flower client.
16 years ago
Kristian Høgsberg
5503bf82c4
dlopen the compositor, add a glx compositor.
16 years ago
Kristian Høgsberg
8a9cda8cfb
Add the gears from glxgears.
16 years ago
Kristian Høgsberg
61017b190a
Add a window client, first implementation of surface resizing.
16 years ago
Kristian Høgsberg
6b5e7626f5
Move background drawing to a client.
16 years ago
Kristian Høgsberg
d3fa34ca29
Don't use poll timeout for timing animation.
...
Receiving events breaks out of the poll and resets the time out.
Effectively, this blocks the animation when the client receives events.
As a quick fix, use timerfd for timing the animation.
16 years ago
Kristian Høgsberg
5a27f3e6a7
Add a new client that draws a pointer.
16 years ago
Kristian Høgsberg
e120a4b1ee
Rename client, prepare Makefile for more clients.
16 years ago
Kristian Høgsberg
f9bc795a7d
Add crude input device support.
...
Just pointer motion and button clicks for now, broadcast to all clients.
16 years ago
Kristian Høgsberg
16eb675399
Add an EGL compositor. Still pretty lame.
16 years ago
Kristian Høgsberg
427524aedf
Use new connection object in client code too.
16 years ago
Kristian Høgsberg
680f1c7025
Split out connection io buffer logic.
16 years ago
Kristian Høgsberg
a67a71a7cf
Bunch of new stuff: simple compositor, cairo+gem use in client, events.
16 years ago
Kristian Høgsberg
97f1ebe8d5
Initial commit.
...
This has the basic event loop, and a first cut of the libffi dispatcher.
16 years ago