mirror of
https://gitlab.freedesktop.org/wayland/wayland.git
synced 2025-11-02 09:01:39 -05:00
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.
This commit is contained in:
parent
5b0079aed5
commit
5fcd0aa58e
12 changed files with 254 additions and 189 deletions
31
wayland.h
31
wayland.h
|
|
@ -70,14 +70,9 @@ struct wl_event_source *wl_event_loop_add_idle(struct wl_event_loop *loop,
|
|||
void *data);
|
||||
|
||||
struct wl_client;
|
||||
|
||||
struct wl_display;
|
||||
struct wl_input_device;
|
||||
|
||||
struct wl_map {
|
||||
int32_t x, y, width, height;
|
||||
};
|
||||
|
||||
struct wl_display *wl_display_create(void);
|
||||
struct wl_event_loop *wl_display_get_event_loop(struct wl_display *display);
|
||||
int wl_display_add_socket(struct wl_display *display, const char *name, size_t name_size);
|
||||
|
|
@ -93,13 +88,22 @@ void wl_client_destroy(struct wl_client *client);
|
|||
|
||||
struct wl_compositor {
|
||||
struct wl_object base;
|
||||
const char *device;
|
||||
};
|
||||
|
||||
struct wl_resource {
|
||||
struct wl_object base;
|
||||
void (*destroy)(struct wl_resource *resource,
|
||||
struct wl_client *client);
|
||||
struct wl_list link;
|
||||
};
|
||||
|
||||
struct wl_buffer {
|
||||
struct wl_resource base;
|
||||
};
|
||||
|
||||
struct wl_surface {
|
||||
struct wl_object base;
|
||||
struct wl_resource base;
|
||||
struct wl_client *client;
|
||||
struct wl_list link;
|
||||
};
|
||||
|
||||
void
|
||||
|
|
@ -123,10 +127,6 @@ wl_client_add_surface(struct wl_client *client,
|
|||
const struct wl_surface_interface *implementation,
|
||||
uint32_t id);
|
||||
|
||||
void
|
||||
wl_client_remove_surface(struct wl_client *client,
|
||||
struct wl_surface *surface);
|
||||
|
||||
void
|
||||
wl_client_send_acknowledge(struct wl_client *client,
|
||||
struct wl_compositor *compositor,
|
||||
|
|
@ -137,6 +137,13 @@ wl_display_post_frame(struct wl_display *display,
|
|||
struct wl_compositor *compositor,
|
||||
uint32_t frame, uint32_t msecs);
|
||||
|
||||
void
|
||||
wl_client_add_resource(struct wl_client *client,
|
||||
struct wl_resource *resource);
|
||||
|
||||
void
|
||||
wl_resource_destroy(struct wl_resource *resource, struct wl_client *client);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue