2007-04-07 21:00:25 -07:00
|
|
|
/*************************************************************************
|
|
|
|
*
|
|
|
|
* File Name (IA2CommonTypes.idl)
|
|
|
|
*
|
|
|
|
* IAccessible2 IDL Specification
|
|
|
|
*
|
2009-09-10 18:07:56 -07:00
|
|
|
* Copyright (c) Linux Foundation 2007, 2009
|
|
|
|
* Copyright (c) IBM Corp. 2006
|
2007-04-07 21:00:25 -07:00
|
|
|
* Copyright (c) Sun Microsystems, Inc. 2000, 2006
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License version 2.1, as published by the Free Software Foundation; either
|
|
|
|
* version 2.1 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
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the Free Software
|
2009-09-10 18:07:56 -07:00
|
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
2007-04-07 21:00:25 -07:00
|
|
|
*
|
|
|
|
************************************************************************/
|
|
|
|
|
2009-09-10 18:07:56 -07:00
|
|
|
/** These constants control the scrolling of an object or substring into a window.
|
|
|
|
|
|
|
|
This enum is used in IAccessible2::scrollTo and IAccessibleText::scrollSubstringTo.
|
|
|
|
*/
|
2007-04-07 21:00:25 -07:00
|
|
|
enum IA2ScrollType {
|
|
|
|
|
2009-09-10 18:07:56 -07:00
|
|
|
/** Scroll the top left corner of the object or substring such that the top left
|
|
|
|
corner (and as much as possible of the rest of the object or substring) is within
|
|
|
|
the top level window. In cases where the entire object or substring fits within
|
|
|
|
the top level window, the placement of the object or substring is dependent on
|
|
|
|
the application. For example, the object or substring may be scrolled to the
|
|
|
|
closest edge, the furthest edge, or midway between those two edges. In cases
|
|
|
|
where there is a hierarchy of nested scrollable controls, more than one control
|
|
|
|
may have to be scrolled.
|
2007-04-07 21:00:25 -07:00
|
|
|
*/
|
|
|
|
IA2_SCROLL_TYPE_TOP_LEFT,
|
|
|
|
|
2009-09-10 18:07:56 -07:00
|
|
|
/** Scroll the bottom right corner of the object or substring such that the bottom right
|
|
|
|
corner (and as much as possible of the rest of the object or substring) is within
|
|
|
|
the top level window. In cases where the entire object or substring fits within
|
|
|
|
the top level window, the placement of the object or substring is dependent on
|
|
|
|
the application. For example, the object or substring may be scrolled to the
|
|
|
|
closest edge, the furthest edge, or midway between those two edges. In cases
|
|
|
|
where there is a hierarchy of nested scrollable controls, more than one control
|
|
|
|
may have to be scrolled.
|
2007-04-07 21:00:25 -07:00
|
|
|
*/
|
|
|
|
IA2_SCROLL_TYPE_BOTTOM_RIGHT,
|
|
|
|
|
2009-09-10 18:07:56 -07:00
|
|
|
/** Scroll the top edge of the object or substring such that the top edge
|
|
|
|
(and as much as possible of the rest of the object or substring) is within the
|
|
|
|
top level window. In cases where the entire object or substring fits within
|
|
|
|
the top level window, the placement of the object or substring is dependent on
|
|
|
|
the application. For example, the object or substring may be scrolled to the
|
|
|
|
closest edge, the furthest edge, or midway between those two edges. In cases
|
|
|
|
where there is a hierarchy of nested scrollable controls, more than one control
|
|
|
|
may have to be scrolled.
|
2007-04-07 21:00:25 -07:00
|
|
|
*/
|
|
|
|
IA2_SCROLL_TYPE_TOP_EDGE,
|
|
|
|
|
2009-09-10 18:07:56 -07:00
|
|
|
/** Scroll the bottom edge of the object or substring such that the bottom edge
|
|
|
|
(and as much as possible of the rest of the object or substring) is within the
|
|
|
|
top level window. In cases where the entire object or substring fits within
|
|
|
|
the top level window, the placement of the object or substring is dependent on
|
|
|
|
the application. For example, the object or substring may be scrolled to the
|
|
|
|
closest edge, the furthest edge, or midway between those two edges. In cases
|
|
|
|
where there is a hierarchy of nested scrollable controls, more than one control
|
|
|
|
may have to be scrolled.
|
2007-04-07 21:00:25 -07:00
|
|
|
*/
|
|
|
|
IA2_SCROLL_TYPE_BOTTOM_EDGE,
|
|
|
|
|
2009-09-10 18:07:56 -07:00
|
|
|
/** Scroll the left edge of the object or substring such that the left edge
|
|
|
|
(and as much as possible of the rest of the object or substring) is within the
|
|
|
|
top level window. In cases where the entire object or substring fits within
|
|
|
|
the top level window, the placement of the object or substring is dependent on
|
|
|
|
the application. For example, the object or substring may be scrolled to the
|
|
|
|
closest edge, the furthest edge, or midway between those two edges. In cases
|
|
|
|
where there is a hierarchy of nested scrollable controls, more than one control
|
|
|
|
may have to be scrolled.
|
2007-04-07 21:00:25 -07:00
|
|
|
*/
|
|
|
|
IA2_SCROLL_TYPE_LEFT_EDGE,
|
|
|
|
|
2009-09-10 18:07:56 -07:00
|
|
|
/** Scroll the right edge of the object or substring such that the right edge
|
|
|
|
(and as much as possible of the rest of the object or substring) is within the
|
|
|
|
top level window. In cases where the entire object or substring fits within
|
|
|
|
the top level window, the placement of the object or substring is dependent on
|
|
|
|
the application. For example, the object or substring may be scrolled to the
|
|
|
|
closest edge, the furthest edge, or midway between those two edges. In cases
|
|
|
|
where there is a hierarchy of nested scrollable controls, more than one control
|
|
|
|
may have to be scrolled.
|
|
|
|
*/
|
|
|
|
IA2_SCROLL_TYPE_RIGHT_EDGE,
|
|
|
|
|
|
|
|
/** Scroll the object or substring such that as much as possible of the
|
|
|
|
object or substring is within the top level window. The placement of
|
|
|
|
the object is dependent on the application. For example, the object or
|
|
|
|
substring may be scrolled to to closest edge, the furthest edge, or midway
|
|
|
|
between those two edges.
|
2007-04-07 21:00:25 -07:00
|
|
|
*/
|
2009-09-10 18:07:56 -07:00
|
|
|
IA2_SCROLL_TYPE_ANYWHERE
|
2007-04-07 21:00:25 -07:00
|
|
|
};
|
|
|
|
|
2009-09-10 18:07:56 -07:00
|
|
|
/** These constants define which coordinate system a point is located in.
|
|
|
|
|
|
|
|
This enum is used in IAccessible2::scrollToPoint, IAccessibleImage::imagePosition,
|
|
|
|
IAccessibleText::characterExtents, and IAccessibleText::offsetAtPoint, and
|
|
|
|
IAccessibleText::scrollSubstringToPoint.
|
|
|
|
*/
|
2007-04-07 21:00:25 -07:00
|
|
|
enum IA2CoordinateType {
|
|
|
|
|
|
|
|
/// The coordinates are relative to the screen.
|
|
|
|
IA2_COORDTYPE_SCREEN_RELATIVE,
|
|
|
|
|
|
|
|
/** The coordinates are relative to the upper left corner of the bounding box
|
|
|
|
of the immediate parent.
|
|
|
|
*/
|
|
|
|
IA2_COORDTYPE_PARENT_RELATIVE
|
|
|
|
|
|
|
|
};
|
2009-09-10 18:07:56 -07:00
|
|
|
|
|
|
|
/** Special offsets for use in IAccessibleText and IAccessibleEditableText methods
|
|
|
|
|
|
|
|
Refer to @ref _specialOffsets
|
|
|
|
"Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
|
|
|
|
for more information.
|
|
|
|
*/
|
|
|
|
enum IA2TextSpecialOffsets {
|
|
|
|
IA2_TEXT_OFFSET_LENGTH = -1, /**< This offset is equivalent to the length of the string. It eliminates
|
|
|
|
the need to call IAccessibleText::nCharacters. */
|
|
|
|
IA2_TEXT_OFFSET_CARET = -2 /**< This offset signifies that the text related to the physical location
|
|
|
|
of the caret should be used. */
|
|
|
|
};
|
|
|
|
|
|
|
|
/** These constants specify the kind of change made to a table.
|
|
|
|
|
|
|
|
This enum is used in the IA2TableModelChange struct which in turn is used by
|
|
|
|
IAccessibleTable::modelChange and IAccessibleTable2::modelChange.
|
|
|
|
*/
|
|
|
|
enum IA2TableModelChangeType {
|
|
|
|
IA2_TABLE_MODEL_CHANGE_INSERT, // = 0;
|
|
|
|
IA2_TABLE_MODEL_CHANGE_DELETE,
|
|
|
|
IA2_TABLE_MODEL_CHANGE_UPDATE
|
|
|
|
};
|
|
|
|
|
|
|
|
/** A structure defining the type of and extents of changes made to a table
|
|
|
|
|
|
|
|
IAccessibleTable::modelChange and IAccessibleTable2::modelChange return this struct.
|
|
|
|
In the case of an insertion or change the row and column offsets define the boundaries
|
|
|
|
of the inserted or changed subtable after the operation. In the case of a deletion
|
|
|
|
the row and column offsets define the boundaries of the subtable being removed before
|
|
|
|
the removal.
|
|
|
|
*/
|
|
|
|
typedef struct IA2TableModelChange {
|
|
|
|
enum IA2TableModelChangeType type; // insert, delete, update
|
|
|
|
long firstRow; ///< 0 based, inclusive
|
|
|
|
long lastRow; ///< 0 based, inclusive
|
|
|
|
long firstColumn; ///< 0 based, inclusive
|
|
|
|
long lastColumn; ///< 0 based, inclusive
|
|
|
|
} IA2TableModelChange;
|