DXClipToOutputWithPlacement function

Modifies a CDXDBnds class so that it is clipped by a clipping boundary.

Syntax

HRESULT DXClipToOutputWithPlacement(
  _Inout_       CDXDBnds &LogicalOutBnds,
  _In_    const CDXDBnds *pClipBnds,
  _Inout_       CDXDBnds &PhysicalOutBnds,
  _In_    const CDXDVec  *pPlacement
);

Parameters

  • LogicalOutBnds [in, out, ref]
    A CDXDBnds object that specifies and receives the input boundary.

  • pClipBnds [in]
    A pointer to a CDXDBnds object that specifies the clipping boundary.

  • PhysicalOutBnds [in, out, ref]
    A CDXDBnds object that specifies and receives the output boundary.

  • pPlacement [in]
    A pointer to a CDXDVec object that specifies an offset to use when setting PhysicalOutBnds.

Return value

Returns S_OK if clipping is successful, or S_FALSE if clipping is not necessary.

Remarks

Use DXClipToOutputWithPlacement to clip a CDXDBnds object. First, DXClipToOutputWithPlacement compares the input boundary, LogicalOutBnds, to the clipping boundary, pClipBnds. If the boundaries intersect, the input boundary is resized to the boundaries of this intersection. Next, this newly resized input boundary is offset by pPlacement and compared to the specified output boundary, PhysicalOutBnds. If these boundaries intersect, the output boundary is resized to the boundaries of this intersection. The following illustration shows this process.

If the clipping boundary is not partially or completely within the input boundary, then DXClipToOutputWithPlacement returns S_FALSE. LogicalOutBnds might also be modified.

If the clipping boundary, offset by pPlacement, is not partially or completely within the output boundary, then DXClipToOutputWithPlacement returns S_FALSE. LogicalOutBnds might also be modified.

Requirements

Minimum supported client

Windows XP

Minimum supported server

Windows 2000 Server

Header

Dxhelper.h