Add origin information to output.geometry event

This commit is contained in:
Kristian Høgsberg 2010-12-01 20:10:10 -05:00
parent aa82767c98
commit f8fc08f771
4 changed files with 9 additions and 5 deletions

View file

@ -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;
} }

View file

@ -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;
} }

View file

@ -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);
} }

View file

@ -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>