diff options
Diffstat (limited to 'accessible/windows/uia/uiaRawElmProvider.h')
-rw-r--r-- | accessible/windows/uia/uiaRawElmProvider.h | 79 |
1 files changed, 71 insertions, 8 deletions
diff --git a/accessible/windows/uia/uiaRawElmProvider.h b/accessible/windows/uia/uiaRawElmProvider.h index 0e5172c805..0e05d1a030 100644 --- a/accessible/windows/uia/uiaRawElmProvider.h +++ b/accessible/windows/uia/uiaRawElmProvider.h @@ -7,9 +7,9 @@ #ifndef mozilla_a11y_uiaRawElmProvider_h__ #define mozilla_a11y_uiaRawElmProvider_h__ -#include "objbase.h" -#include "IUnknownImpl.h" -#include "uiautomation.h" +#include <objbase.h> +#include <stdint.h> +#include <uiautomation.h> namespace mozilla { namespace a11y { @@ -20,12 +20,21 @@ class Accessible; * IRawElementProviderSimple implementation (maintains IAccessibleEx approach). */ class uiaRawElmProvider : public IAccessibleEx, - public IRawElementProviderSimple { + public IRawElementProviderSimple, + public IRawElementProviderFragment, + public IInvokeProvider, + public IToggleProvider, + public IExpandCollapseProvider, + public IScrollItemProvider, + public IValueProvider { public: + static void RaiseUiaEventForGeckoEvent(Accessible* aAcc, + uint32_t aGeckoEvent); + static void RaiseUiaEventForStateChange(Accessible* aAcc, uint64_t aState, + bool aEnabled); + // IUnknown - DECL_IUNKNOWN_INHERITED - ULONG STDMETHODCALLTYPE AddRef() override; - ULONG STDMETHODCALLTYPE Release() override; + STDMETHODIMP QueryInterface(REFIID aIid, void** aInterface); // IAccessibleEx virtual HRESULT STDMETHODCALLTYPE GetObjectForChild( @@ -59,9 +68,63 @@ class uiaRawElmProvider : public IAccessibleEx, /* [retval][out] */ __RPC__deref_out_opt IRawElementProviderSimple** aRawElmProvider); + // IRawElementProviderFragment + virtual HRESULT STDMETHODCALLTYPE Navigate( + /* [in] */ enum NavigateDirection aDirection, + /* [retval][out] */ __RPC__deref_out_opt IRawElementProviderFragment** + aRetVal); + + // GetRuntimeId is shared with IAccessibleEx. + + virtual HRESULT STDMETHODCALLTYPE get_BoundingRectangle( + /* [retval][out] */ __RPC__out struct UiaRect* aRetVal); + + virtual HRESULT STDMETHODCALLTYPE GetEmbeddedFragmentRoots( + /* [retval][out] */ __RPC__deref_out_opt SAFEARRAY** aRetVal); + + virtual HRESULT STDMETHODCALLTYPE SetFocus(void); + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FragmentRoot( + /* [retval][out] */ __RPC__deref_out_opt IRawElementProviderFragmentRoot** + aRetVal); + + // IInvokeProvider + virtual HRESULT STDMETHODCALLTYPE Invoke(void); + + // IToggleProvider + virtual HRESULT STDMETHODCALLTYPE Toggle(void); + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ToggleState( + /* [retval][out] */ __RPC__out enum ToggleState* aRetVal); + + // IExpandCollapseProvider + virtual HRESULT STDMETHODCALLTYPE Expand(void); + + virtual HRESULT STDMETHODCALLTYPE Collapse(void); + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ExpandCollapseState( + /* [retval][out] */ __RPC__out enum ExpandCollapseState* aRetVal); + + // IScrollItemProvider + virtual HRESULT STDMETHODCALLTYPE ScrollIntoView(void); + + // IValueProvider + virtual HRESULT STDMETHODCALLTYPE SetValue( + /* [in] */ __RPC__in LPCWSTR val); + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Value( + /* [retval][out] */ __RPC__deref_out_opt BSTR* pRetVal); + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsReadOnly( + /* [retval][out] */ __RPC__out BOOL* pRetVal); + private: - Accessible* Acc(); + Accessible* Acc() const; bool IsControl(); + long GetControlType() const; + bool HasTogglePattern(); + bool HasExpandCollapsePattern(); + bool HasValuePattern() const; }; } // namespace a11y |