Implement text cursor position protocol.
Here we create a new client/compositor interface in weston to allow
clients to report their x/y cursor position to the compositor. These
values are then used to center the zoom area on this point. This
is useful for everyone, especially people who are visually impaired.
diff --git a/src/compositor.h b/src/compositor.h
index 5752e81..09cd215 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -82,6 +82,11 @@
int32_t left, right, top, bottom;
};
+enum {
+ ZOOM_POINTER,
+ ZOOM_TEXT_CURSOR
+};
+
struct weston_output_zoom {
int active;
float increment;
@@ -561,7 +566,10 @@
void
weston_compositor_shutdown(struct weston_compositor *ec);
void
-weston_output_update_zoom(struct weston_output *output, int x, int y);
+weston_output_update_zoom(struct weston_output *output,
+ int x, int y, uint32_t type);
+void
+weston_text_cursor_position_notify(struct weston_surface *surface, int x, int y);
void
weston_output_update_matrix(struct weston_output *output);
void
@@ -598,6 +606,9 @@
void
screenshooter_create(struct weston_compositor *ec);
+void
+text_cursor_position_notifier_create(struct weston_compositor *ec);
+
struct weston_process;
typedef void (*weston_process_cleanup_func_t)(struct weston_process *process,
int status);