00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
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 
00113     void markDirty (in RectBounds dirtyRegion);
00114 
00119     RectBounds getROI ();
00120 
00127     void moveResize (in RectBounds bounds);
00128 
00132     void dispose ();
00133 
00140     oneway void setPointerPos (in long mouse_x, in long mouse_y);
00141 
00154     void setContrast (in float R, in float G, in float B);
00155 
00163     void getContrast (out float R, out float G, out float B);
00164 
00177     void setBrightness (in float R, in float G, in float B);
00178 
00187     void getBrightness (out float R, out float G, out float B);
00188 
00189     };
00190 
00191     typedef sequence<ZoomRegion> ZoomRegionList;
00192   
00193     interface Magnifier : Bonobo::Unknown {
00194 
00200     attribute string SourceDisplay;
00201 
00206     attribute string TargetDisplay;
00207 
00214     Bonobo::PropertyBag getProperties ();
00215 
00228     ZoomRegion createZoomRegion (in float zx, in float zy,
00229                                  in RectBounds ROI,
00230                                  in RectBounds viewport);
00231 
00236     ZoomRegionList getZoomRegions ();
00237 
00243     boolean addZoomRegion (in ZoomRegion region);
00244 
00248     void clearAllZoomRegions ();
00249 
00253     void dispose ();
00254 
00255     };
00256   };
00257 };
00258 
00259 #endif
00260