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
00067 boolean setMagFactor (in float magX, in float magY);
00068
00075 void getMagFactor (out float magX, out float magY);
00076
00084 Bonobo::PropertyBag getProperties ();
00085
00090 oneway void setROI (in RectBounds bounds);
00091
00098 void markDirty (in RectBounds dirtyRegion);
00099
00104 RectBounds getROI ();
00105
00112 void moveResize (in RectBounds bounds);
00113
00117 void dispose ();
00118
00125 oneway void setPointerPos (in long mouse_x, in long mouse_y);
00126
00133 void setContrast (in float R, in float G, in float B);
00134
00141 void getContrast (out float R, out float G, out float B);
00142
00143 };
00144
00145 typedef sequence<ZoomRegion> ZoomRegionList;
00146
00147 interface Magnifier : Bonobo::Unknown {
00148
00154 attribute string SourceDisplay;
00155
00160 attribute string TargetDisplay;
00161
00168 Bonobo::PropertyBag getProperties ();
00169
00182 ZoomRegion createZoomRegion (in float zx, in float zy,
00183 in RectBounds ROI,
00184 in RectBounds viewport);
00185
00190 ZoomRegionList getZoomRegions ();
00191
00197 boolean addZoomRegion (in ZoomRegion region);
00198
00202 void clearAllZoomRegions ();
00203
00207 void dispose ();
00208
00209 };
00210 };
00211 };
00212
00213 #endif
00214