#include "../shared/config-parser.h"
#include "weston-egl-ext.h"
+#define ARRAY_LENGTH(a) (sizeof (a) / sizeof (a)[0])
+
+#define container_of(ptr, type, member) ({ \
+ const __typeof__( ((type *)0)->member ) *__mptr = (ptr); \
+ (type *)( (char *)__mptr - offsetof(type,member) );})
struct weston_transform {
struct weston_matrix matrix;
struct weston_plane {
pixman_region32_t damage;
+ pixman_region32_t opaque;
int32_t x, y;
};
struct wl_listener buffer_destroy_listener;
int32_t sx;
int32_t sy;
+
+ /* wl_surface.damage */
+ pixman_region32_t damage;
+
+ /* wl_surface.set_opaque_region */
+ pixman_region32_t opaque;
+
+ /* wl_surface.set_input_region */
+ pixman_region32_t input;
+
+ /* wl_surface.frame */
+ struct wl_list frame_callback_list;
} pending;
/*
weston_seat_init(struct weston_seat *seat, struct weston_compositor *ec);
void
weston_seat_init_pointer(struct weston_seat *seat);
-void
+int
weston_seat_init_keyboard(struct weston_seat *seat, struct xkb_keymap *keymap);
void
weston_seat_init_touch(struct weston_seat *seat);