diff options
Diffstat (limited to 'egl-compositor.c')
| -rw-r--r-- | egl-compositor.c | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/egl-compositor.c b/egl-compositor.c index c37ea12..dbfd48d 100644 --- a/egl-compositor.c +++ b/egl-compositor.c @@ -178,11 +178,36 @@ notify_surface_map(struct wl_compositor *compositor, schedule_repaint(ec); } +static void +notify_surface_copy(struct wl_compositor *compositor, + struct wl_surface *surface, + int32_t dst_x, int32_t dst_y, + uint32_t name, uint32_t stride, + int32_t x, int32_t y, int32_t width, int32_t height) +{ + /* FIXME: Eek, how do we do this... extend the DRI CopyBuffer + * extension and expose it in eagle? Make the surface the + * draw buffer and the named buffer the read buffer and use + * glCopyPixels? */ +} + +static void +notify_surface_damage(struct wl_compositor *compositor, + struct wl_surface *surface) +{ + struct egl_compositor *ec = (struct egl_compositor *) compositor; + + /* FIXME: This need to take a damage region, of course. */ + schedule_repaint(ec); +} + static const struct wl_compositor_interface interface = { notify_surface_create, notify_surface_destroy, notify_surface_attach, - notify_surface_map + notify_surface_map, + notify_surface_copy, + notify_surface_damage }; static const char gem_device[] = "/dev/dri/card0"; |
