# 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