The Region structure contains functions to operate on regions.
structure Region:
sig
type HDC and HBRUSH and HRGN and HPEN
type POINT = { x: int, y: int }
type RECT = { top: int, left: int, bottom: int, right: int }
type RegionOperation
val RGN_AND : RegionOperation
val RGN_COPY : RegionOperation
val RGN_DIFF : RegionOperation
val RGN_ERROR : RegionOperation
val RGN_OR : RegionOperation
val RGN_XOR : RegionOperation
type ResultRegion
val COMPLEXREGION : ResultRegion
val NULLREGION : ResultRegion
val ERROR : ResultRegion
val SIMPLEREGION : ResultRegion
type PolyFillMode
val ALTERNATE : PolyFillMode
val WINDING : PolyFillMode
val CombineRgn : HRGN * HRGN * HRGN * RegionOperation -> ResultRegion
val CreateEllipticRgn : RECT -> HRGN
val CreatePolygonRgn : POINT list * PolyFillMode -> HPEN
val CreateRectRgn : RECT -> HRGN
val CreateRoundRectRgn : RECT * int * int -> HRGN
val EqualRgn : HRGN * HRGN -> bool
val FillRgn : HDC * HRGN * HBRUSH -> unit
val FrameRgn : HDC * HRGN * HBRUSH * int * int -> unit
val GetPolyFillMode : HDC -> PolyFillMode
val GetRgnBox : HRGN -> RECT
val InvertRgn : HDC * HRGN -> unit
val OffsetRgn : HRGN * int * int -> ResultRegion
val PaintRgn : HDC * HRGN -> unit
val PtInRegion : HRGN * int * int -> bool
val RectInRegion : HRGN * RECT -> bool
val SetPolyFillMode : HDC * PolyFillMode -> PolyFillMode
val SetRectRgn : HRGN * RECT -> bool
end