summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Eduardo Rodrigues DiÃgenes <cerdiogenes@gmail.com>2010-01-27 20:33:14 -0200
committerCarlos Eduardo Rodrigues DiÃgenes <cerdiogenes@gmail.com>2010-01-27 20:35:55 -0200
commitef530736fec7c45c4853b7d654d7b94a24060d1a (patch)
treeb4c2847145b3c250652b1dfc6fee678c6e6268de
parent9797b9055d7275db4a01548d01e64946f5cf5692 (diff)
Committing set and get methods, related to the magnifier, that was exposed throw CORBA property bag as D-BUS methods.
-rw-r--r--magnifier/magnifier.c391
-rw-r--r--magnifier/magnifier.h48
-rwxr-xr-xxml/org.freedesktop.gnome.Magnifier.xml227
3 files changed, 650 insertions, 16 deletions
diff --git a/magnifier/magnifier.c b/magnifier/magnifier.c
index 88e1254..4c3adba 100644
--- a/magnifier/magnifier.c
+++ b/magnifier/magnifier.c
@@ -981,10 +981,10 @@ magnifier_set_target_size (gpointer data)
{
Magnifier *magnifier = (Magnifier *) data;
- magnifier->target_bounds.x1 = 150;
- magnifier->target_bounds.y1 = 150;
- magnifier->target_bounds.x2 = 300;
- magnifier->target_bounds.y2 = 300;
+ magnifier->target_bounds.x1 = 0;
+ magnifier->target_bounds.y1 = 0;
+ magnifier->target_bounds.x2 = 150;
+ magnifier->target_bounds.y2 = 150;
if (magnifier->priv->overlay)
gdk_window_move_resize (magnifier->priv->overlay,
@@ -1010,6 +1010,387 @@ magnifier_set_target_size (gpointer data)
magnifier_adjust_source_size (magnifier);
}
+gboolean
+impl_dbus_magnifier_set_source_display (Magnifier *magnifier, gchar *source_display)
+{
+ gchar *full_display_string = source_display;
+ if (can_open_display (full_display_string))
+ {
+ GSList *zoom_region_params = NULL;
+ magnifier->source_screen_num =
+ magnifier_parse_display_name (magnifier,
+ full_display_string,
+ NULL);
+ magnifier->source_display =
+ gdk_display_open (full_display_string);
+ magnifier->source_display_name = g_strdup (full_display_string);
+ zoom_region_params = magnifier_zoom_regions_save (magnifier);
+ magnifier->priv->root =
+ gdk_screen_get_root_window (
+ gdk_display_get_screen (
+ magnifier->source_display,
+ magnifier->source_screen_num));
+
+ /* remove the source_drawable, since in the new display the
+ * composite can be unavailable and the source_drawable is
+ * where the desktop screen is composed. If this is not
+ * freed it will be used even if the display doesn't use
+ * composite what will lead to wrong behavior and crashes.
+ * If composite is used in the new display this variable is
+ * re-created */
+ if (magnifier->priv->source_drawable) {
+ g_object_unref (magnifier->priv->source_drawable);
+ magnifier->priv->source_drawable = NULL;
+ }
+
+ /* attach listeners for DAMAGE, "dirty region", XFIXES
+ * cursor changes */
+ magnifier_set_extension_listeners (magnifier, magnifier_get_root (magnifier));
+ magnifier_get_display_rect_bounds (magnifier, &magnifier->source_bounds, FALSE);
+ magnifier_adjust_source_size (magnifier);
+ magnifier_zoom_regions_restore (magnifier, zoom_region_params);
+ magnifier_warp_cursor_to_screen (magnifier);
+ gmag_gs_check_set_struts (magnifier);
+ gmag_gs_reset_overlay_at_idle (magnifier);
+ }
+ DBG(fprintf (stderr, "Set source display: \t%s\n", full_display_string));
+
+ return TRUE;
+}
+
+gchar*
+impl_dbus_magnifier_get_source_display (Magnifier *magnifier)
+{
+ return g_strdup (magnifier->source_display_name);
+}
+
+gboolean
+impl_dbus_magnifier_set_target_display (Magnifier *magnifier, gchar *target_display)
+{
+ gchar *full_display_string = target_display;
+ if (can_open_display (full_display_string))
+ {
+ magnifier->target_screen_num =
+ magnifier_parse_display_name (magnifier,
+ full_display_string,
+ NULL);
+ magnifier->target_display =
+ gdk_display_open (full_display_string);
+ magnifier->target_display_name = g_strdup (full_display_string);
+ if (GTK_IS_WINDOW (magnifier->priv->w))
+ {
+#ifdef REPARENT_GTK_WINDOW_WORKS
+ gtk_window_set_screen (GTK_WINDOW (magnifier->priv->w),
+ gdk_display_get_screen (
+ magnifier->target_display,
+ magnifier->target_screen_num));
+#else
+ GSList *zoom_region_params = NULL;
+ /* disconnect from the old window's destroy signal */
+ g_object_disconnect (magnifier->priv->w,
+ "any_signal::realize", magnifier_realize, NULL,
+ "any_signal::size_allocate", magnifier_size_allocate, NULL,
+ "any_signal::destroy", magnifier_exit, NULL,
+ NULL);
+ /* save the old zoom region state */
+ zoom_region_params = magnifier_zoom_regions_save (magnifier);
+ /* destroy the old window */
+ gtk_widget_destroy (magnifier->priv->w);
+ /* and re-initialize... */
+ magnifier_init_window (magnifier, gdk_display_get_screen (
+ magnifier->target_display,
+ magnifier->target_screen_num));
+ /* restore the zoom regions in their new host magnifier window */
+ magnifier_zoom_regions_restore (magnifier, zoom_region_params);
+#endif
+ }
+ magnifier_get_display_rect_bounds (magnifier, &magnifier->source_bounds, FALSE);
+ magnifier_init_cursor_set (magnifier, magnifier->cursor_set); /* needed to reset pixmaps */
+ if (magnifier->priv->overlay)
+ gdk_window_move (magnifier->priv->overlay,
+ magnifier->target_bounds.x1,
+ magnifier->target_bounds.y1);
+ else
+ gtk_window_move (GTK_WINDOW (magnifier->priv->w),
+ magnifier->target_bounds.x1,
+ magnifier->target_bounds.y1);
+
+ if ((magnifier->target_bounds.x2 - magnifier->target_bounds.x1 > 0) &&
+ (magnifier->target_bounds.y2 - magnifier->target_bounds.y1) > 0)
+ {
+ if (magnifier->priv->overlay)
+ gdk_window_resize (
+ magnifier->priv->overlay,
+ magnifier->target_bounds.x2 -
+ magnifier->target_bounds.x1,
+ magnifier->target_bounds.y2 -
+ magnifier->target_bounds.y1);
+ gtk_window_resize (GTK_WINDOW (magnifier->priv->w),
+ magnifier->target_bounds.x2 - magnifier->target_bounds.x1,
+ magnifier->target_bounds.y2 - magnifier->target_bounds.y1);
+ DBG(fprintf (stderr, "Set target size: \t%d,%d to %d,%d\n",
+ magnifier->target_bounds.x1, magnifier->target_bounds.y1, magnifier->target_bounds.x2, magnifier->target_bounds.y2));
+ }
+ /* N. B. we don't reset the target bounds to the limits of the new display, because */
+ /* doing so would override the client-specified magnifier size */
+ /* magnifier_get_display_rect_bounds (magnifier, &magnifier->target_bounds, TRUE); */
+ gmag_gs_check_set_struts (magnifier);
+ }
+ DBG(fprintf (stderr, "Set target display: \t%s (screen %d)\n",
+ full_display_string, magnifier->target_screen_num));
+
+ return TRUE;
+}
+
+gchar*
+impl_dbus_magnifier_get_target_display (Magnifier *magnifier)
+{
+ return g_strdup (magnifier->target_display_name);
+}
+
+gboolean
+impl_dbus_magnifier_set_source_size (Magnifier *magnifier, gint32 **bounds)
+{
+ magnifier->source_bounds.x1 = (*bounds)[0];
+ magnifier->source_bounds.y1 = (*bounds)[1];
+ magnifier->source_bounds.x2 = (*bounds)[2];
+ magnifier->source_bounds.y2 = (*bounds)[3];
+ DBG (fprintf (stderr, "Set source size: \t%d,%d to %d,%d\n",
+ magnifier->source_bounds.x1, magnifier->source_bounds.y1, magnifier->source_bounds.x2, magnifier->source_bounds.y2));
+
+ return TRUE;
+}
+
+GArray*
+impl_dbus_magnifier_get_source_size (Magnifier *magnifier)
+{
+ GArray *ret = g_array_new (FALSE, FALSE, sizeof (gint32));
+
+ g_array_append_val (ret, magnifier->source_bounds.x1);
+ g_array_append_val (ret, magnifier->source_bounds.y1);
+ g_array_append_val (ret, magnifier->source_bounds.x2);
+ g_array_append_val (ret, magnifier->source_bounds.y2);
+
+ return ret;
+}
+
+gboolean
+impl_dbus_magnifier_set_target_size (Magnifier *magnifier, gint32 **bounds)
+{
+ magnifier->target_bounds.x1 = (*bounds)[0];
+ magnifier->target_bounds.y1 = (*bounds)[1];
+ magnifier->target_bounds.x2 = (*bounds)[2];
+ magnifier->target_bounds.y2 = (*bounds)[3];
+
+ if (magnifier->priv->overlay)
+ gdk_window_move_resize (magnifier->priv->overlay,
+ magnifier->target_bounds.x1,
+ magnifier->target_bounds.y1,
+ magnifier->target_bounds.x2 -
+ magnifier->target_bounds.x1,
+ magnifier->target_bounds.y2 -
+ magnifier->target_bounds.y1);
+ else
+ gtk_window_move (GTK_WINDOW (magnifier->priv->w),
+ magnifier->target_bounds.x1,
+ magnifier->target_bounds.y1);
+
+ gtk_window_resize (GTK_WINDOW (magnifier->priv->w),
+ magnifier->target_bounds.x2 - magnifier->target_bounds.x1,
+ magnifier->target_bounds.y2 - magnifier->target_bounds.y1);
+ gmag_gs_check_set_struts (magnifier);
+ DBG(fprintf (stderr, "Set target size: \t%d,%d to %d,%d\n",
+ magnifier->target_bounds.x1, magnifier->target_bounds.y1, magnifier->target_bounds.x2, magnifier->target_bounds.y2));
+ if (!strcmp (magnifier->target_display_name, magnifier->source_display_name) &&
+ (magnifier->target_screen_num == magnifier->source_screen_num))
+ magnifier_adjust_source_size (magnifier);
+
+ return TRUE;
+}
+
+GArray*
+impl_dbus_magnifier_get_target_size (Magnifier *magnifier)
+{
+ GArray *ret = g_array_new (FALSE, FALSE, sizeof (gint32));
+
+ g_array_append_val (ret, magnifier->target_bounds.x1);
+ g_array_append_val (ret, magnifier->target_bounds.y1);
+ g_array_append_val (ret, magnifier->target_bounds.x2);
+ g_array_append_val (ret, magnifier->target_bounds.y2);
+
+ return ret;
+}
+
+gboolean
+impl_dbus_magnifier_set_cursor_set (Magnifier *magnifier, gchar *cursor_set)
+{
+ magnifier_init_cursor_set (magnifier, g_strdup (cursor_set));
+ DBG (fprintf (stderr, "Setting cursor set: \t%s\n", cursor_set));
+
+ return TRUE;
+}
+
+gchar*
+impl_dbus_magnifier_get_cursor_set (Magnifier *magnifier)
+{
+ return g_strdup (magnifier->cursor_set);
+}
+
+gboolean
+impl_dbus_magnifier_set_cursor_size (Magnifier *magnifier, gint x, gint y)
+{
+ magnifier->cursor_size_x = x;
+ magnifier->cursor_size_y = y;
+ magnifier_transform_cursor (magnifier);
+ DBG (fprintf (stderr, "Setting cursor size: \t%d\n", magnifier->cursor_size_x));
+
+ return TRUE;
+}
+
+GArray*
+impl_dbus_magnifier_get_cursor_size (Magnifier *magnifier)
+{
+ GArray *ret = g_array_new (FALSE, FALSE, sizeof (gint));
+
+ g_array_append_val (ret, magnifier->cursor_size_x);
+ g_array_append_val (ret, magnifier->cursor_size_y);
+
+ return ret;
+}
+
+gboolean
+impl_dbus_magnifier_set_cursor_zoom (Magnifier *magnifier, double factor)
+{
+ magnifier->cursor_scale_factor = factor;
+ DBG (fprintf (stderr, "Setting cursor scale factor: \t%f\n", magnifier->cursor_scale_factor));
+ magnifier_transform_cursor (magnifier);
+
+ return TRUE;
+}
+
+double
+impl_dbus_magnifier_get_cursor_zoom (Magnifier *magnifier)
+{
+ return magnifier->cursor_scale_factor;
+}
+
+gboolean
+impl_dbus_magnifier_set_cursor_color (Magnifier *magnifier, guint32 color)
+{
+ magnifier->cursor_color = color;
+ magnifier_transform_cursor (magnifier);
+ DBG (fprintf (stderr, "Setting cursor color: \t%u\n", (unsigned) magnifier->cursor_color));
+
+ return TRUE;
+}
+
+guint32
+impl_dbus_magnifier_get_cursor_color (Magnifier *magnifier)
+{
+ return magnifier->cursor_color;
+}
+
+gboolean
+impl_dbus_magnifier_set_cursor_hotspot (Magnifier *magnifier, gint32 x, gint32 y)
+{
+ magnifier->cursor_hotspot.x = x;
+ magnifier->cursor_hotspot.y = y;
+ magnifier_transform_cursor (magnifier);
+
+ return TRUE;
+}
+
+GArray*
+impl_dbus_magnifier_get_cursor_hotspot (Magnifier *magnifier)
+{
+ GArray *ret = g_array_new (FALSE, FALSE, sizeof (gint32));
+
+ g_array_append_val (ret, magnifier->cursor_hotspot.x);
+ g_array_append_val (ret, magnifier->cursor_hotspot.y);
+
+ return ret;
+}
+
+gint32
+impl_dbus_magnifier_get_cursor_default_size (Magnifier *magnifier)
+{
+ gint32 csize;
+
+ if (magnifier->priv->cursor) {
+ gdk_drawable_get_size (magnifier->priv->cursor, &csize, &csize);
+ }
+
+ return csize;
+}
+
+gboolean
+impl_dbus_magnifier_set_crosswire_size (Magnifier *magnifier, gint size)
+{
+ magnifier->crosswire_size = size;
+ DBG (fprintf (stderr, "Setting crosswire size: \t%d\n", magnifier->crosswire_size));
+ magnifier_zoom_regions_update_pointer (magnifier);
+
+ return TRUE;
+}
+
+gint
+impl_dbus_magnifier_get_crosswire_size (Magnifier *magnifier)
+{
+ return magnifier->crosswire_size;
+}
+
+gboolean
+impl_dbus_magnifier_set_crosswire_length (Magnifier *magnifier, gint length)
+{
+ GNOME_Magnifier_RectBounds rect_bounds;
+ rect_bounds.x1 = 0;
+ rect_bounds.y1 = 0;
+ rect_bounds.x2 = 4096;
+ rect_bounds.y2 = 4096;
+
+ magnifier->crosswire_length = length;
+ DBG (fprintf (stderr, "Setting crosswire length: \t%d\n", magnifier->crosswire_length));
+ magnifier_zoom_regions_mark_dirty (magnifier, rect_bounds);
+
+ return TRUE;
+}
+
+gboolean
+impl_dbus_magnifier_set_crosswire_clip (Magnifier *magnifier, gboolean clip)
+{
+ magnifier->crosswire_clip = clip;
+ DBG (fprintf (stderr, "Setting crosswire clip: \t%s\n", magnifier->crosswire_clip ? "true" : "false"));
+ magnifier_zoom_regions_update_pointer (magnifier);
+
+ return TRUE;
+}
+
+gboolean
+impl_dbus_magnifier_get_crosswire_clip (Magnifier *magnifier)
+{
+ return magnifier->crosswire_clip;
+}
+
+gint
+impl_dbus_magnifier_get_crosswire_length (Magnifier *magnifier) {
+ return magnifier->crosswire_length;
+}
+
+gboolean
+impl_dbus_magnifier_set_crosswire_color (Magnifier *magnifier, guint32 color)
+{
+ magnifier->crosswire_color = color;
+ DBG (fprintf (stderr, "Setting crosswire color: \t%ld\n", (long) magnifier->crosswire_color));
+
+ return TRUE;
+}
+
+guint32
+impl_dbus_magnifier_get_crosswire_color (Magnifier *magnifier)
+{
+ return magnifier->crosswire_color;
+}
+
static void
magnifier_set_property (BonoboPropertyBag *bag,
BonoboArg *arg,
@@ -1395,7 +1776,7 @@ impl_dbus_magnifier_get_zoom_regions (Magnifier *magnifier)
int i, len;
len = g_list_length (magnifier->zoom_regions);
- list = g_malloc0 (sizeof (gchar) * len);
+ list = g_malloc0 (sizeof (gchar *) * len);
for (i = 0; i < len; ++i) {
zoom_region = g_list_nth_data (magnifier->zoom_regions_dbus, i);
list[i] = g_strdup (zoom_region->object_path);
diff --git a/magnifier/magnifier.h b/magnifier/magnifier.h
index 0127d10..8aab945 100644
--- a/magnifier/magnifier.h
+++ b/magnifier/magnifier.h
@@ -187,17 +187,43 @@ void magnifier_zoom_regions_update_pointer (Magnifier *magnifier);
gboolean magnifier_full_screen_capable (Magnifier *magnifier);
/* D-BUS methods */
-gboolean impl_dbus_magnifier_full_screen_capable (Magnifier *magnifier);
-gboolean impl_dbus_magnifier_hide_cursor (Magnifier *magnifier);
-gboolean impl_dbus_magnifier_show_cursor (Magnifier *magnifier);
-gboolean impl_dbus_magnifier_support_colorblind_filters (Magnifier *magnifier);
-gchar* impl_dbus_magnifier_create_zoom_region (Magnifier *magnifier, const double zx, const double zy,
- const gint32 **roi, const gint32 **viewport);
-gchar** impl_dbus_magnifier_get_zoom_regions (Magnifier *magnifier);
-gboolean impl_dbus_magnifier_add_zoom_region (Magnifier *magnifier, gchar *zoom_region_path);
-gboolean impl_dbus_magnifier_clear_all_zoom_regions (Magnifier *magnifier);
-gboolean impl_dbus_magnifier_dispose (Magnifier *magnifier);
-
+gboolean impl_dbus_magnifier_full_screen_capable (Magnifier *magnifier);
+gboolean impl_dbus_magnifier_hide_cursor (Magnifier *magnifier);
+gboolean impl_dbus_magnifier_show_cursor (Magnifier *magnifier);
+gboolean impl_dbus_magnifier_support_colorblind_filters (Magnifier *magnifier);
+gchar* impl_dbus_magnifier_create_zoom_region (Magnifier *magnifier, const double zx, const double zy,
+ const gint32 **roi, const gint32 **viewport);
+gchar** impl_dbus_magnifier_get_zoom_regions (Magnifier *magnifier);
+gboolean impl_dbus_magnifier_add_zoom_region (Magnifier *magnifier, gchar *zoom_region_path);
+gboolean impl_dbus_magnifier_clear_all_zoom_regions (Magnifier *magnifier);
+gboolean impl_dbus_magnifier_dispose (Magnifier *magnifier);
+gboolean impl_dbus_magnifier_set_source_display (Magnifier *magnifier, gchar *source_display);
+gchar* impl_dbus_magnifier_get_source_display (Magnifier *magnifier);
+gboolean impl_dbus_magnifier_set_target_display (Magnifier *magnifier, gchar *target_display);
+gchar* impl_dbus_magnifier_get_target_display (Magnifier *magnifier);
+gboolean impl_dbus_magnifier_set_source_size (Magnifier *magnifier, gint32 **bounds);
+GArray* impl_dbus_magnifier_get_source_size (Magnifier *magnifier);
+gboolean impl_dbus_magnifier_set_target_size (Magnifier *magnifier, gint32 **bounds);
+GArray* impl_dbus_magnifier_get_target_size (Magnifier *magnifier);
+gboolean impl_dbus_magnifier_set_cursor_set (Magnifier *magnifier, gchar *cursor_set);
+gchar* impl_dbus_magnifier_get_cursor_set (Magnifier *magnifier);
+gboolean impl_dbus_magnifier_set_cursor_size (Magnifier *magnifier, gint x, gint y);
+GArray* impl_dbus_magnifier_get_cursor_size (Magnifier *magnifier);
+gboolean impl_dbus_magnifier_set_cursor_zoom (Magnifier *magnifier, double factor);
+double impl_dbus_magnifier_get_cursor_zoom (Magnifier *magnifier);
+gboolean impl_dbus_magnifier_set_cursor_color (Magnifier *magnifier, guint32 color);
+guint32 impl_dbus_magnifier_get_cursor_color (Magnifier *magnifier);
+gboolean impl_dbus_magnifier_set_cursor_hotspot (Magnifier *magnifier, gint32 x, gint32 y);
+GArray* impl_dbus_magnifier_get_cursor_hotspot (Magnifier *magnifier);
+gint32 impl_dbus_magnifier_get_cursor_default_size (Magnifier *magnifier);
+gboolean impl_dbus_magnifier_set_crosswire_size (Magnifier *magnifier, gint size);
+gint impl_dbus_magnifier_get_crosswire_size (Magnifier *magnifier);
+gboolean impl_dbus_magnifier_set_crosswire_length (Magnifier *magnifier, gint length);
+gint impl_dbus_magnifier_get_crosswire_length (Magnifier *magnifier);
+gboolean impl_dbus_magnifier_set_crosswire_clip (Magnifier *magnifier, gboolean clip);
+gboolean impl_dbus_magnifier_get_crosswire_clip (Magnifier *magnifier);
+gboolean impl_dbus_magnifier_set_crosswire_color (Magnifier *magnifier, guint32 color);
+guint32 impl_dbus_magnifier_get_crosswire_color (Magnifier *magnifier);
#ifdef __cplusplus
}
diff --git a/xml/org.freedesktop.gnome.Magnifier.xml b/xml/org.freedesktop.gnome.Magnifier.xml
index 624d2dd..fa1bb2c 100755
--- a/xml/org.freedesktop.gnome.Magnifier.xml
+++ b/xml/org.freedesktop.gnome.Magnifier.xml
@@ -134,5 +134,232 @@
<annotation name="org.freedesktop.DBus.GLib.NoReply" value="true"/>
</method>
+ <method name="setSourceDisplay">
+ <tp:docstring>
+ <p>
+ Configure the source display to fetch the image to magnify.
+ </p>
+ </tp:docstring>
+ <arg type="s" name="source_display" direction="in" />
+ </method>
+
+ <method name="getSourceDisplay">
+ <tp:docstring>
+ <p>
+ Get the source display from where the image to magnify is fetched.
+ </p>
+ </tp:docstring>
+ <arg type="s" name="source_display" direction="out">
+ <annotation name="org.freedesktop.DBus.GLib.ReturnVal" value="" />
+ </arg>
+ </method>
+
+ <method name="setTargetDisplay">
+ <tp:docstring>
+ <p>
+ Configure the target display to show the magnified image.
+ </p>
+ </tp:docstring>
+ <arg type="s" name="target_display" direction="in" />
+ </method>
+
+ <method name="getTargetDisplay">
+ <tp:docstring>
+ <p>
+ Get the target display where the magnified image is being show.
+ </p>
+ </tp:docstring>
+ <arg type="s" name="target_display" direction="out">
+ <annotation name="org.freedesktop.DBus.GLib.ReturnVal" value="" />
+ </arg>
+ </method>
+
+ <method name="setSourceSize">
+ <tp:docstring>
+ Set the bounds of the source display.
+ </tp:docstring>
+ <arg type="ai" name="source_bounds" direction="in" />
+ </method>
+
+ <method name="getSourceSize">
+ <tp:docstring>
+ Get the bounds of the source display.
+ </tp:docstring>
+ <arg type="ai" name="source_bounds" direction="out">
+ <annotation name="org.freedesktop.DBus.GLib.ReturnVal" value="" />
+ </arg>
+ </method>
+
+ <method name="setTargetSize">
+ <tp:docstring>
+ Set the bounds of the target display.
+ </tp:docstring>
+ <arg type="ai" name="target_bounds" direction="in" />
+ </method>
+
+ <method name="getTargetSize">
+ <tp:docstring>
+ Get the bounds of the target display.
+ </tp:docstring>
+ <arg type="ai" name="target_bounds" direction="out">
+ <annotation name="org.freedesktop.DBus.GLib.ReturnVal" value="" />
+ </arg>
+ </method>
+
+ <method name="setCursorSet">
+ <tp:docstring>
+ Set the cursor set by name.
+ </tp:docstring>
+ <arg type="s" name="cursor_set" direction="in" />
+ </method>
+
+ <method name="getCursorSet">
+ <tp:docstring>
+ Get the actual cursor set name.
+ </tp:docstring>
+ <arg type="s" name="cursor_set" direction="out">
+ <annotation name="org.freedesktop.DBus.GLib.ReturnVal" value="" />
+ </arg>
+ </method>
+
+ <method name="setCursorSize">
+ <tp:docstring>
+ Set the cursor size, in pixels, of all zoom-regions.
+ </tp:docstring>
+ <arg type="i" name="x" direction="in" />
+ <arg type="i" name="y" direction="in" />
+ </method>
+
+ <method name="getCursorSize">
+ <tp:docstring>
+ Get the actual cursor size, in pixels, of all zoom-regions.
+ </tp:docstring>
+ <arg type="ai" name="x" direction="out">
+ <annotation name="org.freedesktop.DBus.GLib.ReturnVal" value="" />
+ </arg>
+ </method>
+
+ <method name="setCursorZoom">
+ <tp:docstring>
+ Set the cursor magnification factor of all zoom-regions.
+ </tp:docstring>
+ <arg type="d" name="factor" direction="in" />
+ </method>
+
+ <method name="getCursorZoom">
+ <tp:docstring>
+ Get the cursor magnification factor of all zoom-regions.
+ </tp:docstring>
+ <arg type="d" name="factor" direction="out">
+ <annotation name="org.freedesktop.DBus.GLib.ReturnVal" value="" />
+ </arg>
+ </method>
+
+ <method name="setCursorColor">
+ <tp:docstring>
+ Set the cursor color of all zoom-regions.
+ </tp:docstring>
+ <arg type="u" name="color" direction="in" />
+ </method>
+
+ <method name="getCursorColor">
+ <tp:docstring>
+ Get the cursor color of all zoom-regions.
+ </tp:docstring>
+ <arg type="u" name="color" direction="out">
+ <annotation name="org.freedesktop.DBus.GLib.ReturnVal" value="" />
+ </arg>
+ </method>
+
+ <method name="setCursorHotspot">
+ <tp:docstring>
+ Set the cursor hotspot of all zoom-regions.
+ </tp:docstring>
+ <arg type="i" name="x" direction="in" />
+ <arg type="i" name="y" direction="in" />
+ </method>
+
+ <method name="getCursorHotspot">
+ <tp:docstring>
+ Get the cursor hotspot of all zoom-regions.
+ </tp:docstring>
+ <arg type="ai" name="hotspot" direction="out">
+ <annotation name="org.freedesktop.DBus.GLib.ReturnVal" value="" />
+ </arg>
+ </method>
+
+ <method name="getCursorDefaultSize">
+ <tp:docstring>
+ Get the cursor default size.
+ </tp:docstring>
+ <arg type="i" name="size" direction="out">
+ <annotation name="org.freedesktop.DBus.GLib.ReturnVal" value="" />
+ </arg>
+ </method>
+
+ <method name="setCrosswireSize">
+ <tp:docstring>
+ Set the crosswire size of all zoom-regions.
+ </tp:docstring>
+ <arg type="i" name="size" direction="in" />
+ </method>
+
+ <method name="getCrosswireSize">
+ <tp:docstring>
+ Get the crosswire size of all zoom-regions.
+ </tp:docstring>
+ <arg type="i" name="size" direction="out">
+ <annotation name="org.freedesktop.DBus.GLib.ReturnVal" value="" />
+ </arg>
+ </method>
+
+ <method name="setCrosswireLength">
+ <tp:docstring>
+ Set the crosswire lenght of all zoom-regions.
+ </tp:docstring>
+ <arg type="i" name="length" direction="in" />
+ </method>
+
+ <method name="getCrosswireLength">
+ <tp:docstring>
+ Get the crosswire lenght.
+ </tp:docstring>
+ <arg type="i" name="length" direction="out">
+ <annotation name="org.freedesktop.DBus.GLib.ReturnVal" value="" />
+ </arg>
+ </method>
+
+ <method name="setCrosswireClip">
+ <tp:docstring>
+ Set if the crosswire will be clipped by the cursor image.
+ </tp:docstring>
+ <arg type="b" name="clip" direction="in" />
+ </method>
+
+ <method name="getCrosswireClip">
+ <tp:docstring>
+ Get the crosswire clip value;
+ </tp:docstring>
+ <arg type="b" name="clip" direction="out">
+ <annotation name="org.freedesktop.DBus.GLib.ReturnVal" value="" />
+ </arg>
+ </method>
+
+ <method name="setCrosswireColor">
+ <tp:docstring>
+ Set the crosswire color of all zoom-regions.
+ </tp:docstring>
+ <arg type="u" name="color" direction="in" />
+ </method>
+
+ <method name="getCrosswireColor">
+ <tp:docstring>
+ Get the crosswire color of all zoom-regions.
+ </tp:docstring>
+ <arg type="u" name="color" direction="out">
+ <annotation name="org.freedesktop.DBus.GLib.ReturnVal" value="" />
+ </arg>
+ </method>
+
</interface> <!-- org.freedesktop.gnome.Magnifier -->
</node> <!-- /org/freedesktop/gnome/Magnifier -->