Commit Graph

37 Commits

Author SHA1 Message Date
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.
2010-08-09 14:43:33 -04:00
Kristian Høgsberg
6d70202f80 Send out coordinates with pointer_focus event
We can't rely on motion events happening right away, pointer_focus could
change because of windows coming or going etc.
2010-08-06 15:12:26 -04:00
Kristian Høgsberg
c071f4d008 Handle failure to reference a buffer name better 2010-08-05 17:44:31 -04:00
Kristian Høgsberg
83fc061c9c Introduce 'shell' object for moving and resizing surfaces in the compositor 2010-08-04 22:44:55 -04:00
Kristian Høgsberg
a1f3f60bea Generate protocol types and metadata from xml 2010-08-03 09:44:48 -04:00
Kristian Høgsberg
38bb716383 Drop surface::copy 2010-06-08 15:33:55 -04:00
Kristian Høgsberg
f52e03ff47 Import Eric Anholts hash table implementation
Adapted from git://people.freedesktop.org/~anholt/hash_table.
2010-02-26 11:42:59 -05:00
Kristian Høgsberg
a5db589efa Add wl_list_for_each() and simplify some loops 2010-02-26 10:28:44 -05:00
Kristian Høgsberg
ecf65fe041 Implement user_data for surface
Not sure if we need more than one piece of user_data per surface.
And this should be a general feature of any proxy object.
2009-09-18 17:05:50 -04:00
Kristian Høgsberg
2c837483ec Add new surfaces to client hash table. 2009-02-22 20:58:29 -05:00
Kristian Høgsberg
43c28eee32 Add a toy-display object that caches state.
This will be GdkDisplay for GTK+ on Wayland etc.  This restores
the terminal fullscreen mode.
2009-01-26 23:42:55 -05:00
Kristian Høgsberg
94448c0ad7 Add listener interfaces for output and input_device objects. 2008-12-30 11:03:33 -05:00
Kristian Høgsberg
b3131d9268 Add client side demarshalling for events.
This also consolidates the marshalling code in connection.c and
uses the same functions in the server and client for marshalling.
2008-12-24 19:31:58 -05:00
Kristian Høgsberg
fabd4395ba Track objects client side using a hash too.
This leads up to using the demarshal machinery for decoding events
in the client library.
2008-12-22 18:06:49 -05:00
Kristian Høgsberg
12ea62e211 Add a proxy for the server side output object. 2008-12-22 16:37:07 -05:00
Kristian Høgsberg
ee02ca6fa4 Add hook to allow globals to send cold-plug events to new clients.
This lets us boot strap the client side state cache.  This commit also adds the first user
of this feature, an output object that represents the current output.  Very simple
at this point, but will grow to something more like RandR 1.2.
2008-12-21 23:37:12 -05:00
Kristian Høgsberg
8049cbb88a Also check for interface version wl_display_get_object_id(). 2008-12-21 23:33:10 -05:00
Kristian Høgsberg
97079ad52c Send client id range as an event.
This also makes the server send the event again when the client is
about to exhaust its current client range.
2008-12-21 22:45:33 -05:00
Kristian Høgsberg
fe831a7494 Move protocol metadata to wayland-protocol.[ch].
This lets us share the metadata between server and client and we
can now use a va_arg marshalling function for sending client
requets.
2008-12-21 21:50:36 -05:00
Kristian Høgsberg
bf967b469f Advertise globals using a new display event. 2008-12-21 20:25:16 -05:00
Kristian Høgsberg
112c0bee18 Remove visual debug prints. 2008-12-19 11:17:38 -05:00
Kristian Høgsberg
de31d5ca6f Add preliminary visual support. 2008-12-18 17:55:33 -05:00
Kristian Høgsberg
d2412e2c2e Redesign the compositor / server interface.
This lets the compositor directly provide the implementation of the RMI
objects for the surface object and a new compositor object.  We avoid the
manual forwarding of requests into the compositor and the clumsy compositor
interface struct.
2008-12-15 20:35:24 -05:00
Kristian Høgsberg
dc0f355f0a Fix API to always include socket name length. 2008-12-07 15:22:22 -05:00
Kristian Høgsberg
ffd710e653 Put Wayland under the MIT license. 2008-12-02 15:15:01 -05:00
Kristian Høgsberg
4097923a64 Add commit request + ack event to wayland core.
Use in window.c to manage life cycle of buffer correctly.
2008-11-25 22:40:39 -05:00
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.
2008-11-24 00:06:16 -05:00
Kristian Høgsberg
b7a01928be Add prototypes warnings, use -fvisibility. 2008-11-08 15:49:49 -05:00
Kristian Høgsberg
fb59084fbf Add glib main loop integration, use it in flower client. 2008-11-07 14:27:23 -05:00
Kristian Høgsberg
7f77bd8fbe Add copy and damage surface requests. 2008-11-07 08:39:37 -05:00
Kristian Høgsberg
5a27f3e6a7 Add a new client that draws a pointer. 2008-11-06 10:52:14 -05:00
Kristian Høgsberg
f9bc795a7d Add crude input device support.
Just pointer motion and button clicks for now, broadcast to all clients.
2008-11-06 10:51:59 -05:00
Kristian Høgsberg
362a34ed89 Drop unused struct definition. 2008-11-06 10:51:59 -05:00
Kristian Høgsberg
f921289954 Handle multiple clients better. 2008-11-06 10:51:58 -05:00
Kristian Høgsberg
427524aedf Use new connection object in client code too. 2008-11-06 10:51:58 -05:00
Kristian Høgsberg
05eff51e41 Add surface.map request. 2008-11-06 10:51:43 -05:00
Kristian Høgsberg
a67a71a7cf Bunch of new stuff: simple compositor, cairo+gem use in client, events. 2008-10-07 10:10:36 -04:00