Merge remote-tracking branch 'origin/master' into hidpi

This commit is contained in:
Drew DeVault 2017-11-02 23:34:02 -04:00
commit 86b8729998
48 changed files with 499 additions and 198 deletions

View file

@ -2,6 +2,7 @@
#define WLR_INTERFACES_WLR_OUTPUT_H
#include <stdbool.h>
#include <wlr/types/wlr_box.h>
#include <wlr/types/wlr_output.h>
#include <wlr/backend.h>
@ -31,4 +32,8 @@ struct wl_global *wlr_output_create_global(struct wlr_output *wlr_output,
struct wl_display *display);
void wlr_output_destroy_global(struct wlr_output *wlr_output);
void wlr_output_transform_apply_to_box(enum wl_output_transform transform,
struct wlr_box *box, struct wlr_box *dest);
enum wl_output_transform wlr_output_transform_invert(enum wl_output_transform);
#endif

View file

@ -1,9 +1,9 @@
#ifndef WLR_TYPES_WLR_OUTPUT_H
#define WLR_TYPES_WLR_OUTPUT_H
#include <stdbool.h>
#include <wayland-util.h>
#include <wayland-server.h>
#include <stdbool.h>
struct wlr_output_mode {
uint32_t flags; // enum wl_output_mode
@ -15,10 +15,12 @@ struct wlr_output_mode {
struct wlr_output_cursor {
struct wlr_output *output;
int32_t x, y;
bool enabled;
uint32_t width, height;
int32_t hotspot_x, hotspot_y;
struct wl_list link;
// only when using a software cursor without a surface
struct wlr_renderer *renderer;
struct wlr_texture *texture;
@ -44,8 +46,9 @@ struct wlr_output {
uint32_t scale;
int32_t width, height;
int32_t phys_width, phys_height; // mm
int32_t subpixel; // enum wl_output_subpixel
int32_t transform; // enum wl_output_transform
enum wl_output_subpixel subpixel;
enum wl_output_transform transform;
bool needs_swap;
float transform_matrix[16];

View file

@ -142,6 +142,7 @@ struct wlr_seat {
struct wlr_seat_pointer_request_set_cursor_event {
struct wlr_seat_client *seat_client;
struct wlr_surface *surface;
uint32_t serial;
int32_t hotspot_x, hotspot_y;
};

View file

@ -12,6 +12,7 @@
#endif
struct wlr_xwm;
struct wlr_xwayland_cursor;
struct wlr_xwayland {
pid_t pid;
@ -25,6 +26,7 @@ struct wlr_xwayland {
struct wl_event_source *sigusr1_source;
struct wl_listener destroy_listener;
struct wlr_xwm *xwm;
struct wlr_xwayland_cursor *cursor;
struct {
struct wl_signal new_surface;
@ -148,6 +150,10 @@ struct wlr_xwayland *wlr_xwayland_create(struct wl_display *wl_display,
void wlr_xwayland_destroy(struct wlr_xwayland *wlr_xwayland);
void wlr_xwayland_set_cursor(struct wlr_xwayland *wlr_xwayland,
uint8_t *pixels, uint32_t stride, uint32_t width, uint32_t height,
int32_t hotspot_x, int32_t hotspot_y);
void wlr_xwayland_surface_activate(struct wlr_xwayland *wlr_xwayland,
struct wlr_xwayland_surface *surface, bool activated);