LEADTOOLS Raster Imaging C++ Class Library Help > Classes and Member Functions > LBitmapRgn > LBitmapRgn Member Functions > LBitmapRgn::SetRgnRoundRect |
#include "ltwrappr.h"
virtual L_INT LBitmapRgn::SetRgnRoundRect(pRect, nWidthEllipse, nHeightEllipse)
LPRECT pRect; |
/* pointer to the bounding rectangle of the region */ |
L_INT nWidthEllipse; |
/* width of the ellipse used for rounded corners */ |
L_INT nHeightEllipse; |
/* height of the ellipse used for rounded corners */ |
Creates or updates the associated class object's bitmap region by adding a rounded rectangular region.
Parameter |
Description |
pRect |
Pointer to the windows RECT structure that specifies the bounding rectangle of the region. You specify the structure using device context coordinates, and LEADTOOLS translates the coordinates using the values set using LBitmapRgn::SetRgnXForm. |
nWidthEllipse |
The width of the ellipse that describes the arc of the rounded corners. You specify the measurement in device context pixels, and LEADTOOLS translates the coordinates using the values set using LBitmapRgn::SetRgnXForm. |
nHeightEllipse |
The height of the ellipse that describes the arc of the rounded corners. You specify the measurement in device context pixels, and LEADTOOLS translates the coordinates using the values set using LBitmapRgn::SetRgnXForm. |
Returns
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
Comments
To update an existing region, you specify how the new region is to be combined with the existing one. For descriptions of the possibilities, refer to Creating a Bitmap Region.
The following illustration shows how you describe the rounded corners by specifying the width and height of an ellipse:
Required DLLs and Libraries
LTDIS For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application. |
Platforms
Win32, x64.
See Also
Example
#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName L_INT LBitmapRgn__SetRgnRoundRectExample(HWND hWnd) { L_INT nRet; POINT pointRgn ; LBitmapBase MyBitmap(200,300,ORDER_BGR); RECT Rect={10,10,350,400}; nRet = MyBitmap.Load(MAKE_IMAGE_PATH(TEXT("image1.cmp"))); if(nRet !=SUCCESS) return nRet; LBitmapRgn Region(&MyBitmap); //set the round rect as a region nRet =Region.SetRgnRoundRect(&Rect,30,40); if(nRet !=SUCCESS) return nRet; // check if this point in region or not if (Region.IsPtInRgn(150,200) == TRUE) MessageBox(hWnd, TEXT("Point in region"), TEXT("Region"), MB_OK ); else MessageBox(hWnd, TEXT("Point is not in region"), TEXT("Region"), MB_OK ); // set x & y in pointRgn structure pointRgn.x = 100 ; pointRgn.y = 100 ; // check if this point in region or not if (Region.IsPtInRgn(&pointRgn) ==TRUE) MessageBox(hWnd, TEXT("Point in region"), TEXT("Region"), MB_OK ); else MessageBox(hWnd, TEXT("Point is not in region"), TEXT("Region"), MB_OK ); return SUCCESS; }