Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

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.


// 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

Minimum supported client

Windows XP Tablet PC Edition [desktop apps only]

Minimum supported server

None supported

Header

IACom.h (also requires IACom_i.c)

DLL

IACom.dll

See also

IContextNode
IAnalysisRegion
IContextNode::SetLocation
Ink Analysis Reference

 

 

Show:
© 2017 Microsoft