NVDA Helper
In-process and lite high-speed utilities for NVDA
|
#include <map>
#include <algorithm>
#include <windows.h>
#include <oleacc.h>
#include <oleidl.h>
#include <atlcomcli.h>
#include <mshtml.h>
#include <set>
#include <string>
#include <sstream>
#include <vbufBase/backend.h>
#include <vbufBase/utils.h>
#include <remote/dllmain.h>
#include <common/log.h>
#include "node.h"
Go to the source code of this file.
Macros | |
#define | macro_addHTMLCurrentStyleToNodeAttrs(styleName, attrName, node, currentStyleObj, tempBSTR) |
#define | macro_addHTMLCurrentStyleToNodeAttrs_var(styleName, attrName, node, currentStyleObj, tempVar) |
#define | macro_addHTMLAttributeToMap(attribName, allowEmpty, attribsObj, attribsMap, tempVar, tempAttrObj) |
Functions | |
void | incBackendLibRefCount () |
void | decBackendLibRefCount () |
template<typename toInterface > | |
HRESULT | queryService (IUnknown *pUnknown, const IID &siid, toInterface **pIface) |
A utility template function to queryService from a given IUnknown to the given service with the given service ID and interface eing returned. | |
void | getIAccessibleInfo (IAccessible *pacc, wstring *name, int *role, wstring *value, int *states, wstring *description, wstring *keyboardShortcut) |
template<typename toInterface > | |
HRESULT | getHTMLSubdocumentBodyFromIAccessibleFrame (IAccessible *pacc, toInterface **pIface) |
IHTMLElement * | LocateHTMLElementInDocument (IHTMLDocument3 *pHTMLDocument3, const wstring &ID) |
int | getIDFromHTMLDOMNode (IHTMLDOMNode *pHTMLDOMNode) |
wstring | getTextFromHTMLDOMNode (IHTMLDOMNode *pHTMLDOMNode, bool allowPreformattedText, bool isStartOfBlock) |
void | getCurrentStyleInfoFromHTMLDOMNode (IHTMLDOMNode *pHTMLDOMNode, bool &dontRender, bool &isBlock, bool &hidden, wstring &listStyle) |
void | getAttributesFromHTMLDOMNode (IHTMLDOMNode *pHTMLDOMNode, wstring &nodeName, map< wstring, wstring > &attribsMap) |
void | fillTextFormatting_helper (IHTMLElement2 *pHTMLElement2, VBufStorage_fieldNode_t *node) |
void | fillTextFormattingForNode (IHTMLDOMNode *pHTMLDOMNode, VBufStorage_fieldNode_t *node) |
void | fillTextFormattingForTextNode (VBufStorage_controlFieldNode_t *parentNode, VBufStorage_textFieldNode_t *textNode) |
void | fillExplicitTableHeadersForCell (VBufStorage_controlFieldNode_t &cell, int docHandle, wstring &headersAttr, fillVBuf_tableInfo &tableInfo) |
void | handleColsSpannedByPrevRows (fillVBuf_tableInfo &tableInfo) |
fillVBuf_tableInfo * | fillVBuf_helper_collectAndUpdateTableInfo (VBufStorage_controlFieldNode_t *parentNode, wstring nodeName, int docHandle, int ID, fillVBuf_tableInfo *tableInfo, map< wstring, wstring > &attribsMap) |
UINT | getHTMLWindowMessage () |
VBufBackend_t * | MshtmlVBufBackend_t_createInstance (int docHandle, int ID) |
Variables | |
const int | TABLEHEADER_COLUMN = 0x1 |
const int | TABLEHEADER_ROW = 0x2 |
const unsigned int | FORMATSTATE_INSERTED =1 |
const unsigned int | FORMATSTATE_DELETED =2 |
const unsigned int | FORMATSTATE_MARKED =4 |
const unsigned int | FORMATSTATE_STRONG =8 |
const unsigned int | FORMATSTATE_EMPH =16 |
#define macro_addHTMLCurrentStyleToNodeAttrs | ( | styleName, | |
attrName, | |||
node, | |||
currentStyleObj, | |||
tempBSTR ) |
Referenced by fillTextFormatting_helper().
#define macro_addHTMLCurrentStyleToNodeAttrs_var | ( | styleName, | |
attrName, | |||
node, | |||
currentStyleObj, | |||
tempVar ) |
Referenced by fillTextFormatting_helper().
#define macro_addHTMLAttributeToMap | ( | attribName, | |
allowEmpty, | |||
attribsObj, | |||
attribsMap, | |||
tempVar, | |||
tempAttrObj ) |
Referenced by getAttributesFromHTMLDOMNode().
void incBackendLibRefCount | ( | ) |
References BOOL(), dllHandle, LOG_DEBUG, and nhAssert.
Referenced by CDispatchChangeSink::CDispatchChangeSink(), and CHTMLChangeSink::CHTMLChangeSink().
void decBackendLibRefCount | ( | ) |
References BOOL(), dllHandle, LOG_DEBUG, and nhAssert.
Referenced by CDispatchChangeSink::~CDispatchChangeSink(), and CHTMLChangeSink::~CHTMLChangeSink().
|
inline |
A utility template function to queryService from a given IUnknown to the given service with the given service ID and interface eing returned.
siid | the service iid |
References HRESULT(), and LOG_DEBUG.
Referenced by MshtmlVBufBackend_t::fillVBuf(), getHTMLSubdocumentBodyFromIAccessibleFrame(), and LocateHTMLElementInDocument().
|
inline |
References LOG_DEBUG.
Referenced by MshtmlVBufBackend_t::fillVBuf().
|
inline |
References HRESULT(), LOG_DEBUG, and queryService().
Referenced by MshtmlVBufBackend_t::fillVBuf(), and LocateHTMLElementInDocument().
IHTMLElement * LocateHTMLElementInDocument | ( | IHTMLDocument3 * | pHTMLDocument3, |
const wstring & | ID ) |
References getHTMLSubdocumentBodyFromIAccessibleFrame(), HRESULT(), LocateHTMLElementInDocument(), LOG_DEBUG, LOG_DEBUGWARNING, and queryService().
Referenced by LocateHTMLElementInDocument(), and MshtmlVBufBackend_t::render().
|
inline |
References LOG_DEBUG.
Referenced by MshtmlVBufBackend_t::fillVBuf().
|
inline |
References LOG_DEBUG.
Referenced by MshtmlVBufBackend_t::fillVBuf().
|
inline |
References LOG_DEBUG.
Referenced by MshtmlVBufBackend_t::fillVBuf().
|
inline |
References LOG_DEBUG, and macro_addHTMLAttributeToMap.
Referenced by MshtmlVBufBackend_t::fillVBuf().
|
inline |
References VBufStorage_fieldNode_t::addAttribute(), MshtmlVBufStorage_controlFieldNode_t::formatState, VBufStorage_fieldNode_t::getParent(), MshtmlVBufStorage_controlFieldNode_t::language, LOG_DEBUG, macro_addHTMLCurrentStyleToNodeAttrs, and macro_addHTMLCurrentStyleToNodeAttrs_var.
Referenced by fillTextFormattingForNode(), and fillTextFormattingForTextNode().
|
inline |
References fillTextFormatting_helper(), and LOG_DEBUG.
Referenced by MshtmlVBufBackend_t::fillVBuf().
|
inline |
References fillTextFormatting_helper().
Referenced by MshtmlVBufBackend_t::fillVBuf().
|
inline |
|
inline |
References fillVBuf_tableInfo::columnRowSpans, fillVBuf_tableInfo::curColumnNumber, and nhAssert.
Referenced by fillVBuf_helper_collectAndUpdateTableInfo().
|
inline |
References fillVBuf_tableInfo::columnHeaders, fillVBuf_tableInfo::columnRowSpans, fillVBuf_tableInfo::curColumnNumber, fillVBuf_tableInfo::curRowNumber, fillVBuf_tableInfo::definitData, handleColsSpannedByPrevRows(), fillVBuf_tableInfo::headersInfo, fillVBuf_tableInfo::nodesWithExplicitHeaders, fillVBuf_tableInfo::rowHeaders, TABLEHEADER_COLUMN, TABLEHEADER_ROW, fillVBuf_tableInfo::tableID, fillVBuf_tableInfo::tableNode, TableHeaderInfo::type, and TableHeaderInfo::uniqueId.
Referenced by MshtmlVBufBackend_t::fillVBuf().
UINT getHTMLWindowMessage | ( | ) |
Referenced by MshtmlVBufBackend_t::render().
VBufBackend_t * MshtmlVBufBackend_t_createInstance | ( | int | docHandle, |
int | ID ) |
References LOG_DEBUG.
const int TABLEHEADER_COLUMN = 0x1 |
Referenced by fillExplicitTableHeadersForCell(), and fillVBuf_helper_collectAndUpdateTableInfo().
const int TABLEHEADER_ROW = 0x2 |
Referenced by fillExplicitTableHeadersForCell(), and fillVBuf_helper_collectAndUpdateTableInfo().
const unsigned int FORMATSTATE_INSERTED =1 |
Referenced by MshtmlVBufBackend_t::fillVBuf().
const unsigned int FORMATSTATE_DELETED =2 |
Referenced by MshtmlVBufBackend_t::fillVBuf().
const unsigned int FORMATSTATE_MARKED =4 |
Referenced by MshtmlVBufBackend_t::fillVBuf().
const unsigned int FORMATSTATE_STRONG =8 |
Referenced by MshtmlVBufBackend_t::fillVBuf().
const unsigned int FORMATSTATE_EMPH =16 |
Referenced by MshtmlVBufBackend_t::fillVBuf().