#ifndef __CRgn_cpp
#define __CRgn_cpp

MfcRgn* MfcRgn::New ()
{
	return FMpgGetModule()->GetMolipBaseI()->GetMfcClassI()->MfcRgnI()->_New();
} // MfcRgn* MfcRgn::New ();

void MfcRgn::Delete (MfcRgn* pRgn)
{
	FMpgGetModule()->GetMolipBaseI()->GetMfcClassI()->MfcRgnI()->_Delete(pRgn);
} // void MfcRgn::Delete (MfcRgn* pRgn);

MfcRgn* MfcRgn::FromHandle (HRGN hRgn)
{
	return FMpgGetModule()->GetMolipBaseI()->GetMfcClassI()->MfcRgnI()->_FromHandle(hRgn);
} // MfcRgn* MfcRgn::FromHandle (HRGN hRgn);

MfcRgn::operator HRGN () const
{
	return FMpgGetModule()->GetMolipBaseI()->GetMfcClassI()->MfcRgnI()->_HRGN(this);
} // MfcRgn::operator HRGN () const;

BOOL MfcRgn::CreateRectRgn (int x1, int y1, int x2, int y2)
{
	return FMpgGetModule()->GetMolipBaseI()->GetMfcClassI()->MfcRgnI()->_CreateRectRgn(this, x1, y1, x2, y2);
} // BOOL MfcRgn::CreateRectRgn (int x1, int y1, int x2, int y2);

BOOL MfcRgn::CreateRectRgnIndirect (LPCRECT lpRect)
{
	return FMpgGetModule()->GetMolipBaseI()->GetMfcClassI()->MfcRgnI()->_CreateRectRgnIndirect(this, lpRect);
} // BOOL MfcRgn::CreateRectRgnIndirect (LPCRECT lpRect);

BOOL MfcRgn::CreateEllipticRgn (int x1, int y1, int x2, int y2)
{
	return FMpgGetModule()->GetMolipBaseI()->GetMfcClassI()->MfcRgnI()->_CreateEllipticRgn(this, x1, y1, x2, y2);
} // BOOL MfcRgn::CreateEllipticRgn (int x1, int y1, int x2, int y2);

BOOL MfcRgn::CreateEllipticRgnIndirect (LPCRECT lpRect)
{
	return FMpgGetModule()->GetMolipBaseI()->GetMfcClassI()->MfcRgnI()->_CreateEllipticRgnIndirect(this, lpRect);
} // BOOL MfcRgn::CreateEllipticRgnIndirect (LPCRECT lpRect);

BOOL MfcRgn::CreatePolygonRgn (LPPOINT lpPoints, int nCount, int nMode)
{
	return FMpgGetModule()->GetMolipBaseI()->GetMfcClassI()->MfcRgnI()->_CreatePolygonRgn(this, lpPoints, nCount, nMode);
} // BOOL MfcRgn::CreatePolygonRgn (LPPOINT lpPoints, int nCount, int nMode);

BOOL MfcRgn::CreatePolyPolygonRgn (LPPOINT lpPoints, LPINT lpPolyCounts, int nCount, int nPolyFillMode)
{
	return FMpgGetModule()->GetMolipBaseI()->GetMfcClassI()->MfcRgnI()->_CreatePolyPolygonRgn(this, lpPoints, lpPolyCounts, nCount, nPolyFillMode);
} // BOOL MfcRgn::CreatePolyPolygonRgn (LPPOINT lpPoints, LPINT lpPolyCounts, int nCount, int nPolyFillMode);

BOOL MfcRgn::CreateRoundRectRgn (int x1, int y1, int x2, int y2, int x3, int y3)
{
	return FMpgGetModule()->GetMolipBaseI()->GetMfcClassI()->MfcRgnI()->_CreateRoundRectRgn(this, x1, y1, x2, y2, x3, y3);
} // BOOL MfcRgn::CreateRoundRectRgn (int x1, int y1, int x2, int y2, int x3, int y3);

BOOL MfcRgn::CreateFromPath (MfcDC* pDC)
{
	return FMpgGetModule()->GetMolipBaseI()->GetMfcClassI()->MfcRgnI()->_CreateFromPath(this, pDC);
} // BOOL MfcRgn::CreateFromPath (MfcDC* pDC);

BOOL MfcRgn::CreateFromData (const XFORM* lpXForm, int nCount, const RGNDATA* pRgnData)
{
	return FMpgGetModule()->GetMolipBaseI()->GetMfcClassI()->MfcRgnI()->_CreateFromData(this, lpXForm, nCount, pRgnData);
} // BOOL MfcRgn::CreateFromData (const XFORM* lpXForm, int nCount, const RGNDATA* pRgnData);

void MfcRgn::SetRectRgn (int x1, int y1, int x2, int y2)
{
	FMpgGetModule()->GetMolipBaseI()->GetMfcClassI()->MfcRgnI()->_SetRectRgn(this, x1, y1, x2, y2);
} // void MfcRgn::SetRectRgn (int x1, int y1, int x2, int y2);

void MfcRgn::SetRectRgn (LPCRECT lpRect)
{
	FMpgGetModule()->GetMolipBaseI()->GetMfcClassI()->MfcRgnI()->_SetRectRgn(this, lpRect);
} // void MfcRgn::SetRectRgn (LPCRECT lpRect);

int MfcRgn::CombineRgn (MfcRgn* pRgn1, MfcRgn* pRgn2, int nCombineMode)
{
	return FMpgGetModule()->GetMolipBaseI()->GetMfcClassI()->MfcRgnI()->_CombineRgn(this, pRgn1, pRgn2, nCombineMode);
} // int MfcRgn::CombineRgn (MfcRgn* pRgn1, MfcRgn* pRgn2, int nCombineMode);

int MfcRgn::CopyRgn (MfcRgn* pRgnSrc)
{
	return FMpgGetModule()->GetMolipBaseI()->GetMfcClassI()->MfcRgnI()->_CopyRgn(this, pRgnSrc);
} // int MfcRgn::CopyRgn (MfcRgn* pRgnSrc);

BOOL MfcRgn::EqualRgn (MfcRgn* pRgn) const
{
	return FMpgGetModule()->GetMolipBaseI()->GetMfcClassI()->MfcRgnI()->_EqualRgn(this, pRgn);
} // BOOL MfcRgn::EqualRgn (MfcRgn* pRgn) const;

int MfcRgn::OffsetRgn (int x, int y)
{
	return FMpgGetModule()->GetMolipBaseI()->GetMfcClassI()->MfcRgnI()->_OffsetRgn(this, x, y);
} // int MfcRgn::OffsetRgn (int x, int y);

int MfcRgn::OffsetRgn (POINT point)
{
	return FMpgGetModule()->GetMolipBaseI()->GetMfcClassI()->MfcRgnI()->_OffsetRgn(this, point);
} // int MfcRgn::OffsetRgn (POINT point);

int MfcRgn::GetRgnBox (LPRECT lpRect) const
{
	return FMpgGetModule()->GetMolipBaseI()->GetMfcClassI()->MfcRgnI()->_GetRgnBox(this, lpRect);
} // int MfcRgn::GetRgnBox (LPRECT lpRect) const;

BOOL MfcRgn::PtInRegion (int x, int y) const
{
	return FMpgGetModule()->GetMolipBaseI()->GetMfcClassI()->MfcRgnI()->_PtInRegion(this, x, y);
} // BOOL MfcRgn::PtInRegion (int x, int y) const;

BOOL MfcRgn::PtInRegion (POINT point) const
{
	return FMpgGetModule()->GetMolipBaseI()->GetMfcClassI()->MfcRgnI()->_PtInRegion(this, point);
} // BOOL MfcRgn::PtInRegion (POINT point) const;

BOOL MfcRgn::RectInRegion (LPCRECT lpRect) const
{
	return FMpgGetModule()->GetMolipBaseI()->GetMfcClassI()->MfcRgnI()->_RectInRegion(this, lpRect);
} // BOOL MfcRgn::RectInRegion (LPCRECT lpRect) const;

int MfcRgn::GetRegionData (LPRGNDATA lpRgnData, int nCount) const
{
	return FMpgGetModule()->GetMolipBaseI()->GetMfcClassI()->MfcRgnI()->_GetRegionData(this, lpRgnData, nCount);
} // int MfcRgn::GetRegionData (LPRGNDATA lpRgnData, int nCount) const;

#endif//__CRgn_cpp
