-- | Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria

#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif

module GI.Cairo.Enums
    ( 

 -- * Enumerations
-- ** Antialias #enum:Antialias#

    Antialias(..)                           ,


-- ** Content #enum:Content#

    Content(..)                             ,


-- ** DeviceType #enum:DeviceType#

    DeviceType(..)                          ,


-- ** Extend #enum:Extend#

    Extend(..)                              ,


-- ** FillRule #enum:FillRule#

    FillRule(..)                            ,


-- ** Filter #enum:Filter#

    Filter(..)                              ,


-- ** FontSlant #enum:FontSlant#

    FontSlant(..)                           ,


-- ** FontType #enum:FontType#

    FontType(..)                            ,


-- ** FontWeight #enum:FontWeight#

    FontWeight(..)                          ,


-- ** Format #enum:Format#

    Format(..)                              ,


-- ** HintMetrics #enum:HintMetrics#

    HintMetrics(..)                         ,


-- ** HintStyle #enum:HintStyle#

    HintStyle(..)                           ,


-- ** LineCap #enum:LineCap#

    LineCap(..)                             ,


-- ** LineJoin #enum:LineJoin#

    LineJoin(..)                            ,


-- ** Operator #enum:Operator#

    Operator(..)                            ,


-- ** PathDataType #enum:PathDataType#

    PathDataType(..)                        ,


-- ** PatternType #enum:PatternType#

    PatternType(..)                         ,


-- ** RegionOverlap #enum:RegionOverlap#

    RegionOverlap(..)                       ,


-- ** Status #enum:Status#

    Status(..)                              ,


-- ** SubpixelOrder #enum:SubpixelOrder#

    SubpixelOrder(..)                       ,


-- ** SurfaceType #enum:SurfaceType#

    SurfaceType(..)                         ,


-- ** TextClusterFlags #enum:TextClusterFlags#

    TextClusterFlags(..)                    ,




    ) where

import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P

import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL


-- Enum TextClusterFlags
-- | /No description available in the introspection data./
data TextClusterFlags = 
      TextClusterFlagsBackward
    -- ^ /No description available in the introspection data./
    | AnotherTextClusterFlags Int
    -- ^ Catch-all for unknown values
    deriving (Int -> TextClusterFlags -> ShowS
[TextClusterFlags] -> ShowS
TextClusterFlags -> String
(Int -> TextClusterFlags -> ShowS)
-> (TextClusterFlags -> String)
-> ([TextClusterFlags] -> ShowS)
-> Show TextClusterFlags
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TextClusterFlags] -> ShowS
$cshowList :: [TextClusterFlags] -> ShowS
show :: TextClusterFlags -> String
$cshow :: TextClusterFlags -> String
showsPrec :: Int -> TextClusterFlags -> ShowS
$cshowsPrec :: Int -> TextClusterFlags -> ShowS
Show, TextClusterFlags -> TextClusterFlags -> Bool
(TextClusterFlags -> TextClusterFlags -> Bool)
-> (TextClusterFlags -> TextClusterFlags -> Bool)
-> Eq TextClusterFlags
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TextClusterFlags -> TextClusterFlags -> Bool
$c/= :: TextClusterFlags -> TextClusterFlags -> Bool
== :: TextClusterFlags -> TextClusterFlags -> Bool
$c== :: TextClusterFlags -> TextClusterFlags -> Bool
Eq)

instance P.Enum TextClusterFlags where
    fromEnum :: TextClusterFlags -> Int
fromEnum TextClusterFlags
TextClusterFlagsBackward = Int
1
    fromEnum (AnotherTextClusterFlags Int
k) = Int
k

    toEnum :: Int -> TextClusterFlags
toEnum Int
1 = TextClusterFlags
TextClusterFlagsBackward
    toEnum Int
k = Int -> TextClusterFlags
AnotherTextClusterFlags Int
k

instance P.Ord TextClusterFlags where
    compare :: TextClusterFlags -> TextClusterFlags -> Ordering
compare TextClusterFlags
a TextClusterFlags
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (TextClusterFlags -> Int
forall a. Enum a => a -> Int
P.fromEnum TextClusterFlags
a) (TextClusterFlags -> Int
forall a. Enum a => a -> Int
P.fromEnum TextClusterFlags
b)

type instance O.ParentTypes TextClusterFlags = '[]
instance O.HasParentTypes TextClusterFlags

foreign import ccall "cairo_gobject_text_cluster_flags_get_type" c_cairo_gobject_text_cluster_flags_get_type :: 
    IO GType

instance B.Types.TypedObject TextClusterFlags where
    glibType :: IO GType
glibType = IO GType
c_cairo_gobject_text_cluster_flags_get_type

instance B.Types.BoxedEnum TextClusterFlags

-- Enum SurfaceType
-- | /No description available in the introspection data./
data SurfaceType = 
      SurfaceTypeImage
    -- ^ /No description available in the introspection data./
    | SurfaceTypePdf
    -- ^ /No description available in the introspection data./
    | SurfaceTypePs
    -- ^ /No description available in the introspection data./
    | SurfaceTypeXlib
    -- ^ /No description available in the introspection data./
    | SurfaceTypeXcb
    -- ^ /No description available in the introspection data./
    | SurfaceTypeGlitz
    -- ^ /No description available in the introspection data./
    | SurfaceTypeQuartz
    -- ^ /No description available in the introspection data./
    | SurfaceTypeWin32
    -- ^ /No description available in the introspection data./
    | SurfaceTypeBeos
    -- ^ /No description available in the introspection data./
    | SurfaceTypeDirectfb
    -- ^ /No description available in the introspection data./
    | SurfaceTypeSvg
    -- ^ /No description available in the introspection data./
    | SurfaceTypeOs2
    -- ^ /No description available in the introspection data./
    | SurfaceTypeWin32Printing
    -- ^ /No description available in the introspection data./
    | SurfaceTypeQuartzImage
    -- ^ /No description available in the introspection data./
    | SurfaceTypeScript
    -- ^ /No description available in the introspection data./
    | SurfaceTypeQt
    -- ^ /No description available in the introspection data./
    | SurfaceTypeRecording
    -- ^ /No description available in the introspection data./
    | SurfaceTypeVg
    -- ^ /No description available in the introspection data./
    | SurfaceTypeGl
    -- ^ /No description available in the introspection data./
    | SurfaceTypeDrm
    -- ^ /No description available in the introspection data./
    | SurfaceTypeTee
    -- ^ /No description available in the introspection data./
    | SurfaceTypeXml
    -- ^ /No description available in the introspection data./
    | SurfaceTypeSkia
    -- ^ /No description available in the introspection data./
    | SurfaceTypeSubsurface
    -- ^ /No description available in the introspection data./
    | SurfaceTypeCogl
    -- ^ /No description available in the introspection data./
    | AnotherSurfaceType Int
    -- ^ Catch-all for unknown values
    deriving (Int -> SurfaceType -> ShowS
[SurfaceType] -> ShowS
SurfaceType -> String
(Int -> SurfaceType -> ShowS)
-> (SurfaceType -> String)
-> ([SurfaceType] -> ShowS)
-> Show SurfaceType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SurfaceType] -> ShowS
$cshowList :: [SurfaceType] -> ShowS
show :: SurfaceType -> String
$cshow :: SurfaceType -> String
showsPrec :: Int -> SurfaceType -> ShowS
$cshowsPrec :: Int -> SurfaceType -> ShowS
Show, SurfaceType -> SurfaceType -> Bool
(SurfaceType -> SurfaceType -> Bool)
-> (SurfaceType -> SurfaceType -> Bool) -> Eq SurfaceType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SurfaceType -> SurfaceType -> Bool
$c/= :: SurfaceType -> SurfaceType -> Bool
== :: SurfaceType -> SurfaceType -> Bool
$c== :: SurfaceType -> SurfaceType -> Bool
Eq)

instance P.Enum SurfaceType where
    fromEnum :: SurfaceType -> Int
fromEnum SurfaceType
SurfaceTypeImage = Int
0
    fromEnum SurfaceType
SurfaceTypePdf = Int
1
    fromEnum SurfaceType
SurfaceTypePs = Int
2
    fromEnum SurfaceType
SurfaceTypeXlib = Int
3
    fromEnum SurfaceType
SurfaceTypeXcb = Int
4
    fromEnum SurfaceType
SurfaceTypeGlitz = Int
5
    fromEnum SurfaceType
SurfaceTypeQuartz = Int
6
    fromEnum SurfaceType
SurfaceTypeWin32 = Int
7
    fromEnum SurfaceType
SurfaceTypeBeos = Int
8
    fromEnum SurfaceType
SurfaceTypeDirectfb = Int
9
    fromEnum SurfaceType
SurfaceTypeSvg = Int
10
    fromEnum SurfaceType
SurfaceTypeOs2 = Int
11
    fromEnum SurfaceType
SurfaceTypeWin32Printing = Int
12
    fromEnum SurfaceType
SurfaceTypeQuartzImage = Int
13
    fromEnum SurfaceType
SurfaceTypeScript = Int
14
    fromEnum SurfaceType
SurfaceTypeQt = Int
15
    fromEnum SurfaceType
SurfaceTypeRecording = Int
16
    fromEnum SurfaceType
SurfaceTypeVg = Int
17
    fromEnum SurfaceType
SurfaceTypeGl = Int
18
    fromEnum SurfaceType
SurfaceTypeDrm = Int
19
    fromEnum SurfaceType
SurfaceTypeTee = Int
20
    fromEnum SurfaceType
SurfaceTypeXml = Int
21
    fromEnum SurfaceType
SurfaceTypeSkia = Int
22
    fromEnum SurfaceType
SurfaceTypeSubsurface = Int
23
    fromEnum SurfaceType
SurfaceTypeCogl = Int
24
    fromEnum (AnotherSurfaceType Int
k) = Int
k

    toEnum :: Int -> SurfaceType
toEnum Int
0 = SurfaceType
SurfaceTypeImage
    toEnum Int
1 = SurfaceType
SurfaceTypePdf
    toEnum Int
2 = SurfaceType
SurfaceTypePs
    toEnum Int
3 = SurfaceType
SurfaceTypeXlib
    toEnum Int
4 = SurfaceType
SurfaceTypeXcb
    toEnum Int
5 = SurfaceType
SurfaceTypeGlitz
    toEnum Int
6 = SurfaceType
SurfaceTypeQuartz
    toEnum Int
7 = SurfaceType
SurfaceTypeWin32
    toEnum Int
8 = SurfaceType
SurfaceTypeBeos
    toEnum Int
9 = SurfaceType
SurfaceTypeDirectfb
    toEnum Int
10 = SurfaceType
SurfaceTypeSvg
    toEnum Int
11 = SurfaceType
SurfaceTypeOs2
    toEnum Int
12 = SurfaceType
SurfaceTypeWin32Printing
    toEnum Int
13 = SurfaceType
SurfaceTypeQuartzImage
    toEnum Int
14 = SurfaceType
SurfaceTypeScript
    toEnum Int
15 = SurfaceType
SurfaceTypeQt
    toEnum Int
16 = SurfaceType
SurfaceTypeRecording
    toEnum Int
17 = SurfaceType
SurfaceTypeVg
    toEnum Int
18 = SurfaceType
SurfaceTypeGl
    toEnum Int
19 = SurfaceType
SurfaceTypeDrm
    toEnum Int
20 = SurfaceType
SurfaceTypeTee
    toEnum Int
21 = SurfaceType
SurfaceTypeXml
    toEnum Int
22 = SurfaceType
SurfaceTypeSkia
    toEnum Int
23 = SurfaceType
SurfaceTypeSubsurface
    toEnum Int
24 = SurfaceType
SurfaceTypeCogl
    toEnum Int
k = Int -> SurfaceType
AnotherSurfaceType Int
k

instance P.Ord SurfaceType where
    compare :: SurfaceType -> SurfaceType -> Ordering
compare SurfaceType
a SurfaceType
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (SurfaceType -> Int
forall a. Enum a => a -> Int
P.fromEnum SurfaceType
a) (SurfaceType -> Int
forall a. Enum a => a -> Int
P.fromEnum SurfaceType
b)

type instance O.ParentTypes SurfaceType = '[]
instance O.HasParentTypes SurfaceType

foreign import ccall "cairo_gobject_surface_type_get_type" c_cairo_gobject_surface_type_get_type :: 
    IO GType

instance B.Types.TypedObject SurfaceType where
    glibType :: IO GType
glibType = IO GType
c_cairo_gobject_surface_type_get_type

instance B.Types.BoxedEnum SurfaceType

-- Enum SubpixelOrder
-- | /No description available in the introspection data./
data SubpixelOrder = 
      SubpixelOrderDefault
    -- ^ /No description available in the introspection data./
    | SubpixelOrderRgb
    -- ^ /No description available in the introspection data./
    | SubpixelOrderBgr
    -- ^ /No description available in the introspection data./
    | SubpixelOrderVrgb
    -- ^ /No description available in the introspection data./
    | SubpixelOrderVbgr
    -- ^ /No description available in the introspection data./
    | AnotherSubpixelOrder Int
    -- ^ Catch-all for unknown values
    deriving (Int -> SubpixelOrder -> ShowS
[SubpixelOrder] -> ShowS
SubpixelOrder -> String
(Int -> SubpixelOrder -> ShowS)
-> (SubpixelOrder -> String)
-> ([SubpixelOrder] -> ShowS)
-> Show SubpixelOrder
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SubpixelOrder] -> ShowS
$cshowList :: [SubpixelOrder] -> ShowS
show :: SubpixelOrder -> String
$cshow :: SubpixelOrder -> String
showsPrec :: Int -> SubpixelOrder -> ShowS
$cshowsPrec :: Int -> SubpixelOrder -> ShowS
Show, SubpixelOrder -> SubpixelOrder -> Bool
(SubpixelOrder -> SubpixelOrder -> Bool)
-> (SubpixelOrder -> SubpixelOrder -> Bool) -> Eq SubpixelOrder
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SubpixelOrder -> SubpixelOrder -> Bool
$c/= :: SubpixelOrder -> SubpixelOrder -> Bool
== :: SubpixelOrder -> SubpixelOrder -> Bool
$c== :: SubpixelOrder -> SubpixelOrder -> Bool
Eq)

instance P.Enum SubpixelOrder where
    fromEnum :: SubpixelOrder -> Int
fromEnum SubpixelOrder
SubpixelOrderDefault = Int
0
    fromEnum SubpixelOrder
SubpixelOrderRgb = Int
1
    fromEnum SubpixelOrder
SubpixelOrderBgr = Int
2
    fromEnum SubpixelOrder
SubpixelOrderVrgb = Int
3
    fromEnum SubpixelOrder
SubpixelOrderVbgr = Int
4
    fromEnum (AnotherSubpixelOrder Int
k) = Int
k

    toEnum :: Int -> SubpixelOrder
toEnum Int
0 = SubpixelOrder
SubpixelOrderDefault
    toEnum Int
1 = SubpixelOrder
SubpixelOrderRgb
    toEnum Int
2 = SubpixelOrder
SubpixelOrderBgr
    toEnum Int
3 = SubpixelOrder
SubpixelOrderVrgb
    toEnum Int
4 = SubpixelOrder
SubpixelOrderVbgr
    toEnum Int
k = Int -> SubpixelOrder
AnotherSubpixelOrder Int
k

instance P.Ord SubpixelOrder where
    compare :: SubpixelOrder -> SubpixelOrder -> Ordering
compare SubpixelOrder
a SubpixelOrder
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (SubpixelOrder -> Int
forall a. Enum a => a -> Int
P.fromEnum SubpixelOrder
a) (SubpixelOrder -> Int
forall a. Enum a => a -> Int
P.fromEnum SubpixelOrder
b)

type instance O.ParentTypes SubpixelOrder = '[]
instance O.HasParentTypes SubpixelOrder

foreign import ccall "cairo_gobject_subpixel_order_get_type" c_cairo_gobject_subpixel_order_get_type :: 
    IO GType

instance B.Types.TypedObject SubpixelOrder where
    glibType :: IO GType
glibType = IO GType
c_cairo_gobject_subpixel_order_get_type

instance B.Types.BoxedEnum SubpixelOrder

-- Enum Status
-- | /No description available in the introspection data./
data Status = 
      StatusSuccess
    -- ^ /No description available in the introspection data./
    | StatusNoMemory
    -- ^ /No description available in the introspection data./
    | StatusInvalidRestore
    -- ^ /No description available in the introspection data./
    | StatusInvalidPopGroup
    -- ^ /No description available in the introspection data./
    | StatusNoCurrentPoint
    -- ^ /No description available in the introspection data./
    | StatusInvalidMatrix
    -- ^ /No description available in the introspection data./
    | StatusInvalidStatus
    -- ^ /No description available in the introspection data./
    | StatusNullPointer
    -- ^ /No description available in the introspection data./
    | StatusInvalidString
    -- ^ /No description available in the introspection data./
    | StatusInvalidPathData
    -- ^ /No description available in the introspection data./
    | StatusReadError
    -- ^ /No description available in the introspection data./
    | StatusWriteError
    -- ^ /No description available in the introspection data./
    | StatusSurfaceFinished
    -- ^ /No description available in the introspection data./
    | StatusSurfaceTypeMismatch
    -- ^ /No description available in the introspection data./
    | StatusPatternTypeMismatch
    -- ^ /No description available in the introspection data./
    | StatusInvalidContent
    -- ^ /No description available in the introspection data./
    | StatusInvalidFormat
    -- ^ /No description available in the introspection data./
    | StatusInvalidVisual
    -- ^ /No description available in the introspection data./
    | StatusFileNotFound
    -- ^ /No description available in the introspection data./
    | StatusInvalidDash
    -- ^ /No description available in the introspection data./
    | StatusInvalidDscComment
    -- ^ /No description available in the introspection data./
    | StatusInvalidIndex
    -- ^ /No description available in the introspection data./
    | StatusClipNotRepresentable
    -- ^ /No description available in the introspection data./
    | StatusTempFileError
    -- ^ /No description available in the introspection data./
    | StatusInvalidStride
    -- ^ /No description available in the introspection data./
    | StatusFontTypeMismatch
    -- ^ /No description available in the introspection data./
    | StatusUserFontImmutable
    -- ^ /No description available in the introspection data./
    | StatusUserFontError
    -- ^ /No description available in the introspection data./
    | StatusNegativeCount
    -- ^ /No description available in the introspection data./
    | StatusInvalidClusters
    -- ^ /No description available in the introspection data./
    | StatusInvalidSlant
    -- ^ /No description available in the introspection data./
    | StatusInvalidWeight
    -- ^ /No description available in the introspection data./
    | StatusInvalidSize
    -- ^ /No description available in the introspection data./
    | StatusUserFontNotImplemented
    -- ^ /No description available in the introspection data./
    | StatusDeviceTypeMismatch
    -- ^ /No description available in the introspection data./
    | StatusDeviceError
    -- ^ /No description available in the introspection data./
    | StatusInvalidMeshConstruction
    -- ^ /No description available in the introspection data./
    | StatusDeviceFinished
    -- ^ /No description available in the introspection data./
    | StatusJbig2GlobalMissing
    -- ^ /No description available in the introspection data./
    | AnotherStatus Int
    -- ^ Catch-all for unknown values
    deriving (Int -> Status -> ShowS
[Status] -> ShowS
Status -> String
(Int -> Status -> ShowS)
-> (Status -> String) -> ([Status] -> ShowS) -> Show Status
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Status] -> ShowS
$cshowList :: [Status] -> ShowS
show :: Status -> String
$cshow :: Status -> String
showsPrec :: Int -> Status -> ShowS
$cshowsPrec :: Int -> Status -> ShowS
Show, Status -> Status -> Bool
(Status -> Status -> Bool)
-> (Status -> Status -> Bool) -> Eq Status
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Status -> Status -> Bool
$c/= :: Status -> Status -> Bool
== :: Status -> Status -> Bool
$c== :: Status -> Status -> Bool
Eq)

instance P.Enum Status where
    fromEnum :: Status -> Int
fromEnum Status
StatusSuccess = Int
0
    fromEnum Status
StatusNoMemory = Int
1
    fromEnum Status
StatusInvalidRestore = Int
2
    fromEnum Status
StatusInvalidPopGroup = Int
3
    fromEnum Status
StatusNoCurrentPoint = Int
4
    fromEnum Status
StatusInvalidMatrix = Int
5
    fromEnum Status
StatusInvalidStatus = Int
6
    fromEnum Status
StatusNullPointer = Int
7
    fromEnum Status
StatusInvalidString = Int
8
    fromEnum Status
StatusInvalidPathData = Int
9
    fromEnum Status
StatusReadError = Int
10
    fromEnum Status
StatusWriteError = Int
11
    fromEnum Status
StatusSurfaceFinished = Int
12
    fromEnum Status
StatusSurfaceTypeMismatch = Int
13
    fromEnum Status
StatusPatternTypeMismatch = Int
14
    fromEnum Status
StatusInvalidContent = Int
15
    fromEnum Status
StatusInvalidFormat = Int
16
    fromEnum Status
StatusInvalidVisual = Int
17
    fromEnum Status
StatusFileNotFound = Int
18
    fromEnum Status
StatusInvalidDash = Int
19
    fromEnum Status
StatusInvalidDscComment = Int
20
    fromEnum Status
StatusInvalidIndex = Int
21
    fromEnum Status
StatusClipNotRepresentable = Int
22
    fromEnum Status
StatusTempFileError = Int
23
    fromEnum Status
StatusInvalidStride = Int
24
    fromEnum Status
StatusFontTypeMismatch = Int
25
    fromEnum Status
StatusUserFontImmutable = Int
26
    fromEnum Status
StatusUserFontError = Int
27
    fromEnum Status
StatusNegativeCount = Int
28
    fromEnum Status
StatusInvalidClusters = Int
29
    fromEnum Status
StatusInvalidSlant = Int
30
    fromEnum Status
StatusInvalidWeight = Int
31
    fromEnum Status
StatusInvalidSize = Int
32
    fromEnum Status
StatusUserFontNotImplemented = Int
33
    fromEnum Status
StatusDeviceTypeMismatch = Int
34
    fromEnum Status
StatusDeviceError = Int
35
    fromEnum Status
StatusInvalidMeshConstruction = Int
36
    fromEnum Status
StatusDeviceFinished = Int
37
    fromEnum Status
StatusJbig2GlobalMissing = Int
38
    fromEnum (AnotherStatus Int
k) = Int
k

    toEnum :: Int -> Status
toEnum Int
0 = Status
StatusSuccess
    toEnum Int
1 = Status
StatusNoMemory
    toEnum Int
2 = Status
StatusInvalidRestore
    toEnum Int
3 = Status
StatusInvalidPopGroup
    toEnum Int
4 = Status
StatusNoCurrentPoint
    toEnum Int
5 = Status
StatusInvalidMatrix
    toEnum Int
6 = Status
StatusInvalidStatus
    toEnum Int
7 = Status
StatusNullPointer
    toEnum Int
8 = Status
StatusInvalidString
    toEnum Int
9 = Status
StatusInvalidPathData
    toEnum Int
10 = Status
StatusReadError
    toEnum Int
11 = Status
StatusWriteError
    toEnum Int
12 = Status
StatusSurfaceFinished
    toEnum Int
13 = Status
StatusSurfaceTypeMismatch
    toEnum Int
14 = Status
StatusPatternTypeMismatch
    toEnum Int
15 = Status
StatusInvalidContent
    toEnum Int
16 = Status
StatusInvalidFormat
    toEnum Int
17 = Status
StatusInvalidVisual
    toEnum Int
18 = Status
StatusFileNotFound
    toEnum Int
19 = Status
StatusInvalidDash
    toEnum Int
20 = Status
StatusInvalidDscComment
    toEnum Int
21 = Status
StatusInvalidIndex
    toEnum Int
22 = Status
StatusClipNotRepresentable
    toEnum Int
23 = Status
StatusTempFileError
    toEnum Int
24 = Status
StatusInvalidStride
    toEnum Int
25 = Status
StatusFontTypeMismatch
    toEnum Int
26 = Status
StatusUserFontImmutable
    toEnum Int
27 = Status
StatusUserFontError
    toEnum Int
28 = Status
StatusNegativeCount
    toEnum Int
29 = Status
StatusInvalidClusters
    toEnum Int
30 = Status
StatusInvalidSlant
    toEnum Int
31 = Status
StatusInvalidWeight
    toEnum Int
32 = Status
StatusInvalidSize
    toEnum Int
33 = Status
StatusUserFontNotImplemented
    toEnum Int
34 = Status
StatusDeviceTypeMismatch
    toEnum Int
35 = Status
StatusDeviceError
    toEnum Int
36 = Status
StatusInvalidMeshConstruction
    toEnum Int
37 = Status
StatusDeviceFinished
    toEnum Int
38 = Status
StatusJbig2GlobalMissing
    toEnum Int
k = Int -> Status
AnotherStatus Int
k

instance P.Ord Status where
    compare :: Status -> Status -> Ordering
compare Status
a Status
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (Status -> Int
forall a. Enum a => a -> Int
P.fromEnum Status
a) (Status -> Int
forall a. Enum a => a -> Int
P.fromEnum Status
b)

type instance O.ParentTypes Status = '[]
instance O.HasParentTypes Status

foreign import ccall "cairo_gobject_status_get_type" c_cairo_gobject_status_get_type :: 
    IO GType

instance B.Types.TypedObject Status where
    glibType :: IO GType
glibType = IO GType
c_cairo_gobject_status_get_type

instance B.Types.BoxedEnum Status

-- Enum RegionOverlap
-- | /No description available in the introspection data./
data RegionOverlap = 
      RegionOverlapIn
    -- ^ /No description available in the introspection data./
    | RegionOverlapOut
    -- ^ /No description available in the introspection data./
    | RegionOverlapPart
    -- ^ /No description available in the introspection data./
    | AnotherRegionOverlap Int
    -- ^ Catch-all for unknown values
    deriving (Int -> RegionOverlap -> ShowS
[RegionOverlap] -> ShowS
RegionOverlap -> String
(Int -> RegionOverlap -> ShowS)
-> (RegionOverlap -> String)
-> ([RegionOverlap] -> ShowS)
-> Show RegionOverlap
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RegionOverlap] -> ShowS
$cshowList :: [RegionOverlap] -> ShowS
show :: RegionOverlap -> String
$cshow :: RegionOverlap -> String
showsPrec :: Int -> RegionOverlap -> ShowS
$cshowsPrec :: Int -> RegionOverlap -> ShowS
Show, RegionOverlap -> RegionOverlap -> Bool
(RegionOverlap -> RegionOverlap -> Bool)
-> (RegionOverlap -> RegionOverlap -> Bool) -> Eq RegionOverlap
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RegionOverlap -> RegionOverlap -> Bool
$c/= :: RegionOverlap -> RegionOverlap -> Bool
== :: RegionOverlap -> RegionOverlap -> Bool
$c== :: RegionOverlap -> RegionOverlap -> Bool
Eq)

instance P.Enum RegionOverlap where
    fromEnum :: RegionOverlap -> Int
fromEnum RegionOverlap
RegionOverlapIn = Int
0
    fromEnum RegionOverlap
RegionOverlapOut = Int
1
    fromEnum RegionOverlap
RegionOverlapPart = Int
2
    fromEnum (AnotherRegionOverlap Int
k) = Int
k

    toEnum :: Int -> RegionOverlap
toEnum Int
0 = RegionOverlap
RegionOverlapIn
    toEnum Int
1 = RegionOverlap
RegionOverlapOut
    toEnum Int
2 = RegionOverlap
RegionOverlapPart
    toEnum Int
k = Int -> RegionOverlap
AnotherRegionOverlap Int
k

instance P.Ord RegionOverlap where
    compare :: RegionOverlap -> RegionOverlap -> Ordering
compare RegionOverlap
a RegionOverlap
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (RegionOverlap -> Int
forall a. Enum a => a -> Int
P.fromEnum RegionOverlap
a) (RegionOverlap -> Int
forall a. Enum a => a -> Int
P.fromEnum RegionOverlap
b)

type instance O.ParentTypes RegionOverlap = '[]
instance O.HasParentTypes RegionOverlap

foreign import ccall "cairo_gobject_region_overlap_get_type" c_cairo_gobject_region_overlap_get_type :: 
    IO GType

instance B.Types.TypedObject RegionOverlap where
    glibType :: IO GType
glibType = IO GType
c_cairo_gobject_region_overlap_get_type

instance B.Types.BoxedEnum RegionOverlap

-- Enum PatternType
-- | /No description available in the introspection data./
data PatternType = 
      PatternTypeSolid
    -- ^ /No description available in the introspection data./
    | PatternTypeSurface
    -- ^ /No description available in the introspection data./
    | PatternTypeLinear
    -- ^ /No description available in the introspection data./
    | PatternTypeRadial
    -- ^ /No description available in the introspection data./
    | PatternTypeMesh
    -- ^ /No description available in the introspection data./
    | PatternTypeRasterSource
    -- ^ /No description available in the introspection data./
    | AnotherPatternType Int
    -- ^ Catch-all for unknown values
    deriving (Int -> PatternType -> ShowS
[PatternType] -> ShowS
PatternType -> String
(Int -> PatternType -> ShowS)
-> (PatternType -> String)
-> ([PatternType] -> ShowS)
-> Show PatternType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PatternType] -> ShowS
$cshowList :: [PatternType] -> ShowS
show :: PatternType -> String
$cshow :: PatternType -> String
showsPrec :: Int -> PatternType -> ShowS
$cshowsPrec :: Int -> PatternType -> ShowS
Show, PatternType -> PatternType -> Bool
(PatternType -> PatternType -> Bool)
-> (PatternType -> PatternType -> Bool) -> Eq PatternType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PatternType -> PatternType -> Bool
$c/= :: PatternType -> PatternType -> Bool
== :: PatternType -> PatternType -> Bool
$c== :: PatternType -> PatternType -> Bool
Eq)

instance P.Enum PatternType where
    fromEnum :: PatternType -> Int
fromEnum PatternType
PatternTypeSolid = Int
0
    fromEnum PatternType
PatternTypeSurface = Int
1
    fromEnum PatternType
PatternTypeLinear = Int
2
    fromEnum PatternType
PatternTypeRadial = Int
3
    fromEnum PatternType
PatternTypeMesh = Int
4
    fromEnum PatternType
PatternTypeRasterSource = Int
5
    fromEnum (AnotherPatternType Int
k) = Int
k

    toEnum :: Int -> PatternType
toEnum Int
0 = PatternType
PatternTypeSolid
    toEnum Int
1 = PatternType
PatternTypeSurface
    toEnum Int
2 = PatternType
PatternTypeLinear
    toEnum Int
3 = PatternType
PatternTypeRadial
    toEnum Int
4 = PatternType
PatternTypeMesh
    toEnum Int
5 = PatternType
PatternTypeRasterSource
    toEnum Int
k = Int -> PatternType
AnotherPatternType Int
k

instance P.Ord PatternType where
    compare :: PatternType -> PatternType -> Ordering
compare PatternType
a PatternType
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (PatternType -> Int
forall a. Enum a => a -> Int
P.fromEnum PatternType
a) (PatternType -> Int
forall a. Enum a => a -> Int
P.fromEnum PatternType
b)

type instance O.ParentTypes PatternType = '[]
instance O.HasParentTypes PatternType

foreign import ccall "cairo_gobject_pattern_type_get_type" c_cairo_gobject_pattern_type_get_type :: 
    IO GType

instance B.Types.TypedObject PatternType where
    glibType :: IO GType
glibType = IO GType
c_cairo_gobject_pattern_type_get_type

instance B.Types.BoxedEnum PatternType

-- Enum PathDataType
-- | /No description available in the introspection data./
data PathDataType = 
      PathDataTypeMoveTo
    -- ^ /No description available in the introspection data./
    | PathDataTypeLineTo
    -- ^ /No description available in the introspection data./
    | PathDataTypeCurveTo
    -- ^ /No description available in the introspection data./
    | PathDataTypeClosePath
    -- ^ /No description available in the introspection data./
    | AnotherPathDataType Int
    -- ^ Catch-all for unknown values
    deriving (Int -> PathDataType -> ShowS
[PathDataType] -> ShowS
PathDataType -> String
(Int -> PathDataType -> ShowS)
-> (PathDataType -> String)
-> ([PathDataType] -> ShowS)
-> Show PathDataType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PathDataType] -> ShowS
$cshowList :: [PathDataType] -> ShowS
show :: PathDataType -> String
$cshow :: PathDataType -> String
showsPrec :: Int -> PathDataType -> ShowS
$cshowsPrec :: Int -> PathDataType -> ShowS
Show, PathDataType -> PathDataType -> Bool
(PathDataType -> PathDataType -> Bool)
-> (PathDataType -> PathDataType -> Bool) -> Eq PathDataType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PathDataType -> PathDataType -> Bool
$c/= :: PathDataType -> PathDataType -> Bool
== :: PathDataType -> PathDataType -> Bool
$c== :: PathDataType -> PathDataType -> Bool
Eq)

instance P.Enum PathDataType where
    fromEnum :: PathDataType -> Int
fromEnum PathDataType
PathDataTypeMoveTo = Int
0
    fromEnum PathDataType
PathDataTypeLineTo = Int
1
    fromEnum PathDataType
PathDataTypeCurveTo = Int
2
    fromEnum PathDataType
PathDataTypeClosePath = Int
3
    fromEnum (AnotherPathDataType Int
k) = Int
k

    toEnum :: Int -> PathDataType
toEnum Int
0 = PathDataType
PathDataTypeMoveTo
    toEnum Int
1 = PathDataType
PathDataTypeLineTo
    toEnum Int
2 = PathDataType
PathDataTypeCurveTo
    toEnum Int
3 = PathDataType
PathDataTypeClosePath
    toEnum Int
k = Int -> PathDataType
AnotherPathDataType Int
k

instance P.Ord PathDataType where
    compare :: PathDataType -> PathDataType -> Ordering
compare PathDataType
a PathDataType
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (PathDataType -> Int
forall a. Enum a => a -> Int
P.fromEnum PathDataType
a) (PathDataType -> Int
forall a. Enum a => a -> Int
P.fromEnum PathDataType
b)

type instance O.ParentTypes PathDataType = '[]
instance O.HasParentTypes PathDataType

foreign import ccall "cairo_gobject_path_data_type_get_type" c_cairo_gobject_path_data_type_get_type :: 
    IO GType

instance B.Types.TypedObject PathDataType where
    glibType :: IO GType
glibType = IO GType
c_cairo_gobject_path_data_type_get_type

instance B.Types.BoxedEnum PathDataType

-- Enum Operator
-- | /No description available in the introspection data./
data Operator = 
      OperatorClear
    -- ^ /No description available in the introspection data./
    | OperatorSource
    -- ^ /No description available in the introspection data./
    | OperatorOver
    -- ^ /No description available in the introspection data./
    | OperatorIn
    -- ^ /No description available in the introspection data./
    | OperatorOut
    -- ^ /No description available in the introspection data./
    | OperatorAtop
    -- ^ /No description available in the introspection data./
    | OperatorDest
    -- ^ /No description available in the introspection data./
    | OperatorDestOver
    -- ^ /No description available in the introspection data./
    | OperatorDestIn
    -- ^ /No description available in the introspection data./
    | OperatorDestOut
    -- ^ /No description available in the introspection data./
    | OperatorDestAtop
    -- ^ /No description available in the introspection data./
    | OperatorXor
    -- ^ /No description available in the introspection data./
    | OperatorAdd
    -- ^ /No description available in the introspection data./
    | OperatorSaturate
    -- ^ /No description available in the introspection data./
    | OperatorMultiply
    -- ^ /No description available in the introspection data./
    | OperatorScreen
    -- ^ /No description available in the introspection data./
    | OperatorOverlay
    -- ^ /No description available in the introspection data./
    | OperatorDarken
    -- ^ /No description available in the introspection data./
    | OperatorLighten
    -- ^ /No description available in the introspection data./
    | OperatorColorDodge
    -- ^ /No description available in the introspection data./
    | OperatorColorBurn
    -- ^ /No description available in the introspection data./
    | OperatorHardLight
    -- ^ /No description available in the introspection data./
    | OperatorSoftLight
    -- ^ /No description available in the introspection data./
    | OperatorDifference
    -- ^ /No description available in the introspection data./
    | OperatorExclusion
    -- ^ /No description available in the introspection data./
    | OperatorHslHue
    -- ^ /No description available in the introspection data./
    | OperatorHslSaturation
    -- ^ /No description available in the introspection data./
    | OperatorHslColor
    -- ^ /No description available in the introspection data./
    | OperatorHslLuminosity
    -- ^ /No description available in the introspection data./
    | AnotherOperator Int
    -- ^ Catch-all for unknown values
    deriving (Int -> Operator -> ShowS
[Operator] -> ShowS
Operator -> String
(Int -> Operator -> ShowS)
-> (Operator -> String) -> ([Operator] -> ShowS) -> Show Operator
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Operator] -> ShowS
$cshowList :: [Operator] -> ShowS
show :: Operator -> String
$cshow :: Operator -> String
showsPrec :: Int -> Operator -> ShowS
$cshowsPrec :: Int -> Operator -> ShowS
Show, Operator -> Operator -> Bool
(Operator -> Operator -> Bool)
-> (Operator -> Operator -> Bool) -> Eq Operator
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Operator -> Operator -> Bool
$c/= :: Operator -> Operator -> Bool
== :: Operator -> Operator -> Bool
$c== :: Operator -> Operator -> Bool
Eq)

instance P.Enum Operator where
    fromEnum :: Operator -> Int
fromEnum Operator
OperatorClear = Int
0
    fromEnum Operator
OperatorSource = Int
1
    fromEnum Operator
OperatorOver = Int
2
    fromEnum Operator
OperatorIn = Int
3
    fromEnum Operator
OperatorOut = Int
4
    fromEnum Operator
OperatorAtop = Int
5
    fromEnum Operator
OperatorDest = Int
6
    fromEnum Operator
OperatorDestOver = Int
7
    fromEnum Operator
OperatorDestIn = Int
8
    fromEnum Operator
OperatorDestOut = Int
9
    fromEnum Operator
OperatorDestAtop = Int
10
    fromEnum Operator
OperatorXor = Int
11
    fromEnum Operator
OperatorAdd = Int
12
    fromEnum Operator
OperatorSaturate = Int
13
    fromEnum Operator
OperatorMultiply = Int
14
    fromEnum Operator
OperatorScreen = Int
15
    fromEnum Operator
OperatorOverlay = Int
16
    fromEnum Operator
OperatorDarken = Int
17
    fromEnum Operator
OperatorLighten = Int
18
    fromEnum Operator
OperatorColorDodge = Int
19
    fromEnum Operator
OperatorColorBurn = Int
20
    fromEnum Operator
OperatorHardLight = Int
21
    fromEnum Operator
OperatorSoftLight = Int
22
    fromEnum Operator
OperatorDifference = Int
23
    fromEnum Operator
OperatorExclusion = Int
24
    fromEnum Operator
OperatorHslHue = Int
25
    fromEnum Operator
OperatorHslSaturation = Int
26
    fromEnum Operator
OperatorHslColor = Int
27
    fromEnum Operator
OperatorHslLuminosity = Int
28
    fromEnum (AnotherOperator Int
k) = Int
k

    toEnum :: Int -> Operator
toEnum Int
0 = Operator
OperatorClear
    toEnum Int
1 = Operator
OperatorSource
    toEnum Int
2 = Operator
OperatorOver
    toEnum Int
3 = Operator
OperatorIn
    toEnum Int
4 = Operator
OperatorOut
    toEnum Int
5 = Operator
OperatorAtop
    toEnum Int
6 = Operator
OperatorDest
    toEnum Int
7 = Operator
OperatorDestOver
    toEnum Int
8 = Operator
OperatorDestIn
    toEnum Int
9 = Operator
OperatorDestOut
    toEnum Int
10 = Operator
OperatorDestAtop
    toEnum Int
11 = Operator
OperatorXor
    toEnum Int
12 = Operator
OperatorAdd
    toEnum Int
13 = Operator
OperatorSaturate
    toEnum Int
14 = Operator
OperatorMultiply
    toEnum Int
15 = Operator
OperatorScreen
    toEnum Int
16 = Operator
OperatorOverlay
    toEnum Int
17 = Operator
OperatorDarken
    toEnum Int
18 = Operator
OperatorLighten
    toEnum Int
19 = Operator
OperatorColorDodge
    toEnum Int
20 = Operator
OperatorColorBurn
    toEnum Int
21 = Operator
OperatorHardLight
    toEnum Int
22 = Operator
OperatorSoftLight
    toEnum Int
23 = Operator
OperatorDifference
    toEnum Int
24 = Operator
OperatorExclusion
    toEnum Int
25 = Operator
OperatorHslHue
    toEnum Int
26 = Operator
OperatorHslSaturation
    toEnum Int
27 = Operator
OperatorHslColor
    toEnum Int
28 = Operator
OperatorHslLuminosity
    toEnum Int
k = Int -> Operator
AnotherOperator Int
k

instance P.Ord Operator where
    compare :: Operator -> Operator -> Ordering
compare Operator
a Operator
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (Operator -> Int
forall a. Enum a => a -> Int
P.fromEnum Operator
a) (Operator -> Int
forall a. Enum a => a -> Int
P.fromEnum Operator
b)

type instance O.ParentTypes Operator = '[]
instance O.HasParentTypes Operator

foreign import ccall "cairo_gobject_operator_get_type" c_cairo_gobject_operator_get_type :: 
    IO GType

instance B.Types.TypedObject Operator where
    glibType :: IO GType
glibType = IO GType
c_cairo_gobject_operator_get_type

instance B.Types.BoxedEnum Operator

-- Enum LineJoin
-- | /No description available in the introspection data./
data LineJoin = 
      LineJoinMiter
    -- ^ /No description available in the introspection data./
    | LineJoinRound
    -- ^ /No description available in the introspection data./
    | LineJoinBevel
    -- ^ /No description available in the introspection data./
    | AnotherLineJoin Int
    -- ^ Catch-all for unknown values
    deriving (Int -> LineJoin -> ShowS
[LineJoin] -> ShowS
LineJoin -> String
(Int -> LineJoin -> ShowS)
-> (LineJoin -> String) -> ([LineJoin] -> ShowS) -> Show LineJoin
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [LineJoin] -> ShowS
$cshowList :: [LineJoin] -> ShowS
show :: LineJoin -> String
$cshow :: LineJoin -> String
showsPrec :: Int -> LineJoin -> ShowS
$cshowsPrec :: Int -> LineJoin -> ShowS
Show, LineJoin -> LineJoin -> Bool
(LineJoin -> LineJoin -> Bool)
-> (LineJoin -> LineJoin -> Bool) -> Eq LineJoin
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: LineJoin -> LineJoin -> Bool
$c/= :: LineJoin -> LineJoin -> Bool
== :: LineJoin -> LineJoin -> Bool
$c== :: LineJoin -> LineJoin -> Bool
Eq)

instance P.Enum LineJoin where
    fromEnum :: LineJoin -> Int
fromEnum LineJoin
LineJoinMiter = Int
0
    fromEnum LineJoin
LineJoinRound = Int
1
    fromEnum LineJoin
LineJoinBevel = Int
2
    fromEnum (AnotherLineJoin Int
k) = Int
k

    toEnum :: Int -> LineJoin
toEnum Int
0 = LineJoin
LineJoinMiter
    toEnum Int
1 = LineJoin
LineJoinRound
    toEnum Int
2 = LineJoin
LineJoinBevel
    toEnum Int
k = Int -> LineJoin
AnotherLineJoin Int
k

instance P.Ord LineJoin where
    compare :: LineJoin -> LineJoin -> Ordering
compare LineJoin
a LineJoin
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (LineJoin -> Int
forall a. Enum a => a -> Int
P.fromEnum LineJoin
a) (LineJoin -> Int
forall a. Enum a => a -> Int
P.fromEnum LineJoin
b)

type instance O.ParentTypes LineJoin = '[]
instance O.HasParentTypes LineJoin

foreign import ccall "cairo_gobject_line_join_get_type" c_cairo_gobject_line_join_get_type :: 
    IO GType

instance B.Types.TypedObject LineJoin where
    glibType :: IO GType
glibType = IO GType
c_cairo_gobject_line_join_get_type

instance B.Types.BoxedEnum LineJoin

-- Enum LineCap
-- | /No description available in the introspection data./
data LineCap = 
      LineCapButt
    -- ^ /No description available in the introspection data./
    | LineCapRound
    -- ^ /No description available in the introspection data./
    | LineCapSquare
    -- ^ /No description available in the introspection data./
    | AnotherLineCap Int
    -- ^ Catch-all for unknown values
    deriving (Int -> LineCap -> ShowS
[LineCap] -> ShowS
LineCap -> String
(Int -> LineCap -> ShowS)
-> (LineCap -> String) -> ([LineCap] -> ShowS) -> Show LineCap
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [LineCap] -> ShowS
$cshowList :: [LineCap] -> ShowS
show :: LineCap -> String
$cshow :: LineCap -> String
showsPrec :: Int -> LineCap -> ShowS
$cshowsPrec :: Int -> LineCap -> ShowS
Show, LineCap -> LineCap -> Bool
(LineCap -> LineCap -> Bool)
-> (LineCap -> LineCap -> Bool) -> Eq LineCap
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: LineCap -> LineCap -> Bool
$c/= :: LineCap -> LineCap -> Bool
== :: LineCap -> LineCap -> Bool
$c== :: LineCap -> LineCap -> Bool
Eq)

instance P.Enum LineCap where
    fromEnum :: LineCap -> Int
fromEnum LineCap
LineCapButt = Int
0
    fromEnum LineCap
LineCapRound = Int
1
    fromEnum LineCap
LineCapSquare = Int
2
    fromEnum (AnotherLineCap Int
k) = Int
k

    toEnum :: Int -> LineCap
toEnum Int
0 = LineCap
LineCapButt
    toEnum Int
1 = LineCap
LineCapRound
    toEnum Int
2 = LineCap
LineCapSquare
    toEnum Int
k = Int -> LineCap
AnotherLineCap Int
k

instance P.Ord LineCap where
    compare :: LineCap -> LineCap -> Ordering
compare LineCap
a LineCap
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (LineCap -> Int
forall a. Enum a => a -> Int
P.fromEnum LineCap
a) (LineCap -> Int
forall a. Enum a => a -> Int
P.fromEnum LineCap
b)

type instance O.ParentTypes LineCap = '[]
instance O.HasParentTypes LineCap

foreign import ccall "cairo_gobject_line_cap_get_type" c_cairo_gobject_line_cap_get_type :: 
    IO GType

instance B.Types.TypedObject LineCap where
    glibType :: IO GType
glibType = IO GType
c_cairo_gobject_line_cap_get_type

instance B.Types.BoxedEnum LineCap

-- Enum HintStyle
-- | /No description available in the introspection data./
data HintStyle = 
      HintStyleDefault
    -- ^ /No description available in the introspection data./
    | HintStyleNone
    -- ^ /No description available in the introspection data./
    | HintStyleSlight
    -- ^ /No description available in the introspection data./
    | HintStyleMedium
    -- ^ /No description available in the introspection data./
    | HintStyleFull
    -- ^ /No description available in the introspection data./
    | AnotherHintStyle Int
    -- ^ Catch-all for unknown values
    deriving (Int -> HintStyle -> ShowS
[HintStyle] -> ShowS
HintStyle -> String
(Int -> HintStyle -> ShowS)
-> (HintStyle -> String)
-> ([HintStyle] -> ShowS)
-> Show HintStyle
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [HintStyle] -> ShowS
$cshowList :: [HintStyle] -> ShowS
show :: HintStyle -> String
$cshow :: HintStyle -> String
showsPrec :: Int -> HintStyle -> ShowS
$cshowsPrec :: Int -> HintStyle -> ShowS
Show, HintStyle -> HintStyle -> Bool
(HintStyle -> HintStyle -> Bool)
-> (HintStyle -> HintStyle -> Bool) -> Eq HintStyle
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: HintStyle -> HintStyle -> Bool
$c/= :: HintStyle -> HintStyle -> Bool
== :: HintStyle -> HintStyle -> Bool
$c== :: HintStyle -> HintStyle -> Bool
Eq)

instance P.Enum HintStyle where
    fromEnum :: HintStyle -> Int
fromEnum HintStyle
HintStyleDefault = Int
0
    fromEnum HintStyle
HintStyleNone = Int
1
    fromEnum HintStyle
HintStyleSlight = Int
2
    fromEnum HintStyle
HintStyleMedium = Int
3
    fromEnum HintStyle
HintStyleFull = Int
4
    fromEnum (AnotherHintStyle Int
k) = Int
k

    toEnum :: Int -> HintStyle
toEnum Int
0 = HintStyle
HintStyleDefault
    toEnum Int
1 = HintStyle
HintStyleNone
    toEnum Int
2 = HintStyle
HintStyleSlight
    toEnum Int
3 = HintStyle
HintStyleMedium
    toEnum Int
4 = HintStyle
HintStyleFull
    toEnum Int
k = Int -> HintStyle
AnotherHintStyle Int
k

instance P.Ord HintStyle where
    compare :: HintStyle -> HintStyle -> Ordering
compare HintStyle
a HintStyle
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (HintStyle -> Int
forall a. Enum a => a -> Int
P.fromEnum HintStyle
a) (HintStyle -> Int
forall a. Enum a => a -> Int
P.fromEnum HintStyle
b)

type instance O.ParentTypes HintStyle = '[]
instance O.HasParentTypes HintStyle

foreign import ccall "cairo_gobject_hint_style_get_type" c_cairo_gobject_hint_style_get_type :: 
    IO GType

instance B.Types.TypedObject HintStyle where
    glibType :: IO GType
glibType = IO GType
c_cairo_gobject_hint_style_get_type

instance B.Types.BoxedEnum HintStyle

-- Enum HintMetrics
-- | /No description available in the introspection data./
data HintMetrics = 
      HintMetricsDefault
    -- ^ /No description available in the introspection data./
    | HintMetricsOff
    -- ^ /No description available in the introspection data./
    | HintMetricsOn
    -- ^ /No description available in the introspection data./
    | AnotherHintMetrics Int
    -- ^ Catch-all for unknown values
    deriving (Int -> HintMetrics -> ShowS
[HintMetrics] -> ShowS
HintMetrics -> String
(Int -> HintMetrics -> ShowS)
-> (HintMetrics -> String)
-> ([HintMetrics] -> ShowS)
-> Show HintMetrics
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [HintMetrics] -> ShowS
$cshowList :: [HintMetrics] -> ShowS
show :: HintMetrics -> String
$cshow :: HintMetrics -> String
showsPrec :: Int -> HintMetrics -> ShowS
$cshowsPrec :: Int -> HintMetrics -> ShowS
Show, HintMetrics -> HintMetrics -> Bool
(HintMetrics -> HintMetrics -> Bool)
-> (HintMetrics -> HintMetrics -> Bool) -> Eq HintMetrics
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: HintMetrics -> HintMetrics -> Bool
$c/= :: HintMetrics -> HintMetrics -> Bool
== :: HintMetrics -> HintMetrics -> Bool
$c== :: HintMetrics -> HintMetrics -> Bool
Eq)

instance P.Enum HintMetrics where
    fromEnum :: HintMetrics -> Int
fromEnum HintMetrics
HintMetricsDefault = Int
0
    fromEnum HintMetrics
HintMetricsOff = Int
1
    fromEnum HintMetrics
HintMetricsOn = Int
2
    fromEnum (AnotherHintMetrics Int
k) = Int
k

    toEnum :: Int -> HintMetrics
toEnum Int
0 = HintMetrics
HintMetricsDefault
    toEnum Int
1 = HintMetrics
HintMetricsOff
    toEnum Int
2 = HintMetrics
HintMetricsOn
    toEnum Int
k = Int -> HintMetrics
AnotherHintMetrics Int
k

instance P.Ord HintMetrics where
    compare :: HintMetrics -> HintMetrics -> Ordering
compare HintMetrics
a HintMetrics
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (HintMetrics -> Int
forall a. Enum a => a -> Int
P.fromEnum HintMetrics
a) (HintMetrics -> Int
forall a. Enum a => a -> Int
P.fromEnum HintMetrics
b)

type instance O.ParentTypes HintMetrics = '[]
instance O.HasParentTypes HintMetrics

foreign import ccall "cairo_gobject_hint_metrics_get_type" c_cairo_gobject_hint_metrics_get_type :: 
    IO GType

instance B.Types.TypedObject HintMetrics where
    glibType :: IO GType
glibType = IO GType
c_cairo_gobject_hint_metrics_get_type

instance B.Types.BoxedEnum HintMetrics

-- Enum Format
-- | /No description available in the introspection data./
data Format = 
      FormatInvalid
    -- ^ /No description available in the introspection data./
    | FormatArgb32
    -- ^ /No description available in the introspection data./
    | FormatRgb24
    -- ^ /No description available in the introspection data./
    | FormatA8
    -- ^ /No description available in the introspection data./
    | FormatA1
    -- ^ /No description available in the introspection data./
    | FormatRgb16565
    -- ^ /No description available in the introspection data./
    | FormatRgb30
    -- ^ /No description available in the introspection data./
    | AnotherFormat Int
    -- ^ Catch-all for unknown values
    deriving (Int -> Format -> ShowS
[Format] -> ShowS
Format -> String
(Int -> Format -> ShowS)
-> (Format -> String) -> ([Format] -> ShowS) -> Show Format
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Format] -> ShowS
$cshowList :: [Format] -> ShowS
show :: Format -> String
$cshow :: Format -> String
showsPrec :: Int -> Format -> ShowS
$cshowsPrec :: Int -> Format -> ShowS
Show, Format -> Format -> Bool
(Format -> Format -> Bool)
-> (Format -> Format -> Bool) -> Eq Format
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Format -> Format -> Bool
$c/= :: Format -> Format -> Bool
== :: Format -> Format -> Bool
$c== :: Format -> Format -> Bool
Eq)

instance P.Enum Format where
    fromEnum :: Format -> Int
fromEnum Format
FormatInvalid = Int
-1
    fromEnum Format
FormatArgb32 = Int
0
    fromEnum Format
FormatRgb24 = Int
1
    fromEnum Format
FormatA8 = Int
2
    fromEnum Format
FormatA1 = Int
3
    fromEnum Format
FormatRgb16565 = Int
4
    fromEnum Format
FormatRgb30 = Int
5
    fromEnum (AnotherFormat Int
k) = Int
k

    toEnum :: Int -> Format
toEnum Int
-1 = Format
FormatInvalid
    toEnum Int
0 = Format
FormatArgb32
    toEnum Int
1 = Format
FormatRgb24
    toEnum Int
2 = Format
FormatA8
    toEnum Int
3 = Format
FormatA1
    toEnum Int
4 = Format
FormatRgb16565
    toEnum Int
5 = Format
FormatRgb30
    toEnum Int
k = Int -> Format
AnotherFormat Int
k

instance P.Ord Format where
    compare :: Format -> Format -> Ordering
compare Format
a Format
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (Format -> Int
forall a. Enum a => a -> Int
P.fromEnum Format
a) (Format -> Int
forall a. Enum a => a -> Int
P.fromEnum Format
b)

type instance O.ParentTypes Format = '[]
instance O.HasParentTypes Format

foreign import ccall "cairo_gobject_format_get_type" c_cairo_gobject_format_get_type :: 
    IO GType

instance B.Types.TypedObject Format where
    glibType :: IO GType
glibType = IO GType
c_cairo_gobject_format_get_type

instance B.Types.BoxedEnum Format

-- Enum FontWeight
-- | /No description available in the introspection data./
data FontWeight = 
      FontWeightNormal
    -- ^ /No description available in the introspection data./
    | FontWeightBold
    -- ^ /No description available in the introspection data./
    | AnotherFontWeight Int
    -- ^ Catch-all for unknown values
    deriving (Int -> FontWeight -> ShowS
[FontWeight] -> ShowS
FontWeight -> String
(Int -> FontWeight -> ShowS)
-> (FontWeight -> String)
-> ([FontWeight] -> ShowS)
-> Show FontWeight
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [FontWeight] -> ShowS
$cshowList :: [FontWeight] -> ShowS
show :: FontWeight -> String
$cshow :: FontWeight -> String
showsPrec :: Int -> FontWeight -> ShowS
$cshowsPrec :: Int -> FontWeight -> ShowS
Show, FontWeight -> FontWeight -> Bool
(FontWeight -> FontWeight -> Bool)
-> (FontWeight -> FontWeight -> Bool) -> Eq FontWeight
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FontWeight -> FontWeight -> Bool
$c/= :: FontWeight -> FontWeight -> Bool
== :: FontWeight -> FontWeight -> Bool
$c== :: FontWeight -> FontWeight -> Bool
Eq)

instance P.Enum FontWeight where
    fromEnum :: FontWeight -> Int
fromEnum FontWeight
FontWeightNormal = Int
0
    fromEnum FontWeight
FontWeightBold = Int
1
    fromEnum (AnotherFontWeight Int
k) = Int
k

    toEnum :: Int -> FontWeight
toEnum Int
0 = FontWeight
FontWeightNormal
    toEnum Int
1 = FontWeight
FontWeightBold
    toEnum Int
k = Int -> FontWeight
AnotherFontWeight Int
k

instance P.Ord FontWeight where
    compare :: FontWeight -> FontWeight -> Ordering
compare FontWeight
a FontWeight
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (FontWeight -> Int
forall a. Enum a => a -> Int
P.fromEnum FontWeight
a) (FontWeight -> Int
forall a. Enum a => a -> Int
P.fromEnum FontWeight
b)

type instance O.ParentTypes FontWeight = '[]
instance O.HasParentTypes FontWeight

foreign import ccall "cairo_gobject_font_weight_get_type" c_cairo_gobject_font_weight_get_type :: 
    IO GType

instance B.Types.TypedObject FontWeight where
    glibType :: IO GType
glibType = IO GType
c_cairo_gobject_font_weight_get_type

instance B.Types.BoxedEnum FontWeight

-- Enum FontType
-- | /No description available in the introspection data./
data FontType = 
      FontTypeToy
    -- ^ /No description available in the introspection data./
    | FontTypeFt
    -- ^ /No description available in the introspection data./
    | FontTypeWin32
    -- ^ /No description available in the introspection data./
    | FontTypeQuartz
    -- ^ /No description available in the introspection data./
    | FontTypeUser
    -- ^ /No description available in the introspection data./
    | AnotherFontType Int
    -- ^ Catch-all for unknown values
    deriving (Int -> FontType -> ShowS
[FontType] -> ShowS
FontType -> String
(Int -> FontType -> ShowS)
-> (FontType -> String) -> ([FontType] -> ShowS) -> Show FontType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [FontType] -> ShowS
$cshowList :: [FontType] -> ShowS
show :: FontType -> String
$cshow :: FontType -> String
showsPrec :: Int -> FontType -> ShowS
$cshowsPrec :: Int -> FontType -> ShowS
Show, FontType -> FontType -> Bool
(FontType -> FontType -> Bool)
-> (FontType -> FontType -> Bool) -> Eq FontType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FontType -> FontType -> Bool
$c/= :: FontType -> FontType -> Bool
== :: FontType -> FontType -> Bool
$c== :: FontType -> FontType -> Bool
Eq)

instance P.Enum FontType where
    fromEnum :: FontType -> Int
fromEnum FontType
FontTypeToy = Int
0
    fromEnum FontType
FontTypeFt = Int
1
    fromEnum FontType
FontTypeWin32 = Int
2
    fromEnum FontType
FontTypeQuartz = Int
3
    fromEnum FontType
FontTypeUser = Int
4
    fromEnum (AnotherFontType Int
k) = Int
k

    toEnum :: Int -> FontType
toEnum Int
0 = FontType
FontTypeToy
    toEnum Int
1 = FontType
FontTypeFt
    toEnum Int
2 = FontType
FontTypeWin32
    toEnum Int
3 = FontType
FontTypeQuartz
    toEnum Int
4 = FontType
FontTypeUser
    toEnum Int
k = Int -> FontType
AnotherFontType Int
k

instance P.Ord FontType where
    compare :: FontType -> FontType -> Ordering
compare FontType
a FontType
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (FontType -> Int
forall a. Enum a => a -> Int
P.fromEnum FontType
a) (FontType -> Int
forall a. Enum a => a -> Int
P.fromEnum FontType
b)

type instance O.ParentTypes FontType = '[]
instance O.HasParentTypes FontType

foreign import ccall "cairo_gobject_font_type_get_type" c_cairo_gobject_font_type_get_type :: 
    IO GType

instance B.Types.TypedObject FontType where
    glibType :: IO GType
glibType = IO GType
c_cairo_gobject_font_type_get_type

instance B.Types.BoxedEnum FontType

-- Enum FontSlant
-- | /No description available in the introspection data./
data FontSlant = 
      FontSlantNormal
    -- ^ /No description available in the introspection data./
    | FontSlantItalic
    -- ^ /No description available in the introspection data./
    | FontSlantOblique
    -- ^ /No description available in the introspection data./
    | AnotherFontSlant Int
    -- ^ Catch-all for unknown values
    deriving (Int -> FontSlant -> ShowS
[FontSlant] -> ShowS
FontSlant -> String
(Int -> FontSlant -> ShowS)
-> (FontSlant -> String)
-> ([FontSlant] -> ShowS)
-> Show FontSlant
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [FontSlant] -> ShowS
$cshowList :: [FontSlant] -> ShowS
show :: FontSlant -> String
$cshow :: FontSlant -> String
showsPrec :: Int -> FontSlant -> ShowS
$cshowsPrec :: Int -> FontSlant -> ShowS
Show, FontSlant -> FontSlant -> Bool
(FontSlant -> FontSlant -> Bool)
-> (FontSlant -> FontSlant -> Bool) -> Eq FontSlant
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FontSlant -> FontSlant -> Bool
$c/= :: FontSlant -> FontSlant -> Bool
== :: FontSlant -> FontSlant -> Bool
$c== :: FontSlant -> FontSlant -> Bool
Eq)

instance P.Enum FontSlant where
    fromEnum :: FontSlant -> Int
fromEnum FontSlant
FontSlantNormal = Int
0
    fromEnum FontSlant
FontSlantItalic = Int
1
    fromEnum FontSlant
FontSlantOblique = Int
2
    fromEnum (AnotherFontSlant Int
k) = Int
k

    toEnum :: Int -> FontSlant
toEnum Int
0 = FontSlant
FontSlantNormal
    toEnum Int
1 = FontSlant
FontSlantItalic
    toEnum Int
2 = FontSlant
FontSlantOblique
    toEnum Int
k = Int -> FontSlant
AnotherFontSlant Int
k

instance P.Ord FontSlant where
    compare :: FontSlant -> FontSlant -> Ordering
compare FontSlant
a FontSlant
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (FontSlant -> Int
forall a. Enum a => a -> Int
P.fromEnum FontSlant
a) (FontSlant -> Int
forall a. Enum a => a -> Int
P.fromEnum FontSlant
b)

type instance O.ParentTypes FontSlant = '[]
instance O.HasParentTypes FontSlant

foreign import ccall "cairo_gobject_font_slant_get_type" c_cairo_gobject_font_slant_get_type :: 
    IO GType

instance B.Types.TypedObject FontSlant where
    glibType :: IO GType
glibType = IO GType
c_cairo_gobject_font_slant_get_type

instance B.Types.BoxedEnum FontSlant

-- Enum Filter
-- | /No description available in the introspection data./
data Filter = 
      FilterFast
    -- ^ /No description available in the introspection data./
    | FilterGood
    -- ^ /No description available in the introspection data./
    | FilterBest
    -- ^ /No description available in the introspection data./
    | FilterNearest
    -- ^ /No description available in the introspection data./
    | FilterBilinear
    -- ^ /No description available in the introspection data./
    | FilterGaussian
    -- ^ /No description available in the introspection data./
    | AnotherFilter Int
    -- ^ Catch-all for unknown values
    deriving (Int -> Filter -> ShowS
[Filter] -> ShowS
Filter -> String
(Int -> Filter -> ShowS)
-> (Filter -> String) -> ([Filter] -> ShowS) -> Show Filter
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Filter] -> ShowS
$cshowList :: [Filter] -> ShowS
show :: Filter -> String
$cshow :: Filter -> String
showsPrec :: Int -> Filter -> ShowS
$cshowsPrec :: Int -> Filter -> ShowS
Show, Filter -> Filter -> Bool
(Filter -> Filter -> Bool)
-> (Filter -> Filter -> Bool) -> Eq Filter
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Filter -> Filter -> Bool
$c/= :: Filter -> Filter -> Bool
== :: Filter -> Filter -> Bool
$c== :: Filter -> Filter -> Bool
Eq)

instance P.Enum Filter where
    fromEnum :: Filter -> Int
fromEnum Filter
FilterFast = Int
0
    fromEnum Filter
FilterGood = Int
1
    fromEnum Filter
FilterBest = Int
2
    fromEnum Filter
FilterNearest = Int
3
    fromEnum Filter
FilterBilinear = Int
4
    fromEnum Filter
FilterGaussian = Int
5
    fromEnum (AnotherFilter Int
k) = Int
k

    toEnum :: Int -> Filter
toEnum Int
0 = Filter
FilterFast
    toEnum Int
1 = Filter
FilterGood
    toEnum Int
2 = Filter
FilterBest
    toEnum Int
3 = Filter
FilterNearest
    toEnum Int
4 = Filter
FilterBilinear
    toEnum Int
5 = Filter
FilterGaussian
    toEnum Int
k = Int -> Filter
AnotherFilter Int
k

instance P.Ord Filter where
    compare :: Filter -> Filter -> Ordering
compare Filter
a Filter
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (Filter -> Int
forall a. Enum a => a -> Int
P.fromEnum Filter
a) (Filter -> Int
forall a. Enum a => a -> Int
P.fromEnum Filter
b)

type instance O.ParentTypes Filter = '[]
instance O.HasParentTypes Filter

foreign import ccall "cairo_gobject_filter_get_type" c_cairo_gobject_filter_get_type :: 
    IO GType

instance B.Types.TypedObject Filter where
    glibType :: IO GType
glibType = IO GType
c_cairo_gobject_filter_get_type

instance B.Types.BoxedEnum Filter

-- Enum FillRule
-- | /No description available in the introspection data./
data FillRule = 
      FillRuleWinding
    -- ^ /No description available in the introspection data./
    | FillRuleEvenOdd
    -- ^ /No description available in the introspection data./
    | AnotherFillRule Int
    -- ^ Catch-all for unknown values
    deriving (Int -> FillRule -> ShowS
[FillRule] -> ShowS
FillRule -> String
(Int -> FillRule -> ShowS)
-> (FillRule -> String) -> ([FillRule] -> ShowS) -> Show FillRule
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [FillRule] -> ShowS
$cshowList :: [FillRule] -> ShowS
show :: FillRule -> String
$cshow :: FillRule -> String
showsPrec :: Int -> FillRule -> ShowS
$cshowsPrec :: Int -> FillRule -> ShowS
Show, FillRule -> FillRule -> Bool
(FillRule -> FillRule -> Bool)
-> (FillRule -> FillRule -> Bool) -> Eq FillRule
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FillRule -> FillRule -> Bool
$c/= :: FillRule -> FillRule -> Bool
== :: FillRule -> FillRule -> Bool
$c== :: FillRule -> FillRule -> Bool
Eq)

instance P.Enum FillRule where
    fromEnum :: FillRule -> Int
fromEnum FillRule
FillRuleWinding = Int
0
    fromEnum FillRule
FillRuleEvenOdd = Int
1
    fromEnum (AnotherFillRule Int
k) = Int
k

    toEnum :: Int -> FillRule
toEnum Int
0 = FillRule
FillRuleWinding
    toEnum Int
1 = FillRule
FillRuleEvenOdd
    toEnum Int
k = Int -> FillRule
AnotherFillRule Int
k

instance P.Ord FillRule where
    compare :: FillRule -> FillRule -> Ordering
compare FillRule
a FillRule
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (FillRule -> Int
forall a. Enum a => a -> Int
P.fromEnum FillRule
a) (FillRule -> Int
forall a. Enum a => a -> Int
P.fromEnum FillRule
b)

type instance O.ParentTypes FillRule = '[]
instance O.HasParentTypes FillRule

foreign import ccall "cairo_gobject_fill_rule_get_type" c_cairo_gobject_fill_rule_get_type :: 
    IO GType

instance B.Types.TypedObject FillRule where
    glibType :: IO GType
glibType = IO GType
c_cairo_gobject_fill_rule_get_type

instance B.Types.BoxedEnum FillRule

-- Enum Extend
-- | /No description available in the introspection data./
data Extend = 
      ExtendNone
    -- ^ /No description available in the introspection data./
    | ExtendRepeat
    -- ^ /No description available in the introspection data./
    | ExtendReflect
    -- ^ /No description available in the introspection data./
    | ExtendPad
    -- ^ /No description available in the introspection data./
    | AnotherExtend Int
    -- ^ Catch-all for unknown values
    deriving (Int -> Extend -> ShowS
[Extend] -> ShowS
Extend -> String
(Int -> Extend -> ShowS)
-> (Extend -> String) -> ([Extend] -> ShowS) -> Show Extend
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Extend] -> ShowS
$cshowList :: [Extend] -> ShowS
show :: Extend -> String
$cshow :: Extend -> String
showsPrec :: Int -> Extend -> ShowS
$cshowsPrec :: Int -> Extend -> ShowS
Show, Extend -> Extend -> Bool
(Extend -> Extend -> Bool)
-> (Extend -> Extend -> Bool) -> Eq Extend
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Extend -> Extend -> Bool
$c/= :: Extend -> Extend -> Bool
== :: Extend -> Extend -> Bool
$c== :: Extend -> Extend -> Bool
Eq)

instance P.Enum Extend where
    fromEnum :: Extend -> Int
fromEnum Extend
ExtendNone = Int
0
    fromEnum Extend
ExtendRepeat = Int
1
    fromEnum Extend
ExtendReflect = Int
2
    fromEnum Extend
ExtendPad = Int
3
    fromEnum (AnotherExtend Int
k) = Int
k

    toEnum :: Int -> Extend
toEnum Int
0 = Extend
ExtendNone
    toEnum Int
1 = Extend
ExtendRepeat
    toEnum Int
2 = Extend
ExtendReflect
    toEnum Int
3 = Extend
ExtendPad
    toEnum Int
k = Int -> Extend
AnotherExtend Int
k

instance P.Ord Extend where
    compare :: Extend -> Extend -> Ordering
compare Extend
a Extend
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (Extend -> Int
forall a. Enum a => a -> Int
P.fromEnum Extend
a) (Extend -> Int
forall a. Enum a => a -> Int
P.fromEnum Extend
b)

type instance O.ParentTypes Extend = '[]
instance O.HasParentTypes Extend

foreign import ccall "cairo_gobject_extend_get_type" c_cairo_gobject_extend_get_type :: 
    IO GType

instance B.Types.TypedObject Extend where
    glibType :: IO GType
glibType = IO GType
c_cairo_gobject_extend_get_type

instance B.Types.BoxedEnum Extend

-- Enum DeviceType
-- | /No description available in the introspection data./
data DeviceType = 
      DeviceTypeDrm
    -- ^ /No description available in the introspection data./
    | DeviceTypeGl
    -- ^ /No description available in the introspection data./
    | DeviceTypeScript
    -- ^ /No description available in the introspection data./
    | DeviceTypeXcb
    -- ^ /No description available in the introspection data./
    | DeviceTypeXlib
    -- ^ /No description available in the introspection data./
    | DeviceTypeXml
    -- ^ /No description available in the introspection data./
    | DeviceTypeCogl
    -- ^ /No description available in the introspection data./
    | DeviceTypeWin32
    -- ^ /No description available in the introspection data./
    | DeviceTypeInvalid
    -- ^ /No description available in the introspection data./
    | AnotherDeviceType Int
    -- ^ Catch-all for unknown values
    deriving (Int -> DeviceType -> ShowS
[DeviceType] -> ShowS
DeviceType -> String
(Int -> DeviceType -> ShowS)
-> (DeviceType -> String)
-> ([DeviceType] -> ShowS)
-> Show DeviceType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeviceType] -> ShowS
$cshowList :: [DeviceType] -> ShowS
show :: DeviceType -> String
$cshow :: DeviceType -> String
showsPrec :: Int -> DeviceType -> ShowS
$cshowsPrec :: Int -> DeviceType -> ShowS
Show, DeviceType -> DeviceType -> Bool
(DeviceType -> DeviceType -> Bool)
-> (DeviceType -> DeviceType -> Bool) -> Eq DeviceType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeviceType -> DeviceType -> Bool
$c/= :: DeviceType -> DeviceType -> Bool
== :: DeviceType -> DeviceType -> Bool
$c== :: DeviceType -> DeviceType -> Bool
Eq)

instance P.Enum DeviceType where
    fromEnum :: DeviceType -> Int
fromEnum DeviceType
DeviceTypeDrm = Int
0
    fromEnum DeviceType
DeviceTypeGl = Int
1
    fromEnum DeviceType
DeviceTypeScript = Int
2
    fromEnum DeviceType
DeviceTypeXcb = Int
3
    fromEnum DeviceType
DeviceTypeXlib = Int
4
    fromEnum DeviceType
DeviceTypeXml = Int
5
    fromEnum DeviceType
DeviceTypeCogl = Int
6
    fromEnum DeviceType
DeviceTypeWin32 = Int
7
    fromEnum DeviceType
DeviceTypeInvalid = Int
-1
    fromEnum (AnotherDeviceType Int
k) = Int
k

    toEnum :: Int -> DeviceType
toEnum Int
0 = DeviceType
DeviceTypeDrm
    toEnum Int
1 = DeviceType
DeviceTypeGl
    toEnum Int
2 = DeviceType
DeviceTypeScript
    toEnum Int
3 = DeviceType
DeviceTypeXcb
    toEnum Int
4 = DeviceType
DeviceTypeXlib
    toEnum Int
5 = DeviceType
DeviceTypeXml
    toEnum Int
6 = DeviceType
DeviceTypeCogl
    toEnum Int
7 = DeviceType
DeviceTypeWin32
    toEnum Int
-1 = DeviceType
DeviceTypeInvalid
    toEnum Int
k = Int -> DeviceType
AnotherDeviceType Int
k

instance P.Ord DeviceType where
    compare :: DeviceType -> DeviceType -> Ordering
compare DeviceType
a DeviceType
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (DeviceType -> Int
forall a. Enum a => a -> Int
P.fromEnum DeviceType
a) (DeviceType -> Int
forall a. Enum a => a -> Int
P.fromEnum DeviceType
b)

type instance O.ParentTypes DeviceType = '[]
instance O.HasParentTypes DeviceType

foreign import ccall "cairo_gobject_device_type_get_type" c_cairo_gobject_device_type_get_type :: 
    IO GType

instance B.Types.TypedObject DeviceType where
    glibType :: IO GType
glibType = IO GType
c_cairo_gobject_device_type_get_type

instance B.Types.BoxedEnum DeviceType

-- Enum Content
-- | /No description available in the introspection data./
data Content = 
      ContentColor
    -- ^ /No description available in the introspection data./
    | ContentAlpha
    -- ^ /No description available in the introspection data./
    | ContentColorAlpha
    -- ^ /No description available in the introspection data./
    | AnotherContent Int
    -- ^ Catch-all for unknown values
    deriving (Int -> Content -> ShowS
[Content] -> ShowS
Content -> String
(Int -> Content -> ShowS)
-> (Content -> String) -> ([Content] -> ShowS) -> Show Content
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Content] -> ShowS
$cshowList :: [Content] -> ShowS
show :: Content -> String
$cshow :: Content -> String
showsPrec :: Int -> Content -> ShowS
$cshowsPrec :: Int -> Content -> ShowS
Show, Content -> Content -> Bool
(Content -> Content -> Bool)
-> (Content -> Content -> Bool) -> Eq Content
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Content -> Content -> Bool
$c/= :: Content -> Content -> Bool
== :: Content -> Content -> Bool
$c== :: Content -> Content -> Bool
Eq)

instance P.Enum Content where
    fromEnum :: Content -> Int
fromEnum Content
ContentColor = Int
4096
    fromEnum Content
ContentAlpha = Int
8192
    fromEnum Content
ContentColorAlpha = Int
12288
    fromEnum (AnotherContent Int
k) = Int
k

    toEnum :: Int -> Content
toEnum Int
4096 = Content
ContentColor
    toEnum Int
8192 = Content
ContentAlpha
    toEnum Int
12288 = Content
ContentColorAlpha
    toEnum Int
k = Int -> Content
AnotherContent Int
k

instance P.Ord Content where
    compare :: Content -> Content -> Ordering
compare Content
a Content
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (Content -> Int
forall a. Enum a => a -> Int
P.fromEnum Content
a) (Content -> Int
forall a. Enum a => a -> Int
P.fromEnum Content
b)

type instance O.ParentTypes Content = '[]
instance O.HasParentTypes Content

foreign import ccall "cairo_gobject_content_get_type" c_cairo_gobject_content_get_type :: 
    IO GType

instance B.Types.TypedObject Content where
    glibType :: IO GType
glibType = IO GType
c_cairo_gobject_content_get_type

instance B.Types.BoxedEnum Content

-- Enum Antialias
-- | /No description available in the introspection data./
data Antialias = 
      AntialiasDefault
    -- ^ /No description available in the introspection data./
    | AntialiasNone
    -- ^ /No description available in the introspection data./
    | AntialiasGray
    -- ^ /No description available in the introspection data./
    | AntialiasSubpixel
    -- ^ /No description available in the introspection data./
    | AntialiasFast
    -- ^ /No description available in the introspection data./
    | AntialiasGood
    -- ^ /No description available in the introspection data./
    | AntialiasBest
    -- ^ /No description available in the introspection data./
    | AnotherAntialias Int
    -- ^ Catch-all for unknown values
    deriving (Int -> Antialias -> ShowS
[Antialias] -> ShowS
Antialias -> String
(Int -> Antialias -> ShowS)
-> (Antialias -> String)
-> ([Antialias] -> ShowS)
-> Show Antialias
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Antialias] -> ShowS
$cshowList :: [Antialias] -> ShowS
show :: Antialias -> String
$cshow :: Antialias -> String
showsPrec :: Int -> Antialias -> ShowS
$cshowsPrec :: Int -> Antialias -> ShowS
Show, Antialias -> Antialias -> Bool
(Antialias -> Antialias -> Bool)
-> (Antialias -> Antialias -> Bool) -> Eq Antialias
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Antialias -> Antialias -> Bool
$c/= :: Antialias -> Antialias -> Bool
== :: Antialias -> Antialias -> Bool
$c== :: Antialias -> Antialias -> Bool
Eq)

instance P.Enum Antialias where
    fromEnum :: Antialias -> Int
fromEnum Antialias
AntialiasDefault = Int
0
    fromEnum Antialias
AntialiasNone = Int
1
    fromEnum Antialias
AntialiasGray = Int
2
    fromEnum Antialias
AntialiasSubpixel = Int
3
    fromEnum Antialias
AntialiasFast = Int
4
    fromEnum Antialias
AntialiasGood = Int
5
    fromEnum Antialias
AntialiasBest = Int
6
    fromEnum (AnotherAntialias Int
k) = Int
k

    toEnum :: Int -> Antialias
toEnum Int
0 = Antialias
AntialiasDefault
    toEnum Int
1 = Antialias
AntialiasNone
    toEnum Int
2 = Antialias
AntialiasGray
    toEnum Int
3 = Antialias
AntialiasSubpixel
    toEnum Int
4 = Antialias
AntialiasFast
    toEnum Int
5 = Antialias
AntialiasGood
    toEnum Int
6 = Antialias
AntialiasBest
    toEnum Int
k = Int -> Antialias
AnotherAntialias Int
k

instance P.Ord Antialias where
    compare :: Antialias -> Antialias -> Ordering
compare Antialias
a Antialias
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (Antialias -> Int
forall a. Enum a => a -> Int
P.fromEnum Antialias
a) (Antialias -> Int
forall a. Enum a => a -> Int
P.fromEnum Antialias
b)

type instance O.ParentTypes Antialias = '[]
instance O.HasParentTypes Antialias

foreign import ccall "cairo_gobject_antialias_get_type" c_cairo_gobject_antialias_get_type :: 
    IO GType

instance B.Types.TypedObject Antialias where
    glibType :: IO GType
glibType = IO GType
c_cairo_gobject_antialias_get_type

instance B.Types.BoxedEnum Antialias