Clipping is used by the LRasterPaint class to limit the output to a user-defined region. This can be done using the LRasterPaint::SetClipRgn function. To get the last clipping region set, call LRasterPaint::GetClipRgn. To offset a clipping region, call LRasterPaint::OffsetClipRgn.
L_INT OnPaintShape ( HWND hWnd ){LRasterPaint Paint ;HDC hDC ;HRGN hClipRgn ;RECT rcShapeRect ;/* Initiate the Paint toolkit */if ( SUCCESS != Paint.Initialize( ) ){return FAILURE ;}/* 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) */Paint.DrawShapeEllipse ( hDC, &rcShapeRect ) ;hClipRgn = CreateRectRgn ( 120, 20, 200, 100 ) ;/*Set painting clip region */Paint.SetClipRgn ( hClipRgn ) ;/*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) */Paint.DrawShapeEllipse ( hDC, &rcShapeRect ) ;/*Delete the clip region */DeleteObject ( ( HRGN ) hClipRgn ) ;/*Release the device context */ReleaseDC ( hWnd, hDC ) ;/* Free the paint tools class object */Paint.Free ( ) ;return SUCCESS ;}