michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* vim: set ts=2 et sw=2 tw=80: */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #ifndef mozilla_a11y_ia2Accessible_h_ michael@0: #define mozilla_a11y_ia2Accessible_h_ michael@0: michael@0: #include "nsISupports.h" michael@0: michael@0: #include "Accessible2_2.h" michael@0: michael@0: namespace mozilla { michael@0: namespace a11y { michael@0: michael@0: class ia2Accessible : public IAccessible2_2 michael@0: { michael@0: public: michael@0: michael@0: // IUnknown michael@0: STDMETHODIMP QueryInterface(REFIID, void**); michael@0: michael@0: // IAccessible2 michael@0: virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRelations( michael@0: /* [retval][out] */ long* nRelations); michael@0: michael@0: virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relation( michael@0: /* [in] */ long relationIndex, michael@0: /* [retval][out] */ IAccessibleRelation** relation); michael@0: michael@0: virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relations( michael@0: /* [in] */ long maxRelations, michael@0: /* [length_is][size_is][out] */ IAccessibleRelation** relation, michael@0: /* [retval][out] */ long* nRelations); michael@0: michael@0: virtual HRESULT STDMETHODCALLTYPE role( michael@0: /* [retval][out] */ long* role); michael@0: michael@0: virtual HRESULT STDMETHODCALLTYPE scrollTo( michael@0: /* [in] */ enum IA2ScrollType scrollType); michael@0: michael@0: virtual HRESULT STDMETHODCALLTYPE scrollToPoint( michael@0: /* [in] */ enum IA2CoordinateType coordinateType, michael@0: /* [in] */ long x, michael@0: /* [in] */ long y); michael@0: michael@0: virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_groupPosition( michael@0: /* [out] */ long* groupLevel, michael@0: /* [out] */ long* similarItemsInGroup, michael@0: /* [retval][out] */ long* positionInGroup); michael@0: michael@0: virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_states( michael@0: /* [retval][out] */ AccessibleStates* states); michael@0: michael@0: virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extendedRole( michael@0: /* [retval][out] */ BSTR* extendedRole); michael@0: michael@0: virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedExtendedRole( michael@0: /* [retval][out] */ BSTR* localizedExtendedRole); michael@0: michael@0: virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nExtendedStates( michael@0: /* [retval][out] */ long* nExtendedStates); michael@0: michael@0: virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extendedStates( michael@0: /* [in] */ long maxExtendedStates, michael@0: /* [length_is][length_is][size_is][size_is][out] */ BSTR** extendedStates, michael@0: /* [retval][out] */ long* nExtendedStates); michael@0: michael@0: virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedExtendedStates( michael@0: /* [in] */ long maxLocalizedExtendedStates, michael@0: /* [length_is][length_is][size_is][size_is][out] */ BSTR** localizedExtendedStates, michael@0: /* [retval][out] */ long* nLocalizedExtendedStates); michael@0: michael@0: virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_uniqueID( michael@0: /* [retval][out] */ long* uniqueID); michael@0: michael@0: virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_windowHandle( michael@0: /* [retval][out] */ HWND* windowHandle); michael@0: michael@0: virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_indexInParent( michael@0: /* [retval][out] */ long* indexInParent); michael@0: michael@0: virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_locale( michael@0: /* [retval][out] */ IA2Locale* locale); michael@0: michael@0: virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attributes( michael@0: /* [retval][out] */ BSTR* attributes); michael@0: michael@0: // IAccessible2_2 michael@0: virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attribute( michael@0: /* [in] */ BSTR name, michael@0: /* [out, retval] */ VARIANT* attribute); michael@0: michael@0: virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_accessibleWithCaret( michael@0: /* [out] */ IUnknown** accessible, michael@0: /* [out, retval] */ long* caretOffset); michael@0: michael@0: virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relationTargetsOfType( michael@0: /* [in] */ BSTR type, michael@0: /* [in] */ long maxTargets, michael@0: /* [out, size_is(,*nTargets)] */ IUnknown*** targets, michael@0: /* [out, retval] */ long* nTargets michael@0: ); michael@0: michael@0: // Helper method michael@0: static HRESULT ConvertToIA2Attributes(nsIPersistentProperties* aAttributes, michael@0: BSTR* aIA2Attributes); michael@0: }; michael@0: michael@0: } // namespace a11y michael@0: } // namespace mozilla michael@0: michael@0: #endif