X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=atspi%2Fatspi-constants.h;h=8657ead46efd58cc2ab6d3575ce7164bb2e545cb;hb=3785cfb93aa4a29b70ffdd39686f14d2c8e26b0b;hp=b217325cb5bdf16b191c92a1bde2e151bc94bf7b;hpb=13f59d3bc5b7059ff0214d9d8b52854c4634d6e5;p=platform%2Fupstream%2Fat-spi2-core.git diff --git a/atspi/atspi-constants.h b/atspi/atspi-constants.h index b217325..8657ead 100644 --- a/atspi/atspi-constants.h +++ b/atspi/atspi-constants.h @@ -1,3 +1,26 @@ +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2010, 2011 Novell, Inc. + * Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License 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 Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + /* TODO: Auto-generate this file again @@ -30,6 +53,8 @@ Accessibility::StateType\n Accessibility::Event\n Accessibility::EventDetails \n + Accessibility::ScrollType \n + Accessibility::CoordType \n \section Registry Accessibility also includes Accessibility::Registry, @@ -81,7 +106,6 @@ extern "C" { * Used by interfaces #AtspiText and #AtspiDocument, this * enumeration corresponds to the POSIX 'setlocale' enum values. * - * Bitfield/set of flags generated from the AT-SPI specification. **/ typedef enum { ATSPI_LOCALE_TYPE_MESSAGES, @@ -102,17 +126,19 @@ typedef enum { /** * AtspiCoordType: * @ATSPI_COORD_TYPE_SCREEN: Specifies xy coordinates relative to the screen. - * @ATSPI_COORD_TYPE_WINDOW: Specifies xy coordinates relative to the widget's + * @ATSPI_COORD_TYPE_WINDOW: Specifies xy coordinates relative to the widget's * top-level window. + * @ATSPI_COORD_TYPE_PARENT: Specifies xy coordinates relative to the widget's + * immediate parent. * * Enumeration used by #AtspiComponent, #AtspiImage, and #AtspiText interfaces * to specify whether coordinates are relative to the window or the screen. * - * Bitfield/set of flags generated from the AT-SPI specification. **/ typedef enum { ATSPI_COORD_TYPE_SCREEN, ATSPI_COORD_TYPE_WINDOW, + ATSPI_COORD_TYPE_PARENT, } AtspiCoordType; /** @@ -120,23 +146,24 @@ typedef enum { * * One higher than the highest valid value of #AtspiCoordType. **/ -#define ATSPI_COORD_TYPE_COUNT (1+1) +#define ATSPI_COORD_TYPE_COUNT (2+1) /** * AtspiCollectionSortOrder: - * @ATSPI_Collection_SORT_ORDER_INVALID: - * @ATSPI_Collection_SORT_ORDER_CANONICAL: - * @ATSPI_Collection_SORT_ORDER_FLOW: - * @ATSPI_Collection_SORT_ORDER_TAB: - * @ATSPI_Collection_SORT_ORDER_REVERSE_CANONICAL: - * @ATSPI_Collection_SORT_ORDER_REVERSE_FLOW: - * @ATSPI_Collection_SORT_ORDER_REVERSE_TAB: - * @ATSPI_Collection_SORT_ORDER_LAST_DEFINED: + * @ATSPI_Collection_SORT_ORDER_INVALID: Invalid sort order + * @ATSPI_Collection_SORT_ORDER_CANONICAL: Canonical sort order + * @ATSPI_Collection_SORT_ORDER_FLOW: Flow sort order + * @ATSPI_Collection_SORT_ORDER_TAB: Tab sort order + * @ATSPI_Collection_SORT_ORDER_REVERSE_CANONICAL: Reverse canonical sort order + * @ATSPI_Collection_SORT_ORDER_REVERSE_FLOW: Reverse flow sort order + * @ATSPI_Collection_SORT_ORDER_REVERSE_TAB: Reverse tab sort order + * @ATSPI_Collection_SORT_ORDER_LAST_DEFINED: Used only to determine the end of the + * enumeration. + * * Enumeration used by interface #AtspiCollection to specify * the way #AtspiAccesible objects should be sorted. * - * Bitfield/set of flags generated from the AT-SPI specification. **/ typedef enum { ATSPI_Collection_SORT_ORDER_INVALID, @@ -158,20 +185,20 @@ typedef enum { /** * AtspiCollectionMatchType: - * @ATSPI_Collection_MATCH_INVALID: + * @ATSPI_Collection_MATCH_INVALID: Indicates an error condition or + * uninitialized value. * @ATSPI_Collection_MATCH_ALL: #TRUE if all of the criteria are met. * @ATSPI_Collection_MATCH_ANY: #TRUE if any of the criteria are met. * @ATSPI_Collection_MATCH_NONE: #TRUE if none of the criteria are met. * @ATSPI_Collection_MATCH_EMPTY: Same as @ATSPI_Collection_MATCH_ALL if - * the criteria is non-empty; for empty criteria this rule requires returned - * value to also have empty set. + * the criteria is non-empty; for empty criteria this rule requires returned + * value to also have empty set. * @ATSPI_Collection_MATCH_LAST_DEFINED: Used only to determine the end of the * enumeration. * * Enumeration used by #AtspiMatchRule to specify - * how to interpret #AtspiAccesible objects. + * how to interpret #AtspiAccessible objects. * - * Bitfield/set of flags generated from the AT-SPI specification. **/ typedef enum { ATSPI_Collection_MATCH_INVALID, @@ -191,15 +218,15 @@ typedef enum { /** * AtspiCollectionTreeTraversalType: - * @ATSPI_Collection_TREE_RESTRICT_CHILDREN: - * @ATSPI_Collection_TREE_RESTRICT_SIBLING: - * @ATSPI_Collection_TREE_INORDER: - * @ATSPI_Collection_TREE_LAST_DEFINED: + * @ATSPI_Collection_TREE_RESTRICT_CHILDREN: Restrict children tree traveral + * @ATSPI_Collection_TREE_RESTRICT_SIBLING: Restrict sibling tree traversal + * @ATSPI_Collection_TREE_INORDER: In-order tree traversal. + * @ATSPI_Collection_TREE_LAST_DEFINED: Used only to determine the end of the + * enumeration. * * Enumeration used by interface #AtspiCollection to specify * restrictions on #AtspiAccesible objects to be traversed. * - * Bitfield/set of flags generated from the AT-SPI specification. **/ typedef enum { ATSPI_Collection_TREE_RESTRICT_CHILDREN, @@ -255,7 +282,6 @@ typedef enum { * @ATSPI_LAYER_CANVAS, @ATSPI_LAYER_WIDGET, @ATSPI_LAYER_POPUP, and * @ATSPI_LAYER_OVERLAY. * - * Bitfield/set of flags generated from the AT-SPI specification. */ typedef enum { ATSPI_LAYER_INVALID, @@ -313,7 +339,8 @@ typedef enum { * #atspi_text_get_text_at_offset, #atspi_text_get_text_after_offset, and * #atspi_text_get_text_before_offset. * - * Bitfield/set of flags generated from the AT-SPI specification. + * This enumerationis deprecated since 2.9.90 and should not be used. Use + * AtspiTextGranularity with #atspi_text_get_string_at_offset instead. **/ typedef enum { ATSPI_TEXT_BOUNDARY_CHAR, @@ -326,6 +353,34 @@ typedef enum { } AtspiTextBoundaryType; /** + *AtspiTextGranularity: + *@ATSPI_TEXT_GRANULARITY_CHAR: Granularity is defined by the boundaries between characters + * (including non-printing characters) + *@ATSPI_TEXT_GRANULARITY_WORD: Granularity is defined by the boundaries of a word, + * starting at the beginning of the current word and finishing at the beginning of + * the following one, if present. + *@ATSPI_TEXT_GRANULARITY_SENTENCE: Granularity is defined by the boundaries of a sentence, + * starting at the beginning of the current sentence and finishing at the beginning of + * the following one, if present. + *@ATSPI_TEXT_GRANULARITY_LINE: Granularity is defined by the boundaries of a line, + * starting at the beginning of the current line and finishing at the beginning of + * the following one, if present. + *@ATSPI_TEXT_GRANULARITY_PARAGRAPH: Granularity is defined by the boundaries of a paragraph, + * starting at the beginning of the current paragraph and finishing at the beginning of + * the following one, if present. + * + * Text granularity types used for specifying the granularity of the region of + * text we are interested in. + **/ +typedef enum { + ATSPI_TEXT_GRANULARITY_CHAR, + ATSPI_TEXT_GRANULARITY_WORD, + ATSPI_TEXT_GRANULARITY_SENTENCE, + ATSPI_TEXT_GRANULARITY_LINE, + ATSPI_TEXT_GRANULARITY_PARAGRAPH +} AtspiTextGranularity; + +/** * ATSPI_TEXT_BOUNDARY_TYPE_COUNT: * * One higher than the highest valid value of #AtspiTextBoundaryType. @@ -345,7 +400,6 @@ typedef enum { * Enumeration used by interface #AtspiText to indicate * how to treat characters intersecting bounding boxes. * - * Bitfield/set of flags generated from the AT-SPI specification. **/ typedef enum { ATSPI_TEXT_CLIP_NONE, @@ -366,7 +420,13 @@ typedef enum { * @ATSPI_STATE_INVALID: Indicates an invalid state - probably an error * condition. * @ATSPI_STATE_ACTIVE: Indicates a window is currently the active window, or - * is an active subelement within a container or table. + * an object is the active subelement within a container or table. + * @ATSPI_STATE_ACTIVE should not be used for objects which have + * #ATSPI_STATE_FOCUSABLE or #ATSPI_STATE_SELECTABLE: Those objects should use + * @ATSPI_STATE_FOCUSED and @ATSPI_STATE_SELECTED respectively. + * @ATSPI_STATE_ACTIVE is a means to indicate that an object which is not + * focusable and not selectable is the currently-active item within its + * parent container. * @ATSPI_STATE_ARMED: Indicates that the object is armed. * @ATSPI_STATE_BUSY: Indicates the current object is busy, i.e. onscreen * representation is in the process of changing, or the object is @@ -386,8 +446,8 @@ typedef enum { * disclosure of its children. * @ATSPI_STATE_EXPANDED: Indicates this object is expanded. * @ATSPI_STATE_FOCUSABLE: Indicates this object can accept keyboard focus, - * which means all events resulting from typing on the keyboard will - * normally be passed to it when it has focus. + * which means all events resulting from typing on the keyboard will + * normally be passed to it when it has focus. * @ATSPI_STATE_FOCUSED: Indicates this object currently has the keyboard * focus. * @ATSPI_STATE_HAS_TOOLTIP: Indicates that the object has an associated @@ -507,6 +567,17 @@ typedef enum { * @ATSPI_STATE_VISITED: This state indicates that the object (typically a * hyperlink) has already been activated or invoked, with the result that * some backing data has been downloaded or rendered. + *@ATSPI_STATE_CHECKABLE: Indicates this object has the potential to + * be checked, such as a checkbox or toggle-able table cell. @Since: + * 2.12 + *@ATSPI_STATE_HAS_POPUP: Indicates that the object has a popup + * context menu or sub-level menu which may or may not be + * showing. This means that activation renders conditional content. + * Note that ordinary tooltips are not considered popups in this + * context. @Since: 2.12 + * @ATSPI_STATE_READ_ONLY: Indicates that an object which is ENABLED and + * SENSITIVE has a value which can be read, but not modified, by the + * user. @Since: 2.16 * @ATSPI_STATE_LAST_DEFINED: This value of the enumeration should not be used * as a parameter, it indicates the number of items in the #AtspiStateType * enumeration. @@ -515,7 +586,6 @@ typedef enum { * Enumeration used by various interfaces indicating every possible state * an #AtspiAccesible object can assume. * - * Bitfield/set of flags generated from the AT-SPI specification. **/ typedef enum { ATSPI_STATE_INVALID, @@ -559,6 +629,9 @@ typedef enum { ATSPI_STATE_SELECTABLE_TEXT, ATSPI_STATE_IS_DEFAULT, ATSPI_STATE_VISITED, + ATSPI_STATE_CHECKABLE, + ATSPI_STATE_HAS_POPUP, + ATSPI_STATE_READ_ONLY, ATSPI_STATE_LAST_DEFINED, } AtspiStateType; @@ -571,12 +644,11 @@ typedef enum { /** * AtspiKeyEventType: - * @ATSPI_KEY_PRESSED: - * @ATSPI_KEY_RELEASED: + * @ATSPI_KEY_PRESSED: Key press event + * @ATSPI_KEY_RELEASED: Key release event * * Deprecated. Should not be used. * - * Bitfield/set of flags generated from the AT-SPI specification. **/ typedef enum { ATSPI_KEY_PRESSED, @@ -605,7 +677,6 @@ typedef enum { * #AtspiEventListener, or * to identify the type of an event for which notification has been sent. * - * Bitfield/set of flags generated from the AT-SPI specification. **/ typedef enum { ATSPI_KEY_PRESSED_EVENT, @@ -626,28 +697,30 @@ typedef enum { * @ATSPI_KEY_PRESS: Emulates the pressing of a hardware keyboard key. * @ATSPI_KEY_RELEASE: Emulates the release of a hardware keyboard key. * @ATSPI_KEY_PRESSRELEASE: Emulates the pressing and immediate releasing - * ofa hardware keyboard key. + * of a hardware keyboard key. * @ATSPI_KEY_SYM: A symbolic key event is generated, without specifying a * hardware key. Note: if the keysym is not present in the current keyboard * map, the #AtspiDeviceEventController instance has a limited ability to * generate such keysyms on-the-fly. Reliability of GenerateKeyboardEvent * calls using out-of-keymap keysyms will vary from system to system, and on - * the number of different out-of-keymap being generated in quick succession. + * the number of different out-of-keymap keysyms being generated in quick + * succession. * In practice this is rarely significant, since the keysyms of interest to * AT clients and keyboard emulators are usually part of the current keymap, - * i.e. present on the system keyboard for the current locale (even if a - * physical hardware keyboard is not connected. + * i.e., present on the system keyboard for the current locale (even if a + * physical hardware keyboard is not connected). * @ATSPI_KEY_STRING: A string is converted to its equivalent keyboard events - * and emitted. If the string consists of complex character or composed + * and emitted. If the string consists of complex characters or composed * characters which are not in the current keymap, string emission is * subject to the out-of-keymap limitations described for * @ATSPI_KEY_SYM. In practice this limitation primarily effects * Chinese and Japanese locales. + * @ATSPI_KEY_LOCKMODIFIERS: Emulates locking a set of modifiers. + * @ATSPI_KEY_UNLOCKMODIFIERS: Emulates unlocking a set of modifiers. * * Enumeration used when synthesizing keyboard input via * #atspi_generate_keyboard_event. * - * Bitfield/set of flags generated from the AT-SPI specification. **/ typedef enum { ATSPI_KEY_PRESS, @@ -655,6 +728,8 @@ typedef enum { ATSPI_KEY_PRESSRELEASE, ATSPI_KEY_SYM, ATSPI_KEY_STRING, + ATSPI_KEY_LOCKMODIFIERS, + ATSPI_KEY_UNLOCKMODIFIERS, } AtspiKeySynthType; /** @@ -683,7 +758,6 @@ typedef enum { * * * - * Bitfield/set of flags generated from the AT-SPI specification. **/ typedef enum { ATSPI_MODIFIER_SHIFT, @@ -693,7 +767,7 @@ typedef enum { ATSPI_MODIFIER_META, ATSPI_MODIFIER_META2, ATSPI_MODIFIER_META3, - ATSPI_MODIFIER_NUMLOCK, + ATSPI_MODIFIER_NUMLOCK = 14, } AtspiModifierType; /** @@ -749,12 +823,41 @@ typedef enum { * @ATSPI_ROLE_FRAME object may still be the active window. * @ATSPI_RELATION_PARENT_WINDOW_OF: This is the reciprocal relation to * @ATSPI_RELATION_POPUP_FOR. - * @ATSPI_RELATION_DESCRIPTION_FOR: Indicates that an object provides - * descriptive information about another object; more verbose than - * @ATSPI_RELATION_LABEL_FOR. - * @ATSPI_RELATION_DESCRIBED_BY: Indicates that another object provides - * descriptive information about this object; more verbose than - * @ATSPI_RELATION_LABELLED_BY. + * @ATSPI_RELATION_DESCRIBED_BY: Reciprocal of %ATSPI_RELATION_DESCRIPTION_FOR. + * Indicates that one or more target objects provide descriptive information + * about this object. This relation type is most appropriate for information + * that is not essential as its presentation may be user-configurable and/or + * limited to an on-demand mechanism such as an assistive technology command. + * For brief, essential information such as can be found in a widget's on-screen + * label, use %ATSPI_RELATION_LABELLED_BY. For an on-screen error message, use + * %ATSPI_RELATION_ERROR_MESSAGE. For lengthy extended descriptive information + * contained in an on-screen object, consider using %ATSPI_RELATION_DETAILS as + * assistive technologies may provide a means for the user to navigate to + * objects containing detailed descriptions so that their content can be more + * closely reviewed. + * @ATSPI_RELATION_DESCRIPTION_FOR: Reciprocal of %ATSPI_RELATION_DESCRIBED_BY. + * Indicates that this object provides descriptive information about the target + * object(s). See also %ATSPI_RELATION_DETAILS_FOR and %ATSPI_RELATION_ERROR_FOR. + * @ATSPI_RELATION_DETAILS: Reciprocal of %ATSPI_RELATION_DETAILS_FOR. Indicates + * that this object has a detailed or extended description, the contents of + * which can be found in the target object(s). This relation type is most + * appropriate for information that is sufficiently lengthy as to make + * navigation to the container of that information desirable. For less verbose + * information suitable for announcement only, see %ATSPI_RELATION_DESCRIBED_BY. + * If the detailed information describes an error condition, + * %ATSPI_RELATION_ERROR_FOR should be used instead. @Since: 2.26. + * @ATSPI_RELATION_DETAILS_FOR: Reciprocal of %ATSPI_RELATION_DETAILS. Indicates + * that this object provides a detailed or extended description about the target + * object(s). See also %ATSPI_RELATION_DESCRIPTION_FOR and + * %ATSPI_RELATION_ERROR_FOR. @Since: 2.26. + * @ATSPI_RELATION_ERROR_MESSAGE: Reciprocal of %ATSPI_RELATION_ERROR_FOR. + * Indicates that this object has one or more errors, the nature of which is + * described in the contents of the target object(s). Objects that have this + * relation type should also contain %ATSPI_STATE_INVALID_ENTRY in their + * #AtspiStateSet. @Since: 2.26. + * @ATSPI_RELATION_ERROR_FOR: Reciprocal of %ATSPI_RELATION_ERROR_MESSAGE. + * Indicates that this object contains an error message describing an invalid + * condition in the target object(s). @Since: 2.26. * @ATSPI_RELATION_LAST_DEFINED: Do not use as a parameter value, used to * determine the size of the enumeration. * @@ -773,11 +876,10 @@ typedef enum { * the valuator. Common examples include association of scrollbars with the * viewport or panel which they control. * - * + * * Enumeration used to specify * the type of relation encapsulated in an #AtspiRelation object. * - * Bitfield/set of flags generated from the AT-SPI specification. **/ typedef enum { ATSPI_RELATION_NULL, @@ -799,6 +901,10 @@ typedef enum { ATSPI_RELATION_PARENT_WINDOW_OF, ATSPI_RELATION_DESCRIPTION_FOR, ATSPI_RELATION_DESCRIBED_BY, + ATSPI_RELATION_DETAILS, + ATSPI_RELATION_DETAILS_FOR, + ATSPI_RELATION_ERROR_MESSAGE, + ATSPI_RELATION_ERROR_FOR, ATSPI_RELATION_LAST_DEFINED, } AtspiRelationType; @@ -807,7 +913,7 @@ typedef enum { * * One higher than the highest valid value of #AtspiRelationType. **/ -#define ATSPI_RELATIONTYPE_COUNT (19+1) +#define ATSPI_RELATIONTYPE_COUNT (23+1) /** * AtspiRole: @@ -931,8 +1037,13 @@ typedef enum { * @ATSPI_ROLE_TEAROFF_MENU_ITEM: Object allows menu to be removed from menubar * and shown in its own window. * @ATSPI_ROLE_TERMINAL: An object that emulates a terminal. - * @ATSPI_ROLE_TEXT: An object that presents text to the user, of nonspecific - * type. + * @ATSPI_ROLE_TEXT: An interactive widget that supports multiple lines of text + * and optionally accepts user input, but whose purpose is not to solicit user + * input. Thus @ATSPI_ROLE_TEXT is appropriate for the text view in a plain text + * editor but inappropriate for an input field in a dialog box or web form. For + * widgets whose purpose is to solicit input from the user, see @ATSPI_ROLE_ENTRY + * and @ATSPI_ROLE_PASSWORD_TEXT. For generic objects which display a brief amount + * of textual information, see @ATSPI_ROLE_STATIC. * @ATSPI_ROLE_TOGGLE_BUTTON: A specialized push button that can be checked or * unchecked, but does not procide a separate indicator for the current * state. @@ -951,7 +1062,7 @@ typedef enum { * onscreen viewport. * @ATSPI_ROLE_WINDOW: A top level window with no title or border. * @ATSPI_ROLE_EXTENDED: means that the role for this item is known, but not - * included in the core enumeration. + * included in the core enumeration. Deprecated since 2.24. * @ATSPI_ROLE_HEADER: An object that serves as a document header. * @ATSPI_ROLE_FOOTER: An object that serves as a document footer. * @ATSPI_ROLE_PARAGRAPH: An object which is contains a single paragraph of @@ -990,7 +1101,7 @@ typedef enum { * contains a view of document content. #AtspiDocument frames may occur within * another #AtspiDocument instance, in which case the second document may be * said to be embedded in the containing instance. HTML frames are often - * @ATSPI_ROLE_DOCUMENT_FRAME: Either this object, or a singleton descendant, + * ATSPI_ROLE_DOCUMENT_FRAME: Either this object, or a singleton descendant, * should implement the #AtspiDocument interface. * @ATSPI_ROLE_HEADING: The object serves as a heading for content which * follows it in a document. The 'heading level' of the heading, if @@ -1054,13 +1165,87 @@ typedef enum { * particular application. * @ATSPI_ROLE_INFO_BAR: An object designed to present a message to the user * within an existing window. - * @ATSPI_ROLE_LAST_DEFINED: Not a valid role, used for finding end of - * enumeration. + * @ATSPI_ROLE_LEVEL_BAR: A bar that serves as a level indicator to, for + * instance, show the strength of a password or the state of a battery. @Since: 2.8 + * @ATSPI_ROLE_TITLE_BAR: A bar that serves as the title of a window or a + * dialog. @Since: 2.12 + * @ATSPI_ROLE_BLOCK_QUOTE: An object which contains a text section + * that is quoted from another source. @Since: 2.12 + * @ATSPI_ROLE_AUDIO: An object which represents an audio + * element. @Since: 2.12 + * @ATSPI_ROLE_VIDEO: An object which represents a video + * element. @Since: 2.12 + * @ATSPI_ROLE_DEFINITION: A definition of a term or concept. @Since: 2.12 + * @ATSPI_ROLE_ARTICLE: A section of a page that consists of a + * composition that forms an independent part of a document, page, or + * site. Examples: A blog entry, a news story, a forum post. @Since: + * 2.12 + * @ATSPI_ROLE_LANDMARK: A region of a web page intended as a + * navigational landmark. This is designed to allow Assistive + * Technologies to provide quick navigation among key regions within a + * document. @Since: 2.12 + * @ATSPI_ROLE_LOG: A text widget or container holding log content, such + * as chat history and error logs. In this role there is a + * relationship between the arrival of new items in the log and the + * reading order. The log contains a meaningful sequence and new + * information is added only to the end of the log, not at arbitrary + * points. @Since: 2.12 + * @ATSPI_ROLE_MARQUEE: A container where non-essential information + * changes frequently. Common usages of marquee include stock tickers + * and ad banners. The primary difference between a marquee and a log + * is that logs usually have a meaningful order or sequence of + * important content changes. @Since: 2.12 + * @ATSPI_ROLE_MATH: A text widget or container that holds a mathematical + * expression. @Since: 2.12 + * @ATSPI_ROLE_RATING: A widget whose purpose is to display a rating, + * such as the number of stars associated with a song in a media + * player. Objects of this role should also implement + * AtspiValue. @Since: 2.12 + * @ATSPI_ROLE_TIMER: An object containing a numerical counter which + * indicates an amount of elapsed time from a start point, or the time + * remaining until an end point. @Since: 2.12 + * @ATSPI_ROLE_STATIC: A generic non-container object whose purpose is to display + * a brief amount of information to the user and whose role is known by the + * implementor but lacks semantic value for the user. Examples in which + * @ATSPI_ROLE_STATIC is appropriate include the message displayed in a message + * box and an image used as an alternative means to display text. + * @ATSPI_ROLE_STATIC should not be applied to widgets which are traditionally + * interactive, objects which display a significant amount of content, or any + * object which has an accessible relation pointing to another object. The + * displayed information, as a general rule, should be exposed through the + * accessible name of the object. For labels which describe another widget, see + * @ATSPI_ROLE_LABEL. For text views, see @ATSPI_ROLE_TEXT. For generic + * containers, see @ATSPI_ROLE_PANEL. For objects whose role is not known by the + * implementor, see @ATSPI_ROLE_UNKNOWN. @Since: 2.16. + * @ATSPI_ROLE_MATH_FRACTION: An object that represents a mathematical fraction. @Since: 2.16. + * @ATSPI_ROLE_MATH_ROOT: An object that represents a mathematical expression + * displayed with a radical. @Since: 2.16. + * @ATSPI_ROLE_SUBSCRIPT: An object that contains text that is displayed as a + * subscript. @Since: 2.16. + * @ATSPI_ROLE_SUPERSCRIPT: An object that contains text that is displayed as a + * superscript. @Since: 2.16. + * @ATSPI_ROLE_DESCRIPTION_LIST: An object that represents a list of term-value + * groups. A term-value group represents an individual description and consist + * of one or more names (@ATSPI_ROLE_DESCRIPTION_TERM) followed by one or more + * values (@ATSPI_ROLE_DESCRIPTION_VALUE). For each list, there should not be + * more than one group with the same term name. @Since: 2.26. + * @ATSPI_ROLE_DESCRIPTION_TERM: An object that represents a term or phrase + * with a corresponding definition. @Since: 2.26. + * @ATSPI_ROLE_DESCRIPTION_VALUE: An object that represents the description, + * definition, or value of a term. @Since: 2.26. + * @ATSPI_ROLE_FOOTNOTE: An object that contains the text of a footnote. @Since: 2.26. + * @ATSPI_ROLE_CONTENT_DELETION: Content previously deleted or proposed to be + * deleted, e.g. in revision history or a content view providing suggestions + * from reviewers. @Since: 2.34. + * @ATSPI_ROLE_CONTENT_INSERTION: Content previously inserted or proposed to be + * inserted, e.g. in revision history or a content view providing suggestions + * from reviewers. @Since: 2.34. + * @ATSPI_ROLE_LAST_DEFINED: Not a valid role, used for finding end of + * enumeration. * * Enumeration used by interface #AtspiAccessible to specify the role * of an #AtspiAccessible object. * - * Bitfield/set of flags generated from the AT-SPI specification. */ typedef enum { ATSPI_ROLE_INVALID, @@ -1166,6 +1351,30 @@ typedef enum { ATSPI_ROLE_IMAGE_MAP, ATSPI_ROLE_NOTIFICATION, ATSPI_ROLE_INFO_BAR, + ATSPI_ROLE_LEVEL_BAR, + ATSPI_ROLE_TITLE_BAR, + ATSPI_ROLE_BLOCK_QUOTE, + ATSPI_ROLE_AUDIO, + ATSPI_ROLE_VIDEO, + ATSPI_ROLE_DEFINITION, + ATSPI_ROLE_ARTICLE, + ATSPI_ROLE_LANDMARK, + ATSPI_ROLE_LOG, + ATSPI_ROLE_MARQUEE, + ATSPI_ROLE_MATH, + ATSPI_ROLE_RATING, + ATSPI_ROLE_TIMER, + ATSPI_ROLE_STATIC, + ATSPI_ROLE_MATH_FRACTION, + ATSPI_ROLE_MATH_ROOT, + ATSPI_ROLE_SUBSCRIPT, + ATSPI_ROLE_SUPERSCRIPT, + ATSPI_ROLE_DESCRIPTION_LIST, + ATSPI_ROLE_DESCRIPTION_TERM, + ATSPI_ROLE_DESCRIPTION_VALUE, + ATSPI_ROLE_FOOTNOTE, + ATSPI_ROLE_CONTENT_DELETION, + ATSPI_ROLE_CONTENT_INSERTION, ATSPI_ROLE_LAST_DEFINED, } AtspiRole; @@ -1174,12 +1383,12 @@ typedef enum { * * One higher than the highest valid value of #AtspiRole. */ -#define ATSPI_ROLE_COUNT (90+1) +#define ATSPI_ROLE_COUNT (127+1) typedef enum { - ATSPI_CACHE_NONE = 0, - ATSPI_CACHE_PARENT = 1 << 0, + ATSPI_CACHE_NONE = 0, + ATSPI_CACHE_PARENT = 1 << 0, ATSPI_CACHE_CHILDREN = 1 << 1, ATSPI_CACHE_NAME = 1 << 2, ATSPI_CACHE_DESCRIPTION = 1 << 3, @@ -1188,13 +1397,47 @@ typedef enum ATSPI_CACHE_INTERFACES = 1 << 6, ATSPI_CACHE_ATTRIBUTES = 1 << 7, ATSPI_CACHE_ALL = 0x3fffffff, - ATSPI_CACHE_DEFAULT = ATSPI_CACHE_PARENT | ATSPI_CACHE_CHILDREN | - ATSPI_CACHE_NAME | ATSPI_CACHE_DESCRIPTION | - ATSPI_CACHE_STATES | ATSPI_CACHE_ROLE | - ATSPI_CACHE_INTERFACES, + ATSPI_CACHE_DEFAULT = ATSPI_CACHE_PARENT | ATSPI_CACHE_CHILDREN | ATSPI_CACHE_NAME | ATSPI_CACHE_DESCRIPTION | ATSPI_CACHE_STATES | ATSPI_CACHE_ROLE | ATSPI_CACHE_INTERFACES, ATSPI_CACHE_UNDEFINED = 0x40000000, } AtspiCache; +/** + * AtspiScrollType: + * @ATSPI_SCROLL_TOP_LEFT: Scroll the object to the top left corner of the + * window. + * @ATSPI_SCROLL_BOTTOM_RIGHT: Scroll the object to the bottom right corner of + * the window. + * @ATSPI_SCROLL_TOP_EDGE: Scroll the object to the top edge of the window. + * @ATSPI_SCROLL_BOTTOM_EDGE: Scroll the object to the bottom edge of the + * window. + * @ATSPI_SCROLL_LEFT_EDGE: Scroll the object to the left edge of the + * window. + * @ATSPI_SCROLL_RIGHT_EDGE: Scroll the object to the right edge of the + * window. + * @ATSPI_SCROLL_ANYWHERE: Scroll the object to application-dependent position + * on the window. + * + * Enumeration used by interface #AtspiAccessible to specify where an + * #AtspiAccessible object should be placed on the screen when using scroll_to. + * + */ +typedef enum { + ATSPI_SCROLL_TOP_LEFT, + ATSPI_SCROLL_BOTTOM_RIGHT, + ATSPI_SCROLL_TOP_EDGE, + ATSPI_SCROLL_BOTTOM_EDGE, + ATSPI_SCROLL_LEFT_EDGE, + ATSPI_SCROLL_RIGHT_EDGE, + ATSPI_SCROLL_ANYWHERE +} AtspiScrollType; + +/** + * ATSPI_SCROLLTYPE_COUNT: + * + * One higher than the highest valid value of #AtspiScrollType. + */ +#define ATSPI_SCROLLTYPE_COUNT (6+1) + #define ATSPI_DBUS_NAME_REGISTRY "org.a11y.atspi.Registry" #define ATSPI_DBUS_PATH_REGISTRY "/org/a11y/atspi/registry" #define ATSPI_DBUS_INTERFACE_REGISTRY "org.a11y.atspi.Registry" @@ -1222,10 +1465,14 @@ typedef enum #define ATSPI_DBUS_INTERFACE_IMAGE "org.a11y.atspi.Image" #define ATSPI_DBUS_INTERFACE_SELECTION "org.a11y.atspi.Selection" #define ATSPI_DBUS_INTERFACE_TABLE "org.a11y.atspi.Table" +#define ATSPI_DBUS_INTERFACE_TABLE_CELL "org.a11y.atspi.TableCell" #define ATSPI_DBUS_INTERFACE_TEXT "org.a11y.atspi.Text" #define ATSPI_DBUS_INTERFACE_VALUE "org.a11y.atspi.Value" #define ATSPI_DBUS_INTERFACE_SOCKET "org.a11y.atspi.Socket" +#define ATSPI_DBUS_PATH_SCREEN_READER "/org/a11y/atspi/screenreader" +#define ATSPI_DBUS_INTERFACE_EVENT_SCREEN_READER "org.a11y.atspi.Event.ScreenReader" + #ifdef __cplusplus } #endif