{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- /No description available in the introspection data./

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

module GI.WebKit2.Objects.ColorChooserRequest
    ( 

-- * Exported types
    ColorChooserRequest(..)                 ,
    IsColorChooserRequest                   ,
    toColorChooserRequest                   ,
    noColorChooserRequest                   ,


 -- * Methods
-- ** Overloaded methods #method:Overloaded methods#

#if defined(ENABLE_OVERLOADING)
    ResolveColorChooserRequestMethod        ,
#endif


-- ** cancel #method:cancel#

#if defined(ENABLE_OVERLOADING)
    ColorChooserRequestCancelMethodInfo     ,
#endif
    colorChooserRequestCancel               ,


-- ** finish #method:finish#

#if defined(ENABLE_OVERLOADING)
    ColorChooserRequestFinishMethodInfo     ,
#endif
    colorChooserRequestFinish               ,


-- ** getElementRectangle #method:getElementRectangle#

#if defined(ENABLE_OVERLOADING)
    ColorChooserRequestGetElementRectangleMethodInfo,
#endif
    colorChooserRequestGetElementRectangle  ,


-- ** getRgba #method:getRgba#

#if defined(ENABLE_OVERLOADING)
    ColorChooserRequestGetRgbaMethodInfo    ,
#endif
    colorChooserRequestGetRgba              ,


-- ** setRgba #method:setRgba#

#if defined(ENABLE_OVERLOADING)
    ColorChooserRequestSetRgbaMethodInfo    ,
#endif
    colorChooserRequestSetRgba              ,




 -- * Properties
-- ** rgba #attr:rgba#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    ColorChooserRequestRgbaPropertyInfo     ,
#endif
#if defined(ENABLE_OVERLOADING)
    colorChooserRequestRgba                 ,
#endif
    constructColorChooserRequestRgba        ,
    getColorChooserRequestRgba              ,
    setColorChooserRequestRgba              ,




 -- * Signals
-- ** finished #signal:finished#

    C_ColorChooserRequestFinishedCallback   ,
    ColorChooserRequestFinishedCallback     ,
#if defined(ENABLE_OVERLOADING)
    ColorChooserRequestFinishedSignalInfo   ,
#endif
    afterColorChooserRequestFinished        ,
    genClosure_ColorChooserRequestFinished  ,
    mk_ColorChooserRequestFinishedCallback  ,
    noColorChooserRequestFinishedCallback   ,
    onColorChooserRequestFinished           ,
    wrap_ColorChooserRequestFinishedCallback,




    ) 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.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 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

import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gdk.Structs.RGBA as Gdk.RGBA
import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle

-- | Memory-managed wrapper type.
newtype ColorChooserRequest = ColorChooserRequest (ManagedPtr ColorChooserRequest)
    deriving (ColorChooserRequest -> ColorChooserRequest -> Bool
(ColorChooserRequest -> ColorChooserRequest -> Bool)
-> (ColorChooserRequest -> ColorChooserRequest -> Bool)
-> Eq ColorChooserRequest
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ColorChooserRequest -> ColorChooserRequest -> Bool
$c/= :: ColorChooserRequest -> ColorChooserRequest -> Bool
== :: ColorChooserRequest -> ColorChooserRequest -> Bool
$c== :: ColorChooserRequest -> ColorChooserRequest -> Bool
Eq)
foreign import ccall "webkit_color_chooser_request_get_type"
    c_webkit_color_chooser_request_get_type :: IO GType

instance GObject ColorChooserRequest where
    gobjectType :: IO GType
gobjectType = IO GType
c_webkit_color_chooser_request_get_type
    

-- | Convert 'ColorChooserRequest' to and from 'Data.GI.Base.GValue.GValue' with 'Data.GI.Base.GValue.toGValue' and 'Data.GI.Base.GValue.fromGValue'.
instance B.GValue.IsGValue ColorChooserRequest where
    toGValue :: ColorChooserRequest -> IO GValue
toGValue o :: ColorChooserRequest
o = do
        GType
gtype <- IO GType
c_webkit_color_chooser_request_get_type
        ColorChooserRequest
-> (Ptr ColorChooserRequest -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr ColorChooserRequest
o (GType
-> (GValue -> Ptr ColorChooserRequest -> IO ())
-> Ptr ColorChooserRequest
-> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr ColorChooserRequest -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
        
    fromGValue :: GValue -> IO ColorChooserRequest
fromGValue gv :: GValue
gv = do
        Ptr ColorChooserRequest
ptr <- GValue -> IO (Ptr ColorChooserRequest)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr ColorChooserRequest)
        (ManagedPtr ColorChooserRequest -> ColorChooserRequest)
-> Ptr ColorChooserRequest -> IO ColorChooserRequest
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr ColorChooserRequest -> ColorChooserRequest
ColorChooserRequest Ptr ColorChooserRequest
ptr
        
    

-- | Type class for types which can be safely cast to `ColorChooserRequest`, for instance with `toColorChooserRequest`.
class (GObject o, O.IsDescendantOf ColorChooserRequest o) => IsColorChooserRequest o
instance (GObject o, O.IsDescendantOf ColorChooserRequest o) => IsColorChooserRequest o

instance O.HasParentTypes ColorChooserRequest
type instance O.ParentTypes ColorChooserRequest = '[GObject.Object.Object]

-- | Cast to `ColorChooserRequest`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toColorChooserRequest :: (MonadIO m, IsColorChooserRequest o) => o -> m ColorChooserRequest
toColorChooserRequest :: o -> m ColorChooserRequest
toColorChooserRequest = IO ColorChooserRequest -> m ColorChooserRequest
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO ColorChooserRequest -> m ColorChooserRequest)
-> (o -> IO ColorChooserRequest) -> o -> m ColorChooserRequest
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr ColorChooserRequest -> ColorChooserRequest)
-> o -> IO ColorChooserRequest
forall o o'.
(HasCallStack, GObject o, GObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr ColorChooserRequest -> ColorChooserRequest
ColorChooserRequest

-- | A convenience alias for `Nothing` :: `Maybe` `ColorChooserRequest`.
noColorChooserRequest :: Maybe ColorChooserRequest
noColorChooserRequest :: Maybe ColorChooserRequest
noColorChooserRequest = Maybe ColorChooserRequest
forall a. Maybe a
Nothing

#if defined(ENABLE_OVERLOADING)
type family ResolveColorChooserRequestMethod (t :: Symbol) (o :: *) :: * where
    ResolveColorChooserRequestMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveColorChooserRequestMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveColorChooserRequestMethod "cancel" o = ColorChooserRequestCancelMethodInfo
    ResolveColorChooserRequestMethod "finish" o = ColorChooserRequestFinishMethodInfo
    ResolveColorChooserRequestMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveColorChooserRequestMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveColorChooserRequestMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveColorChooserRequestMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveColorChooserRequestMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveColorChooserRequestMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveColorChooserRequestMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveColorChooserRequestMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveColorChooserRequestMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveColorChooserRequestMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveColorChooserRequestMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveColorChooserRequestMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveColorChooserRequestMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveColorChooserRequestMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveColorChooserRequestMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveColorChooserRequestMethod "getElementRectangle" o = ColorChooserRequestGetElementRectangleMethodInfo
    ResolveColorChooserRequestMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveColorChooserRequestMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveColorChooserRequestMethod "getRgba" o = ColorChooserRequestGetRgbaMethodInfo
    ResolveColorChooserRequestMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveColorChooserRequestMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    ResolveColorChooserRequestMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveColorChooserRequestMethod "setRgba" o = ColorChooserRequestSetRgbaMethodInfo
    ResolveColorChooserRequestMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveColorChooserRequestMethod t ColorChooserRequest, O.MethodInfo info ColorChooserRequest p) => OL.IsLabel t (ColorChooserRequest -> p) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.overloadedMethod @info
#else
    fromLabel _ = O.overloadedMethod @info
#endif

#endif

-- signal ColorChooserRequest::finished
-- | Emitted when the /@request@/ finishes. This signal can be emitted because the
-- user completed the /@request@/ calling 'GI.WebKit2.Objects.ColorChooserRequest.colorChooserRequestFinish',
-- or cancelled it with 'GI.WebKit2.Objects.ColorChooserRequest.colorChooserRequestCancel' or because the
-- color input element is removed from the DOM.
-- 
-- /Since: 2.8/
type ColorChooserRequestFinishedCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `ColorChooserRequestFinishedCallback`@.
noColorChooserRequestFinishedCallback :: Maybe ColorChooserRequestFinishedCallback
noColorChooserRequestFinishedCallback :: Maybe (IO ())
noColorChooserRequestFinishedCallback = Maybe (IO ())
forall a. Maybe a
Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_ColorChooserRequestFinishedCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_ColorChooserRequestFinishedCallback`.
foreign import ccall "wrapper"
    mk_ColorChooserRequestFinishedCallback :: C_ColorChooserRequestFinishedCallback -> IO (FunPtr C_ColorChooserRequestFinishedCallback)

-- | Wrap the callback into a `GClosure`.
genClosure_ColorChooserRequestFinished :: MonadIO m => ColorChooserRequestFinishedCallback -> m (GClosure C_ColorChooserRequestFinishedCallback)
genClosure_ColorChooserRequestFinished :: IO () -> m (GClosure C_ColorChooserRequestFinishedCallback)
genClosure_ColorChooserRequestFinished cb :: IO ()
cb = IO (GClosure C_ColorChooserRequestFinishedCallback)
-> m (GClosure C_ColorChooserRequestFinishedCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_ColorChooserRequestFinishedCallback)
 -> m (GClosure C_ColorChooserRequestFinishedCallback))
-> IO (GClosure C_ColorChooserRequestFinishedCallback)
-> m (GClosure C_ColorChooserRequestFinishedCallback)
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_ColorChooserRequestFinishedCallback
cb' = IO () -> C_ColorChooserRequestFinishedCallback
wrap_ColorChooserRequestFinishedCallback IO ()
cb
    C_ColorChooserRequestFinishedCallback
-> IO (FunPtr C_ColorChooserRequestFinishedCallback)
mk_ColorChooserRequestFinishedCallback C_ColorChooserRequestFinishedCallback
cb' IO (FunPtr C_ColorChooserRequestFinishedCallback)
-> (FunPtr C_ColorChooserRequestFinishedCallback
    -> IO (GClosure C_ColorChooserRequestFinishedCallback))
-> IO (GClosure C_ColorChooserRequestFinishedCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_ColorChooserRequestFinishedCallback
-> IO (GClosure C_ColorChooserRequestFinishedCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure


-- | Wrap a `ColorChooserRequestFinishedCallback` into a `C_ColorChooserRequestFinishedCallback`.
wrap_ColorChooserRequestFinishedCallback ::
    ColorChooserRequestFinishedCallback ->
    C_ColorChooserRequestFinishedCallback
wrap_ColorChooserRequestFinishedCallback :: IO () -> C_ColorChooserRequestFinishedCallback
wrap_ColorChooserRequestFinishedCallback _cb :: IO ()
_cb _ _ = do
    IO ()
_cb 


-- | Connect a signal handler for the [finished](#signal:finished) signal, to be run before the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.on' colorChooserRequest #finished callback
-- @
-- 
-- 
onColorChooserRequestFinished :: (IsColorChooserRequest a, MonadIO m) => a -> ColorChooserRequestFinishedCallback -> m SignalHandlerId
onColorChooserRequestFinished :: a -> IO () -> m SignalHandlerId
onColorChooserRequestFinished obj :: a
obj cb :: IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_ColorChooserRequestFinishedCallback
cb' = IO () -> C_ColorChooserRequestFinishedCallback
wrap_ColorChooserRequestFinishedCallback IO ()
cb
    FunPtr C_ColorChooserRequestFinishedCallback
cb'' <- C_ColorChooserRequestFinishedCallback
-> IO (FunPtr C_ColorChooserRequestFinishedCallback)
mk_ColorChooserRequestFinishedCallback C_ColorChooserRequestFinishedCallback
cb'
    a
-> Text
-> FunPtr C_ColorChooserRequestFinishedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "finished" FunPtr C_ColorChooserRequestFinishedCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing

-- | Connect a signal handler for the [finished](#signal:finished) signal, to be run after the default handler.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Signals.after' colorChooserRequest #finished callback
-- @
-- 
-- 
afterColorChooserRequestFinished :: (IsColorChooserRequest a, MonadIO m) => a -> ColorChooserRequestFinishedCallback -> m SignalHandlerId
afterColorChooserRequestFinished :: a -> IO () -> m SignalHandlerId
afterColorChooserRequestFinished obj :: a
obj cb :: IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_ColorChooserRequestFinishedCallback
cb' = IO () -> C_ColorChooserRequestFinishedCallback
wrap_ColorChooserRequestFinishedCallback IO ()
cb
    FunPtr C_ColorChooserRequestFinishedCallback
cb'' <- C_ColorChooserRequestFinishedCallback
-> IO (FunPtr C_ColorChooserRequestFinishedCallback)
mk_ColorChooserRequestFinishedCallback C_ColorChooserRequestFinishedCallback
cb'
    a
-> Text
-> FunPtr C_ColorChooserRequestFinishedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "finished" FunPtr C_ColorChooserRequestFinishedCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing


#if defined(ENABLE_OVERLOADING)
data ColorChooserRequestFinishedSignalInfo
instance SignalInfo ColorChooserRequestFinishedSignalInfo where
    type HaskellCallbackType ColorChooserRequestFinishedSignalInfo = ColorChooserRequestFinishedCallback
    connectSignal obj cb connectMode detail = do
        let cb' = wrap_ColorChooserRequestFinishedCallback cb
        cb'' <- mk_ColorChooserRequestFinishedCallback cb'
        connectSignalFunPtr obj "finished" cb'' connectMode detail

#endif

-- VVV Prop "rgba"
   -- Type: TInterface (Name {namespace = "Gdk", name = "RGBA"})
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
   -- Nullable: (Nothing,Just False)

-- | Get the value of the “@rgba@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' colorChooserRequest #rgba
-- @
getColorChooserRequestRgba :: (MonadIO m, IsColorChooserRequest o) => o -> m (Maybe Gdk.RGBA.RGBA)
getColorChooserRequestRgba :: o -> m (Maybe RGBA)
getColorChooserRequestRgba obj :: o
obj = IO (Maybe RGBA) -> m (Maybe RGBA)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe RGBA) -> m (Maybe RGBA))
-> IO (Maybe RGBA) -> m (Maybe RGBA)
forall a b. (a -> b) -> a -> b
$ o -> String -> (ManagedPtr RGBA -> RGBA) -> IO (Maybe RGBA)
forall a b.
(GObject a, BoxedObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyBoxed o
obj "rgba" ManagedPtr RGBA -> RGBA
Gdk.RGBA.RGBA

-- | Set the value of the “@rgba@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' colorChooserRequest [ #rgba 'Data.GI.Base.Attributes.:=' value ]
-- @
setColorChooserRequestRgba :: (MonadIO m, IsColorChooserRequest o) => o -> Gdk.RGBA.RGBA -> m ()
setColorChooserRequestRgba :: o -> RGBA -> m ()
setColorChooserRequestRgba obj :: o
obj val :: RGBA
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe RGBA -> IO ()
forall a b.
(GObject a, BoxedObject b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyBoxed o
obj "rgba" (RGBA -> Maybe RGBA
forall a. a -> Maybe a
Just RGBA
val)

-- | Construct a `GValueConstruct` with valid value for the “@rgba@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructColorChooserRequestRgba :: (IsColorChooserRequest o) => Gdk.RGBA.RGBA -> IO (GValueConstruct o)
constructColorChooserRequestRgba :: RGBA -> IO (GValueConstruct o)
constructColorChooserRequestRgba val :: RGBA
val = String -> Maybe RGBA -> IO (GValueConstruct o)
forall a o.
BoxedObject a =>
String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBoxed "rgba" (RGBA -> Maybe RGBA
forall a. a -> Maybe a
Just RGBA
val)

#if defined(ENABLE_OVERLOADING)
data ColorChooserRequestRgbaPropertyInfo
instance AttrInfo ColorChooserRequestRgbaPropertyInfo where
    type AttrAllowedOps ColorChooserRequestRgbaPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint ColorChooserRequestRgbaPropertyInfo = IsColorChooserRequest
    type AttrSetTypeConstraint ColorChooserRequestRgbaPropertyInfo = (~) Gdk.RGBA.RGBA
    type AttrTransferTypeConstraint ColorChooserRequestRgbaPropertyInfo = (~) Gdk.RGBA.RGBA
    type AttrTransferType ColorChooserRequestRgbaPropertyInfo = Gdk.RGBA.RGBA
    type AttrGetType ColorChooserRequestRgbaPropertyInfo = (Maybe Gdk.RGBA.RGBA)
    type AttrLabel ColorChooserRequestRgbaPropertyInfo = "rgba"
    type AttrOrigin ColorChooserRequestRgbaPropertyInfo = ColorChooserRequest
    attrGet = getColorChooserRequestRgba
    attrSet = setColorChooserRequestRgba
    attrTransfer _ v = do
        return v
    attrConstruct = constructColorChooserRequestRgba
    attrClear = undefined
#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList ColorChooserRequest
type instance O.AttributeList ColorChooserRequest = ColorChooserRequestAttributeList
type ColorChooserRequestAttributeList = ('[ '("rgba", ColorChooserRequestRgbaPropertyInfo)] :: [(Symbol, *)])
#endif

#if defined(ENABLE_OVERLOADING)
colorChooserRequestRgba :: AttrLabelProxy "rgba"
colorChooserRequestRgba = AttrLabelProxy

#endif

#if defined(ENABLE_OVERLOADING)
type instance O.SignalList ColorChooserRequest = ColorChooserRequestSignalList
type ColorChooserRequestSignalList = ('[ '("finished", ColorChooserRequestFinishedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])

#endif

-- method ColorChooserRequest::cancel
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "request"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2" , name = "ColorChooserRequest" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #WebKitColorChooserRequest"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_color_chooser_request_cancel" webkit_color_chooser_request_cancel :: 
    Ptr ColorChooserRequest ->              -- request : TInterface (Name {namespace = "WebKit2", name = "ColorChooserRequest"})
    IO ()

-- | Cancels /@request@/ and the input element changes to use the initial color
-- it has before the request started.
-- The signal [finished]("GI.WebKit2.Objects.ColorChooserRequest#signal:finished")
-- is emitted to notify that the request has finished.
-- 
-- /Since: 2.8/
colorChooserRequestCancel ::
    (B.CallStack.HasCallStack, MonadIO m, IsColorChooserRequest a) =>
    a
    -- ^ /@request@/: a t'GI.WebKit2.Objects.ColorChooserRequest.ColorChooserRequest'
    -> m ()
colorChooserRequestCancel :: a -> m ()
colorChooserRequestCancel request :: a
request = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr ColorChooserRequest
request' <- a -> IO (Ptr ColorChooserRequest)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
request
    Ptr ColorChooserRequest -> IO ()
webkit_color_chooser_request_cancel Ptr ColorChooserRequest
request'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
request
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data ColorChooserRequestCancelMethodInfo
instance (signature ~ (m ()), MonadIO m, IsColorChooserRequest a) => O.MethodInfo ColorChooserRequestCancelMethodInfo a signature where
    overloadedMethod = colorChooserRequestCancel

#endif

-- method ColorChooserRequest::finish
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "request"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2" , name = "ColorChooserRequest" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #WebKitColorChooserRequest"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_color_chooser_request_finish" webkit_color_chooser_request_finish :: 
    Ptr ColorChooserRequest ->              -- request : TInterface (Name {namespace = "WebKit2", name = "ColorChooserRequest"})
    IO ()

-- | Finishes /@request@/ and the input element keeps the current value of
-- t'GI.WebKit2.Objects.ColorChooserRequest.ColorChooserRequest':@/rgba/@.
-- The signal [finished]("GI.WebKit2.Objects.ColorChooserRequest#signal:finished")
-- is emitted to notify that the request has finished.
-- 
-- /Since: 2.8/
colorChooserRequestFinish ::
    (B.CallStack.HasCallStack, MonadIO m, IsColorChooserRequest a) =>
    a
    -- ^ /@request@/: a t'GI.WebKit2.Objects.ColorChooserRequest.ColorChooserRequest'
    -> m ()
colorChooserRequestFinish :: a -> m ()
colorChooserRequestFinish request :: a
request = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr ColorChooserRequest
request' <- a -> IO (Ptr ColorChooserRequest)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
request
    Ptr ColorChooserRequest -> IO ()
webkit_color_chooser_request_finish Ptr ColorChooserRequest
request'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
request
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data ColorChooserRequestFinishMethodInfo
instance (signature ~ (m ()), MonadIO m, IsColorChooserRequest a) => O.MethodInfo ColorChooserRequestFinishMethodInfo a signature where
    overloadedMethod = colorChooserRequestFinish

#endif

-- method ColorChooserRequest::get_element_rectangle
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "request"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2" , name = "ColorChooserRequest" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #WebKitColorChooserRequest"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "rect"
--           , argType =
--               TInterface Name { namespace = "Gdk" , name = "Rectangle" }
--           , direction = DirectionOut
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "a #GdkRectangle to fill in with the element area"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = True
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_color_chooser_request_get_element_rectangle" webkit_color_chooser_request_get_element_rectangle :: 
    Ptr ColorChooserRequest ->              -- request : TInterface (Name {namespace = "WebKit2", name = "ColorChooserRequest"})
    Ptr Gdk.Rectangle.Rectangle ->          -- rect : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
    IO ()

-- | Gets the bounding box of the color input element.
-- 
-- /Since: 2.8/
colorChooserRequestGetElementRectangle ::
    (B.CallStack.HasCallStack, MonadIO m, IsColorChooserRequest a) =>
    a
    -- ^ /@request@/: a t'GI.WebKit2.Objects.ColorChooserRequest.ColorChooserRequest'
    -> m (Gdk.Rectangle.Rectangle)
colorChooserRequestGetElementRectangle :: a -> m Rectangle
colorChooserRequestGetElementRectangle request :: a
request = IO Rectangle -> m Rectangle
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Rectangle -> m Rectangle) -> IO Rectangle -> m Rectangle
forall a b. (a -> b) -> a -> b
$ do
    Ptr ColorChooserRequest
request' <- a -> IO (Ptr ColorChooserRequest)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
request
    Ptr Rectangle
rect <- Int -> IO (Ptr Rectangle)
forall a. BoxedObject a => Int -> IO (Ptr a)
callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
    Ptr ColorChooserRequest -> Ptr Rectangle -> IO ()
webkit_color_chooser_request_get_element_rectangle Ptr ColorChooserRequest
request' Ptr Rectangle
rect
    Rectangle
rect' <- ((ManagedPtr Rectangle -> Rectangle)
-> Ptr Rectangle -> IO Rectangle
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Rectangle -> Rectangle
Gdk.Rectangle.Rectangle) Ptr Rectangle
rect
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
request
    Rectangle -> IO Rectangle
forall (m :: * -> *) a. Monad m => a -> m a
return Rectangle
rect'

#if defined(ENABLE_OVERLOADING)
data ColorChooserRequestGetElementRectangleMethodInfo
instance (signature ~ (m (Gdk.Rectangle.Rectangle)), MonadIO m, IsColorChooserRequest a) => O.MethodInfo ColorChooserRequestGetElementRectangleMethodInfo a signature where
    overloadedMethod = colorChooserRequestGetElementRectangle

#endif

-- method ColorChooserRequest::get_rgba
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "request"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2" , name = "ColorChooserRequest" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #WebKitColorChooserRequest"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "rgba"
--           , argType = TInterface Name { namespace = "Gdk" , name = "RGBA" }
--           , direction = DirectionOut
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #GdkRGBA to fill in with the current color."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = True
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_color_chooser_request_get_rgba" webkit_color_chooser_request_get_rgba :: 
    Ptr ColorChooserRequest ->              -- request : TInterface (Name {namespace = "WebKit2", name = "ColorChooserRequest"})
    Ptr Gdk.RGBA.RGBA ->                    -- rgba : TInterface (Name {namespace = "Gdk", name = "RGBA"})
    IO ()

-- | Gets the current t'GI.Gdk.Structs.RGBA.RGBA' color of /@request@/
-- 
-- /Since: 2.8/
colorChooserRequestGetRgba ::
    (B.CallStack.HasCallStack, MonadIO m, IsColorChooserRequest a) =>
    a
    -- ^ /@request@/: a t'GI.WebKit2.Objects.ColorChooserRequest.ColorChooserRequest'
    -> m (Gdk.RGBA.RGBA)
colorChooserRequestGetRgba :: a -> m RGBA
colorChooserRequestGetRgba request :: a
request = IO RGBA -> m RGBA
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO RGBA -> m RGBA) -> IO RGBA -> m RGBA
forall a b. (a -> b) -> a -> b
$ do
    Ptr ColorChooserRequest
request' <- a -> IO (Ptr ColorChooserRequest)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
request
    Ptr RGBA
rgba <- Int -> IO (Ptr RGBA)
forall a. BoxedObject a => Int -> IO (Ptr a)
callocBoxedBytes 32 :: IO (Ptr Gdk.RGBA.RGBA)
    Ptr ColorChooserRequest -> Ptr RGBA -> IO ()
webkit_color_chooser_request_get_rgba Ptr ColorChooserRequest
request' Ptr RGBA
rgba
    RGBA
rgba' <- ((ManagedPtr RGBA -> RGBA) -> Ptr RGBA -> IO RGBA
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr RGBA -> RGBA
Gdk.RGBA.RGBA) Ptr RGBA
rgba
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
request
    RGBA -> IO RGBA
forall (m :: * -> *) a. Monad m => a -> m a
return RGBA
rgba'

#if defined(ENABLE_OVERLOADING)
data ColorChooserRequestGetRgbaMethodInfo
instance (signature ~ (m (Gdk.RGBA.RGBA)), MonadIO m, IsColorChooserRequest a) => O.MethodInfo ColorChooserRequestGetRgbaMethodInfo a signature where
    overloadedMethod = colorChooserRequestGetRgba

#endif

-- method ColorChooserRequest::set_rgba
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "request"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2" , name = "ColorChooserRequest" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #WebKitFileChooserRequest"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "rgba"
--           , argType = TInterface Name { namespace = "Gdk" , name = "RGBA" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a pointer #GdkRGBA" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_color_chooser_request_set_rgba" webkit_color_chooser_request_set_rgba :: 
    Ptr ColorChooserRequest ->              -- request : TInterface (Name {namespace = "WebKit2", name = "ColorChooserRequest"})
    Ptr Gdk.RGBA.RGBA ->                    -- rgba : TInterface (Name {namespace = "Gdk", name = "RGBA"})
    IO ()

-- | Sets the current t'GI.Gdk.Structs.RGBA.RGBA' color of /@request@/
-- 
-- /Since: 2.8/
colorChooserRequestSetRgba ::
    (B.CallStack.HasCallStack, MonadIO m, IsColorChooserRequest a) =>
    a
    -- ^ /@request@/: a t'GI.WebKit2.Objects.FileChooserRequest.FileChooserRequest'
    -> Gdk.RGBA.RGBA
    -- ^ /@rgba@/: a pointer t'GI.Gdk.Structs.RGBA.RGBA'
    -> m ()
colorChooserRequestSetRgba :: a -> RGBA -> m ()
colorChooserRequestSetRgba request :: a
request rgba :: RGBA
rgba = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr ColorChooserRequest
request' <- a -> IO (Ptr ColorChooserRequest)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
request
    Ptr RGBA
rgba' <- RGBA -> IO (Ptr RGBA)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr RGBA
rgba
    Ptr ColorChooserRequest -> Ptr RGBA -> IO ()
webkit_color_chooser_request_set_rgba Ptr ColorChooserRequest
request' Ptr RGBA
rgba'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
request
    RGBA -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr RGBA
rgba
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data ColorChooserRequestSetRgbaMethodInfo
instance (signature ~ (Gdk.RGBA.RGBA -> m ()), MonadIO m, IsColorChooserRequest a) => O.MethodInfo ColorChooserRequestSetRgbaMethodInfo a signature where
    overloadedMethod = colorChooserRequestSetRgba

#endif