4 #include "tinyds-common.h"
6 #ifdef USE_TDM_BUFFER_QUEUE
7 #include "pixman-tbm-helper.h"
8 #include "tinyds-renderer.h"
10 #include <libds/swapchain.h>
13 #include "pixman-helper.h"
14 #include "protocol-trace.h"
15 #include "tinyds-policy.h"
16 #include "tinyds-dpms.h"
17 #include "tinyds-launch.h"
18 #include "tinyds-input-devicemgr.h"
20 struct tinyds_keyboard;
21 struct tinyds_pointer;
25 struct ds_tbm_server *tbm_server;
27 struct wl_display *display;
29 struct ds_backend *backend;
30 struct ds_backend *input_backend;
31 struct ds_compositor *compositor;
32 struct ds_xdg_shell *xdg_shell;
35 double output_x, output_y;
37 struct tinyds_output *output;
38 struct tinyds_dpms *dpms;
39 struct tinyds_policy *policy;
40 struct tinyds_launch *launch;
41 struct tinyds_input_devicemgr *input_devicemgr;
43 struct wl_event_source *stdin_source;
47 struct wl_listener new_output;
48 struct wl_listener new_input;
49 struct wl_listener new_xdg_surface;
51 struct wl_list keyboards;
52 struct wl_list pointers;
54 struct tinyds_text_input *text_input;
55 struct tinyds_input_method *input_method;
60 struct tinyds_server *server;
62 struct tinyds_texture *texture;
63 struct ds_xdg_surface *xdg_surface;
65 struct wl_listener xdg_surface_map;
66 struct wl_listener xdg_surface_unmap;
67 struct wl_listener xdg_surface_destroy;
68 struct wl_listener surface_commit;
69 struct wl_list link; // tinyds_server::views
71 struct ds_tdm_output_hwc_window *hwc_window;
80 struct tinyds_view *tinyds_server_view_at(struct tinyds_server *server,
81 double lx, double ly, double *sx, double *sy);
82 struct tinyds_view *tinyds_server_get_focused_view(struct tinyds_server *server);
83 void tinyds_server_get_output_size(struct tinyds_server *server,
84 int *output_w, int *output_h);