GNOME_Magnifier.idl

Go to the documentation of this file.
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