aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/rootston/config.h1
-rw-r--r--include/rootston/view.h4
-rw-r--r--include/wlr/types/wlr_data_device.h5
-rw-r--r--include/wlr/types/wlr_keyboard.h3
-rw-r--r--include/wlr/types/wlr_output.h5
-rw-r--r--include/wlr/types/wlr_seat.h12
-rw-r--r--include/wlr/types/wlr_surface.h9
7 files changed, 25 insertions, 14 deletions
diff --git a/include/rootston/config.h b/include/rootston/config.h
index 75c04619..e0466117 100644
--- a/include/rootston/config.h
+++ b/include/rootston/config.h
@@ -8,6 +8,7 @@ struct output_config {
char *name;
enum wl_output_transform transform;
int x, y;
+ int scale;
struct wl_list link;
struct {
int width, height;
diff --git a/include/rootston/view.h b/include/rootston/view.h
index 956ba1d3..f0d102cd 100644
--- a/include/rootston/view.h
+++ b/include/rootston/view.h
@@ -84,7 +84,7 @@ struct roots_view {
// configure event from the xdg_shell
// If not then this should follow the typical type/impl pattern we use
// elsewhere
- void (*get_size)(struct roots_view *view, struct wlr_box *box);
+ void (*get_size)(const struct roots_view *view, struct wlr_box *box);
void (*activate)(struct roots_view *view, bool active);
void (*move)(struct roots_view *view, double x, double y);
void (*resize)(struct roots_view *view, uint32_t width, uint32_t height);
@@ -94,7 +94,7 @@ struct roots_view {
void (*close)(struct roots_view *view);
};
-void view_get_size(struct roots_view *view, struct wlr_box *box);
+void view_get_size(const struct roots_view *view, struct wlr_box *box);
void view_activate(struct roots_view *view, bool active);
void view_move(struct roots_view *view, double x, double y);
void view_resize(struct roots_view *view, uint32_t width, uint32_t height);
diff --git a/include/wlr/types/wlr_data_device.h b/include/wlr/types/wlr_data_device.h
index 691e2df8..f45c15a2 100644
--- a/include/wlr/types/wlr_data_device.h
+++ b/include/wlr/types/wlr_data_device.h
@@ -75,6 +75,11 @@ struct wlr_data_device_manager *wlr_data_device_manager_create(
struct wl_display *display);
/**
+ * Destroys a wlr_data_device_manager and removes its wl_data_device_manager global.
+ */
+void wlr_data_device_manager_destroy(struct wlr_data_device_manager *manager);
+
+/**
* Creates a new wl_data_offer if there is a wl_data_source currently set as
* the seat selection and sends it to the seat client, followed by the
* wl_data_device.selection() event. If there is no current selection, the
diff --git a/include/wlr/types/wlr_keyboard.h b/include/wlr/types/wlr_keyboard.h
index af837ff5..e2d50b03 100644
--- a/include/wlr/types/wlr_keyboard.h
+++ b/include/wlr/types/wlr_keyboard.h
@@ -28,6 +28,8 @@ enum wlr_keyboard_modifier {
WLR_MODIFIER_MOD5 = 128,
};
+#define WLR_KEYBOARD_KEYS_CAP 32
+
struct wlr_keyboard_impl;
struct wlr_keyboard {
@@ -41,6 +43,7 @@ struct wlr_keyboard {
xkb_led_index_t led_indexes[WLR_LED_COUNT];
xkb_mod_index_t mod_indexes[WLR_MODIFIER_COUNT];
+ uint32_t keycodes[WLR_KEYBOARD_KEYS_CAP];
struct {
xkb_mod_mask_t depressed;
xkb_mod_mask_t latched;
diff --git a/include/wlr/types/wlr_output.h b/include/wlr/types/wlr_output.h
index e6323f9c..df123639 100644
--- a/include/wlr/types/wlr_output.h
+++ b/include/wlr/types/wlr_output.h
@@ -14,7 +14,7 @@ struct wlr_output_mode {
struct wlr_output_cursor {
struct wlr_output *output;
- int32_t x, y;
+ double x, y;
bool enabled;
uint32_t width, height;
int32_t hotspot_x, hotspot_y;
@@ -95,7 +95,8 @@ bool wlr_output_cursor_set_image(struct wlr_output_cursor *cursor,
int32_t hotspot_x, int32_t hotspot_y);
void wlr_output_cursor_set_surface(struct wlr_output_cursor *cursor,
struct wlr_surface *surface, int32_t hotspot_x, int32_t hotspot_y);
-bool wlr_output_cursor_move(struct wlr_output_cursor *cursor, int x, int y);
+bool wlr_output_cursor_move(struct wlr_output_cursor *cursor,
+ double x, double y);
void wlr_output_cursor_destroy(struct wlr_output_cursor *cursor);
#endif
diff --git a/include/wlr/types/wlr_seat.h b/include/wlr/types/wlr_seat.h
index b8b467d2..09d3e282 100644
--- a/include/wlr/types/wlr_seat.h
+++ b/include/wlr/types/wlr_seat.h
@@ -45,9 +45,7 @@ struct wlr_keyboard_grab_interface {
struct wlr_surface *surface);
void (*key)(struct wlr_seat_keyboard_grab *grab, uint32_t time,
uint32_t key, uint32_t state);
- void (*modifiers)(struct wlr_seat_keyboard_grab *grab,
- uint32_t mods_depressed, uint32_t mods_latched,
- uint32_t mods_locked, uint32_t group);
+ void (*modifiers)(struct wlr_seat_keyboard_grab *grab);
void (*cancel)(struct wlr_seat_keyboard_grab *grab);
};
@@ -296,17 +294,13 @@ void wlr_seat_keyboard_notify_key(struct wlr_seat *seat, uint32_t time,
* Send the modifier state to focused keyboard resources. Compositors should use
* `wlr_seat_keyboard_notify_modifiers()` to respect any keyboard grabs.
*/
-void wlr_seat_keyboard_send_modifiers(struct wlr_seat *seat,
- uint32_t mods_depressed, uint32_t mods_latched, uint32_t mods_locked,
- uint32_t group);
+void wlr_seat_keyboard_send_modifiers(struct wlr_seat *seat);
/**
* Notify the seat that the modifiers for the keyboard have changed. Defers to
* any keyboard grabs.
*/
-void wlr_seat_keyboard_notify_modifiers(struct wlr_seat *seat,
- uint32_t mods_depressed, uint32_t mods_latched, uint32_t mods_locked,
- uint32_t group);
+void wlr_seat_keyboard_notify_modifiers(struct wlr_seat *seat);
/**
* Notify the seat that the keyboard focus has changed and request it to be the
diff --git a/include/wlr/types/wlr_surface.h b/include/wlr/types/wlr_surface.h
index ea4184aa..cea53109 100644
--- a/include/wlr/types/wlr_surface.h
+++ b/include/wlr/types/wlr_surface.h
@@ -1,10 +1,10 @@
#ifndef WLR_TYPES_WLR_SURFACE_H
#define WLR_TYPES_WLR_SURFACE_H
-
#include <wayland-server.h>
#include <pixman.h>
#include <stdint.h>
#include <stdbool.h>
+#include <wlr/types/wlr_output.h>
struct wlr_frame_callback {
struct wl_resource *resource;
@@ -135,4 +135,11 @@ struct wlr_surface *wlr_surface_get_main_surface(struct wlr_surface *surface);
*/
struct wlr_subsurface *wlr_surface_subsurface_at(struct wlr_surface *surface,
double sx, double sy, double *sub_x, double *sub_y);
+
+void wlr_surface_send_enter(struct wlr_surface *surface,
+ struct wlr_output *output);
+
+void wlr_surface_send_leave(struct wlr_surface *surface,
+ struct wlr_output *output);
+
#endif