2004-08-15 18:40:07 +00:00
|
|
|
#include "precomp.h"
|
2002-07-22 17:42:52 +00:00
|
|
|
|
2003-07-20 16:47:05 +00:00
|
|
|
|
2007-08-07 00:56:12 +00:00
|
|
|
/*
|
|
|
|
* @implemented
|
|
|
|
*/
|
|
|
|
int STDCALL
|
|
|
|
SelectClipRgn(
|
|
|
|
HDC hdc,
|
|
|
|
HRGN hrgn
|
|
|
|
)
|
|
|
|
{
|
|
|
|
return NtGdiExtSelectClipRgn(hdc, hrgn, RGN_COPY);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2003-07-20 00:13:36 +00:00
|
|
|
/*
|
|
|
|
* @implemented
|
|
|
|
*/
|
|
|
|
int
|
|
|
|
STDCALL
|
|
|
|
GetClipRgn(
|
2004-04-25 14:46:54 +00:00
|
|
|
HDC hdc,
|
|
|
|
HRGN hrgn
|
2003-07-20 00:13:36 +00:00
|
|
|
)
|
|
|
|
{
|
2007-08-08 01:03:54 +00:00
|
|
|
return NtGdiGetRandomRgn(hdc, hrgn, 1);
|
2003-07-20 00:13:36 +00:00
|
|
|
}
|
|
|
|
|
2007-04-20 23:50:44 +00:00
|
|
|
|
|
|
|
HRGN
|
|
|
|
WINAPI
|
|
|
|
CreatePolygonRgn( const POINT* Point, int Count, int Mode)
|
|
|
|
{
|
|
|
|
return CreatePolyPolygonRgn(Point, (const INT*)&Count, 1, Mode);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
HRGN
|
|
|
|
WINAPI
|
|
|
|
CreatePolyPolygonRgn( const POINT* Point,
|
|
|
|
const INT* Count,
|
|
|
|
int inPolygons,
|
|
|
|
int Mode)
|
|
|
|
{
|
2007-04-26 14:53:36 +00:00
|
|
|
return (HRGN) NtGdiPolyPolyDraw( (HDC) Mode,
|
2007-04-20 23:50:44 +00:00
|
|
|
(PPOINT) Point,
|
|
|
|
(PULONG) Count,
|
|
|
|
(ULONG) inPolygons,
|
|
|
|
GdiPolyPolyRgn );
|
|
|
|
}
|
|
|
|
|
2007-07-26 16:27:47 +00:00
|
|
|
HRGN
|
|
|
|
WINAPI
|
|
|
|
CreateEllipticRgnIndirect(
|
|
|
|
const RECT *prc
|
|
|
|
)
|
|
|
|
{
|
2007-08-23 15:03:13 +00:00
|
|
|
/* Notes if prc is NULL it will crash on All Windows NT I checked 2000/XP/VISTA */
|
|
|
|
return NtGdiCreateEllipticRgn(prc->left, prc->top, prc->right, prc->bottom);
|
|
|
|
|
2007-07-26 16:27:47 +00:00
|
|
|
}
|
2007-07-26 19:52:51 +00:00
|
|
|
|
|
|
|
HRGN
|
|
|
|
WINAPI
|
|
|
|
CreateRectRgnIndirect(
|
|
|
|
const RECT *prc
|
|
|
|
)
|
|
|
|
{
|
|
|
|
if (prc)
|
|
|
|
{
|
|
|
|
return NtGdiCreateRectRgn(prc->left,
|
|
|
|
prc->top,
|
|
|
|
prc->right,
|
|
|
|
prc->bottom);
|
|
|
|
}
|
|
|
|
return NULL;
|
|
|
|
}
|