/* * AT-SPI - Assistive Technology Service Provider Interface * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) * * Copyright 2001 - 2005 Sun Microsystems, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #include "Accessibility_Accessible.idl" module Accessibility { /** * An interface implemented by objects which render image data or * pictorial information to the screen. When onscreen components include * graphical information that is not purely intended to enhance "3d effect" * or visual layout, but which conveys some semantic or informational * content to the sighted user, they should implement Image, and that * semantic content should be conveyed textually to the extent possible * via the image description, as well as the Accessible::name and * Accessible::description properties. */ interface Image : Bonobo::Unknown { /** * A UTF-8 string providing a textual description * of what is visually depicted in the image. * * @note It is recommended that imageDescription be the shorter * of the available image descriptions, for instance "alt text" * in HTML images, and a longer description be provided in * Accessible::accessible-description, if available. * A short, one or two word label for the image should be provided in * Accessible::accessible-name. */ readonly attribute string imageDescription; /** * A string corresponding to the POSIX LC_MESSAGES locale used * by the imageDescription. * @since AT-SPI 1.7.0 */ readonly attribute string imageLocale; /** * Obtain a bounding box which entirely contains the image contents, * as displayed on screen. The bounds returned do not account for * any viewport clipping or the fact that the image may be * partially or wholly obscured by other onscreen content. * @note This method returns the bounds of the current onscreen * view, and not the nominal size of the source data in the * event that the original image has been rescaled. * * @param coordType If 0, the returned bounding box position is returned * relative to the screen; if 1, the bounding box position is returned * relative to the containing window. * @returns a BoundingBox enclosing the image's onscreen representation. */ BoundingBox getImageExtents (in short coordType); /** * Get the coordinates of the current image position on screen. * * @param x Back-filled with the x coordinate of the * onscreen image (i.e. the minimum x coordinate) * @param y Back-filled with the y coordinate of the * onscreen image (i.e. the minimum y coordinate) * @param coordType If 0, the returned x and y coordinates are * returned relative to the screen; * if 1, they are returned relative to the containing window. */ void getImagePosition (out long x, out long y, in short coordType); /** * Obtain the width and height of the current onscreen view of the * image. The extents returned do not account for * any viewport clipping or the fact that the image may be * partially or wholly obscured by other onscreen content. * @note This method returns the size of the current onscreen * view, and not the nominal or "original" size of the source * image, in the event that the original image has been rescaled. * * @param width Back-filled with the x extents of the * onscreen image (i.e. the image width in pixels) * @param height Back-filled with the y extents of the * onscreen image (i.e. the image height in pixels) */ void getImageSize (out long width, out long height); /** * \cond * unImplemented: * * placeholders for future expansion. */ void unImplemented (); void unImplemented2 (); void unImplemented3 (); /** \endcond */ }; };