# Clipping

The Clipping structure contains functions and structures to create and manipulate clipping regions.

    structure Clipping :
      sig
        type HDC and HRGN
        type RECT = { top: int, left: int, bottom: int, right: int }
        type RegionOperation = Region.RegionOperation
        type ResultRegion = Region.ResultRegion

        val ExcludeClipRect : HDC * RECT -> ResultRegion
        val ExtSelectClipRgn : HDC * HRGN * RegionOperation -> ResultRegion
        val GetClipBox : HDC -> ResultRegion * RECT
        val GetClipRgn : HDC * HRGN -> unit
        val GetMetaRgn : HDC * HRGN -> unit
        val IntersectClipRect : HDC * RECT -> ResultRegion
        val OffsetClipRgn : HDC * int * int -> ResultRegion
        val PtVisible : HDC * int * int * bool -> bool
        val RectVisible : HDC * RECT -> bool
        val SelectClipPath : HDC * RegionOperation -> unit
        val SelectClipRgn : HDC * HRGN -> unit
        val SetMetaRgn : HDC -> unit
      end