Confirmed users
1,396
edits
| Line 118: | Line 118: | ||
<pre> | <pre> | ||
class | /** | ||
* Abstact class. | |||
*/ | |||
class GeckoAccBridge | |||
{ | { | ||
protected: | protected: | ||
DOMNodeAccessible* mGeckoAcc; | DOMNodeAccessible* mGeckoAcc; | ||
}; | }; | ||
</pre> | |||
class sdnAccessible: public | <pre> | ||
/** | |||
* ISimpleDOMNode impl | |||
*/ | |||
class sdnAccessible: virtual public GeckoAccBridge, | |||
public ISimpleDOMNode | public ISimpleDOMNode | ||
{ | { | ||
| Line 136: | Line 144: | ||
AccessNode* geckoAcc = mGeckoObj; | AccessNode* geckoAcc = mGeckoObj; | ||
} | } | ||
</pre> | |||
class msaaAccessible : public | <pre> | ||
/** | |||
* MSAA accessible. | |||
*/ | |||
class msaaAccessible : virtual public GeckoAccBridge, | |||
public IAccessible | public IAccessible | ||
{ | { | ||
| Line 145: | Line 158: | ||
hresult | hresult | ||
msaaAccessible::IAccessibleMethod() | |||
{ | { | ||
Accessible* geckoAcc = | Accessible* geckoAcc = mGeckoAcc->AsAccessible(); | ||
geckoAcc->TableMethod(); | geckoAcc->TableMethod(); | ||
return S_OK; | return S_OK; | ||
} | } | ||
</pre> | |||
class ia2TableAccessible : public IAccessibleTable | <pre> | ||
/** | |||
* IAccessibleTable implementation | |||
*/ | |||
class ia2TableAccessible : virtual public GeckoAccBridge, | |||
public IAccessibleTable | |||
{ | { | ||
public: | public: | ||
| Line 169: | Line 188: | ||
return S_OK; | return S_OK; | ||
} | } | ||
</pre> | |||
class | <pre> | ||
/** | |||
* Final impl classes for native interfaces. | |||
*/ | |||
class nativeDOMNodeAccessible : public sdnAccessible | |||
{ | { | ||
}; | }; | ||
class nativeAccessible : public | class nativeAccessible : public nativeDOMNodeAccessible, | ||
public msaaAccessible | public msaaAccessible, | ||
public ia2Accessible | |||
{ | { | ||
}; | }; | ||
| Line 183: | Line 208: | ||
{ | { | ||
}; | }; | ||
</pre> | |||
<pre> | |||
/** | |||
* Wrappers, used to create proper native class. | |||
*/ | |||
class AccessibleWrap: public Accessible | class AccessibleWrap: public Accessible | ||
{ | { | ||
public: | public: | ||
inline | inline GeckoAccBridge* NativeObject() | ||
{ | { | ||
if (!mNativeObj || !IsDefunct()) | if (!mNativeObj || !IsDefunct()) | ||
| Line 209: | Line 239: | ||
} | } | ||
}; | }; | ||
</pre> | </pre> | ||