implementation module rgnCCall_12





from	ostoolbox	import :: OSToolbox





::	HRGN	:==  Int





//	PA: CombineRgn() Styles.

RGN_AND				:== 1

RGN_OR				:== 2

RGN_XOR				:== 3

RGN_DIFF			:== 4

RGN_COPY			:== 5

//	PA: end of addition.





/*	PA: operations to create, modify and destroy regions.

*/

winCreateRectRgn :: !Int !Int !Int !Int !*OSToolbox -> (!HRGN,!*OSToolbox)

winCreateRectRgn _ _ _ _ _

	= code

	{	

		.inline WinCreateRectRgn

			ccall WinCreateRectRgn "IIIII-II"

		.end

	}



winCreatePolygonRgn :: !Int !Int !Int !*OSToolbox -> (!HRGN,!*OSToolbox)

winCreatePolygonRgn _ _ _ _

	= code

	{	

		.inline WinCreatePolygonRgn

			ccall WinCreatePolygonRgn "IIII-II"

		.end

	}



winSetRgnToRect :: !Int !Int !Int !Int !HRGN !*OSToolbox -> (!HRGN,!*OSToolbox)

winSetRgnToRect _ _ _ _ _ _

	= code

	{	

		.inline WinSetRgnToRect

			ccall WinSetRgnToRect "IIIIII-II"

		.end

	}



winCombineRgn :: !HRGN !HRGN !HRGN !Int !*OSToolbox -> (!HRGN,!*OSToolbox)

winCombineRgn _ _ _ _ _

	= code

	{	

		.inline WinCombineRgn

			ccall WinCombineRgn "IIIII-II"

		.end

	}



winGetRgnBox :: !HRGN !*OSToolbox -> (!Int,!Int,!Int,!Int,!Bool,!Bool,!*OSToolbox)

winGetRgnBox _ _

	= code

	{	

		.inline WinGetRgnBox

			ccall WinGetRgnBox "II-IIIIIII"

		.end

	}

