57
* boolean setMagFactor: sets the current x and y magnification ratio.
57
* Set the current x and y magnification ratio.
58
58
* (Convenience method for setting mag-factor-x and mag-factor-y properties).
59
59
* Note that if the zoom region's target hasn't yet been realized or mapped to the
60
60
* display, we will not be able to detect failure, so a return of %TRUE must
61
61
* be taken on advisement if the operation is performed on a newly-created
63
* @magX: the magnification factor in the x direction for the specified region.
64
* @magY: the magnification factor in the x direction for the specified region.
65
* Returns: %TRUE if operation succeeded, %FALSE if the requested mag factor cannot be set.
63
* @param magX the magnification factor in the x direction for the specified region.
64
* @param magY the magnification factor in the x direction for the specified region.
65
* @returns %TRUE if operation succeeded, %FALSE if the requested mag factor cannot be set.
67
67
boolean setMagFactor (in float magX, in float magY);
70
* void getMagFactor: gets the current x and y magnification ratios.
70
* Get the current x and y magnification ratios.
71
71
* (Convenience method for getting mag-factor-x and mag-factor-y properties).
72
* @magX: the magnification factor in the x direction for the specified region.
73
* @magY: the magnification factor in the x direction for the specified region.
72
* @param magX: the magnification factor in the x direction for the specified region.
73
* @param magY: the magnification factor in the x direction for the specified region.
75
75
void getMagFactor (out float magX, out float magY);
78
* PropertyBag getProperties: gets the current property settings for this ZoomRegion.
78
* Gets the current property settings for this ZoomRegion.
79
79
* Properties managed by the ZoomRegion include "smoothing-type", "contrast",
80
80
* "inverse-video", "border-size", "border-color", "x-alignment", "y-alignment",
81
81
* "is-managed", "viewport", "mag-factor-x", "mag-factor-y".
82
* returns: a Bonobo::PropertyBag containing the ZoomRegion's properties.
82
* @returns a Bonobo::PropertyBag containing the ZoomRegion's properties.
84
84
Bonobo::PropertyBag getProperties ();
88
* Sets the region of interest for the magnifier.
89
* @bounds: the ROI bounding box
87
* Set the region of interest for the magnifier.
88
* @param bounds: the ROI bounding box
91
90
oneway void setROI (in RectBounds bounds);
95
* Marks the zoom region or a sub-region 'dirty' and in need of updating.
96
* Note that this region will be clipped to the area currently visible in
93
* Mark the zoom region or a sub-region 'dirty' and in need of updating.
94
* @note This region will be clipped to the area currently visible in
97
95
* the target region.
98
* @dirtyRegion: the bounding box of the dirty region.
96
* @param dirtyRegion: the bounding box of the dirty region.
100
98
void markDirty (in RectBounds dirtyRegion);
104
* Queries a specific zoom region for its ROI.
105
* returns: the RectBounds bounding box of the zoom ROI.
101
* Query a specific zoom region for its ROI.
102
* @returns the RectBounds bounding box of the zoom ROI.
107
104
RectBounds getROI ();
111
* Moves and resizes the specified zoom region on the target display.
107
* Move and resize the specified zoom region on the target display.
112
108
* (Convenience method for setting "viewport" property).
113
* @bounds: the bounding box, in target display coordinates, of the ZoomRegion's
109
* @param bounds: the bounding box, in target display coordinates, of the ZoomRegion's
114
110
* display viewport.
116
112
void moveResize (in RectBounds bounds);
120
115
* Remove the specified zoom region from the magnifier and destroy it.
128
123
interface Magnifier : Bonobo::Unknown {
131
* #attribute SourceDisplay: a @string containing the X display name
132
* containing the region to be magnified.
126
* a \c string specifying the name of the display and screen
127
* (on X Windows systems, as used by XOpenDisplay) on which the "source"
128
* pixels (e.g. unmagnified image) are located.
134
130
attribute string SourceDisplay;
137
* #attribute TargetDisplay: a @string containing the X display name
138
* where the magnifier pixels are to be displayed.
133
* a \c string specifying the name of the display and screen
134
* onto which the magnified image is to be placed.
140
136
attribute string TargetDisplay;
143
* PropertyBag getProperties: gets the current property settings for this Magnifier.
139
* Get the current property settings for this Magnifier.
144
140
* Properties managed by the magnifier include "cursor-set", "cursor-size",
145
141
* "cursor-mag-factor", "target-display-bounds", "source-display-size".
146
* returns: a Bonobo::PropertyBag containing the Magnifier's properties.
142
* @returns a Bonobo::PropertyBag containing the Magnifier's properties.
148
144
Bonobo::PropertyBag getProperties ();
151
* ZoomRegion createZoomRegion:
152
* Creates a new zoom region for the magnifier.
153
* The new region is initially unmanaged'.
154
* @zx: the scale factor in the x direction for the new zoom region
155
* @zy: the scale factor in the y direction for the new zoom region
156
* @ROI: the initial ROI of the zoom region. RectBounds of negative width/height
147
* Create a new zoom region for the magnifier.
148
* The new region is initially 'unmanaged'; that is, it is not associated with
149
* a particular sub-region of the "source" display.
150
* @param zx: the scale factor in the x direction for the new zoom region
151
* @param zy: the scale factor in the y direction for the new zoom region
152
* @param ROI: the initial ROI of the zoom region. RectBounds of negative width/height
157
153
* indicates that the zoom region has no initial ROI.
158
* @viewport: the initial bounds of the ZoomRegion's viewport, in
154
* @param viewport: the initial bounds of the ZoomRegion's viewport, in
159
155
* the target display coordinate system.
156
* @returns the newly created ZoomRegion.
161
158
ZoomRegion createZoomRegion (in float zx, in float zy,
162
159
in RectBounds ROI,
163
160
in RectBounds viewport);
166
* ZoomRegionList getZoomRegions:
167
* returns a ZoomRegionList including all currently defined ZoomRegions
163
* @returns a ZoomRegionList including all currently defined ZoomRegions
168
164
* for this Magnifier instance.
170
166
ZoomRegionList getZoomRegions ();
173
* boolean addZoomRegion:
174
* add a new ZoomRegion to the list of currently defined ZoomRegions
169
* Add a new ZoomRegion to the list of currently defined ZoomRegions
175
170
* for this Magnifier instance.
176
* returns: #true if successful, #false if the ZoomRegion cannot be added.
171
* @returns \c True if successful, \c False if the ZoomRegion cannot be added.
178
173
boolean addZoomRegion (in ZoomRegion region);
181
* void clearAllZoomRegions:
182
176
* Clears and destroys all currently defined zoom regions.
184
178
void clearAllZoomRegions ();
188
181
* Unmap the current magnifier from the display, destroy its resources, and exit.