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
00051 enum AlignPolicy {
00052 ALIGN_CENTER,
00053 ALIGN_MIN,
00054 ALIGN_MAX
00055 };
00056
00057 enum ScrollingPolicy {
00058 SCROLL_FASTEST,
00059 SCROLL_FAST,
00060 SCROLL_NORMAL,
00061 SCROLL_SMOOTH,
00062 SCROLL_SMOOTHEST
00063 };
00064
00076 boolean setMagFactor (in float magX, in float magY);
00077
00084 void getMagFactor (out float magX, out float magY);
00085
00093 Bonobo::PropertyBag getProperties ();
00094
00099 oneway void setROI (in RectBounds bounds);
00100
00107 void markDirty (in RectBounds dirtyRegion);
00108
00113 RectBounds getROI ();
00114
00121 void moveResize (in RectBounds bounds);
00122
00126 void dispose ();
00127
00128 };
00129
00130 typedef sequence<ZoomRegion> ZoomRegionList;
00131
00132 interface Magnifier : Bonobo::Unknown {
00133
00139 attribute string SourceDisplay;
00140
00145 attribute string TargetDisplay;
00146
00153 Bonobo::PropertyBag getProperties ();
00154
00167 ZoomRegion createZoomRegion (in float zx, in float zy,
00168 in RectBounds ROI,
00169 in RectBounds viewport);
00170
00175 ZoomRegionList getZoomRegions ();
00176
00182 boolean addZoomRegion (in ZoomRegion region);
00183
00187 void clearAllZoomRegions ();
00188
00192 void dispose ();
00193
00194 };
00195 };
00196 };
00197
00198 #endif
00199