IContextNode::GetLocation method
Retrieves the position and size of the IContextNode object.
Syntax
HRESULT GetLocation(
[out] IAnalysisRegion **ppIAnalysisRegion
);
Parameters
-
ppIAnalysisRegion [out]
-
A pointer to the position and size of the IContextNode object.
Return value
For a description of the return values, see Classes and Interfaces - Ink Analysis.
Remarks
Caution
To avoid a memory leak, call IUnknown::Release on *ppIAnalysisRegion when you no longer need to use the analysis region.
The location for a container node is determined by finding the union of all the leaf's locations. The location for an ink leaf node is determined by finding the union of the bounding box of the associated strokes. The location for a non-ink leaf node is set when the node is created and can be updated using IContextNode::SetLocation.
Examples
The following example shows a helper method that retrieves information about a specified node, its pContextNode parameter. This helper method returns information from the following methods.
- IContextNode::GetId
- IContextNode::GetType
- IContextNode::GetLocation
- IContextNode::GetParentNode
// Helper method for collecting information about a context node.
HRESULT CMyClass::GetNodeInformation(
IContextNode *pContextNode,
GUID *pNodeIdentifier,
GUID *pContextNodeType,
IAnalysisRegion **ppAnalysisRegion,
IContextNode **ppParentNode,
IContextNodes **ppSubNodes)
{
// Get the identifier of the context node.
HRESULT hr = pContextNode->GetId(pNodeIdentifier);
if (FAILED(hr))
{
return hr;
}
// Get the type identifier for the context node.
hr = pContextNode->GetType(pContextNodeType);
if (FAILED(hr))
{
return hr;
}
// Get the location of the context node.
hr = pContextNode->GetLocation(ppAnalysisRegion);
if (FAILED(hr))
{
return hr;
}
// Get the parent node of the context node.
hr = pContextNode->GetParentNode(ppParentNode);
if (FAILED(hr))
{
if ((*ppAnalysisRegion) != NULL)
{
(*ppAnalysisRegion)->Release();
(*ppAnalysisRegion) = NULL;
}
return hr;
}
// Get the subnodes of the context node.
hr = pContextNode->GetSubNodes(ppSubNodes);
if (FAILED(hr))
{
if (*ppAnalysisRegion)
{
(*ppAnalysisRegion)->Release();
(*ppAnalysisRegion) = NULL;
}
if (*ppParentNode)
{
(*ppParentNode)->Release();
(*ppParentNode) = NULL;
}
return hr;
}
return hr;
}
Requirements
Requirement | Value |
---|---|
Minimum supported client |
Windows XP Tablet PC Edition [desktop apps only] |
Minimum supported server |
None supported |
Header |
|
DLL |
|