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
00112 void updatePointer ();
00113
00120 void markDirty (in RectBounds dirtyRegion);
00121
00126 RectBounds getROI ();
00127
00134 void moveResize (in RectBounds bounds);
00135
00139 void dispose ();
00140
00147 oneway void setPointerPos (in long mouse_x, in long mouse_y);
00148
00161 void setContrast (in float R, in float G, in float B);
00162
00170 void getContrast (out float R, out float G, out float B);
00171
00184 void setBrightness (in float R, in float G, in float B);
00185
00194 void getBrightness (out float R, out float G, out float B);
00195
00196 };
00197
00198 typedef sequence<ZoomRegion> ZoomRegionList;
00199
00200 interface Magnifier : Bonobo::Unknown {
00201
00207 attribute string SourceDisplay;
00208
00213 attribute string TargetDisplay;
00214
00221 Bonobo::PropertyBag getProperties ();
00222
00227 boolean fullScreenCapable ();
00228
00233 void hideCursor ();
00234
00239 void showCursor ();
00240
00245 boolean supportColorblindFilters ();
00246
00259 ZoomRegion createZoomRegion (in float zx, in float zy,
00260 in RectBounds ROI,
00261 in RectBounds viewport);
00262
00267 ZoomRegionList getZoomRegions ();
00268
00274 boolean addZoomRegion (in ZoomRegion region);
00275
00279 void clearAllZoomRegions ();
00280
00284 void dispose ();
00285
00286 };
00287 };
00288 };
00289
00290 #endif
00291