Add origin information to output.geometry event

dev
Kristian Høgsberg 14 years ago
parent aa82767c98
commit f8fc08f771
  1. 6
      clients/window.c
  2. 5
      compositor/compositor-wayland.c
  3. 1
      compositor/compositor.c
  4. 2
      protocol/wayland.xml

@ -1272,12 +1272,12 @@ static const struct wl_drm_listener drm_listener = {
static void static void
display_handle_geometry(void *data, display_handle_geometry(void *data,
struct wl_output *output, struct wl_output *output,
int32_t width, int32_t height) int32_t x, int32_t y, int32_t width, int32_t height)
{ {
struct display *display = data; struct display *display = data;
display->screen_allocation.x = 0; display->screen_allocation.x = x;
display->screen_allocation.y = 0; display->screen_allocation.y = y;
display->screen_allocation.width = width; display->screen_allocation.width = width;
display->screen_allocation.height = height; display->screen_allocation.height = height;
} }

@ -316,12 +316,13 @@ create_invisible_pointer(struct wayland_compositor *c)
static void static void
display_handle_geometry(void *data, display_handle_geometry(void *data,
struct wl_output *output, struct wl_output *output,
int32_t x, int32_t y,
int32_t width, int32_t height) int32_t width, int32_t height)
{ {
struct wayland_compositor *c = data; struct wayland_compositor *c = data;
c->parent.screen_allocation.x = 0; c->parent.screen_allocation.x = x;
c->parent.screen_allocation.y = 0; c->parent.screen_allocation.y = y;
c->parent.screen_allocation.width = width; c->parent.screen_allocation.width = width;
c->parent.screen_allocation.height = height; c->parent.screen_allocation.height = height;
} }

@ -1199,6 +1199,7 @@ wlsc_output_post_geometry(struct wl_client *client, struct wl_object *global)
wl_client_post_event(client, global, wl_client_post_event(client, global,
WL_OUTPUT_GEOMETRY, WL_OUTPUT_GEOMETRY,
output->x, output->y,
output->width, output->height); output->width, output->height);
} }

@ -378,6 +378,8 @@
<interface name="output" version="1"> <interface name="output" version="1">
<!-- Notification about the screen size. --> <!-- Notification about the screen size. -->
<event name="geometry"> <event name="geometry">
<arg name="x" type="int"/>
<arg name="y" type="int"/>
<arg name="width" type="int"/> <arg name="width" type="int"/>
<arg name="height" type="int"/> <arg name="height" type="int"/>
</event> </event>

Loading…
Cancel
Save