Kristian Høgsberg
c5c510ec75
Set up visuals in wayland-server
...
Still very much hand-wavey, but at least it's only in one place now.
14 years ago
Kristian Høgsberg
9c3e8d734e
Move grab state to struct wl_input_device
14 years ago
Kristian Høgsberg
4be2ed9611
Drop dummy wl_grab_surface hack
14 years ago
Kristian Høgsberg
7132a9aeb8
Move get_time() helper back into compositor
14 years ago
Kristian Høgsberg
4685fa324f
Pass timestamp in surface destroy callback
14 years ago
Kristian Høgsberg
02ef1c1aca
Move focus tracking surface destroy callbacks into core
14 years ago
Kristian Høgsberg
ab8475cafd
Move get_time() helper to core
...
We'll need a better strategy for generating timestamps without input events
or pageflips. At least we'll need to ensure everybody is using the same
underlying time source.
14 years ago
Kristian Høgsberg
c551bd2ae8
Add a surface destroy callback and use it for focus tracking
14 years ago
Kristian Høgsberg
b313b02983
Chage the 'base' field to be the name of the super class instead
...
Instead of display->base.base we want display->proxy.object, or
buffer->buffer.resource.object.id = id;
which makes it clear what we end up addressing.
14 years ago
Kristian Høgsberg
2bb3ebe1e4
Create socket in /var/run/user/${HOME}
...
Use the runtime dir from XDG Base Directory Specification for creating the
socket in a directory only the user can read and write.
14 years ago
Kristian Høgsberg
2643707391
Move pointer and keyboard focus tracking into libwayland-server
14 years ago
Kristian Høgsberg
c1ad1f9c9b
Consolidate 'sync' and 'frame' events into just one 'key' event
14 years ago
Kristian Høgsberg
b163cef6e7
Make the server event loop embeddable
...
By exposing the epoll fd, we can embed the server event loop in other
main loops suchs as Qt or GTK+.
14 years ago
Kristian Høgsberg
6dd08ebbe1
Move core protocol libraries into wayland/ subdirectory
14 years ago
Kristian Høgsberg
acf82a36bb
Log emitted events as well in debug mode
14 years ago
Kristian Høgsberg
6bce89da78
Return the closure from wl_connection_vmarshal()
...
And provide a function to write it to a connection.
14 years ago
Kristian Høgsberg
50038e4757
Drop wl_surface_post_event() helper
...
Now wl_client_post_event() is the only entry point for sending out events.
14 years ago
Kristian Høgsberg
f1e7bd384c
Add protocol debugging facility
14 years ago
Kristian Høgsberg
f8ffded1e5
Drop wl_display_set_compositor() special case
14 years ago
Kristian Høgsberg
9d69f8e796
Replace commit/ack/frame protocol with simpler sync and frame callbacks
14 years ago
Kristian Høgsberg
13b8ae4986
Add convenience functions for posting display events
14 years ago
Kristian Høgsberg
f66d0f4e14
Get rid of wl_client_add_surface() special case
14 years ago
Kristian Høgsberg
45b7789a8b
Return a closure object from wl_connection_demarshal
...
This way we can invoke it multiple times without having to demarshal
and build the cfi every time.
14 years ago
Kristian Høgsberg
eef08fbb1a
First step towards drag and drop protocol
14 years ago
Kristian Høgsberg
1db21f1cf5
Use different cursor images in the compositor
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
5b0079aed5
Demarshal robustness fixes
14 years ago
Kristian Høgsberg
c071f4d008
Handle failure to reference a buffer name better
14 years ago
Kristian Høgsberg
a1f3f60bea
Generate protocol types and metadata from xml
14 years ago
Kristian Høgsberg
478d9265f9
Send device name at connect time
15 years ago
Kristian Høgsberg
f52e03ff47
Import Eric Anholts hash table implementation
...
Adapted from git://people.freedesktop.org/~anholt/hash_table.
15 years ago
Kristian Høgsberg
a5db589efa
Add wl_list_for_each() and simplify some loops
15 years ago
Kristian Høgsberg
b559fcbf72
Add function to remove surfaces from client
15 years ago
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.
16 years ago
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.
16 years ago
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.
16 years ago
Kristian Høgsberg
fb6d68ddbe
Represent event and method metadata with struct wl_message.
16 years ago
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.
16 years ago
Kristian Høgsberg
bf967b469f
Advertise globals using a new display event.
16 years ago
Kristian Høgsberg
de31d5ca6f
Add preliminary visual support.
16 years ago
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.
16 years ago
Kristian Høgsberg
c492b482d0
Make multi-pointer work.
...
This also add command line parsing as a way to specify the input
device files to use.
16 years ago
Kristian Høgsberg
864c468b42
Make sure we initialize object hash.
...
This patch also move the hash implementation details to wayland-util.c.
16 years ago
Kristian Høgsberg
5ee1a60f1a
Rewrite input event delivery path.
...
Instead of having the input driver push the events into the core server,
only to have the server call back out to the compositor hooks, the driver now
just calls the compositor directly. The input drivers are always dependent on
the type of compositor anyway so there was no point in passing the events
through the server. Now the server is only involved when it's time to actually
send the events to the clients.
16 years ago
Kristian Høgsberg
7fdff04cdc
Only send key events to toplevel surface.
16 years ago
Kristian Høgsberg
5a75c90d01
Feed button events through compositor.
...
This also generalizes the code to send events to a surface a bit.
16 years ago
Kristian Høgsberg
715a081cf4
Feed motion events through compositor.
...
This lets us pass events only to the window that we're mousing over
and we can now transform input events back to the window coordinate space.
16 years ago
Kristian Høgsberg
201a904889
Drop surface iterator API, just track surfaces in the compositor.
16 years ago
Kristian Høgsberg
eac149ad06
Pass button clicks through to compositor.
...
This lets us handle raising windows, which is useful.
16 years ago