2017-05-07 18:26:48 +02:00
|
|
|
#ifndef _WLR_WAYLAND_INTERNAL_H
|
|
|
|
#define _WLR_WAYLAND_INTERNAL_H
|
|
|
|
|
|
|
|
#include <wayland-server.h>
|
2017-05-31 22:24:32 +02:00
|
|
|
#include <wlr/types.h>
|
2017-05-07 18:26:48 +02:00
|
|
|
#include <stdbool.h>
|
|
|
|
|
|
|
|
struct wlr_output_impl {
|
2017-05-31 21:38:26 +02:00
|
|
|
void (*enable)(struct wlr_output_state *state, bool enable);
|
2017-06-06 17:48:30 +02:00
|
|
|
bool (*set_mode)(struct wlr_output_state *state,
|
|
|
|
struct wlr_output_mode *mode);
|
|
|
|
void (*transform)(struct wlr_output_state *state,
|
|
|
|
enum wl_output_transform transform);
|
2017-06-16 21:38:34 +02:00
|
|
|
bool (*set_cursor)(struct wlr_output_state *state,
|
|
|
|
const uint8_t *buf, int32_t stride, uint32_t width, uint32_t height);
|
|
|
|
bool (*move_cursor)(struct wlr_output_state *state, int x, int y);
|
2017-05-07 18:26:48 +02:00
|
|
|
void (*destroy)(struct wlr_output_state *state);
|
|
|
|
};
|
|
|
|
|
|
|
|
struct wlr_output *wlr_output_create(struct wlr_output_impl *impl,
|
|
|
|
struct wlr_output_state *state);
|
|
|
|
void wlr_output_free(struct wlr_output *output);
|
|
|
|
|
2017-06-09 23:31:21 +02:00
|
|
|
struct wlr_keyboard_impl {
|
|
|
|
void (*destroy)(struct wlr_keyboard_state *state);
|
|
|
|
};
|
|
|
|
|
|
|
|
struct wlr_keyboard *wlr_keyboard_create(struct wlr_keyboard_impl *impl,
|
|
|
|
struct wlr_keyboard_state *state);
|
|
|
|
void wlr_keyboard_destroy(struct wlr_keyboard *keyboard);
|
|
|
|
|
|
|
|
struct wlr_pointer_impl {
|
|
|
|
void (*destroy)(struct wlr_pointer_state *state);
|
|
|
|
};
|
|
|
|
|
|
|
|
struct wlr_pointer *wlr_pointer_create(struct wlr_pointer_impl *impl,
|
|
|
|
struct wlr_pointer_state *state);
|
|
|
|
void wlr_pointer_destroy(struct wlr_pointer *pointer);
|
|
|
|
|
2017-06-14 17:40:03 +02:00
|
|
|
struct wlr_touch_impl {
|
|
|
|
void (*destroy)(struct wlr_touch_state *state);
|
|
|
|
};
|
|
|
|
|
|
|
|
struct wlr_touch *wlr_touch_create(struct wlr_touch_impl *impl,
|
|
|
|
struct wlr_touch_state *state);
|
|
|
|
void wlr_touch_destroy(struct wlr_touch *touch);
|
|
|
|
|
2017-06-15 20:32:28 +02:00
|
|
|
struct wlr_tablet_tool_impl {
|
|
|
|
void (*destroy)(struct wlr_tablet_tool_state *tool);
|
|
|
|
};
|
|
|
|
|
|
|
|
struct wlr_tablet_tool *wlr_tablet_tool_create(struct wlr_tablet_tool_impl *impl,
|
|
|
|
struct wlr_tablet_tool_state *state);
|
|
|
|
void wlr_tablet_tool_destroy(struct wlr_tablet_tool *tool);
|
|
|
|
|
2017-06-10 18:21:54 +02:00
|
|
|
struct wlr_input_device_impl {
|
|
|
|
void (*destroy)(struct wlr_input_device_state *state);
|
|
|
|
};
|
|
|
|
|
2017-06-09 23:31:21 +02:00
|
|
|
struct wlr_input_device *wlr_input_device_create(
|
2017-06-10 18:21:54 +02:00
|
|
|
enum wlr_input_device_type type,
|
|
|
|
struct wlr_input_device_impl *impl,
|
|
|
|
struct wlr_input_device_state *state,
|
|
|
|
const char *name, int vendor, int product);
|
2017-06-09 23:31:21 +02:00
|
|
|
void wlr_input_device_destroy(struct wlr_input_device *dev);
|
|
|
|
|
2017-05-07 18:26:48 +02:00
|
|
|
#endif
|