Added support for key event strings, and renamespaced some of the at-bridge.
[platform/core/uifw/at-spi2-atk.git] / util / idl / Magnifier.idl
index d585c61..76a49ce 100644 (file)
@@ -30,9 +30,12 @@ module Accessibility {
   interface Magnifier : Bonobo::Unknown {
 
     /**
-     * #attribute MagFactor: a float indicating the current x and y magnification ratio.
+     * void setMagFactor: sets the current x and y magnification ratio.
+     * @zoom_region: the index of the affected zoom region.
+     * @magX: the magnification factor in the x direction for the specified region. 
+     * @magY: the magnification factor in the x direction for the specified region. 
      **/
-    attribute float MagFactor;
+    oneway void setMagFactor (in short zoom_region, in float magX, in float magY);
 
     /**
      * #attribute SourceDisplay: a @string containing the X display name
@@ -49,15 +52,97 @@ module Accessibility {
     /**
      * oneway void setROI:
      * Sets the region of interest for the magnifier.
+     * @zoom_region: the index of the affected zoom region.
      * @x1: the minimum X coordinate of the ROI bounding box
      * @x2: the maximum X coordinate of the ROI bounding box
      * @y1: the minimum Y coordinate of the ROI bounding box
      * @y2: the maximum Y coordinate of the ROI bounding box
      **/
-    oneway void setROI (in long x1, in long y1, in long x2, in long y2);
+    oneway void setROI (in short zoom_region, 
+                       in long x1, in long y1, in long x2, in long y2);
+
+    /**
+     * oneway void setROI:
+     * Sets the region of interest for the zoom region.
+     * If the zoom region was previously 'unmanaged', this associates
+     * it with the ROI.
+     * @zoom_region: the index of the affected zoom region.
+     * @x1: the minimum X coordinate of the ROI bounding box
+     * @x2: the maximum X coordinate of the ROI bounding box
+     * @y1: the minimum Y coordinate of the ROI bounding box
+     * @y2: the maximum Y coordinate of the ROI bounding box
+     **/
+    oneway void markDirty (in short zoom_region,
+                          in long x1, in long y1, in long x2, in long y2); 
+
+    /**
+     * oneway void markUnmanaged:
+     * Mark a zoom region as 'unmanaged', meaning that it should not
+     * attempt to get pixels from the source display but will have its
+     * pixels drawn by a client.
+     * @zoom_region: the index of the affected zoom region.
+     **/
+    oneway void markUnmanaged (in short zoom_region);
+
+    /**
+     * short createZoomRegion:
+     * Creates a new zoom region for the magnifier.
+     * The new region is initially unmanaged'.
+     * @zx: the scale factor in the x direction for the new zoom region
+     * @zy: the scale factor in the y direction for the new zoom region
+     * @x1: the minimum X coordinate of the zoomed area bounding box
+     * @x2: the maximum X coordinate of the zoomed area bounding box
+     * @y1: the minimum Y coordinate of the zoomed area bounding box
+     * @y2: the maximum Y coordinate of the zoomed area bounding box
+     **/
+    short createZoomRegion (in float zx, in float zy,
+                           in long x1, in long y1, 
+                           in long x2, in long y2); 
+
+    /**
+     * boolean getZoomRegionParams:
+     * Queries a specific zoom region for its parameters.
+     * returns: FALSE if the specified zoom region does not exist.
+     * @zoom_region: the index specifying which zoom region to query.
+     * @zx: the scale factor in the x direction for the new zoom region
+     * @zy: the scale factor in the y direction for the new zoom region
+     * @x1: the minimum X coordinate of the zoomed area bounding box
+     * @x2: the maximum X coordinate of the zoomed area bounding box
+     * @y1: the minimum Y coordinate of the zoomed area bounding box
+     * @y2: the maximum Y coordinate of the zoomed area bounding box
+     **/
+    boolean getZoomRegionParams (in short zoom_region,
+                                out float zx, out float zy,
+                                out long x1,  out long y1,
+                                out long x2,  out long y2); 
+
+    /**
+     * void resizeZoomRegion:
+     * Resizes the specified zoom region on the target display.
+     * @zoom_region: the index of the affected zoom region.
+     * @x1: the minimum X coordinate of the zoomed area bounding box
+     * @x2: the maximum X coordinate of the zoomed area bounding box
+     * @y1: the minimum Y coordinate of the zoomed area bounding box
+     * @y2: the maximum Y coordinate of the zoomed area bounding box
+     **/
+    oneway void resizeZoomRegion (in short zoom_region,
+                                 in long x1, in long y1, 
+                                 in long x2, in long y2);
+
+    /** 
+     * void destroyZoomRegion:
+     * Remove the specified zoom region from the magnifier.
+     **/
+    oneway void destroyZoomRegion (in short zoom_region);
+
+    /** 
+     * void clearAllZoomRegions: 
+     * Clears and destroys all currently defined zoom regions.
+     **/
+    void clearAllZoomRegions ();
 
     /** 
-     * void exit:
+     * void exit: 
      * Unmap the current magnifier from the display.
      **/
     void exit ();