Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

IXpsOMObjectFactory::CreateVisualBrush method

Creates an IXpsOMVisualBrush interface, which is an IXpsOMTileBrush that uses a visual object.

Syntax


HRESULT CreateVisualBrush(
  [in]          const XPS_RECT          *viewBox,
  [in]          const XPS_RECT          *viewPort,
  [out, retval]       IXpsOMVisualBrush **visualBrush
);

Parameters

viewBox [in]

The XPS_RECT structure that specifies the source image's area to be used in the brush. This parameter must not be NULL.

viewPort [in]

The XPS_RECT structure that specifies the destination geometry area of the tile. This parameter must not be NULL.

visualBrush [out, retval]

A pointer to the new IXpsOMVisualBrush interface.

Return value

The method returns an HRESULT. Possible values include, but are not limited to, those in the table that follows. For information about XPS document API return values that are not listed in this table, see XPS Document Errors.

Return codeDescription
S_OK

The method succeeded.

E_POINTER

viewBox, viewPort, or visualBrush is NULL.

E_INVALIDARG

viewBox or viewPort contains an invalid rectangle or value.

 

Remarks

The code example that follows illustrates how this method is used to create a new interface.



IXpsOMVisualBrush        *newInterface;

// Note the implicit requirement that CoInitializeEx 
//  has previously been called from this thread.

hr = CoCreateInstance(
    __uuidof(XpsOMObjectFactory),
    NULL,
    CLSCTX_INPROC_SERVER,
    _uuidof(IXpsOMObjectFactory),
    reinterpret_cast<LPVOID*>(&xpsFactory)
    );

if (SUCCEEDED(hr))
{
    hr = xpsFactory->CreateVisualBrush (
        &viewBox,
        &viewPort,
        &newInterface);

    if (SUCCEEDED(hr))
    {
        // assign visual using one of the following:
        newInterface->SetVisualLocal (localVisual);
        // or
        newInterface->SetVisualLookup (visualLookupKey);
        // use newInterface

        newInterface->Release();
    }
    xpsFactory->Release();
}
else
{
    // evaluate HRESULT error returned in hr
}
// use newInterface

newInterface->Release();
xpsFactory->Release();



Requirements

Minimum supported client

Windows 7, Windows Vista with SP2 and Platform Update for Windows Vista [desktop apps | Windows Store apps]

Minimum supported server

Windows Server 2008 R2, Windows Server 2008 with SP2 and Platform Update for Windows Server 2008 [desktop apps | Windows Store apps]

Header

Xpsobjectmodel.h

IDL

XpsObjectModel.idl

See also

IXpsOMObjectFactory
IXpsOMVisualBrush
XPS Document Errors
XML Paper Specification

 

 

Community Additions

ADD
Show:
© 2015 Microsoft