2017-05-07 16:26:48 +00:00
|
|
|
#ifndef _WLR_WAYLAND_INTERNAL_H
|
|
|
|
#define _WLR_WAYLAND_INTERNAL_H
|
|
|
|
|
|
|
|
#include <wayland-server.h>
|
2017-05-31 20:24:32 +00:00
|
|
|
#include <wlr/types.h>
|
2017-05-07 16:26:48 +00:00
|
|
|
#include <stdbool.h>
|
|
|
|
|
|
|
|
struct wlr_output_impl {
|
2017-05-31 19:38:26 +00:00
|
|
|
void (*enable)(struct wlr_output_state *state, bool enable);
|
2017-06-06 15:48:30 +00: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 19:38:34 +00: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 16:26:48 +00: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-20 21:51:45 +00:00
|
|
|
void wlr_output_update_matrix(struct wlr_output *output);
|
2017-05-07 16:26:48 +00:00
|
|
|
|
2017-06-09 21:31:21 +00:00
|
|
|
struct wlr_keyboard_impl {
|
|
|
|
void (*destroy)(struct wlr_keyboard_state *state);
|
2017-06-19 19:15:37 +00:00
|
|
|
void (*led_update)(struct wlr_keyboard_state *state, uint32_t leds);
|
2017-06-09 21:31:21 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
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 15:40:03 +00: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 18:32:28 +00: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-19 18:49:07 +00:00
|
|
|
struct wlr_tablet_pad_impl {
|
|
|
|
void (*destroy)(struct wlr_tablet_pad_state *pad);
|
|
|
|
};
|
|
|
|
|
|
|
|
struct wlr_tablet_pad *wlr_tablet_pad_create(struct wlr_tablet_pad_impl *impl,
|
|
|
|
struct wlr_tablet_pad_state *state);
|
|
|
|
void wlr_tablet_pad_destroy(struct wlr_tablet_pad *pad);
|
|
|
|
|
2017-06-10 16:21:54 +00:00
|
|
|
struct wlr_input_device_impl {
|
|
|
|
void (*destroy)(struct wlr_input_device_state *state);
|
|
|
|
};
|
|
|
|
|
2017-06-09 21:31:21 +00:00
|
|
|
struct wlr_input_device *wlr_input_device_create(
|
2017-06-10 16:21:54 +00: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 21:31:21 +00:00
|
|
|
void wlr_input_device_destroy(struct wlr_input_device *dev);
|
|
|
|
|
2017-05-07 16:26:48 +00:00
|
|
|
#endif
|