aboutsummaryrefslogtreecommitdiffstats
path: root/include/client/client.h
diff options
context:
space:
mode:
authorLibravatar Drew DeVault <sir@cmpwn.com>2015-11-19 07:58:57 -0500
committerLibravatar Drew DeVault <sir@cmpwn.com>2015-11-19 07:58:57 -0500
commitb4e5e1381f909b173a171fb3941610aec989df48 (patch)
treef7dcf63dc6f4ac05c8fbb86da37d52766f210130 /include/client/client.h
parentFix background extensions (diff)
downloadsway-b4e5e1381f909b173a171fb3941610aec989df48.tar.gz
sway-b4e5e1381f909b173a171fb3941610aec989df48.tar.zst
sway-b4e5e1381f909b173a171fb3941610aec989df48.zip
Refactor the crap out of wayland clients
And create a background surface on every output when invoking swaybg.
Diffstat (limited to 'include/client/client.h')
-rw-r--r--include/client/client.h57
1 files changed, 0 insertions, 57 deletions
diff --git a/include/client/client.h b/include/client/client.h
deleted file mode 100644
index 30ec25c0..00000000
--- a/include/client/client.h
+++ /dev/null
@@ -1,57 +0,0 @@
1#ifndef _CLIENT_H
2#define _CLIENT_H
3
4#include <wayland-client.h>
5#include "wayland-desktop-shell-client-protocol.h"
6#include <cairo/cairo.h>
7#include <pango/pangocairo.h>
8#include <stdbool.h>
9#include "list.h"
10
11struct output_state {
12 struct wl_output *output;
13 uint32_t flags;
14 uint32_t width, height;
15};
16
17struct buffer {
18 struct wl_buffer *buffer;
19 cairo_surface_t *surface;
20 cairo_t *cairo;
21 PangoContext *pango;
22 uint32_t width, height;
23 bool busy;
24};
25
26struct cursor {
27 struct wl_surface *surface;
28 struct wl_cursor_theme *cursor_theme;
29 struct wl_cursor *cursor;
30 struct wl_poitner *pointer;
31};
32
33struct client_state {
34 struct wl_compositor *compositor;
35 struct wl_display *display;
36 struct wl_pointer *pointer;
37 struct wl_seat *seat;
38 struct wl_shell *shell;
39 struct wl_shm *shm;
40 struct buffer buffers[2];
41 struct buffer *buffer;
42 struct wl_surface *surface;
43 struct wl_shell_surface *shell_surface;
44 struct wl_callback *frame_cb;
45 struct desktop_shell *desktop_shell;
46 struct cursor cursor;
47 uint32_t width, height;
48 cairo_t *cairo;
49 list_t *outputs;
50};
51
52struct client_state *client_setup(uint32_t width, uint32_t height, bool shell_surface);
53void client_teardown(struct client_state *state);
54int client_prerender(struct client_state *state);
55int client_render(struct client_state *state);
56
57#endif