/* * AT-SPI - Assistive Technology Service Provider Interface * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) * * Copyright 2001 Sun Microsystems Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #ifndef _ACCESSIBILITY_MAGNIFIER_IDL #define _ACCESSIBILITY_MAGNIFIER_IDL #include module Accessibility { interface Magnifier : Bonobo::Unknown { /** * void setMagFactor: sets the current x and y magnification ratio. * @zoom_region: the index of the affected zoom region. * @magX: the magnification factor in the x direction for the specified region. * @magY: the magnification factor in the x direction for the specified region. **/ oneway void setMagFactor (in short zoom_region, in float magX, in float magY); /** * #attribute SourceDisplay: a @string containing the X display name * containing the region to be magnified. **/ attribute string SourceDisplay; /** * #attribute TargetDisplay: a @string containing the X display name * where the magnifier pixels are to be displayed. **/ attribute string TargetDisplay; /** * oneway void setROI: * Sets the region of interest for the magnifier. * @zoom_region: the index of the affected zoom region. * @x1: the minimum X coordinate of the ROI bounding box * @x2: the maximum X coordinate of the ROI bounding box * @y1: the minimum Y coordinate of the ROI bounding box * @y2: the maximum Y coordinate of the ROI bounding box **/ oneway void setROI (in short zoom_region, in long x1, in long y1, in long x2, in long y2); /** * oneway void setROI: * Sets the region of interest for the zoom region. * If the zoom region was previously 'unmanaged', this associates * it with the ROI. * @zoom_region: the index of the affected zoom region. * @x1: the minimum X coordinate of the ROI bounding box * @x2: the maximum X coordinate of the ROI bounding box * @y1: the minimum Y coordinate of the ROI bounding box * @y2: the maximum Y coordinate of the ROI bounding box **/ oneway void markDirty (in short zoom_region, in long x1, in long y1, in long x2, in long y2); /** * oneway void markUnmanaged: * Mark a zoom region as 'unmanaged', meaning that it should not * attempt to get pixels from the source display but will have its * pixels drawn by a client. * @zoom_region: the index of the affected zoom region. **/ oneway void markUnmanaged (in short zoom_region); /** * short createZoomRegion: * Creates a new zoom region for the magnifier. * The new region is initially unmanaged'. * @zx: the scale factor in the x direction for the new zoom region * @zy: the scale factor in the y direction for the new zoom region * @x1: the minimum X coordinate of the zoomed area bounding box * @x2: the maximum X coordinate of the zoomed area bounding box * @y1: the minimum Y coordinate of the zoomed area bounding box * @y2: the maximum Y coordinate of the zoomed area bounding box **/ short createZoomRegion (in float zx, in float zy, in long x1, in long y1, in long x2, in long y2); /** * boolean getZoomRegionParams: * Queries a specific zoom region for its parameters. * returns: FALSE if the specified zoom region does not exist. * @zoom_region: the index specifying which zoom region to query. * @zx: the scale factor in the x direction for the new zoom region * @zy: the scale factor in the y direction for the new zoom region * @x1: the minimum X coordinate of the zoomed area bounding box * @x2: the maximum X coordinate of the zoomed area bounding box * @y1: the minimum Y coordinate of the zoomed area bounding box * @y2: the maximum Y coordinate of the zoomed area bounding box **/ boolean getZoomRegionParams (in short zoom_region, out float zx, out float zy, out long x1, out long y1, out long x2, out long y2); /** * void resizeZoomRegion: * Resizes the specified zoom region on the target display. * @zoom_region: the index of the affected zoom region. * @x1: the minimum X coordinate of the zoomed area bounding box * @x2: the maximum X coordinate of the zoomed area bounding box * @y1: the minimum Y coordinate of the zoomed area bounding box * @y2: the maximum Y coordinate of the zoomed area bounding box **/ oneway void resizeZoomRegion (in short zoom_region, in long x1, in long y1, in long x2, in long y2); /** * void destroyZoomRegion: * Remove the specified zoom region from the magnifier. **/ oneway void destroyZoomRegion (in short zoom_region); /** * void clearAllZoomRegions: * Clears and destroys all currently defined zoom regions. **/ void clearAllZoomRegions (); /** * void exit: * Unmap the current magnifier from the display. **/ void exit (); }; }; #endif