[gnome-mag] Committing set and get methods, related to the magnifier, that was exposed throw CORBA property bag



commit ef530736fec7c45c4853b7d654d7b94a24060d1a
Author: Carlos Eduardo Rodrigues DiÃgenes <cerdiogenes gmail com>
Date:   Wed Jan 27 20:33:14 2010 -0200

    Committing set and get methods, related to the magnifier, that was exposed throw CORBA property bag as D-BUS methods.

 magnifier/magnifier.c                   |  391 ++++++++++++++++++++++++++++++-
 magnifier/magnifier.h                   |   48 +++-
 xml/org.freedesktop.gnome.Magnifier.xml |  227 ++++++++++++++++++
 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 -->



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]