UiaGrid.h (1604B)
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* vim: set ts=2 et sw=2 tw=80: */ 3 /* This Source Code Form is subject to the terms of the Mozilla Public 4 * License, v. 2.0. If a copy of the MPL was not distributed with this file, 5 * You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7 #ifndef mozilla_a11y_UiaGrid_h__ 8 #define mozilla_a11y_UiaGrid_h__ 9 10 #include "objbase.h" 11 #include "uiautomation.h" 12 13 namespace mozilla::a11y { 14 class Accessible; 15 class TableAccessible; 16 17 /** 18 * IGridProvider and ITableProvider implementations. 19 */ 20 class UiaGrid : public IGridProvider, public ITableProvider { 21 public: 22 // IGridProvider 23 virtual HRESULT STDMETHODCALLTYPE GetItem( 24 /* [in] */ int aRow, 25 /* [in] */ int aColumn, 26 /* [retval][out] */ 27 __RPC__deref_out_opt IRawElementProviderSimple** aRetVal); 28 29 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RowCount( 30 /* [retval][out] */ __RPC__out int* aRetVal); 31 32 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ColumnCount( 33 /* [retval][out] */ __RPC__out int* aRetVal); 34 35 // ITableProvider 36 virtual HRESULT STDMETHODCALLTYPE GetRowHeaders( 37 /* [retval][out] */ __RPC__deref_out_opt SAFEARRAY** aRetVal); 38 39 virtual HRESULT STDMETHODCALLTYPE GetColumnHeaders( 40 /* [retval][out] */ __RPC__deref_out_opt SAFEARRAY** aRetVal); 41 42 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RowOrColumnMajor( 43 /* [retval][out] */ __RPC__out enum RowOrColumnMajor* aRetVal); 44 45 private: 46 Accessible* Acc(); 47 TableAccessible* TableAcc(); 48 }; 49 50 } // namespace mozilla::a11y 51 52 #endif