mirror of https://github.com/roytam1/UXP
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
276 lines
7.6 KiB
276 lines
7.6 KiB
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
|
/* This Source Code Form is subject to the terms of the Mozilla Public |
|
* License, v. 2.0. If a copy of the MPL was not distributed with this |
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
|
|
#ifndef mozilla_a11y_ProxyAccessibleShared_h |
|
#define mozilla_a11y_ProxyAccessibleShared_h |
|
|
|
/** |
|
* These are function declarations shared between win/ProxyAccessible.h and |
|
* other/ProxyAccessible.h. |
|
*/ |
|
|
|
/* |
|
* Return the states for the proxied accessible. |
|
*/ |
|
uint64_t State() const; |
|
|
|
/* |
|
* Return the native states for the proxied accessible. |
|
*/ |
|
uint64_t NativeState() const; |
|
|
|
/* |
|
* Set aName to the name of the proxied accessible. |
|
*/ |
|
void Name(nsString& aName) const; |
|
|
|
/* |
|
* Set aValue to the value of the proxied accessible. |
|
*/ |
|
void Value(nsString& aValue) const; |
|
|
|
/* |
|
* Set aHelp to the help string of the proxied accessible. |
|
*/ |
|
void Help(nsString& aHelp) const; |
|
|
|
/** |
|
* Set aDesc to the description of the proxied accessible. |
|
*/ |
|
void Description(nsString& aDesc) const; |
|
|
|
/** |
|
* Get the set of attributes on the proxied accessible. |
|
*/ |
|
void Attributes(nsTArray<Attribute> *aAttrs) const; |
|
|
|
/** |
|
* Return set of targets of given relation type. |
|
*/ |
|
nsTArray<ProxyAccessible*> RelationByType(RelationType aType) const; |
|
|
|
/** |
|
* Get all relations for this accessible. |
|
*/ |
|
void Relations(nsTArray<RelationType>* aTypes, |
|
nsTArray<nsTArray<ProxyAccessible*>>* aTargetSets) const; |
|
|
|
bool IsSearchbox() const; |
|
|
|
nsIAtom* LandmarkRole() const; |
|
|
|
nsIAtom* ARIARoleAtom() const; |
|
|
|
int32_t GetLevelInternal(); |
|
void ScrollTo(uint32_t aScrollType); |
|
void ScrollToPoint(uint32_t aScrollType, int32_t aX, int32_t aY); |
|
|
|
int32_t CaretLineNumber(); |
|
int32_t CaretOffset(); |
|
void SetCaretOffset(int32_t aOffset); |
|
|
|
int32_t CharacterCount(); |
|
int32_t SelectionCount(); |
|
|
|
/** |
|
* Get the text between the given offsets. |
|
*/ |
|
bool TextSubstring(int32_t aStartOffset, int32_t aEndOfset, |
|
nsString& aText) const; |
|
|
|
void GetTextAfterOffset(int32_t aOffset, AccessibleTextBoundary aBoundaryType, |
|
nsString& aText, int32_t* aStartOffset, |
|
int32_t* aEndOffset); |
|
|
|
void GetTextAtOffset(int32_t aOffset, AccessibleTextBoundary aBoundaryType, |
|
nsString& aText, int32_t* aStartOffset, |
|
int32_t* aEndOffset); |
|
|
|
void GetTextBeforeOffset(int32_t aOffset, AccessibleTextBoundary aBoundaryType, |
|
nsString& aText, int32_t* aStartOffset, |
|
int32_t* aEndOffset); |
|
|
|
char16_t CharAt(int32_t aOffset); |
|
|
|
void TextAttributes(bool aIncludeDefAttrs, |
|
const int32_t aOffset, |
|
nsTArray<Attribute>* aAttributes, |
|
int32_t* aStartOffset, |
|
int32_t* aEndOffset); |
|
void DefaultTextAttributes(nsTArray<Attribute>* aAttrs); |
|
|
|
nsIntRect TextBounds(int32_t aStartOffset, int32_t aEndOffset, |
|
uint32_t aCoordType = nsIAccessibleCoordinateType::COORDTYPE_SCREEN_RELATIVE); |
|
|
|
nsIntRect CharBounds(int32_t aOffset, uint32_t aCoordType); |
|
|
|
int32_t OffsetAtPoint(int32_t aX, int32_t aY, uint32_t aCoordType); |
|
|
|
bool SelectionBoundsAt(int32_t aSelectionNum, |
|
nsString& aData, |
|
int32_t* aStartOffset, |
|
int32_t* aEndOffset); |
|
|
|
bool SetSelectionBoundsAt(int32_t aSelectionNum, |
|
int32_t aStartOffset, |
|
int32_t aEndOffset); |
|
|
|
bool AddToSelection(int32_t aStartOffset, |
|
int32_t aEndOffset); |
|
|
|
bool RemoveFromSelection(int32_t aSelectionNum); |
|
|
|
void ScrollSubstringTo(int32_t aStartOffset, int32_t aEndOffset, |
|
uint32_t aScrollType); |
|
|
|
void ScrollSubstringToPoint(int32_t aStartOffset, |
|
int32_t aEndOffset, |
|
uint32_t aCoordinateType, |
|
int32_t aX, int32_t aY); |
|
|
|
void Text(nsString* aText); |
|
|
|
void ReplaceText(const nsString& aText); |
|
|
|
bool InsertText(const nsString& aText, int32_t aPosition); |
|
|
|
bool CopyText(int32_t aStartPos, int32_t aEndPos); |
|
|
|
bool CutText(int32_t aStartPos, int32_t aEndPos); |
|
|
|
bool DeleteText(int32_t aStartPos, int32_t aEndPos); |
|
|
|
bool PasteText(int32_t aPosition); |
|
|
|
nsIntPoint ImagePosition(uint32_t aCoordType); |
|
|
|
nsIntSize ImageSize(); |
|
|
|
uint32_t StartOffset(bool* aOk); |
|
|
|
uint32_t EndOffset(bool* aOk); |
|
|
|
bool IsLinkValid(); |
|
|
|
uint32_t AnchorCount(bool* aOk); |
|
|
|
void AnchorURIAt(uint32_t aIndex, nsCString& aURI, bool* aOk); |
|
|
|
ProxyAccessible* AnchorAt(uint32_t aIndex); |
|
|
|
uint32_t LinkCount(); |
|
|
|
ProxyAccessible* LinkAt(const uint32_t& aIndex); |
|
|
|
int32_t LinkIndexOf(ProxyAccessible* aLink); |
|
|
|
int32_t LinkIndexAtOffset(uint32_t aOffset); |
|
|
|
ProxyAccessible* TableOfACell(); |
|
|
|
uint32_t ColIdx(); |
|
|
|
uint32_t RowIdx(); |
|
|
|
void GetPosition(uint32_t* aColIdx, uint32_t* aRowIdx); |
|
|
|
uint32_t ColExtent(); |
|
|
|
uint32_t RowExtent(); |
|
|
|
void GetColRowExtents(uint32_t* aColIdx, uint32_t* aRowIdx, |
|
uint32_t* aColExtent, uint32_t* aRowExtent); |
|
|
|
void ColHeaderCells(nsTArray<ProxyAccessible*>* aCells); |
|
|
|
void RowHeaderCells(nsTArray<ProxyAccessible*>* aCells); |
|
|
|
bool IsCellSelected(); |
|
|
|
ProxyAccessible* TableCaption(); |
|
void TableSummary(nsString& aSummary); |
|
uint32_t TableColumnCount(); |
|
uint32_t TableRowCount(); |
|
ProxyAccessible* TableCellAt(uint32_t aRow, uint32_t aCol); |
|
int32_t TableCellIndexAt(uint32_t aRow, uint32_t aCol); |
|
int32_t TableColumnIndexAt(uint32_t aCellIndex); |
|
int32_t TableRowIndexAt(uint32_t aCellIndex); |
|
void TableRowAndColumnIndicesAt(uint32_t aCellIndex, |
|
int32_t* aRow, int32_t* aCol); |
|
uint32_t TableColumnExtentAt(uint32_t aRow, uint32_t aCol); |
|
uint32_t TableRowExtentAt(uint32_t aRow, uint32_t aCol); |
|
void TableColumnDescription(uint32_t aCol, nsString& aDescription); |
|
void TableRowDescription(uint32_t aRow, nsString& aDescription); |
|
bool TableColumnSelected(uint32_t aCol); |
|
bool TableRowSelected(uint32_t aRow); |
|
bool TableCellSelected(uint32_t aRow, uint32_t aCol); |
|
uint32_t TableSelectedCellCount(); |
|
uint32_t TableSelectedColumnCount(); |
|
uint32_t TableSelectedRowCount(); |
|
void TableSelectedCells(nsTArray<ProxyAccessible*>* aCellIDs); |
|
void TableSelectedCellIndices(nsTArray<uint32_t>* aCellIndices); |
|
void TableSelectedColumnIndices(nsTArray<uint32_t>* aColumnIndices); |
|
void TableSelectedRowIndices(nsTArray<uint32_t>* aRowIndices); |
|
void TableSelectColumn(uint32_t aCol); |
|
void TableSelectRow(uint32_t aRow); |
|
void TableUnselectColumn(uint32_t aCol); |
|
void TableUnselectRow(uint32_t aRow); |
|
bool TableIsProbablyForLayout(); |
|
ProxyAccessible* AtkTableColumnHeader(int32_t aCol); |
|
ProxyAccessible* AtkTableRowHeader(int32_t aRow); |
|
|
|
void SelectedItems(nsTArray<ProxyAccessible*>* aSelectedItems); |
|
uint32_t SelectedItemCount(); |
|
ProxyAccessible* GetSelectedItem(uint32_t aIndex); |
|
bool IsItemSelected(uint32_t aIndex); |
|
bool AddItemToSelection(uint32_t aIndex); |
|
bool RemoveItemFromSelection(uint32_t aIndex); |
|
bool SelectAll(); |
|
bool UnselectAll(); |
|
|
|
void TakeSelection(); |
|
void SetSelected(bool aSelect); |
|
|
|
bool DoAction(uint8_t aIndex); |
|
uint8_t ActionCount(); |
|
void ActionDescriptionAt(uint8_t aIndex, nsString& aDescription); |
|
void ActionNameAt(uint8_t aIndex, nsString& aName); |
|
KeyBinding AccessKey(); |
|
KeyBinding KeyboardShortcut(); |
|
void AtkKeyBinding(nsString& aBinding); |
|
|
|
double CurValue(); |
|
bool SetCurValue(double aValue); |
|
double MinValue(); |
|
double MaxValue(); |
|
double Step(); |
|
|
|
void TakeFocus(); |
|
ProxyAccessible* FocusedChild(); |
|
ProxyAccessible* ChildAtPoint(int32_t aX, int32_t aY, |
|
Accessible::EWhichChildAtPoint aWhichChild); |
|
nsIntRect Bounds(); |
|
|
|
void Language(nsString& aLocale); |
|
void DocType(nsString& aType); |
|
void Title(nsString& aTitle); |
|
void URL(nsString& aURL); |
|
void MimeType(nsString aMime); |
|
void URLDocTypeMimeType(nsString& aURL, nsString& aDocType, |
|
nsString& aMimeType); |
|
|
|
ProxyAccessible* AccessibleAtPoint(int32_t aX, int32_t aY, |
|
bool aNeedsScreenCoords); |
|
|
|
void Extents(bool aNeedsScreenCoords, int32_t* aX, int32_t* aY, |
|
int32_t* aWidth, int32_t* aHeight); |
|
|
|
/** |
|
* Return the id of the dom node this accessible represents. Note this |
|
* should probably only be used for testing. |
|
*/ |
|
void DOMNodeID(nsString& aID); |
|
|
|
#endif
|
|
|