Estructuras de datos de la API de Java Access Bridge

Las estructuras de datos de la API de Java Access Bridge están incluidas en el archivo AccessBridgePackages.h.
#define MAX_STRING_SIZE     1024
#define SHORT_STRING_SIZE    256

typedef struct AccessibleContextInfoTag {
  wchar_ name[MAX_STRING_SIZE];        // the AccessibleName of the object
  wchar_ description[MAX_STRING_SIZE]; // the AccessibleDescription of the object
  wchar_ role[SHORT_STRING_SIZE];      // localized AccesibleRole string
  wchar_ states[SHORT_STRING_SIZE];    // localized AccesibleStateSet string
                                       //   (comma separated)
  jint indexInParent                   // index of object in parent
  jint childrenCount                   // # of children, if any
  jint x;                              // screen x-axis co-ordinate in pixels
  jint y;                              // screen y-axis co-ordinate in pixels
  jint width;                          // pixel width of object
  jint height;                         // pixel height of object
  BOOL accessibleComponent;            // flags for various additional
  BOOL accessibleAction;               // Java Accessibility interfaces
  BOOL accessibleSelection;            // FALSE if this object doesn't
  BOOL accessibleText;                 // implement the additional interface
  BOOL accessibleInterfaces;           // new bitfield containing additional
                                       //   interface flags
} AccessibleContextInfo;
 
typedef struct AccessibleTextInfoTag {
  jint charCount;       // # of characters in this text object
  jint caretIndex;      // index of caret
  jint indexAtPoint;    // index at the passsed in point
} AccessibleTextInfo;

typedef struct AccessibleTextItemsInfoTag {
  wchar_t letter;
  wchar_t word[SHORT_STRING_SIZE];
  wchar_t sentence[MAX_STRING_SIZE];
} AccessibleTextItemsInfo;
 
typedef struct AccessibleTextSelectionInfoTag {
  jint selectionStartIndex;
  jint selectionEndIndex;
  wchar_t selectedText[MAX_STRING_SIZE];
} AccessibleTextSelectionInfo;
 
typedef struct AccessibleTextRectInfoTag  {
  jint x;          // bounding rectangle of char at index, x-axis co-ordinate
  jint y;          // y-axis co-ordinate
  jint width;      // bounding rectangle width
  jint height;     // bounding rectangle height
} AccessibleTextRectInfo;
 
typedef struct AccessibleTextAttributesInfoTag {
  BOOL bold;
  BOOL italic;
  BOOL underline;
  BOOL strikethrough;
  BOOL superscript;
  BOOL subscript;
  wchar_t backgroundColor[SHORT_STRING_SIZE];
  wchar_t foregroundColor[SHORT_STRING_SIZE];
  wchar_t fontFamily[SHORT_STRING_SIZE];
  jint fontSize;
  jint alignment;
  jint bidiLevel;
  jfloat firstLineIndent;
  jfloat leftIndent;
  jfloat rightIndent;
  jfloat lineSpacing;
  jfloat spaceAbove;
  jfloat spaceBelow;
  wchar_t fullAttributesString[MAX_STRING_SIZE];
} AccessibleTextAttributesInfo;

typedef struct AccessibleTableInfoTag  {
  JOBJECT64 caption;  // AccesibleContext
  JOBJECT64 summary;  // AccessibleContext
  jint rowCount;
  jint columnCount;
  JOBJECT64 accessibleContext;
  JOBJECT64 accessibleTable;
} AccessibleTableInfo;

typedef struct AccessibleTableCellInfoTag  {
  JOBJECT64  accessibleContext;
  jint       index;
  jint       row;
  jint       column;
  jint       rowExtent;
  jint       columnExtent;
  jboolean   isSelected;
} AccessibleTableCellInfo;

typedef struct AccessibleRelationSetInfoTag {
  jint relationCount;
  AccessibleRelationInfo relations[MAX_RELATIONS];
} AccessibleRelationSetInfo;

typedef struct AccessibleRelationInfoTag {
  wchar_t key[SHORT_STRING_SIZE];
  jint targetCount;
  JOBJECT64 targets[MAX_RELATION_TARGETS];  // AccessibleContexts
} AccessibleRelationInfo;


typedef struct AccessibleHypertextInfoTag {
  jint linkCount;                                 // number of hyperlinks
  AccessibleHyperlinkInfo links[MAX_HYPERLINKS];  // the hyperlinks
  JOBJECT64 accessibleHypertext;                  // AccessibleHypertext object
} AccessibleHypertextInfo;

typedef struct AccessibleHyperlinkInfoTag {
  wchar_t text[SHORT_STRING_SIZE]; // the hyperlink text
  jint startIndex;                 // index in the hypertext document where the link begins
  jint endIndex;                   // index in the hypertext document where the link ends
  JOBJECT64 accessibleHyperlink;   // AccessibleHyperlink object
} AccessibleHyperlinkInfo;

typedef struct AccessibleKeyBindingsTag {
  int keyBindingsCount; // number of key bindings
  AccessibleKeyBindingInfo keyBindingInfo[MAX_KEY_BINDINGS];
} AccessibleKeyBindings;

typedef struct AccessibleKeyBindingInfoTag {
  jchar character; // the key character
  jint modifiers;  // the key modifiers
} AccessibleKeyBindingInfo;

typedef struct  AccessibleIconsTag {
  jint iconsCount;                            // number of icons
  AccessibleIconInfo iconInfo[MAX_ICON_INFO]; // the icons
} AccessibleIcons;

typedef struct AccessibleIconInfoTag {
  wchar_t description[SHORT_STRING_SIZE]; // icon description
  jint height;                            // icon height
  jint width;                             // icon width
} AccessibleIconInfo;

typedef struct AccessibleActionsTag {
  jint actionsCount;                                // number of actions
  AccessibleActionInfo actionInfo[MAX_ACTION_INFO]; // the action information
} AccessibleActions;

typedef struct AccessibleActionInfoTag {
  wchar_t name[SHORT_STRING_SIZE]; // action name
} AccessibleActionInfo;

typedef struct AccessibleActionsToDoTag {
  jint actionsCount;                               // number of actions to do
  AccessibleActionInfo actions[MAX_ACTIONS_TO_DO]; // the accessible actions to do
} AccessibleActionsToDo;

typedef struct VisibleChildenInfoTag {
  int returnedChildrenCount;                        // number of children returned
  AccessibleContext children[MAX_VISIBLE_CHILDREN]; // the visible children
} VisibleChildenInfo;

Comentarios

Entradas populares