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.
23 #ifndef _ACCESSIBILITY_MAGNIFIER_IDL
24 #define _ACCESSIBILITY_MAGNIFIER_IDL
28 module Accessibility {
30 interface Magnifier : Bonobo::Unknown {
33 * void setMagFactor: sets the current x and y magnification ratio.
34 * @zoom_region: the index of the affected zoom region.
35 * @magX: the magnification factor in the x direction for the specified region.
36 * @magY: the magnification factor in the x direction for the specified region.
38 oneway void setMagFactor (in short zoom_region, in float magX, in float magY);
41 * #attribute SourceDisplay: a @string containing the X display name
42 * containing the region to be magnified.
44 attribute string SourceDisplay;
47 * #attribute TargetDisplay: a @string containing the X display name
48 * where the magnifier pixels are to be displayed.
50 attribute string TargetDisplay;
54 * Sets the region of interest for the magnifier.
55 * @zoom_region: the index of the affected zoom region.
56 * @x1: the minimum X coordinate of the ROI bounding box
57 * @x2: the maximum X coordinate of the ROI bounding box
58 * @y1: the minimum Y coordinate of the ROI bounding box
59 * @y2: the maximum Y coordinate of the ROI bounding box
61 oneway void setROI (in short zoom_region,
62 in long x1, in long y1, in long x2, in long y2);
66 * Sets the region of interest for the zoom region.
67 * If the zoom region was previously 'unmanaged', this associates
69 * @zoom_region: the index of the affected zoom region.
70 * @x1: the minimum X coordinate of the ROI bounding box
71 * @x2: the maximum X coordinate of the ROI bounding box
72 * @y1: the minimum Y coordinate of the ROI bounding box
73 * @y2: the maximum Y coordinate of the ROI bounding box
75 oneway void markDirty (in short zoom_region,
76 in long x1, in long y1, in long x2, in long y2);
79 * oneway void markUnmanaged:
80 * Mark a zoom region as 'unmanaged', meaning that it should not
81 * attempt to get pixels from the source display but will have its
82 * pixels drawn by a client.
83 * @zoom_region: the index of the affected zoom region.
85 oneway void markUnmanaged (in short zoom_region);
88 * short createZoomRegion:
89 * Creates a new zoom region for the magnifier.
90 * The new region is initially unmanaged'.
91 * @zx: the scale factor in the x direction for the new zoom region
92 * @zy: the scale factor in the y direction for the new zoom region
93 * @x1: the minimum X coordinate of the zoomed area bounding box
94 * @x2: the maximum X coordinate of the zoomed area bounding box
95 * @y1: the minimum Y coordinate of the zoomed area bounding box
96 * @y2: the maximum Y coordinate of the zoomed area bounding box
98 short createZoomRegion (in float zx, in float zy,
99 in long x1, in long y1,
100 in long x2, in long y2);
103 * boolean getZoomRegionParams:
104 * Queries a specific zoom region for its parameters.
105 * returns: FALSE if the specified zoom region does not exist.
106 * @zoom_region: the index specifying which zoom region to query.
107 * @zx: the scale factor in the x direction for the new zoom region
108 * @zy: the scale factor in the y direction for the new zoom region
109 * @x1: the minimum X coordinate of the zoomed area bounding box
110 * @x2: the maximum X coordinate of the zoomed area bounding box
111 * @y1: the minimum Y coordinate of the zoomed area bounding box
112 * @y2: the maximum Y coordinate of the zoomed area bounding box
114 boolean getZoomRegionParams (in short zoom_region,
115 out float zx, out float zy,
116 out long x1, out long y1,
117 out long x2, out long y2);
120 * void resizeZoomRegion:
121 * Resizes the specified zoom region on the target display.
122 * @zoom_region: the index of the affected zoom region.
123 * @x1: the minimum X coordinate of the zoomed area bounding box
124 * @x2: the maximum X coordinate of the zoomed area bounding box
125 * @y1: the minimum Y coordinate of the zoomed area bounding box
126 * @y2: the maximum Y coordinate of the zoomed area bounding box
128 oneway void resizeZoomRegion (in short zoom_region,
129 in long x1, in long y1,
130 in long x2, in long y2);
133 * void destroyZoomRegion:
134 * Remove the specified zoom region from the magnifier.
136 oneway void destroyZoomRegion (in short zoom_region);
139 * void clearAllZoomRegions:
140 * Clears and destroys all currently defined zoom regions.
142 void clearAllZoomRegions ();
146 * Unmap the current magnifier from the display.