gnome-mag
|
00001 /* 00002 * AT-SPI - Assistive Technology Service Provider Interface 00003 * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) 00004 * 00005 * Copyright 2001 Sun Microsystems Inc. 00006 * 00007 * This library is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU Library General Public 00009 * License as published by the Free Software Foundation; either 00010 * version 2 of the License, or (at your option) any later version. 00011 * 00012 * This library is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 * Library General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Library General Public 00018 * License along with this library; if not, write to the 00019 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00020 * Boston, MA 02111-1307, USA. 00021 */ 00022 00023 #ifndef _GNOME_MAGNIFIER_IDL 00024 #define _GNOME_MAGNIFIER_IDL 00025 00026 #include <Bonobo_Unknown.idl> 00027 #include <Bonobo_Property.idl> 00028 00029 module GNOME { 00030 module Magnifier { 00031 00032 struct Point { 00033 long x, y; 00034 }; 00035 00036 struct RectBounds { 00037 long x1, y1, x2, y2; 00038 }; 00039 00040 interface ZoomRegion : Bonobo::Unknown { 00041 00042 enum AlignPolicy { 00043 ALIGN_CENTER, 00044 ALIGN_MIN, 00045 ALIGN_MAX 00046 }; 00047 00048 enum ScrollingPolicy { 00049 SCROLL_FASTEST, 00050 SCROLL_FAST, 00051 SCROLL_NORMAL, 00052 SCROLL_SMOOTH, 00053 SCROLL_SMOOTHEST 00054 }; 00055 00056 enum ColorBlindFilter { 00057 COLORBLIND_FILTER_T_NO_FILTER, 00058 COLORBLIND_FILTER_T_SELECTIVE_SATURATE_RED, 00059 COLORBLIND_FILTER_T_SELECTIVE_SATURATE_GREEN, 00060 COLORBLIND_FILTER_T_SELECTIVE_SATURATE_BLUE, 00061 COLORBLIND_FILTER_T_SELECTIVE_DESSATURATE_RED, 00062 COLORBLIND_FILTER_T_SELECTIVE_DESSATURATE_GREEN, 00063 COLORBLIND_FILTER_T_SELECTIVE_DESSATURATE_BLUE, 00064 COLORBLIND_FILTER_T_HUE_SHIFT_POSITIVE, 00065 COLORBLIND_FILTER_T_HUE_SHIFT_NEGATIVE, 00066 COLORBLIND_FILTER_T_SELECTIVE_SATURATE, 00067 COLORBLIND_FILTER_T_SELECTIVE_DESSATURATE, 00068 COLORBLIND_FILTER_T_MONOCHRONE_OTHERS 00069 }; 00070 00082 boolean setMagFactor (in float magX, in float magY); 00083 00090 void getMagFactor (out float magX, out float magY); 00091 00099 Bonobo::PropertyBag getProperties (); 00100 00105 oneway void setROI (in RectBounds bounds); 00106 00112 void updatePointer (); 00113 00120 void markDirty (in RectBounds dirtyRegion); 00121 00126 RectBounds getROI (); 00127 00134 void moveResize (in RectBounds bounds); 00135 00139 void dispose (); 00140 00147 oneway void setPointerPos (in long mouse_x, in long mouse_y); 00148 00161 void setContrast (in float R, in float G, in float B); 00162 00170 void getContrast (out float R, out float G, out float B); 00171 00184 void setBrightness (in float R, in float G, in float B); 00185 00194 void getBrightness (out float R, out float G, out float B); 00195 00196 }; 00197 00198 typedef sequence<ZoomRegion> ZoomRegionList; 00199 00200 interface Magnifier : Bonobo::Unknown { 00201 00207 attribute string SourceDisplay; 00208 00213 attribute string TargetDisplay; 00214 00221 Bonobo::PropertyBag getProperties (); 00222 00227 boolean fullScreenCapable (); 00228 00233 void hideCursor (); 00234 00239 void showCursor (); 00240 00245 boolean supportColorblindFilters (); 00246 00259 ZoomRegion createZoomRegion (in float zx, in float zy, 00260 in RectBounds ROI, 00261 in RectBounds viewport); 00262 00267 ZoomRegionList getZoomRegions (); 00268 00274 boolean addZoomRegion (in ZoomRegion region); 00275 00279 void clearAllZoomRegions (); 00280 00284 void dispose (); 00285 00286 }; 00287 }; 00288 }; 00289 00290 #endif 00291