X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=atspi%2Fatspi-constants.h;h=692cc69ccc3ee9703520a6fe693a5c8e5b8106bd;hb=6bf6afb127220179a8d3959ddb0b2d060fdb415d;hp=2747ae844d643633eb6559eb09b55ca485269c92;hpb=1caa8f4613c87fec43406285a6597fd6f6408457;p=platform%2Fupstream%2Fat-spi2-core.git diff --git a/atspi/atspi-constants.h b/atspi/atspi-constants.h index 2747ae8..692cc69 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 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. + */ + /* TODO: Auto-generate this file again @@ -66,20 +89,22 @@ extern "C" { #endif /** + * AtspiLocaleType: + * @ATSPI_LOCALE_TYPE_MESSAGES: For localizable natural-language messages. + * @ATSPI_LOCALE_TYPE_COLLATE: For regular expression matching and string + * collation. + * @ATSPI_LOCALE_TYPE_CTYPE: For regular expression matching, character + * classification, conversion, case-sensitive comparison, and wide character + * functions. + * @ATSPI_LOCALE_TYPE_MONETARY: For monetary formatting. + * @ATSPI_LOCALE_TYPE_NUMERIC: For number formatting (such as the decimal + * point and the thousands separator). + * @ATSPI_LOCALE_TYPE_TIME: For time and date formatting. * -ATSPI_LOCALE_TYPE: - * @ATSPI_LOCALE_TYPE_MESSAGES: - * @ATSPI_LOCALE_TYPE_COLLATE: - * @ATSPI_LOCALE_TYPE_CTYPE: - * @ATSPI_LOCALE_TYPE_MONETARY: - * @ATSPI_LOCALE_TYPE_NUMERIC: - * @ATSPI_LOCALE_TYPE_TIME: - * - * Used by Text and Document interfaces these correspond to the POSIX - * 'setlocale' enum values. + * 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, ATSPI_LOCALE_TYPE_COLLATE, @@ -92,21 +117,20 @@ typedef enum { /** * ATSPI_LOCALE_TYPE_COUNT: * - * 1 higher than the highest valid value of #AtspiLocaleType. - */ + * One higher than the highest valid value of #AtspiLocaleType. + **/ #define ATSPI_LOCALE_TYPE _COUNT(5+1) /** + * AtspiCoordType: + * @ATSPI_COORD_TYPE_SCREEN: Specifies xy coordinates relative to the screen. + * @ATSPI_COORD_TYPE_WINDOW: Specifies xy coordinates relative to the widget's + * top-level window. * -ATSPI_COORD_TYPE: - * @ATSPI_COORD_TYPE_SCREEN: - * @ATSPI_COORD_TYPE_WINDOW: + * Enumeration used by #AtspiComponent, #AtspiImage, and #AtspiText interfaces + * to specify whether coordinates are relative to the window or the screen. * - * Used by Component, Image, and Text 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, @@ -115,13 +139,12 @@ typedef enum { /** * ATSPI_COORD_TYPE_COUNT: * - * 1 higher than the highest valid value of #AtspiCoordType. - */ + * One higher than the highest valid value of #AtspiCoordType. + **/ #define ATSPI_COORD_TYPE_COUNT (1+1) /** - * -ATSPI_Collection_SortOrder: + * AtspiCollectionSortOrder: * @ATSPI_Collection_SORT_ORDER_INVALID: * @ATSPI_Collection_SORT_ORDER_CANONICAL: * @ATSPI_Collection_SORT_ORDER_FLOW: @@ -131,8 +154,10 @@ ATSPI_Collection_SortOrder: * @ATSPI_Collection_SORT_ORDER_REVERSE_TAB: * @ATSPI_Collection_SORT_ORDER_LAST_DEFINED: * - * Bitfield/set of flags generated from the AT-SPI specification. - */ + * Enumeration used by interface #AtspiCollection to specify + * the way #AtspiAccesible objects should be sorted. + * + **/ typedef enum { ATSPI_Collection_SORT_ORDER_INVALID, ATSPI_Collection_SORT_ORDER_CANONICAL, @@ -147,22 +172,27 @@ typedef enum { /** * ATSPI_SORTORDER_COUNT: * - * 1 higher than the highest valid value of #AtspiCollectionSortOrder. + * One higher than the highest valid value of #AtspiCollectionSortOrder. */ #define ATSPI_SORTORDER_COUNT (7+1) /** + * AtspiCollectionMatchType: + * @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. + * @ATSPI_Collection_MATCH_LAST_DEFINED: Used only to determine the end of the + * enumeration. * -ATSPI_Collection_MatchType: - * @ATSPI_Collection_MATCH_INVALID: - * @ATSPI_Collection_MATCH_ALL: - * @ATSPI_Collection_MATCH_ANY: - * @ATSPI_Collection_MATCH_NONE: - * @ATSPI_Collection_MATCH_EMPTY: - * @ATSPI_Collection_MATCH_LAST_DEFINED: + * Enumeration used by #AtspiMatchRule to specify + * how to interpret #AtspiAccessible objects. * - * Bitfield/set of flags generated from the AT-SPI specification. - */ + **/ typedef enum { ATSPI_Collection_MATCH_INVALID, ATSPI_Collection_MATCH_ALL, @@ -175,20 +205,21 @@ typedef enum { /** * ATSPI_MATCHTYPE_COUNT: * - * 1 higher than the highest valid value of #AtspiCollectionMatchType. - */ + * One higher than the highest valid value of #AtspiCollectionMatchType. + **/ #define ATSPI_MATCHTYPES_COUNT (5+1) /** - * -ATSPI_Collection_TreeTraversalType: + * AtspiCollectionTreeTraversalType: * @ATSPI_Collection_TREE_RESTRICT_CHILDREN: * @ATSPI_Collection_TREE_RESTRICT_SIBLING: * @ATSPI_Collection_TREE_INORDER: * @ATSPI_Collection_TREE_LAST_DEFINED: * - * Bitfield/set of flags generated from the AT-SPI specification. - */ + * Enumeration used by interface #AtspiCollection to specify + * restrictions on #AtspiAccesible objects to be traversed. + * + **/ typedef enum { ATSPI_Collection_TREE_RESTRICT_CHILDREN, ATSPI_Collection_TREE_RESTRICT_SIBLING, @@ -199,49 +230,50 @@ typedef enum { /** * ATSPI_TREETRAVERSALTYPE_COUNT: * - * 1 higher than the highest valid value of + * One higher than the highest valid value of * #AtspiCollection_TreeTraversalType. */ #define ATSPI_TREETRAVERSALTYPE _COUNT(3+1) /** - * -ATSPI_ComponentLayer: + * AtspiComponentLayer: * @ATSPI_LAYER_INVALID: Indicates an error condition or uninitialized value. * @ATSPI_LAYER_BACKGROUND: The bottom-most layer, over which everything else * is painted. The 'desktop background' is generally in this layer. * @ATSPI_LAYER_CANVAS: The 'background' layer for most content renderers and - * UI Component containers. + * UI #AtspiComponent containers. * @ATSPI_LAYER_WIDGET: The layer in which the majority of ordinary * 'foreground' widgets reside. - * @ATSPI_LAYER_MDI: A special layer between LAYER_CANVAS and LAYER_WIDGET, in - * which the 'pseudo windows' (e.g. the MDI frames) reside. (See - * Component.GetMDIZOrder) - * @ATSPI_LAYER_POPUP: A layer for popup window content, above LAYER_WIDGET. + * @ATSPI_LAYER_MDI: A special layer between @ATSPI_LAYER_CANVAS and + * @ATSPI_LAYER_WIDGET, in which the 'pseudo windows' (e.g. the MDI frames) + * reside. See #atspi_component_get_mdi_z_order. + * @ATSPI_LAYER_POPUP: A layer for popup window content, above + * @ATSPI_LAYER_WIDGET. * @ATSPI_LAYER_OVERLAY: The topmost layer. * @ATSPI_LAYER_WINDOW: The layer in which a toplevel window background usually * resides. * @ATSPI_LAYER_LAST_DEFINED: Used only to determine the end of the * enumeration. * - * The ComponentLayer of a Component instance indicates its relative stacking - * order with respect to the onscreen visual representation of the UI. - * ComponentLayer, in combination with Component bounds information, can be used - * to compute the visibility of all or part of a component. This is important - * in programmatic determination of region-of-interest for magnification, - * and in ¨flat screen review¨ models of the screen, as well as - * for other uses. Objects residing in two of the ComponentLayer categories - * support further z-ordering information, with respect to their peers in - * the same layer: namely, LAYER_WINDOW and LAYER_MDI. Relative stacking - * order for other objects within the same layer is not available; the - * recommended heuristic is ¨first child paints first¨, in other - * words, assume that the first siblings in the child list are subject to being - * overpainted by later siblings if their bounds intersect. The order of - * layers, from bottom to top, is: LAYER_BACKGROUND LAYER_WINDOW - * LAYER_MDI LAYER_CANVAS LAYER_WIDGET LAYER_POPUP - * LAYER_OVERLAY + * The #AtspiComponentLayer of an #AtspiComponent instance indicates its + * relative stacking order with respect to the onscreen visual representation + * of the UI. #AtspiComponentLayer, in combination with #AtspiComponent bounds + * information, can be used to compute the visibility of all or part of a + * component. This is important in programmatic determination of + * region-of-interest for magnification, and in + * flat screen review models of the screen, as well as + * for other uses. Objects residing in two of the #AtspiComponentLayer + * categories support further z-ordering information, with respect to their + * peers in the same layer: namely, @ATSPI_LAYER_WINDOW and + * @ATSPI_LAYER_MDI. Relative stacking order for other objects within the + * same layer is not available; the recommended heuristic is + * first child paints first. In other words, assume that the + * first siblings in the child list are subject to being overpainted by later + * siblings if their bounds intersect. The order of layers, from bottom to top, + * is: @ATSPI_LAYER_BACKGROUND, @ATSPI_LAYER_WINDOW, @ATSPI_LAYER_MDI, + * @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, @@ -256,50 +288,52 @@ typedef enum { } AtspiComponentLayer; /** - * ATSPI_COMPONENTLAYER:_COUNT + * ATSPI_COMPONENTLAYER_COUNT: * - * 1 higher than the highest valid value of #AtspiComponentLayer. - */ + * One higher than the highest valid value of #AtspiComponentLayer. + **/ #define ATSPI_COMPONENTLAYER_COUNT (8+1) /** - * -ATSPI_TEXT_BOUNDARY_TYPE: - * @ATSPI_TEXT_BOUNDARY_CHAR: Text is bounded by this character only. - * Start and end offsets differ by one, by definition, for this value. + * AtspiTextBoundaryType: + * @ATSPI_TEXT_BOUNDARY_CHAR: An #AtspiText instance is bounded by this + * character only. Start and end offsets differ by one, by definition, + * for this value. * @ATSPI_TEXT_BOUNDARY_WORD_START: Boundary condition is start of a word; i.e. - * range is from start of one word to the start of another word. + * range is from start of one word to the start of another word. * @ATSPI_TEXT_BOUNDARY_WORD_END: Boundary condition is the end of a word; i.e. - * range is from the end of one word to the end of another. Some locales - * may not distinguish between words and characters or glyphs, in particular - * those locales which use wholly or partially ideographic character sets. - * In these cases, characters may be returned in lieu of multi-character + * range is from the end of one word to the end of another. Some locales + * may not distinguish between words and characters or glyphs. In particular, + * those locales which use wholly or partially ideographic character sets. + * In these cases, characters may be returned in lieu of multi-character * substrings. * @ATSPI_TEXT_BOUNDARY_SENTENCE_START: Boundary condition is start of a - * sentence, as determined by the application. Some locales or - * character sets may not include explicit sentence delimiters, so this - * boundary type can not always be honored. Some locales will return lines + * sentence, as determined by the application. Some locales or + * character sets may not include explicit sentence delimiters, so this + * boundary type can not always be honored. Some locales will return lines * of text instead of grammatical sentences. * @ATSPI_TEXT_BOUNDARY_SENTENCE_END: Boundary condition is end of a sentence, - * as determined by the application, including the sentence-delimiting - * character, for instance '.' Some locales or character sets may not - * include explicit sentence delimiters, so this boundary type can not - * always be honored. Some locales will return lines of text instead of + * as determined by the application, including the sentence-delimiting + * character, for instance '.' Some locales or character sets may not + * include explicit sentence delimiters, so this boundary type can not + * always be honored. Some locales will return lines of text instead of * grammatical sentences. * @ATSPI_TEXT_BOUNDARY_LINE_START: Boundary condition is the start of a line; - * i.e. range is from start of one line to the start of another. This - * generally means that an end-of-line character will appear at the end of + * i.e. range is from start of one line to the start of another. This + * generally means that an end-of-line character will appear at the end of * the range. * @ATSPI_TEXT_BOUNDARY_LINE_END: Boundary condition is the end of a line; i.e. - * range is from start of one line to the start of another. This generally - * means that an end-of-line character will be the first character of the + * range is from start of one line to the start of another. This generally + * means that an end-of-line character will be the first character of the * range. * * Specifies the boundary conditions determining a run of text as returned from - * GetTextAtOffset, GetTextAfterOffset, and GetTextBeforeOffset. + * #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, ATSPI_TEXT_BOUNDARY_WORD_START, @@ -311,29 +345,54 @@ 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: * - * 1 higher than the highest valid value of #AtspiTextBOundaryType. + * One higher than the highest valid value of #AtspiTextBoundaryType. */ #define ATSPI_TEXT_BOUNDARY_TYPE_COUNT (6+1) /** - * -ATSPI_TEXT_CLIP_TYPE: - * @ATSPI_TEXT_CLIP_NONE: + * AtspiTextClipType: + * @ATSPI_TEXT_CLIP_NONE: No characters/glyphs are omitted. * @ATSPI_TEXT_CLIP_MIN: Characters/glyphs clipped by the minimum coordinate - * are omitted + * are omitted. * @ATSPI_TEXT_CLIP_MAX: Characters/glyphs which intersect the maximum - * coordinate are omitted + * coordinate are omitted. * @ATSPI_TEXT_CLIP_BOTH: Only glyphs falling entirely within the region * bounded by min and max are retained. * - * TEXT_CLIP_TYPE: CLIP_MIN means text clipped by min coordinate is - * omitted, CLIP_MAX clips text interescted by the max coord, and CLIP_BOTH - * will retain only text falling fully within the min/max bounds. + * 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, ATSPI_TEXT_CLIP_MIN, @@ -344,163 +403,188 @@ typedef enum { /** * ATSPI_TEXT_CLIP_TYPE_COUNT: * - * 1 higher than the highest valid value of #AtspiTextClipType. + * One higher than the highest valid value of #AtspiTextClipType. */ #define ATSPI_TEXT_CLIP_TYPE_COUNT (3+1) /** - * -ATSPI_StateType: - * @ATSPI_STATE_INVALID: + * AtspiStateType: + * @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 - * @ATSPI_STATE_ARMED: Indicates that the object is armed + * 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 * temporarily unavailable for interaction due to activity already in progress. - * @ATSPI_STATE_CHECKED: Indicates this object is currently checked - * @ATSPI_STATE_COLLAPSED: Indicates this object is collapsed + * @ATSPI_STATE_CHECKED: Indicates this object is currently checked. + * @ATSPI_STATE_COLLAPSED: Indicates this object is collapsed. * @ATSPI_STATE_DEFUNCT: Indicates that this object no longer has a valid - * backing widget (for instance, if its peer object has been destroyed) + * backing widget (for instance, if its peer object has been destroyed). * @ATSPI_STATE_EDITABLE: Indicates the user can change the contents of this - * object + * object. * @ATSPI_STATE_ENABLED: Indicates that this object is enabled, i.e. that it - * currently reflects some application state. Objects that are "greyed out" - * may lack this state, and may lack the STATE_SENSITIVE if direct user - * interaction cannot cause - * them to acquire STATE_ENABLED. @see STATE_SENSITIVE. + * currently reflects some application state. Objects that are "greyed out" + * may lack this state, and may lack the @ATSPI_STATE_SENSITIVE if direct + * user interaction cannot cause them to acquire @ATSPI_STATE_ENABLED. + * See @ATSPI_STATE_SENSITIVE. * @ATSPI_STATE_EXPANDABLE: Indicates this object allows progressive - * disclosure of its children - * @ATSPI_STATE_EXPANDED: Indicates this object is expanded + * 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 + * normally be passed to it when it has focus. * @ATSPI_STATE_FOCUSED: Indicates this object currently has the keyboard - * focus + * focus. * @ATSPI_STATE_HAS_TOOLTIP: Indicates that the object has an associated - * tooltip - * @ATSPI_STATE_HORIZONTAL: Indicates the orientation of thsi object is - * horizontal + * tooltip. + * @ATSPI_STATE_HORIZONTAL: Indicates the orientation of this object is + * horizontal. * @ATSPI_STATE_ICONIFIED: Indicates this object is minimized and is - * represented only by an icon + * represented only by an icon. * @ATSPI_STATE_MODAL: Indicates something must be done with this object - * before the user can interact with an object in a different window. + * before the user can interact with an object in a different window. * @ATSPI_STATE_MULTI_LINE: Indicates this (text) object can contain multiple - * lines of text + * lines of text. * @ATSPI_STATE_MULTISELECTABLE: Indicates this object allows more than one of - * its children to be selected at the same time, or in the case of text - * objects, that the object supports non-contiguous text selections. + * its children to be selected at the same time, or in the case of text + * objects, that the object supports non-contiguous text selections. * @ATSPI_STATE_OPAQUE: Indicates this object paints every pixel within its - * rectangular region. It also indicates an alpha value of unity, if it + * rectangular region. It also indicates an alpha value of unity, if it * supports alpha blending. - * @ATSPI_STATE_PRESSED: Indicates this object is currently pressed + * @ATSPI_STATE_PRESSED: Indicates this object is currently pressed. * @ATSPI_STATE_RESIZABLE: Indicates the size of this object's size is not - * fixed + * fixed. * @ATSPI_STATE_SELECTABLE: Indicates this object is the child of an object - * that allows its children to be selected and that this child is one of + * that allows its children to be selected and that this child is one of * those children that can be selected. * @ATSPI_STATE_SELECTED: Indicates this object is the child of an object that - * allows its children to be selected and that this child is one of those - * children that has been selected. + * allows its children to be selected and that this child is one of those + * children that has been selected. * @ATSPI_STATE_SENSITIVE: Indicates this object is sensitive, e.g. to user - * interaction. STATE_SENSITIVE usually accompanies STATE_ENABLED for - * user-actionable controls, but may be found in the absence of - * STATE_ENABLED if the current visible state of the control is - * "disconnected" from the application state. In such cases, direct user - * interaction can often result in the object gaining STATE_SENSITIVE, for - * instance if a user makes an explicit selection using an object whose - * current state is ambiguous or undefined. @see STATE_ENABLED, - * STATE_INDETERMINATE. + * interaction. @ATSPI_STATE_SENSITIVE usually accompanies. + * @ATSPI_STATE_ENABLED for user-actionable controls, but may be found in the + * absence of @ATSPI_STATE_ENABLED if the current visible state of the control + * is "disconnected" from the application state. In such cases, direct user + * interaction can often result in the object gaining @ATSPI_STATE_SENSITIVE, + * for instance if a user makes an explicit selection using an object whose + * current state is ambiguous or undefined. See @ATSPI_STATE_ENABLED, + * @ATSPI_STATE_INDETERMINATE. * @ATSPI_STATE_SHOWING: Indicates this object, the object's parent, the - * object's parent's parent, and so on, are all 'shown' to the end-user, - * i.e. subject to "exposure" if blocking or obscuring objects do not - * interpose between this object - * and the top of the window stack. + * object's parent's parent, and so on, are all 'shown' to the end-user, + * i.e. subject to "exposure" if blocking or obscuring objects do not + * interpose between this object and the top of the window stack. * @ATSPI_STATE_SINGLE_LINE: Indicates this (text) object can contain only a - * single line of text + * single line of text. * @ATSPI_STATE_STALE: Indicates that the information returned for this object - * may no longer be synchronized with the application state. This can occur - * if the object has STATE_TRANSIENT, and can also occur towards the end of - * the object peer's - * lifecycle. - * @ATSPI_STATE_TRANSIENT: Indicates this object is transient + * may no longer be synchronized with the application state. This can occur + * if the object has @ATSPI_STATE_TRANSIENT, and can also occur towards the + * end of the object peer's lifecycle. + * @ATSPI_STATE_TRANSIENT: Indicates this object is transient. * @ATSPI_STATE_VERTICAL: Indicates the orientation of this object is vertical; - * for example this state may appear on such objects as scrollbars, text + * for example this state may appear on such objects as scrollbars, text * objects (with vertical text flow), separators, etc. - * @ATSPI_STATE_VISIBLE: Indicates this object is visible, e.g. has been - * explicitly marked for exposure to the user. STATE_VISIBLE is no guarantee - * that the object is actually unobscured on the screen, only that it is - * 'potentially' visible, barring obstruction, being scrolled or clipped out of - * the field of view, or having an ancestor container that has not yet made - * visible. A widget is potentially onscreen if it has both STATE_VISIBLE - * and STATE_SHOWING. The absence of STATE_VISIBLE and STATE_SHOWING is - * semantically equivalent to saying that an object is 'hidden'. + * @ATSPI_STATE_VISIBLE: Indicates this object is visible, e.g. has been + * explicitly marked for exposure to the user. @ATSPI_STATE_VISIBLE is no + * guarantee that the object is actually unobscured on the screen, only that + * it is 'potentially' visible, barring obstruction, being scrolled or clipped + * out of the field of view, or having an ancestor container that has not yet + * made visible. A widget is potentially onscreen if it has both + * @ATSPI_STATE_VISIBLE and @ATSPI_STATE_SHOWING. The absence of + * @ATSPI_STATE_VISIBLE and @ATSPI_STATE_SHOWING is + * semantically equivalent to saying that an object is 'hidden'. * @ATSPI_STATE_MANAGES_DESCENDANTS: Indicates that "active-descendant-changed" - * event is sent when children become 'active' (i.e. are selected or - * navigated to onscreen). Used to prevent need to enumerate all children - * in very large containers, like tables. The presence of - * STATE_MANAGES_DESCENDANTS is an indication to the client. that the - * children should not, and need not, be enumerated by the client. Objects - * implementing this state are expected to provide relevant state - * notifications to listening clients, for instance notifications of visibility - * changes and activation of their contained child objects, without the client - * having previously requested references to those children. + * event is sent when children become 'active' (i.e. are selected or + * navigated to onscreen). Used to prevent need to enumerate all children + * in very large containers, like tables. The presence of + * @ATSPI_STATE_MANAGES_DESCENDANTS is an indication to the client that the + * children should not, and need not, be enumerated by the client. + * Objects implementing this state are expected to provide relevant state + * notifications to listening clients, for instance notifications of + * visibility changes and activation of their contained child objects, without + * the client having previously requested references to those children. * @ATSPI_STATE_INDETERMINATE: Indicates that a check box or other boolean - * indicator is in a state other than checked or not checked. This - * usually means that the boolean value reflected or controlled by the - * object does not apply consistently to the entire current context. + * indicator is in a state other than checked or not checked. This + * usually means that the boolean value reflected or controlled by the + * object does not apply consistently to the entire current context. * For example, a checkbox for the "Bold" attribute of text may have - * STATE_INDETERMINATE if the currently selected text contains a mixture - * of weight attributes. In many cases interacting with a - * STATE_INDETERMINATE object will cause the context's corresponding - * boolean attribute to be homogenized, whereupon the object will lose - * STATE_INDETERMINATE and a corresponding state-changed event will be fired. + * @ATSPI_STATE_INDETERMINATE if the currently selected text contains a mixture + * of weight attributes. In many cases interacting with a + * @ATSPI_STATE_INDETERMINATE object will cause the context's corresponding + * boolean attribute to be homogenized, whereupon the object will lose + * @ATSPI_STATE_INDETERMINATE and a corresponding state-changed event will be + * fired. * @ATSPI_STATE_REQUIRED: Indicates that user interaction with this object is - * 'required' from the user, for instance before completing the + * 'required' from the user, for instance before completing the * processing of a form. * @ATSPI_STATE_TRUNCATED: Indicates that an object's onscreen content * is truncated, e.g. a text value in a spreadsheet cell. * @ATSPI_STATE_ANIMATED: Indicates this object's visual representation is - * dynamic, not static. This state may be applied to an object during an - * animated 'effect' and be removed from the object once its visual - * representation becomes static. some applications, notably content viewers, - * may not be able to detect all kinds of animated content. Therefore the - * absence of this state should not be taken as - * definitive evidence that the object's visual representation is + * dynamic, not static. This state may be applied to an object during an + * animated 'effect' and be removed from the object once its visual + * representation becomes static. Some applications, notably content viewers, + * may not be able to detect all kinds of animated content. Therefore the + * absence of this state should not be taken as + * definitive evidence that the object's visual representation is * static; this state is advisory. * @ATSPI_STATE_INVALID_ENTRY: This object has indicated an error condition - * due - * to failure of input validation. For instance, a form control may - * acquire this state in response to invalid or malformed user input. + * due to failure of input validation. For instance, a form control may + * acquire this state in response to invalid or malformed user input. * @ATSPI_STATE_SUPPORTS_AUTOCOMPLETION: This state indicates that the object - * in question implements some form of ¨typeahead¨ or + * in question implements some form of typeahead or * pre-selection behavior whereby entering the first character of one or more - * sub-elements causes those elements to scroll into view or become - * selected. Subsequent character input may narrow the selection further as - * long as one or more sub-elements match the string. This state is normally - * only useful and encountered on objects that implement Selection. In some - * cases the typeahead behavior may result in full or partial - * ¨completion¨ of the data in the input field, in which case - * these input events may trigger text-changed events from the source. + * sub-elements causes those elements to scroll into view or become + * selected. Subsequent character input may narrow the selection further as + * long as one or more sub-elements match the string. This state is normally + * only useful and encountered on objects that implement #AtspiSelection. + * In some cases the typeahead behavior may result in full or partial + * completion of the data in the input field, in which case + * these input events may trigger text-changed events from the source. * @ATSPI_STATE_SELECTABLE_TEXT: This state indicates that the object in - * question supports text selection. It should only be exposed on objects - * which implement the Text interface, in order to distinguish this state - * from STATE_SELECTABLE, which infers that the object in question is a - * selectable child of an object which implements Selection. While similar, - * text selection and subelement selection are distinct operations. + * question supports text selection. It should only be exposed on objects + * which implement the #AtspiText interface, in order to distinguish this state + * from @ATSPI_STATE_SELECTABLE, which infers that the object in question is a + * selectable child of an object which implements #AtspiSelection. While + * similar, text selection and subelement selection are distinct operations. * @ATSPI_STATE_IS_DEFAULT: This state indicates that the object in question is - * the 'default' interaction object in a dialog, i.e. the one that gets - * activated if the user presses "Enter" when the dialog is initially + * the 'default' interaction object in a dialog, i.e. the one that gets + * activated if the user presses "Enter" when the dialog is initially * posted. * @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. + * 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_HIGHLIGHTED: Indicates that an object which is HIGHLIGHTABLE + * has been graphically marked to assits visally impared users. Only one + * object per window can have ATSPI_STATE_HIGHLIGHTED state. + * @ATSPI_STATE_HIGHLIGHTABLE: Indicates that an object can be graphically + * marked to assist visially impaired users. + * 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 StateType + * as a parameter, it indicates the number of items in the #AtspiStateType * enumeration. * - * Bitfield/set of flags generated from the AT-SPI specification. - */ + * + * Enumeration used by various interfaces indicating every possible state + * an #AtspiAccesible object can assume. + * + **/ typedef enum { ATSPI_STATE_INVALID, ATSPI_STATE_ACTIVE, @@ -543,26 +627,29 @@ 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_HIGHLIGHTED, + ATSPI_STATE_HIGHLIGHTABLE, ATSPI_STATE_LAST_DEFINED, } AtspiStateType; /** * ATSPI_STATETYPE_COUNT: * - * 1 higher than the highest valid value of #AtspiStateType. - */ + * One higher than the highest valid value of #AtspiStateType. + **/ #define ATSPI_STATETYPE_COUNT (41+1) /** - * -ATSPI_KeyEventType: + * AtspiKeyEventType: * @ATSPI_KEY_PRESSED: * @ATSPI_KEY_RELEASED: * - * Deprecated, DO NOT USE! + * Deprecated. Should not be used. * - * Bitfield/set of flags generated from the AT-SPI specification. - */ + **/ typedef enum { ATSPI_KEY_PRESSED, ATSPI_KEY_RELEASED, @@ -571,26 +658,26 @@ typedef enum { /** * ATSPI_KEYEVENTTYPE_COUNT: * - * 1 higher than the highest valid value of #AtspiKeyEventType. - */ + * One higher than the highest valid value of #AtspiKeyEventType. + **/ #define ATSPI_KEYEVENTTYPE_COUNT (1+1) /** + * AtspiEventType: + * @ATSPI_KEY_PRESSED_EVENT: Indicates that a key on a keyboard device was + * pressed. + * @ATSPI_KEY_RELEASED_EVENT: Indicates that a key on a keyboard device was + * released. + * @ATSPI_BUTTON_PRESSED_EVENT: Indicates that a button on a non-keyboard + * human interface device (HID) was pressed. + * @ATSPI_BUTTON_RELEASED_EVENT: Indicates that a button on a non-keyboard + * human interface device (HID) was released. * -ATSPI_EventType: - * @ATSPI_KEY_PRESSED_EVENT: < key on a keyboard device was pressed. - * @ATSPI_KEY_RELEASED_EVENT: < key on a keyboard device was released. - * @ATSPI_BUTTON_PRESSED_EVENT: < button on a non-keyboard human interface - * device (HID) was pressed - * @ATSPI_BUTTON_RELEASED_EVENT: < button on a non-keyboard human interface - * device (HID) was pressed - * - * Used to specify the event types of interest to an EventListener, or to - * identify the type of an event for which notification has been sent. @see - * EventTypeSeq, DeviceEvent::type + * Enumeration used to specify the event types of interest to an + * #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, ATSPI_KEY_RELEASED_EVENT, @@ -601,39 +688,38 @@ typedef enum { /** * ATSPI_EVENTTYPE_COUNT: * - * 1 higher than the highest valid value of #AtspiEventType. + * One higher than the highest valid value of #AtspiEventType. */ #define ATSPI_EVENTTYPE_COUNT (3+1) /** - * -AtspiKeySynthType: - * @ATSPI_KEY_PRESS: emulate the pressing of a hardware keyboard key. - * @ATSPI_KEY_RELEASE: emulate the release of a hardware keyboard key. - * @ATSPI_KEY_PRESSRELEASE: a hardware keyboard key is pressed and immediately - * released. - * @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 DeviceEventController 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. 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. - * @ATSPI_KEY_STRING: a string is converted to its equivalent keyboard events - * and emitted. If the string consists of complex character or composed - * characters which are not in the current keymap, string emission is - * subject to the out-of-keymap limitations described for - * KeySynthType::KEY_SYM. In practice this limitation primarily effects + * AtspiKeySynthType: + * @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 + * 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 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). + * @ATSPI_KEY_STRING: A string is converted to its equivalent keyboard events + * 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. * - * Used when synthesizing keyboard input via - * DeviceEventController:GenerateKeyboardEvent. + * 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, ATSPI_KEY_RELEASE, @@ -645,30 +731,30 @@ typedef enum { /** * ATSPI_KEYSYNTHTYPE_COUNT: * - * 1 higher than the highest valid value of #AtspiKeySynthType. - */ + * One higher than the highest valid value of #AtspiKeySynthType. + **/ #define ATSPI_KEYSYNTHTYPE_COUNT (4+1) /** - * -ATSPI_ModifierType: - * @ATSPI_MODIFIER_SHIFT: The left or right 'Shift' key - * @ATSPI_MODIFIER_SHIFTLOCK: The ShiftLock or CapsLock key - * @ATSPI_MODIFIER_CONTROL: 'Control'/'Ctrl' - * @ATSPI_MODIFIER_ALT: The Alt key (as opposed to AltGr) - * @ATSPI_MODIFIER_META: depending on the platform this may map to 'Window', - * 'Function', 'Meta', 'Menu', or 'NumLock'. Such 'Meta keys' will - * map to one of META, META2, META3. On X Windows platforms these META - * values map to the modifier masks Mod1Mask, Mod2Mask, Mod3Mask, e.g. an - * event having ModifierType::MODIFIER_META2 means that the 'Mod2Mask' bit - * is set in the corresponding XEvent. - * @ATSPI_MODIFIER_META2: - * @ATSPI_MODIFIER_META3: + * AtspiModifierType: + * @ATSPI_MODIFIER_SHIFT: The left or right 'Shift' key. + * @ATSPI_MODIFIER_SHIFTLOCK: The ShiftLock or CapsLock key. + * @ATSPI_MODIFIER_CONTROL: 'Control'/'Ctrl'. + * @ATSPI_MODIFIER_ALT: The Alt key (as opposed to AltGr). + * @ATSPI_MODIFIER_META: Depending on the platform, this may map to 'Window', + * 'Function', 'Meta', 'Menu', or 'NumLock'. Such 'Meta keys' will + * map to one of META, META2, META3. On X Windows platforms these META + * values map to the modifier masks Mod1Mask, Mod2Mask, Mod3Mask, e.g. an + * event having @ATSPI_MODIFIER_META2 means that the 'Mod2Mask' bit + * is set in the corresponding XEvent. + * @ATSPI_MODIFIER_META2: See @ATSPI_MODIFIER_META. + * @ATSPI_MODIFIER_META3: See @ATSPI_MODIFIER_META. * @ATSPI_MODIFIER_NUMLOCK: A symbolic meta key name that is mapped by AT-SPI - * to the appropriate META value, for the convenience of the client. + * to the appropriate META value, for the convenience of the client. * - * Bitfield/set of flags generated from the AT-SPI specification. - */ + * + * + **/ typedef enum { ATSPI_MODIFIER_SHIFT, ATSPI_MODIFIER_SHIFTLOCK, @@ -677,30 +763,30 @@ typedef enum { ATSPI_MODIFIER_META, ATSPI_MODIFIER_META2, ATSPI_MODIFIER_META3, - ATSPI_MODIFIER_NUMLOCK, + ATSPI_MODIFIER_NUMLOCK = 14, } AtspiModifierType; /** * ATSPI_MODIFIERTYPE_COUNT: * - * 1 higher than the highest valid value of #AtspiModifierType. - */ + * One higher than the highest valid value of #AtspiModifierType. + **/ #define ATSPI_MODIFIERTYPE_COUNT (7+1) /** - * -ATSPI_RelationType: + * AtspiRelationType: * @ATSPI_RELATION_NULL: Not a meaningful relationship; clients should not - * normally encounter this RelationType value. + * normally encounter this #AtspiRelationType value. * @ATSPI_RELATION_LABEL_FOR: Object is a label for one or more other objects. * @ATSPI_RELATION_LABELLED_BY: Object is labelled by one or more other * objects. * @ATSPI_RELATION_CONTROLLER_FOR: Object is an interactive object which - * modifies the state, onscreen location, or other attributes of one or more + * modifies the state, onscreen location, or other attributes of one or more * target objects. * @ATSPI_RELATION_CONTROLLED_BY: Object state, position, etc. is - * modified/controlled by user interaction with one or more other objects. - * For instance a viewport or scroll pane may be CONTROLLED_BY scrollbars. + * modified/controlled by user interaction with one or more other objects. + * For instance a viewport or scroll pane may be @ATSPI_RELATION_CONTROLLED_BY + * scrollbars. * @ATSPI_RELATION_MEMBER_OF: Object has a grouping relationship (e.g. 'same * group as') to one or more other objects. * @ATSPI_RELATION_TOOLTIP_FOR: Object is a tooltip associated with another @@ -708,54 +794,60 @@ ATSPI_RelationType: * @ATSPI_RELATION_NODE_CHILD_OF: Object is a child of the target. * @ATSPI_RELATION_NODE_PARENT_OF: Object is a parent of the target. * @ATSPI_RELATION_EXTENDED: Used to indicate that a relationship exists, but - * its type is not specified in the enumeration and must be obtained via a - * call to getRelationTypeName. + * its type is not specified in the enumeration. * @ATSPI_RELATION_FLOWS_TO: Object renders content which flows logically to - * another object. For instance, text in a paragraph may flow to another - * object which is not the 'next sibling' in the accessibility hierarchy. - * @ATSPI_RELATION_FLOWS_FROM: Reciprocal of RELATION_FLOWS_TO. + * another object. For instance, text in a paragraph may flow to another + * object which is not the 'next sibling' in the accessibility hierarchy. + * @ATSPI_RELATION_FLOWS_FROM: Reciprocal of @ATSPI_RELATION_FLOWS_TO. * @ATSPI_RELATION_SUBWINDOW_OF: Object is visually and semantically considered - * a subwindow of another object, even though it is not the object's child. - * Useful when dealing with embedded applications and other cases where the + * a subwindow of another object, even though it is not the object's child. + * Useful when dealing with embedded applications and other cases where the * widget hierarchy does not map cleanly to the onscreen presentation. - * @ATSPI_RELATION_EMBEDS: Similar to SUBWINDOW_OF, but specifically used for - * cross-process embedding. - * @ATSPI_RELATION_EMBEDDED_BY: Reciprocal of RELATION_EMBEDS; Used to denote - * content rendered by embedded renderers that live in a separate process + * @ATSPI_RELATION_EMBEDS: Similar to @ATSPI_RELATION_SUBWINDOW_OF, but + * specifically used for cross-process embedding. + * @ATSPI_RELATION_EMBEDDED_BY: Reciprocal of @ATSPI_RELATION_EMBEDS. Used to + * denote content rendered by embedded renderers that live in a separate process * space from the embedding context. * @ATSPI_RELATION_POPUP_FOR: Denotes that the object is a transient window or - * frame associated with another onscreen object. Similar to TOOLTIP_FOR, - * but more general. Useful for windows which are technically toplevels - * but which, for one or more reasons, do not explicitly cause their associated - * window to lose 'window focus'. Creation of a ROLE_WINDOW object with the - * POPUP_FOR relation usually requires some presentation action on the part - * of assistive technology clients, even though the previous toplevel - * ROLE_FRAME object may still be the active window. + * frame associated with another onscreen object. Similar to @ATSPI_TOOLTIP_FOR, + * but more general. Useful for windows which are technically toplevels + * but which, for one or more reasons, do not explicitly cause their + * associated window to lose 'window focus'. Creation of an @ATSPI_ROLE_WINDOW + * object with the @ATSPI_RELATION_POPUP_FOR relation usually requires + * some presentation action on the part + * of assistive technology clients, even though the previous toplevel + * @ATSPI_ROLE_FRAME object may still be the active window. * @ATSPI_RELATION_PARENT_WINDOW_OF: This is the reciprocal relation to - * RELATION_POPUP_FOR. + * @ATSPI_RELATION_POPUP_FOR. * @ATSPI_RELATION_DESCRIPTION_FOR: Indicates that an object provides - * descriptive information about another object; more verbose than - * RELATION_LABEL_FOR. + * 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 - * RELATION_LABELLED_BY. + * descriptive information about this object; more verbose than + * @ATSPI_RELATION_LABELLED_BY. * @ATSPI_RELATION_LAST_DEFINED: Do not use as a parameter value, used to * determine the size of the enumeration. * - * RelationType specifies a relationship between objects (possibly one-to-many - * or many-to-one) outside of the normal parent/child hierarchical - * relationship. It allows better semantic identification of how objects - * are associated with one another. For instance the RELATION_LABELLED_BY + * #AtspiRelationType specifies a relationship between objects + * (possibly one-to-many + * or many-to-one) outside of the normal parent/child hierarchical + * relationship. It allows better semantic identification of how objects + * are associated with one another. For instance the + * @ATSPI_RELATION_LABELLED_BY * relationship may be used to identify labelling information that should - * accompany the accessibleName property when presenting an object's content or - * identity to the end user. Similarly, RELATION_CONTROLLER_FOR can be used - * to further specify the context in which a valuator is useful, and/or the - * other UI components which are directly effected by user interactions with - * the valuator. Common examples include association of scrollbars with the + * accompany the accessible name property when presenting an object's content or + * identity to the end user. Similarly, + * @ATSPI_RELATION_CONTROLLER_FOR can be used + * to further specify the context in which a valuator is useful, and/or the + * other UI components which are directly effected by user interactions with + * the valuator. Common examples include association of scrollbars with the * viewport or panel which they control. * - * Bitfield/set of flags generated from the AT-SPI specification. - */ + * + * Enumeration used to specify + * the type of relation encapsulated in an #AtspiRelation object. + * + **/ typedef enum { ATSPI_RELATION_NULL, ATSPI_RELATION_LABEL_FOR, @@ -782,227 +874,231 @@ typedef enum { /** * ATSPI_RELATIONTYPE_COUNT: * - * 1 higher than the highest valid value of #AtspiRelationType. - */ + * One higher than the highest valid value of #AtspiRelationType. + **/ #define ATSPI_RELATIONTYPE_COUNT (19+1) /** - * -ATSPI_Role: - * @ATSPI_ROLE_INVALID: A Role indicating an error condition, such as + * AtspiRole: + * @ATSPI_ROLE_INVALID: A role indicating an error condition, such as * uninitialized Role data. * @ATSPI_ROLE_ACCELERATOR_LABEL: Object is a label indicating the keyboard - * accelerators for the parent - * @ATSPI_ROLE_ALERT: Object is used to alert the user about something + * accelerators for the parent. + * @ATSPI_ROLE_ALERT: Object is used to alert the user about something. * @ATSPI_ROLE_ANIMATION: Object contains a dynamic or moving image of some - * kind - * @ATSPI_ROLE_ARROW: Object is a 2d directional indicator + * kind. + * @ATSPI_ROLE_ARROW: Object is a 2d directional indicator. * @ATSPI_ROLE_CALENDAR: Object contains one or more dates, usually arranged - * into a 2d list + * into a 2d list. * @ATSPI_ROLE_CANVAS: Object that can be drawn into and is used to trap - * events + * events. * @ATSPI_ROLE_CHECK_BOX: A choice that can be checked or unchecked and * provides a separate indicator for the current state. - * @ATSPI_ROLE_CHECK_MENU_ITEM: A menu item that behaves like a check box (see - * ROLE_CHECK_BOX) + * @ATSPI_ROLE_CHECK_MENU_ITEM: A menu item that behaves like a check box. See + * @ATSPI_ROLE_CHECK_BOX. * @ATSPI_ROLE_COLOR_CHOOSER: A specialized dialog that lets the user choose a * color. - * @ATSPI_ROLE_COLUMN_HEADER: The header for a column of data - * @ATSPI_ROLE_COMBO_BOX: A list of choices the user can select from - * @ATSPI_ROLE_DATE_EDITOR: An object which allows entry of a date - * @ATSPI_ROLE_DESKTOP_ICON: An inconifed internal frame within a DESKTOP_PANE + * @ATSPI_ROLE_COLUMN_HEADER: The header for a column of data. + * @ATSPI_ROLE_COMBO_BOX: A list of choices the user can select from. + * @ATSPI_ROLE_DATE_EDITOR: An object which allows entry of a date. + * @ATSPI_ROLE_DESKTOP_ICON: An inconifed internal frame within a DESKTOP_PANE. * @ATSPI_ROLE_DESKTOP_FRAME: A pane that supports internal frames and - * iconified versions of those internal frames. + * iconified versions of those internal frames. * @ATSPI_ROLE_DIAL: An object that allows a value to be changed via rotating a - * visual element, or which displays a value via such a rotating element. - * @ATSPI_ROLE_DIALOG: A top level window with title bar and a border + * visual element, or which displays a value via such a rotating element. + * @ATSPI_ROLE_DIALOG: A top level window with title bar and a border. * @ATSPI_ROLE_DIRECTORY_PANE: A pane that allows the user to navigate through - * and select the contents of a directory + * and select the contents of a directory. * @ATSPI_ROLE_DRAWING_AREA: A specialized dialog that displays the files in - * the directory and lets the user select a file, browse a different - * directory, or specify a filename. + * the directory and lets the user select a file, browse a different + * directory, or specify a filename. * @ATSPI_ROLE_FILE_CHOOSER: An object used for drawing custom user interface * elements. - * @ATSPI_ROLE_FILLER: A object that fills up space in a user interface + * @ATSPI_ROLE_FILLER: A object that fills up space in a user interface. * @ATSPI_ROLE_FOCUS_TRAVERSABLE: Don't use, reserved for future use. - * @ATSPI_ROLE_FONT_CHOOSER: Allows selection of a display font + * @ATSPI_ROLE_FONT_CHOOSER: Allows selection of a display font. * @ATSPI_ROLE_FRAME: A top level window with a title bar, border, menubar, * etc. * @ATSPI_ROLE_GLASS_PANE: A pane that is guaranteed to be painted on top of - * all panes beneath it - * @ATSPI_ROLE_HTML_CONTAINER: A document container for HTML, whose children - * represent the document content. + * all panes beneath it. + * @ATSPI_ROLE_HTML_CONTAINER: A document container for HTML, whose children + * represent the document content. * @ATSPI_ROLE_ICON: A small fixed size picture, typically used to decorate - * components + * components. * @ATSPI_ROLE_IMAGE: An image, typically static. * @ATSPI_ROLE_INTERNAL_FRAME: A frame-like object that is clipped by a desktop * pane. * @ATSPI_ROLE_LABEL: An object used to present an icon or short string in an - * interface + * interface. * @ATSPI_ROLE_LAYERED_PANE: A specialized pane that allows its children to be - * drawn in layers, providing a form of stacking order. + * drawn in layers, providing a form of stacking order. * @ATSPI_ROLE_LIST: An object that presents a list of objects to the user and - * allows the user to select one or more of them. + * allows the user to select one or more of them. * @ATSPI_ROLE_LIST_ITEM: An object that represents an element of a list. * @ATSPI_ROLE_MENU: An object usually found inside a menu bar that contains a - * list of actions the user can choose from. + * list of actions the user can choose from. * @ATSPI_ROLE_MENU_BAR: An object usually drawn at the top of the primary - * dialog box of an application that contains a list of menus the user can + * dialog box of an application that contains a list of menus the user can * choose from. * @ATSPI_ROLE_MENU_ITEM: An object usually contained in a menu that presents - * an action the user can choose. + * an action the user can choose. * @ATSPI_ROLE_OPTION_PANE: A specialized pane whose primary use is inside a - * DIALOG - * @ATSPI_ROLE_PAGE_TAB: An object that is a child of a page tab list + * dialog. + * @ATSPI_ROLE_PAGE_TAB: An object that is a child of a page tab list. * @ATSPI_ROLE_PAGE_TAB_LIST: An object that presents a series of panels (or - * page tabs), one at a time, through some mechanism provided by the + * page tabs), one at a time,through some mechanism provided by the * object. * @ATSPI_ROLE_PANEL: A generic container that is often used to group objects. * @ATSPI_ROLE_PASSWORD_TEXT: A text object uses for passwords, or other places - * where the text content is not shown visibly to the user. + * where the text content is not shown visibly to the user. * @ATSPI_ROLE_POPUP_MENU: A temporary window that is usually used to offer the - * user a list of choices, and then hides when the user selects one of those + * user a list of choices, and then hides when the user selects one of those * choices. * @ATSPI_ROLE_PROGRESS_BAR: An object used to indicate how much of a task has * been completed. * @ATSPI_ROLE_PUSH_BUTTON: An object the user can manipulate to tell the - * application to do something. + * application to do something. * @ATSPI_ROLE_RADIO_BUTTON: A specialized check box that will cause other - * radio buttons in the same group to become uncghecked when this one is + * radio buttons in the same group to become unchecked when this one is * checked. * @ATSPI_ROLE_RADIO_MENU_ITEM: Object is both a menu item and a "radio button" - * (see ROLE_RADIO_BUTTON) + * . See @ATSPI_ROLE_RADIO_BUTTON. * @ATSPI_ROLE_ROOT_PANE: A specialized pane that has a glass pane and a - * layered pane as its children. - * @ATSPI_ROLE_ROW_HEADER: The header for a row of data + * layered pane as its children. + * @ATSPI_ROLE_ROW_HEADER: The header for a row of data. * @ATSPI_ROLE_SCROLL_BAR: An object usually used to allow a user to - * incrementally view a large amount of data by moving the bounds of a + * incrementally view a large amount of data by moving the bounds of a * viewport along a one-dimensional axis. * @ATSPI_ROLE_SCROLL_PANE: An object that allows a user to incrementally view - * a large amount of information. ROLE_SCROLL_PANE objects are usually - * accompanied by ROLE_SCROLL_BAR controllers, on which the - * RELATION_CONTROLLER_FOR and RELATION_CONTROLLED_BY reciprocal relations - * are set; \see Accessibility::RelationSet. + * a large amount of information. @ATSPI_ROLE_SCROLL_PANE objects are usually + * accompanied by @ATSPI_ROLE_SCROLL_BAR controllers, on which the + * @ATSPI_RELATION_CONTROLLER_FOR and @ATSPI_RELATION_CONTROLLED_BY + * reciprocal relations are set. See #atspi_get_relation_set. * @ATSPI_ROLE_SEPARATOR: An object usually contained in a menu to provide a - * visible and logical separation of the contents in a menu. + * visible and logical separation of the contents in a menu. * @ATSPI_ROLE_SLIDER: An object that allows the user to select from a bounded - * range + * range. * @ATSPI_ROLE_SPIN_BUTTON: An object which allows one of a set of choices to - * be selected, and which displays the current choice. Unlike - * ROLE_SCROLL_BAR, ROLE_SLIDER objects need not control 'viewport'-like - * objects. + * be selected, and which displays the current choice. Unlike + * @ATSPI_ROLE_SCROLL_BAR, @ATSPI_ROLE_SLIDER objects need not control + * 'viewport'-like objects. * @ATSPI_ROLE_SPLIT_PANE: A specialized panel that presents two other panels * at the same time. * @ATSPI_ROLE_STATUS_BAR: Object displays non-quantitative status information - * (c.f. ROLE_PROGRESS_BAR) + * (c.f. @ATSPI_ROLE_PROGRESS_BAR) * @ATSPI_ROLE_TABLE: An object used to repesent information in terms of rows * and columns. - * @ATSPI_ROLE_TABLE_CELL: A 'cell' or discrete child within a Table. \note - * Table cells need not have ROLE_TABLE_CELL, other RoleType values are - * valid as well. + * @ATSPI_ROLE_TABLE_CELL: A 'cell' or discrete child within a Table. Note: + * Table cells need not have @ATSPI_ROLE_TABLE_CELL, other + * #AtspiRoleType values are valid as well. * @ATSPI_ROLE_TABLE_COLUMN_HEADER: An object which labels a particular column - * in a Table. + * in an #AtspiTable. * @ATSPI_ROLE_TABLE_ROW_HEADER: An object which labels a particular row in a - * Table. Table rows and columns may also be labelled via the - * RELATION_LABEL_FOR/RELATION_LABELLED_BY relationships; see - * Accessibility.RelationSet. + * #AtspiTable. #AtspiTable rows and columns may also be labelled via the + * @ATSPI_RELATION_LABEL_FOR/@ATSPI_RELATION_LABELLED_BY relationships. + * See #atspi_get_relation_set. * @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_TERMINAL: An object that emulates a terminal. + * @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 + * unchecked, but does not procide a separate indicator for the current * state. * @ATSPI_ROLE_TOOL_BAR: A bar or palette usually composed of push buttons or - * toggle buttons + * toggle buttons. * @ATSPI_ROLE_TOOL_TIP: An object that provides information about another - * object + * object. * @ATSPI_ROLE_TREE: An object used to repsent hierarchical information to the * user. * @ATSPI_ROLE_TREE_TABLE: An object that presents both tabular and - * hierarchical info to the user - * @ATSPI_ROLE_UNKNOWN: The object contains some Accessible information, but - * its role is not known. + * hierarchical info to the user. + * @ATSPI_ROLE_UNKNOWN: The object contains some #AtspiAccessible information, + * but its role is not known. * @ATSPI_ROLE_VIEWPORT: An object usually used in a scroll pane, or to - * otherwise clip a larger object or content renderer to a specific + * otherwise clip a larger object or content renderer to a specific * onscreen viewport. - * @ATSPI_ROLE_WINDOW: A ¨top level window¨ with no title or border. + * @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. * @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 - * text content. See also ROLE_TEXT. - * @ATSPI_ROLE_RULER: An object which describes margins and tab stops, etc. - * for text objects which it controls (should have CONTROLLER_FOR - * relation to such). + * text content. See also @ATSPI_ROLE_TEXT. + * @ATSPI_ROLE_RULER: An object which describes margins and tab stops, etc. + * for text objects which it controls (should have + * @ATSPI_RELATION_CONTROLLER_FOR relation to such). * @ATSPI_ROLE_APPLICATION: An object corresponding to the toplevel accessible - * of an application, which may contain ROLE_FRAME objects or other - * accessible objects. Children of AccessibleDesktop objects are generally - * ROLE_APPLICATION objects. + * of an application, which may contain @ATSPI_ROLE_FRAME objects or other + * accessible objects. Children of #AccessibleDesktop objects are generally + * @ATSPI_ROLE_APPLICATION objects. * @ATSPI_ROLE_AUTOCOMPLETE: The object is a dialog or list containing items - * for insertion into an entry widget, for instance a list of words for - * completion of a text entry. + * for insertion into an entry widget, for instance a list of words for + * completion of a text entry. * @ATSPI_ROLE_EDITBAR: The object is an editable text object in a toolbar. * @ATSPI_ROLE_EMBEDDED: The object is an embedded component container. This - * role is a "grouping" hint that the contained objects share a context - * which is different from the container in which this accessible is - * embedded. In particular, it is used for some kinds of document embedding, - * and for embedding of out-of-process component, "panel applets", etc. + * role is a "grouping" hint that the contained objects share a context + * which is different from the container in which this accessible is + * embedded. In particular, it is used for some kinds of document embedding, + * and for embedding of out-of-process component, "panel applets", etc. * @ATSPI_ROLE_ENTRY: The object is a component whose textual content may be - * entered or modified by the user, provided STATE_EDITABLE is present. - * A readonly ROLE_ENTRY object (i.e. where STATE_EDITABLE is not present) implies - * a read-only 'text field' in a form, as opposed to a title, label, or - * caption. + * entered or modified by the user, provided @ATSPI_STATE_EDITABLE is present. + * A readonly @ATSPI_ROLE_ENTRY object (i.e. where @ATSPI_STATE_EDITABLE is + * not present) implies a read-only 'text field' in a form, as opposed to a + * title, label, or caption. * @ATSPI_ROLE_CHART: The object is a graphical depiction of quantitative data. - * It may contain multiple subelements whose attributes and/or description - * may be queried to obtain both the quantitative data and information about - * how the data is being presented. The LABELLED_BY relation is particularly - * important in interpreting objects of this type, as is the - * accessible-description property. See ROLE_CAPTION + * It may contain multiple subelements whose attributes and/or description + * may be queried to obtain both the quantitative data and information about + * how the data is being presented. The @ATSPI_LABELLED_BY relation is + * particularly important in interpreting objects of this type, as is the + * accessible description property. See @ATSPI_ROLE_CAPTION. * @ATSPI_ROLE_CAPTION: The object contains descriptive information, usually - * textual, about another user interface element such as a table, chart, or + * textual, about another user interface element such as a table, chart, or * image. * @ATSPI_ROLE_DOCUMENT_FRAME: The object is a visual frame or container which - * contains a view of document content. Document frames may occur within - * another Document instance, in which case the second document may be said - * to be embedded in the containing instance. HTML frames are often - * ROLE_DOCUMENT_FRAME. Either this object, or a singleton descendant, should - * implement the Document interface. + * 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, + * 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 + * follows it in a document. The 'heading level' of the heading, if * availabe, may be obtained by querying the object's attributes. * @ATSPI_ROLE_PAGE: The object is a containing instance which encapsulates a - * page of information. ROLE_PAGE is used in documents and content which - * support a paginated navigation model. + * page of information. @ATSPI_ROLE_PAGE is used in documents and content which + * support a paginated navigation model. * @ATSPI_ROLE_SECTION: The object is a containing instance of document content - * which constitutes a particular 'logical' section of the document. The - * type of content within a section, and the nature of the section division - * itself, may be obtained by querying the object's attributes. Sections + * which constitutes a particular 'logical' section of the document. The + * type of content within a section, and the nature of the section division + * itself, may be obtained by querying the object's attributes. Sections * may be nested. * @ATSPI_ROLE_REDUNDANT_OBJECT: The object is redundant with another object in - * the hierarchy, and is exposed for purely technical reasons. Objects of - * this role should be ignored by clients, if they are encountered at all. + * the hierarchy, and is exposed for purely technical reasons. Objects of + * this role should be ignored by clients, if they are encountered at all. * @ATSPI_ROLE_FORM: The object is a containing instance of document content - * which has within it components with which the user can interact in order - * to input information; i.e. the object is a container for pushbuttons, - * comboboxes, text input fields, and other 'GUI' components. ROLE_FORM - * should not, in general, be used for toplevel GUI containers or dialogs, - * but should be reserved for 'GUI' containers which occur within document - * content, for instance within Web documents, presentations, or text - * documents. Unlike other GUI containers and dialogs which occur inside - * application instances, ROLE_FORM containers' components are associated with - * the current document, rather than the current foreground application or - * viewer instance. - * @ATSPI_ROLE_LINK: The object is a hypertext anchor, i.e. a "link" in a + * which has within it components with which the user can interact in order + * to input information; i.e. the object is a container for pushbuttons, + * comboboxes, text input fields, and other 'GUI' components. @ATSPI_ROLE_FORM + * should not, in general, be used for toplevel GUI containers or dialogs, + * but should be reserved for 'GUI' containers which occur within document + * content, for instance within Web documents, presentations, or text + * documents. Unlike other GUI containers and dialogs which occur inside + * application instances, @ATSPI_ROLE_FORM containers' components are + * associated with the current document, rather than the current foreground + * application or viewer instance. + * @ATSPI_ROLE_LINK: The object is a hypertext anchor, i.e. a "link" in a * hypertext document. Such objects are distinct from 'inline' content - * which may also use the Hypertext/Hyperlink interfaces to indicate the - * range/location within a text object where an inline or embedded object + * which may also use the #AtspiHypertext/#AtspiHyperlink interfacesto indicate + * the range/location within a text object where an inline or embedded object * lies. * @ATSPI_ROLE_INPUT_METHOD_WINDOW: The object is a window or similar viewport - * which is used to allow composition or input of a 'complex character', - * in other words it is an "input method window." + * which is used to allow composition or input of a 'complex character', + * in other words it is an "input method window". * @ATSPI_ROLE_TABLE_ROW: A row in a table. * @ATSPI_ROLE_TREE_ITEM: An object that represents an element of a tree. * @ATSPI_ROLE_DOCUMENT_SPREADSHEET: A document frame which contains a @@ -1032,10 +1128,73 @@ ATSPI_Role: * particular application. * @ATSPI_ROLE_INFO_BAR: An object designed to present a message to the user * within an existing window. + * @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_LAST_DEFINED: Not a valid role, used for finding end of * enumeration. * - * Bitfield/set of flags generated from the AT-SPI specification. + * Enumeration used by interface #AtspiAccessible to specify the role + * of an #AtspiAccessible object. + * */ typedef enum { ATSPI_ROLE_INVALID, @@ -1141,20 +1300,58 @@ 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_LAST_DEFINED, } AtspiRole; /** * ATSPI_ROLE_COUNT: * - * 1 higher than the highest valid value of #AtspiRole. + * One higher than the highest valid value of #AtspiRole. */ -#define ATSPI_ROLE_COUNT (90+1) +#define ATSPI_ROLE_COUNT (121+1) + +/** + * AtspiMoveOutedType: The type of signal that occurs when an object outted the screen. + * @ATSPI_MOVE_OUTED_TOP_LEFT: Object has outted top or left of the screen. + * @ATSPI_MOVE_OUTED_BOTTOM_RIGHT: Object has outted bottom or right of the screen. + **/ + +typedef enum { + ATSPI_MOVE_OUTED_NULL, + ATSPI_MOVE_OUTED_TOP_LEFT, + ATSPI_MOVE_OUTED_BOTTOM_RIGHT, + ATSPI_MOVE_OUTED_LAST_DEFINDED +} AtspiMoveOutedType; + +/** + * ATSPI_MOVE_OUTED_COUNT: + * + * One higher than the highest valid value of #AtspiScreenOuttedType. + **/ +#define ATSPI_MOVE_OUTED_COUNT (3+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, @@ -1163,10 +1360,7 @@ 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; @@ -1197,6 +1391,7 @@ 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"