diff options
| author | Kristian Høgsberg <krh@redhat.com> | 2008-11-26 12:57:31 -0500 |
|---|---|---|
| committer | Kristian Høgsberg <krh@redhat.com> | 2008-11-26 12:57:31 -0500 |
| commit | 44f36e3585cf7bb1ba8e73febabb7facf5cd6151 (patch) | |
| tree | 5a9de67f6de5443613b1d380dd9bd3d6fced2461 /flower.c | |
| parent | Add .gitignore. (diff) | |
| download | wayland-44f36e3585cf7bb1ba8e73febabb7facf5cd6151.tar wayland-44f36e3585cf7bb1ba8e73febabb7facf5cd6151.tar.gz wayland-44f36e3585cf7bb1ba8e73febabb7facf5cd6151.tar.bz2 wayland-44f36e3585cf7bb1ba8e73febabb7facf5cd6151.tar.lz wayland-44f36e3585cf7bb1ba8e73febabb7facf5cd6151.tar.xz wayland-44f36e3585cf7bb1ba8e73febabb7facf5cd6151.tar.zst wayland-44f36e3585cf7bb1ba8e73febabb7facf5cd6151.zip | |
Make ack event signal that the requests have been composited.
Diffstat (limited to 'flower.c')
| -rw-r--r-- | flower.c | 22 |
1 files changed, 15 insertions, 7 deletions
@@ -82,23 +82,30 @@ draw_stuff(int width, int height) } struct flower { + struct wl_display *display; struct wl_surface *surface; int i; int x, y, width, height; }; -static gboolean -move_flower(gpointer data) +static void +move_flower(struct flower *flower) { - struct flower *flower = data; - wl_surface_map(flower->surface, flower->x + cos(flower->i / 31.0) * 400 - flower->width / 2, flower->y + sin(flower->i / 27.0) * 300 - flower->height / 2, flower->width, flower->height); flower->i++; + wl_display_commit(flower->display, 0); +} - return TRUE; +static void +event_handler(struct wl_display *display, + uint32_t object, uint32_t opcode, + uint32_t size, uint32_t *p, void *data) +{ + if (object == 1) + move_flower(data); } int main(int argc, char *argv[]) @@ -129,6 +136,7 @@ int main(int argc, char *argv[]) source = wayland_source_new(display); g_source_attach(source, NULL); + flower.display = display; flower.x = 512; flower.y = 384; flower.width = 200; @@ -144,8 +152,8 @@ int main(int argc, char *argv[]) wl_surface_attach(flower.surface, buffer->name, flower.width, flower.height, buffer->stride); - - g_timeout_add(20, move_flower, &flower); + wl_display_set_event_handler(display, event_handler, &flower); + move_flower(&flower); g_main_loop_run(loop); |
