Move weston_output_set_cursor into compositor-drm.c
First step towards moving hw cursor handling into compositor-drm.c a its
general overlay handling.
diff --git a/src/compositor.c b/src/compositor.c
index 4cd8d99..f99afc6 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -268,7 +268,7 @@
}
}
-static void
+WL_EXPORT void
weston_surface_damage_below(struct weston_surface *surface)
{
struct weston_surface *below;
@@ -902,48 +902,6 @@
}
}
-static void
-weston_output_set_cursor(struct weston_output *output,
- struct wl_input_device *dev)
-{
- struct weston_input_device *device =
- (struct weston_input_device *) dev;
- pixman_region32_t cursor_region;
- int prior_was_hardware;
-
- if (device->sprite == NULL)
- return;
-
- pixman_region32_init(&cursor_region);
- pixman_region32_intersect(&cursor_region,
- &device->sprite->transform.boundingbox,
- &output->region);
-
- if (!pixman_region32_not_empty(&cursor_region)) {
- output->set_hardware_cursor(output, NULL);
- goto out;
- }
-
- prior_was_hardware = device->hw_cursor;
- if (device->sprite->overlapped ||
- output->set_hardware_cursor(output, device) < 0) {
- if (prior_was_hardware) {
- weston_surface_damage(device->sprite);
- output->set_hardware_cursor(output, NULL);
- }
- device->hw_cursor = 0;
- } else {
- if (!prior_was_hardware)
- weston_surface_damage_below(device->sprite);
- pixman_region32_fini(&device->sprite->damage);
- pixman_region32_init(&device->sprite->damage);
- device->hw_cursor = 1;
- }
-
-out:
- pixman_region32_fini(&cursor_region);
-}
-
struct weston_frame_callback {
struct wl_resource resource;
struct wl_list link;
@@ -995,8 +953,6 @@
*/
output->assign_planes(output);
- weston_output_set_cursor(output, ec->input_device);
-
wl_list_for_each(es, &ec->surface_list, link) {
pixman_region32_subtract(&es->damage, &es->damage, &opaque);
pixman_region32_union(&new_damage, &new_damage, &es->damage);