2 * AT-SPI - Assistive Technology Service Provider Interface
3 * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
5 * Copyright 2001 Sun Microsystems Inc.
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Library General Public License for more details.
17 * You should have received a copy of the GNU Library General Public
18 * License along with this library; if not, write to the
19 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 * Boston, MA 02111-1307, USA.
26 #include <libbonobo.h>
27 #include "Magnifier.h"
28 #include "mag_client.h"
30 static CORBA_Environment ev;
32 int main(int argc, char ** argv){
34 if (!bonobo_init (&argc, argv))
36 g_error ("Could not initialize Bonobo");
39 CORBA_exception_init (&ev);
50 printf ("setting mag factor to %f\n", (float) atof (argv[1]+1));
51 magnifier_set_magnification (0, (float) atof (argv[1]+1),
52 (float) atof (argv[1]+1));
55 printf ("resizing region 0 to 100x100 at (600, 0)\n");
56 magnifier_resize_region (0, 600, 0, 700, 100);
59 printf ("destroying/clearing all regions.\n");
60 magnifier_clear_all_regions ();
63 printf ("exiting magnifier.\n");
67 printf ("creating 3x region at 100,100; 300x200\n");
68 magnifier_create_region (3.0, 3.0, 100, 100, 400, 300);
74 Accessibility_Magnifier
77 static Accessibility_Magnifier magnifier = NULL;
78 static gboolean is_error = FALSE;
82 if (!magnifier && !is_error)
84 CORBA_exception_init (&ev);
85 obj_id = "OAFIID:Accessibility_Util_Magnifier:proto0.1";
87 oclient = bonobo_activation_activate_from_id (obj_id, 0, NULL, &ev);
88 if (ev._major != CORBA_NO_EXCEPTION) {
90 ("Activation error: during magnifier activation: %s\n"),
91 CORBA_exception_id(&ev));
92 CORBA_exception_free(&ev);
96 if (CORBA_Object_is_nil (oclient, &ev))
98 g_error ("Could not locate magnifier");
102 magnifier = (Accessibility_Magnifier) oclient;
104 /* bonobo_activate (); ? */
111 magnifier_set_roi(int zoom_region, int x, int y, int w, int h)
113 Accessibility_Magnifier magnifier = get_magnifier();
116 Accessibility_Magnifier_setROI (magnifier,
117 (const CORBA_short) zoom_region,
118 (const CORBA_long) x,
119 (const CORBA_long) y,
120 (const CORBA_long) x+w,
121 (const CORBA_long) y+h,
126 magnifier_resize_region (int zoom_region, int x1, int y1, int x2, int y2)
128 Accessibility_Magnifier magnifier = get_magnifier();
131 Accessibility_Magnifier_resizeZoomRegion (magnifier,
132 (const CORBA_short) zoom_region,
133 (const CORBA_long) x1,
134 (const CORBA_long) y1,
135 (const CORBA_long) x2,
136 (const CORBA_long) y2,
141 magnifier_clear_all_regions ()
143 Accessibility_Magnifier magnifier = get_magnifier();
146 Accessibility_Magnifier_clearAllZoomRegions (magnifier,
151 magnifier_create_region (float zx, float zy, int x1, int y1, int x2, int y2)
153 Accessibility_Magnifier magnifier = get_magnifier();
157 retval = Accessibility_Magnifier_createZoomRegion (magnifier,
158 (const CORBA_float) zx,
159 (const CORBA_float) zy,
160 (const CORBA_long) x1,
161 (const CORBA_long) y1,
162 (const CORBA_long) x2,
163 (const CORBA_long) y2,
169 magnifier_set_magnification (int zoom_region, float mag_factor_x, float mag_factor_y)
171 Accessibility_Magnifier magnifier = get_magnifier();
174 Accessibility_Magnifier_setMagFactor (magnifier,
175 (const CORBA_short) zoom_region,
176 (const CORBA_float) mag_factor_x,
177 (const CORBA_float) mag_factor_y,
182 magnifier_exit (void)
184 Accessibility_Magnifier magnifier = get_magnifier();
186 Accessibility_Magnifier_exit (magnifier, &ev);