L_PntSetClipRgn
#include "LtPnt.h"
L_LTPNT_API L_INT L_PntSetClipRgn(pPaint, hClipRgn)
pPAINTHANDLE pPaint; |
/* pointer to a paint handle */ |
L_HRGN hClipRgn; |
/* region handle */ |
Sets the current clipping region for the toolkit.
Parameter |
Description |
pPaint |
Pointer to a paint handle. |
hClipRgn |
A handle to the region to be used to clip the painting output. If this parameter is NULL, there is no clipping region. |
Returns
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
Comments
This function creates a copy of the specified region and uses it to clip the painting output. The toolkit will use the region as it is, without doing any transformations.
If a bitmap has been set using the L_PntSetMetrics function, the toolkit will perform any necessary clipping, draw to the bitmap, and finally draw the resulting bitmap to the specified device context.
Required DLLs and Libraries
LTPNT For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application |
See Also
Functions: |
|
Topics: |
|
|
Example
L_INT PntSetClipRgnExample(HWND hWnd) { L_INT nRet; pPAINTHANDLE pPaint ; HDC hDC ; HRGN hClipRgn ; RECT rcShapeRect ; /* Initiate the Paint toolkit */ nRet = L_PntInit ( &pPaint ); if ( SUCCESS != nRet ) { return nRet; } /* Get device context to draw on */ hDC = GetDC ( hWnd ) ; /* Set the rectangle coordinates with respect to the DC dimensions*/ SetRect ( &rcShapeRect, 10, 10, 110, 110 ) ; /* Use the current shape properties to draw an ellipse to DC (hDC) */ nRet = L_PntDrawShapeEllipse ( pPaint, hDC, &rcShapeRect ) ; if(nRet != SUCCESS) return nRet; hClipRgn = CreateRectRgn ( 120, 20, 200, 100 ) ; /* Set painting clip region */ nRet = L_PntSetClipRgn ( pPaint, hClipRgn) ; if(nRet != SUCCESS) return nRet; /* Set the rectangle coordinates with respect to the DC dimensions*/ SetRect ( &rcShapeRect, 110, 10, 210, 110 ) ; /* Use the current shape properties to draw an ellipse to DC (hDC) */ nRet = L_PntDrawShapeEllipse ( pPaint, hDC, &rcShapeRect ) ; if(nRet != SUCCESS) return nRet; /* Delete the clip region */ DeleteObject ( ( HRGN ) hClipRgn ) ; /* Release the device context */ ReleaseDC ( hWnd, hDC ) ; /* Free the paint tools handle */ L_PntFree ( pPaint ) ; return SUCCESS ; }