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:

image\rndrect.gif

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

Functions:

LBitmapRgn::SetRgnColor, LBitmapRgn::SetRgnEllipse, LBitmapRgn::SetRgnPolygon, LBitmapRgn::SetRgnRect, LBitmapRgn::SetRgnColorHSVRange, LBitmapRgn::SetRgnColorRGBRange, Class Members

Topics:

Raster Image Functions: Creating and Using a Region

 

Raster Image Functions: Region Processing

 

Defining and Using a Bitmap Region

 

Saving a Region

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;
}