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
00091 oneway void setROI (in RectBounds bounds);
00092
00100 void markDirty (in RectBounds dirtyRegion);
00101
00107 RectBounds getROI ();
00108
00116 void moveResize (in RectBounds bounds);
00117
00122 void dispose ();
00123
00124 };
00125
00126 typedef sequence<ZoomRegion> ZoomRegionList;
00127
00128 interface Magnifier : Bonobo::Unknown {
00129
00134 attribute string SourceDisplay;
00135
00140 attribute string TargetDisplay;
00141
00148 Bonobo::PropertyBag getProperties ();
00149
00161 ZoomRegion createZoomRegion (in float zx, in float zy,
00162 in RectBounds ROI,
00163 in RectBounds viewport);
00164
00170 ZoomRegionList getZoomRegions ();
00171
00178 boolean addZoomRegion (in ZoomRegion region);
00179
00184 void clearAllZoomRegions ();
00185
00190 void dispose ();
00191
00192 };
00193 };
00194 };
00195
00196 #endif
00197