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
00119 };
00120
00121 typedef sequence<ZoomRegion> ZoomRegionList;
00122
00123 interface Magnifier : Bonobo::Unknown {
00124
00130 attribute string SourceDisplay;
00131
00136 attribute string TargetDisplay;
00137
00144 Bonobo::PropertyBag getProperties ();
00145
00158 ZoomRegion createZoomRegion (in float zx, in float zy,
00159 in RectBounds ROI,
00160 in RectBounds viewport);
00161
00166 ZoomRegionList getZoomRegions ();
00167
00173 boolean addZoomRegion (in ZoomRegion region);
00174
00178 void clearAllZoomRegions ();
00179
00183 void dispose ();
00184
00185 };
00186 };
00187 };
00188
00189 #endif
00190