packages feed

gi-gdk (empty) → 0.3.16.8

raw patch · 6 files changed

+28380/−0 lines, 6 filesdep +basedep +bytestringdep +containerssetup-changed

Dependencies added: base, bytestring, containers, gi-cairo, gi-gdkpixbuf, gi-gio, gi-glib, gi-gobject, gi-pango, haskell-gi-base, text, transformers

Files

+ GI/Gdk.hs view
@@ -0,0 +1,27136 @@+-- Generated code.++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++{-# LANGUAGE ForeignFunctionInterface, ConstraintKinds,+    TypeFamilies, MultiParamTypeClasses, KindSignatures,+    FlexibleInstances, UndecidableInstances, DataKinds,+    OverloadedStrings, NegativeLiterals, FlexibleContexts #-}++module GI.Gdk where++import Prelude ()+import Data.GI.Base.ShortPrelude+import Data.Char+import Data.Int+import Data.Word+import qualified Data.ByteString.Char8 as B+import Data.ByteString.Char8 (ByteString)+import qualified Data.Map as Map+import Foreign.C+import Foreign.Ptr+import Foreign.ForeignPtr+import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr)+import Foreign.Storable (peek, poke, sizeOf)+import Control.Applicative ((<$>))+import Control.Exception (onException)+import Control.Monad.IO.Class+import qualified Data.Text as T++import Data.GI.Base.Attributes hiding (get, set)+import Data.GI.Base.BasicTypes+import Data.GI.Base.BasicConversions+import Data.GI.Base.Closure+import Data.GI.Base.GError+import Data.GI.Base.GHashTable+import Data.GI.Base.GParamSpec+import Data.GI.Base.GVariant+import Data.GI.Base.GValue+import Data.GI.Base.ManagedPtr+import Data.GI.Base.Overloading+import Data.GI.Base.Properties hiding (new)+import Data.GI.Base.Signals (SignalConnectMode(..), connectSignalFunPtr, SignalHandlerId)+import Data.GI.Base.Utils++import qualified GI.GLib as GLib+import qualified GI.GLibAttributes as GLibA+import qualified GI.GObject as GObject+import qualified GI.GObjectAttributes as GObjectA+import qualified GI.GdkPixbuf as GdkPixbuf+import qualified GI.GdkPixbufAttributes as GdkPixbufA+import qualified GI.Gio as Gio+import qualified GI.GioAttributes as GioA+import qualified GI.Pango as Pango+import qualified GI.PangoAttributes as PangoA+import qualified GI.Cairo as Cairo+import qualified GI.CairoAttributes as CairoA++-- object AppLaunchContext +newtype AppLaunchContext = AppLaunchContext (ForeignPtr AppLaunchContext)+noAppLaunchContext :: Maybe AppLaunchContext+noAppLaunchContext = Nothing++foreign import ccall "gdk_app_launch_context_get_type"+    c_gdk_app_launch_context_get_type :: IO GType++type instance ParentTypes AppLaunchContext = '[Gio.AppLaunchContext, GObject.Object]++instance GObject AppLaunchContext where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_gdk_app_launch_context_get_type+    ++class GObject o => AppLaunchContextK o+instance (GObject o, IsDescendantOf AppLaunchContext o) => AppLaunchContextK o++toAppLaunchContext :: AppLaunchContextK o => o -> IO AppLaunchContext+toAppLaunchContext = unsafeCastTo AppLaunchContext++-- method AppLaunchContext::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Gdk" "AppLaunchContext"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_app_launch_context_new" gdk_app_launch_context_new :: +    IO (Ptr AppLaunchContext)++{-# DEPRECATED appLaunchContextNew ["(Since version 3.0)","Use gdk_display_get_app_launch_context() instead"]#-}+appLaunchContextNew ::+    (MonadIO m) =>+    m AppLaunchContext+appLaunchContextNew  = liftIO $ do+    result <- gdk_app_launch_context_new+    result' <- (wrapObject AppLaunchContext) result+    return result'++-- method AppLaunchContext::set_desktop+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desktop", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desktop", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_app_launch_context_set_desktop" gdk_app_launch_context_set_desktop :: +    Ptr AppLaunchContext ->                 -- _obj : TInterface "Gdk" "AppLaunchContext"+    Int32 ->                                -- desktop : TBasicType TInt32+    IO ()+++appLaunchContextSetDesktop ::+    (MonadIO m, AppLaunchContextK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- desktop+    m ()+appLaunchContextSetDesktop _obj desktop = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_app_launch_context_set_desktop _obj' desktop+    touchManagedPtr _obj+    return ()++-- method AppLaunchContext::set_display+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_app_launch_context_set_display" gdk_app_launch_context_set_display :: +    Ptr AppLaunchContext ->                 -- _obj : TInterface "Gdk" "AppLaunchContext"+    Ptr Display ->                          -- display : TInterface "Gdk" "Display"+    IO ()++{-# DEPRECATED appLaunchContextSetDisplay ["(Since version 3.0)","Use gdk_display_get_app_launch_context() instead"]#-}+appLaunchContextSetDisplay ::+    (MonadIO m, AppLaunchContextK a, DisplayK b) =>+    a ->                                    -- _obj+    b ->                                    -- display+    m ()+appLaunchContextSetDisplay _obj display = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let display' = unsafeManagedPtrCastPtr display+    gdk_app_launch_context_set_display _obj' display'+    touchManagedPtr _obj+    touchManagedPtr display+    return ()++-- method AppLaunchContext::set_icon+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon", argType = TInterface "Gio" "Icon", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon", argType = TInterface "Gio" "Icon", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_app_launch_context_set_icon" gdk_app_launch_context_set_icon :: +    Ptr AppLaunchContext ->                 -- _obj : TInterface "Gdk" "AppLaunchContext"+    Ptr Gio.Icon ->                         -- icon : TInterface "Gio" "Icon"+    IO ()+++appLaunchContextSetIcon ::+    (MonadIO m, AppLaunchContextK a, Gio.IconK b) =>+    a ->                                    -- _obj+    Maybe (b) ->                            -- icon+    m ()+appLaunchContextSetIcon _obj icon = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeIcon <- case icon of+        Nothing -> return nullPtr+        Just jIcon -> do+            let jIcon' = unsafeManagedPtrCastPtr jIcon+            return jIcon'+    gdk_app_launch_context_set_icon _obj' maybeIcon+    touchManagedPtr _obj+    whenJust icon touchManagedPtr+    return ()++-- method AppLaunchContext::set_icon_name+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_app_launch_context_set_icon_name" gdk_app_launch_context_set_icon_name :: +    Ptr AppLaunchContext ->                 -- _obj : TInterface "Gdk" "AppLaunchContext"+    CString ->                              -- icon_name : TBasicType TUTF8+    IO ()+++appLaunchContextSetIconName ::+    (MonadIO m, AppLaunchContextK a) =>+    a ->                                    -- _obj+    Maybe (T.Text) ->                       -- icon_name+    m ()+appLaunchContextSetIconName _obj icon_name = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeIcon_name <- case icon_name of+        Nothing -> return nullPtr+        Just jIcon_name -> do+            jIcon_name' <- textToCString jIcon_name+            return jIcon_name'+    gdk_app_launch_context_set_icon_name _obj' maybeIcon_name+    touchManagedPtr _obj+    freeMem maybeIcon_name+    return ()++-- method AppLaunchContext::set_screen+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_app_launch_context_set_screen" gdk_app_launch_context_set_screen :: +    Ptr AppLaunchContext ->                 -- _obj : TInterface "Gdk" "AppLaunchContext"+    Ptr Screen ->                           -- screen : TInterface "Gdk" "Screen"+    IO ()+++appLaunchContextSetScreen ::+    (MonadIO m, AppLaunchContextK a, ScreenK b) =>+    a ->                                    -- _obj+    b ->                                    -- screen+    m ()+appLaunchContextSetScreen _obj screen = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let screen' = unsafeManagedPtrCastPtr screen+    gdk_app_launch_context_set_screen _obj' screen'+    touchManagedPtr _obj+    touchManagedPtr screen+    return ()++-- method AppLaunchContext::set_timestamp+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_app_launch_context_set_timestamp" gdk_app_launch_context_set_timestamp :: +    Ptr AppLaunchContext ->                 -- _obj : TInterface "Gdk" "AppLaunchContext"+    Word32 ->                               -- timestamp : TBasicType TUInt32+    IO ()+++appLaunchContextSetTimestamp ::+    (MonadIO m, AppLaunchContextK a) =>+    a ->                                    -- _obj+    Word32 ->                               -- timestamp+    m ()+appLaunchContextSetTimestamp _obj timestamp = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_app_launch_context_set_timestamp _obj' timestamp+    touchManagedPtr _obj+    return ()++-- struct Atom+newtype Atom = Atom (ForeignPtr Atom)+noAtom :: Maybe Atom+noAtom = Nothing++-- method Atom::name+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "gdk_atom_name" gdk_atom_name :: +    Ptr Atom ->                             -- _obj : TInterface "Gdk" "Atom"+    IO CString+++atomName ::+    (MonadIO m) =>+    Atom ->                                 -- _obj+    m T.Text+atomName _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- gdk_atom_name _obj'+    result' <- cstringToText result+    freeMem result+    touchManagedPtr _obj+    return result'++-- Enum AxisUse++data AxisUse = +      AxisUseIgnore+    | AxisUseX+    | AxisUseY+    | AxisUsePressure+    | AxisUseXtilt+    | AxisUseYtilt+    | AxisUseWheel+    | AxisUseLast+    | AnotherAxisUse Int+    deriving (Show, Eq)++instance Enum AxisUse where+    fromEnum AxisUseIgnore = 0+    fromEnum AxisUseX = 1+    fromEnum AxisUseY = 2+    fromEnum AxisUsePressure = 3+    fromEnum AxisUseXtilt = 4+    fromEnum AxisUseYtilt = 5+    fromEnum AxisUseWheel = 6+    fromEnum AxisUseLast = 7+    fromEnum (AnotherAxisUse k) = k++    toEnum 0 = AxisUseIgnore+    toEnum 1 = AxisUseX+    toEnum 2 = AxisUseY+    toEnum 3 = AxisUsePressure+    toEnum 4 = AxisUseXtilt+    toEnum 5 = AxisUseYtilt+    toEnum 6 = AxisUseWheel+    toEnum 7 = AxisUseLast+    toEnum k = AnotherAxisUse k++foreign import ccall "gdk_axis_use_get_type" c_gdk_axis_use_get_type :: +    IO GType++instance BoxedEnum AxisUse where+    boxedEnumType _ = c_gdk_axis_use_get_type++-- Enum ByteOrder++data ByteOrder = +      ByteOrderLsbFirst+    | ByteOrderMsbFirst+    | AnotherByteOrder Int+    deriving (Show, Eq)++instance Enum ByteOrder where+    fromEnum ByteOrderLsbFirst = 0+    fromEnum ByteOrderMsbFirst = 1+    fromEnum (AnotherByteOrder k) = k++    toEnum 0 = ByteOrderLsbFirst+    toEnum 1 = ByteOrderMsbFirst+    toEnum k = AnotherByteOrder k++foreign import ccall "gdk_byte_order_get_type" c_gdk_byte_order_get_type :: +    IO GType++instance BoxedEnum ByteOrder where+    boxedEnumType _ = c_gdk_byte_order_get_type++-- struct Color+newtype Color = Color (ForeignPtr Color)+noColor :: Maybe Color+noColor = Nothing++foreign import ccall "gdk_color_get_type" c_gdk_color_get_type :: +    IO GType++instance BoxedObject Color where+    boxedType _ = c_gdk_color_get_type++colorReadPixel :: Color -> IO Word32+colorReadPixel s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word32+    return val++colorReadRed :: Color -> IO Word16+colorReadRed s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 4) :: IO Word16+    return val++colorReadGreen :: Color -> IO Word16+colorReadGreen s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 6) :: IO Word16+    return val++colorReadBlue :: Color -> IO Word16+colorReadBlue s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO Word16+    return val++-- method Color::copy+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Color"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_color_copy" gdk_color_copy :: +    Ptr Color ->                            -- _obj : TInterface "Gdk" "Color"+    IO (Ptr Color)++{-# DEPRECATED colorCopy ["(Since version 3.14)","Use #GdkRGBA"]#-}+colorCopy ::+    (MonadIO m) =>+    Color ->                                -- _obj+    m Color+colorCopy _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- gdk_color_copy _obj'+    result' <- (wrapBoxed Color) result+    touchManagedPtr _obj+    return result'++-- method Color::equal+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "colorb", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "colorb", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_color_equal" gdk_color_equal :: +    Ptr Color ->                            -- _obj : TInterface "Gdk" "Color"+    Ptr Color ->                            -- colorb : TInterface "Gdk" "Color"+    IO CInt++{-# DEPRECATED colorEqual ["(Since version 3.14)","Use #GdkRGBA"]#-}+colorEqual ::+    (MonadIO m) =>+    Color ->                                -- _obj+    Color ->                                -- colorb+    m Bool+colorEqual _obj colorb = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let colorb' = unsafeManagedPtrGetPtr colorb+    result <- gdk_color_equal _obj' colorb'+    let result' = (/= 0) result+    touchManagedPtr _obj+    touchManagedPtr colorb+    return result'++-- method Color::free+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_color_free" gdk_color_free :: +    Ptr Color ->                            -- _obj : TInterface "Gdk" "Color"+    IO ()++{-# DEPRECATED colorFree ["(Since version 3.14)","Use #GdkRGBA"]#-}+colorFree ::+    (MonadIO m) =>+    Color ->                                -- _obj+    m ()+colorFree _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    gdk_color_free _obj'+    touchManagedPtr _obj+    return ()++-- method Color::hash+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_color_hash" gdk_color_hash :: +    Ptr Color ->                            -- _obj : TInterface "Gdk" "Color"+    IO Word32++{-# DEPRECATED colorHash ["(Since version 3.14)","Use #GdkRGBA"]#-}+colorHash ::+    (MonadIO m) =>+    Color ->                                -- _obj+    m Word32+colorHash _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- gdk_color_hash _obj'+    touchManagedPtr _obj+    return result++-- method Color::to_string+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "gdk_color_to_string" gdk_color_to_string :: +    Ptr Color ->                            -- _obj : TInterface "Gdk" "Color"+    IO CString++{-# DEPRECATED colorToString ["(Since version 3.14)","Use #GdkRGBA"]#-}+colorToString ::+    (MonadIO m) =>+    Color ->                                -- _obj+    m T.Text+colorToString _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- gdk_color_to_string _obj'+    result' <- cstringToText result+    freeMem result+    touchManagedPtr _obj+    return result'++-- Enum CrossingMode++data CrossingMode = +      CrossingModeNormal+    | CrossingModeGrab+    | CrossingModeUngrab+    | CrossingModeGtkGrab+    | CrossingModeGtkUngrab+    | CrossingModeStateChanged+    | CrossingModeTouchBegin+    | CrossingModeTouchEnd+    | CrossingModeDeviceSwitch+    | AnotherCrossingMode Int+    deriving (Show, Eq)++instance Enum CrossingMode where+    fromEnum CrossingModeNormal = 0+    fromEnum CrossingModeGrab = 1+    fromEnum CrossingModeUngrab = 2+    fromEnum CrossingModeGtkGrab = 3+    fromEnum CrossingModeGtkUngrab = 4+    fromEnum CrossingModeStateChanged = 5+    fromEnum CrossingModeTouchBegin = 6+    fromEnum CrossingModeTouchEnd = 7+    fromEnum CrossingModeDeviceSwitch = 8+    fromEnum (AnotherCrossingMode k) = k++    toEnum 0 = CrossingModeNormal+    toEnum 1 = CrossingModeGrab+    toEnum 2 = CrossingModeUngrab+    toEnum 3 = CrossingModeGtkGrab+    toEnum 4 = CrossingModeGtkUngrab+    toEnum 5 = CrossingModeStateChanged+    toEnum 6 = CrossingModeTouchBegin+    toEnum 7 = CrossingModeTouchEnd+    toEnum 8 = CrossingModeDeviceSwitch+    toEnum k = AnotherCrossingMode k++foreign import ccall "gdk_crossing_mode_get_type" c_gdk_crossing_mode_get_type :: +    IO GType++instance BoxedEnum CrossingMode where+    boxedEnumType _ = c_gdk_crossing_mode_get_type++-- object Cursor +newtype Cursor = Cursor (ForeignPtr Cursor)+noCursor :: Maybe Cursor+noCursor = Nothing++foreign import ccall "gdk_cursor_get_type"+    c_gdk_cursor_get_type :: IO GType++type instance ParentTypes Cursor = '[GObject.Object]++instance GObject Cursor where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_gdk_cursor_get_type+    ++class GObject o => CursorK o+instance (GObject o, IsDescendantOf Cursor o) => CursorK o++toCursor :: CursorK o => o -> IO Cursor+toCursor = unsafeCastTo Cursor++-- method Cursor::new+-- method type : Constructor+-- Args : [Arg {argName = "cursor_type", argType = TInterface "Gdk" "CursorType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "cursor_type", argType = TInterface "Gdk" "CursorType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Cursor"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cursor_new" gdk_cursor_new :: +    CUInt ->                                -- cursor_type : TInterface "Gdk" "CursorType"+    IO (Ptr Cursor)++{-# DEPRECATED cursorNew ["(Since version 3.16)","Use gdk_cursor_new_for_display() instead."]#-}+cursorNew ::+    (MonadIO m) =>+    CursorType ->                           -- cursor_type+    m Cursor+cursorNew cursor_type = liftIO $ do+    let cursor_type' = (fromIntegral . fromEnum) cursor_type+    result <- gdk_cursor_new cursor_type'+    result' <- (wrapObject Cursor) result+    return result'++-- method Cursor::new_for_display+-- method type : Constructor+-- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor_type", argType = TInterface "Gdk" "CursorType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor_type", argType = TInterface "Gdk" "CursorType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Cursor"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cursor_new_for_display" gdk_cursor_new_for_display :: +    Ptr Display ->                          -- display : TInterface "Gdk" "Display"+    CUInt ->                                -- cursor_type : TInterface "Gdk" "CursorType"+    IO (Ptr Cursor)+++cursorNewForDisplay ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- display+    CursorType ->                           -- cursor_type+    m Cursor+cursorNewForDisplay display cursor_type = liftIO $ do+    let display' = unsafeManagedPtrCastPtr display+    let cursor_type' = (fromIntegral . fromEnum) cursor_type+    result <- gdk_cursor_new_for_display display' cursor_type'+    result' <- (wrapObject Cursor) result+    touchManagedPtr display+    return result'++-- method Cursor::new_from_name+-- method type : Constructor+-- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Cursor"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cursor_new_from_name" gdk_cursor_new_from_name :: +    Ptr Display ->                          -- display : TInterface "Gdk" "Display"+    CString ->                              -- name : TBasicType TUTF8+    IO (Ptr Cursor)+++cursorNewFromName ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- display+    T.Text ->                               -- name+    m Cursor+cursorNewFromName display name = liftIO $ do+    let display' = unsafeManagedPtrCastPtr display+    name' <- textToCString name+    result <- gdk_cursor_new_from_name display' name'+    result' <- (wrapObject Cursor) result+    touchManagedPtr display+    freeMem name'+    return result'++-- method Cursor::new_from_pixbuf+-- method type : Constructor+-- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Cursor"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cursor_new_from_pixbuf" gdk_cursor_new_from_pixbuf :: +    Ptr Display ->                          -- display : TInterface "Gdk" "Display"+    Ptr GdkPixbuf.Pixbuf ->                 -- pixbuf : TInterface "GdkPixbuf" "Pixbuf"+    Int32 ->                                -- x : TBasicType TInt32+    Int32 ->                                -- y : TBasicType TInt32+    IO (Ptr Cursor)+++cursorNewFromPixbuf ::+    (MonadIO m, DisplayK a, GdkPixbuf.PixbufK b) =>+    a ->                                    -- display+    b ->                                    -- pixbuf+    Int32 ->                                -- x+    Int32 ->                                -- y+    m Cursor+cursorNewFromPixbuf display pixbuf x y = liftIO $ do+    let display' = unsafeManagedPtrCastPtr display+    let pixbuf' = unsafeManagedPtrCastPtr pixbuf+    result <- gdk_cursor_new_from_pixbuf display' pixbuf' x y+    result' <- (wrapObject Cursor) result+    touchManagedPtr display+    touchManagedPtr pixbuf+    return result'++-- method Cursor::new_from_surface+-- method type : Constructor+-- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "surface", argType = TInterface "cairo" "Surface", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "surface", argType = TInterface "cairo" "Surface", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Cursor"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cursor_new_from_surface" gdk_cursor_new_from_surface :: +    Ptr Display ->                          -- display : TInterface "Gdk" "Display"+    Ptr Cairo.Surface ->                    -- surface : TInterface "cairo" "Surface"+    CDouble ->                              -- x : TBasicType TDouble+    CDouble ->                              -- y : TBasicType TDouble+    IO (Ptr Cursor)+++cursorNewFromSurface ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- display+    Cairo.Surface ->                        -- surface+    Double ->                               -- x+    Double ->                               -- y+    m Cursor+cursorNewFromSurface display surface x y = liftIO $ do+    let display' = unsafeManagedPtrCastPtr display+    let surface' = unsafeManagedPtrGetPtr surface+    let x' = realToFrac x+    let y' = realToFrac y+    result <- gdk_cursor_new_from_surface display' surface' x' y'+    result' <- (wrapObject Cursor) result+    touchManagedPtr display+    touchManagedPtr surface+    return result'++-- method Cursor::get_cursor_type+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "CursorType"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cursor_get_cursor_type" gdk_cursor_get_cursor_type :: +    Ptr Cursor ->                           -- _obj : TInterface "Gdk" "Cursor"+    IO CUInt+++cursorGetCursorType ::+    (MonadIO m, CursorK a) =>+    a ->                                    -- _obj+    m CursorType+cursorGetCursorType _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_cursor_get_cursor_type _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method Cursor::get_display+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Display"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cursor_get_display" gdk_cursor_get_display :: +    Ptr Cursor ->                           -- _obj : TInterface "Gdk" "Cursor"+    IO (Ptr Display)+++cursorGetDisplay ::+    (MonadIO m, CursorK a) =>+    a ->                                    -- _obj+    m Display+cursorGetDisplay _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_cursor_get_display _obj'+    result' <- (newObject Display) result+    touchManagedPtr _obj+    return result'++-- method Cursor::get_image+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GdkPixbuf" "Pixbuf"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cursor_get_image" gdk_cursor_get_image :: +    Ptr Cursor ->                           -- _obj : TInterface "Gdk" "Cursor"+    IO (Ptr GdkPixbuf.Pixbuf)+++cursorGetImage ::+    (MonadIO m, CursorK a) =>+    a ->                                    -- _obj+    m GdkPixbuf.Pixbuf+cursorGetImage _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_cursor_get_image _obj'+    result' <- (wrapObject GdkPixbuf.Pixbuf) result+    touchManagedPtr _obj+    return result'++-- method Cursor::get_surface+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_hot", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y_hot", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "cairo" "Surface"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cursor_get_surface" gdk_cursor_get_surface :: +    Ptr Cursor ->                           -- _obj : TInterface "Gdk" "Cursor"+    Ptr CDouble ->                          -- x_hot : TBasicType TDouble+    Ptr CDouble ->                          -- y_hot : TBasicType TDouble+    IO (Ptr Cairo.Surface)+++cursorGetSurface ::+    (MonadIO m, CursorK a) =>+    a ->                                    -- _obj+    m (Cairo.Surface,Double,Double)+cursorGetSurface _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    x_hot <- allocMem :: IO (Ptr CDouble)+    y_hot <- allocMem :: IO (Ptr CDouble)+    result <- gdk_cursor_get_surface _obj' x_hot y_hot+    result' <- (wrapBoxed Cairo.Surface) result+    x_hot' <- peek x_hot+    let x_hot'' = realToFrac x_hot'+    y_hot' <- peek y_hot+    let y_hot'' = realToFrac y_hot'+    touchManagedPtr _obj+    freeMem x_hot+    freeMem y_hot+    return (result', x_hot'', y_hot'')++-- method Cursor::ref+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Cursor"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cursor_ref" gdk_cursor_ref :: +    Ptr Cursor ->                           -- _obj : TInterface "Gdk" "Cursor"+    IO (Ptr Cursor)++{-# DEPRECATED cursorRef ["(Since version 3.0)","Use g_object_ref() instead"]#-}+cursorRef ::+    (MonadIO m, CursorK a) =>+    a ->                                    -- _obj+    m Cursor+cursorRef _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_cursor_ref _obj'+    result' <- (wrapObject Cursor) result+    touchManagedPtr _obj+    return result'++-- method Cursor::unref+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cursor_unref" gdk_cursor_unref :: +    Ptr Cursor ->                           -- _obj : TInterface "Gdk" "Cursor"+    IO ()++{-# DEPRECATED cursorUnref ["(Since version 3.0)","Use g_object_unref() instead"]#-}+cursorUnref ::+    (MonadIO m, CursorK a) =>+    a ->                                    -- _obj+    m ()+cursorUnref _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_cursor_unref _obj'+    touchManagedPtr _obj+    return ()++-- Enum CursorType++data CursorType = +      CursorTypeXCursor+    | CursorTypeArrow+    | CursorTypeBasedArrowDown+    | CursorTypeBasedArrowUp+    | CursorTypeBoat+    | CursorTypeBogosity+    | CursorTypeBottomLeftCorner+    | CursorTypeBottomRightCorner+    | CursorTypeBottomSide+    | CursorTypeBottomTee+    | CursorTypeBoxSpiral+    | CursorTypeCenterPtr+    | CursorTypeCircle+    | CursorTypeClock+    | CursorTypeCoffeeMug+    | CursorTypeCross+    | CursorTypeCrossReverse+    | CursorTypeCrosshair+    | CursorTypeDiamondCross+    | CursorTypeDot+    | CursorTypeDotbox+    | CursorTypeDoubleArrow+    | CursorTypeDraftLarge+    | CursorTypeDraftSmall+    | CursorTypeDrapedBox+    | CursorTypeExchange+    | CursorTypeFleur+    | CursorTypeGobbler+    | CursorTypeGumby+    | CursorTypeHand1+    | CursorTypeHand2+    | CursorTypeHeart+    | CursorTypeIcon+    | CursorTypeIronCross+    | CursorTypeLeftPtr+    | CursorTypeLeftSide+    | CursorTypeLeftTee+    | CursorTypeLeftbutton+    | CursorTypeLlAngle+    | CursorTypeLrAngle+    | CursorTypeMan+    | CursorTypeMiddlebutton+    | CursorTypeMouse+    | CursorTypePencil+    | CursorTypePirate+    | CursorTypePlus+    | CursorTypeQuestionArrow+    | CursorTypeRightPtr+    | CursorTypeRightSide+    | CursorTypeRightTee+    | CursorTypeRightbutton+    | CursorTypeRtlLogo+    | CursorTypeSailboat+    | CursorTypeSbDownArrow+    | CursorTypeSbHDoubleArrow+    | CursorTypeSbLeftArrow+    | CursorTypeSbRightArrow+    | CursorTypeSbUpArrow+    | CursorTypeSbVDoubleArrow+    | CursorTypeShuttle+    | CursorTypeSizing+    | CursorTypeSpider+    | CursorTypeSpraycan+    | CursorTypeStar+    | CursorTypeTarget+    | CursorTypeTcross+    | CursorTypeTopLeftArrow+    | CursorTypeTopLeftCorner+    | CursorTypeTopRightCorner+    | CursorTypeTopSide+    | CursorTypeTopTee+    | CursorTypeTrek+    | CursorTypeUlAngle+    | CursorTypeUmbrella+    | CursorTypeUrAngle+    | CursorTypeWatch+    | CursorTypeXterm+    | CursorTypeLastCursor+    | CursorTypeBlankCursor+    | CursorTypeCursorIsPixmap+    | AnotherCursorType Int+    deriving (Show, Eq)++instance Enum CursorType where+    fromEnum CursorTypeXCursor = 0+    fromEnum CursorTypeArrow = 2+    fromEnum CursorTypeBasedArrowDown = 4+    fromEnum CursorTypeBasedArrowUp = 6+    fromEnum CursorTypeBoat = 8+    fromEnum CursorTypeBogosity = 10+    fromEnum CursorTypeBottomLeftCorner = 12+    fromEnum CursorTypeBottomRightCorner = 14+    fromEnum CursorTypeBottomSide = 16+    fromEnum CursorTypeBottomTee = 18+    fromEnum CursorTypeBoxSpiral = 20+    fromEnum CursorTypeCenterPtr = 22+    fromEnum CursorTypeCircle = 24+    fromEnum CursorTypeClock = 26+    fromEnum CursorTypeCoffeeMug = 28+    fromEnum CursorTypeCross = 30+    fromEnum CursorTypeCrossReverse = 32+    fromEnum CursorTypeCrosshair = 34+    fromEnum CursorTypeDiamondCross = 36+    fromEnum CursorTypeDot = 38+    fromEnum CursorTypeDotbox = 40+    fromEnum CursorTypeDoubleArrow = 42+    fromEnum CursorTypeDraftLarge = 44+    fromEnum CursorTypeDraftSmall = 46+    fromEnum CursorTypeDrapedBox = 48+    fromEnum CursorTypeExchange = 50+    fromEnum CursorTypeFleur = 52+    fromEnum CursorTypeGobbler = 54+    fromEnum CursorTypeGumby = 56+    fromEnum CursorTypeHand1 = 58+    fromEnum CursorTypeHand2 = 60+    fromEnum CursorTypeHeart = 62+    fromEnum CursorTypeIcon = 64+    fromEnum CursorTypeIronCross = 66+    fromEnum CursorTypeLeftPtr = 68+    fromEnum CursorTypeLeftSide = 70+    fromEnum CursorTypeLeftTee = 72+    fromEnum CursorTypeLeftbutton = 74+    fromEnum CursorTypeLlAngle = 76+    fromEnum CursorTypeLrAngle = 78+    fromEnum CursorTypeMan = 80+    fromEnum CursorTypeMiddlebutton = 82+    fromEnum CursorTypeMouse = 84+    fromEnum CursorTypePencil = 86+    fromEnum CursorTypePirate = 88+    fromEnum CursorTypePlus = 90+    fromEnum CursorTypeQuestionArrow = 92+    fromEnum CursorTypeRightPtr = 94+    fromEnum CursorTypeRightSide = 96+    fromEnum CursorTypeRightTee = 98+    fromEnum CursorTypeRightbutton = 100+    fromEnum CursorTypeRtlLogo = 102+    fromEnum CursorTypeSailboat = 104+    fromEnum CursorTypeSbDownArrow = 106+    fromEnum CursorTypeSbHDoubleArrow = 108+    fromEnum CursorTypeSbLeftArrow = 110+    fromEnum CursorTypeSbRightArrow = 112+    fromEnum CursorTypeSbUpArrow = 114+    fromEnum CursorTypeSbVDoubleArrow = 116+    fromEnum CursorTypeShuttle = 118+    fromEnum CursorTypeSizing = 120+    fromEnum CursorTypeSpider = 122+    fromEnum CursorTypeSpraycan = 124+    fromEnum CursorTypeStar = 126+    fromEnum CursorTypeTarget = 128+    fromEnum CursorTypeTcross = 130+    fromEnum CursorTypeTopLeftArrow = 132+    fromEnum CursorTypeTopLeftCorner = 134+    fromEnum CursorTypeTopRightCorner = 136+    fromEnum CursorTypeTopSide = 138+    fromEnum CursorTypeTopTee = 140+    fromEnum CursorTypeTrek = 142+    fromEnum CursorTypeUlAngle = 144+    fromEnum CursorTypeUmbrella = 146+    fromEnum CursorTypeUrAngle = 148+    fromEnum CursorTypeWatch = 150+    fromEnum CursorTypeXterm = 152+    fromEnum CursorTypeLastCursor = 153+    fromEnum CursorTypeBlankCursor = -2+    fromEnum CursorTypeCursorIsPixmap = -1+    fromEnum (AnotherCursorType k) = k++    toEnum -2 = CursorTypeBlankCursor+    toEnum -1 = CursorTypeCursorIsPixmap+    toEnum 0 = CursorTypeXCursor+    toEnum 2 = CursorTypeArrow+    toEnum 4 = CursorTypeBasedArrowDown+    toEnum 6 = CursorTypeBasedArrowUp+    toEnum 8 = CursorTypeBoat+    toEnum 10 = CursorTypeBogosity+    toEnum 12 = CursorTypeBottomLeftCorner+    toEnum 14 = CursorTypeBottomRightCorner+    toEnum 16 = CursorTypeBottomSide+    toEnum 18 = CursorTypeBottomTee+    toEnum 20 = CursorTypeBoxSpiral+    toEnum 22 = CursorTypeCenterPtr+    toEnum 24 = CursorTypeCircle+    toEnum 26 = CursorTypeClock+    toEnum 28 = CursorTypeCoffeeMug+    toEnum 30 = CursorTypeCross+    toEnum 32 = CursorTypeCrossReverse+    toEnum 34 = CursorTypeCrosshair+    toEnum 36 = CursorTypeDiamondCross+    toEnum 38 = CursorTypeDot+    toEnum 40 = CursorTypeDotbox+    toEnum 42 = CursorTypeDoubleArrow+    toEnum 44 = CursorTypeDraftLarge+    toEnum 46 = CursorTypeDraftSmall+    toEnum 48 = CursorTypeDrapedBox+    toEnum 50 = CursorTypeExchange+    toEnum 52 = CursorTypeFleur+    toEnum 54 = CursorTypeGobbler+    toEnum 56 = CursorTypeGumby+    toEnum 58 = CursorTypeHand1+    toEnum 60 = CursorTypeHand2+    toEnum 62 = CursorTypeHeart+    toEnum 64 = CursorTypeIcon+    toEnum 66 = CursorTypeIronCross+    toEnum 68 = CursorTypeLeftPtr+    toEnum 70 = CursorTypeLeftSide+    toEnum 72 = CursorTypeLeftTee+    toEnum 74 = CursorTypeLeftbutton+    toEnum 76 = CursorTypeLlAngle+    toEnum 78 = CursorTypeLrAngle+    toEnum 80 = CursorTypeMan+    toEnum 82 = CursorTypeMiddlebutton+    toEnum 84 = CursorTypeMouse+    toEnum 86 = CursorTypePencil+    toEnum 88 = CursorTypePirate+    toEnum 90 = CursorTypePlus+    toEnum 92 = CursorTypeQuestionArrow+    toEnum 94 = CursorTypeRightPtr+    toEnum 96 = CursorTypeRightSide+    toEnum 98 = CursorTypeRightTee+    toEnum 100 = CursorTypeRightbutton+    toEnum 102 = CursorTypeRtlLogo+    toEnum 104 = CursorTypeSailboat+    toEnum 106 = CursorTypeSbDownArrow+    toEnum 108 = CursorTypeSbHDoubleArrow+    toEnum 110 = CursorTypeSbLeftArrow+    toEnum 112 = CursorTypeSbRightArrow+    toEnum 114 = CursorTypeSbUpArrow+    toEnum 116 = CursorTypeSbVDoubleArrow+    toEnum 118 = CursorTypeShuttle+    toEnum 120 = CursorTypeSizing+    toEnum 122 = CursorTypeSpider+    toEnum 124 = CursorTypeSpraycan+    toEnum 126 = CursorTypeStar+    toEnum 128 = CursorTypeTarget+    toEnum 130 = CursorTypeTcross+    toEnum 132 = CursorTypeTopLeftArrow+    toEnum 134 = CursorTypeTopLeftCorner+    toEnum 136 = CursorTypeTopRightCorner+    toEnum 138 = CursorTypeTopSide+    toEnum 140 = CursorTypeTopTee+    toEnum 142 = CursorTypeTrek+    toEnum 144 = CursorTypeUlAngle+    toEnum 146 = CursorTypeUmbrella+    toEnum 148 = CursorTypeUrAngle+    toEnum 150 = CursorTypeWatch+    toEnum 152 = CursorTypeXterm+    toEnum 153 = CursorTypeLastCursor+    toEnum k = AnotherCursorType k++foreign import ccall "gdk_cursor_type_get_type" c_gdk_cursor_type_get_type :: +    IO GType++instance BoxedEnum CursorType where+    boxedEnumType _ = c_gdk_cursor_type_get_type++-- object Device +newtype Device = Device (ForeignPtr Device)+noDevice :: Maybe Device+noDevice = Nothing++foreign import ccall "gdk_device_get_type"+    c_gdk_device_get_type :: IO GType++type instance ParentTypes Device = '[GObject.Object]++instance GObject Device where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_gdk_device_get_type+    ++class GObject o => DeviceK o+instance (GObject o, IsDescendantOf Device o) => DeviceK o++toDevice :: DeviceK o => o -> IO Device+toDevice = unsafeCastTo Device++-- method Device::get_associated_device+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Device"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_associated_device" gdk_device_get_associated_device :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    IO (Ptr Device)+++deviceGetAssociatedDevice ::+    (MonadIO m, DeviceK a) =>+    a ->                                    -- _obj+    m Device+deviceGetAssociatedDevice _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_device_get_associated_device _obj'+    result' <- (newObject Device) result+    touchManagedPtr _obj+    return result'++-- method Device::get_axis_use+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "AxisUse"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_axis_use" gdk_device_get_axis_use :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    Word32 ->                               -- index_ : TBasicType TUInt32+    IO CUInt+++deviceGetAxisUse ::+    (MonadIO m, DeviceK a) =>+    a ->                                    -- _obj+    Word32 ->                               -- index_+    m AxisUse+deviceGetAxisUse _obj index_ = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_device_get_axis_use _obj' index_+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method Device::get_device_type+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "DeviceType"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_device_type" gdk_device_get_device_type :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    IO CUInt+++deviceGetDeviceType ::+    (MonadIO m, DeviceK a) =>+    a ->                                    -- _obj+    m DeviceType+deviceGetDeviceType _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_device_get_device_type _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method Device::get_display+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Display"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_display" gdk_device_get_display :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    IO (Ptr Display)+++deviceGetDisplay ::+    (MonadIO m, DeviceK a) =>+    a ->                                    -- _obj+    m Display+deviceGetDisplay _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_device_get_display _obj'+    result' <- (newObject Display) result+    touchManagedPtr _obj+    return result'++-- method Device::get_has_cursor+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_has_cursor" gdk_device_get_has_cursor :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    IO CInt+++deviceGetHasCursor ::+    (MonadIO m, DeviceK a) =>+    a ->                                    -- _obj+    m Bool+deviceGetHasCursor _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_device_get_has_cursor _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Device::get_key+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_key" gdk_device_get_key :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    Word32 ->                               -- index_ : TBasicType TUInt32+    Ptr Word32 ->                           -- keyval : TBasicType TUInt32+    Ptr CUInt ->                            -- modifiers : TInterface "Gdk" "ModifierType"+    IO CInt+++deviceGetKey ::+    (MonadIO m, DeviceK a) =>+    a ->                                    -- _obj+    Word32 ->                               -- index_+    m (Bool,Word32,[ModifierType])+deviceGetKey _obj index_ = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    keyval <- allocMem :: IO (Ptr Word32)+    modifiers <- allocMem :: IO (Ptr CUInt)+    result <- gdk_device_get_key _obj' index_ keyval modifiers+    let result' = (/= 0) result+    keyval' <- peek keyval+    modifiers' <- peek modifiers+    let modifiers'' = wordToGFlags modifiers'+    touchManagedPtr _obj+    freeMem keyval+    freeMem modifiers+    return (result', keyval', modifiers'')++-- method Device::get_last_event_window+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Window"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_last_event_window" gdk_device_get_last_event_window :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    IO (Ptr Window)+++deviceGetLastEventWindow ::+    (MonadIO m, DeviceK a) =>+    a ->                                    -- _obj+    m Window+deviceGetLastEventWindow _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_device_get_last_event_window _obj'+    result' <- (newObject Window) result+    touchManagedPtr _obj+    return result'++-- method Device::get_mode+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "InputMode"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_mode" gdk_device_get_mode :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    IO CUInt+++deviceGetMode ::+    (MonadIO m, DeviceK a) =>+    a ->                                    -- _obj+    m InputMode+deviceGetMode _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_device_get_mode _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method Device::get_n_axes+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_n_axes" gdk_device_get_n_axes :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    IO Int32+++deviceGetNAxes ::+    (MonadIO m, DeviceK a) =>+    a ->                                    -- _obj+    m Int32+deviceGetNAxes _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_device_get_n_axes _obj'+    touchManagedPtr _obj+    return result++-- method Device::get_n_keys+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_n_keys" gdk_device_get_n_keys :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    IO Int32+++deviceGetNKeys ::+    (MonadIO m, DeviceK a) =>+    a ->                                    -- _obj+    m Int32+deviceGetNKeys _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_device_get_n_keys _obj'+    touchManagedPtr _obj+    return result++-- method Device::get_name+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_name" gdk_device_get_name :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    IO CString+++deviceGetName ::+    (MonadIO m, DeviceK a) =>+    a ->                                    -- _obj+    m T.Text+deviceGetName _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_device_get_name _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method Device::get_position+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_position" gdk_device_get_position :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    Ptr (Ptr Screen) ->                     -- screen : TInterface "Gdk" "Screen"+    Ptr Int32 ->                            -- x : TBasicType TInt32+    Ptr Int32 ->                            -- y : TBasicType TInt32+    IO ()+++deviceGetPosition ::+    (MonadIO m, DeviceK a) =>+    a ->                                    -- _obj+    m (Screen,Int32,Int32)+deviceGetPosition _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    screen <- allocMem :: IO (Ptr (Ptr Screen))+    x <- allocMem :: IO (Ptr Int32)+    y <- allocMem :: IO (Ptr Int32)+    gdk_device_get_position _obj' screen x y+    screen' <- peek screen+    screen'' <- (newObject Screen) screen'+    x' <- peek x+    y' <- peek y+    touchManagedPtr _obj+    freeMem screen+    freeMem x+    freeMem y+    return (screen'', x', y')++-- method Device::get_position_double+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_position_double" gdk_device_get_position_double :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    Ptr (Ptr Screen) ->                     -- screen : TInterface "Gdk" "Screen"+    Ptr CDouble ->                          -- x : TBasicType TDouble+    Ptr CDouble ->                          -- y : TBasicType TDouble+    IO ()+++deviceGetPositionDouble ::+    (MonadIO m, DeviceK a) =>+    a ->                                    -- _obj+    m (Screen,Double,Double)+deviceGetPositionDouble _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    screen <- allocMem :: IO (Ptr (Ptr Screen))+    x <- allocMem :: IO (Ptr CDouble)+    y <- allocMem :: IO (Ptr CDouble)+    gdk_device_get_position_double _obj' screen x y+    screen' <- peek screen+    screen'' <- (newObject Screen) screen'+    x' <- peek x+    let x'' = realToFrac x'+    y' <- peek y+    let y'' = realToFrac y'+    touchManagedPtr _obj+    freeMem screen+    freeMem x+    freeMem y+    return (screen'', x'', y'')++-- method Device::get_product_id+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_product_id" gdk_device_get_product_id :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    IO CString+++deviceGetProductId ::+    (MonadIO m, DeviceK a) =>+    a ->                                    -- _obj+    m T.Text+deviceGetProductId _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_device_get_product_id _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method Device::get_source+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "InputSource"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_source" gdk_device_get_source :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    IO CUInt+++deviceGetSource ::+    (MonadIO m, DeviceK a) =>+    a ->                                    -- _obj+    m InputSource+deviceGetSource _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_device_get_source _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method Device::get_vendor_id+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_vendor_id" gdk_device_get_vendor_id :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    IO CString+++deviceGetVendorId ::+    (MonadIO m, DeviceK a) =>+    a ->                                    -- _obj+    m T.Text+deviceGetVendorId _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_device_get_vendor_id _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method Device::get_window_at_position+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "win_x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "win_y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Window"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_window_at_position" gdk_device_get_window_at_position :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    Ptr Int32 ->                            -- win_x : TBasicType TInt32+    Ptr Int32 ->                            -- win_y : TBasicType TInt32+    IO (Ptr Window)+++deviceGetWindowAtPosition ::+    (MonadIO m, DeviceK a) =>+    a ->                                    -- _obj+    m (Window,Int32,Int32)+deviceGetWindowAtPosition _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    win_x <- allocMem :: IO (Ptr Int32)+    win_y <- allocMem :: IO (Ptr Int32)+    result <- gdk_device_get_window_at_position _obj' win_x win_y+    result' <- (newObject Window) result+    win_x' <- peek win_x+    win_y' <- peek win_y+    touchManagedPtr _obj+    freeMem win_x+    freeMem win_y+    return (result', win_x', win_y')++-- method Device::get_window_at_position_double+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "win_x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "win_y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Window"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_window_at_position_double" gdk_device_get_window_at_position_double :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    Ptr CDouble ->                          -- win_x : TBasicType TDouble+    Ptr CDouble ->                          -- win_y : TBasicType TDouble+    IO (Ptr Window)+++deviceGetWindowAtPositionDouble ::+    (MonadIO m, DeviceK a) =>+    a ->                                    -- _obj+    m (Window,Double,Double)+deviceGetWindowAtPositionDouble _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    win_x <- allocMem :: IO (Ptr CDouble)+    win_y <- allocMem :: IO (Ptr CDouble)+    result <- gdk_device_get_window_at_position_double _obj' win_x win_y+    result' <- (newObject Window) result+    win_x' <- peek win_x+    let win_x'' = realToFrac win_x'+    win_y' <- peek win_y+    let win_y'' = realToFrac win_y'+    touchManagedPtr _obj+    freeMem win_x+    freeMem win_y+    return (result', win_x'', win_y'')++-- method Device::grab+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "grab_ownership", argType = TInterface "Gdk" "GrabOwnership", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "grab_ownership", argType = TInterface "Gdk" "GrabOwnership", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "GrabStatus"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_grab" gdk_device_grab :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    Ptr Window ->                           -- window : TInterface "Gdk" "Window"+    CUInt ->                                -- grab_ownership : TInterface "Gdk" "GrabOwnership"+    CInt ->                                 -- owner_events : TBasicType TBoolean+    CUInt ->                                -- event_mask : TInterface "Gdk" "EventMask"+    Ptr Cursor ->                           -- cursor : TInterface "Gdk" "Cursor"+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO CUInt+++deviceGrab ::+    (MonadIO m, DeviceK a, WindowK b, CursorK c) =>+    a ->                                    -- _obj+    b ->                                    -- window+    GrabOwnership ->                        -- grab_ownership+    Bool ->                                 -- owner_events+    [EventMask] ->                          -- event_mask+    Maybe (c) ->                            -- cursor+    Word32 ->                               -- time_+    m GrabStatus+deviceGrab _obj window grab_ownership owner_events event_mask cursor time_ = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let window' = unsafeManagedPtrCastPtr window+    let grab_ownership' = (fromIntegral . fromEnum) grab_ownership+    let owner_events' = (fromIntegral . fromEnum) owner_events+    let event_mask' = gflagsToWord event_mask+    maybeCursor <- case cursor of+        Nothing -> return nullPtr+        Just jCursor -> do+            let jCursor' = unsafeManagedPtrCastPtr jCursor+            return jCursor'+    result <- gdk_device_grab _obj' window' grab_ownership' owner_events' event_mask' maybeCursor time_+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    touchManagedPtr window+    whenJust cursor touchManagedPtr+    return result'++-- method Device::list_axes+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGList (TInterface "Gdk" "Atom")+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_list_axes" gdk_device_list_axes :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    IO (Ptr (GList (Ptr Atom)))+++deviceListAxes ::+    (MonadIO m, DeviceK a) =>+    a ->                                    -- _obj+    m [Atom]+deviceListAxes _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_device_list_axes _obj'+    -- XXX Wrapping a foreign struct/union with no known destructor, leak?+    result' <- unpackGList result+    result'' <- mapM (\x -> Atom <$> newForeignPtr_ x) result'+    g_list_free result+    touchManagedPtr _obj+    return result''++-- method Device::list_slave_devices+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGList (TInterface "Gdk" "Device")+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_list_slave_devices" gdk_device_list_slave_devices :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    IO (Ptr (GList (Ptr Device)))+++deviceListSlaveDevices ::+    (MonadIO m, DeviceK a) =>+    a ->                                    -- _obj+    m [Device]+deviceListSlaveDevices _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_device_list_slave_devices _obj'+    result' <- unpackGList result+    result'' <- mapM (newObject Device) result'+    g_list_free result+    touchManagedPtr _obj+    return result''++-- method Device::set_axis_use+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "use", argType = TInterface "Gdk" "AxisUse", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "use", argType = TInterface "Gdk" "AxisUse", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_set_axis_use" gdk_device_set_axis_use :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    Word32 ->                               -- index_ : TBasicType TUInt32+    CUInt ->                                -- use : TInterface "Gdk" "AxisUse"+    IO ()+++deviceSetAxisUse ::+    (MonadIO m, DeviceK a) =>+    a ->                                    -- _obj+    Word32 ->                               -- index_+    AxisUse ->                              -- use+    m ()+deviceSetAxisUse _obj index_ use = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let use' = (fromIntegral . fromEnum) use+    gdk_device_set_axis_use _obj' index_ use'+    touchManagedPtr _obj+    return ()++-- method Device::set_key+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_set_key" gdk_device_set_key :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    Word32 ->                               -- index_ : TBasicType TUInt32+    Word32 ->                               -- keyval : TBasicType TUInt32+    CUInt ->                                -- modifiers : TInterface "Gdk" "ModifierType"+    IO ()+++deviceSetKey ::+    (MonadIO m, DeviceK a) =>+    a ->                                    -- _obj+    Word32 ->                               -- index_+    Word32 ->                               -- keyval+    [ModifierType] ->                       -- modifiers+    m ()+deviceSetKey _obj index_ keyval modifiers = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let modifiers' = gflagsToWord modifiers+    gdk_device_set_key _obj' index_ keyval modifiers'+    touchManagedPtr _obj+    return ()++-- method Device::set_mode+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mode", argType = TInterface "Gdk" "InputMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mode", argType = TInterface "Gdk" "InputMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_set_mode" gdk_device_set_mode :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    CUInt ->                                -- mode : TInterface "Gdk" "InputMode"+    IO CInt+++deviceSetMode ::+    (MonadIO m, DeviceK a) =>+    a ->                                    -- _obj+    InputMode ->                            -- mode+    m Bool+deviceSetMode _obj mode = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let mode' = (fromIntegral . fromEnum) mode+    result <- gdk_device_set_mode _obj' mode'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Device::ungrab+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_ungrab" gdk_device_ungrab :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO ()+++deviceUngrab ::+    (MonadIO m, DeviceK a) =>+    a ->                                    -- _obj+    Word32 ->                               -- time_+    m ()+deviceUngrab _obj time_ = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_device_ungrab _obj' time_+    touchManagedPtr _obj+    return ()++-- method Device::warp+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_warp" gdk_device_warp :: +    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"+    Ptr Screen ->                           -- screen : TInterface "Gdk" "Screen"+    Int32 ->                                -- x : TBasicType TInt32+    Int32 ->                                -- y : TBasicType TInt32+    IO ()+++deviceWarp ::+    (MonadIO m, DeviceK a, ScreenK b) =>+    a ->                                    -- _obj+    b ->                                    -- screen+    Int32 ->                                -- x+    Int32 ->                                -- y+    m ()+deviceWarp _obj screen x y = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let screen' = unsafeManagedPtrCastPtr screen+    gdk_device_warp _obj' screen' x y+    touchManagedPtr _obj+    touchManagedPtr screen+    return ()++-- method Device::grab_info_libgtk_only+-- method type : MemberFunction+-- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "grab_window", argType = TInterface "Gdk" "Window", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_events", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_grab_info_libgtk_only" gdk_device_grab_info_libgtk_only :: +    Ptr Display ->                          -- display : TInterface "Gdk" "Display"+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"+    Ptr (Ptr Window) ->                     -- grab_window : TInterface "Gdk" "Window"+    Ptr CInt ->                             -- owner_events : TBasicType TBoolean+    IO CInt++{-# DEPRECATED deviceGrabInfoLibgtkOnly ["(Since version 3.16)","The symbol was never meant to be used outside","  of GTK+"]#-}+deviceGrabInfoLibgtkOnly ::+    (MonadIO m, DisplayK a, DeviceK b) =>+    a ->                                    -- display+    b ->                                    -- device+    m (Bool,Window,Bool)+deviceGrabInfoLibgtkOnly display device = liftIO $ do+    let display' = unsafeManagedPtrCastPtr display+    let device' = unsafeManagedPtrCastPtr device+    grab_window <- allocMem :: IO (Ptr (Ptr Window))+    owner_events <- allocMem :: IO (Ptr CInt)+    result <- gdk_device_grab_info_libgtk_only display' device' grab_window owner_events+    let result' = (/= 0) result+    grab_window' <- peek grab_window+    grab_window'' <- (newObject Window) grab_window'+    owner_events' <- peek owner_events+    let owner_events'' = (/= 0) owner_events'+    touchManagedPtr display+    touchManagedPtr device+    freeMem grab_window+    freeMem owner_events+    return (result', grab_window'', owner_events'')++-- signal Device::changed+type DeviceChangedCallback =+    IO ()++noDeviceChangedCallback :: Maybe DeviceChangedCallback+noDeviceChangedCallback = Nothing++type DeviceChangedCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkDeviceChangedCallback :: DeviceChangedCallbackC -> IO (FunPtr DeviceChangedCallbackC)++deviceChangedClosure :: DeviceChangedCallback -> IO Closure+deviceChangedClosure cb = newCClosure =<< mkDeviceChangedCallback wrapped+    where wrapped = deviceChangedCallbackWrapper cb++deviceChangedCallbackWrapper ::+    DeviceChangedCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+deviceChangedCallbackWrapper _cb _ _ = do+    _cb ++onDeviceChanged :: (GObject a, MonadIO m) => a -> DeviceChangedCallback -> m SignalHandlerId+onDeviceChanged obj cb = liftIO $ connectDeviceChanged obj cb SignalConnectBefore+afterDeviceChanged :: (GObject a, MonadIO m) => a -> DeviceChangedCallback -> m SignalHandlerId+afterDeviceChanged obj cb = connectDeviceChanged obj cb SignalConnectAfter++connectDeviceChanged :: (GObject a, MonadIO m) =>+                        a -> DeviceChangedCallback -> SignalConnectMode -> m SignalHandlerId+connectDeviceChanged obj cb after = liftIO $ do+    cb' <- mkDeviceChangedCallback (deviceChangedCallbackWrapper cb)+    connectSignalFunPtr obj "changed" cb' after++-- object DeviceManager +newtype DeviceManager = DeviceManager (ForeignPtr DeviceManager)+noDeviceManager :: Maybe DeviceManager+noDeviceManager = Nothing++foreign import ccall "gdk_device_manager_get_type"+    c_gdk_device_manager_get_type :: IO GType++type instance ParentTypes DeviceManager = '[GObject.Object]++instance GObject DeviceManager where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_gdk_device_manager_get_type+    ++class GObject o => DeviceManagerK o+instance (GObject o, IsDescendantOf DeviceManager o) => DeviceManagerK o++toDeviceManager :: DeviceManagerK o => o -> IO DeviceManager+toDeviceManager = unsafeCastTo DeviceManager++-- method DeviceManager::get_client_pointer+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DeviceManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DeviceManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Device"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_manager_get_client_pointer" gdk_device_manager_get_client_pointer :: +    Ptr DeviceManager ->                    -- _obj : TInterface "Gdk" "DeviceManager"+    IO (Ptr Device)+++deviceManagerGetClientPointer ::+    (MonadIO m, DeviceManagerK a) =>+    a ->                                    -- _obj+    m Device+deviceManagerGetClientPointer _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_device_manager_get_client_pointer _obj'+    result' <- (newObject Device) result+    touchManagedPtr _obj+    return result'++-- method DeviceManager::get_display+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DeviceManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DeviceManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Display"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_manager_get_display" gdk_device_manager_get_display :: +    Ptr DeviceManager ->                    -- _obj : TInterface "Gdk" "DeviceManager"+    IO (Ptr Display)+++deviceManagerGetDisplay ::+    (MonadIO m, DeviceManagerK a) =>+    a ->                                    -- _obj+    m Display+deviceManagerGetDisplay _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_device_manager_get_display _obj'+    result' <- (newObject Display) result+    touchManagedPtr _obj+    return result'++-- method DeviceManager::list_devices+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DeviceManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Gdk" "DeviceType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DeviceManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Gdk" "DeviceType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGList (TInterface "Gdk" "Device")+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_manager_list_devices" gdk_device_manager_list_devices :: +    Ptr DeviceManager ->                    -- _obj : TInterface "Gdk" "DeviceManager"+    CUInt ->                                -- type : TInterface "Gdk" "DeviceType"+    IO (Ptr (GList (Ptr Device)))+++deviceManagerListDevices ::+    (MonadIO m, DeviceManagerK a) =>+    a ->                                    -- _obj+    DeviceType ->                           -- type+    m [Device]+deviceManagerListDevices _obj type_ = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let type_' = (fromIntegral . fromEnum) type_+    result <- gdk_device_manager_list_devices _obj' type_'+    result' <- unpackGList result+    result'' <- mapM (newObject Device) result'+    g_list_free result+    touchManagedPtr _obj+    return result''++-- signal DeviceManager::device-added+type DeviceManagerDeviceAddedCallback =+    Device ->+    IO ()++noDeviceManagerDeviceAddedCallback :: Maybe DeviceManagerDeviceAddedCallback+noDeviceManagerDeviceAddedCallback = Nothing++type DeviceManagerDeviceAddedCallbackC =+    Ptr () ->                               -- object+    Ptr Device ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkDeviceManagerDeviceAddedCallback :: DeviceManagerDeviceAddedCallbackC -> IO (FunPtr DeviceManagerDeviceAddedCallbackC)++deviceManagerDeviceAddedClosure :: DeviceManagerDeviceAddedCallback -> IO Closure+deviceManagerDeviceAddedClosure cb = newCClosure =<< mkDeviceManagerDeviceAddedCallback wrapped+    where wrapped = deviceManagerDeviceAddedCallbackWrapper cb++deviceManagerDeviceAddedCallbackWrapper ::+    DeviceManagerDeviceAddedCallback ->+    Ptr () ->+    Ptr Device ->+    Ptr () ->+    IO ()+deviceManagerDeviceAddedCallbackWrapper _cb _ device _ = do+    device' <- (newObject Device) device+    _cb  device'++onDeviceManagerDeviceAdded :: (GObject a, MonadIO m) => a -> DeviceManagerDeviceAddedCallback -> m SignalHandlerId+onDeviceManagerDeviceAdded obj cb = liftIO $ connectDeviceManagerDeviceAdded obj cb SignalConnectBefore+afterDeviceManagerDeviceAdded :: (GObject a, MonadIO m) => a -> DeviceManagerDeviceAddedCallback -> m SignalHandlerId+afterDeviceManagerDeviceAdded obj cb = connectDeviceManagerDeviceAdded obj cb SignalConnectAfter++connectDeviceManagerDeviceAdded :: (GObject a, MonadIO m) =>+                                   a -> DeviceManagerDeviceAddedCallback -> SignalConnectMode -> m SignalHandlerId+connectDeviceManagerDeviceAdded obj cb after = liftIO $ do+    cb' <- mkDeviceManagerDeviceAddedCallback (deviceManagerDeviceAddedCallbackWrapper cb)+    connectSignalFunPtr obj "device-added" cb' after++-- signal DeviceManager::device-changed+type DeviceManagerDeviceChangedCallback =+    Device ->+    IO ()++noDeviceManagerDeviceChangedCallback :: Maybe DeviceManagerDeviceChangedCallback+noDeviceManagerDeviceChangedCallback = Nothing++type DeviceManagerDeviceChangedCallbackC =+    Ptr () ->                               -- object+    Ptr Device ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkDeviceManagerDeviceChangedCallback :: DeviceManagerDeviceChangedCallbackC -> IO (FunPtr DeviceManagerDeviceChangedCallbackC)++deviceManagerDeviceChangedClosure :: DeviceManagerDeviceChangedCallback -> IO Closure+deviceManagerDeviceChangedClosure cb = newCClosure =<< mkDeviceManagerDeviceChangedCallback wrapped+    where wrapped = deviceManagerDeviceChangedCallbackWrapper cb++deviceManagerDeviceChangedCallbackWrapper ::+    DeviceManagerDeviceChangedCallback ->+    Ptr () ->+    Ptr Device ->+    Ptr () ->+    IO ()+deviceManagerDeviceChangedCallbackWrapper _cb _ device _ = do+    device' <- (newObject Device) device+    _cb  device'++onDeviceManagerDeviceChanged :: (GObject a, MonadIO m) => a -> DeviceManagerDeviceChangedCallback -> m SignalHandlerId+onDeviceManagerDeviceChanged obj cb = liftIO $ connectDeviceManagerDeviceChanged obj cb SignalConnectBefore+afterDeviceManagerDeviceChanged :: (GObject a, MonadIO m) => a -> DeviceManagerDeviceChangedCallback -> m SignalHandlerId+afterDeviceManagerDeviceChanged obj cb = connectDeviceManagerDeviceChanged obj cb SignalConnectAfter++connectDeviceManagerDeviceChanged :: (GObject a, MonadIO m) =>+                                     a -> DeviceManagerDeviceChangedCallback -> SignalConnectMode -> m SignalHandlerId+connectDeviceManagerDeviceChanged obj cb after = liftIO $ do+    cb' <- mkDeviceManagerDeviceChangedCallback (deviceManagerDeviceChangedCallbackWrapper cb)+    connectSignalFunPtr obj "device-changed" cb' after++-- signal DeviceManager::device-removed+type DeviceManagerDeviceRemovedCallback =+    Device ->+    IO ()++noDeviceManagerDeviceRemovedCallback :: Maybe DeviceManagerDeviceRemovedCallback+noDeviceManagerDeviceRemovedCallback = Nothing++type DeviceManagerDeviceRemovedCallbackC =+    Ptr () ->                               -- object+    Ptr Device ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkDeviceManagerDeviceRemovedCallback :: DeviceManagerDeviceRemovedCallbackC -> IO (FunPtr DeviceManagerDeviceRemovedCallbackC)++deviceManagerDeviceRemovedClosure :: DeviceManagerDeviceRemovedCallback -> IO Closure+deviceManagerDeviceRemovedClosure cb = newCClosure =<< mkDeviceManagerDeviceRemovedCallback wrapped+    where wrapped = deviceManagerDeviceRemovedCallbackWrapper cb++deviceManagerDeviceRemovedCallbackWrapper ::+    DeviceManagerDeviceRemovedCallback ->+    Ptr () ->+    Ptr Device ->+    Ptr () ->+    IO ()+deviceManagerDeviceRemovedCallbackWrapper _cb _ device _ = do+    device' <- (newObject Device) device+    _cb  device'++onDeviceManagerDeviceRemoved :: (GObject a, MonadIO m) => a -> DeviceManagerDeviceRemovedCallback -> m SignalHandlerId+onDeviceManagerDeviceRemoved obj cb = liftIO $ connectDeviceManagerDeviceRemoved obj cb SignalConnectBefore+afterDeviceManagerDeviceRemoved :: (GObject a, MonadIO m) => a -> DeviceManagerDeviceRemovedCallback -> m SignalHandlerId+afterDeviceManagerDeviceRemoved obj cb = connectDeviceManagerDeviceRemoved obj cb SignalConnectAfter++connectDeviceManagerDeviceRemoved :: (GObject a, MonadIO m) =>+                                     a -> DeviceManagerDeviceRemovedCallback -> SignalConnectMode -> m SignalHandlerId+connectDeviceManagerDeviceRemoved obj cb after = liftIO $ do+    cb' <- mkDeviceManagerDeviceRemovedCallback (deviceManagerDeviceRemovedCallbackWrapper cb)+    connectSignalFunPtr obj "device-removed" cb' after++-- Enum DeviceType++data DeviceType = +      DeviceTypeMaster+    | DeviceTypeSlave+    | DeviceTypeFloating+    | AnotherDeviceType Int+    deriving (Show, Eq)++instance Enum DeviceType where+    fromEnum DeviceTypeMaster = 0+    fromEnum DeviceTypeSlave = 1+    fromEnum DeviceTypeFloating = 2+    fromEnum (AnotherDeviceType k) = k++    toEnum 0 = DeviceTypeMaster+    toEnum 1 = DeviceTypeSlave+    toEnum 2 = DeviceTypeFloating+    toEnum k = AnotherDeviceType k++foreign import ccall "gdk_device_type_get_type" c_gdk_device_type_get_type :: +    IO GType++instance BoxedEnum DeviceType where+    boxedEnumType _ = c_gdk_device_type_get_type++-- object Display +newtype Display = Display (ForeignPtr Display)+noDisplay :: Maybe Display+noDisplay = Nothing++foreign import ccall "gdk_display_get_type"+    c_gdk_display_get_type :: IO GType++type instance ParentTypes Display = '[GObject.Object]++instance GObject Display where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_gdk_display_get_type+    ++class GObject o => DisplayK o+instance (GObject o, IsDescendantOf Display o) => DisplayK o++toDisplay :: DisplayK o => o -> IO Display+toDisplay = unsafeCastTo Display++-- method Display::beep+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_beep" gdk_display_beep :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    IO ()+++displayBeep ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m ()+displayBeep _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_display_beep _obj'+    touchManagedPtr _obj+    return ()++-- method Display::close+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_close" gdk_display_close :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    IO ()+++displayClose ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m ()+displayClose _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_display_close _obj'+    touchManagedPtr _obj+    return ()++-- method Display::device_is_grabbed+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_device_is_grabbed" gdk_display_device_is_grabbed :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"+    IO CInt+++displayDeviceIsGrabbed ::+    (MonadIO m, DisplayK a, DeviceK b) =>+    a ->                                    -- _obj+    b ->                                    -- device+    m Bool+displayDeviceIsGrabbed _obj device = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let device' = unsafeManagedPtrCastPtr device+    result <- gdk_display_device_is_grabbed _obj' device'+    let result' = (/= 0) result+    touchManagedPtr _obj+    touchManagedPtr device+    return result'++-- method Display::flush+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_flush" gdk_display_flush :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    IO ()+++displayFlush ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m ()+displayFlush _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_display_flush _obj'+    touchManagedPtr _obj+    return ()++-- method Display::get_app_launch_context+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "AppLaunchContext"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_app_launch_context" gdk_display_get_app_launch_context :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    IO (Ptr AppLaunchContext)+++displayGetAppLaunchContext ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m AppLaunchContext+displayGetAppLaunchContext _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_display_get_app_launch_context _obj'+    result' <- (wrapObject AppLaunchContext) result+    touchManagedPtr _obj+    return result'++-- method Display::get_default_cursor_size+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_default_cursor_size" gdk_display_get_default_cursor_size :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    IO Word32+++displayGetDefaultCursorSize ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m Word32+displayGetDefaultCursorSize _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_display_get_default_cursor_size _obj'+    touchManagedPtr _obj+    return result++-- method Display::get_default_group+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Window"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_default_group" gdk_display_get_default_group :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    IO (Ptr Window)+++displayGetDefaultGroup ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m Window+displayGetDefaultGroup _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_display_get_default_group _obj'+    result' <- (newObject Window) result+    touchManagedPtr _obj+    return result'++-- method Display::get_default_screen+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Screen"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_default_screen" gdk_display_get_default_screen :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    IO (Ptr Screen)+++displayGetDefaultScreen ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m Screen+displayGetDefaultScreen _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_display_get_default_screen _obj'+    result' <- (newObject Screen) result+    touchManagedPtr _obj+    return result'++-- method Display::get_device_manager+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "DeviceManager"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_device_manager" gdk_display_get_device_manager :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    IO (Ptr DeviceManager)+++displayGetDeviceManager ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m DeviceManager+displayGetDeviceManager _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_display_get_device_manager _obj'+    result' <- (newObject DeviceManager) result+    touchManagedPtr _obj+    return result'++-- method Display::get_event+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Event"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_event" gdk_display_get_event :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    IO (Ptr Event)+++displayGetEvent ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m Event+displayGetEvent _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_display_get_event _obj'+    result' <- (wrapBoxed Event) result+    touchManagedPtr _obj+    return result'++-- method Display::get_maximal_cursor_size+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "height", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_maximal_cursor_size" gdk_display_get_maximal_cursor_size :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    Ptr Word32 ->                           -- width : TBasicType TUInt32+    Ptr Word32 ->                           -- height : TBasicType TUInt32+    IO ()+++displayGetMaximalCursorSize ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m (Word32,Word32)+displayGetMaximalCursorSize _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    width <- allocMem :: IO (Ptr Word32)+    height <- allocMem :: IO (Ptr Word32)+    gdk_display_get_maximal_cursor_size _obj' width height+    width' <- peek width+    height' <- peek height+    touchManagedPtr _obj+    freeMem width+    freeMem height+    return (width', height')++-- method Display::get_n_screens+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_n_screens" gdk_display_get_n_screens :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    IO Int32++{-# DEPRECATED displayGetNScreens ["(Since version 3.10)","The number of screens is always 1."]#-}+displayGetNScreens ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m Int32+displayGetNScreens _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_display_get_n_screens _obj'+    touchManagedPtr _obj+    return result++-- method Display::get_name+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_name" gdk_display_get_name :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    IO CString+++displayGetName ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m T.Text+displayGetName _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_display_get_name _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method Display::get_pointer+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "mask", argType = TInterface "Gdk" "ModifierType", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_pointer" gdk_display_get_pointer :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    Ptr (Ptr Screen) ->                     -- screen : TInterface "Gdk" "Screen"+    Ptr Int32 ->                            -- x : TBasicType TInt32+    Ptr Int32 ->                            -- y : TBasicType TInt32+    Ptr CUInt ->                            -- mask : TInterface "Gdk" "ModifierType"+    IO ()++{-# DEPRECATED displayGetPointer ["(Since version 3.0)","Use gdk_device_get_position() instead."]#-}+displayGetPointer ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m (Screen,Int32,Int32,[ModifierType])+displayGetPointer _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    screen <- allocMem :: IO (Ptr (Ptr Screen))+    x <- allocMem :: IO (Ptr Int32)+    y <- allocMem :: IO (Ptr Int32)+    mask <- allocMem :: IO (Ptr CUInt)+    gdk_display_get_pointer _obj' screen x y mask+    screen' <- peek screen+    screen'' <- (newObject Screen) screen'+    x' <- peek x+    y' <- peek y+    mask' <- peek mask+    let mask'' = wordToGFlags mask'+    touchManagedPtr _obj+    freeMem screen+    freeMem x+    freeMem y+    freeMem mask+    return (screen'', x', y', mask'')++-- method Display::get_screen+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Screen"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_screen" gdk_display_get_screen :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    Int32 ->                                -- screen_num : TBasicType TInt32+    IO (Ptr Screen)+++displayGetScreen ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- screen_num+    m Screen+displayGetScreen _obj screen_num = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_display_get_screen _obj' screen_num+    result' <- (newObject Screen) result+    touchManagedPtr _obj+    return result'++-- method Display::get_window_at_pointer+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "win_x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "win_y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Window"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_window_at_pointer" gdk_display_get_window_at_pointer :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    Ptr Int32 ->                            -- win_x : TBasicType TInt32+    Ptr Int32 ->                            -- win_y : TBasicType TInt32+    IO (Ptr Window)++{-# DEPRECATED displayGetWindowAtPointer ["(Since version 3.0)","Use gdk_device_get_window_at_position() instead."]#-}+displayGetWindowAtPointer ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m (Window,Int32,Int32)+displayGetWindowAtPointer _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    win_x <- allocMem :: IO (Ptr Int32)+    win_y <- allocMem :: IO (Ptr Int32)+    result <- gdk_display_get_window_at_pointer _obj' win_x win_y+    result' <- (newObject Window) result+    win_x' <- peek win_x+    win_y' <- peek win_y+    touchManagedPtr _obj+    freeMem win_x+    freeMem win_y+    return (result', win_x', win_y')++-- method Display::has_pending+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_has_pending" gdk_display_has_pending :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    IO CInt+++displayHasPending ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m Bool+displayHasPending _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_display_has_pending _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Display::is_closed+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_is_closed" gdk_display_is_closed :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    IO CInt+++displayIsClosed ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m Bool+displayIsClosed _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_display_is_closed _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Display::keyboard_ungrab+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_keyboard_ungrab" gdk_display_keyboard_ungrab :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO ()++{-# DEPRECATED displayKeyboardUngrab ["(Since version 3.0)","Use gdk_device_ungrab(), together with gdk_device_grab()","            instead."]#-}+displayKeyboardUngrab ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    Word32 ->                               -- time_+    m ()+displayKeyboardUngrab _obj time_ = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_display_keyboard_ungrab _obj' time_+    touchManagedPtr _obj+    return ()++-- method Display::list_devices+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGList (TInterface "Gdk" "Device")+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_list_devices" gdk_display_list_devices :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    IO (Ptr (GList (Ptr Device)))++{-# DEPRECATED displayListDevices ["(Since version 3.0)","Use gdk_device_manager_list_devices() instead."]#-}+displayListDevices ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m [Device]+displayListDevices _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_display_list_devices _obj'+    result' <- unpackGList result+    result'' <- mapM (newObject Device) result'+    touchManagedPtr _obj+    return result''++-- method Display::notify_startup_complete+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "startup_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "startup_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_notify_startup_complete" gdk_display_notify_startup_complete :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    CString ->                              -- startup_id : TBasicType TUTF8+    IO ()+++displayNotifyStartupComplete ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- startup_id+    m ()+displayNotifyStartupComplete _obj startup_id = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    startup_id' <- textToCString startup_id+    gdk_display_notify_startup_complete _obj' startup_id'+    touchManagedPtr _obj+    freeMem startup_id'+    return ()++-- method Display::peek_event+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Event"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_peek_event" gdk_display_peek_event :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    IO (Ptr Event)+++displayPeekEvent ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m Event+displayPeekEvent _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_display_peek_event _obj'+    result' <- (wrapBoxed Event) result+    touchManagedPtr _obj+    return result'++-- method Display::pointer_is_grabbed+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_pointer_is_grabbed" gdk_display_pointer_is_grabbed :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    IO CInt++{-# DEPRECATED displayPointerIsGrabbed ["(Since version 3.0)","Use gdk_display_device_is_grabbed() instead."]#-}+displayPointerIsGrabbed ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m Bool+displayPointerIsGrabbed _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_display_pointer_is_grabbed _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Display::pointer_ungrab+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_pointer_ungrab" gdk_display_pointer_ungrab :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO ()++{-# DEPRECATED displayPointerUngrab ["(Since version 3.0)","Use gdk_device_ungrab(), together with gdk_device_grab()","            instead."]#-}+displayPointerUngrab ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    Word32 ->                               -- time_+    m ()+displayPointerUngrab _obj time_ = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_display_pointer_ungrab _obj' time_+    touchManagedPtr _obj+    return ()++-- method Display::put_event+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_put_event" gdk_display_put_event :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    Ptr Event ->                            -- event : TInterface "Gdk" "Event"+    IO ()+++displayPutEvent ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    Event ->                                -- event+    m ()+displayPutEvent _obj event = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let event' = unsafeManagedPtrGetPtr event+    gdk_display_put_event _obj' event'+    touchManagedPtr _obj+    touchManagedPtr event+    return ()++-- method Display::request_selection_notification+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_request_selection_notification" gdk_display_request_selection_notification :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    Ptr Atom ->                             -- selection : TInterface "Gdk" "Atom"+    IO CInt+++displayRequestSelectionNotification ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    Atom ->                                 -- selection+    m Bool+displayRequestSelectionNotification _obj selection = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let selection' = unsafeManagedPtrGetPtr selection+    result <- gdk_display_request_selection_notification _obj' selection'+    let result' = (/= 0) result+    touchManagedPtr _obj+    touchManagedPtr selection+    return result'++-- method Display::set_double_click_distance+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "distance", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "distance", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_set_double_click_distance" gdk_display_set_double_click_distance :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    Word32 ->                               -- distance : TBasicType TUInt32+    IO ()+++displaySetDoubleClickDistance ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    Word32 ->                               -- distance+    m ()+displaySetDoubleClickDistance _obj distance = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_display_set_double_click_distance _obj' distance+    touchManagedPtr _obj+    return ()++-- method Display::set_double_click_time+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msec", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msec", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_set_double_click_time" gdk_display_set_double_click_time :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    Word32 ->                               -- msec : TBasicType TUInt32+    IO ()+++displaySetDoubleClickTime ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    Word32 ->                               -- msec+    m ()+displaySetDoubleClickTime _obj msec = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_display_set_double_click_time _obj' msec+    touchManagedPtr _obj+    return ()++-- method Display::store_clipboard+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "clipboard_window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "targets", argType = TCArray False (-1) 4 (TInterface "Gdk" "Atom"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_targets", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : [Arg {argName = "n_targets", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "clipboard_window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "targets", argType = TCArray False (-1) 4 (TInterface "Gdk" "Atom"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_store_clipboard" gdk_display_store_clipboard :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    Ptr Window ->                           -- clipboard_window : TInterface "Gdk" "Window"+    Word32 ->                               -- time_ : TBasicType TUInt32+    Ptr (Ptr Atom) ->                       -- targets : TCArray False (-1) 4 (TInterface "Gdk" "Atom")+    Int32 ->                                -- n_targets : TBasicType TInt32+    IO ()+++displayStoreClipboard ::+    (MonadIO m, DisplayK a, WindowK b) =>+    a ->                                    -- _obj+    b ->                                    -- clipboard_window+    Word32 ->                               -- time_+    [Atom] ->                               -- targets+    m ()+displayStoreClipboard _obj clipboard_window time_ targets = liftIO $ do+    let n_targets = fromIntegral $ length targets+    let _obj' = unsafeManagedPtrCastPtr _obj+    let clipboard_window' = unsafeManagedPtrCastPtr clipboard_window+    let targets' = map unsafeManagedPtrGetPtr targets+    targets'' <- packPtrArray targets'+    gdk_display_store_clipboard _obj' clipboard_window' time_ targets'' n_targets+    touchManagedPtr _obj+    touchManagedPtr clipboard_window+    mapM_ touchManagedPtr targets+    freeMem targets''+    return ()++-- method Display::supports_clipboard_persistence+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_supports_clipboard_persistence" gdk_display_supports_clipboard_persistence :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    IO CInt+++displaySupportsClipboardPersistence ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m Bool+displaySupportsClipboardPersistence _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_display_supports_clipboard_persistence _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Display::supports_composite+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_supports_composite" gdk_display_supports_composite :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    IO CInt++{-# DEPRECATED displaySupportsComposite ["(Since version 3.16)","Compositing is an outdated technology that","  only ever worked on X11."]#-}+displaySupportsComposite ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m Bool+displaySupportsComposite _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_display_supports_composite _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Display::supports_cursor_alpha+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_supports_cursor_alpha" gdk_display_supports_cursor_alpha :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    IO CInt+++displaySupportsCursorAlpha ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m Bool+displaySupportsCursorAlpha _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_display_supports_cursor_alpha _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Display::supports_cursor_color+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_supports_cursor_color" gdk_display_supports_cursor_color :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    IO CInt+++displaySupportsCursorColor ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m Bool+displaySupportsCursorColor _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_display_supports_cursor_color _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Display::supports_input_shapes+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_supports_input_shapes" gdk_display_supports_input_shapes :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    IO CInt+++displaySupportsInputShapes ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m Bool+displaySupportsInputShapes _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_display_supports_input_shapes _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Display::supports_selection_notification+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_supports_selection_notification" gdk_display_supports_selection_notification :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    IO CInt+++displaySupportsSelectionNotification ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m Bool+displaySupportsSelectionNotification _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_display_supports_selection_notification _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Display::supports_shapes+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_supports_shapes" gdk_display_supports_shapes :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    IO CInt+++displaySupportsShapes ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m Bool+displaySupportsShapes _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_display_supports_shapes _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Display::sync+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_sync" gdk_display_sync :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    IO ()+++displaySync ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- _obj+    m ()+displaySync _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_display_sync _obj'+    touchManagedPtr _obj+    return ()++-- method Display::warp_pointer+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_warp_pointer" gdk_display_warp_pointer :: +    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"+    Ptr Screen ->                           -- screen : TInterface "Gdk" "Screen"+    Int32 ->                                -- x : TBasicType TInt32+    Int32 ->                                -- y : TBasicType TInt32+    IO ()++{-# DEPRECATED displayWarpPointer ["(Since version 3.0)","Use gdk_device_warp() instead."]#-}+displayWarpPointer ::+    (MonadIO m, DisplayK a, ScreenK b) =>+    a ->                                    -- _obj+    b ->                                    -- screen+    Int32 ->                                -- x+    Int32 ->                                -- y+    m ()+displayWarpPointer _obj screen x y = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let screen' = unsafeManagedPtrCastPtr screen+    gdk_display_warp_pointer _obj' screen' x y+    touchManagedPtr _obj+    touchManagedPtr screen+    return ()++-- method Display::get_default+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Gdk" "Display"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_default" gdk_display_get_default :: +    IO (Ptr Display)+++displayGetDefault ::+    (MonadIO m) =>+    m Display+displayGetDefault  = liftIO $ do+    result <- gdk_display_get_default+    result' <- (newObject Display) result+    return result'++-- method Display::open+-- method type : MemberFunction+-- Args : [Arg {argName = "display_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "display_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Display"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_open" gdk_display_open :: +    CString ->                              -- display_name : TBasicType TUTF8+    IO (Ptr Display)+++displayOpen ::+    (MonadIO m) =>+    T.Text ->                               -- display_name+    m Display+displayOpen display_name = liftIO $ do+    display_name' <- textToCString display_name+    result <- gdk_display_open display_name'+    result' <- (newObject Display) result+    freeMem display_name'+    return result'++-- method Display::open_default_libgtk_only+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Gdk" "Display"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_open_default_libgtk_only" gdk_display_open_default_libgtk_only :: +    IO (Ptr Display)++{-# DEPRECATED displayOpenDefaultLibgtkOnly ["(Since version 3.16)","This symbol was never meant to be used outside","  of GTK+"]#-}+displayOpenDefaultLibgtkOnly ::+    (MonadIO m) =>+    m Display+displayOpenDefaultLibgtkOnly  = liftIO $ do+    result <- gdk_display_open_default_libgtk_only+    result' <- (newObject Display) result+    return result'++-- signal Display::closed+type DisplayClosedCallback =+    Bool ->+    IO ()++noDisplayClosedCallback :: Maybe DisplayClosedCallback+noDisplayClosedCallback = Nothing++type DisplayClosedCallbackC =+    Ptr () ->                               -- object+    CInt ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkDisplayClosedCallback :: DisplayClosedCallbackC -> IO (FunPtr DisplayClosedCallbackC)++displayClosedClosure :: DisplayClosedCallback -> IO Closure+displayClosedClosure cb = newCClosure =<< mkDisplayClosedCallback wrapped+    where wrapped = displayClosedCallbackWrapper cb++displayClosedCallbackWrapper ::+    DisplayClosedCallback ->+    Ptr () ->+    CInt ->+    Ptr () ->+    IO ()+displayClosedCallbackWrapper _cb _ is_error _ = do+    let is_error' = (/= 0) is_error+    _cb  is_error'++onDisplayClosed :: (GObject a, MonadIO m) => a -> DisplayClosedCallback -> m SignalHandlerId+onDisplayClosed obj cb = liftIO $ connectDisplayClosed obj cb SignalConnectBefore+afterDisplayClosed :: (GObject a, MonadIO m) => a -> DisplayClosedCallback -> m SignalHandlerId+afterDisplayClosed obj cb = connectDisplayClosed obj cb SignalConnectAfter++connectDisplayClosed :: (GObject a, MonadIO m) =>+                        a -> DisplayClosedCallback -> SignalConnectMode -> m SignalHandlerId+connectDisplayClosed obj cb after = liftIO $ do+    cb' <- mkDisplayClosedCallback (displayClosedCallbackWrapper cb)+    connectSignalFunPtr obj "closed" cb' after++-- signal Display::opened+type DisplayOpenedCallback =+    IO ()++noDisplayOpenedCallback :: Maybe DisplayOpenedCallback+noDisplayOpenedCallback = Nothing++type DisplayOpenedCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkDisplayOpenedCallback :: DisplayOpenedCallbackC -> IO (FunPtr DisplayOpenedCallbackC)++displayOpenedClosure :: DisplayOpenedCallback -> IO Closure+displayOpenedClosure cb = newCClosure =<< mkDisplayOpenedCallback wrapped+    where wrapped = displayOpenedCallbackWrapper cb++displayOpenedCallbackWrapper ::+    DisplayOpenedCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+displayOpenedCallbackWrapper _cb _ _ = do+    _cb ++onDisplayOpened :: (GObject a, MonadIO m) => a -> DisplayOpenedCallback -> m SignalHandlerId+onDisplayOpened obj cb = liftIO $ connectDisplayOpened obj cb SignalConnectBefore+afterDisplayOpened :: (GObject a, MonadIO m) => a -> DisplayOpenedCallback -> m SignalHandlerId+afterDisplayOpened obj cb = connectDisplayOpened obj cb SignalConnectAfter++connectDisplayOpened :: (GObject a, MonadIO m) =>+                        a -> DisplayOpenedCallback -> SignalConnectMode -> m SignalHandlerId+connectDisplayOpened obj cb after = liftIO $ do+    cb' <- mkDisplayOpenedCallback (displayOpenedCallbackWrapper cb)+    connectSignalFunPtr obj "opened" cb' after++-- object DisplayManager +newtype DisplayManager = DisplayManager (ForeignPtr DisplayManager)+noDisplayManager :: Maybe DisplayManager+noDisplayManager = Nothing++foreign import ccall "gdk_display_manager_get_type"+    c_gdk_display_manager_get_type :: IO GType++type instance ParentTypes DisplayManager = '[GObject.Object]++instance GObject DisplayManager where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_gdk_display_manager_get_type+    ++class GObject o => DisplayManagerK o+instance (GObject o, IsDescendantOf DisplayManager o) => DisplayManagerK o++toDisplayManager :: DisplayManagerK o => o -> IO DisplayManager+toDisplayManager = unsafeCastTo DisplayManager++-- method DisplayManager::get_default_display+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DisplayManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DisplayManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Display"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_manager_get_default_display" gdk_display_manager_get_default_display :: +    Ptr DisplayManager ->                   -- _obj : TInterface "Gdk" "DisplayManager"+    IO (Ptr Display)+++displayManagerGetDefaultDisplay ::+    (MonadIO m, DisplayManagerK a) =>+    a ->                                    -- _obj+    m Display+displayManagerGetDefaultDisplay _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_display_manager_get_default_display _obj'+    result' <- (newObject Display) result+    touchManagedPtr _obj+    return result'++-- method DisplayManager::list_displays+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DisplayManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DisplayManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGSList (TInterface "Gdk" "Display")+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_manager_list_displays" gdk_display_manager_list_displays :: +    Ptr DisplayManager ->                   -- _obj : TInterface "Gdk" "DisplayManager"+    IO (Ptr (GSList (Ptr Display)))+++displayManagerListDisplays ::+    (MonadIO m, DisplayManagerK a) =>+    a ->                                    -- _obj+    m [Display]+displayManagerListDisplays _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_display_manager_list_displays _obj'+    result' <- unpackGSList result+    result'' <- mapM (newObject Display) result'+    g_slist_free result+    touchManagedPtr _obj+    return result''++-- method DisplayManager::open_display+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DisplayManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DisplayManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Display"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_manager_open_display" gdk_display_manager_open_display :: +    Ptr DisplayManager ->                   -- _obj : TInterface "Gdk" "DisplayManager"+    CString ->                              -- name : TBasicType TUTF8+    IO (Ptr Display)+++displayManagerOpenDisplay ::+    (MonadIO m, DisplayManagerK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- name+    m Display+displayManagerOpenDisplay _obj name = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    name' <- textToCString name+    result <- gdk_display_manager_open_display _obj' name'+    result' <- (newObject Display) result+    touchManagedPtr _obj+    freeMem name'+    return result'++-- method DisplayManager::set_default_display+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DisplayManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DisplayManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_manager_set_default_display" gdk_display_manager_set_default_display :: +    Ptr DisplayManager ->                   -- _obj : TInterface "Gdk" "DisplayManager"+    Ptr Display ->                          -- display : TInterface "Gdk" "Display"+    IO ()+++displayManagerSetDefaultDisplay ::+    (MonadIO m, DisplayManagerK a, DisplayK b) =>+    a ->                                    -- _obj+    b ->                                    -- display+    m ()+displayManagerSetDefaultDisplay _obj display = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let display' = unsafeManagedPtrCastPtr display+    gdk_display_manager_set_default_display _obj' display'+    touchManagedPtr _obj+    touchManagedPtr display+    return ()++-- method DisplayManager::get+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Gdk" "DisplayManager"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_manager_get" gdk_display_manager_get :: +    IO (Ptr DisplayManager)+++displayManagerGet ::+    (MonadIO m) =>+    m DisplayManager+displayManagerGet  = liftIO $ do+    result <- gdk_display_manager_get+    result' <- (newObject DisplayManager) result+    return result'++-- signal DisplayManager::display-opened+type DisplayManagerDisplayOpenedCallback =+    Display ->+    IO ()++noDisplayManagerDisplayOpenedCallback :: Maybe DisplayManagerDisplayOpenedCallback+noDisplayManagerDisplayOpenedCallback = Nothing++type DisplayManagerDisplayOpenedCallbackC =+    Ptr () ->                               -- object+    Ptr Display ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkDisplayManagerDisplayOpenedCallback :: DisplayManagerDisplayOpenedCallbackC -> IO (FunPtr DisplayManagerDisplayOpenedCallbackC)++displayManagerDisplayOpenedClosure :: DisplayManagerDisplayOpenedCallback -> IO Closure+displayManagerDisplayOpenedClosure cb = newCClosure =<< mkDisplayManagerDisplayOpenedCallback wrapped+    where wrapped = displayManagerDisplayOpenedCallbackWrapper cb++displayManagerDisplayOpenedCallbackWrapper ::+    DisplayManagerDisplayOpenedCallback ->+    Ptr () ->+    Ptr Display ->+    Ptr () ->+    IO ()+displayManagerDisplayOpenedCallbackWrapper _cb _ display _ = do+    display' <- (newObject Display) display+    _cb  display'++onDisplayManagerDisplayOpened :: (GObject a, MonadIO m) => a -> DisplayManagerDisplayOpenedCallback -> m SignalHandlerId+onDisplayManagerDisplayOpened obj cb = liftIO $ connectDisplayManagerDisplayOpened obj cb SignalConnectBefore+afterDisplayManagerDisplayOpened :: (GObject a, MonadIO m) => a -> DisplayManagerDisplayOpenedCallback -> m SignalHandlerId+afterDisplayManagerDisplayOpened obj cb = connectDisplayManagerDisplayOpened obj cb SignalConnectAfter++connectDisplayManagerDisplayOpened :: (GObject a, MonadIO m) =>+                                      a -> DisplayManagerDisplayOpenedCallback -> SignalConnectMode -> m SignalHandlerId+connectDisplayManagerDisplayOpened obj cb after = liftIO $ do+    cb' <- mkDisplayManagerDisplayOpenedCallback (displayManagerDisplayOpenedCallbackWrapper cb)+    connectSignalFunPtr obj "display-opened" cb' after++-- Flags DragAction++data DragAction = +      DragActionDefault+    | DragActionCopy+    | DragActionMove+    | DragActionLink+    | DragActionPrivate+    | DragActionAsk+    | AnotherDragAction Int+    deriving (Show, Eq)++instance Enum DragAction where+    fromEnum DragActionDefault = 1+    fromEnum DragActionCopy = 2+    fromEnum DragActionMove = 4+    fromEnum DragActionLink = 8+    fromEnum DragActionPrivate = 16+    fromEnum DragActionAsk = 32+    fromEnum (AnotherDragAction k) = k++    toEnum 1 = DragActionDefault+    toEnum 2 = DragActionCopy+    toEnum 4 = DragActionMove+    toEnum 8 = DragActionLink+    toEnum 16 = DragActionPrivate+    toEnum 32 = DragActionAsk+    toEnum k = AnotherDragAction k++foreign import ccall "gdk_drag_action_get_type" c_gdk_drag_action_get_type :: +    IO GType++instance BoxedEnum DragAction where+    boxedEnumType _ = c_gdk_drag_action_get_type++instance IsGFlag DragAction++-- object DragContext +newtype DragContext = DragContext (ForeignPtr DragContext)+noDragContext :: Maybe DragContext+noDragContext = Nothing++foreign import ccall "gdk_drag_context_get_type"+    c_gdk_drag_context_get_type :: IO GType++type instance ParentTypes DragContext = '[GObject.Object]++instance GObject DragContext where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_gdk_drag_context_get_type+    ++class GObject o => DragContextK o+instance (GObject o, IsDescendantOf DragContext o) => DragContextK o++toDragContext :: DragContextK o => o -> IO DragContext+toDragContext = unsafeCastTo DragContext++-- method DragContext::get_actions+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "DragAction"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_context_get_actions" gdk_drag_context_get_actions :: +    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"+    IO CUInt+++dragContextGetActions ::+    (MonadIO m, DragContextK a) =>+    a ->                                    -- _obj+    m [DragAction]+dragContextGetActions _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_drag_context_get_actions _obj'+    let result' = wordToGFlags result+    touchManagedPtr _obj+    return result'++-- method DragContext::get_dest_window+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Window"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_context_get_dest_window" gdk_drag_context_get_dest_window :: +    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"+    IO (Ptr Window)+++dragContextGetDestWindow ::+    (MonadIO m, DragContextK a) =>+    a ->                                    -- _obj+    m Window+dragContextGetDestWindow _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_drag_context_get_dest_window _obj'+    result' <- (newObject Window) result+    touchManagedPtr _obj+    return result'++-- method DragContext::get_device+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Device"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_context_get_device" gdk_drag_context_get_device :: +    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"+    IO (Ptr Device)+++dragContextGetDevice ::+    (MonadIO m, DragContextK a) =>+    a ->                                    -- _obj+    m Device+dragContextGetDevice _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_drag_context_get_device _obj'+    result' <- (newObject Device) result+    touchManagedPtr _obj+    return result'++-- method DragContext::get_protocol+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "DragProtocol"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_context_get_protocol" gdk_drag_context_get_protocol :: +    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"+    IO CUInt+++dragContextGetProtocol ::+    (MonadIO m, DragContextK a) =>+    a ->                                    -- _obj+    m DragProtocol+dragContextGetProtocol _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_drag_context_get_protocol _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method DragContext::get_selected_action+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "DragAction"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_context_get_selected_action" gdk_drag_context_get_selected_action :: +    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"+    IO CUInt+++dragContextGetSelectedAction ::+    (MonadIO m, DragContextK a) =>+    a ->                                    -- _obj+    m [DragAction]+dragContextGetSelectedAction _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_drag_context_get_selected_action _obj'+    let result' = wordToGFlags result+    touchManagedPtr _obj+    return result'++-- method DragContext::get_source_window+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Window"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_context_get_source_window" gdk_drag_context_get_source_window :: +    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"+    IO (Ptr Window)+++dragContextGetSourceWindow ::+    (MonadIO m, DragContextK a) =>+    a ->                                    -- _obj+    m Window+dragContextGetSourceWindow _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_drag_context_get_source_window _obj'+    result' <- (newObject Window) result+    touchManagedPtr _obj+    return result'++-- method DragContext::get_suggested_action+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "DragAction"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_context_get_suggested_action" gdk_drag_context_get_suggested_action :: +    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"+    IO CUInt+++dragContextGetSuggestedAction ::+    (MonadIO m, DragContextK a) =>+    a ->                                    -- _obj+    m [DragAction]+dragContextGetSuggestedAction _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_drag_context_get_suggested_action _obj'+    let result' = wordToGFlags result+    touchManagedPtr _obj+    return result'++-- method DragContext::list_targets+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGList (TInterface "Gdk" "Atom")+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_context_list_targets" gdk_drag_context_list_targets :: +    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"+    IO (Ptr (GList (Ptr Atom)))+++dragContextListTargets ::+    (MonadIO m, DragContextK a) =>+    a ->                                    -- _obj+    m [Atom]+dragContextListTargets _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_drag_context_list_targets _obj'+    -- XXX Wrapping a foreign struct/union with no known destructor, leak?+    result' <- unpackGList result+    result'' <- mapM (\x -> Atom <$> newForeignPtr_ x) result'+    touchManagedPtr _obj+    return result''++-- method DragContext::set_device+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_context_set_device" gdk_drag_context_set_device :: +    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"+    IO ()+++dragContextSetDevice ::+    (MonadIO m, DragContextK a, DeviceK b) =>+    a ->                                    -- _obj+    b ->                                    -- device+    m ()+dragContextSetDevice _obj device = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let device' = unsafeManagedPtrCastPtr device+    gdk_drag_context_set_device _obj' device'+    touchManagedPtr _obj+    touchManagedPtr device+    return ()++-- Enum DragProtocol++data DragProtocol = +      DragProtocolNone+    | DragProtocolMotif+    | DragProtocolXdnd+    | DragProtocolRootwin+    | DragProtocolWin32Dropfiles+    | DragProtocolOle2+    | DragProtocolLocal+    | DragProtocolWayland+    | AnotherDragProtocol Int+    deriving (Show, Eq)++instance Enum DragProtocol where+    fromEnum DragProtocolNone = 0+    fromEnum DragProtocolMotif = 1+    fromEnum DragProtocolXdnd = 2+    fromEnum DragProtocolRootwin = 3+    fromEnum DragProtocolWin32Dropfiles = 4+    fromEnum DragProtocolOle2 = 5+    fromEnum DragProtocolLocal = 6+    fromEnum DragProtocolWayland = 7+    fromEnum (AnotherDragProtocol k) = k++    toEnum 0 = DragProtocolNone+    toEnum 1 = DragProtocolMotif+    toEnum 2 = DragProtocolXdnd+    toEnum 3 = DragProtocolRootwin+    toEnum 4 = DragProtocolWin32Dropfiles+    toEnum 5 = DragProtocolOle2+    toEnum 6 = DragProtocolLocal+    toEnum 7 = DragProtocolWayland+    toEnum k = AnotherDragProtocol k++foreign import ccall "gdk_drag_protocol_get_type" c_gdk_drag_protocol_get_type :: +    IO GType++instance BoxedEnum DragProtocol where+    boxedEnumType _ = c_gdk_drag_protocol_get_type++-- union Event +newtype Event = Event (ForeignPtr Event)+noEvent :: Maybe Event+noEvent = Nothing++foreign import ccall "gdk_event_get_type" c_gdk_event_get_type :: +    IO GType++instance BoxedObject Event where+    boxedType _ = c_gdk_event_get_type++eventReadType :: Event -> IO EventType+eventReadType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++eventReadAny :: Event -> IO EventAny+eventReadAny s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventAny)+    val' <- (newPtr 24 EventAny) val+    return val'++eventReadExpose :: Event -> IO EventExpose+eventReadExpose s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventExpose)+    val' <- (newPtr 56 EventExpose) val+    return val'++eventReadVisibility :: Event -> IO EventVisibility+eventReadVisibility s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventVisibility)+    val' <- (newPtr 24 EventVisibility) val+    return val'++eventReadMotion :: Event -> IO EventMotion+eventReadMotion s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventMotion)+    val' <- (newPtr 80 EventMotion) val+    return val'++eventReadButton :: Event -> IO EventButton+eventReadButton s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventButton)+    val' <- (newPtr 80 EventButton) val+    return val'++eventReadTouch :: Event -> IO EventTouch+eventReadTouch s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventTouch)+    val' <- (newPtr 96 EventTouch) val+    return val'++eventReadScroll :: Event -> IO EventScroll+eventReadScroll s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventScroll)+    val' <- (newPtr 88 EventScroll) val+    return val'++eventReadKey :: Event -> IO EventKey+eventReadKey s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventKey)+    val' <- (newPtr 56 EventKey) val+    return val'++eventReadCrossing :: Event -> IO EventCrossing+eventReadCrossing s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventCrossing)+    val' <- (newPtr 88 EventCrossing) val+    return val'++eventReadFocusChange :: Event -> IO EventFocus+eventReadFocusChange s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventFocus)+    val' <- (newPtr 24 EventFocus) val+    return val'++eventReadConfigure :: Event -> IO EventConfigure+eventReadConfigure s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventConfigure)+    val' <- (newPtr 40 EventConfigure) val+    return val'++eventReadProperty :: Event -> IO EventProperty+eventReadProperty s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventProperty)+    val' <- (newPtr 40 EventProperty) val+    return val'++eventReadSelection :: Event -> IO EventSelection+eventReadSelection s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventSelection)+    val' <- (newPtr 64 EventSelection) val+    return val'++eventReadOwnerChange :: Event -> IO EventOwnerChange+eventReadOwnerChange s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventOwnerChange)+    val' <- (newPtr 56 EventOwnerChange) val+    return val'++eventReadProximity :: Event -> IO EventProximity+eventReadProximity s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventProximity)+    val' <- (newPtr 32 EventProximity) val+    return val'++eventReadDnd :: Event -> IO EventDND+eventReadDnd s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventDND)+    val' <- (newPtr 40 EventDND) val+    return val'++eventReadWindowState :: Event -> IO EventWindowState+eventReadWindowState s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventWindowState)+    val' <- (newPtr 32 EventWindowState) val+    return val'++eventReadSetting :: Event -> IO EventSetting+eventReadSetting s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventSetting)+    val' <- (newPtr 32 EventSetting) val+    return val'++eventReadGrabBroken :: Event -> IO EventGrabBroken+eventReadGrabBroken s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventGrabBroken)+    val' <- (newPtr 40 EventGrabBroken) val+    return val'++-- method Event::new+-- method type : Constructor+-- Args : [Arg {argName = "type", argType = TInterface "Gdk" "EventType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "type", argType = TInterface "Gdk" "EventType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Event"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_new" gdk_event_new :: +    CUInt ->                                -- type : TInterface "Gdk" "EventType"+    IO (Ptr Event)+++eventNew ::+    (MonadIO m) =>+    EventType ->                            -- type+    m Event+eventNew type_ = liftIO $ do+    let type_' = (fromIntegral . fromEnum) type_+    result <- gdk_event_new type_'+    result' <- (wrapBoxed Event) result+    return result'++-- method Event::copy+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Event"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_copy" gdk_event_copy :: +    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"+    IO (Ptr Event)+++eventCopy ::+    (MonadIO m) =>+    Event ->                                -- _obj+    m Event+eventCopy _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- gdk_event_copy _obj'+    result' <- (wrapBoxed Event) result+    touchManagedPtr _obj+    return result'++-- method Event::free+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_free" gdk_event_free :: +    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"+    IO ()+++eventFree ::+    (MonadIO m) =>+    Event ->                                -- _obj+    m ()+eventFree _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    gdk_event_free _obj'+    touchManagedPtr _obj+    return ()++-- method Event::get_axis+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "axis_use", argType = TInterface "Gdk" "AxisUse", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "axis_use", argType = TInterface "Gdk" "AxisUse", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_axis" gdk_event_get_axis :: +    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"+    CUInt ->                                -- axis_use : TInterface "Gdk" "AxisUse"+    Ptr CDouble ->                          -- value : TBasicType TDouble+    IO CInt+++eventGetAxis ::+    (MonadIO m) =>+    Event ->                                -- _obj+    AxisUse ->                              -- axis_use+    m (Bool,Double)+eventGetAxis _obj axis_use = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let axis_use' = (fromIntegral . fromEnum) axis_use+    value <- allocMem :: IO (Ptr CDouble)+    result <- gdk_event_get_axis _obj' axis_use' value+    let result' = (/= 0) result+    value' <- peek value+    let value'' = realToFrac value'+    touchManagedPtr _obj+    freeMem value+    return (result', value'')++-- method Event::get_button+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_button" gdk_event_get_button :: +    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"+    Ptr Word32 ->                           -- button : TBasicType TUInt32+    IO CInt+++eventGetButton ::+    (MonadIO m) =>+    Event ->                                -- _obj+    m (Bool,Word32)+eventGetButton _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    button <- allocMem :: IO (Ptr Word32)+    result <- gdk_event_get_button _obj' button+    let result' = (/= 0) result+    button' <- peek button+    touchManagedPtr _obj+    freeMem button+    return (result', button')++-- method Event::get_click_count+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "click_count", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_click_count" gdk_event_get_click_count :: +    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"+    Ptr Word32 ->                           -- click_count : TBasicType TUInt32+    IO CInt+++eventGetClickCount ::+    (MonadIO m) =>+    Event ->                                -- _obj+    m (Bool,Word32)+eventGetClickCount _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    click_count <- allocMem :: IO (Ptr Word32)+    result <- gdk_event_get_click_count _obj' click_count+    let result' = (/= 0) result+    click_count' <- peek click_count+    touchManagedPtr _obj+    freeMem click_count+    return (result', click_count')++-- method Event::get_coords+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_win", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y_win", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_coords" gdk_event_get_coords :: +    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"+    Ptr CDouble ->                          -- x_win : TBasicType TDouble+    Ptr CDouble ->                          -- y_win : TBasicType TDouble+    IO CInt+++eventGetCoords ::+    (MonadIO m) =>+    Event ->                                -- _obj+    m (Bool,Double,Double)+eventGetCoords _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    x_win <- allocMem :: IO (Ptr CDouble)+    y_win <- allocMem :: IO (Ptr CDouble)+    result <- gdk_event_get_coords _obj' x_win y_win+    let result' = (/= 0) result+    x_win' <- peek x_win+    let x_win'' = realToFrac x_win'+    y_win' <- peek y_win+    let y_win'' = realToFrac y_win'+    touchManagedPtr _obj+    freeMem x_win+    freeMem y_win+    return (result', x_win'', y_win'')++-- method Event::get_device+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Device"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_device" gdk_event_get_device :: +    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"+    IO (Ptr Device)+++eventGetDevice ::+    (MonadIO m) =>+    Event ->                                -- _obj+    m Device+eventGetDevice _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- gdk_event_get_device _obj'+    result' <- (newObject Device) result+    touchManagedPtr _obj+    return result'++-- method Event::get_event_sequence+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "EventSequence"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_event_sequence" gdk_event_get_event_sequence :: +    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"+    IO (Ptr EventSequence)+++eventGetEventSequence ::+    (MonadIO m) =>+    Event ->                                -- _obj+    m EventSequence+eventGetEventSequence _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- gdk_event_get_event_sequence _obj'+    result' <- (newBoxed EventSequence) result+    touchManagedPtr _obj+    return result'++-- method Event::get_event_type+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "EventType"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_event_type" gdk_event_get_event_type :: +    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"+    IO CUInt+++eventGetEventType ::+    (MonadIO m) =>+    Event ->                                -- _obj+    m EventType+eventGetEventType _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- gdk_event_get_event_type _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method Event::get_keycode+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keycode", argType = TBasicType TUInt16, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_keycode" gdk_event_get_keycode :: +    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"+    Ptr Word16 ->                           -- keycode : TBasicType TUInt16+    IO CInt+++eventGetKeycode ::+    (MonadIO m) =>+    Event ->                                -- _obj+    m (Bool,Word16)+eventGetKeycode _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    keycode <- allocMem :: IO (Ptr Word16)+    result <- gdk_event_get_keycode _obj' keycode+    let result' = (/= 0) result+    keycode' <- peek keycode+    touchManagedPtr _obj+    freeMem keycode+    return (result', keycode')++-- method Event::get_keyval+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_keyval" gdk_event_get_keyval :: +    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"+    Ptr Word32 ->                           -- keyval : TBasicType TUInt32+    IO CInt+++eventGetKeyval ::+    (MonadIO m) =>+    Event ->                                -- _obj+    m (Bool,Word32)+eventGetKeyval _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    keyval <- allocMem :: IO (Ptr Word32)+    result <- gdk_event_get_keyval _obj' keyval+    let result' = (/= 0) result+    keyval' <- peek keyval+    touchManagedPtr _obj+    freeMem keyval+    return (result', keyval')++-- method Event::get_root_coords+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_root", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y_root", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_root_coords" gdk_event_get_root_coords :: +    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"+    Ptr CDouble ->                          -- x_root : TBasicType TDouble+    Ptr CDouble ->                          -- y_root : TBasicType TDouble+    IO CInt+++eventGetRootCoords ::+    (MonadIO m) =>+    Event ->                                -- _obj+    m (Bool,Double,Double)+eventGetRootCoords _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    x_root <- allocMem :: IO (Ptr CDouble)+    y_root <- allocMem :: IO (Ptr CDouble)+    result <- gdk_event_get_root_coords _obj' x_root y_root+    let result' = (/= 0) result+    x_root' <- peek x_root+    let x_root'' = realToFrac x_root'+    y_root' <- peek y_root+    let y_root'' = realToFrac y_root'+    touchManagedPtr _obj+    freeMem x_root+    freeMem y_root+    return (result', x_root'', y_root'')++-- method Event::get_screen+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Screen"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_screen" gdk_event_get_screen :: +    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"+    IO (Ptr Screen)+++eventGetScreen ::+    (MonadIO m) =>+    Event ->                                -- _obj+    m Screen+eventGetScreen _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- gdk_event_get_screen _obj'+    result' <- (newObject Screen) result+    touchManagedPtr _obj+    return result'++-- method Event::get_scroll_deltas+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "delta_x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "delta_y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_scroll_deltas" gdk_event_get_scroll_deltas :: +    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"+    Ptr CDouble ->                          -- delta_x : TBasicType TDouble+    Ptr CDouble ->                          -- delta_y : TBasicType TDouble+    IO CInt+++eventGetScrollDeltas ::+    (MonadIO m) =>+    Event ->                                -- _obj+    m (Bool,Double,Double)+eventGetScrollDeltas _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    delta_x <- allocMem :: IO (Ptr CDouble)+    delta_y <- allocMem :: IO (Ptr CDouble)+    result <- gdk_event_get_scroll_deltas _obj' delta_x delta_y+    let result' = (/= 0) result+    delta_x' <- peek delta_x+    let delta_x'' = realToFrac delta_x'+    delta_y' <- peek delta_y+    let delta_y'' = realToFrac delta_y'+    touchManagedPtr _obj+    freeMem delta_x+    freeMem delta_y+    return (result', delta_x'', delta_y'')++-- method Event::get_scroll_direction+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "direction", argType = TInterface "Gdk" "ScrollDirection", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_scroll_direction" gdk_event_get_scroll_direction :: +    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"+    Ptr CUInt ->                            -- direction : TInterface "Gdk" "ScrollDirection"+    IO CInt+++eventGetScrollDirection ::+    (MonadIO m) =>+    Event ->                                -- _obj+    m (Bool,ScrollDirection)+eventGetScrollDirection _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    direction <- allocMem :: IO (Ptr CUInt)+    result <- gdk_event_get_scroll_direction _obj' direction+    let result' = (/= 0) result+    direction' <- peek direction+    let direction'' = (toEnum . fromIntegral) direction'+    touchManagedPtr _obj+    freeMem direction+    return (result', direction'')++-- method Event::get_source_device+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Device"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_source_device" gdk_event_get_source_device :: +    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"+    IO (Ptr Device)+++eventGetSourceDevice ::+    (MonadIO m) =>+    Event ->                                -- _obj+    m Device+eventGetSourceDevice _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- gdk_event_get_source_device _obj'+    result' <- (newObject Device) result+    touchManagedPtr _obj+    return result'++-- method Event::get_state+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state", argType = TInterface "Gdk" "ModifierType", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_state" gdk_event_get_state :: +    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"+    Ptr CUInt ->                            -- state : TInterface "Gdk" "ModifierType"+    IO CInt+++eventGetState ::+    (MonadIO m) =>+    Event ->                                -- _obj+    m (Bool,[ModifierType])+eventGetState _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    state <- allocMem :: IO (Ptr CUInt)+    result <- gdk_event_get_state _obj' state+    let result' = (/= 0) result+    state' <- peek state+    let state'' = wordToGFlags state'+    touchManagedPtr _obj+    freeMem state+    return (result', state'')++-- method Event::get_time+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_time" gdk_event_get_time :: +    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"+    IO Word32+++eventGetTime ::+    (MonadIO m) =>+    Event ->                                -- _obj+    m Word32+eventGetTime _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- gdk_event_get_time _obj'+    touchManagedPtr _obj+    return result++-- method Event::get_window+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Window"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_window" gdk_event_get_window :: +    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"+    IO (Ptr Window)+++eventGetWindow ::+    (MonadIO m) =>+    Event ->                                -- _obj+    m Window+eventGetWindow _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- gdk_event_get_window _obj'+    result' <- (newObject Window) result+    touchManagedPtr _obj+    return result'++-- method Event::put+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_put" gdk_event_put :: +    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"+    IO ()+++eventPut ::+    (MonadIO m) =>+    Event ->                                -- _obj+    m ()+eventPut _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    gdk_event_put _obj'+    touchManagedPtr _obj+    return ()++-- method Event::set_device+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_set_device" gdk_event_set_device :: +    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"+    IO ()+++eventSetDevice ::+    (MonadIO m, DeviceK a) =>+    Event ->                                -- _obj+    a ->                                    -- device+    m ()+eventSetDevice _obj device = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let device' = unsafeManagedPtrCastPtr device+    gdk_event_set_device _obj' device'+    touchManagedPtr _obj+    touchManagedPtr device+    return ()++-- method Event::set_screen+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_set_screen" gdk_event_set_screen :: +    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"+    Ptr Screen ->                           -- screen : TInterface "Gdk" "Screen"+    IO ()+++eventSetScreen ::+    (MonadIO m, ScreenK a) =>+    Event ->                                -- _obj+    a ->                                    -- screen+    m ()+eventSetScreen _obj screen = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let screen' = unsafeManagedPtrCastPtr screen+    gdk_event_set_screen _obj' screen'+    touchManagedPtr _obj+    touchManagedPtr screen+    return ()++-- method Event::set_source_device+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_set_source_device" gdk_event_set_source_device :: +    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"+    IO ()+++eventSetSourceDevice ::+    (MonadIO m, DeviceK a) =>+    Event ->                                -- _obj+    a ->                                    -- device+    m ()+eventSetSourceDevice _obj device = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let device' = unsafeManagedPtrCastPtr device+    gdk_event_set_source_device _obj' device'+    touchManagedPtr _obj+    touchManagedPtr device+    return ()++-- method Event::triggers_context_menu+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_triggers_context_menu" gdk_event_triggers_context_menu :: +    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"+    IO CInt+++eventTriggersContextMenu ::+    (MonadIO m) =>+    Event ->                                -- _obj+    m Bool+eventTriggersContextMenu _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- gdk_event_triggers_context_menu _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- struct EventAny+newtype EventAny = EventAny (ForeignPtr EventAny)+noEventAny :: Maybe EventAny+noEventAny = Nothing++eventAnyReadType :: EventAny -> IO EventType+eventAnyReadType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++eventAnyReadWindow :: EventAny -> IO Window+eventAnyReadWindow s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)+    val' <- (newObject Window) val+    return val'++eventAnyReadSendEvent :: EventAny -> IO Int8+eventAnyReadSendEvent s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++-- struct EventButton+newtype EventButton = EventButton (ForeignPtr EventButton)+noEventButton :: Maybe EventButton+noEventButton = Nothing++eventButtonReadType :: EventButton -> IO EventType+eventButtonReadType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++eventButtonReadWindow :: EventButton -> IO Window+eventButtonReadWindow s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)+    val' <- (newObject Window) val+    return val'++eventButtonReadSendEvent :: EventButton -> IO Int8+eventButtonReadSendEvent s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++eventButtonReadTime :: EventButton -> IO Word32+eventButtonReadTime s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Word32+    return val++eventButtonReadX :: EventButton -> IO Double+eventButtonReadX s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CDouble+    let val' = realToFrac val+    return val'++eventButtonReadY :: EventButton -> IO Double+eventButtonReadY s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO CDouble+    let val' = realToFrac val+    return val'++eventButtonReadAxes :: EventButton -> IO Double+eventButtonReadAxes s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO CDouble+    let val' = realToFrac val+    return val'++eventButtonReadState :: EventButton -> IO [ModifierType]+eventButtonReadState s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO CUInt+    let val' = wordToGFlags val+    return val'++eventButtonReadButton :: EventButton -> IO Word32+eventButtonReadButton s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 52) :: IO Word32+    return val++eventButtonReadDevice :: EventButton -> IO Device+eventButtonReadDevice s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 56) :: IO (Ptr Device)+    val' <- (newObject Device) val+    return val'++eventButtonReadXRoot :: EventButton -> IO Double+eventButtonReadXRoot s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 64) :: IO CDouble+    let val' = realToFrac val+    return val'++eventButtonReadYRoot :: EventButton -> IO Double+eventButtonReadYRoot s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 72) :: IO CDouble+    let val' = realToFrac val+    return val'++-- struct EventConfigure+newtype EventConfigure = EventConfigure (ForeignPtr EventConfigure)+noEventConfigure :: Maybe EventConfigure+noEventConfigure = Nothing++eventConfigureReadType :: EventConfigure -> IO EventType+eventConfigureReadType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++eventConfigureReadWindow :: EventConfigure -> IO Window+eventConfigureReadWindow s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)+    val' <- (newObject Window) val+    return val'++eventConfigureReadSendEvent :: EventConfigure -> IO Int8+eventConfigureReadSendEvent s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++eventConfigureReadX :: EventConfigure -> IO Int32+eventConfigureReadX s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Int32+    return val++eventConfigureReadY :: EventConfigure -> IO Int32+eventConfigureReadY s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO Int32+    return val++eventConfigureReadWidth :: EventConfigure -> IO Int32+eventConfigureReadWidth s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 28) :: IO Int32+    return val++eventConfigureReadHeight :: EventConfigure -> IO Int32+eventConfigureReadHeight s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO Int32+    return val++-- struct EventCrossing+newtype EventCrossing = EventCrossing (ForeignPtr EventCrossing)+noEventCrossing :: Maybe EventCrossing+noEventCrossing = Nothing++eventCrossingReadType :: EventCrossing -> IO EventType+eventCrossingReadType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++eventCrossingReadWindow :: EventCrossing -> IO Window+eventCrossingReadWindow s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)+    val' <- (newObject Window) val+    return val'++eventCrossingReadSendEvent :: EventCrossing -> IO Int8+eventCrossingReadSendEvent s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++eventCrossingReadSubwindow :: EventCrossing -> IO Window+eventCrossingReadSubwindow s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO (Ptr Window)+    val' <- (newObject Window) val+    return val'++eventCrossingReadTime :: EventCrossing -> IO Word32+eventCrossingReadTime s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO Word32+    return val++eventCrossingReadX :: EventCrossing -> IO Double+eventCrossingReadX s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO CDouble+    let val' = realToFrac val+    return val'++eventCrossingReadY :: EventCrossing -> IO Double+eventCrossingReadY s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO CDouble+    let val' = realToFrac val+    return val'++eventCrossingReadXRoot :: EventCrossing -> IO Double+eventCrossingReadXRoot s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 56) :: IO CDouble+    let val' = realToFrac val+    return val'++eventCrossingReadYRoot :: EventCrossing -> IO Double+eventCrossingReadYRoot s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 64) :: IO CDouble+    let val' = realToFrac val+    return val'++eventCrossingReadMode :: EventCrossing -> IO CrossingMode+eventCrossingReadMode s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 72) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++eventCrossingReadDetail :: EventCrossing -> IO NotifyType+eventCrossingReadDetail s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 76) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++eventCrossingReadFocus :: EventCrossing -> IO Bool+eventCrossingReadFocus s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 80) :: IO CInt+    let val' = (/= 0) val+    return val'++eventCrossingReadState :: EventCrossing -> IO [ModifierType]+eventCrossingReadState s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 84) :: IO CUInt+    let val' = wordToGFlags val+    return val'++-- struct EventDND+newtype EventDND = EventDND (ForeignPtr EventDND)+noEventDND :: Maybe EventDND+noEventDND = Nothing++eventDNDReadType :: EventDND -> IO EventType+eventDNDReadType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++eventDNDReadWindow :: EventDND -> IO Window+eventDNDReadWindow s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)+    val' <- (newObject Window) val+    return val'++eventDNDReadSendEvent :: EventDND -> IO Int8+eventDNDReadSendEvent s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++eventDNDReadContext :: EventDND -> IO DragContext+eventDNDReadContext s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO (Ptr DragContext)+    val' <- (newObject DragContext) val+    return val'++eventDNDReadTime :: EventDND -> IO Word32+eventDNDReadTime s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO Word32+    return val++eventDNDReadXRoot :: EventDND -> IO Int16+eventDNDReadXRoot s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 36) :: IO Int16+    return val++eventDNDReadYRoot :: EventDND -> IO Int16+eventDNDReadYRoot s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 38) :: IO Int16+    return val++-- struct EventExpose+newtype EventExpose = EventExpose (ForeignPtr EventExpose)+noEventExpose :: Maybe EventExpose+noEventExpose = Nothing++eventExposeReadType :: EventExpose -> IO EventType+eventExposeReadType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++eventExposeReadWindow :: EventExpose -> IO Window+eventExposeReadWindow s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)+    val' <- (newObject Window) val+    return val'++eventExposeReadSendEvent :: EventExpose -> IO Int8+eventExposeReadSendEvent s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++eventExposeReadArea :: EventExpose -> IO Cairo.RectangleInt+eventExposeReadArea s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO (Ptr Cairo.RectangleInt)+    val' <- (newBoxed Cairo.RectangleInt) val+    return val'++eventExposeReadRegion :: EventExpose -> IO Cairo.Region+eventExposeReadRegion s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO (Ptr Cairo.Region)+    val' <- (newBoxed Cairo.Region) val+    return val'++eventExposeReadCount :: EventExpose -> IO Int32+eventExposeReadCount s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO Int32+    return val++-- struct EventFocus+newtype EventFocus = EventFocus (ForeignPtr EventFocus)+noEventFocus :: Maybe EventFocus+noEventFocus = Nothing++eventFocusReadType :: EventFocus -> IO EventType+eventFocusReadType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++eventFocusReadWindow :: EventFocus -> IO Window+eventFocusReadWindow s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)+    val' <- (newObject Window) val+    return val'++eventFocusReadSendEvent :: EventFocus -> IO Int8+eventFocusReadSendEvent s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++eventFocusReadIn :: EventFocus -> IO Int16+eventFocusReadIn s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 18) :: IO Int16+    return val++-- callback EventFunc+eventFuncClosure :: EventFunc -> IO Closure+eventFuncClosure cb = newCClosure =<< mkEventFunc wrapped+    where wrapped = eventFuncWrapper Nothing cb++type EventFuncC =+    Ptr Event ->+    Ptr () ->+    IO ()++foreign import ccall "wrapper"+    mkEventFunc :: EventFuncC -> IO (FunPtr EventFuncC)++type EventFunc =+    Event ->+    IO ()++noEventFunc :: Maybe EventFunc+noEventFunc = Nothing++eventFuncWrapper ::+    Maybe (Ptr (FunPtr (EventFuncC))) ->+    EventFunc ->+    Ptr Event ->+    Ptr () ->+    IO ()+eventFuncWrapper funptrptr _cb event _ = do+    event' <- (newBoxed Event) event+    _cb  event'+    maybeReleaseFunPtr funptrptr++-- struct EventGrabBroken+newtype EventGrabBroken = EventGrabBroken (ForeignPtr EventGrabBroken)+noEventGrabBroken :: Maybe EventGrabBroken+noEventGrabBroken = Nothing++eventGrabBrokenReadType :: EventGrabBroken -> IO EventType+eventGrabBrokenReadType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++eventGrabBrokenReadWindow :: EventGrabBroken -> IO Window+eventGrabBrokenReadWindow s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)+    val' <- (newObject Window) val+    return val'++eventGrabBrokenReadSendEvent :: EventGrabBroken -> IO Int8+eventGrabBrokenReadSendEvent s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++eventGrabBrokenReadKeyboard :: EventGrabBroken -> IO Bool+eventGrabBrokenReadKeyboard s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO CInt+    let val' = (/= 0) val+    return val'++eventGrabBrokenReadImplicit :: EventGrabBroken -> IO Bool+eventGrabBrokenReadImplicit s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CInt+    let val' = (/= 0) val+    return val'++eventGrabBrokenReadGrabWindow :: EventGrabBroken -> IO Window+eventGrabBrokenReadGrabWindow s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO (Ptr Window)+    val' <- (newObject Window) val+    return val'++-- struct EventKey+newtype EventKey = EventKey (ForeignPtr EventKey)+noEventKey :: Maybe EventKey+noEventKey = Nothing++eventKeyReadType :: EventKey -> IO EventType+eventKeyReadType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++eventKeyReadWindow :: EventKey -> IO Window+eventKeyReadWindow s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)+    val' <- (newObject Window) val+    return val'++eventKeyReadSendEvent :: EventKey -> IO Int8+eventKeyReadSendEvent s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++eventKeyReadTime :: EventKey -> IO Word32+eventKeyReadTime s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Word32+    return val++eventKeyReadState :: EventKey -> IO [ModifierType]+eventKeyReadState s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CUInt+    let val' = wordToGFlags val+    return val'++eventKeyReadKeyval :: EventKey -> IO Word32+eventKeyReadKeyval s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 28) :: IO Word32+    return val++eventKeyReadLength :: EventKey -> IO Int32+eventKeyReadLength s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO Int32+    return val++eventKeyReadString :: EventKey -> IO T.Text+eventKeyReadString s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO CString+    val' <- cstringToText val+    return val'++eventKeyReadHardwareKeycode :: EventKey -> IO Word16+eventKeyReadHardwareKeycode s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO Word16+    return val++eventKeyReadGroup :: EventKey -> IO Word8+eventKeyReadGroup s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 50) :: IO Word8+    return val++eventKeyReadIsModifier :: EventKey -> IO Word32+eventKeyReadIsModifier s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 52) :: IO Word32+    return val++-- Flags EventMask++data EventMask = +      EventMaskExposureMask+    | EventMaskPointerMotionMask+    | EventMaskPointerMotionHintMask+    | EventMaskButtonMotionMask+    | EventMaskButton1MotionMask+    | EventMaskButton2MotionMask+    | EventMaskButton3MotionMask+    | EventMaskButtonPressMask+    | EventMaskButtonReleaseMask+    | EventMaskKeyPressMask+    | EventMaskKeyReleaseMask+    | EventMaskEnterNotifyMask+    | EventMaskLeaveNotifyMask+    | EventMaskFocusChangeMask+    | EventMaskStructureMask+    | EventMaskPropertyChangeMask+    | EventMaskVisibilityNotifyMask+    | EventMaskProximityInMask+    | EventMaskProximityOutMask+    | EventMaskSubstructureMask+    | EventMaskScrollMask+    | EventMaskTouchMask+    | EventMaskSmoothScrollMask+    | EventMaskAllEventsMask+    | AnotherEventMask Int+    deriving (Show, Eq)++instance Enum EventMask where+    fromEnum EventMaskExposureMask = 2+    fromEnum EventMaskPointerMotionMask = 4+    fromEnum EventMaskPointerMotionHintMask = 8+    fromEnum EventMaskButtonMotionMask = 16+    fromEnum EventMaskButton1MotionMask = 32+    fromEnum EventMaskButton2MotionMask = 64+    fromEnum EventMaskButton3MotionMask = 128+    fromEnum EventMaskButtonPressMask = 256+    fromEnum EventMaskButtonReleaseMask = 512+    fromEnum EventMaskKeyPressMask = 1024+    fromEnum EventMaskKeyReleaseMask = 2048+    fromEnum EventMaskEnterNotifyMask = 4096+    fromEnum EventMaskLeaveNotifyMask = 8192+    fromEnum EventMaskFocusChangeMask = 16384+    fromEnum EventMaskStructureMask = 32768+    fromEnum EventMaskPropertyChangeMask = 65536+    fromEnum EventMaskVisibilityNotifyMask = 131072+    fromEnum EventMaskProximityInMask = 262144+    fromEnum EventMaskProximityOutMask = 524288+    fromEnum EventMaskSubstructureMask = 1048576+    fromEnum EventMaskScrollMask = 2097152+    fromEnum EventMaskTouchMask = 4194304+    fromEnum EventMaskSmoothScrollMask = 8388608+    fromEnum EventMaskAllEventsMask = 16777214+    fromEnum (AnotherEventMask k) = k++    toEnum 2 = EventMaskExposureMask+    toEnum 4 = EventMaskPointerMotionMask+    toEnum 8 = EventMaskPointerMotionHintMask+    toEnum 16 = EventMaskButtonMotionMask+    toEnum 32 = EventMaskButton1MotionMask+    toEnum 64 = EventMaskButton2MotionMask+    toEnum 128 = EventMaskButton3MotionMask+    toEnum 256 = EventMaskButtonPressMask+    toEnum 512 = EventMaskButtonReleaseMask+    toEnum 1024 = EventMaskKeyPressMask+    toEnum 2048 = EventMaskKeyReleaseMask+    toEnum 4096 = EventMaskEnterNotifyMask+    toEnum 8192 = EventMaskLeaveNotifyMask+    toEnum 16384 = EventMaskFocusChangeMask+    toEnum 32768 = EventMaskStructureMask+    toEnum 65536 = EventMaskPropertyChangeMask+    toEnum 131072 = EventMaskVisibilityNotifyMask+    toEnum 262144 = EventMaskProximityInMask+    toEnum 524288 = EventMaskProximityOutMask+    toEnum 1048576 = EventMaskSubstructureMask+    toEnum 2097152 = EventMaskScrollMask+    toEnum 4194304 = EventMaskTouchMask+    toEnum 8388608 = EventMaskSmoothScrollMask+    toEnum 16777214 = EventMaskAllEventsMask+    toEnum k = AnotherEventMask k++foreign import ccall "gdk_event_mask_get_type" c_gdk_event_mask_get_type :: +    IO GType++instance BoxedEnum EventMask where+    boxedEnumType _ = c_gdk_event_mask_get_type++instance IsGFlag EventMask++-- struct EventMotion+newtype EventMotion = EventMotion (ForeignPtr EventMotion)+noEventMotion :: Maybe EventMotion+noEventMotion = Nothing++eventMotionReadType :: EventMotion -> IO EventType+eventMotionReadType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++eventMotionReadWindow :: EventMotion -> IO Window+eventMotionReadWindow s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)+    val' <- (newObject Window) val+    return val'++eventMotionReadSendEvent :: EventMotion -> IO Int8+eventMotionReadSendEvent s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++eventMotionReadTime :: EventMotion -> IO Word32+eventMotionReadTime s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Word32+    return val++eventMotionReadX :: EventMotion -> IO Double+eventMotionReadX s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CDouble+    let val' = realToFrac val+    return val'++eventMotionReadY :: EventMotion -> IO Double+eventMotionReadY s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO CDouble+    let val' = realToFrac val+    return val'++eventMotionReadAxes :: EventMotion -> IO Double+eventMotionReadAxes s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO CDouble+    let val' = realToFrac val+    return val'++eventMotionReadState :: EventMotion -> IO [ModifierType]+eventMotionReadState s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO CUInt+    let val' = wordToGFlags val+    return val'++eventMotionReadIsHint :: EventMotion -> IO Int16+eventMotionReadIsHint s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 52) :: IO Int16+    return val++eventMotionReadDevice :: EventMotion -> IO Device+eventMotionReadDevice s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 56) :: IO (Ptr Device)+    val' <- (newObject Device) val+    return val'++eventMotionReadXRoot :: EventMotion -> IO Double+eventMotionReadXRoot s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 64) :: IO CDouble+    let val' = realToFrac val+    return val'++eventMotionReadYRoot :: EventMotion -> IO Double+eventMotionReadYRoot s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 72) :: IO CDouble+    let val' = realToFrac val+    return val'++-- struct EventOwnerChange+newtype EventOwnerChange = EventOwnerChange (ForeignPtr EventOwnerChange)+noEventOwnerChange :: Maybe EventOwnerChange+noEventOwnerChange = Nothing++eventOwnerChangeReadType :: EventOwnerChange -> IO EventType+eventOwnerChangeReadType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++eventOwnerChangeReadWindow :: EventOwnerChange -> IO Window+eventOwnerChangeReadWindow s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)+    val' <- (newObject Window) val+    return val'++eventOwnerChangeReadSendEvent :: EventOwnerChange -> IO Int8+eventOwnerChangeReadSendEvent s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++eventOwnerChangeReadOwner :: EventOwnerChange -> IO Window+eventOwnerChangeReadOwner s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO (Ptr Window)+    val' <- (newObject Window) val+    return val'++eventOwnerChangeReadReason :: EventOwnerChange -> IO OwnerChange+eventOwnerChangeReadReason s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++eventOwnerChangeReadSelection :: EventOwnerChange -> IO Atom+eventOwnerChangeReadSelection s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO (Ptr Atom)+    -- XXX Wrapping a foreign struct/union with no known destructor, leak?+    val' <- (\x -> Atom <$> newForeignPtr_ x) val+    return val'++eventOwnerChangeReadTime :: EventOwnerChange -> IO Word32+eventOwnerChangeReadTime s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO Word32+    return val++eventOwnerChangeReadSelectionTime :: EventOwnerChange -> IO Word32+eventOwnerChangeReadSelectionTime s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 52) :: IO Word32+    return val++-- struct EventProperty+newtype EventProperty = EventProperty (ForeignPtr EventProperty)+noEventProperty :: Maybe EventProperty+noEventProperty = Nothing++eventPropertyReadType :: EventProperty -> IO EventType+eventPropertyReadType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++eventPropertyReadWindow :: EventProperty -> IO Window+eventPropertyReadWindow s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)+    val' <- (newObject Window) val+    return val'++eventPropertyReadSendEvent :: EventProperty -> IO Int8+eventPropertyReadSendEvent s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++eventPropertyReadAtom :: EventProperty -> IO Atom+eventPropertyReadAtom s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO (Ptr Atom)+    -- XXX Wrapping a foreign struct/union with no known destructor, leak?+    val' <- (\x -> Atom <$> newForeignPtr_ x) val+    return val'++eventPropertyReadTime :: EventProperty -> IO Word32+eventPropertyReadTime s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO Word32+    return val++eventPropertyReadState :: EventProperty -> IO PropertyState+eventPropertyReadState s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 36) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++-- struct EventProximity+newtype EventProximity = EventProximity (ForeignPtr EventProximity)+noEventProximity :: Maybe EventProximity+noEventProximity = Nothing++eventProximityReadType :: EventProximity -> IO EventType+eventProximityReadType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++eventProximityReadWindow :: EventProximity -> IO Window+eventProximityReadWindow s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)+    val' <- (newObject Window) val+    return val'++eventProximityReadSendEvent :: EventProximity -> IO Int8+eventProximityReadSendEvent s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++eventProximityReadTime :: EventProximity -> IO Word32+eventProximityReadTime s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Word32+    return val++eventProximityReadDevice :: EventProximity -> IO Device+eventProximityReadDevice s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO (Ptr Device)+    val' <- (newObject Device) val+    return val'++-- struct EventScroll+newtype EventScroll = EventScroll (ForeignPtr EventScroll)+noEventScroll :: Maybe EventScroll+noEventScroll = Nothing++eventScrollReadType :: EventScroll -> IO EventType+eventScrollReadType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++eventScrollReadWindow :: EventScroll -> IO Window+eventScrollReadWindow s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)+    val' <- (newObject Window) val+    return val'++eventScrollReadSendEvent :: EventScroll -> IO Int8+eventScrollReadSendEvent s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++eventScrollReadTime :: EventScroll -> IO Word32+eventScrollReadTime s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Word32+    return val++eventScrollReadX :: EventScroll -> IO Double+eventScrollReadX s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CDouble+    let val' = realToFrac val+    return val'++eventScrollReadY :: EventScroll -> IO Double+eventScrollReadY s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO CDouble+    let val' = realToFrac val+    return val'++eventScrollReadState :: EventScroll -> IO [ModifierType]+eventScrollReadState s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO CUInt+    let val' = wordToGFlags val+    return val'++eventScrollReadDirection :: EventScroll -> IO ScrollDirection+eventScrollReadDirection s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 44) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++eventScrollReadDevice :: EventScroll -> IO Device+eventScrollReadDevice s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO (Ptr Device)+    val' <- (newObject Device) val+    return val'++eventScrollReadXRoot :: EventScroll -> IO Double+eventScrollReadXRoot s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 56) :: IO CDouble+    let val' = realToFrac val+    return val'++eventScrollReadYRoot :: EventScroll -> IO Double+eventScrollReadYRoot s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 64) :: IO CDouble+    let val' = realToFrac val+    return val'++eventScrollReadDeltaX :: EventScroll -> IO Double+eventScrollReadDeltaX s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 72) :: IO CDouble+    let val' = realToFrac val+    return val'++eventScrollReadDeltaY :: EventScroll -> IO Double+eventScrollReadDeltaY s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 80) :: IO CDouble+    let val' = realToFrac val+    return val'++-- struct EventSelection+newtype EventSelection = EventSelection (ForeignPtr EventSelection)+noEventSelection :: Maybe EventSelection+noEventSelection = Nothing++eventSelectionReadType :: EventSelection -> IO EventType+eventSelectionReadType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++eventSelectionReadWindow :: EventSelection -> IO Window+eventSelectionReadWindow s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)+    val' <- (newObject Window) val+    return val'++eventSelectionReadSendEvent :: EventSelection -> IO Int8+eventSelectionReadSendEvent s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++eventSelectionReadSelection :: EventSelection -> IO Atom+eventSelectionReadSelection s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO (Ptr Atom)+    -- XXX Wrapping a foreign struct/union with no known destructor, leak?+    val' <- (\x -> Atom <$> newForeignPtr_ x) val+    return val'++eventSelectionReadTarget :: EventSelection -> IO Atom+eventSelectionReadTarget s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO (Ptr Atom)+    -- XXX Wrapping a foreign struct/union with no known destructor, leak?+    val' <- (\x -> Atom <$> newForeignPtr_ x) val+    return val'++eventSelectionReadProperty :: EventSelection -> IO Atom+eventSelectionReadProperty s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO (Ptr Atom)+    -- XXX Wrapping a foreign struct/union with no known destructor, leak?+    val' <- (\x -> Atom <$> newForeignPtr_ x) val+    return val'++eventSelectionReadTime :: EventSelection -> IO Word32+eventSelectionReadTime s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO Word32+    return val++eventSelectionReadRequestor :: EventSelection -> IO Window+eventSelectionReadRequestor s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 56) :: IO (Ptr Window)+    val' <- (newObject Window) val+    return val'++-- struct EventSequence+newtype EventSequence = EventSequence (ForeignPtr EventSequence)+noEventSequence :: Maybe EventSequence+noEventSequence = Nothing++foreign import ccall "gdk_event_sequence_get_type" c_gdk_event_sequence_get_type :: +    IO GType++instance BoxedObject EventSequence where+    boxedType _ = c_gdk_event_sequence_get_type++-- struct EventSetting+newtype EventSetting = EventSetting (ForeignPtr EventSetting)+noEventSetting :: Maybe EventSetting+noEventSetting = Nothing++eventSettingReadType :: EventSetting -> IO EventType+eventSettingReadType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++eventSettingReadWindow :: EventSetting -> IO Window+eventSettingReadWindow s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)+    val' <- (newObject Window) val+    return val'++eventSettingReadSendEvent :: EventSetting -> IO Int8+eventSettingReadSendEvent s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++eventSettingReadAction :: EventSetting -> IO SettingAction+eventSettingReadAction s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++eventSettingReadName :: EventSetting -> IO T.Text+eventSettingReadName s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CString+    val' <- cstringToText val+    return val'++-- struct EventTouch+newtype EventTouch = EventTouch (ForeignPtr EventTouch)+noEventTouch :: Maybe EventTouch+noEventTouch = Nothing++eventTouchReadType :: EventTouch -> IO EventType+eventTouchReadType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++eventTouchReadWindow :: EventTouch -> IO Window+eventTouchReadWindow s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)+    val' <- (newObject Window) val+    return val'++eventTouchReadSendEvent :: EventTouch -> IO Int8+eventTouchReadSendEvent s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++eventTouchReadTime :: EventTouch -> IO Word32+eventTouchReadTime s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Word32+    return val++eventTouchReadX :: EventTouch -> IO Double+eventTouchReadX s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CDouble+    let val' = realToFrac val+    return val'++eventTouchReadY :: EventTouch -> IO Double+eventTouchReadY s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO CDouble+    let val' = realToFrac val+    return val'++eventTouchReadAxes :: EventTouch -> IO Double+eventTouchReadAxes s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO CDouble+    let val' = realToFrac val+    return val'++eventTouchReadState :: EventTouch -> IO [ModifierType]+eventTouchReadState s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO CUInt+    let val' = wordToGFlags val+    return val'++eventTouchReadSequence :: EventTouch -> IO EventSequence+eventTouchReadSequence s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 56) :: IO (Ptr EventSequence)+    val' <- (newBoxed EventSequence) val+    return val'++eventTouchReadEmulatingPointer :: EventTouch -> IO Bool+eventTouchReadEmulatingPointer s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 64) :: IO CInt+    let val' = (/= 0) val+    return val'++eventTouchReadDevice :: EventTouch -> IO Device+eventTouchReadDevice s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 72) :: IO (Ptr Device)+    val' <- (newObject Device) val+    return val'++eventTouchReadXRoot :: EventTouch -> IO Double+eventTouchReadXRoot s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 80) :: IO CDouble+    let val' = realToFrac val+    return val'++eventTouchReadYRoot :: EventTouch -> IO Double+eventTouchReadYRoot s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 88) :: IO CDouble+    let val' = realToFrac val+    return val'++-- Enum EventType++data EventType = +      EventTypeNothing+    | EventTypeDelete+    | EventTypeDestroy+    | EventTypeExpose+    | EventTypeMotionNotify+    | EventTypeButtonPress+    | EventType2buttonPress+    | EventTypeDoubleButtonPress+    | EventType3buttonPress+    | EventTypeTripleButtonPress+    | EventTypeButtonRelease+    | EventTypeKeyPress+    | EventTypeKeyRelease+    | EventTypeEnterNotify+    | EventTypeLeaveNotify+    | EventTypeFocusChange+    | EventTypeConfigure+    | EventTypeMap+    | EventTypeUnmap+    | EventTypePropertyNotify+    | EventTypeSelectionClear+    | EventTypeSelectionRequest+    | EventTypeSelectionNotify+    | EventTypeProximityIn+    | EventTypeProximityOut+    | EventTypeDragEnter+    | EventTypeDragLeave+    | EventTypeDragMotion+    | EventTypeDragStatus+    | EventTypeDropStart+    | EventTypeDropFinished+    | EventTypeClientEvent+    | EventTypeVisibilityNotify+    | EventTypeScroll+    | EventTypeWindowState+    | EventTypeSetting+    | EventTypeOwnerChange+    | EventTypeGrabBroken+    | EventTypeDamage+    | EventTypeTouchBegin+    | EventTypeTouchUpdate+    | EventTypeTouchEnd+    | EventTypeTouchCancel+    | EventTypeEventLast+    | AnotherEventType Int+    deriving (Show, Eq)++instance Enum EventType where+    fromEnum EventTypeNothing = -1+    fromEnum EventTypeDelete = 0+    fromEnum EventTypeDestroy = 1+    fromEnum EventTypeExpose = 2+    fromEnum EventTypeMotionNotify = 3+    fromEnum EventTypeButtonPress = 4+    fromEnum EventType2buttonPress = 5+    fromEnum EventTypeDoubleButtonPress = 5+    fromEnum EventType3buttonPress = 6+    fromEnum EventTypeTripleButtonPress = 6+    fromEnum EventTypeButtonRelease = 7+    fromEnum EventTypeKeyPress = 8+    fromEnum EventTypeKeyRelease = 9+    fromEnum EventTypeEnterNotify = 10+    fromEnum EventTypeLeaveNotify = 11+    fromEnum EventTypeFocusChange = 12+    fromEnum EventTypeConfigure = 13+    fromEnum EventTypeMap = 14+    fromEnum EventTypeUnmap = 15+    fromEnum EventTypePropertyNotify = 16+    fromEnum EventTypeSelectionClear = 17+    fromEnum EventTypeSelectionRequest = 18+    fromEnum EventTypeSelectionNotify = 19+    fromEnum EventTypeProximityIn = 20+    fromEnum EventTypeProximityOut = 21+    fromEnum EventTypeDragEnter = 22+    fromEnum EventTypeDragLeave = 23+    fromEnum EventTypeDragMotion = 24+    fromEnum EventTypeDragStatus = 25+    fromEnum EventTypeDropStart = 26+    fromEnum EventTypeDropFinished = 27+    fromEnum EventTypeClientEvent = 28+    fromEnum EventTypeVisibilityNotify = 29+    fromEnum EventTypeScroll = 31+    fromEnum EventTypeWindowState = 32+    fromEnum EventTypeSetting = 33+    fromEnum EventTypeOwnerChange = 34+    fromEnum EventTypeGrabBroken = 35+    fromEnum EventTypeDamage = 36+    fromEnum EventTypeTouchBegin = 37+    fromEnum EventTypeTouchUpdate = 38+    fromEnum EventTypeTouchEnd = 39+    fromEnum EventTypeTouchCancel = 40+    fromEnum EventTypeEventLast = 41+    fromEnum (AnotherEventType k) = k++    toEnum -1 = EventTypeNothing+    toEnum 0 = EventTypeDelete+    toEnum 1 = EventTypeDestroy+    toEnum 2 = EventTypeExpose+    toEnum 3 = EventTypeMotionNotify+    toEnum 4 = EventTypeButtonPress+    toEnum 5 = EventType2buttonPress+    toEnum 6 = EventType3buttonPress+    toEnum 7 = EventTypeButtonRelease+    toEnum 8 = EventTypeKeyPress+    toEnum 9 = EventTypeKeyRelease+    toEnum 10 = EventTypeEnterNotify+    toEnum 11 = EventTypeLeaveNotify+    toEnum 12 = EventTypeFocusChange+    toEnum 13 = EventTypeConfigure+    toEnum 14 = EventTypeMap+    toEnum 15 = EventTypeUnmap+    toEnum 16 = EventTypePropertyNotify+    toEnum 17 = EventTypeSelectionClear+    toEnum 18 = EventTypeSelectionRequest+    toEnum 19 = EventTypeSelectionNotify+    toEnum 20 = EventTypeProximityIn+    toEnum 21 = EventTypeProximityOut+    toEnum 22 = EventTypeDragEnter+    toEnum 23 = EventTypeDragLeave+    toEnum 24 = EventTypeDragMotion+    toEnum 25 = EventTypeDragStatus+    toEnum 26 = EventTypeDropStart+    toEnum 27 = EventTypeDropFinished+    toEnum 28 = EventTypeClientEvent+    toEnum 29 = EventTypeVisibilityNotify+    toEnum 31 = EventTypeScroll+    toEnum 32 = EventTypeWindowState+    toEnum 33 = EventTypeSetting+    toEnum 34 = EventTypeOwnerChange+    toEnum 35 = EventTypeGrabBroken+    toEnum 36 = EventTypeDamage+    toEnum 37 = EventTypeTouchBegin+    toEnum 38 = EventTypeTouchUpdate+    toEnum 39 = EventTypeTouchEnd+    toEnum 40 = EventTypeTouchCancel+    toEnum 41 = EventTypeEventLast+    toEnum k = AnotherEventType k++foreign import ccall "gdk_event_type_get_type" c_gdk_event_type_get_type :: +    IO GType++instance BoxedEnum EventType where+    boxedEnumType _ = c_gdk_event_type_get_type++-- struct EventVisibility+newtype EventVisibility = EventVisibility (ForeignPtr EventVisibility)+noEventVisibility :: Maybe EventVisibility+noEventVisibility = Nothing++eventVisibilityReadType :: EventVisibility -> IO EventType+eventVisibilityReadType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++eventVisibilityReadWindow :: EventVisibility -> IO Window+eventVisibilityReadWindow s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)+    val' <- (newObject Window) val+    return val'++eventVisibilityReadSendEvent :: EventVisibility -> IO Int8+eventVisibilityReadSendEvent s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++eventVisibilityReadState :: EventVisibility -> IO VisibilityState+eventVisibilityReadState s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++-- struct EventWindowState+newtype EventWindowState = EventWindowState (ForeignPtr EventWindowState)+noEventWindowState :: Maybe EventWindowState+noEventWindowState = Nothing++eventWindowStateReadType :: EventWindowState -> IO EventType+eventWindowStateReadType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++eventWindowStateReadWindow :: EventWindowState -> IO Window+eventWindowStateReadWindow s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)+    val' <- (newObject Window) val+    return val'++eventWindowStateReadSendEvent :: EventWindowState -> IO Int8+eventWindowStateReadSendEvent s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++eventWindowStateReadChangedMask :: EventWindowState -> IO [WindowState]+eventWindowStateReadChangedMask s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO CUInt+    let val' = wordToGFlags val+    return val'++eventWindowStateReadNewWindowState :: EventWindowState -> IO [WindowState]+eventWindowStateReadNewWindowState s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CUInt+    let val' = wordToGFlags val+    return val'++-- callback FilterFunc+filterFuncClosure :: FilterFunc -> IO Closure+filterFuncClosure cb = newCClosure =<< mkFilterFunc wrapped+    where wrapped = filterFuncWrapper Nothing cb++type FilterFuncC =+    Ptr () ->+    Ptr Event ->+    Ptr () ->+    IO CUInt++foreign import ccall "wrapper"+    mkFilterFunc :: FilterFuncC -> IO (FunPtr FilterFuncC)++type FilterFunc =+    Ptr () ->+    Event ->+    IO FilterReturn++noFilterFunc :: Maybe FilterFunc+noFilterFunc = Nothing++filterFuncWrapper ::+    Maybe (Ptr (FunPtr (FilterFuncC))) ->+    FilterFunc ->+    Ptr () ->+    Ptr Event ->+    Ptr () ->+    IO CUInt+filterFuncWrapper funptrptr _cb xevent event _ = do+    event' <- (newBoxed Event) event+    result <- _cb  xevent event'+    maybeReleaseFunPtr funptrptr+    let result' = (fromIntegral . fromEnum) result+    return result'++-- Enum FilterReturn++data FilterReturn = +      FilterReturnContinue+    | FilterReturnTranslate+    | FilterReturnRemove+    | AnotherFilterReturn Int+    deriving (Show, Eq)++instance Enum FilterReturn where+    fromEnum FilterReturnContinue = 0+    fromEnum FilterReturnTranslate = 1+    fromEnum FilterReturnRemove = 2+    fromEnum (AnotherFilterReturn k) = k++    toEnum 0 = FilterReturnContinue+    toEnum 1 = FilterReturnTranslate+    toEnum 2 = FilterReturnRemove+    toEnum k = AnotherFilterReturn k++foreign import ccall "gdk_filter_return_get_type" c_gdk_filter_return_get_type :: +    IO GType++instance BoxedEnum FilterReturn where+    boxedEnumType _ = c_gdk_filter_return_get_type++-- object FrameClock +newtype FrameClock = FrameClock (ForeignPtr FrameClock)+noFrameClock :: Maybe FrameClock+noFrameClock = Nothing++foreign import ccall "gdk_frame_clock_get_type"+    c_gdk_frame_clock_get_type :: IO GType++type instance ParentTypes FrameClock = '[GObject.Object]++instance GObject FrameClock where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_gdk_frame_clock_get_type+    ++class GObject o => FrameClockK o+instance (GObject o, IsDescendantOf FrameClock o) => FrameClockK o++toFrameClock :: FrameClockK o => o -> IO FrameClock+toFrameClock = unsafeCastTo FrameClock++-- method FrameClock::begin_updating+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_clock_begin_updating" gdk_frame_clock_begin_updating :: +    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"+    IO ()+++frameClockBeginUpdating ::+    (MonadIO m, FrameClockK a) =>+    a ->                                    -- _obj+    m ()+frameClockBeginUpdating _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_frame_clock_begin_updating _obj'+    touchManagedPtr _obj+    return ()++-- method FrameClock::end_updating+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_clock_end_updating" gdk_frame_clock_end_updating :: +    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"+    IO ()+++frameClockEndUpdating ::+    (MonadIO m, FrameClockK a) =>+    a ->                                    -- _obj+    m ()+frameClockEndUpdating _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_frame_clock_end_updating _obj'+    touchManagedPtr _obj+    return ()++-- method FrameClock::get_current_timings+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "FrameTimings"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_clock_get_current_timings" gdk_frame_clock_get_current_timings :: +    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"+    IO (Ptr FrameTimings)+++frameClockGetCurrentTimings ::+    (MonadIO m, FrameClockK a) =>+    a ->                                    -- _obj+    m FrameTimings+frameClockGetCurrentTimings _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_frame_clock_get_current_timings _obj'+    result' <- (wrapBoxed FrameTimings) result+    touchManagedPtr _obj+    return result'++-- method FrameClock::get_frame_counter+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt64+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_clock_get_frame_counter" gdk_frame_clock_get_frame_counter :: +    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"+    IO Int64+++frameClockGetFrameCounter ::+    (MonadIO m, FrameClockK a) =>+    a ->                                    -- _obj+    m Int64+frameClockGetFrameCounter _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_frame_clock_get_frame_counter _obj'+    touchManagedPtr _obj+    return result++-- method FrameClock::get_frame_time+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt64+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_clock_get_frame_time" gdk_frame_clock_get_frame_time :: +    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"+    IO Int64+++frameClockGetFrameTime ::+    (MonadIO m, FrameClockK a) =>+    a ->                                    -- _obj+    m Int64+frameClockGetFrameTime _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_frame_clock_get_frame_time _obj'+    touchManagedPtr _obj+    return result++-- method FrameClock::get_history_start+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt64+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_clock_get_history_start" gdk_frame_clock_get_history_start :: +    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"+    IO Int64+++frameClockGetHistoryStart ::+    (MonadIO m, FrameClockK a) =>+    a ->                                    -- _obj+    m Int64+frameClockGetHistoryStart _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_frame_clock_get_history_start _obj'+    touchManagedPtr _obj+    return result++-- method FrameClock::get_refresh_info+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_time", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "refresh_interval_return", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "presentation_time_return", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_time", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "refresh_interval_return", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "presentation_time_return", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_clock_get_refresh_info" gdk_frame_clock_get_refresh_info :: +    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"+    Int64 ->                                -- base_time : TBasicType TInt64+    Int64 ->                                -- refresh_interval_return : TBasicType TInt64+    Int64 ->                                -- presentation_time_return : TBasicType TInt64+    IO ()+++frameClockGetRefreshInfo ::+    (MonadIO m, FrameClockK a) =>+    a ->                                    -- _obj+    Int64 ->                                -- base_time+    Int64 ->                                -- refresh_interval_return+    Int64 ->                                -- presentation_time_return+    m ()+frameClockGetRefreshInfo _obj base_time refresh_interval_return presentation_time_return = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_frame_clock_get_refresh_info _obj' base_time refresh_interval_return presentation_time_return+    touchManagedPtr _obj+    return ()++-- method FrameClock::get_timings+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "frame_counter", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "frame_counter", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "FrameTimings"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_clock_get_timings" gdk_frame_clock_get_timings :: +    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"+    Int64 ->                                -- frame_counter : TBasicType TInt64+    IO (Ptr FrameTimings)+++frameClockGetTimings ::+    (MonadIO m, FrameClockK a) =>+    a ->                                    -- _obj+    Int64 ->                                -- frame_counter+    m FrameTimings+frameClockGetTimings _obj frame_counter = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_frame_clock_get_timings _obj' frame_counter+    result' <- (wrapBoxed FrameTimings) result+    touchManagedPtr _obj+    return result'++-- method FrameClock::request_phase+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "phase", argType = TInterface "Gdk" "FrameClockPhase", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "phase", argType = TInterface "Gdk" "FrameClockPhase", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_clock_request_phase" gdk_frame_clock_request_phase :: +    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"+    CUInt ->                                -- phase : TInterface "Gdk" "FrameClockPhase"+    IO ()+++frameClockRequestPhase ::+    (MonadIO m, FrameClockK a) =>+    a ->                                    -- _obj+    [FrameClockPhase] ->                    -- phase+    m ()+frameClockRequestPhase _obj phase = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let phase' = gflagsToWord phase+    gdk_frame_clock_request_phase _obj' phase'+    touchManagedPtr _obj+    return ()++-- signal FrameClock::after-paint+type FrameClockAfterPaintCallback =+    IO ()++noFrameClockAfterPaintCallback :: Maybe FrameClockAfterPaintCallback+noFrameClockAfterPaintCallback = Nothing++type FrameClockAfterPaintCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkFrameClockAfterPaintCallback :: FrameClockAfterPaintCallbackC -> IO (FunPtr FrameClockAfterPaintCallbackC)++frameClockAfterPaintClosure :: FrameClockAfterPaintCallback -> IO Closure+frameClockAfterPaintClosure cb = newCClosure =<< mkFrameClockAfterPaintCallback wrapped+    where wrapped = frameClockAfterPaintCallbackWrapper cb++frameClockAfterPaintCallbackWrapper ::+    FrameClockAfterPaintCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+frameClockAfterPaintCallbackWrapper _cb _ _ = do+    _cb ++onFrameClockAfterPaint :: (GObject a, MonadIO m) => a -> FrameClockAfterPaintCallback -> m SignalHandlerId+onFrameClockAfterPaint obj cb = liftIO $ connectFrameClockAfterPaint obj cb SignalConnectBefore+afterFrameClockAfterPaint :: (GObject a, MonadIO m) => a -> FrameClockAfterPaintCallback -> m SignalHandlerId+afterFrameClockAfterPaint obj cb = connectFrameClockAfterPaint obj cb SignalConnectAfter++connectFrameClockAfterPaint :: (GObject a, MonadIO m) =>+                               a -> FrameClockAfterPaintCallback -> SignalConnectMode -> m SignalHandlerId+connectFrameClockAfterPaint obj cb after = liftIO $ do+    cb' <- mkFrameClockAfterPaintCallback (frameClockAfterPaintCallbackWrapper cb)+    connectSignalFunPtr obj "after-paint" cb' after++-- signal FrameClock::before-paint+type FrameClockBeforePaintCallback =+    IO ()++noFrameClockBeforePaintCallback :: Maybe FrameClockBeforePaintCallback+noFrameClockBeforePaintCallback = Nothing++type FrameClockBeforePaintCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkFrameClockBeforePaintCallback :: FrameClockBeforePaintCallbackC -> IO (FunPtr FrameClockBeforePaintCallbackC)++frameClockBeforePaintClosure :: FrameClockBeforePaintCallback -> IO Closure+frameClockBeforePaintClosure cb = newCClosure =<< mkFrameClockBeforePaintCallback wrapped+    where wrapped = frameClockBeforePaintCallbackWrapper cb++frameClockBeforePaintCallbackWrapper ::+    FrameClockBeforePaintCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+frameClockBeforePaintCallbackWrapper _cb _ _ = do+    _cb ++onFrameClockBeforePaint :: (GObject a, MonadIO m) => a -> FrameClockBeforePaintCallback -> m SignalHandlerId+onFrameClockBeforePaint obj cb = liftIO $ connectFrameClockBeforePaint obj cb SignalConnectBefore+afterFrameClockBeforePaint :: (GObject a, MonadIO m) => a -> FrameClockBeforePaintCallback -> m SignalHandlerId+afterFrameClockBeforePaint obj cb = connectFrameClockBeforePaint obj cb SignalConnectAfter++connectFrameClockBeforePaint :: (GObject a, MonadIO m) =>+                                a -> FrameClockBeforePaintCallback -> SignalConnectMode -> m SignalHandlerId+connectFrameClockBeforePaint obj cb after = liftIO $ do+    cb' <- mkFrameClockBeforePaintCallback (frameClockBeforePaintCallbackWrapper cb)+    connectSignalFunPtr obj "before-paint" cb' after++-- signal FrameClock::flush-events+type FrameClockFlushEventsCallback =+    IO ()++noFrameClockFlushEventsCallback :: Maybe FrameClockFlushEventsCallback+noFrameClockFlushEventsCallback = Nothing++type FrameClockFlushEventsCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkFrameClockFlushEventsCallback :: FrameClockFlushEventsCallbackC -> IO (FunPtr FrameClockFlushEventsCallbackC)++frameClockFlushEventsClosure :: FrameClockFlushEventsCallback -> IO Closure+frameClockFlushEventsClosure cb = newCClosure =<< mkFrameClockFlushEventsCallback wrapped+    where wrapped = frameClockFlushEventsCallbackWrapper cb++frameClockFlushEventsCallbackWrapper ::+    FrameClockFlushEventsCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+frameClockFlushEventsCallbackWrapper _cb _ _ = do+    _cb ++onFrameClockFlushEvents :: (GObject a, MonadIO m) => a -> FrameClockFlushEventsCallback -> m SignalHandlerId+onFrameClockFlushEvents obj cb = liftIO $ connectFrameClockFlushEvents obj cb SignalConnectBefore+afterFrameClockFlushEvents :: (GObject a, MonadIO m) => a -> FrameClockFlushEventsCallback -> m SignalHandlerId+afterFrameClockFlushEvents obj cb = connectFrameClockFlushEvents obj cb SignalConnectAfter++connectFrameClockFlushEvents :: (GObject a, MonadIO m) =>+                                a -> FrameClockFlushEventsCallback -> SignalConnectMode -> m SignalHandlerId+connectFrameClockFlushEvents obj cb after = liftIO $ do+    cb' <- mkFrameClockFlushEventsCallback (frameClockFlushEventsCallbackWrapper cb)+    connectSignalFunPtr obj "flush-events" cb' after++-- signal FrameClock::layout+type FrameClockLayoutCallback =+    IO ()++noFrameClockLayoutCallback :: Maybe FrameClockLayoutCallback+noFrameClockLayoutCallback = Nothing++type FrameClockLayoutCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkFrameClockLayoutCallback :: FrameClockLayoutCallbackC -> IO (FunPtr FrameClockLayoutCallbackC)++frameClockLayoutClosure :: FrameClockLayoutCallback -> IO Closure+frameClockLayoutClosure cb = newCClosure =<< mkFrameClockLayoutCallback wrapped+    where wrapped = frameClockLayoutCallbackWrapper cb++frameClockLayoutCallbackWrapper ::+    FrameClockLayoutCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+frameClockLayoutCallbackWrapper _cb _ _ = do+    _cb ++onFrameClockLayout :: (GObject a, MonadIO m) => a -> FrameClockLayoutCallback -> m SignalHandlerId+onFrameClockLayout obj cb = liftIO $ connectFrameClockLayout obj cb SignalConnectBefore+afterFrameClockLayout :: (GObject a, MonadIO m) => a -> FrameClockLayoutCallback -> m SignalHandlerId+afterFrameClockLayout obj cb = connectFrameClockLayout obj cb SignalConnectAfter++connectFrameClockLayout :: (GObject a, MonadIO m) =>+                           a -> FrameClockLayoutCallback -> SignalConnectMode -> m SignalHandlerId+connectFrameClockLayout obj cb after = liftIO $ do+    cb' <- mkFrameClockLayoutCallback (frameClockLayoutCallbackWrapper cb)+    connectSignalFunPtr obj "layout" cb' after++-- signal FrameClock::paint+type FrameClockPaintCallback =+    IO ()++noFrameClockPaintCallback :: Maybe FrameClockPaintCallback+noFrameClockPaintCallback = Nothing++type FrameClockPaintCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkFrameClockPaintCallback :: FrameClockPaintCallbackC -> IO (FunPtr FrameClockPaintCallbackC)++frameClockPaintClosure :: FrameClockPaintCallback -> IO Closure+frameClockPaintClosure cb = newCClosure =<< mkFrameClockPaintCallback wrapped+    where wrapped = frameClockPaintCallbackWrapper cb++frameClockPaintCallbackWrapper ::+    FrameClockPaintCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+frameClockPaintCallbackWrapper _cb _ _ = do+    _cb ++onFrameClockPaint :: (GObject a, MonadIO m) => a -> FrameClockPaintCallback -> m SignalHandlerId+onFrameClockPaint obj cb = liftIO $ connectFrameClockPaint obj cb SignalConnectBefore+afterFrameClockPaint :: (GObject a, MonadIO m) => a -> FrameClockPaintCallback -> m SignalHandlerId+afterFrameClockPaint obj cb = connectFrameClockPaint obj cb SignalConnectAfter++connectFrameClockPaint :: (GObject a, MonadIO m) =>+                          a -> FrameClockPaintCallback -> SignalConnectMode -> m SignalHandlerId+connectFrameClockPaint obj cb after = liftIO $ do+    cb' <- mkFrameClockPaintCallback (frameClockPaintCallbackWrapper cb)+    connectSignalFunPtr obj "paint" cb' after++-- signal FrameClock::resume-events+type FrameClockResumeEventsCallback =+    IO ()++noFrameClockResumeEventsCallback :: Maybe FrameClockResumeEventsCallback+noFrameClockResumeEventsCallback = Nothing++type FrameClockResumeEventsCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkFrameClockResumeEventsCallback :: FrameClockResumeEventsCallbackC -> IO (FunPtr FrameClockResumeEventsCallbackC)++frameClockResumeEventsClosure :: FrameClockResumeEventsCallback -> IO Closure+frameClockResumeEventsClosure cb = newCClosure =<< mkFrameClockResumeEventsCallback wrapped+    where wrapped = frameClockResumeEventsCallbackWrapper cb++frameClockResumeEventsCallbackWrapper ::+    FrameClockResumeEventsCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+frameClockResumeEventsCallbackWrapper _cb _ _ = do+    _cb ++onFrameClockResumeEvents :: (GObject a, MonadIO m) => a -> FrameClockResumeEventsCallback -> m SignalHandlerId+onFrameClockResumeEvents obj cb = liftIO $ connectFrameClockResumeEvents obj cb SignalConnectBefore+afterFrameClockResumeEvents :: (GObject a, MonadIO m) => a -> FrameClockResumeEventsCallback -> m SignalHandlerId+afterFrameClockResumeEvents obj cb = connectFrameClockResumeEvents obj cb SignalConnectAfter++connectFrameClockResumeEvents :: (GObject a, MonadIO m) =>+                                 a -> FrameClockResumeEventsCallback -> SignalConnectMode -> m SignalHandlerId+connectFrameClockResumeEvents obj cb after = liftIO $ do+    cb' <- mkFrameClockResumeEventsCallback (frameClockResumeEventsCallbackWrapper cb)+    connectSignalFunPtr obj "resume-events" cb' after++-- signal FrameClock::update+type FrameClockUpdateCallback =+    IO ()++noFrameClockUpdateCallback :: Maybe FrameClockUpdateCallback+noFrameClockUpdateCallback = Nothing++type FrameClockUpdateCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkFrameClockUpdateCallback :: FrameClockUpdateCallbackC -> IO (FunPtr FrameClockUpdateCallbackC)++frameClockUpdateClosure :: FrameClockUpdateCallback -> IO Closure+frameClockUpdateClosure cb = newCClosure =<< mkFrameClockUpdateCallback wrapped+    where wrapped = frameClockUpdateCallbackWrapper cb++frameClockUpdateCallbackWrapper ::+    FrameClockUpdateCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+frameClockUpdateCallbackWrapper _cb _ _ = do+    _cb ++onFrameClockUpdate :: (GObject a, MonadIO m) => a -> FrameClockUpdateCallback -> m SignalHandlerId+onFrameClockUpdate obj cb = liftIO $ connectFrameClockUpdate obj cb SignalConnectBefore+afterFrameClockUpdate :: (GObject a, MonadIO m) => a -> FrameClockUpdateCallback -> m SignalHandlerId+afterFrameClockUpdate obj cb = connectFrameClockUpdate obj cb SignalConnectAfter++connectFrameClockUpdate :: (GObject a, MonadIO m) =>+                           a -> FrameClockUpdateCallback -> SignalConnectMode -> m SignalHandlerId+connectFrameClockUpdate obj cb after = liftIO $ do+    cb' <- mkFrameClockUpdateCallback (frameClockUpdateCallbackWrapper cb)+    connectSignalFunPtr obj "update" cb' after++-- Flags FrameClockPhase++data FrameClockPhase = +      FrameClockPhaseNone+    | FrameClockPhaseFlushEvents+    | FrameClockPhaseBeforePaint+    | FrameClockPhaseUpdate+    | FrameClockPhaseLayout+    | FrameClockPhasePaint+    | FrameClockPhaseResumeEvents+    | FrameClockPhaseAfterPaint+    | AnotherFrameClockPhase Int+    deriving (Show, Eq)++instance Enum FrameClockPhase where+    fromEnum FrameClockPhaseNone = 0+    fromEnum FrameClockPhaseFlushEvents = 1+    fromEnum FrameClockPhaseBeforePaint = 2+    fromEnum FrameClockPhaseUpdate = 4+    fromEnum FrameClockPhaseLayout = 8+    fromEnum FrameClockPhasePaint = 16+    fromEnum FrameClockPhaseResumeEvents = 32+    fromEnum FrameClockPhaseAfterPaint = 64+    fromEnum (AnotherFrameClockPhase k) = k++    toEnum 0 = FrameClockPhaseNone+    toEnum 1 = FrameClockPhaseFlushEvents+    toEnum 2 = FrameClockPhaseBeforePaint+    toEnum 4 = FrameClockPhaseUpdate+    toEnum 8 = FrameClockPhaseLayout+    toEnum 16 = FrameClockPhasePaint+    toEnum 32 = FrameClockPhaseResumeEvents+    toEnum 64 = FrameClockPhaseAfterPaint+    toEnum k = AnotherFrameClockPhase k++foreign import ccall "gdk_frame_clock_phase_get_type" c_gdk_frame_clock_phase_get_type :: +    IO GType++instance BoxedEnum FrameClockPhase where+    boxedEnumType _ = c_gdk_frame_clock_phase_get_type++instance IsGFlag FrameClockPhase++-- struct FrameTimings+newtype FrameTimings = FrameTimings (ForeignPtr FrameTimings)+noFrameTimings :: Maybe FrameTimings+noFrameTimings = Nothing++foreign import ccall "gdk_frame_timings_get_type" c_gdk_frame_timings_get_type :: +    IO GType++instance BoxedObject FrameTimings where+    boxedType _ = c_gdk_frame_timings_get_type++-- method FrameTimings::get_complete+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_timings_get_complete" gdk_frame_timings_get_complete :: +    Ptr FrameTimings ->                     -- _obj : TInterface "Gdk" "FrameTimings"+    IO CInt+++frameTimingsGetComplete ::+    (MonadIO m) =>+    FrameTimings ->                         -- _obj+    m Bool+frameTimingsGetComplete _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- gdk_frame_timings_get_complete _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method FrameTimings::get_frame_counter+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt64+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_timings_get_frame_counter" gdk_frame_timings_get_frame_counter :: +    Ptr FrameTimings ->                     -- _obj : TInterface "Gdk" "FrameTimings"+    IO Int64+++frameTimingsGetFrameCounter ::+    (MonadIO m) =>+    FrameTimings ->                         -- _obj+    m Int64+frameTimingsGetFrameCounter _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- gdk_frame_timings_get_frame_counter _obj'+    touchManagedPtr _obj+    return result++-- method FrameTimings::get_frame_time+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt64+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_timings_get_frame_time" gdk_frame_timings_get_frame_time :: +    Ptr FrameTimings ->                     -- _obj : TInterface "Gdk" "FrameTimings"+    IO Int64+++frameTimingsGetFrameTime ::+    (MonadIO m) =>+    FrameTimings ->                         -- _obj+    m Int64+frameTimingsGetFrameTime _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- gdk_frame_timings_get_frame_time _obj'+    touchManagedPtr _obj+    return result++-- method FrameTimings::get_predicted_presentation_time+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt64+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_timings_get_predicted_presentation_time" gdk_frame_timings_get_predicted_presentation_time :: +    Ptr FrameTimings ->                     -- _obj : TInterface "Gdk" "FrameTimings"+    IO Int64+++frameTimingsGetPredictedPresentationTime ::+    (MonadIO m) =>+    FrameTimings ->                         -- _obj+    m Int64+frameTimingsGetPredictedPresentationTime _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- gdk_frame_timings_get_predicted_presentation_time _obj'+    touchManagedPtr _obj+    return result++-- method FrameTimings::get_presentation_time+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt64+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_timings_get_presentation_time" gdk_frame_timings_get_presentation_time :: +    Ptr FrameTimings ->                     -- _obj : TInterface "Gdk" "FrameTimings"+    IO Int64+++frameTimingsGetPresentationTime ::+    (MonadIO m) =>+    FrameTimings ->                         -- _obj+    m Int64+frameTimingsGetPresentationTime _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- gdk_frame_timings_get_presentation_time _obj'+    touchManagedPtr _obj+    return result++-- method FrameTimings::get_refresh_interval+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt64+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_timings_get_refresh_interval" gdk_frame_timings_get_refresh_interval :: +    Ptr FrameTimings ->                     -- _obj : TInterface "Gdk" "FrameTimings"+    IO Int64+++frameTimingsGetRefreshInterval ::+    (MonadIO m) =>+    FrameTimings ->                         -- _obj+    m Int64+frameTimingsGetRefreshInterval _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- gdk_frame_timings_get_refresh_interval _obj'+    touchManagedPtr _obj+    return result++-- method FrameTimings::ref+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "FrameTimings"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_timings_ref" gdk_frame_timings_ref :: +    Ptr FrameTimings ->                     -- _obj : TInterface "Gdk" "FrameTimings"+    IO (Ptr FrameTimings)+++frameTimingsRef ::+    (MonadIO m) =>+    FrameTimings ->                         -- _obj+    m FrameTimings+frameTimingsRef _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- gdk_frame_timings_ref _obj'+    result' <- (wrapBoxed FrameTimings) result+    touchManagedPtr _obj+    return result'++-- method FrameTimings::unref+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_timings_unref" gdk_frame_timings_unref :: +    Ptr FrameTimings ->                     -- _obj : TInterface "Gdk" "FrameTimings"+    IO ()+++frameTimingsUnref ::+    (MonadIO m) =>+    FrameTimings ->                         -- _obj+    m ()+frameTimingsUnref _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    gdk_frame_timings_unref _obj'+    touchManagedPtr _obj+    return ()++-- Enum FullscreenMode++data FullscreenMode = +      FullscreenModeCurrentMonitor+    | FullscreenModeAllMonitors+    | AnotherFullscreenMode Int+    deriving (Show, Eq)++instance Enum FullscreenMode where+    fromEnum FullscreenModeCurrentMonitor = 0+    fromEnum FullscreenModeAllMonitors = 1+    fromEnum (AnotherFullscreenMode k) = k++    toEnum 0 = FullscreenModeCurrentMonitor+    toEnum 1 = FullscreenModeAllMonitors+    toEnum k = AnotherFullscreenMode k++foreign import ccall "gdk_fullscreen_mode_get_type" c_gdk_fullscreen_mode_get_type :: +    IO GType++instance BoxedEnum FullscreenMode where+    boxedEnumType _ = c_gdk_fullscreen_mode_get_type++-- object GLContext +newtype GLContext = GLContext (ForeignPtr GLContext)+noGLContext :: Maybe GLContext+noGLContext = Nothing++foreign import ccall "gdk_gl_context_get_type"+    c_gdk_gl_context_get_type :: IO GType++type instance ParentTypes GLContext = '[GObject.Object]++instance GObject GLContext where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_gdk_gl_context_get_type+    ++class GObject o => GLContextK o+instance (GObject o, IsDescendantOf GLContext o) => GLContextK o++toGLContext :: GLContextK o => o -> IO GLContext+toGLContext = unsafeCastTo GLContext++-- method GLContext::get_debug_enabled+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_get_debug_enabled" gdk_gl_context_get_debug_enabled :: +    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"+    IO CInt+++gLContextGetDebugEnabled ::+    (MonadIO m, GLContextK a) =>+    a ->                                    -- _obj+    m Bool+gLContextGetDebugEnabled _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_gl_context_get_debug_enabled _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method GLContext::get_display+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Display"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_get_display" gdk_gl_context_get_display :: +    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"+    IO (Ptr Display)+++gLContextGetDisplay ::+    (MonadIO m, GLContextK a) =>+    a ->                                    -- _obj+    m Display+gLContextGetDisplay _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_gl_context_get_display _obj'+    result' <- (newObject Display) result+    touchManagedPtr _obj+    return result'++-- method GLContext::get_forward_compatible+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_get_forward_compatible" gdk_gl_context_get_forward_compatible :: +    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"+    IO CInt+++gLContextGetForwardCompatible ::+    (MonadIO m, GLContextK a) =>+    a ->                                    -- _obj+    m Bool+gLContextGetForwardCompatible _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_gl_context_get_forward_compatible _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- XXX Could not generate method GLContext::get_required_version+-- Error was : Bad introspection data: "argument \"major\" is not of nullable type, but it is marked as such."+-- method GLContext::get_shared_context+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "GLContext"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_get_shared_context" gdk_gl_context_get_shared_context :: +    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"+    IO (Ptr GLContext)+++gLContextGetSharedContext ::+    (MonadIO m, GLContextK a) =>+    a ->                                    -- _obj+    m GLContext+gLContextGetSharedContext _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_gl_context_get_shared_context _obj'+    result' <- (newObject GLContext) result+    touchManagedPtr _obj+    return result'++-- method GLContext::get_version+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "major", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "minor", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_get_version" gdk_gl_context_get_version :: +    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"+    Ptr Int32 ->                            -- major : TBasicType TInt32+    Ptr Int32 ->                            -- minor : TBasicType TInt32+    IO ()+++gLContextGetVersion ::+    (MonadIO m, GLContextK a) =>+    a ->                                    -- _obj+    m (Int32,Int32)+gLContextGetVersion _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    major <- allocMem :: IO (Ptr Int32)+    minor <- allocMem :: IO (Ptr Int32)+    gdk_gl_context_get_version _obj' major minor+    major' <- peek major+    minor' <- peek minor+    touchManagedPtr _obj+    freeMem major+    freeMem minor+    return (major', minor')++-- method GLContext::get_window+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Window"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_get_window" gdk_gl_context_get_window :: +    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"+    IO (Ptr Window)+++gLContextGetWindow ::+    (MonadIO m, GLContextK a) =>+    a ->                                    -- _obj+    m Window+gLContextGetWindow _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_gl_context_get_window _obj'+    result' <- (newObject Window) result+    touchManagedPtr _obj+    return result'++-- method GLContext::make_current+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_make_current" gdk_gl_context_make_current :: +    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"+    IO ()+++gLContextMakeCurrent ::+    (MonadIO m, GLContextK a) =>+    a ->                                    -- _obj+    m ()+gLContextMakeCurrent _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_gl_context_make_current _obj'+    touchManagedPtr _obj+    return ()++-- method GLContext::realize+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : True+-- Skip return : False++foreign import ccall "gdk_gl_context_realize" gdk_gl_context_realize :: +    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"+    Ptr (Ptr GError) ->                     -- error+    IO CInt+++gLContextRealize ::+    (MonadIO m, GLContextK a) =>+    a ->                                    -- _obj+    m ()+gLContextRealize _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    onException (do+        _ <- propagateGError $ gdk_gl_context_realize _obj'+        touchManagedPtr _obj+        return ()+     ) (do+        return ()+     )++-- method GLContext::set_debug_enabled+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_set_debug_enabled" gdk_gl_context_set_debug_enabled :: +    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"+    CInt ->                                 -- enabled : TBasicType TBoolean+    IO ()+++gLContextSetDebugEnabled ::+    (MonadIO m, GLContextK a) =>+    a ->                                    -- _obj+    Bool ->                                 -- enabled+    m ()+gLContextSetDebugEnabled _obj enabled = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let enabled' = (fromIntegral . fromEnum) enabled+    gdk_gl_context_set_debug_enabled _obj' enabled'+    touchManagedPtr _obj+    return ()++-- method GLContext::set_forward_compatible+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "compatible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "compatible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_set_forward_compatible" gdk_gl_context_set_forward_compatible :: +    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"+    CInt ->                                 -- compatible : TBasicType TBoolean+    IO ()+++gLContextSetForwardCompatible ::+    (MonadIO m, GLContextK a) =>+    a ->                                    -- _obj+    Bool ->                                 -- compatible+    m ()+gLContextSetForwardCompatible _obj compatible = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let compatible' = (fromIntegral . fromEnum) compatible+    gdk_gl_context_set_forward_compatible _obj' compatible'+    touchManagedPtr _obj+    return ()++-- method GLContext::set_required_version+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "major", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minor", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "major", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minor", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_set_required_version" gdk_gl_context_set_required_version :: +    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"+    Int32 ->                                -- major : TBasicType TInt32+    Int32 ->                                -- minor : TBasicType TInt32+    IO ()+++gLContextSetRequiredVersion ::+    (MonadIO m, GLContextK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- major+    Int32 ->                                -- minor+    m ()+gLContextSetRequiredVersion _obj major minor = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_gl_context_set_required_version _obj' major minor+    touchManagedPtr _obj+    return ()++-- method GLContext::clear_current+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_clear_current" gdk_gl_context_clear_current :: +    IO ()+++gLContextClearCurrent ::+    (MonadIO m) =>+    m ()+gLContextClearCurrent  = liftIO $ do+    gdk_gl_context_clear_current+    return ()++-- method GLContext::get_current+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Gdk" "GLContext"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_get_current" gdk_gl_context_get_current :: +    IO (Ptr GLContext)+++gLContextGetCurrent ::+    (MonadIO m) =>+    m GLContext+gLContextGetCurrent  = liftIO $ do+    result <- gdk_gl_context_get_current+    result' <- (newObject GLContext) result+    return result'++-- Enum GLError++data GLError = +      GLErrorNotAvailable+    | GLErrorUnsupportedFormat+    | GLErrorUnsupportedProfile+    | AnotherGLError Int+    deriving (Show, Eq)++instance Enum GLError where+    fromEnum GLErrorNotAvailable = 0+    fromEnum GLErrorUnsupportedFormat = 1+    fromEnum GLErrorUnsupportedProfile = 2+    fromEnum (AnotherGLError k) = k++    toEnum 0 = GLErrorNotAvailable+    toEnum 1 = GLErrorUnsupportedFormat+    toEnum 2 = GLErrorUnsupportedProfile+    toEnum k = AnotherGLError k++instance GErrorClass GLError where+    gerrorClassDomain _ = "gdk-gl-error-quark"++catchGLError ::+    IO a ->+    (GLError -> GErrorMessage -> IO a) ->+    IO a+catchGLError = catchGErrorJustDomain++handleGLError ::+    (GLError -> GErrorMessage -> IO a) ->+    IO a ->+    IO a+handleGLError = handleGErrorJustDomain++foreign import ccall "gdk_gl_error_get_type" c_gdk_gl_error_get_type :: +    IO GType++instance BoxedEnum GLError where+    boxedEnumType _ = c_gdk_gl_error_get_type++-- struct Geometry+newtype Geometry = Geometry (ForeignPtr Geometry)+noGeometry :: Maybe Geometry+noGeometry = Nothing++geometryReadMinWidth :: Geometry -> IO Int32+geometryReadMinWidth s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int32+    return val++geometryReadMinHeight :: Geometry -> IO Int32+geometryReadMinHeight s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 4) :: IO Int32+    return val++geometryReadMaxWidth :: Geometry -> IO Int32+geometryReadMaxWidth s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO Int32+    return val++geometryReadMaxHeight :: Geometry -> IO Int32+geometryReadMaxHeight s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 12) :: IO Int32+    return val++geometryReadBaseWidth :: Geometry -> IO Int32+geometryReadBaseWidth s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int32+    return val++geometryReadBaseHeight :: Geometry -> IO Int32+geometryReadBaseHeight s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Int32+    return val++geometryReadWidthInc :: Geometry -> IO Int32+geometryReadWidthInc s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO Int32+    return val++geometryReadHeightInc :: Geometry -> IO Int32+geometryReadHeightInc s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 28) :: IO Int32+    return val++geometryReadMinAspect :: Geometry -> IO Double+geometryReadMinAspect s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO CDouble+    let val' = realToFrac val+    return val'++geometryReadMaxAspect :: Geometry -> IO Double+geometryReadMaxAspect s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO CDouble+    let val' = realToFrac val+    return val'++geometryReadWinGravity :: Geometry -> IO Gravity+geometryReadWinGravity s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++-- Enum GrabOwnership++data GrabOwnership = +      GrabOwnershipNone+    | GrabOwnershipWindow+    | GrabOwnershipApplication+    | AnotherGrabOwnership Int+    deriving (Show, Eq)++instance Enum GrabOwnership where+    fromEnum GrabOwnershipNone = 0+    fromEnum GrabOwnershipWindow = 1+    fromEnum GrabOwnershipApplication = 2+    fromEnum (AnotherGrabOwnership k) = k++    toEnum 0 = GrabOwnershipNone+    toEnum 1 = GrabOwnershipWindow+    toEnum 2 = GrabOwnershipApplication+    toEnum k = AnotherGrabOwnership k++foreign import ccall "gdk_grab_ownership_get_type" c_gdk_grab_ownership_get_type :: +    IO GType++instance BoxedEnum GrabOwnership where+    boxedEnumType _ = c_gdk_grab_ownership_get_type++-- Enum GrabStatus++data GrabStatus = +      GrabStatusSuccess+    | GrabStatusAlreadyGrabbed+    | GrabStatusInvalidTime+    | GrabStatusNotViewable+    | GrabStatusFrozen+    | GrabStatusFailed+    | AnotherGrabStatus Int+    deriving (Show, Eq)++instance Enum GrabStatus where+    fromEnum GrabStatusSuccess = 0+    fromEnum GrabStatusAlreadyGrabbed = 1+    fromEnum GrabStatusInvalidTime = 2+    fromEnum GrabStatusNotViewable = 3+    fromEnum GrabStatusFrozen = 4+    fromEnum GrabStatusFailed = 5+    fromEnum (AnotherGrabStatus k) = k++    toEnum 0 = GrabStatusSuccess+    toEnum 1 = GrabStatusAlreadyGrabbed+    toEnum 2 = GrabStatusInvalidTime+    toEnum 3 = GrabStatusNotViewable+    toEnum 4 = GrabStatusFrozen+    toEnum 5 = GrabStatusFailed+    toEnum k = AnotherGrabStatus k++foreign import ccall "gdk_grab_status_get_type" c_gdk_grab_status_get_type :: +    IO GType++instance BoxedEnum GrabStatus where+    boxedEnumType _ = c_gdk_grab_status_get_type++-- Enum Gravity++data Gravity = +      GravityNorthWest+    | GravityNorth+    | GravityNorthEast+    | GravityWest+    | GravityCenter+    | GravityEast+    | GravitySouthWest+    | GravitySouth+    | GravitySouthEast+    | GravityStatic+    | AnotherGravity Int+    deriving (Show, Eq)++instance Enum Gravity where+    fromEnum GravityNorthWest = 1+    fromEnum GravityNorth = 2+    fromEnum GravityNorthEast = 3+    fromEnum GravityWest = 4+    fromEnum GravityCenter = 5+    fromEnum GravityEast = 6+    fromEnum GravitySouthWest = 7+    fromEnum GravitySouth = 8+    fromEnum GravitySouthEast = 9+    fromEnum GravityStatic = 10+    fromEnum (AnotherGravity k) = k++    toEnum 1 = GravityNorthWest+    toEnum 2 = GravityNorth+    toEnum 3 = GravityNorthEast+    toEnum 4 = GravityWest+    toEnum 5 = GravityCenter+    toEnum 6 = GravityEast+    toEnum 7 = GravitySouthWest+    toEnum 8 = GravitySouth+    toEnum 9 = GravitySouthEast+    toEnum 10 = GravityStatic+    toEnum k = AnotherGravity k++foreign import ccall "gdk_gravity_get_type" c_gdk_gravity_get_type :: +    IO GType++instance BoxedEnum Gravity where+    boxedEnumType _ = c_gdk_gravity_get_type++-- Enum InputMode++data InputMode = +      InputModeDisabled+    | InputModeScreen+    | InputModeWindow+    | AnotherInputMode Int+    deriving (Show, Eq)++instance Enum InputMode where+    fromEnum InputModeDisabled = 0+    fromEnum InputModeScreen = 1+    fromEnum InputModeWindow = 2+    fromEnum (AnotherInputMode k) = k++    toEnum 0 = InputModeDisabled+    toEnum 1 = InputModeScreen+    toEnum 2 = InputModeWindow+    toEnum k = AnotherInputMode k++foreign import ccall "gdk_input_mode_get_type" c_gdk_input_mode_get_type :: +    IO GType++instance BoxedEnum InputMode where+    boxedEnumType _ = c_gdk_input_mode_get_type++-- Enum InputSource++data InputSource = +      InputSourceMouse+    | InputSourcePen+    | InputSourceEraser+    | InputSourceCursor+    | InputSourceKeyboard+    | InputSourceTouchscreen+    | InputSourceTouchpad+    | AnotherInputSource Int+    deriving (Show, Eq)++instance Enum InputSource where+    fromEnum InputSourceMouse = 0+    fromEnum InputSourcePen = 1+    fromEnum InputSourceEraser = 2+    fromEnum InputSourceCursor = 3+    fromEnum InputSourceKeyboard = 4+    fromEnum InputSourceTouchscreen = 5+    fromEnum InputSourceTouchpad = 6+    fromEnum (AnotherInputSource k) = k++    toEnum 0 = InputSourceMouse+    toEnum 1 = InputSourcePen+    toEnum 2 = InputSourceEraser+    toEnum 3 = InputSourceCursor+    toEnum 4 = InputSourceKeyboard+    toEnum 5 = InputSourceTouchscreen+    toEnum 6 = InputSourceTouchpad+    toEnum k = AnotherInputSource k++foreign import ccall "gdk_input_source_get_type" c_gdk_input_source_get_type :: +    IO GType++instance BoxedEnum InputSource where+    boxedEnumType _ = c_gdk_input_source_get_type++-- object Keymap +newtype Keymap = Keymap (ForeignPtr Keymap)+noKeymap :: Maybe Keymap+noKeymap = Nothing++foreign import ccall "gdk_keymap_get_type"+    c_gdk_keymap_get_type :: IO GType++type instance ParentTypes Keymap = '[GObject.Object]++instance GObject Keymap where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_gdk_keymap_get_type+    ++class GObject o => KeymapK o+instance (GObject o, IsDescendantOf Keymap o) => KeymapK o++toKeymap :: KeymapK o => o -> IO Keymap+toKeymap = unsafeCastTo Keymap++-- method Keymap::add_virtual_modifiers+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state", argType = TInterface "Gdk" "ModifierType", direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state", argType = TInterface "Gdk" "ModifierType", direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_add_virtual_modifiers" gdk_keymap_add_virtual_modifiers :: +    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"+    Ptr CUInt ->                            -- state : TInterface "Gdk" "ModifierType"+    IO ()+++keymapAddVirtualModifiers ::+    (MonadIO m, KeymapK a) =>+    a ->                                    -- _obj+    [ModifierType] ->                       -- state+    m ([ModifierType])+keymapAddVirtualModifiers _obj state = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let state' = gflagsToWord state+    state'' <- allocMem :: IO (Ptr CUInt)+    poke state'' state'+    gdk_keymap_add_virtual_modifiers _obj' state''+    state''' <- peek state''+    let state'''' = wordToGFlags state'''+    touchManagedPtr _obj+    freeMem state''+    return state''''++-- method Keymap::get_caps_lock_state+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_get_caps_lock_state" gdk_keymap_get_caps_lock_state :: +    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"+    IO CInt+++keymapGetCapsLockState ::+    (MonadIO m, KeymapK a) =>+    a ->                                    -- _obj+    m Bool+keymapGetCapsLockState _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_keymap_get_caps_lock_state _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Keymap::get_direction+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Direction"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_get_direction" gdk_keymap_get_direction :: +    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"+    IO CUInt+++keymapGetDirection ::+    (MonadIO m, KeymapK a) =>+    a ->                                    -- _obj+    m Pango.Direction+keymapGetDirection _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_keymap_get_direction _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method Keymap::get_entries_for_keycode+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hardware_keycode", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keys", argType = TCArray False (-1) 4 (TInterface "Gdk" "KeymapKey"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "keyvals", argType = TCArray False (-1) 4 (TBasicType TUInt32), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "n_entries", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : [Arg {argName = "n_entries", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "n_entries", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hardware_keycode", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_get_entries_for_keycode" gdk_keymap_get_entries_for_keycode :: +    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"+    Word32 ->                               -- hardware_keycode : TBasicType TUInt32+    Ptr (Ptr KeymapKey) ->                  -- keys : TCArray False (-1) 4 (TInterface "Gdk" "KeymapKey")+    Ptr (Ptr Word32) ->                     -- keyvals : TCArray False (-1) 4 (TBasicType TUInt32)+    Ptr Int32 ->                            -- n_entries : TBasicType TInt32+    IO CInt+++keymapGetEntriesForKeycode ::+    (MonadIO m, KeymapK a) =>+    a ->                                    -- _obj+    Word32 ->                               -- hardware_keycode+    m (Bool,[KeymapKey],[Word32])+keymapGetEntriesForKeycode _obj hardware_keycode = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    keys <- allocMem :: IO (Ptr (Ptr KeymapKey))+    keyvals <- allocMem :: IO (Ptr (Ptr Word32))+    n_entries <- allocMem :: IO (Ptr Int32)+    result <- gdk_keymap_get_entries_for_keycode _obj' hardware_keycode keys keyvals n_entries+    n_entries' <- peek n_entries+    let result' = (/= 0) result+    keys' <- peek keys+    keys'' <- (unpackBlockArrayWithLength 12 n_entries') keys'+    keys''' <- mapM (wrapPtr KeymapKey) keys''+    freeMem keys'+    keyvals' <- peek keyvals+    keyvals'' <- (unpackStorableArrayWithLength n_entries') keyvals'+    freeMem keyvals'+    touchManagedPtr _obj+    freeMem keys+    freeMem keyvals+    freeMem n_entries+    return (result', keys''', keyvals'')++-- method Keymap::get_entries_for_keyval+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keys", argType = TCArray False (-1) 3 (TInterface "Gdk" "KeymapKey"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "n_keys", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : [Arg {argName = "n_keys", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_get_entries_for_keyval" gdk_keymap_get_entries_for_keyval :: +    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"+    Word32 ->                               -- keyval : TBasicType TUInt32+    Ptr (Ptr KeymapKey) ->                  -- keys : TCArray False (-1) 3 (TInterface "Gdk" "KeymapKey")+    Ptr Int32 ->                            -- n_keys : TBasicType TInt32+    IO CInt+++keymapGetEntriesForKeyval ::+    (MonadIO m, KeymapK a) =>+    a ->                                    -- _obj+    Word32 ->                               -- keyval+    m (Bool,[KeymapKey])+keymapGetEntriesForKeyval _obj keyval = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    keys <- allocMem :: IO (Ptr (Ptr KeymapKey))+    n_keys <- allocMem :: IO (Ptr Int32)+    result <- gdk_keymap_get_entries_for_keyval _obj' keyval keys n_keys+    n_keys' <- peek n_keys+    let result' = (/= 0) result+    keys' <- peek keys+    keys'' <- (unpackBlockArrayWithLength 12 n_keys') keys'+    keys''' <- mapM (wrapPtr KeymapKey) keys''+    freeMem keys'+    touchManagedPtr _obj+    freeMem keys+    freeMem n_keys+    return (result', keys''')++-- method Keymap::get_modifier_mask+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "intent", argType = TInterface "Gdk" "ModifierIntent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "intent", argType = TInterface "Gdk" "ModifierIntent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "ModifierType"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_get_modifier_mask" gdk_keymap_get_modifier_mask :: +    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"+    CUInt ->                                -- intent : TInterface "Gdk" "ModifierIntent"+    IO CUInt+++keymapGetModifierMask ::+    (MonadIO m, KeymapK a) =>+    a ->                                    -- _obj+    ModifierIntent ->                       -- intent+    m [ModifierType]+keymapGetModifierMask _obj intent = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let intent' = (fromIntegral . fromEnum) intent+    result <- gdk_keymap_get_modifier_mask _obj' intent'+    let result' = wordToGFlags result+    touchManagedPtr _obj+    return result'++-- method Keymap::get_modifier_state+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_get_modifier_state" gdk_keymap_get_modifier_state :: +    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"+    IO Word32+++keymapGetModifierState ::+    (MonadIO m, KeymapK a) =>+    a ->                                    -- _obj+    m Word32+keymapGetModifierState _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_keymap_get_modifier_state _obj'+    touchManagedPtr _obj+    return result++-- method Keymap::get_num_lock_state+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_get_num_lock_state" gdk_keymap_get_num_lock_state :: +    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"+    IO CInt+++keymapGetNumLockState ::+    (MonadIO m, KeymapK a) =>+    a ->                                    -- _obj+    m Bool+keymapGetNumLockState _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_keymap_get_num_lock_state _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Keymap::have_bidi_layouts+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_have_bidi_layouts" gdk_keymap_have_bidi_layouts :: +    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"+    IO CInt+++keymapHaveBidiLayouts ::+    (MonadIO m, KeymapK a) =>+    a ->                                    -- _obj+    m Bool+keymapHaveBidiLayouts _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_keymap_have_bidi_layouts _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Keymap::lookup_key+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TInterface "Gdk" "KeymapKey", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TInterface "Gdk" "KeymapKey", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_lookup_key" gdk_keymap_lookup_key :: +    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"+    Ptr KeymapKey ->                        -- key : TInterface "Gdk" "KeymapKey"+    IO Word32+++keymapLookupKey ::+    (MonadIO m, KeymapK a) =>+    a ->                                    -- _obj+    KeymapKey ->                            -- key+    m Word32+keymapLookupKey _obj key = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let key' = unsafeManagedPtrGetPtr key+    result <- gdk_keymap_lookup_key _obj' key'+    touchManagedPtr _obj+    touchManagedPtr key+    return result++-- method Keymap::map_virtual_modifiers+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state", argType = TInterface "Gdk" "ModifierType", direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state", argType = TInterface "Gdk" "ModifierType", direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_map_virtual_modifiers" gdk_keymap_map_virtual_modifiers :: +    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"+    Ptr CUInt ->                            -- state : TInterface "Gdk" "ModifierType"+    IO CInt+++keymapMapVirtualModifiers ::+    (MonadIO m, KeymapK a) =>+    a ->                                    -- _obj+    [ModifierType] ->                       -- state+    m (Bool,[ModifierType])+keymapMapVirtualModifiers _obj state = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let state' = gflagsToWord state+    state'' <- allocMem :: IO (Ptr CUInt)+    poke state'' state'+    result <- gdk_keymap_map_virtual_modifiers _obj' state''+    let result' = (/= 0) result+    state''' <- peek state''+    let state'''' = wordToGFlags state'''+    touchManagedPtr _obj+    freeMem state''+    return (result', state'''')++-- method Keymap::translate_keyboard_state+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hardware_keycode", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "group", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "effective_group", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "level", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "consumed_modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hardware_keycode", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "group", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_translate_keyboard_state" gdk_keymap_translate_keyboard_state :: +    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"+    Word32 ->                               -- hardware_keycode : TBasicType TUInt32+    CUInt ->                                -- state : TInterface "Gdk" "ModifierType"+    Int32 ->                                -- group : TBasicType TInt32+    Ptr Word32 ->                           -- keyval : TBasicType TUInt32+    Ptr Int32 ->                            -- effective_group : TBasicType TInt32+    Ptr Int32 ->                            -- level : TBasicType TInt32+    Ptr CUInt ->                            -- consumed_modifiers : TInterface "Gdk" "ModifierType"+    IO CInt+++keymapTranslateKeyboardState ::+    (MonadIO m, KeymapK a) =>+    a ->                                    -- _obj+    Word32 ->                               -- hardware_keycode+    [ModifierType] ->                       -- state+    Int32 ->                                -- group+    m (Bool,Word32,Int32,Int32,[ModifierType])+keymapTranslateKeyboardState _obj hardware_keycode state group = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let state' = gflagsToWord state+    keyval <- allocMem :: IO (Ptr Word32)+    effective_group <- allocMem :: IO (Ptr Int32)+    level <- allocMem :: IO (Ptr Int32)+    consumed_modifiers <- allocMem :: IO (Ptr CUInt)+    result <- gdk_keymap_translate_keyboard_state _obj' hardware_keycode state' group keyval effective_group level consumed_modifiers+    let result' = (/= 0) result+    keyval' <- peek keyval+    effective_group' <- peek effective_group+    level' <- peek level+    consumed_modifiers' <- peek consumed_modifiers+    let consumed_modifiers'' = wordToGFlags consumed_modifiers'+    touchManagedPtr _obj+    freeMem keyval+    freeMem effective_group+    freeMem level+    freeMem consumed_modifiers+    return (result', keyval', effective_group', level', consumed_modifiers'')++-- method Keymap::get_default+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Gdk" "Keymap"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_get_default" gdk_keymap_get_default :: +    IO (Ptr Keymap)+++keymapGetDefault ::+    (MonadIO m) =>+    m Keymap+keymapGetDefault  = liftIO $ do+    result <- gdk_keymap_get_default+    result' <- (newObject Keymap) result+    return result'++-- method Keymap::get_for_display+-- method type : MemberFunction+-- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Keymap"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_get_for_display" gdk_keymap_get_for_display :: +    Ptr Display ->                          -- display : TInterface "Gdk" "Display"+    IO (Ptr Keymap)+++keymapGetForDisplay ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- display+    m Keymap+keymapGetForDisplay display = liftIO $ do+    let display' = unsafeManagedPtrCastPtr display+    result <- gdk_keymap_get_for_display display'+    result' <- (newObject Keymap) result+    touchManagedPtr display+    return result'++-- signal Keymap::direction-changed+type KeymapDirectionChangedCallback =+    IO ()++noKeymapDirectionChangedCallback :: Maybe KeymapDirectionChangedCallback+noKeymapDirectionChangedCallback = Nothing++type KeymapDirectionChangedCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkKeymapDirectionChangedCallback :: KeymapDirectionChangedCallbackC -> IO (FunPtr KeymapDirectionChangedCallbackC)++keymapDirectionChangedClosure :: KeymapDirectionChangedCallback -> IO Closure+keymapDirectionChangedClosure cb = newCClosure =<< mkKeymapDirectionChangedCallback wrapped+    where wrapped = keymapDirectionChangedCallbackWrapper cb++keymapDirectionChangedCallbackWrapper ::+    KeymapDirectionChangedCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+keymapDirectionChangedCallbackWrapper _cb _ _ = do+    _cb ++onKeymapDirectionChanged :: (GObject a, MonadIO m) => a -> KeymapDirectionChangedCallback -> m SignalHandlerId+onKeymapDirectionChanged obj cb = liftIO $ connectKeymapDirectionChanged obj cb SignalConnectBefore+afterKeymapDirectionChanged :: (GObject a, MonadIO m) => a -> KeymapDirectionChangedCallback -> m SignalHandlerId+afterKeymapDirectionChanged obj cb = connectKeymapDirectionChanged obj cb SignalConnectAfter++connectKeymapDirectionChanged :: (GObject a, MonadIO m) =>+                                 a -> KeymapDirectionChangedCallback -> SignalConnectMode -> m SignalHandlerId+connectKeymapDirectionChanged obj cb after = liftIO $ do+    cb' <- mkKeymapDirectionChangedCallback (keymapDirectionChangedCallbackWrapper cb)+    connectSignalFunPtr obj "direction-changed" cb' after++-- signal Keymap::keys-changed+type KeymapKeysChangedCallback =+    IO ()++noKeymapKeysChangedCallback :: Maybe KeymapKeysChangedCallback+noKeymapKeysChangedCallback = Nothing++type KeymapKeysChangedCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkKeymapKeysChangedCallback :: KeymapKeysChangedCallbackC -> IO (FunPtr KeymapKeysChangedCallbackC)++keymapKeysChangedClosure :: KeymapKeysChangedCallback -> IO Closure+keymapKeysChangedClosure cb = newCClosure =<< mkKeymapKeysChangedCallback wrapped+    where wrapped = keymapKeysChangedCallbackWrapper cb++keymapKeysChangedCallbackWrapper ::+    KeymapKeysChangedCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+keymapKeysChangedCallbackWrapper _cb _ _ = do+    _cb ++onKeymapKeysChanged :: (GObject a, MonadIO m) => a -> KeymapKeysChangedCallback -> m SignalHandlerId+onKeymapKeysChanged obj cb = liftIO $ connectKeymapKeysChanged obj cb SignalConnectBefore+afterKeymapKeysChanged :: (GObject a, MonadIO m) => a -> KeymapKeysChangedCallback -> m SignalHandlerId+afterKeymapKeysChanged obj cb = connectKeymapKeysChanged obj cb SignalConnectAfter++connectKeymapKeysChanged :: (GObject a, MonadIO m) =>+                            a -> KeymapKeysChangedCallback -> SignalConnectMode -> m SignalHandlerId+connectKeymapKeysChanged obj cb after = liftIO $ do+    cb' <- mkKeymapKeysChangedCallback (keymapKeysChangedCallbackWrapper cb)+    connectSignalFunPtr obj "keys-changed" cb' after++-- signal Keymap::state-changed+type KeymapStateChangedCallback =+    IO ()++noKeymapStateChangedCallback :: Maybe KeymapStateChangedCallback+noKeymapStateChangedCallback = Nothing++type KeymapStateChangedCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkKeymapStateChangedCallback :: KeymapStateChangedCallbackC -> IO (FunPtr KeymapStateChangedCallbackC)++keymapStateChangedClosure :: KeymapStateChangedCallback -> IO Closure+keymapStateChangedClosure cb = newCClosure =<< mkKeymapStateChangedCallback wrapped+    where wrapped = keymapStateChangedCallbackWrapper cb++keymapStateChangedCallbackWrapper ::+    KeymapStateChangedCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+keymapStateChangedCallbackWrapper _cb _ _ = do+    _cb ++onKeymapStateChanged :: (GObject a, MonadIO m) => a -> KeymapStateChangedCallback -> m SignalHandlerId+onKeymapStateChanged obj cb = liftIO $ connectKeymapStateChanged obj cb SignalConnectBefore+afterKeymapStateChanged :: (GObject a, MonadIO m) => a -> KeymapStateChangedCallback -> m SignalHandlerId+afterKeymapStateChanged obj cb = connectKeymapStateChanged obj cb SignalConnectAfter++connectKeymapStateChanged :: (GObject a, MonadIO m) =>+                             a -> KeymapStateChangedCallback -> SignalConnectMode -> m SignalHandlerId+connectKeymapStateChanged obj cb after = liftIO $ do+    cb' <- mkKeymapStateChangedCallback (keymapStateChangedCallbackWrapper cb)+    connectSignalFunPtr obj "state-changed" cb' after++-- struct KeymapKey+newtype KeymapKey = KeymapKey (ForeignPtr KeymapKey)+noKeymapKey :: Maybe KeymapKey+noKeymapKey = Nothing++keymapKeyReadKeycode :: KeymapKey -> IO Word32+keymapKeyReadKeycode s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word32+    return val++keymapKeyReadGroup :: KeymapKey -> IO Int32+keymapKeyReadGroup s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 4) :: IO Int32+    return val++keymapKeyReadLevel :: KeymapKey -> IO Int32+keymapKeyReadLevel s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO Int32+    return val++-- Enum ModifierIntent++data ModifierIntent = +      ModifierIntentPrimaryAccelerator+    | ModifierIntentContextMenu+    | ModifierIntentExtendSelection+    | ModifierIntentModifySelection+    | ModifierIntentNoTextInput+    | ModifierIntentShiftGroup+    | AnotherModifierIntent Int+    deriving (Show, Eq)++instance Enum ModifierIntent where+    fromEnum ModifierIntentPrimaryAccelerator = 0+    fromEnum ModifierIntentContextMenu = 1+    fromEnum ModifierIntentExtendSelection = 2+    fromEnum ModifierIntentModifySelection = 3+    fromEnum ModifierIntentNoTextInput = 4+    fromEnum ModifierIntentShiftGroup = 5+    fromEnum (AnotherModifierIntent k) = k++    toEnum 0 = ModifierIntentPrimaryAccelerator+    toEnum 1 = ModifierIntentContextMenu+    toEnum 2 = ModifierIntentExtendSelection+    toEnum 3 = ModifierIntentModifySelection+    toEnum 4 = ModifierIntentNoTextInput+    toEnum 5 = ModifierIntentShiftGroup+    toEnum k = AnotherModifierIntent k++foreign import ccall "gdk_modifier_intent_get_type" c_gdk_modifier_intent_get_type :: +    IO GType++instance BoxedEnum ModifierIntent where+    boxedEnumType _ = c_gdk_modifier_intent_get_type++-- Flags ModifierType++data ModifierType = +      ModifierTypeShiftMask+    | ModifierTypeLockMask+    | ModifierTypeControlMask+    | ModifierTypeMod1Mask+    | ModifierTypeMod2Mask+    | ModifierTypeMod3Mask+    | ModifierTypeMod4Mask+    | ModifierTypeMod5Mask+    | ModifierTypeButton1Mask+    | ModifierTypeButton2Mask+    | ModifierTypeButton3Mask+    | ModifierTypeButton4Mask+    | ModifierTypeButton5Mask+    | ModifierTypeModifierReserved13Mask+    | ModifierTypeModifierReserved14Mask+    | ModifierTypeModifierReserved15Mask+    | ModifierTypeModifierReserved16Mask+    | ModifierTypeModifierReserved17Mask+    | ModifierTypeModifierReserved18Mask+    | ModifierTypeModifierReserved19Mask+    | ModifierTypeModifierReserved20Mask+    | ModifierTypeModifierReserved21Mask+    | ModifierTypeModifierReserved22Mask+    | ModifierTypeModifierReserved23Mask+    | ModifierTypeModifierReserved24Mask+    | ModifierTypeModifierReserved25Mask+    | ModifierTypeSuperMask+    | ModifierTypeHyperMask+    | ModifierTypeMetaMask+    | ModifierTypeModifierReserved29Mask+    | ModifierTypeReleaseMask+    | ModifierTypeModifierMask+    | AnotherModifierType Int+    deriving (Show, Eq)++instance Enum ModifierType where+    fromEnum ModifierTypeShiftMask = 1+    fromEnum ModifierTypeLockMask = 2+    fromEnum ModifierTypeControlMask = 4+    fromEnum ModifierTypeMod1Mask = 8+    fromEnum ModifierTypeMod2Mask = 16+    fromEnum ModifierTypeMod3Mask = 32+    fromEnum ModifierTypeMod4Mask = 64+    fromEnum ModifierTypeMod5Mask = 128+    fromEnum ModifierTypeButton1Mask = 256+    fromEnum ModifierTypeButton2Mask = 512+    fromEnum ModifierTypeButton3Mask = 1024+    fromEnum ModifierTypeButton4Mask = 2048+    fromEnum ModifierTypeButton5Mask = 4096+    fromEnum ModifierTypeModifierReserved13Mask = 8192+    fromEnum ModifierTypeModifierReserved14Mask = 16384+    fromEnum ModifierTypeModifierReserved15Mask = 32768+    fromEnum ModifierTypeModifierReserved16Mask = 65536+    fromEnum ModifierTypeModifierReserved17Mask = 131072+    fromEnum ModifierTypeModifierReserved18Mask = 262144+    fromEnum ModifierTypeModifierReserved19Mask = 524288+    fromEnum ModifierTypeModifierReserved20Mask = 1048576+    fromEnum ModifierTypeModifierReserved21Mask = 2097152+    fromEnum ModifierTypeModifierReserved22Mask = 4194304+    fromEnum ModifierTypeModifierReserved23Mask = 8388608+    fromEnum ModifierTypeModifierReserved24Mask = 16777216+    fromEnum ModifierTypeModifierReserved25Mask = 33554432+    fromEnum ModifierTypeSuperMask = 67108864+    fromEnum ModifierTypeHyperMask = 134217728+    fromEnum ModifierTypeMetaMask = 268435456+    fromEnum ModifierTypeModifierReserved29Mask = 536870912+    fromEnum ModifierTypeReleaseMask = 1073741824+    fromEnum ModifierTypeModifierMask = 1543512063+    fromEnum (AnotherModifierType k) = k++    toEnum 1 = ModifierTypeShiftMask+    toEnum 2 = ModifierTypeLockMask+    toEnum 4 = ModifierTypeControlMask+    toEnum 8 = ModifierTypeMod1Mask+    toEnum 16 = ModifierTypeMod2Mask+    toEnum 32 = ModifierTypeMod3Mask+    toEnum 64 = ModifierTypeMod4Mask+    toEnum 128 = ModifierTypeMod5Mask+    toEnum 256 = ModifierTypeButton1Mask+    toEnum 512 = ModifierTypeButton2Mask+    toEnum 1024 = ModifierTypeButton3Mask+    toEnum 2048 = ModifierTypeButton4Mask+    toEnum 4096 = ModifierTypeButton5Mask+    toEnum 8192 = ModifierTypeModifierReserved13Mask+    toEnum 16384 = ModifierTypeModifierReserved14Mask+    toEnum 32768 = ModifierTypeModifierReserved15Mask+    toEnum 65536 = ModifierTypeModifierReserved16Mask+    toEnum 131072 = ModifierTypeModifierReserved17Mask+    toEnum 262144 = ModifierTypeModifierReserved18Mask+    toEnum 524288 = ModifierTypeModifierReserved19Mask+    toEnum 1048576 = ModifierTypeModifierReserved20Mask+    toEnum 2097152 = ModifierTypeModifierReserved21Mask+    toEnum 4194304 = ModifierTypeModifierReserved22Mask+    toEnum 8388608 = ModifierTypeModifierReserved23Mask+    toEnum 16777216 = ModifierTypeModifierReserved24Mask+    toEnum 33554432 = ModifierTypeModifierReserved25Mask+    toEnum 67108864 = ModifierTypeSuperMask+    toEnum 134217728 = ModifierTypeHyperMask+    toEnum 268435456 = ModifierTypeMetaMask+    toEnum 536870912 = ModifierTypeModifierReserved29Mask+    toEnum 1073741824 = ModifierTypeReleaseMask+    toEnum 1543512063 = ModifierTypeModifierMask+    toEnum k = AnotherModifierType k++foreign import ccall "gdk_modifier_type_get_type" c_gdk_modifier_type_get_type :: +    IO GType++instance BoxedEnum ModifierType where+    boxedEnumType _ = c_gdk_modifier_type_get_type++instance IsGFlag ModifierType++-- Enum NotifyType++data NotifyType = +      NotifyTypeAncestor+    | NotifyTypeVirtual+    | NotifyTypeInferior+    | NotifyTypeNonlinear+    | NotifyTypeNonlinearVirtual+    | NotifyTypeUnknown+    | AnotherNotifyType Int+    deriving (Show, Eq)++instance Enum NotifyType where+    fromEnum NotifyTypeAncestor = 0+    fromEnum NotifyTypeVirtual = 1+    fromEnum NotifyTypeInferior = 2+    fromEnum NotifyTypeNonlinear = 3+    fromEnum NotifyTypeNonlinearVirtual = 4+    fromEnum NotifyTypeUnknown = 5+    fromEnum (AnotherNotifyType k) = k++    toEnum 0 = NotifyTypeAncestor+    toEnum 1 = NotifyTypeVirtual+    toEnum 2 = NotifyTypeInferior+    toEnum 3 = NotifyTypeNonlinear+    toEnum 4 = NotifyTypeNonlinearVirtual+    toEnum 5 = NotifyTypeUnknown+    toEnum k = AnotherNotifyType k++foreign import ccall "gdk_notify_type_get_type" c_gdk_notify_type_get_type :: +    IO GType++instance BoxedEnum NotifyType where+    boxedEnumType _ = c_gdk_notify_type_get_type++-- Enum OwnerChange++data OwnerChange = +      OwnerChangeNewOwner+    | OwnerChangeDestroy+    | OwnerChangeClose+    | AnotherOwnerChange Int+    deriving (Show, Eq)++instance Enum OwnerChange where+    fromEnum OwnerChangeNewOwner = 0+    fromEnum OwnerChangeDestroy = 1+    fromEnum OwnerChangeClose = 2+    fromEnum (AnotherOwnerChange k) = k++    toEnum 0 = OwnerChangeNewOwner+    toEnum 1 = OwnerChangeDestroy+    toEnum 2 = OwnerChangeClose+    toEnum k = AnotherOwnerChange k++foreign import ccall "gdk_owner_change_get_type" c_gdk_owner_change_get_type :: +    IO GType++instance BoxedEnum OwnerChange where+    boxedEnumType _ = c_gdk_owner_change_get_type++-- struct Point+newtype Point = Point (ForeignPtr Point)+noPoint :: Maybe Point+noPoint = Nothing++pointReadX :: Point -> IO Int32+pointReadX s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int32+    return val++pointReadY :: Point -> IO Int32+pointReadY s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 4) :: IO Int32+    return val++-- Enum PropMode++data PropMode = +      PropModeReplace+    | PropModePrepend+    | PropModeAppend+    | AnotherPropMode Int+    deriving (Show, Eq)++instance Enum PropMode where+    fromEnum PropModeReplace = 0+    fromEnum PropModePrepend = 1+    fromEnum PropModeAppend = 2+    fromEnum (AnotherPropMode k) = k++    toEnum 0 = PropModeReplace+    toEnum 1 = PropModePrepend+    toEnum 2 = PropModeAppend+    toEnum k = AnotherPropMode k++foreign import ccall "gdk_prop_mode_get_type" c_gdk_prop_mode_get_type :: +    IO GType++instance BoxedEnum PropMode where+    boxedEnumType _ = c_gdk_prop_mode_get_type++-- Enum PropertyState++data PropertyState = +      PropertyStateNewValue+    | PropertyStateDelete+    | AnotherPropertyState Int+    deriving (Show, Eq)++instance Enum PropertyState where+    fromEnum PropertyStateNewValue = 0+    fromEnum PropertyStateDelete = 1+    fromEnum (AnotherPropertyState k) = k++    toEnum 0 = PropertyStateNewValue+    toEnum 1 = PropertyStateDelete+    toEnum k = AnotherPropertyState k++foreign import ccall "gdk_property_state_get_type" c_gdk_property_state_get_type :: +    IO GType++instance BoxedEnum PropertyState where+    boxedEnumType _ = c_gdk_property_state_get_type++-- struct RGBA+newtype RGBA = RGBA (ForeignPtr RGBA)+noRGBA :: Maybe RGBA+noRGBA = Nothing++foreign import ccall "gdk_rgba_get_type" c_gdk_rgba_get_type :: +    IO GType++instance BoxedObject RGBA where+    boxedType _ = c_gdk_rgba_get_type++rGBAReadRed :: RGBA -> IO Double+rGBAReadRed s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CDouble+    let val' = realToFrac val+    return val'++rGBAReadGreen :: RGBA -> IO Double+rGBAReadGreen s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO CDouble+    let val' = realToFrac val+    return val'++rGBAReadBlue :: RGBA -> IO Double+rGBAReadBlue s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO CDouble+    let val' = realToFrac val+    return val'++rGBAReadAlpha :: RGBA -> IO Double+rGBAReadAlpha s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CDouble+    let val' = realToFrac val+    return val'++-- method RGBA::copy+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "RGBA"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_rgba_copy" gdk_rgba_copy :: +    Ptr RGBA ->                             -- _obj : TInterface "Gdk" "RGBA"+    IO (Ptr RGBA)+++rGBACopy ::+    (MonadIO m) =>+    RGBA ->                                 -- _obj+    m RGBA+rGBACopy _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- gdk_rgba_copy _obj'+    result' <- (wrapBoxed RGBA) result+    touchManagedPtr _obj+    return result'++-- method RGBA::equal+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "p2", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "p2", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_rgba_equal" gdk_rgba_equal :: +    Ptr RGBA ->                             -- _obj : TInterface "Gdk" "RGBA"+    Ptr RGBA ->                             -- p2 : TInterface "Gdk" "RGBA"+    IO CInt+++rGBAEqual ::+    (MonadIO m) =>+    RGBA ->                                 -- _obj+    RGBA ->                                 -- p2+    m Bool+rGBAEqual _obj p2 = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let p2' = unsafeManagedPtrGetPtr p2+    result <- gdk_rgba_equal _obj' p2'+    let result' = (/= 0) result+    touchManagedPtr _obj+    touchManagedPtr p2+    return result'++-- method RGBA::free+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_rgba_free" gdk_rgba_free :: +    Ptr RGBA ->                             -- _obj : TInterface "Gdk" "RGBA"+    IO ()+++rGBAFree ::+    (MonadIO m) =>+    RGBA ->                                 -- _obj+    m ()+rGBAFree _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    gdk_rgba_free _obj'+    touchManagedPtr _obj+    return ()++-- method RGBA::hash+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_rgba_hash" gdk_rgba_hash :: +    Ptr RGBA ->                             -- _obj : TInterface "Gdk" "RGBA"+    IO Word32+++rGBAHash ::+    (MonadIO m) =>+    RGBA ->                                 -- _obj+    m Word32+rGBAHash _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- gdk_rgba_hash _obj'+    touchManagedPtr _obj+    return result++-- method RGBA::parse+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "spec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "spec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_rgba_parse" gdk_rgba_parse :: +    Ptr RGBA ->                             -- _obj : TInterface "Gdk" "RGBA"+    CString ->                              -- spec : TBasicType TUTF8+    IO CInt+++rGBAParse ::+    (MonadIO m) =>+    RGBA ->                                 -- _obj+    T.Text ->                               -- spec+    m Bool+rGBAParse _obj spec = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    spec' <- textToCString spec+    result <- gdk_rgba_parse _obj' spec'+    let result' = (/= 0) result+    touchManagedPtr _obj+    freeMem spec'+    return result'++-- method RGBA::to_string+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "gdk_rgba_to_string" gdk_rgba_to_string :: +    Ptr RGBA ->                             -- _obj : TInterface "Gdk" "RGBA"+    IO CString+++rGBAToString ::+    (MonadIO m) =>+    RGBA ->                                 -- _obj+    m T.Text+rGBAToString _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- gdk_rgba_to_string _obj'+    result' <- cstringToText result+    freeMem result+    touchManagedPtr _obj+    return result'++-- object Screen +newtype Screen = Screen (ForeignPtr Screen)+noScreen :: Maybe Screen+noScreen = Nothing++foreign import ccall "gdk_screen_get_type"+    c_gdk_screen_get_type :: IO GType++type instance ParentTypes Screen = '[GObject.Object]++instance GObject Screen where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_gdk_screen_get_type+    ++class GObject o => ScreenK o+instance (GObject o, IsDescendantOf Screen o) => ScreenK o++toScreen :: ScreenK o => o -> IO Screen+toScreen = unsafeCastTo Screen++-- method Screen::get_active_window+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Window"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_active_window" gdk_screen_get_active_window :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    IO (Ptr Window)+++screenGetActiveWindow ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    m Window+screenGetActiveWindow _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_screen_get_active_window _obj'+    result' <- (wrapObject Window) result+    touchManagedPtr _obj+    return result'++-- method Screen::get_display+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Display"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_display" gdk_screen_get_display :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    IO (Ptr Display)+++screenGetDisplay ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    m Display+screenGetDisplay _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_screen_get_display _obj'+    result' <- (newObject Display) result+    touchManagedPtr _obj+    return result'++-- method Screen::get_font_options+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "cairo" "FontOptions"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_font_options" gdk_screen_get_font_options :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    IO (Ptr Cairo.FontOptions)+++screenGetFontOptions ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    m Cairo.FontOptions+screenGetFontOptions _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_screen_get_font_options _obj'+    -- XXX Wrapping a foreign struct/union with no known destructor, leak?+    result' <- (\x -> Cairo.FontOptions <$> newForeignPtr_ x) result+    touchManagedPtr _obj+    return result'++-- method Screen::get_height+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_height" gdk_screen_get_height :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    IO Int32+++screenGetHeight ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    m Int32+screenGetHeight _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_screen_get_height _obj'+    touchManagedPtr _obj+    return result++-- method Screen::get_height_mm+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_height_mm" gdk_screen_get_height_mm :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    IO Int32+++screenGetHeightMm ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    m Int32+screenGetHeightMm _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_screen_get_height_mm _obj'+    touchManagedPtr _obj+    return result++-- method Screen::get_monitor_at_point+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_monitor_at_point" gdk_screen_get_monitor_at_point :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    Int32 ->                                -- x : TBasicType TInt32+    Int32 ->                                -- y : TBasicType TInt32+    IO Int32+++screenGetMonitorAtPoint ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- x+    Int32 ->                                -- y+    m Int32+screenGetMonitorAtPoint _obj x y = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_screen_get_monitor_at_point _obj' x y+    touchManagedPtr _obj+    return result++-- method Screen::get_monitor_at_window+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_monitor_at_window" gdk_screen_get_monitor_at_window :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    Ptr Window ->                           -- window : TInterface "Gdk" "Window"+    IO Int32+++screenGetMonitorAtWindow ::+    (MonadIO m, ScreenK a, WindowK b) =>+    a ->                                    -- _obj+    b ->                                    -- window+    m Int32+screenGetMonitorAtWindow _obj window = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let window' = unsafeManagedPtrCastPtr window+    result <- gdk_screen_get_monitor_at_window _obj' window'+    touchManagedPtr _obj+    touchManagedPtr window+    return result++-- method Screen::get_monitor_geometry+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest", argType = TInterface "cairo" "RectangleInt", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_monitor_geometry" gdk_screen_get_monitor_geometry :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    Int32 ->                                -- monitor_num : TBasicType TInt32+    Ptr Cairo.RectangleInt ->               -- dest : TInterface "cairo" "RectangleInt"+    IO ()+++screenGetMonitorGeometry ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- monitor_num+    m (Cairo.RectangleInt)+screenGetMonitorGeometry _obj monitor_num = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    dest <- callocBoxedBytes 16 :: IO (Ptr Cairo.RectangleInt)+    gdk_screen_get_monitor_geometry _obj' monitor_num dest+    dest' <- (wrapBoxed Cairo.RectangleInt) dest+    touchManagedPtr _obj+    return dest'++-- method Screen::get_monitor_height_mm+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_monitor_height_mm" gdk_screen_get_monitor_height_mm :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    Int32 ->                                -- monitor_num : TBasicType TInt32+    IO Int32+++screenGetMonitorHeightMm ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- monitor_num+    m Int32+screenGetMonitorHeightMm _obj monitor_num = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_screen_get_monitor_height_mm _obj' monitor_num+    touchManagedPtr _obj+    return result++-- method Screen::get_monitor_plug_name+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_monitor_plug_name" gdk_screen_get_monitor_plug_name :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    Int32 ->                                -- monitor_num : TBasicType TInt32+    IO CString+++screenGetMonitorPlugName ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- monitor_num+    m T.Text+screenGetMonitorPlugName _obj monitor_num = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_screen_get_monitor_plug_name _obj' monitor_num+    result' <- cstringToText result+    freeMem result+    touchManagedPtr _obj+    return result'++-- method Screen::get_monitor_scale_factor+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_monitor_scale_factor" gdk_screen_get_monitor_scale_factor :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    Int32 ->                                -- monitor_num : TBasicType TInt32+    IO Int32+++screenGetMonitorScaleFactor ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- monitor_num+    m Int32+screenGetMonitorScaleFactor _obj monitor_num = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_screen_get_monitor_scale_factor _obj' monitor_num+    touchManagedPtr _obj+    return result++-- method Screen::get_monitor_width_mm+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_monitor_width_mm" gdk_screen_get_monitor_width_mm :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    Int32 ->                                -- monitor_num : TBasicType TInt32+    IO Int32+++screenGetMonitorWidthMm ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- monitor_num+    m Int32+screenGetMonitorWidthMm _obj monitor_num = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_screen_get_monitor_width_mm _obj' monitor_num+    touchManagedPtr _obj+    return result++-- method Screen::get_monitor_workarea+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest", argType = TInterface "cairo" "RectangleInt", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_monitor_workarea" gdk_screen_get_monitor_workarea :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    Int32 ->                                -- monitor_num : TBasicType TInt32+    Ptr Cairo.RectangleInt ->               -- dest : TInterface "cairo" "RectangleInt"+    IO ()+++screenGetMonitorWorkarea ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- monitor_num+    m (Cairo.RectangleInt)+screenGetMonitorWorkarea _obj monitor_num = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    dest <- callocBoxedBytes 16 :: IO (Ptr Cairo.RectangleInt)+    gdk_screen_get_monitor_workarea _obj' monitor_num dest+    dest' <- (wrapBoxed Cairo.RectangleInt) dest+    touchManagedPtr _obj+    return dest'++-- method Screen::get_n_monitors+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_n_monitors" gdk_screen_get_n_monitors :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    IO Int32+++screenGetNMonitors ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    m Int32+screenGetNMonitors _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_screen_get_n_monitors _obj'+    touchManagedPtr _obj+    return result++-- method Screen::get_number+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_number" gdk_screen_get_number :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    IO Int32+++screenGetNumber ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    m Int32+screenGetNumber _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_screen_get_number _obj'+    touchManagedPtr _obj+    return result++-- method Screen::get_primary_monitor+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_primary_monitor" gdk_screen_get_primary_monitor :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    IO Int32+++screenGetPrimaryMonitor ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    m Int32+screenGetPrimaryMonitor _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_screen_get_primary_monitor _obj'+    touchManagedPtr _obj+    return result++-- method Screen::get_resolution+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TDouble+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_resolution" gdk_screen_get_resolution :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    IO CDouble+++screenGetResolution ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    m Double+screenGetResolution _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_screen_get_resolution _obj'+    let result' = realToFrac result+    touchManagedPtr _obj+    return result'++-- method Screen::get_rgba_visual+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Visual"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_rgba_visual" gdk_screen_get_rgba_visual :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    IO (Ptr Visual)+++screenGetRgbaVisual ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    m Visual+screenGetRgbaVisual _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_screen_get_rgba_visual _obj'+    result' <- (newObject Visual) result+    touchManagedPtr _obj+    return result'++-- method Screen::get_root_window+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Window"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_root_window" gdk_screen_get_root_window :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    IO (Ptr Window)+++screenGetRootWindow ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    m Window+screenGetRootWindow _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_screen_get_root_window _obj'+    result' <- (newObject Window) result+    touchManagedPtr _obj+    return result'++-- method Screen::get_setting+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_setting" gdk_screen_get_setting :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    CString ->                              -- name : TBasicType TUTF8+    Ptr GValue ->                           -- value : TInterface "GObject" "Value"+    IO CInt+++screenGetSetting ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- name+    GValue ->                               -- value+    m Bool+screenGetSetting _obj name value = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    name' <- textToCString name+    let value' = unsafeManagedPtrGetPtr value+    result <- gdk_screen_get_setting _obj' name' value'+    let result' = (/= 0) result+    touchManagedPtr _obj+    touchManagedPtr value+    freeMem name'+    return result'++-- method Screen::get_system_visual+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Visual"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_system_visual" gdk_screen_get_system_visual :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    IO (Ptr Visual)+++screenGetSystemVisual ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    m Visual+screenGetSystemVisual _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_screen_get_system_visual _obj'+    result' <- (newObject Visual) result+    touchManagedPtr _obj+    return result'++-- method Screen::get_toplevel_windows+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGList (TInterface "Gdk" "Window")+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_toplevel_windows" gdk_screen_get_toplevel_windows :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    IO (Ptr (GList (Ptr Window)))+++screenGetToplevelWindows ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    m [Window]+screenGetToplevelWindows _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_screen_get_toplevel_windows _obj'+    result' <- unpackGList result+    result'' <- mapM (newObject Window) result'+    g_list_free result+    touchManagedPtr _obj+    return result''++-- method Screen::get_width+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_width" gdk_screen_get_width :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    IO Int32+++screenGetWidth ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    m Int32+screenGetWidth _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_screen_get_width _obj'+    touchManagedPtr _obj+    return result++-- method Screen::get_width_mm+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_width_mm" gdk_screen_get_width_mm :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    IO Int32+++screenGetWidthMm ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    m Int32+screenGetWidthMm _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_screen_get_width_mm _obj'+    touchManagedPtr _obj+    return result++-- method Screen::get_window_stack+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGList (TInterface "Gdk" "Window")+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_window_stack" gdk_screen_get_window_stack :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    IO (Ptr (GList (Ptr Window)))+++screenGetWindowStack ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    m [Window]+screenGetWindowStack _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_screen_get_window_stack _obj'+    result' <- unpackGList result+    result'' <- mapM (wrapObject Window) result'+    g_list_free result+    touchManagedPtr _obj+    return result''++-- method Screen::is_composited+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_is_composited" gdk_screen_is_composited :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    IO CInt+++screenIsComposited ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    m Bool+screenIsComposited _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_screen_is_composited _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Screen::list_visuals+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGList (TInterface "Gdk" "Visual")+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_list_visuals" gdk_screen_list_visuals :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    IO (Ptr (GList (Ptr Visual)))+++screenListVisuals ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    m [Visual]+screenListVisuals _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_screen_list_visuals _obj'+    result' <- unpackGList result+    result'' <- mapM (newObject Visual) result'+    g_list_free result+    touchManagedPtr _obj+    return result''++-- method Screen::make_display_name+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_make_display_name" gdk_screen_make_display_name :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    IO CString+++screenMakeDisplayName ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    m T.Text+screenMakeDisplayName _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_screen_make_display_name _obj'+    result' <- cstringToText result+    freeMem result+    touchManagedPtr _obj+    return result'++-- method Screen::set_font_options+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "cairo" "FontOptions", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "cairo" "FontOptions", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_set_font_options" gdk_screen_set_font_options :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    Ptr Cairo.FontOptions ->                -- options : TInterface "cairo" "FontOptions"+    IO ()+++screenSetFontOptions ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    Maybe (Cairo.FontOptions) ->            -- options+    m ()+screenSetFontOptions _obj options = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeOptions <- case options of+        Nothing -> return nullPtr+        Just jOptions -> do+            let jOptions' = unsafeManagedPtrGetPtr jOptions+            return jOptions'+    gdk_screen_set_font_options _obj' maybeOptions+    touchManagedPtr _obj+    whenJust options touchManagedPtr+    return ()++-- method Screen::set_resolution+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dpi", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dpi", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_set_resolution" gdk_screen_set_resolution :: +    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"+    CDouble ->                              -- dpi : TBasicType TDouble+    IO ()+++screenSetResolution ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- _obj+    Double ->                               -- dpi+    m ()+screenSetResolution _obj dpi = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let dpi' = realToFrac dpi+    gdk_screen_set_resolution _obj' dpi'+    touchManagedPtr _obj+    return ()++-- method Screen::get_default+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Gdk" "Screen"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_default" gdk_screen_get_default :: +    IO (Ptr Screen)+++screenGetDefault ::+    (MonadIO m) =>+    m Screen+screenGetDefault  = liftIO $ do+    result <- gdk_screen_get_default+    result' <- (newObject Screen) result+    return result'++-- method Screen::height+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_height" gdk_screen_height :: +    IO Int32+++screenHeight ::+    (MonadIO m) =>+    m Int32+screenHeight  = liftIO $ do+    result <- gdk_screen_height+    return result++-- method Screen::height_mm+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_height_mm" gdk_screen_height_mm :: +    IO Int32+++screenHeightMm ::+    (MonadIO m) =>+    m Int32+screenHeightMm  = liftIO $ do+    result <- gdk_screen_height_mm+    return result++-- method Screen::width+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_width" gdk_screen_width :: +    IO Int32+++screenWidth ::+    (MonadIO m) =>+    m Int32+screenWidth  = liftIO $ do+    result <- gdk_screen_width+    return result++-- method Screen::width_mm+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_width_mm" gdk_screen_width_mm :: +    IO Int32+++screenWidthMm ::+    (MonadIO m) =>+    m Int32+screenWidthMm  = liftIO $ do+    result <- gdk_screen_width_mm+    return result++-- signal Screen::composited-changed+type ScreenCompositedChangedCallback =+    IO ()++noScreenCompositedChangedCallback :: Maybe ScreenCompositedChangedCallback+noScreenCompositedChangedCallback = Nothing++type ScreenCompositedChangedCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkScreenCompositedChangedCallback :: ScreenCompositedChangedCallbackC -> IO (FunPtr ScreenCompositedChangedCallbackC)++screenCompositedChangedClosure :: ScreenCompositedChangedCallback -> IO Closure+screenCompositedChangedClosure cb = newCClosure =<< mkScreenCompositedChangedCallback wrapped+    where wrapped = screenCompositedChangedCallbackWrapper cb++screenCompositedChangedCallbackWrapper ::+    ScreenCompositedChangedCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+screenCompositedChangedCallbackWrapper _cb _ _ = do+    _cb ++onScreenCompositedChanged :: (GObject a, MonadIO m) => a -> ScreenCompositedChangedCallback -> m SignalHandlerId+onScreenCompositedChanged obj cb = liftIO $ connectScreenCompositedChanged obj cb SignalConnectBefore+afterScreenCompositedChanged :: (GObject a, MonadIO m) => a -> ScreenCompositedChangedCallback -> m SignalHandlerId+afterScreenCompositedChanged obj cb = connectScreenCompositedChanged obj cb SignalConnectAfter++connectScreenCompositedChanged :: (GObject a, MonadIO m) =>+                                  a -> ScreenCompositedChangedCallback -> SignalConnectMode -> m SignalHandlerId+connectScreenCompositedChanged obj cb after = liftIO $ do+    cb' <- mkScreenCompositedChangedCallback (screenCompositedChangedCallbackWrapper cb)+    connectSignalFunPtr obj "composited-changed" cb' after++-- signal Screen::monitors-changed+type ScreenMonitorsChangedCallback =+    IO ()++noScreenMonitorsChangedCallback :: Maybe ScreenMonitorsChangedCallback+noScreenMonitorsChangedCallback = Nothing++type ScreenMonitorsChangedCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkScreenMonitorsChangedCallback :: ScreenMonitorsChangedCallbackC -> IO (FunPtr ScreenMonitorsChangedCallbackC)++screenMonitorsChangedClosure :: ScreenMonitorsChangedCallback -> IO Closure+screenMonitorsChangedClosure cb = newCClosure =<< mkScreenMonitorsChangedCallback wrapped+    where wrapped = screenMonitorsChangedCallbackWrapper cb++screenMonitorsChangedCallbackWrapper ::+    ScreenMonitorsChangedCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+screenMonitorsChangedCallbackWrapper _cb _ _ = do+    _cb ++onScreenMonitorsChanged :: (GObject a, MonadIO m) => a -> ScreenMonitorsChangedCallback -> m SignalHandlerId+onScreenMonitorsChanged obj cb = liftIO $ connectScreenMonitorsChanged obj cb SignalConnectBefore+afterScreenMonitorsChanged :: (GObject a, MonadIO m) => a -> ScreenMonitorsChangedCallback -> m SignalHandlerId+afterScreenMonitorsChanged obj cb = connectScreenMonitorsChanged obj cb SignalConnectAfter++connectScreenMonitorsChanged :: (GObject a, MonadIO m) =>+                                a -> ScreenMonitorsChangedCallback -> SignalConnectMode -> m SignalHandlerId+connectScreenMonitorsChanged obj cb after = liftIO $ do+    cb' <- mkScreenMonitorsChangedCallback (screenMonitorsChangedCallbackWrapper cb)+    connectSignalFunPtr obj "monitors-changed" cb' after++-- signal Screen::size-changed+type ScreenSizeChangedCallback =+    IO ()++noScreenSizeChangedCallback :: Maybe ScreenSizeChangedCallback+noScreenSizeChangedCallback = Nothing++type ScreenSizeChangedCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkScreenSizeChangedCallback :: ScreenSizeChangedCallbackC -> IO (FunPtr ScreenSizeChangedCallbackC)++screenSizeChangedClosure :: ScreenSizeChangedCallback -> IO Closure+screenSizeChangedClosure cb = newCClosure =<< mkScreenSizeChangedCallback wrapped+    where wrapped = screenSizeChangedCallbackWrapper cb++screenSizeChangedCallbackWrapper ::+    ScreenSizeChangedCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+screenSizeChangedCallbackWrapper _cb _ _ = do+    _cb ++onScreenSizeChanged :: (GObject a, MonadIO m) => a -> ScreenSizeChangedCallback -> m SignalHandlerId+onScreenSizeChanged obj cb = liftIO $ connectScreenSizeChanged obj cb SignalConnectBefore+afterScreenSizeChanged :: (GObject a, MonadIO m) => a -> ScreenSizeChangedCallback -> m SignalHandlerId+afterScreenSizeChanged obj cb = connectScreenSizeChanged obj cb SignalConnectAfter++connectScreenSizeChanged :: (GObject a, MonadIO m) =>+                            a -> ScreenSizeChangedCallback -> SignalConnectMode -> m SignalHandlerId+connectScreenSizeChanged obj cb after = liftIO $ do+    cb' <- mkScreenSizeChangedCallback (screenSizeChangedCallbackWrapper cb)+    connectSignalFunPtr obj "size-changed" cb' after++-- Enum ScrollDirection++data ScrollDirection = +      ScrollDirectionUp+    | ScrollDirectionDown+    | ScrollDirectionLeft+    | ScrollDirectionRight+    | ScrollDirectionSmooth+    | AnotherScrollDirection Int+    deriving (Show, Eq)++instance Enum ScrollDirection where+    fromEnum ScrollDirectionUp = 0+    fromEnum ScrollDirectionDown = 1+    fromEnum ScrollDirectionLeft = 2+    fromEnum ScrollDirectionRight = 3+    fromEnum ScrollDirectionSmooth = 4+    fromEnum (AnotherScrollDirection k) = k++    toEnum 0 = ScrollDirectionUp+    toEnum 1 = ScrollDirectionDown+    toEnum 2 = ScrollDirectionLeft+    toEnum 3 = ScrollDirectionRight+    toEnum 4 = ScrollDirectionSmooth+    toEnum k = AnotherScrollDirection k++foreign import ccall "gdk_scroll_direction_get_type" c_gdk_scroll_direction_get_type :: +    IO GType++instance BoxedEnum ScrollDirection where+    boxedEnumType _ = c_gdk_scroll_direction_get_type++-- Enum SettingAction++data SettingAction = +      SettingActionNew+    | SettingActionChanged+    | SettingActionDeleted+    | AnotherSettingAction Int+    deriving (Show, Eq)++instance Enum SettingAction where+    fromEnum SettingActionNew = 0+    fromEnum SettingActionChanged = 1+    fromEnum SettingActionDeleted = 2+    fromEnum (AnotherSettingAction k) = k++    toEnum 0 = SettingActionNew+    toEnum 1 = SettingActionChanged+    toEnum 2 = SettingActionDeleted+    toEnum k = AnotherSettingAction k++foreign import ccall "gdk_setting_action_get_type" c_gdk_setting_action_get_type :: +    IO GType++instance BoxedEnum SettingAction where+    boxedEnumType _ = c_gdk_setting_action_get_type++-- Enum Status++data Status = +      StatusOk+    | StatusError+    | StatusErrorParam+    | StatusErrorFile+    | StatusErrorMem+    | AnotherStatus Int+    deriving (Show, Eq)++instance Enum Status where+    fromEnum StatusOk = 0+    fromEnum StatusError = -1+    fromEnum StatusErrorParam = -2+    fromEnum StatusErrorFile = -3+    fromEnum StatusErrorMem = -4+    fromEnum (AnotherStatus k) = k++    toEnum -4 = StatusErrorMem+    toEnum -3 = StatusErrorFile+    toEnum -2 = StatusErrorParam+    toEnum -1 = StatusError+    toEnum 0 = StatusOk+    toEnum k = AnotherStatus k++foreign import ccall "gdk_status_get_type" c_gdk_status_get_type :: +    IO GType++instance BoxedEnum Status where+    boxedEnumType _ = c_gdk_status_get_type++-- struct TimeCoord+newtype TimeCoord = TimeCoord (ForeignPtr TimeCoord)+noTimeCoord :: Maybe TimeCoord+noTimeCoord = Nothing++timeCoordReadTime :: TimeCoord -> IO Word32+timeCoordReadTime s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word32+    return val++-- XXX Skipped getter for "TimeCoord:axes" :: Not implemented: "Don't know how to unpack C array of type TCArray False 128 (-1) (TBasicType TDouble)"++-- Enum VisibilityState++data VisibilityState = +      VisibilityStateUnobscured+    | VisibilityStatePartial+    | VisibilityStateFullyObscured+    | AnotherVisibilityState Int+    deriving (Show, Eq)++instance Enum VisibilityState where+    fromEnum VisibilityStateUnobscured = 0+    fromEnum VisibilityStatePartial = 1+    fromEnum VisibilityStateFullyObscured = 2+    fromEnum (AnotherVisibilityState k) = k++    toEnum 0 = VisibilityStateUnobscured+    toEnum 1 = VisibilityStatePartial+    toEnum 2 = VisibilityStateFullyObscured+    toEnum k = AnotherVisibilityState k++foreign import ccall "gdk_visibility_state_get_type" c_gdk_visibility_state_get_type :: +    IO GType++instance BoxedEnum VisibilityState where+    boxedEnumType _ = c_gdk_visibility_state_get_type++-- object Visual +newtype Visual = Visual (ForeignPtr Visual)+noVisual :: Maybe Visual+noVisual = Nothing++foreign import ccall "gdk_visual_get_type"+    c_gdk_visual_get_type :: IO GType++type instance ParentTypes Visual = '[GObject.Object]++instance GObject Visual where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_gdk_visual_get_type+    ++class GObject o => VisualK o+instance (GObject o, IsDescendantOf Visual o) => VisualK o++toVisual :: VisualK o => o -> IO Visual+toVisual = unsafeCastTo Visual++-- method Visual::get_bits_per_rgb+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_bits_per_rgb" gdk_visual_get_bits_per_rgb :: +    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"+    IO Int32+++visualGetBitsPerRgb ::+    (MonadIO m, VisualK a) =>+    a ->                                    -- _obj+    m Int32+visualGetBitsPerRgb _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_visual_get_bits_per_rgb _obj'+    touchManagedPtr _obj+    return result++-- method Visual::get_blue_pixel_details+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mask", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "shift", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "precision", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_blue_pixel_details" gdk_visual_get_blue_pixel_details :: +    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"+    Ptr Word32 ->                           -- mask : TBasicType TUInt32+    Ptr Int32 ->                            -- shift : TBasicType TInt32+    Ptr Int32 ->                            -- precision : TBasicType TInt32+    IO ()+++visualGetBluePixelDetails ::+    (MonadIO m, VisualK a) =>+    a ->                                    -- _obj+    m (Word32,Int32,Int32)+visualGetBluePixelDetails _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    mask <- allocMem :: IO (Ptr Word32)+    shift <- allocMem :: IO (Ptr Int32)+    precision <- allocMem :: IO (Ptr Int32)+    gdk_visual_get_blue_pixel_details _obj' mask shift precision+    mask' <- peek mask+    shift' <- peek shift+    precision' <- peek precision+    touchManagedPtr _obj+    freeMem mask+    freeMem shift+    freeMem precision+    return (mask', shift', precision')++-- method Visual::get_byte_order+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "ByteOrder"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_byte_order" gdk_visual_get_byte_order :: +    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"+    IO CUInt+++visualGetByteOrder ::+    (MonadIO m, VisualK a) =>+    a ->                                    -- _obj+    m ByteOrder+visualGetByteOrder _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_visual_get_byte_order _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method Visual::get_colormap_size+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_colormap_size" gdk_visual_get_colormap_size :: +    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"+    IO Int32+++visualGetColormapSize ::+    (MonadIO m, VisualK a) =>+    a ->                                    -- _obj+    m Int32+visualGetColormapSize _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_visual_get_colormap_size _obj'+    touchManagedPtr _obj+    return result++-- method Visual::get_depth+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_depth" gdk_visual_get_depth :: +    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"+    IO Int32+++visualGetDepth ::+    (MonadIO m, VisualK a) =>+    a ->                                    -- _obj+    m Int32+visualGetDepth _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_visual_get_depth _obj'+    touchManagedPtr _obj+    return result++-- method Visual::get_green_pixel_details+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mask", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "shift", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "precision", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_green_pixel_details" gdk_visual_get_green_pixel_details :: +    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"+    Ptr Word32 ->                           -- mask : TBasicType TUInt32+    Ptr Int32 ->                            -- shift : TBasicType TInt32+    Ptr Int32 ->                            -- precision : TBasicType TInt32+    IO ()+++visualGetGreenPixelDetails ::+    (MonadIO m, VisualK a) =>+    a ->                                    -- _obj+    m (Word32,Int32,Int32)+visualGetGreenPixelDetails _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    mask <- allocMem :: IO (Ptr Word32)+    shift <- allocMem :: IO (Ptr Int32)+    precision <- allocMem :: IO (Ptr Int32)+    gdk_visual_get_green_pixel_details _obj' mask shift precision+    mask' <- peek mask+    shift' <- peek shift+    precision' <- peek precision+    touchManagedPtr _obj+    freeMem mask+    freeMem shift+    freeMem precision+    return (mask', shift', precision')++-- method Visual::get_red_pixel_details+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mask", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "shift", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "precision", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_red_pixel_details" gdk_visual_get_red_pixel_details :: +    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"+    Ptr Word32 ->                           -- mask : TBasicType TUInt32+    Ptr Int32 ->                            -- shift : TBasicType TInt32+    Ptr Int32 ->                            -- precision : TBasicType TInt32+    IO ()+++visualGetRedPixelDetails ::+    (MonadIO m, VisualK a) =>+    a ->                                    -- _obj+    m (Word32,Int32,Int32)+visualGetRedPixelDetails _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    mask <- allocMem :: IO (Ptr Word32)+    shift <- allocMem :: IO (Ptr Int32)+    precision <- allocMem :: IO (Ptr Int32)+    gdk_visual_get_red_pixel_details _obj' mask shift precision+    mask' <- peek mask+    shift' <- peek shift+    precision' <- peek precision+    touchManagedPtr _obj+    freeMem mask+    freeMem shift+    freeMem precision+    return (mask', shift', precision')++-- method Visual::get_screen+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Screen"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_screen" gdk_visual_get_screen :: +    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"+    IO (Ptr Screen)+++visualGetScreen ::+    (MonadIO m, VisualK a) =>+    a ->                                    -- _obj+    m Screen+visualGetScreen _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_visual_get_screen _obj'+    result' <- (newObject Screen) result+    touchManagedPtr _obj+    return result'++-- method Visual::get_visual_type+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "VisualType"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_visual_type" gdk_visual_get_visual_type :: +    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"+    IO CUInt+++visualGetVisualType ::+    (MonadIO m, VisualK a) =>+    a ->                                    -- _obj+    m VisualType+visualGetVisualType _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_visual_get_visual_type _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method Visual::get_best+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Gdk" "Visual"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_best" gdk_visual_get_best :: +    IO (Ptr Visual)+++visualGetBest ::+    (MonadIO m) =>+    m Visual+visualGetBest  = liftIO $ do+    result <- gdk_visual_get_best+    result' <- (newObject Visual) result+    return result'++-- method Visual::get_best_depth+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_best_depth" gdk_visual_get_best_depth :: +    IO Int32+++visualGetBestDepth ::+    (MonadIO m) =>+    m Int32+visualGetBestDepth  = liftIO $ do+    result <- gdk_visual_get_best_depth+    return result++-- method Visual::get_best_type+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Gdk" "VisualType"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_best_type" gdk_visual_get_best_type :: +    IO CUInt+++visualGetBestType ::+    (MonadIO m) =>+    m VisualType+visualGetBestType  = liftIO $ do+    result <- gdk_visual_get_best_type+    let result' = (toEnum . fromIntegral) result+    return result'++-- method Visual::get_best_with_both+-- method type : MemberFunction+-- Args : [Arg {argName = "depth", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "visual_type", argType = TInterface "Gdk" "VisualType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "depth", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "visual_type", argType = TInterface "Gdk" "VisualType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Visual"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_best_with_both" gdk_visual_get_best_with_both :: +    Int32 ->                                -- depth : TBasicType TInt32+    CUInt ->                                -- visual_type : TInterface "Gdk" "VisualType"+    IO (Ptr Visual)+++visualGetBestWithBoth ::+    (MonadIO m) =>+    Int32 ->                                -- depth+    VisualType ->                           -- visual_type+    m Visual+visualGetBestWithBoth depth visual_type = liftIO $ do+    let visual_type' = (fromIntegral . fromEnum) visual_type+    result <- gdk_visual_get_best_with_both depth visual_type'+    result' <- (newObject Visual) result+    return result'++-- method Visual::get_best_with_depth+-- method type : MemberFunction+-- Args : [Arg {argName = "depth", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "depth", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Visual"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_best_with_depth" gdk_visual_get_best_with_depth :: +    Int32 ->                                -- depth : TBasicType TInt32+    IO (Ptr Visual)+++visualGetBestWithDepth ::+    (MonadIO m) =>+    Int32 ->                                -- depth+    m Visual+visualGetBestWithDepth depth = liftIO $ do+    result <- gdk_visual_get_best_with_depth depth+    result' <- (newObject Visual) result+    return result'++-- method Visual::get_best_with_type+-- method type : MemberFunction+-- Args : [Arg {argName = "visual_type", argType = TInterface "Gdk" "VisualType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "visual_type", argType = TInterface "Gdk" "VisualType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Visual"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_best_with_type" gdk_visual_get_best_with_type :: +    CUInt ->                                -- visual_type : TInterface "Gdk" "VisualType"+    IO (Ptr Visual)+++visualGetBestWithType ::+    (MonadIO m) =>+    VisualType ->                           -- visual_type+    m Visual+visualGetBestWithType visual_type = liftIO $ do+    let visual_type' = (fromIntegral . fromEnum) visual_type+    result <- gdk_visual_get_best_with_type visual_type'+    result' <- (newObject Visual) result+    return result'++-- method Visual::get_system+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Gdk" "Visual"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_system" gdk_visual_get_system :: +    IO (Ptr Visual)+++visualGetSystem ::+    (MonadIO m) =>+    m Visual+visualGetSystem  = liftIO $ do+    result <- gdk_visual_get_system+    result' <- (newObject Visual) result+    return result'++-- Enum VisualType++data VisualType = +      VisualTypeStaticGray+    | VisualTypeGrayscale+    | VisualTypeStaticColor+    | VisualTypePseudoColor+    | VisualTypeTrueColor+    | VisualTypeDirectColor+    | AnotherVisualType Int+    deriving (Show, Eq)++instance Enum VisualType where+    fromEnum VisualTypeStaticGray = 0+    fromEnum VisualTypeGrayscale = 1+    fromEnum VisualTypeStaticColor = 2+    fromEnum VisualTypePseudoColor = 3+    fromEnum VisualTypeTrueColor = 4+    fromEnum VisualTypeDirectColor = 5+    fromEnum (AnotherVisualType k) = k++    toEnum 0 = VisualTypeStaticGray+    toEnum 1 = VisualTypeGrayscale+    toEnum 2 = VisualTypeStaticColor+    toEnum 3 = VisualTypePseudoColor+    toEnum 4 = VisualTypeTrueColor+    toEnum 5 = VisualTypeDirectColor+    toEnum k = AnotherVisualType k++foreign import ccall "gdk_visual_type_get_type" c_gdk_visual_type_get_type :: +    IO GType++instance BoxedEnum VisualType where+    boxedEnumType _ = c_gdk_visual_type_get_type++-- Flags WMDecoration++data WMDecoration = +      WMDecorationAll+    | WMDecorationBorder+    | WMDecorationResizeh+    | WMDecorationTitle+    | WMDecorationMenu+    | WMDecorationMinimize+    | WMDecorationMaximize+    | AnotherWMDecoration Int+    deriving (Show, Eq)++instance Enum WMDecoration where+    fromEnum WMDecorationAll = 1+    fromEnum WMDecorationBorder = 2+    fromEnum WMDecorationResizeh = 4+    fromEnum WMDecorationTitle = 8+    fromEnum WMDecorationMenu = 16+    fromEnum WMDecorationMinimize = 32+    fromEnum WMDecorationMaximize = 64+    fromEnum (AnotherWMDecoration k) = k++    toEnum 1 = WMDecorationAll+    toEnum 2 = WMDecorationBorder+    toEnum 4 = WMDecorationResizeh+    toEnum 8 = WMDecorationTitle+    toEnum 16 = WMDecorationMenu+    toEnum 32 = WMDecorationMinimize+    toEnum 64 = WMDecorationMaximize+    toEnum k = AnotherWMDecoration k++foreign import ccall "gdk_wm_decoration_get_type" c_gdk_wm_decoration_get_type :: +    IO GType++instance BoxedEnum WMDecoration where+    boxedEnumType _ = c_gdk_wm_decoration_get_type++instance IsGFlag WMDecoration++-- Flags WMFunction++data WMFunction = +      WMFunctionAll+    | WMFunctionResize+    | WMFunctionMove+    | WMFunctionMinimize+    | WMFunctionMaximize+    | WMFunctionClose+    | AnotherWMFunction Int+    deriving (Show, Eq)++instance Enum WMFunction where+    fromEnum WMFunctionAll = 1+    fromEnum WMFunctionResize = 2+    fromEnum WMFunctionMove = 4+    fromEnum WMFunctionMinimize = 8+    fromEnum WMFunctionMaximize = 16+    fromEnum WMFunctionClose = 32+    fromEnum (AnotherWMFunction k) = k++    toEnum 1 = WMFunctionAll+    toEnum 2 = WMFunctionResize+    toEnum 4 = WMFunctionMove+    toEnum 8 = WMFunctionMinimize+    toEnum 16 = WMFunctionMaximize+    toEnum 32 = WMFunctionClose+    toEnum k = AnotherWMFunction k++foreign import ccall "gdk_wm_function_get_type" c_gdk_wm_function_get_type :: +    IO GType++instance BoxedEnum WMFunction where+    boxedEnumType _ = c_gdk_wm_function_get_type++instance IsGFlag WMFunction++-- object Window +newtype Window = Window (ForeignPtr Window)+noWindow :: Maybe Window+noWindow = Nothing++foreign import ccall "gdk_window_get_type"+    c_gdk_window_get_type :: IO GType++type instance ParentTypes Window = '[GObject.Object]++instance GObject Window where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_gdk_window_get_type+    ++class GObject o => WindowK o+instance (GObject o, IsDescendantOf Window o) => WindowK o++toWindow :: WindowK o => o -> IO Window+toWindow = unsafeCastTo Window++-- method Window::new+-- method type : Constructor+-- Args : [Arg {argName = "parent", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attributes", argType = TInterface "Gdk" "WindowAttr", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attributes_mask", argType = TInterface "Gdk" "WindowAttributesType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "parent", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attributes", argType = TInterface "Gdk" "WindowAttr", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attributes_mask", argType = TInterface "Gdk" "WindowAttributesType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Window"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_new" gdk_window_new :: +    Ptr Window ->                           -- parent : TInterface "Gdk" "Window"+    Ptr WindowAttr ->                       -- attributes : TInterface "Gdk" "WindowAttr"+    CUInt ->                                -- attributes_mask : TInterface "Gdk" "WindowAttributesType"+    IO (Ptr Window)+++windowNew ::+    (MonadIO m, WindowK a) =>+    Maybe (a) ->                            -- parent+    WindowAttr ->                           -- attributes+    [WindowAttributesType] ->               -- attributes_mask+    m Window+windowNew parent attributes attributes_mask = liftIO $ do+    maybeParent <- case parent of+        Nothing -> return nullPtr+        Just jParent -> do+            let jParent' = unsafeManagedPtrCastPtr jParent+            return jParent'+    let attributes' = unsafeManagedPtrGetPtr attributes+    let attributes_mask' = gflagsToWord attributes_mask+    result <- gdk_window_new maybeParent attributes' attributes_mask'+    result' <- (wrapObject Window) result+    whenJust parent touchManagedPtr+    touchManagedPtr attributes+    return result'++-- method Window::beep+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_beep" gdk_window_beep :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowBeep ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowBeep _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_beep _obj'+    touchManagedPtr _obj+    return ()++-- method Window::begin_move_drag+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_begin_move_drag" gdk_window_begin_move_drag :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Int32 ->                                -- button : TBasicType TInt32+    Int32 ->                                -- root_x : TBasicType TInt32+    Int32 ->                                -- root_y : TBasicType TInt32+    Word32 ->                               -- timestamp : TBasicType TUInt32+    IO ()+++windowBeginMoveDrag ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- button+    Int32 ->                                -- root_x+    Int32 ->                                -- root_y+    Word32 ->                               -- timestamp+    m ()+windowBeginMoveDrag _obj button root_x root_y timestamp = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_begin_move_drag _obj' button root_x root_y timestamp+    touchManagedPtr _obj+    return ()++-- method Window::begin_move_drag_for_device+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_begin_move_drag_for_device" gdk_window_begin_move_drag_for_device :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"+    Int32 ->                                -- button : TBasicType TInt32+    Int32 ->                                -- root_x : TBasicType TInt32+    Int32 ->                                -- root_y : TBasicType TInt32+    Word32 ->                               -- timestamp : TBasicType TUInt32+    IO ()+++windowBeginMoveDragForDevice ::+    (MonadIO m, WindowK a, DeviceK b) =>+    a ->                                    -- _obj+    b ->                                    -- device+    Int32 ->                                -- button+    Int32 ->                                -- root_x+    Int32 ->                                -- root_y+    Word32 ->                               -- timestamp+    m ()+windowBeginMoveDragForDevice _obj device button root_x root_y timestamp = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let device' = unsafeManagedPtrCastPtr device+    gdk_window_begin_move_drag_for_device _obj' device' button root_x root_y timestamp+    touchManagedPtr _obj+    touchManagedPtr device+    return ()++-- method Window::begin_paint_rect+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rectangle", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rectangle", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_begin_paint_rect" gdk_window_begin_paint_rect :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Cairo.RectangleInt ->               -- rectangle : TInterface "cairo" "RectangleInt"+    IO ()+++windowBeginPaintRect ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Cairo.RectangleInt ->                   -- rectangle+    m ()+windowBeginPaintRect _obj rectangle = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let rectangle' = unsafeManagedPtrGetPtr rectangle+    gdk_window_begin_paint_rect _obj' rectangle'+    touchManagedPtr _obj+    touchManagedPtr rectangle+    return ()++-- method Window::begin_paint_region+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_begin_paint_region" gdk_window_begin_paint_region :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Cairo.Region ->                     -- region : TInterface "cairo" "Region"+    IO ()+++windowBeginPaintRegion ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Cairo.Region ->                         -- region+    m ()+windowBeginPaintRegion _obj region = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let region' = unsafeManagedPtrGetPtr region+    gdk_window_begin_paint_region _obj' region'+    touchManagedPtr _obj+    touchManagedPtr region+    return ()++-- method Window::begin_resize_drag+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "edge", argType = TInterface "Gdk" "WindowEdge", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "edge", argType = TInterface "Gdk" "WindowEdge", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_begin_resize_drag" gdk_window_begin_resize_drag :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CUInt ->                                -- edge : TInterface "Gdk" "WindowEdge"+    Int32 ->                                -- button : TBasicType TInt32+    Int32 ->                                -- root_x : TBasicType TInt32+    Int32 ->                                -- root_y : TBasicType TInt32+    Word32 ->                               -- timestamp : TBasicType TUInt32+    IO ()+++windowBeginResizeDrag ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    WindowEdge ->                           -- edge+    Int32 ->                                -- button+    Int32 ->                                -- root_x+    Int32 ->                                -- root_y+    Word32 ->                               -- timestamp+    m ()+windowBeginResizeDrag _obj edge button root_x root_y timestamp = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let edge' = (fromIntegral . fromEnum) edge+    gdk_window_begin_resize_drag _obj' edge' button root_x root_y timestamp+    touchManagedPtr _obj+    return ()++-- method Window::begin_resize_drag_for_device+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "edge", argType = TInterface "Gdk" "WindowEdge", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "edge", argType = TInterface "Gdk" "WindowEdge", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_begin_resize_drag_for_device" gdk_window_begin_resize_drag_for_device :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CUInt ->                                -- edge : TInterface "Gdk" "WindowEdge"+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"+    Int32 ->                                -- button : TBasicType TInt32+    Int32 ->                                -- root_x : TBasicType TInt32+    Int32 ->                                -- root_y : TBasicType TInt32+    Word32 ->                               -- timestamp : TBasicType TUInt32+    IO ()+++windowBeginResizeDragForDevice ::+    (MonadIO m, WindowK a, DeviceK b) =>+    a ->                                    -- _obj+    WindowEdge ->                           -- edge+    b ->                                    -- device+    Int32 ->                                -- button+    Int32 ->                                -- root_x+    Int32 ->                                -- root_y+    Word32 ->                               -- timestamp+    m ()+windowBeginResizeDragForDevice _obj edge device button root_x root_y timestamp = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let edge' = (fromIntegral . fromEnum) edge+    let device' = unsafeManagedPtrCastPtr device+    gdk_window_begin_resize_drag_for_device _obj' edge' device' button root_x root_y timestamp+    touchManagedPtr _obj+    touchManagedPtr device+    return ()++-- method Window::configure_finished+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_configure_finished" gdk_window_configure_finished :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()++{-# DEPRECATED windowConfigureFinished ["(Since version 3.8)","this function is no longer needed"]#-}+windowConfigureFinished ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowConfigureFinished _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_configure_finished _obj'+    touchManagedPtr _obj+    return ()++-- method Window::coords_from_parent+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent_x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent_y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent_x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent_y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_coords_from_parent" gdk_window_coords_from_parent :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CDouble ->                              -- parent_x : TBasicType TDouble+    CDouble ->                              -- parent_y : TBasicType TDouble+    Ptr CDouble ->                          -- x : TBasicType TDouble+    Ptr CDouble ->                          -- y : TBasicType TDouble+    IO ()+++windowCoordsFromParent ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Double ->                               -- parent_x+    Double ->                               -- parent_y+    m (Double,Double)+windowCoordsFromParent _obj parent_x parent_y = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let parent_x' = realToFrac parent_x+    let parent_y' = realToFrac parent_y+    x <- allocMem :: IO (Ptr CDouble)+    y <- allocMem :: IO (Ptr CDouble)+    gdk_window_coords_from_parent _obj' parent_x' parent_y' x y+    x' <- peek x+    let x'' = realToFrac x'+    y' <- peek y+    let y'' = realToFrac y'+    touchManagedPtr _obj+    freeMem x+    freeMem y+    return (x'', y'')++-- method Window::coords_to_parent+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent_x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "parent_y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_coords_to_parent" gdk_window_coords_to_parent :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CDouble ->                              -- x : TBasicType TDouble+    CDouble ->                              -- y : TBasicType TDouble+    Ptr CDouble ->                          -- parent_x : TBasicType TDouble+    Ptr CDouble ->                          -- parent_y : TBasicType TDouble+    IO ()+++windowCoordsToParent ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Double ->                               -- x+    Double ->                               -- y+    m (Double,Double)+windowCoordsToParent _obj x y = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let x' = realToFrac x+    let y' = realToFrac y+    parent_x <- allocMem :: IO (Ptr CDouble)+    parent_y <- allocMem :: IO (Ptr CDouble)+    gdk_window_coords_to_parent _obj' x' y' parent_x parent_y+    parent_x' <- peek parent_x+    let parent_x'' = realToFrac parent_x'+    parent_y' <- peek parent_y+    let parent_y'' = realToFrac parent_y'+    touchManagedPtr _obj+    freeMem parent_x+    freeMem parent_y+    return (parent_x'', parent_y'')++-- method Window::create_gl_context+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "GLContext"+-- throws : True+-- Skip return : False++foreign import ccall "gdk_window_create_gl_context" gdk_window_create_gl_context :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr GLContext)+++windowCreateGlContext ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m GLContext+windowCreateGlContext _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    onException (do+        result <- propagateGError $ gdk_window_create_gl_context _obj'+        result' <- (wrapObject GLContext) result+        touchManagedPtr _obj+        return result'+     ) (do+        return ()+     )++-- method Window::create_similar_image_surface+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "format", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "format", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "cairo" "Surface"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_create_similar_image_surface" gdk_window_create_similar_image_surface :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Int32 ->                                -- format : TBasicType TInt32+    Int32 ->                                -- width : TBasicType TInt32+    Int32 ->                                -- height : TBasicType TInt32+    Int32 ->                                -- scale : TBasicType TInt32+    IO (Ptr Cairo.Surface)+++windowCreateSimilarImageSurface ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- format+    Int32 ->                                -- width+    Int32 ->                                -- height+    Int32 ->                                -- scale+    m Cairo.Surface+windowCreateSimilarImageSurface _obj format width height scale = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_create_similar_image_surface _obj' format width height scale+    result' <- (wrapBoxed Cairo.Surface) result+    touchManagedPtr _obj+    return result'++-- method Window::create_similar_surface+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content", argType = TInterface "cairo" "Content", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content", argType = TInterface "cairo" "Content", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "cairo" "Surface"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_create_similar_surface" gdk_window_create_similar_surface :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CUInt ->                                -- content : TInterface "cairo" "Content"+    Int32 ->                                -- width : TBasicType TInt32+    Int32 ->                                -- height : TBasicType TInt32+    IO (Ptr Cairo.Surface)+++windowCreateSimilarSurface ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Cairo.Content ->                        -- content+    Int32 ->                                -- width+    Int32 ->                                -- height+    m Cairo.Surface+windowCreateSimilarSurface _obj content width height = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let content' = (fromIntegral . fromEnum) content+    result <- gdk_window_create_similar_surface _obj' content' width height+    result' <- (wrapBoxed Cairo.Surface) result+    touchManagedPtr _obj+    return result'++-- method Window::deiconify+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_deiconify" gdk_window_deiconify :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowDeiconify ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowDeiconify _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_deiconify _obj'+    touchManagedPtr _obj+    return ()++-- method Window::destroy+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_destroy" gdk_window_destroy :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowDestroy ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowDestroy _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_destroy _obj'+    touchManagedPtr _obj+    return ()++-- method Window::destroy_notify+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_destroy_notify" gdk_window_destroy_notify :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowDestroyNotify ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowDestroyNotify _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_destroy_notify _obj'+    touchManagedPtr _obj+    return ()++-- method Window::enable_synchronized_configure+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_enable_synchronized_configure" gdk_window_enable_synchronized_configure :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()++{-# DEPRECATED windowEnableSynchronizedConfigure ["(Since version 3.8)","this function is no longer needed"]#-}+windowEnableSynchronizedConfigure ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowEnableSynchronizedConfigure _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_enable_synchronized_configure _obj'+    touchManagedPtr _obj+    return ()++-- method Window::end_paint+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_end_paint" gdk_window_end_paint :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowEndPaint ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowEndPaint _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_end_paint _obj'+    touchManagedPtr _obj+    return ()++-- method Window::ensure_native+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_ensure_native" gdk_window_ensure_native :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO CInt+++windowEnsureNative ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Bool+windowEnsureNative _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_ensure_native _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Window::flush+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_flush" gdk_window_flush :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()++{-# DEPRECATED windowFlush ["(Since version 3.14)"]#-}+windowFlush ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowFlush _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_flush _obj'+    touchManagedPtr _obj+    return ()++-- method Window::focus+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_focus" gdk_window_focus :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Word32 ->                               -- timestamp : TBasicType TUInt32+    IO ()+++windowFocus ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Word32 ->                               -- timestamp+    m ()+windowFocus _obj timestamp = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_focus _obj' timestamp+    touchManagedPtr _obj+    return ()++-- method Window::freeze_toplevel_updates_libgtk_only+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_freeze_toplevel_updates_libgtk_only" gdk_window_freeze_toplevel_updates_libgtk_only :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()++{-# DEPRECATED windowFreezeToplevelUpdatesLibgtkOnly ["(Since version 3.16)","This symbol was never meant to be used outside of GTK+"]#-}+windowFreezeToplevelUpdatesLibgtkOnly ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowFreezeToplevelUpdatesLibgtkOnly _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_freeze_toplevel_updates_libgtk_only _obj'+    touchManagedPtr _obj+    return ()++-- method Window::freeze_updates+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_freeze_updates" gdk_window_freeze_updates :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowFreezeUpdates ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowFreezeUpdates _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_freeze_updates _obj'+    touchManagedPtr _obj+    return ()++-- method Window::fullscreen+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_fullscreen" gdk_window_fullscreen :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowFullscreen ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowFullscreen _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_fullscreen _obj'+    touchManagedPtr _obj+    return ()++-- method Window::geometry_changed+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_geometry_changed" gdk_window_geometry_changed :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowGeometryChanged ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowGeometryChanged _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_geometry_changed _obj'+    touchManagedPtr _obj+    return ()++-- method Window::get_accept_focus+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_accept_focus" gdk_window_get_accept_focus :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO CInt+++windowGetAcceptFocus ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Bool+windowGetAcceptFocus _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_accept_focus _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Window::get_background_pattern+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "cairo" "Pattern"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_background_pattern" gdk_window_get_background_pattern :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO (Ptr Cairo.Pattern)+++windowGetBackgroundPattern ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Cairo.Pattern+windowGetBackgroundPattern _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_background_pattern _obj'+    result' <- (newBoxed Cairo.Pattern) result+    touchManagedPtr _obj+    return result'++-- method Window::get_children+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGList (TInterface "Gdk" "Window")+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_children" gdk_window_get_children :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO (Ptr (GList (Ptr Window)))+++windowGetChildren ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m [Window]+windowGetChildren _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_children _obj'+    result' <- unpackGList result+    result'' <- mapM (newObject Window) result'+    g_list_free result+    touchManagedPtr _obj+    return result''++-- method Window::get_children_with_user_data+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGList (TInterface "Gdk" "Window")+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_children_with_user_data" gdk_window_get_children_with_user_data :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr () ->                               -- user_data : TBasicType TVoid+    IO (Ptr (GList (Ptr Window)))+++windowGetChildrenWithUserData ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Ptr () ->                               -- user_data+    m [Window]+windowGetChildrenWithUserData _obj user_data = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_children_with_user_data _obj' user_data+    result' <- unpackGList result+    result'' <- mapM (newObject Window) result'+    g_list_free result+    touchManagedPtr _obj+    return result''++-- method Window::get_clip_region+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "cairo" "Region"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_clip_region" gdk_window_get_clip_region :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO (Ptr Cairo.Region)+++windowGetClipRegion ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Cairo.Region+windowGetClipRegion _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_clip_region _obj'+    result' <- (wrapBoxed Cairo.Region) result+    touchManagedPtr _obj+    return result'++-- method Window::get_composited+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_composited" gdk_window_get_composited :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO CInt++{-# DEPRECATED windowGetComposited ["(Since version 3.16)","Compositing is an outdated technology that","  only ever worked on X11."]#-}+windowGetComposited ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Bool+windowGetComposited _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_composited _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Window::get_cursor+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Cursor"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_cursor" gdk_window_get_cursor :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO (Ptr Cursor)+++windowGetCursor ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Cursor+windowGetCursor _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_cursor _obj'+    result' <- (newObject Cursor) result+    touchManagedPtr _obj+    return result'++-- method Window::get_decorations+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "decorations", argType = TInterface "Gdk" "WMDecoration", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_decorations" gdk_window_get_decorations :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr CUInt ->                            -- decorations : TInterface "Gdk" "WMDecoration"+    IO CInt+++windowGetDecorations ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m (Bool,[WMDecoration])+windowGetDecorations _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    decorations <- allocMem :: IO (Ptr CUInt)+    result <- gdk_window_get_decorations _obj' decorations+    let result' = (/= 0) result+    decorations' <- peek decorations+    let decorations'' = wordToGFlags decorations'+    touchManagedPtr _obj+    freeMem decorations+    return (result', decorations'')++-- method Window::get_device_cursor+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Cursor"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_device_cursor" gdk_window_get_device_cursor :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"+    IO (Ptr Cursor)+++windowGetDeviceCursor ::+    (MonadIO m, WindowK a, DeviceK b) =>+    a ->                                    -- _obj+    b ->                                    -- device+    m Cursor+windowGetDeviceCursor _obj device = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let device' = unsafeManagedPtrCastPtr device+    result <- gdk_window_get_device_cursor _obj' device'+    result' <- (newObject Cursor) result+    touchManagedPtr _obj+    touchManagedPtr device+    return result'++-- method Window::get_device_events+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "EventMask"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_device_events" gdk_window_get_device_events :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"+    IO CUInt+++windowGetDeviceEvents ::+    (MonadIO m, WindowK a, DeviceK b) =>+    a ->                                    -- _obj+    b ->                                    -- device+    m [EventMask]+windowGetDeviceEvents _obj device = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let device' = unsafeManagedPtrCastPtr device+    result <- gdk_window_get_device_events _obj' device'+    let result' = wordToGFlags result+    touchManagedPtr _obj+    touchManagedPtr device+    return result'++-- method Window::get_device_position+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "mask", argType = TInterface "Gdk" "ModifierType", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Window"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_device_position" gdk_window_get_device_position :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"+    Ptr Int32 ->                            -- x : TBasicType TInt32+    Ptr Int32 ->                            -- y : TBasicType TInt32+    Ptr CUInt ->                            -- mask : TInterface "Gdk" "ModifierType"+    IO (Ptr Window)+++windowGetDevicePosition ::+    (MonadIO m, WindowK a, DeviceK b) =>+    a ->                                    -- _obj+    b ->                                    -- device+    m (Window,Int32,Int32,[ModifierType])+windowGetDevicePosition _obj device = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let device' = unsafeManagedPtrCastPtr device+    x <- allocMem :: IO (Ptr Int32)+    y <- allocMem :: IO (Ptr Int32)+    mask <- allocMem :: IO (Ptr CUInt)+    result <- gdk_window_get_device_position _obj' device' x y mask+    result' <- (newObject Window) result+    x' <- peek x+    y' <- peek y+    mask' <- peek mask+    let mask'' = wordToGFlags mask'+    touchManagedPtr _obj+    touchManagedPtr device+    freeMem x+    freeMem y+    freeMem mask+    return (result', x', y', mask'')++-- method Window::get_device_position_double+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "mask", argType = TInterface "Gdk" "ModifierType", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Window"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_device_position_double" gdk_window_get_device_position_double :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"+    Ptr CDouble ->                          -- x : TBasicType TDouble+    Ptr CDouble ->                          -- y : TBasicType TDouble+    Ptr CUInt ->                            -- mask : TInterface "Gdk" "ModifierType"+    IO (Ptr Window)+++windowGetDevicePositionDouble ::+    (MonadIO m, WindowK a, DeviceK b) =>+    a ->                                    -- _obj+    b ->                                    -- device+    m (Window,Double,Double,[ModifierType])+windowGetDevicePositionDouble _obj device = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let device' = unsafeManagedPtrCastPtr device+    x <- allocMem :: IO (Ptr CDouble)+    y <- allocMem :: IO (Ptr CDouble)+    mask <- allocMem :: IO (Ptr CUInt)+    result <- gdk_window_get_device_position_double _obj' device' x y mask+    result' <- (newObject Window) result+    x' <- peek x+    let x'' = realToFrac x'+    y' <- peek y+    let y'' = realToFrac y'+    mask' <- peek mask+    let mask'' = wordToGFlags mask'+    touchManagedPtr _obj+    touchManagedPtr device+    freeMem x+    freeMem y+    freeMem mask+    return (result', x'', y'', mask'')++-- method Window::get_display+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Display"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_display" gdk_window_get_display :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO (Ptr Display)+++windowGetDisplay ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Display+windowGetDisplay _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_display _obj'+    result' <- (newObject Display) result+    touchManagedPtr _obj+    return result'++-- method Window::get_drag_protocol+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Window", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "DragProtocol"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_drag_protocol" gdk_window_get_drag_protocol :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr (Ptr Window) ->                     -- target : TInterface "Gdk" "Window"+    IO CUInt+++windowGetDragProtocol ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m (DragProtocol,Window)+windowGetDragProtocol _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    target <- allocMem :: IO (Ptr (Ptr Window))+    result <- gdk_window_get_drag_protocol _obj' target+    let result' = (toEnum . fromIntegral) result+    target' <- peek target+    target'' <- (wrapObject Window) target'+    touchManagedPtr _obj+    freeMem target+    return (result', target'')++-- method Window::get_effective_parent+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Window"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_effective_parent" gdk_window_get_effective_parent :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO (Ptr Window)+++windowGetEffectiveParent ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Window+windowGetEffectiveParent _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_effective_parent _obj'+    result' <- (newObject Window) result+    touchManagedPtr _obj+    return result'++-- method Window::get_effective_toplevel+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Window"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_effective_toplevel" gdk_window_get_effective_toplevel :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO (Ptr Window)+++windowGetEffectiveToplevel ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Window+windowGetEffectiveToplevel _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_effective_toplevel _obj'+    result' <- (newObject Window) result+    touchManagedPtr _obj+    return result'++-- method Window::get_event_compression+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_event_compression" gdk_window_get_event_compression :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO CInt+++windowGetEventCompression ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Bool+windowGetEventCompression _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_event_compression _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Window::get_events+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "EventMask"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_events" gdk_window_get_events :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO CUInt+++windowGetEvents ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m [EventMask]+windowGetEvents _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_events _obj'+    let result' = wordToGFlags result+    touchManagedPtr _obj+    return result'++-- method Window::get_focus_on_map+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_focus_on_map" gdk_window_get_focus_on_map :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO CInt+++windowGetFocusOnMap ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Bool+windowGetFocusOnMap _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_focus_on_map _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Window::get_frame_clock+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "FrameClock"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_frame_clock" gdk_window_get_frame_clock :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO (Ptr FrameClock)+++windowGetFrameClock ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m FrameClock+windowGetFrameClock _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_frame_clock _obj'+    result' <- (newObject FrameClock) result+    touchManagedPtr _obj+    return result'++-- method Window::get_frame_extents+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rect", argType = TInterface "cairo" "RectangleInt", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_frame_extents" gdk_window_get_frame_extents :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Cairo.RectangleInt ->               -- rect : TInterface "cairo" "RectangleInt"+    IO ()+++windowGetFrameExtents ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m (Cairo.RectangleInt)+windowGetFrameExtents _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    rect <- callocBoxedBytes 16 :: IO (Ptr Cairo.RectangleInt)+    gdk_window_get_frame_extents _obj' rect+    rect' <- (wrapBoxed Cairo.RectangleInt) rect+    touchManagedPtr _obj+    return rect'++-- method Window::get_fullscreen_mode+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "FullscreenMode"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_fullscreen_mode" gdk_window_get_fullscreen_mode :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO CUInt+++windowGetFullscreenMode ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m FullscreenMode+windowGetFullscreenMode _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_fullscreen_mode _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method Window::get_geometry+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_geometry" gdk_window_get_geometry :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Int32 ->                            -- x : TBasicType TInt32+    Ptr Int32 ->                            -- y : TBasicType TInt32+    Ptr Int32 ->                            -- width : TBasicType TInt32+    Ptr Int32 ->                            -- height : TBasicType TInt32+    IO ()+++windowGetGeometry ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m (Int32,Int32,Int32,Int32)+windowGetGeometry _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    x <- allocMem :: IO (Ptr Int32)+    y <- allocMem :: IO (Ptr Int32)+    width <- allocMem :: IO (Ptr Int32)+    height <- allocMem :: IO (Ptr Int32)+    gdk_window_get_geometry _obj' x y width height+    x' <- peek x+    y' <- peek y+    width' <- peek width+    height' <- peek height+    touchManagedPtr _obj+    freeMem x+    freeMem y+    freeMem width+    freeMem height+    return (x', y', width', height')++-- method Window::get_group+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Window"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_group" gdk_window_get_group :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO (Ptr Window)+++windowGetGroup ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Window+windowGetGroup _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_group _obj'+    result' <- (newObject Window) result+    touchManagedPtr _obj+    return result'++-- method Window::get_height+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_height" gdk_window_get_height :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO Int32+++windowGetHeight ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Int32+windowGetHeight _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_height _obj'+    touchManagedPtr _obj+    return result++-- method Window::get_modal_hint+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_modal_hint" gdk_window_get_modal_hint :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO CInt+++windowGetModalHint ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Bool+windowGetModalHint _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_modal_hint _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Window::get_origin+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_origin" gdk_window_get_origin :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Int32 ->                            -- x : TBasicType TInt32+    Ptr Int32 ->                            -- y : TBasicType TInt32+    IO Int32+++windowGetOrigin ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m (Int32,Int32,Int32)+windowGetOrigin _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    x <- allocMem :: IO (Ptr Int32)+    y <- allocMem :: IO (Ptr Int32)+    result <- gdk_window_get_origin _obj' x y+    x' <- peek x+    y' <- peek y+    touchManagedPtr _obj+    freeMem x+    freeMem y+    return (result, x', y')++-- method Window::get_parent+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Window"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_parent" gdk_window_get_parent :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO (Ptr Window)+++windowGetParent ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Window+windowGetParent _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_parent _obj'+    result' <- (newObject Window) result+    touchManagedPtr _obj+    return result'++-- method Window::get_pointer+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "mask", argType = TInterface "Gdk" "ModifierType", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Window"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_pointer" gdk_window_get_pointer :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Int32 ->                            -- x : TBasicType TInt32+    Ptr Int32 ->                            -- y : TBasicType TInt32+    Ptr CUInt ->                            -- mask : TInterface "Gdk" "ModifierType"+    IO (Ptr Window)++{-# DEPRECATED windowGetPointer ["(Since version 3.0)","Use gdk_window_get_device_position() instead."]#-}+windowGetPointer ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m (Window,Int32,Int32,[ModifierType])+windowGetPointer _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    x <- allocMem :: IO (Ptr Int32)+    y <- allocMem :: IO (Ptr Int32)+    mask <- allocMem :: IO (Ptr CUInt)+    result <- gdk_window_get_pointer _obj' x y mask+    result' <- (newObject Window) result+    x' <- peek x+    y' <- peek y+    mask' <- peek mask+    let mask'' = wordToGFlags mask'+    touchManagedPtr _obj+    freeMem x+    freeMem y+    freeMem mask+    return (result', x', y', mask'')++-- method Window::get_position+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_position" gdk_window_get_position :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Int32 ->                            -- x : TBasicType TInt32+    Ptr Int32 ->                            -- y : TBasicType TInt32+    IO ()+++windowGetPosition ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m (Int32,Int32)+windowGetPosition _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    x <- allocMem :: IO (Ptr Int32)+    y <- allocMem :: IO (Ptr Int32)+    gdk_window_get_position _obj' x y+    x' <- peek x+    y' <- peek y+    touchManagedPtr _obj+    freeMem x+    freeMem y+    return (x', y')++-- method Window::get_root_coords+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_root_coords" gdk_window_get_root_coords :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Int32 ->                                -- x : TBasicType TInt32+    Int32 ->                                -- y : TBasicType TInt32+    Ptr Int32 ->                            -- root_x : TBasicType TInt32+    Ptr Int32 ->                            -- root_y : TBasicType TInt32+    IO ()+++windowGetRootCoords ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- x+    Int32 ->                                -- y+    m (Int32,Int32)+windowGetRootCoords _obj x y = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    root_x <- allocMem :: IO (Ptr Int32)+    root_y <- allocMem :: IO (Ptr Int32)+    gdk_window_get_root_coords _obj' x y root_x root_y+    root_x' <- peek root_x+    root_y' <- peek root_y+    touchManagedPtr _obj+    freeMem root_x+    freeMem root_y+    return (root_x', root_y')++-- method Window::get_root_origin+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_root_origin" gdk_window_get_root_origin :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Int32 ->                            -- x : TBasicType TInt32+    Ptr Int32 ->                            -- y : TBasicType TInt32+    IO ()+++windowGetRootOrigin ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m (Int32,Int32)+windowGetRootOrigin _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    x <- allocMem :: IO (Ptr Int32)+    y <- allocMem :: IO (Ptr Int32)+    gdk_window_get_root_origin _obj' x y+    x' <- peek x+    y' <- peek y+    touchManagedPtr _obj+    freeMem x+    freeMem y+    return (x', y')++-- method Window::get_scale_factor+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_scale_factor" gdk_window_get_scale_factor :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO Int32+++windowGetScaleFactor ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Int32+windowGetScaleFactor _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_scale_factor _obj'+    touchManagedPtr _obj+    return result++-- method Window::get_screen+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Screen"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_screen" gdk_window_get_screen :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO (Ptr Screen)+++windowGetScreen ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Screen+windowGetScreen _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_screen _obj'+    result' <- (newObject Screen) result+    touchManagedPtr _obj+    return result'++-- method Window::get_source_events+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source", argType = TInterface "Gdk" "InputSource", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source", argType = TInterface "Gdk" "InputSource", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "EventMask"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_source_events" gdk_window_get_source_events :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CUInt ->                                -- source : TInterface "Gdk" "InputSource"+    IO CUInt+++windowGetSourceEvents ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    InputSource ->                          -- source+    m [EventMask]+windowGetSourceEvents _obj source = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let source' = (fromIntegral . fromEnum) source+    result <- gdk_window_get_source_events _obj' source'+    let result' = wordToGFlags result+    touchManagedPtr _obj+    return result'++-- method Window::get_state+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "WindowState"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_state" gdk_window_get_state :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO CUInt+++windowGetState ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m [WindowState]+windowGetState _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_state _obj'+    let result' = wordToGFlags result+    touchManagedPtr _obj+    return result'++-- method Window::get_support_multidevice+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_support_multidevice" gdk_window_get_support_multidevice :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO CInt+++windowGetSupportMultidevice ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Bool+windowGetSupportMultidevice _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_support_multidevice _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Window::get_toplevel+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Window"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_toplevel" gdk_window_get_toplevel :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO (Ptr Window)+++windowGetToplevel ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Window+windowGetToplevel _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_toplevel _obj'+    result' <- (newObject Window) result+    touchManagedPtr _obj+    return result'++-- method Window::get_type_hint+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "WindowTypeHint"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_type_hint" gdk_window_get_type_hint :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO CUInt+++windowGetTypeHint ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m WindowTypeHint+windowGetTypeHint _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_type_hint _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method Window::get_update_area+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "cairo" "Region"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_update_area" gdk_window_get_update_area :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO (Ptr Cairo.Region)+++windowGetUpdateArea ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Cairo.Region+windowGetUpdateArea _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_update_area _obj'+    result' <- (wrapBoxed Cairo.Region) result+    touchManagedPtr _obj+    return result'++-- method Window::get_user_data+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_user_data" gdk_window_get_user_data :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr (Ptr ()) ->                         -- data : TBasicType TVoid+    IO ()+++windowGetUserData ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ((Ptr ()))+windowGetUserData _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    data_ <- allocMem :: IO (Ptr (Ptr ()))+    gdk_window_get_user_data _obj' data_+    data_' <- peek data_+    touchManagedPtr _obj+    freeMem data_+    return data_'++-- method Window::get_visible_region+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "cairo" "Region"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_visible_region" gdk_window_get_visible_region :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO (Ptr Cairo.Region)+++windowGetVisibleRegion ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Cairo.Region+windowGetVisibleRegion _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_visible_region _obj'+    result' <- (wrapBoxed Cairo.Region) result+    touchManagedPtr _obj+    return result'++-- method Window::get_visual+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Visual"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_visual" gdk_window_get_visual :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO (Ptr Visual)+++windowGetVisual ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Visual+windowGetVisual _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_visual _obj'+    result' <- (newObject Visual) result+    touchManagedPtr _obj+    return result'++-- method Window::get_width+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_width" gdk_window_get_width :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO Int32+++windowGetWidth ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Int32+windowGetWidth _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_width _obj'+    touchManagedPtr _obj+    return result++-- method Window::get_window_type+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "WindowType"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_window_type" gdk_window_get_window_type :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO CUInt+++windowGetWindowType ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m WindowType+windowGetWindowType _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_get_window_type _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method Window::has_native+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_has_native" gdk_window_has_native :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO CInt+++windowHasNative ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Bool+windowHasNative _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_has_native _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Window::hide+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_hide" gdk_window_hide :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowHide ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowHide _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_hide _obj'+    touchManagedPtr _obj+    return ()++-- method Window::iconify+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_iconify" gdk_window_iconify :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowIconify ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowIconify _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_iconify _obj'+    touchManagedPtr _obj+    return ()++-- method Window::input_shape_combine_region+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "shape_region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "shape_region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_input_shape_combine_region" gdk_window_input_shape_combine_region :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Cairo.Region ->                     -- shape_region : TInterface "cairo" "Region"+    Int32 ->                                -- offset_x : TBasicType TInt32+    Int32 ->                                -- offset_y : TBasicType TInt32+    IO ()+++windowInputShapeCombineRegion ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Cairo.Region ->                         -- shape_region+    Int32 ->                                -- offset_x+    Int32 ->                                -- offset_y+    m ()+windowInputShapeCombineRegion _obj shape_region offset_x offset_y = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let shape_region' = unsafeManagedPtrGetPtr shape_region+    gdk_window_input_shape_combine_region _obj' shape_region' offset_x offset_y+    touchManagedPtr _obj+    touchManagedPtr shape_region+    return ()++-- method Window::invalidate_maybe_recurse+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "child_func", argType = TInterface "Gdk" "WindowChildFunc", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeCall, argClosure = 3, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "child_func", argType = TInterface "Gdk" "WindowChildFunc", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeCall, argClosure = 3, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_invalidate_maybe_recurse" gdk_window_invalidate_maybe_recurse :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Cairo.Region ->                     -- region : TInterface "cairo" "Region"+    FunPtr WindowChildFuncC ->              -- child_func : TInterface "Gdk" "WindowChildFunc"+    Ptr () ->                               -- user_data : TBasicType TVoid+    IO ()+++windowInvalidateMaybeRecurse ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Cairo.Region ->                         -- region+    Maybe (WindowChildFunc) ->              -- child_func+    m ()+windowInvalidateMaybeRecurse _obj region child_func = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let region' = unsafeManagedPtrGetPtr region+    maybeChild_func <- case child_func of+        Nothing -> return (castPtrToFunPtr nullPtr)+        Just jChild_func -> do+            jChild_func' <- mkWindowChildFunc (windowChildFuncWrapper Nothing jChild_func)+            return jChild_func'+    let user_data = nullPtr+    gdk_window_invalidate_maybe_recurse _obj' region' maybeChild_func user_data+    safeFreeFunPtr $ castFunPtrToPtr maybeChild_func+    touchManagedPtr _obj+    touchManagedPtr region+    return ()++-- method Window::invalidate_rect+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rect", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invalidate_children", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rect", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invalidate_children", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_invalidate_rect" gdk_window_invalidate_rect :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Cairo.RectangleInt ->               -- rect : TInterface "cairo" "RectangleInt"+    CInt ->                                 -- invalidate_children : TBasicType TBoolean+    IO ()+++windowInvalidateRect ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Maybe (Cairo.RectangleInt) ->           -- rect+    Bool ->                                 -- invalidate_children+    m ()+windowInvalidateRect _obj rect invalidate_children = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeRect <- case rect of+        Nothing -> return nullPtr+        Just jRect -> do+            let jRect' = unsafeManagedPtrGetPtr jRect+            return jRect'+    let invalidate_children' = (fromIntegral . fromEnum) invalidate_children+    gdk_window_invalidate_rect _obj' maybeRect invalidate_children'+    touchManagedPtr _obj+    whenJust rect touchManagedPtr+    return ()++-- method Window::invalidate_region+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invalidate_children", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invalidate_children", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_invalidate_region" gdk_window_invalidate_region :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Cairo.Region ->                     -- region : TInterface "cairo" "Region"+    CInt ->                                 -- invalidate_children : TBasicType TBoolean+    IO ()+++windowInvalidateRegion ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Cairo.Region ->                         -- region+    Bool ->                                 -- invalidate_children+    m ()+windowInvalidateRegion _obj region invalidate_children = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let region' = unsafeManagedPtrGetPtr region+    let invalidate_children' = (fromIntegral . fromEnum) invalidate_children+    gdk_window_invalidate_region _obj' region' invalidate_children'+    touchManagedPtr _obj+    touchManagedPtr region+    return ()++-- method Window::is_destroyed+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_is_destroyed" gdk_window_is_destroyed :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO CInt+++windowIsDestroyed ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Bool+windowIsDestroyed _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_is_destroyed _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Window::is_input_only+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_is_input_only" gdk_window_is_input_only :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO CInt+++windowIsInputOnly ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Bool+windowIsInputOnly _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_is_input_only _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Window::is_shaped+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_is_shaped" gdk_window_is_shaped :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO CInt+++windowIsShaped ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Bool+windowIsShaped _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_is_shaped _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Window::is_viewable+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_is_viewable" gdk_window_is_viewable :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO CInt+++windowIsViewable ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Bool+windowIsViewable _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_is_viewable _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Window::is_visible+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_is_visible" gdk_window_is_visible :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO CInt+++windowIsVisible ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m Bool+windowIsVisible _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_is_visible _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Window::lower+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_lower" gdk_window_lower :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowLower ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowLower _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_lower _obj'+    touchManagedPtr _obj+    return ()++-- method Window::mark_paint_from_clip+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_mark_paint_from_clip" gdk_window_mark_paint_from_clip :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"+    IO ()+++windowMarkPaintFromClip ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Cairo.Context ->                        -- cr+    m ()+windowMarkPaintFromClip _obj cr = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let cr' = unsafeManagedPtrGetPtr cr+    gdk_window_mark_paint_from_clip _obj' cr'+    touchManagedPtr _obj+    touchManagedPtr cr+    return ()++-- method Window::maximize+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_maximize" gdk_window_maximize :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowMaximize ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowMaximize _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_maximize _obj'+    touchManagedPtr _obj+    return ()++-- method Window::merge_child_input_shapes+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_merge_child_input_shapes" gdk_window_merge_child_input_shapes :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowMergeChildInputShapes ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowMergeChildInputShapes _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_merge_child_input_shapes _obj'+    touchManagedPtr _obj+    return ()++-- method Window::merge_child_shapes+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_merge_child_shapes" gdk_window_merge_child_shapes :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowMergeChildShapes ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowMergeChildShapes _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_merge_child_shapes _obj'+    touchManagedPtr _obj+    return ()++-- method Window::move+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_move" gdk_window_move :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Int32 ->                                -- x : TBasicType TInt32+    Int32 ->                                -- y : TBasicType TInt32+    IO ()+++windowMove ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- x+    Int32 ->                                -- y+    m ()+windowMove _obj x y = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_move _obj' x y+    touchManagedPtr _obj+    return ()++-- method Window::move_region+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dx", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dy", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dx", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dy", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_move_region" gdk_window_move_region :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Cairo.Region ->                     -- region : TInterface "cairo" "Region"+    Int32 ->                                -- dx : TBasicType TInt32+    Int32 ->                                -- dy : TBasicType TInt32+    IO ()+++windowMoveRegion ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Cairo.Region ->                         -- region+    Int32 ->                                -- dx+    Int32 ->                                -- dy+    m ()+windowMoveRegion _obj region dx dy = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let region' = unsafeManagedPtrGetPtr region+    gdk_window_move_region _obj' region' dx dy+    touchManagedPtr _obj+    touchManagedPtr region+    return ()++-- method Window::move_resize+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_move_resize" gdk_window_move_resize :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Int32 ->                                -- x : TBasicType TInt32+    Int32 ->                                -- y : TBasicType TInt32+    Int32 ->                                -- width : TBasicType TInt32+    Int32 ->                                -- height : TBasicType TInt32+    IO ()+++windowMoveResize ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- x+    Int32 ->                                -- y+    Int32 ->                                -- width+    Int32 ->                                -- height+    m ()+windowMoveResize _obj x y width height = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_move_resize _obj' x y width height+    touchManagedPtr _obj+    return ()++-- method Window::peek_children+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGList (TInterface "Gdk" "Window")+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_peek_children" gdk_window_peek_children :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO (Ptr (GList (Ptr Window)))+++windowPeekChildren ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m [Window]+windowPeekChildren _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- gdk_window_peek_children _obj'+    result' <- unpackGList result+    result'' <- mapM (newObject Window) result'+    touchManagedPtr _obj+    return result''++-- method Window::process_updates+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "update_children", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "update_children", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_process_updates" gdk_window_process_updates :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CInt ->                                 -- update_children : TBasicType TBoolean+    IO ()+++windowProcessUpdates ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Bool ->                                 -- update_children+    m ()+windowProcessUpdates _obj update_children = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let update_children' = (fromIntegral . fromEnum) update_children+    gdk_window_process_updates _obj' update_children'+    touchManagedPtr _obj+    return ()++-- method Window::raise+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_raise" gdk_window_raise :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowRaise ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowRaise _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_raise _obj'+    touchManagedPtr _obj+    return ()++-- method Window::register_dnd+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_register_dnd" gdk_window_register_dnd :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowRegisterDnd ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowRegisterDnd _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_register_dnd _obj'+    touchManagedPtr _obj+    return ()++-- method Window::reparent+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_parent", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_parent", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_reparent" gdk_window_reparent :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Window ->                           -- new_parent : TInterface "Gdk" "Window"+    Int32 ->                                -- x : TBasicType TInt32+    Int32 ->                                -- y : TBasicType TInt32+    IO ()+++windowReparent ::+    (MonadIO m, WindowK a, WindowK b) =>+    a ->                                    -- _obj+    b ->                                    -- new_parent+    Int32 ->                                -- x+    Int32 ->                                -- y+    m ()+windowReparent _obj new_parent x y = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let new_parent' = unsafeManagedPtrCastPtr new_parent+    gdk_window_reparent _obj' new_parent' x y+    touchManagedPtr _obj+    touchManagedPtr new_parent+    return ()++-- method Window::resize+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_resize" gdk_window_resize :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Int32 ->                                -- width : TBasicType TInt32+    Int32 ->                                -- height : TBasicType TInt32+    IO ()+++windowResize ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- width+    Int32 ->                                -- height+    m ()+windowResize _obj width height = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_resize _obj' width height+    touchManagedPtr _obj+    return ()++-- method Window::restack+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "sibling", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "above", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "sibling", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "above", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_restack" gdk_window_restack :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Window ->                           -- sibling : TInterface "Gdk" "Window"+    CInt ->                                 -- above : TBasicType TBoolean+    IO ()+++windowRestack ::+    (MonadIO m, WindowK a, WindowK b) =>+    a ->                                    -- _obj+    Maybe (b) ->                            -- sibling+    Bool ->                                 -- above+    m ()+windowRestack _obj sibling above = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeSibling <- case sibling of+        Nothing -> return nullPtr+        Just jSibling -> do+            let jSibling' = unsafeManagedPtrCastPtr jSibling+            return jSibling'+    let above' = (fromIntegral . fromEnum) above+    gdk_window_restack _obj' maybeSibling above'+    touchManagedPtr _obj+    whenJust sibling touchManagedPtr+    return ()++-- method Window::scroll+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dx", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dy", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dx", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dy", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_scroll" gdk_window_scroll :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Int32 ->                                -- dx : TBasicType TInt32+    Int32 ->                                -- dy : TBasicType TInt32+    IO ()+++windowScroll ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- dx+    Int32 ->                                -- dy+    m ()+windowScroll _obj dx dy = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_scroll _obj' dx dy+    touchManagedPtr _obj+    return ()++-- method Window::set_accept_focus+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accept_focus", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accept_focus", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_accept_focus" gdk_window_set_accept_focus :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CInt ->                                 -- accept_focus : TBasicType TBoolean+    IO ()+++windowSetAcceptFocus ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Bool ->                                 -- accept_focus+    m ()+windowSetAcceptFocus _obj accept_focus = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let accept_focus' = (fromIntegral . fromEnum) accept_focus+    gdk_window_set_accept_focus _obj' accept_focus'+    touchManagedPtr _obj+    return ()++-- method Window::set_background+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "color", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "color", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_background" gdk_window_set_background :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Color ->                            -- color : TInterface "Gdk" "Color"+    IO ()++{-# DEPRECATED windowSetBackground ["(Since version 3.4)","Use gdk_window_set_background_rgba() instead."]#-}+windowSetBackground ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Color ->                                -- color+    m ()+windowSetBackground _obj color = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let color' = unsafeManagedPtrGetPtr color+    gdk_window_set_background _obj' color'+    touchManagedPtr _obj+    touchManagedPtr color+    return ()++-- method Window::set_background_pattern+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pattern", argType = TInterface "cairo" "Pattern", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pattern", argType = TInterface "cairo" "Pattern", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_background_pattern" gdk_window_set_background_pattern :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Cairo.Pattern ->                    -- pattern : TInterface "cairo" "Pattern"+    IO ()+++windowSetBackgroundPattern ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Maybe (Cairo.Pattern) ->                -- pattern+    m ()+windowSetBackgroundPattern _obj pattern = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybePattern <- case pattern of+        Nothing -> return nullPtr+        Just jPattern -> do+            let jPattern' = unsafeManagedPtrGetPtr jPattern+            return jPattern'+    gdk_window_set_background_pattern _obj' maybePattern+    touchManagedPtr _obj+    whenJust pattern touchManagedPtr+    return ()++-- method Window::set_background_rgba+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rgba", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rgba", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_background_rgba" gdk_window_set_background_rgba :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr RGBA ->                             -- rgba : TInterface "Gdk" "RGBA"+    IO ()+++windowSetBackgroundRgba ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    RGBA ->                                 -- rgba+    m ()+windowSetBackgroundRgba _obj rgba = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let rgba' = unsafeManagedPtrGetPtr rgba+    gdk_window_set_background_rgba _obj' rgba'+    touchManagedPtr _obj+    touchManagedPtr rgba+    return ()++-- method Window::set_child_input_shapes+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_child_input_shapes" gdk_window_set_child_input_shapes :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowSetChildInputShapes ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowSetChildInputShapes _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_set_child_input_shapes _obj'+    touchManagedPtr _obj+    return ()++-- method Window::set_child_shapes+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_child_shapes" gdk_window_set_child_shapes :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowSetChildShapes ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowSetChildShapes _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_set_child_shapes _obj'+    touchManagedPtr _obj+    return ()++-- method Window::set_composited+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "composited", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "composited", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_composited" gdk_window_set_composited :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CInt ->                                 -- composited : TBasicType TBoolean+    IO ()++{-# DEPRECATED windowSetComposited ["(Since version 3.16)","Compositing is an outdated technology that","  only ever worked on X11."]#-}+windowSetComposited ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Bool ->                                 -- composited+    m ()+windowSetComposited _obj composited = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let composited' = (fromIntegral . fromEnum) composited+    gdk_window_set_composited _obj' composited'+    touchManagedPtr _obj+    return ()++-- method Window::set_cursor+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_cursor" gdk_window_set_cursor :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Cursor ->                           -- cursor : TInterface "Gdk" "Cursor"+    IO ()+++windowSetCursor ::+    (MonadIO m, WindowK a, CursorK b) =>+    a ->                                    -- _obj+    Maybe (b) ->                            -- cursor+    m ()+windowSetCursor _obj cursor = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeCursor <- case cursor of+        Nothing -> return nullPtr+        Just jCursor -> do+            let jCursor' = unsafeManagedPtrCastPtr jCursor+            return jCursor'+    gdk_window_set_cursor _obj' maybeCursor+    touchManagedPtr _obj+    whenJust cursor touchManagedPtr+    return ()++-- method Window::set_decorations+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "decorations", argType = TInterface "Gdk" "WMDecoration", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "decorations", argType = TInterface "Gdk" "WMDecoration", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_decorations" gdk_window_set_decorations :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CUInt ->                                -- decorations : TInterface "Gdk" "WMDecoration"+    IO ()+++windowSetDecorations ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    [WMDecoration] ->                       -- decorations+    m ()+windowSetDecorations _obj decorations = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let decorations' = gflagsToWord decorations+    gdk_window_set_decorations _obj' decorations'+    touchManagedPtr _obj+    return ()++-- method Window::set_device_cursor+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_device_cursor" gdk_window_set_device_cursor :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"+    Ptr Cursor ->                           -- cursor : TInterface "Gdk" "Cursor"+    IO ()+++windowSetDeviceCursor ::+    (MonadIO m, WindowK a, DeviceK b, CursorK c) =>+    a ->                                    -- _obj+    b ->                                    -- device+    c ->                                    -- cursor+    m ()+windowSetDeviceCursor _obj device cursor = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let device' = unsafeManagedPtrCastPtr device+    let cursor' = unsafeManagedPtrCastPtr cursor+    gdk_window_set_device_cursor _obj' device' cursor'+    touchManagedPtr _obj+    touchManagedPtr device+    touchManagedPtr cursor+    return ()++-- method Window::set_device_events+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_device_events" gdk_window_set_device_events :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"+    CUInt ->                                -- event_mask : TInterface "Gdk" "EventMask"+    IO ()+++windowSetDeviceEvents ::+    (MonadIO m, WindowK a, DeviceK b) =>+    a ->                                    -- _obj+    b ->                                    -- device+    [EventMask] ->                          -- event_mask+    m ()+windowSetDeviceEvents _obj device event_mask = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let device' = unsafeManagedPtrCastPtr device+    let event_mask' = gflagsToWord event_mask+    gdk_window_set_device_events _obj' device' event_mask'+    touchManagedPtr _obj+    touchManagedPtr device+    return ()++-- method Window::set_event_compression+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_compression", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_compression", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_event_compression" gdk_window_set_event_compression :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CInt ->                                 -- event_compression : TBasicType TBoolean+    IO ()+++windowSetEventCompression ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Bool ->                                 -- event_compression+    m ()+windowSetEventCompression _obj event_compression = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let event_compression' = (fromIntegral . fromEnum) event_compression+    gdk_window_set_event_compression _obj' event_compression'+    touchManagedPtr _obj+    return ()++-- method Window::set_events+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_events" gdk_window_set_events :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CUInt ->                                -- event_mask : TInterface "Gdk" "EventMask"+    IO ()+++windowSetEvents ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    [EventMask] ->                          -- event_mask+    m ()+windowSetEvents _obj event_mask = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let event_mask' = gflagsToWord event_mask+    gdk_window_set_events _obj' event_mask'+    touchManagedPtr _obj+    return ()++-- method Window::set_focus_on_map+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "focus_on_map", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "focus_on_map", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_focus_on_map" gdk_window_set_focus_on_map :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CInt ->                                 -- focus_on_map : TBasicType TBoolean+    IO ()+++windowSetFocusOnMap ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Bool ->                                 -- focus_on_map+    m ()+windowSetFocusOnMap _obj focus_on_map = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let focus_on_map' = (fromIntegral . fromEnum) focus_on_map+    gdk_window_set_focus_on_map _obj' focus_on_map'+    touchManagedPtr _obj+    return ()++-- method Window::set_fullscreen_mode+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mode", argType = TInterface "Gdk" "FullscreenMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mode", argType = TInterface "Gdk" "FullscreenMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_fullscreen_mode" gdk_window_set_fullscreen_mode :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CUInt ->                                -- mode : TInterface "Gdk" "FullscreenMode"+    IO ()+++windowSetFullscreenMode ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    FullscreenMode ->                       -- mode+    m ()+windowSetFullscreenMode _obj mode = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let mode' = (fromIntegral . fromEnum) mode+    gdk_window_set_fullscreen_mode _obj' mode'+    touchManagedPtr _obj+    return ()++-- method Window::set_functions+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "functions", argType = TInterface "Gdk" "WMFunction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "functions", argType = TInterface "Gdk" "WMFunction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_functions" gdk_window_set_functions :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CUInt ->                                -- functions : TInterface "Gdk" "WMFunction"+    IO ()+++windowSetFunctions ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    [WMFunction] ->                         -- functions+    m ()+windowSetFunctions _obj functions = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let functions' = gflagsToWord functions+    gdk_window_set_functions _obj' functions'+    touchManagedPtr _obj+    return ()++-- method Window::set_geometry_hints+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "geometry", argType = TInterface "Gdk" "Geometry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "geom_mask", argType = TInterface "Gdk" "WindowHints", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "geometry", argType = TInterface "Gdk" "Geometry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "geom_mask", argType = TInterface "Gdk" "WindowHints", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_geometry_hints" gdk_window_set_geometry_hints :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Geometry ->                         -- geometry : TInterface "Gdk" "Geometry"+    CUInt ->                                -- geom_mask : TInterface "Gdk" "WindowHints"+    IO ()+++windowSetGeometryHints ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Geometry ->                             -- geometry+    [WindowHints] ->                        -- geom_mask+    m ()+windowSetGeometryHints _obj geometry geom_mask = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let geometry' = unsafeManagedPtrGetPtr geometry+    let geom_mask' = gflagsToWord geom_mask+    gdk_window_set_geometry_hints _obj' geometry' geom_mask'+    touchManagedPtr _obj+    touchManagedPtr geometry+    return ()++-- method Window::set_group+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "leader", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "leader", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_group" gdk_window_set_group :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Window ->                           -- leader : TInterface "Gdk" "Window"+    IO ()+++windowSetGroup ::+    (MonadIO m, WindowK a, WindowK b) =>+    a ->                                    -- _obj+    Maybe (b) ->                            -- leader+    m ()+windowSetGroup _obj leader = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeLeader <- case leader of+        Nothing -> return nullPtr+        Just jLeader -> do+            let jLeader' = unsafeManagedPtrCastPtr jLeader+            return jLeader'+    gdk_window_set_group _obj' maybeLeader+    touchManagedPtr _obj+    whenJust leader touchManagedPtr+    return ()++-- method Window::set_icon_list+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbufs", argType = TGList (TInterface "GdkPixbuf" "Pixbuf"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbufs", argType = TGList (TInterface "GdkPixbuf" "Pixbuf"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_icon_list" gdk_window_set_icon_list :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr (GList (Ptr GdkPixbuf.Pixbuf)) ->   -- pixbufs : TGList (TInterface "GdkPixbuf" "Pixbuf")+    IO ()+++windowSetIconList ::+    (MonadIO m, WindowK a, GdkPixbuf.PixbufK b) =>+    a ->                                    -- _obj+    [b] ->                                  -- pixbufs+    m ()+windowSetIconList _obj pixbufs = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let pixbufs' = map unsafeManagedPtrCastPtr pixbufs+    pixbufs'' <- packGList pixbufs'+    gdk_window_set_icon_list _obj' pixbufs''+    touchManagedPtr _obj+    mapM_ touchManagedPtr pixbufs+    g_list_free pixbufs''+    return ()++-- method Window::set_icon_name+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_icon_name" gdk_window_set_icon_name :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CString ->                              -- name : TBasicType TUTF8+    IO ()+++windowSetIconName ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Maybe (T.Text) ->                       -- name+    m ()+windowSetIconName _obj name = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeName <- case name of+        Nothing -> return nullPtr+        Just jName -> do+            jName' <- textToCString jName+            return jName'+    gdk_window_set_icon_name _obj' maybeName+    touchManagedPtr _obj+    freeMem maybeName+    return ()++-- method Window::set_keep_above+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_keep_above" gdk_window_set_keep_above :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CInt ->                                 -- setting : TBasicType TBoolean+    IO ()+++windowSetKeepAbove ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Bool ->                                 -- setting+    m ()+windowSetKeepAbove _obj setting = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let setting' = (fromIntegral . fromEnum) setting+    gdk_window_set_keep_above _obj' setting'+    touchManagedPtr _obj+    return ()++-- method Window::set_keep_below+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_keep_below" gdk_window_set_keep_below :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CInt ->                                 -- setting : TBasicType TBoolean+    IO ()+++windowSetKeepBelow ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Bool ->                                 -- setting+    m ()+windowSetKeepBelow _obj setting = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let setting' = (fromIntegral . fromEnum) setting+    gdk_window_set_keep_below _obj' setting'+    touchManagedPtr _obj+    return ()++-- method Window::set_modal_hint+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modal", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modal", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_modal_hint" gdk_window_set_modal_hint :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CInt ->                                 -- modal : TBasicType TBoolean+    IO ()+++windowSetModalHint ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Bool ->                                 -- modal+    m ()+windowSetModalHint _obj modal = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let modal' = (fromIntegral . fromEnum) modal+    gdk_window_set_modal_hint _obj' modal'+    touchManagedPtr _obj+    return ()++-- method Window::set_opacity+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "opacity", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "opacity", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_opacity" gdk_window_set_opacity :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CDouble ->                              -- opacity : TBasicType TDouble+    IO ()+++windowSetOpacity ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Double ->                               -- opacity+    m ()+windowSetOpacity _obj opacity = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let opacity' = realToFrac opacity+    gdk_window_set_opacity _obj' opacity'+    touchManagedPtr _obj+    return ()++-- method Window::set_opaque_region+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_opaque_region" gdk_window_set_opaque_region :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Cairo.Region ->                     -- region : TInterface "cairo" "Region"+    IO ()+++windowSetOpaqueRegion ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Maybe (Cairo.Region) ->                 -- region+    m ()+windowSetOpaqueRegion _obj region = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeRegion <- case region of+        Nothing -> return nullPtr+        Just jRegion -> do+            let jRegion' = unsafeManagedPtrGetPtr jRegion+            return jRegion'+    gdk_window_set_opaque_region _obj' maybeRegion+    touchManagedPtr _obj+    whenJust region touchManagedPtr+    return ()++-- method Window::set_override_redirect+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "override_redirect", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "override_redirect", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_override_redirect" gdk_window_set_override_redirect :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CInt ->                                 -- override_redirect : TBasicType TBoolean+    IO ()+++windowSetOverrideRedirect ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Bool ->                                 -- override_redirect+    m ()+windowSetOverrideRedirect _obj override_redirect = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let override_redirect' = (fromIntegral . fromEnum) override_redirect+    gdk_window_set_override_redirect _obj' override_redirect'+    touchManagedPtr _obj+    return ()++-- method Window::set_role+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "role", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "role", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_role" gdk_window_set_role :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CString ->                              -- role : TBasicType TUTF8+    IO ()+++windowSetRole ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- role+    m ()+windowSetRole _obj role = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    role' <- textToCString role+    gdk_window_set_role _obj' role'+    touchManagedPtr _obj+    freeMem role'+    return ()++-- method Window::set_shadow_width+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "left", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "right", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "top", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "bottom", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "left", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "right", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "top", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "bottom", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_shadow_width" gdk_window_set_shadow_width :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Int32 ->                                -- left : TBasicType TInt32+    Int32 ->                                -- right : TBasicType TInt32+    Int32 ->                                -- top : TBasicType TInt32+    Int32 ->                                -- bottom : TBasicType TInt32+    IO ()+++windowSetShadowWidth ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- left+    Int32 ->                                -- right+    Int32 ->                                -- top+    Int32 ->                                -- bottom+    m ()+windowSetShadowWidth _obj left right top bottom = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_set_shadow_width _obj' left right top bottom+    touchManagedPtr _obj+    return ()++-- method Window::set_skip_pager_hint+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "skips_pager", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "skips_pager", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_skip_pager_hint" gdk_window_set_skip_pager_hint :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CInt ->                                 -- skips_pager : TBasicType TBoolean+    IO ()+++windowSetSkipPagerHint ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Bool ->                                 -- skips_pager+    m ()+windowSetSkipPagerHint _obj skips_pager = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let skips_pager' = (fromIntegral . fromEnum) skips_pager+    gdk_window_set_skip_pager_hint _obj' skips_pager'+    touchManagedPtr _obj+    return ()++-- method Window::set_skip_taskbar_hint+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "skips_taskbar", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "skips_taskbar", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_skip_taskbar_hint" gdk_window_set_skip_taskbar_hint :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CInt ->                                 -- skips_taskbar : TBasicType TBoolean+    IO ()+++windowSetSkipTaskbarHint ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Bool ->                                 -- skips_taskbar+    m ()+windowSetSkipTaskbarHint _obj skips_taskbar = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let skips_taskbar' = (fromIntegral . fromEnum) skips_taskbar+    gdk_window_set_skip_taskbar_hint _obj' skips_taskbar'+    touchManagedPtr _obj+    return ()++-- method Window::set_source_events+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source", argType = TInterface "Gdk" "InputSource", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source", argType = TInterface "Gdk" "InputSource", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_source_events" gdk_window_set_source_events :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CUInt ->                                -- source : TInterface "Gdk" "InputSource"+    CUInt ->                                -- event_mask : TInterface "Gdk" "EventMask"+    IO ()+++windowSetSourceEvents ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    InputSource ->                          -- source+    [EventMask] ->                          -- event_mask+    m ()+windowSetSourceEvents _obj source event_mask = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let source' = (fromIntegral . fromEnum) source+    let event_mask' = gflagsToWord event_mask+    gdk_window_set_source_events _obj' source' event_mask'+    touchManagedPtr _obj+    return ()++-- method Window::set_startup_id+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "startup_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "startup_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_startup_id" gdk_window_set_startup_id :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CString ->                              -- startup_id : TBasicType TUTF8+    IO ()+++windowSetStartupId ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- startup_id+    m ()+windowSetStartupId _obj startup_id = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    startup_id' <- textToCString startup_id+    gdk_window_set_startup_id _obj' startup_id'+    touchManagedPtr _obj+    freeMem startup_id'+    return ()++-- method Window::set_static_gravities+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "use_static", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "use_static", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_static_gravities" gdk_window_set_static_gravities :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CInt ->                                 -- use_static : TBasicType TBoolean+    IO CInt++{-# DEPRECATED windowSetStaticGravities ["(Since version 3.16)","static gravities haven't worked on anything but X11","  for a long time."]#-}+windowSetStaticGravities ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Bool ->                                 -- use_static+    m Bool+windowSetStaticGravities _obj use_static = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let use_static' = (fromIntegral . fromEnum) use_static+    result <- gdk_window_set_static_gravities _obj' use_static'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Window::set_support_multidevice+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "support_multidevice", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "support_multidevice", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_support_multidevice" gdk_window_set_support_multidevice :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CInt ->                                 -- support_multidevice : TBasicType TBoolean+    IO ()+++windowSetSupportMultidevice ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Bool ->                                 -- support_multidevice+    m ()+windowSetSupportMultidevice _obj support_multidevice = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let support_multidevice' = (fromIntegral . fromEnum) support_multidevice+    gdk_window_set_support_multidevice _obj' support_multidevice'+    touchManagedPtr _obj+    return ()++-- method Window::set_title+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_title" gdk_window_set_title :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CString ->                              -- title : TBasicType TUTF8+    IO ()+++windowSetTitle ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- title+    m ()+windowSetTitle _obj title = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    title' <- textToCString title+    gdk_window_set_title _obj' title'+    touchManagedPtr _obj+    freeMem title'+    return ()++-- method Window::set_transient_for+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_transient_for" gdk_window_set_transient_for :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Window ->                           -- parent : TInterface "Gdk" "Window"+    IO ()+++windowSetTransientFor ::+    (MonadIO m, WindowK a, WindowK b) =>+    a ->                                    -- _obj+    b ->                                    -- parent+    m ()+windowSetTransientFor _obj parent = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let parent' = unsafeManagedPtrCastPtr parent+    gdk_window_set_transient_for _obj' parent'+    touchManagedPtr _obj+    touchManagedPtr parent+    return ()++-- method Window::set_type_hint+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hint", argType = TInterface "Gdk" "WindowTypeHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hint", argType = TInterface "Gdk" "WindowTypeHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_type_hint" gdk_window_set_type_hint :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CUInt ->                                -- hint : TInterface "Gdk" "WindowTypeHint"+    IO ()+++windowSetTypeHint ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    WindowTypeHint ->                       -- hint+    m ()+windowSetTypeHint _obj hint = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let hint' = (fromIntegral . fromEnum) hint+    gdk_window_set_type_hint _obj' hint'+    touchManagedPtr _obj+    return ()++-- method Window::set_urgency_hint+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "urgent", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "urgent", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_urgency_hint" gdk_window_set_urgency_hint :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    CInt ->                                 -- urgent : TBasicType TBoolean+    IO ()+++windowSetUrgencyHint ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Bool ->                                 -- urgent+    m ()+windowSetUrgencyHint _obj urgent = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let urgent' = (fromIntegral . fromEnum) urgent+    gdk_window_set_urgency_hint _obj' urgent'+    touchManagedPtr _obj+    return ()++-- method Window::set_user_data+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_user_data" gdk_window_set_user_data :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr GObject.Object ->                   -- user_data : TInterface "GObject" "Object"+    IO ()+++windowSetUserData ::+    (MonadIO m, WindowK a, GObject.ObjectK b) =>+    a ->                                    -- _obj+    Maybe (b) ->                            -- user_data+    m ()+windowSetUserData _obj user_data = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeUser_data <- case user_data of+        Nothing -> return nullPtr+        Just jUser_data -> do+            let jUser_data' = unsafeManagedPtrCastPtr jUser_data+            return jUser_data'+    gdk_window_set_user_data _obj' maybeUser_data+    touchManagedPtr _obj+    whenJust user_data touchManagedPtr+    return ()++-- method Window::shape_combine_region+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "shape_region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "shape_region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_shape_combine_region" gdk_window_shape_combine_region :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Cairo.Region ->                     -- shape_region : TInterface "cairo" "Region"+    Int32 ->                                -- offset_x : TBasicType TInt32+    Int32 ->                                -- offset_y : TBasicType TInt32+    IO ()+++windowShapeCombineRegion ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Maybe (Cairo.Region) ->                 -- shape_region+    Int32 ->                                -- offset_x+    Int32 ->                                -- offset_y+    m ()+windowShapeCombineRegion _obj shape_region offset_x offset_y = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeShape_region <- case shape_region of+        Nothing -> return nullPtr+        Just jShape_region -> do+            let jShape_region' = unsafeManagedPtrGetPtr jShape_region+            return jShape_region'+    gdk_window_shape_combine_region _obj' maybeShape_region offset_x offset_y+    touchManagedPtr _obj+    whenJust shape_region touchManagedPtr+    return ()++-- method Window::show+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_show" gdk_window_show :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowShow ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowShow _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_show _obj'+    touchManagedPtr _obj+    return ()++-- method Window::show_unraised+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_show_unraised" gdk_window_show_unraised :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowShowUnraised ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowShowUnraised _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_show_unraised _obj'+    touchManagedPtr _obj+    return ()++-- method Window::show_window_menu+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_show_window_menu" gdk_window_show_window_menu :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    Ptr Event ->                            -- event : TInterface "Gdk" "Event"+    IO CInt+++windowShowWindowMenu ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    Event ->                                -- event+    m Bool+windowShowWindowMenu _obj event = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let event' = unsafeManagedPtrGetPtr event+    result <- gdk_window_show_window_menu _obj' event'+    let result' = (/= 0) result+    touchManagedPtr _obj+    touchManagedPtr event+    return result'++-- method Window::stick+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_stick" gdk_window_stick :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowStick ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowStick _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_stick _obj'+    touchManagedPtr _obj+    return ()++-- method Window::thaw_toplevel_updates_libgtk_only+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_thaw_toplevel_updates_libgtk_only" gdk_window_thaw_toplevel_updates_libgtk_only :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()++{-# DEPRECATED windowThawToplevelUpdatesLibgtkOnly ["(Since version 3.16)","This symbol was never meant to be used outside of GTK+"]#-}+windowThawToplevelUpdatesLibgtkOnly ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowThawToplevelUpdatesLibgtkOnly _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_thaw_toplevel_updates_libgtk_only _obj'+    touchManagedPtr _obj+    return ()++-- method Window::thaw_updates+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_thaw_updates" gdk_window_thaw_updates :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowThawUpdates ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowThawUpdates _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_thaw_updates _obj'+    touchManagedPtr _obj+    return ()++-- method Window::unfullscreen+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_unfullscreen" gdk_window_unfullscreen :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowUnfullscreen ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowUnfullscreen _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_unfullscreen _obj'+    touchManagedPtr _obj+    return ()++-- method Window::unmaximize+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_unmaximize" gdk_window_unmaximize :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowUnmaximize ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowUnmaximize _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_unmaximize _obj'+    touchManagedPtr _obj+    return ()++-- method Window::unstick+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_unstick" gdk_window_unstick :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowUnstick ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowUnstick _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_unstick _obj'+    touchManagedPtr _obj+    return ()++-- method Window::withdraw+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_withdraw" gdk_window_withdraw :: +    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"+    IO ()+++windowWithdraw ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- _obj+    m ()+windowWithdraw _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    gdk_window_withdraw _obj'+    touchManagedPtr _obj+    return ()++-- method Window::at_pointer+-- method type : MemberFunction+-- Args : [Arg {argName = "win_x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "win_y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Gdk" "Window"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_at_pointer" gdk_window_at_pointer :: +    Ptr Int32 ->                            -- win_x : TBasicType TInt32+    Ptr Int32 ->                            -- win_y : TBasicType TInt32+    IO (Ptr Window)++{-# DEPRECATED windowAtPointer ["(Since version 3.0)","Use gdk_device_get_window_at_position() instead."]#-}+windowAtPointer ::+    (MonadIO m) =>+    m (Window,Int32,Int32)+windowAtPointer  = liftIO $ do+    win_x <- allocMem :: IO (Ptr Int32)+    win_y <- allocMem :: IO (Ptr Int32)+    result <- gdk_window_at_pointer win_x win_y+    result' <- (newObject Window) result+    win_x' <- peek win_x+    win_y' <- peek win_y+    freeMem win_x+    freeMem win_y+    return (result', win_x', win_y')++-- method Window::constrain_size+-- method type : MemberFunction+-- Args : [Arg {argName = "geometry", argType = TInterface "Gdk" "Geometry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "Gdk" "WindowHints", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_width", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "new_height", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "geometry", argType = TInterface "Gdk" "Geometry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "Gdk" "WindowHints", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_constrain_size" gdk_window_constrain_size :: +    Ptr Geometry ->                         -- geometry : TInterface "Gdk" "Geometry"+    CUInt ->                                -- flags : TInterface "Gdk" "WindowHints"+    Int32 ->                                -- width : TBasicType TInt32+    Int32 ->                                -- height : TBasicType TInt32+    Ptr Int32 ->                            -- new_width : TBasicType TInt32+    Ptr Int32 ->                            -- new_height : TBasicType TInt32+    IO ()+++windowConstrainSize ::+    (MonadIO m) =>+    Geometry ->                             -- geometry+    [WindowHints] ->                        -- flags+    Int32 ->                                -- width+    Int32 ->                                -- height+    m (Int32,Int32)+windowConstrainSize geometry flags width height = liftIO $ do+    let geometry' = unsafeManagedPtrGetPtr geometry+    let flags' = gflagsToWord flags+    new_width <- allocMem :: IO (Ptr Int32)+    new_height <- allocMem :: IO (Ptr Int32)+    gdk_window_constrain_size geometry' flags' width height new_width new_height+    new_width' <- peek new_width+    new_height' <- peek new_height+    touchManagedPtr geometry+    freeMem new_width+    freeMem new_height+    return (new_width', new_height')++-- method Window::process_all_updates+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_process_all_updates" gdk_window_process_all_updates :: +    IO ()+++windowProcessAllUpdates ::+    (MonadIO m) =>+    m ()+windowProcessAllUpdates  = liftIO $ do+    gdk_window_process_all_updates+    return ()++-- method Window::set_debug_updates+-- method type : MemberFunction+-- Args : [Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_debug_updates" gdk_window_set_debug_updates :: +    CInt ->                                 -- setting : TBasicType TBoolean+    IO ()+++windowSetDebugUpdates ::+    (MonadIO m) =>+    Bool ->                                 -- setting+    m ()+windowSetDebugUpdates setting = liftIO $ do+    let setting' = (fromIntegral . fromEnum) setting+    gdk_window_set_debug_updates setting'+    return ()++-- signal Window::create-surface+type WindowCreateSurfaceCallback =+    Int32 ->+    Int32 ->+    IO Cairo.Surface++noWindowCreateSurfaceCallback :: Maybe WindowCreateSurfaceCallback+noWindowCreateSurfaceCallback = Nothing++type WindowCreateSurfaceCallbackC =+    Ptr () ->                               -- object+    Int32 ->+    Int32 ->+    Ptr () ->                               -- user_data+    IO (Ptr Cairo.Surface)++foreign import ccall "wrapper"+    mkWindowCreateSurfaceCallback :: WindowCreateSurfaceCallbackC -> IO (FunPtr WindowCreateSurfaceCallbackC)++windowCreateSurfaceClosure :: WindowCreateSurfaceCallback -> IO Closure+windowCreateSurfaceClosure cb = newCClosure =<< mkWindowCreateSurfaceCallback wrapped+    where wrapped = windowCreateSurfaceCallbackWrapper cb++windowCreateSurfaceCallbackWrapper ::+    WindowCreateSurfaceCallback ->+    Ptr () ->+    Int32 ->+    Int32 ->+    Ptr () ->+    IO (Ptr Cairo.Surface)+windowCreateSurfaceCallbackWrapper _cb _ width height _ = do+    result <- _cb  width height+    result' <- copyBoxed result+    return result'++onWindowCreateSurface :: (GObject a, MonadIO m) => a -> WindowCreateSurfaceCallback -> m SignalHandlerId+onWindowCreateSurface obj cb = liftIO $ connectWindowCreateSurface obj cb SignalConnectBefore+afterWindowCreateSurface :: (GObject a, MonadIO m) => a -> WindowCreateSurfaceCallback -> m SignalHandlerId+afterWindowCreateSurface obj cb = connectWindowCreateSurface obj cb SignalConnectAfter++connectWindowCreateSurface :: (GObject a, MonadIO m) =>+                              a -> WindowCreateSurfaceCallback -> SignalConnectMode -> m SignalHandlerId+connectWindowCreateSurface obj cb after = liftIO $ do+    cb' <- mkWindowCreateSurfaceCallback (windowCreateSurfaceCallbackWrapper cb)+    connectSignalFunPtr obj "create-surface" cb' after++-- signal Window::from-embedder+type WindowFromEmbedderCallback =+    Double ->+    Double ->+    IO (Double,Double)++noWindowFromEmbedderCallback :: Maybe WindowFromEmbedderCallback+noWindowFromEmbedderCallback = Nothing++type WindowFromEmbedderCallbackC =+    Ptr () ->                               -- object+    CDouble ->+    CDouble ->+    Ptr CDouble ->+    Ptr CDouble ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkWindowFromEmbedderCallback :: WindowFromEmbedderCallbackC -> IO (FunPtr WindowFromEmbedderCallbackC)++windowFromEmbedderClosure :: WindowFromEmbedderCallback -> IO Closure+windowFromEmbedderClosure cb = newCClosure =<< mkWindowFromEmbedderCallback wrapped+    where wrapped = windowFromEmbedderCallbackWrapper cb++windowFromEmbedderCallbackWrapper ::+    WindowFromEmbedderCallback ->+    Ptr () ->+    CDouble ->+    CDouble ->+    Ptr CDouble ->+    Ptr CDouble ->+    Ptr () ->+    IO ()+windowFromEmbedderCallbackWrapper _cb _ embedder_x embedder_y offscreen_x offscreen_y _ = do+    let embedder_x' = realToFrac embedder_x+    let embedder_y' = realToFrac embedder_y+    (outoffscreen_x, outoffscreen_y) <- _cb  embedder_x' embedder_y'+    let outoffscreen_x' = realToFrac outoffscreen_x+    poke offscreen_x outoffscreen_x'+    let outoffscreen_y' = realToFrac outoffscreen_y+    poke offscreen_y outoffscreen_y'++onWindowFromEmbedder :: (GObject a, MonadIO m) => a -> WindowFromEmbedderCallback -> m SignalHandlerId+onWindowFromEmbedder obj cb = liftIO $ connectWindowFromEmbedder obj cb SignalConnectBefore+afterWindowFromEmbedder :: (GObject a, MonadIO m) => a -> WindowFromEmbedderCallback -> m SignalHandlerId+afterWindowFromEmbedder obj cb = connectWindowFromEmbedder obj cb SignalConnectAfter++connectWindowFromEmbedder :: (GObject a, MonadIO m) =>+                             a -> WindowFromEmbedderCallback -> SignalConnectMode -> m SignalHandlerId+connectWindowFromEmbedder obj cb after = liftIO $ do+    cb' <- mkWindowFromEmbedderCallback (windowFromEmbedderCallbackWrapper cb)+    connectSignalFunPtr obj "from-embedder" cb' after++-- signal Window::pick-embedded-child+type WindowPickEmbeddedChildCallback =+    Double ->+    Double ->+    IO Window++noWindowPickEmbeddedChildCallback :: Maybe WindowPickEmbeddedChildCallback+noWindowPickEmbeddedChildCallback = Nothing++type WindowPickEmbeddedChildCallbackC =+    Ptr () ->                               -- object+    CDouble ->+    CDouble ->+    Ptr () ->                               -- user_data+    IO (Ptr Window)++foreign import ccall "wrapper"+    mkWindowPickEmbeddedChildCallback :: WindowPickEmbeddedChildCallbackC -> IO (FunPtr WindowPickEmbeddedChildCallbackC)++windowPickEmbeddedChildClosure :: WindowPickEmbeddedChildCallback -> IO Closure+windowPickEmbeddedChildClosure cb = newCClosure =<< mkWindowPickEmbeddedChildCallback wrapped+    where wrapped = windowPickEmbeddedChildCallbackWrapper cb++windowPickEmbeddedChildCallbackWrapper ::+    WindowPickEmbeddedChildCallback ->+    Ptr () ->+    CDouble ->+    CDouble ->+    Ptr () ->+    IO (Ptr Window)+windowPickEmbeddedChildCallbackWrapper _cb _ x y _ = do+    let x' = realToFrac x+    let y' = realToFrac y+    result <- _cb  x' y'+    let result' = unsafeManagedPtrCastPtr result+    return result'++onWindowPickEmbeddedChild :: (GObject a, MonadIO m) => a -> WindowPickEmbeddedChildCallback -> m SignalHandlerId+onWindowPickEmbeddedChild obj cb = liftIO $ connectWindowPickEmbeddedChild obj cb SignalConnectBefore+afterWindowPickEmbeddedChild :: (GObject a, MonadIO m) => a -> WindowPickEmbeddedChildCallback -> m SignalHandlerId+afterWindowPickEmbeddedChild obj cb = connectWindowPickEmbeddedChild obj cb SignalConnectAfter++connectWindowPickEmbeddedChild :: (GObject a, MonadIO m) =>+                                  a -> WindowPickEmbeddedChildCallback -> SignalConnectMode -> m SignalHandlerId+connectWindowPickEmbeddedChild obj cb after = liftIO $ do+    cb' <- mkWindowPickEmbeddedChildCallback (windowPickEmbeddedChildCallbackWrapper cb)+    connectSignalFunPtr obj "pick-embedded-child" cb' after++-- signal Window::to-embedder+type WindowToEmbedderCallback =+    Double ->+    Double ->+    IO (Double,Double)++noWindowToEmbedderCallback :: Maybe WindowToEmbedderCallback+noWindowToEmbedderCallback = Nothing++type WindowToEmbedderCallbackC =+    Ptr () ->                               -- object+    CDouble ->+    CDouble ->+    Ptr CDouble ->+    Ptr CDouble ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkWindowToEmbedderCallback :: WindowToEmbedderCallbackC -> IO (FunPtr WindowToEmbedderCallbackC)++windowToEmbedderClosure :: WindowToEmbedderCallback -> IO Closure+windowToEmbedderClosure cb = newCClosure =<< mkWindowToEmbedderCallback wrapped+    where wrapped = windowToEmbedderCallbackWrapper cb++windowToEmbedderCallbackWrapper ::+    WindowToEmbedderCallback ->+    Ptr () ->+    CDouble ->+    CDouble ->+    Ptr CDouble ->+    Ptr CDouble ->+    Ptr () ->+    IO ()+windowToEmbedderCallbackWrapper _cb _ offscreen_x offscreen_y embedder_x embedder_y _ = do+    let offscreen_x' = realToFrac offscreen_x+    let offscreen_y' = realToFrac offscreen_y+    (outembedder_x, outembedder_y) <- _cb  offscreen_x' offscreen_y'+    let outembedder_x' = realToFrac outembedder_x+    poke embedder_x outembedder_x'+    let outembedder_y' = realToFrac outembedder_y+    poke embedder_y outembedder_y'++onWindowToEmbedder :: (GObject a, MonadIO m) => a -> WindowToEmbedderCallback -> m SignalHandlerId+onWindowToEmbedder obj cb = liftIO $ connectWindowToEmbedder obj cb SignalConnectBefore+afterWindowToEmbedder :: (GObject a, MonadIO m) => a -> WindowToEmbedderCallback -> m SignalHandlerId+afterWindowToEmbedder obj cb = connectWindowToEmbedder obj cb SignalConnectAfter++connectWindowToEmbedder :: (GObject a, MonadIO m) =>+                           a -> WindowToEmbedderCallback -> SignalConnectMode -> m SignalHandlerId+connectWindowToEmbedder obj cb after = liftIO $ do+    cb' <- mkWindowToEmbedderCallback (windowToEmbedderCallbackWrapper cb)+    connectSignalFunPtr obj "to-embedder" cb' after++-- struct WindowAttr+newtype WindowAttr = WindowAttr (ForeignPtr WindowAttr)+noWindowAttr :: Maybe WindowAttr+noWindowAttr = Nothing++windowAttrReadTitle :: WindowAttr -> IO T.Text+windowAttrReadTitle s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CString+    val' <- cstringToText val+    return val'++windowAttrReadEventMask :: WindowAttr -> IO Int32+windowAttrReadEventMask s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO Int32+    return val++windowAttrReadX :: WindowAttr -> IO Int32+windowAttrReadX s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 12) :: IO Int32+    return val++windowAttrReadY :: WindowAttr -> IO Int32+windowAttrReadY s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int32+    return val++windowAttrReadWidth :: WindowAttr -> IO Int32+windowAttrReadWidth s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Int32+    return val++windowAttrReadHeight :: WindowAttr -> IO Int32+windowAttrReadHeight s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO Int32+    return val++windowAttrReadWclass :: WindowAttr -> IO WindowWindowClass+windowAttrReadWclass s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 28) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++windowAttrReadVisual :: WindowAttr -> IO Visual+windowAttrReadVisual s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO (Ptr Visual)+    val' <- (newObject Visual) val+    return val'++windowAttrReadWindowType :: WindowAttr -> IO WindowType+windowAttrReadWindowType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++windowAttrReadCursor :: WindowAttr -> IO Cursor+windowAttrReadCursor s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO (Ptr Cursor)+    val' <- (newObject Cursor) val+    return val'++windowAttrReadWmclassName :: WindowAttr -> IO T.Text+windowAttrReadWmclassName s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 56) :: IO CString+    val' <- cstringToText val+    return val'++windowAttrReadWmclassClass :: WindowAttr -> IO T.Text+windowAttrReadWmclassClass s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 64) :: IO CString+    val' <- cstringToText val+    return val'++windowAttrReadOverrideRedirect :: WindowAttr -> IO Bool+windowAttrReadOverrideRedirect s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 72) :: IO CInt+    let val' = (/= 0) val+    return val'++windowAttrReadTypeHint :: WindowAttr -> IO WindowTypeHint+windowAttrReadTypeHint s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 76) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++-- Flags WindowAttributesType++data WindowAttributesType = +      WindowAttributesTypeTitle+    | WindowAttributesTypeX+    | WindowAttributesTypeY+    | WindowAttributesTypeCursor+    | WindowAttributesTypeVisual+    | WindowAttributesTypeWmclass+    | WindowAttributesTypeNoredir+    | WindowAttributesTypeTypeHint+    | AnotherWindowAttributesType Int+    deriving (Show, Eq)++instance Enum WindowAttributesType where+    fromEnum WindowAttributesTypeTitle = 2+    fromEnum WindowAttributesTypeX = 4+    fromEnum WindowAttributesTypeY = 8+    fromEnum WindowAttributesTypeCursor = 16+    fromEnum WindowAttributesTypeVisual = 32+    fromEnum WindowAttributesTypeWmclass = 64+    fromEnum WindowAttributesTypeNoredir = 128+    fromEnum WindowAttributesTypeTypeHint = 256+    fromEnum (AnotherWindowAttributesType k) = k++    toEnum 2 = WindowAttributesTypeTitle+    toEnum 4 = WindowAttributesTypeX+    toEnum 8 = WindowAttributesTypeY+    toEnum 16 = WindowAttributesTypeCursor+    toEnum 32 = WindowAttributesTypeVisual+    toEnum 64 = WindowAttributesTypeWmclass+    toEnum 128 = WindowAttributesTypeNoredir+    toEnum 256 = WindowAttributesTypeTypeHint+    toEnum k = AnotherWindowAttributesType k++foreign import ccall "gdk_window_attributes_type_get_type" c_gdk_window_attributes_type_get_type :: +    IO GType++instance BoxedEnum WindowAttributesType where+    boxedEnumType _ = c_gdk_window_attributes_type_get_type++instance IsGFlag WindowAttributesType++-- callback WindowChildFunc+windowChildFuncClosure :: WindowChildFunc -> IO Closure+windowChildFuncClosure cb = newCClosure =<< mkWindowChildFunc wrapped+    where wrapped = windowChildFuncWrapper Nothing cb++type WindowChildFuncC =+    Ptr Window ->+    Ptr () ->+    IO CInt++foreign import ccall "wrapper"+    mkWindowChildFunc :: WindowChildFuncC -> IO (FunPtr WindowChildFuncC)++type WindowChildFunc =+    Window ->+    IO Bool++noWindowChildFunc :: Maybe WindowChildFunc+noWindowChildFunc = Nothing++windowChildFuncWrapper ::+    Maybe (Ptr (FunPtr (WindowChildFuncC))) ->+    WindowChildFunc ->+    Ptr Window ->+    Ptr () ->+    IO CInt+windowChildFuncWrapper funptrptr _cb window _ = do+    window' <- (newObject Window) window+    result <- _cb  window'+    maybeReleaseFunPtr funptrptr+    let result' = (fromIntegral . fromEnum) result+    return result'++-- Enum WindowEdge++data WindowEdge = +      WindowEdgeNorthWest+    | WindowEdgeNorth+    | WindowEdgeNorthEast+    | WindowEdgeWest+    | WindowEdgeEast+    | WindowEdgeSouthWest+    | WindowEdgeSouth+    | WindowEdgeSouthEast+    | AnotherWindowEdge Int+    deriving (Show, Eq)++instance Enum WindowEdge where+    fromEnum WindowEdgeNorthWest = 0+    fromEnum WindowEdgeNorth = 1+    fromEnum WindowEdgeNorthEast = 2+    fromEnum WindowEdgeWest = 3+    fromEnum WindowEdgeEast = 4+    fromEnum WindowEdgeSouthWest = 5+    fromEnum WindowEdgeSouth = 6+    fromEnum WindowEdgeSouthEast = 7+    fromEnum (AnotherWindowEdge k) = k++    toEnum 0 = WindowEdgeNorthWest+    toEnum 1 = WindowEdgeNorth+    toEnum 2 = WindowEdgeNorthEast+    toEnum 3 = WindowEdgeWest+    toEnum 4 = WindowEdgeEast+    toEnum 5 = WindowEdgeSouthWest+    toEnum 6 = WindowEdgeSouth+    toEnum 7 = WindowEdgeSouthEast+    toEnum k = AnotherWindowEdge k++foreign import ccall "gdk_window_edge_get_type" c_gdk_window_edge_get_type :: +    IO GType++instance BoxedEnum WindowEdge where+    boxedEnumType _ = c_gdk_window_edge_get_type++-- Flags WindowHints++data WindowHints = +      WindowHintsPos+    | WindowHintsMinSize+    | WindowHintsMaxSize+    | WindowHintsBaseSize+    | WindowHintsAspect+    | WindowHintsResizeInc+    | WindowHintsWinGravity+    | WindowHintsUserPos+    | WindowHintsUserSize+    | AnotherWindowHints Int+    deriving (Show, Eq)++instance Enum WindowHints where+    fromEnum WindowHintsPos = 1+    fromEnum WindowHintsMinSize = 2+    fromEnum WindowHintsMaxSize = 4+    fromEnum WindowHintsBaseSize = 8+    fromEnum WindowHintsAspect = 16+    fromEnum WindowHintsResizeInc = 32+    fromEnum WindowHintsWinGravity = 64+    fromEnum WindowHintsUserPos = 128+    fromEnum WindowHintsUserSize = 256+    fromEnum (AnotherWindowHints k) = k++    toEnum 1 = WindowHintsPos+    toEnum 2 = WindowHintsMinSize+    toEnum 4 = WindowHintsMaxSize+    toEnum 8 = WindowHintsBaseSize+    toEnum 16 = WindowHintsAspect+    toEnum 32 = WindowHintsResizeInc+    toEnum 64 = WindowHintsWinGravity+    toEnum 128 = WindowHintsUserPos+    toEnum 256 = WindowHintsUserSize+    toEnum k = AnotherWindowHints k++foreign import ccall "gdk_window_hints_get_type" c_gdk_window_hints_get_type :: +    IO GType++instance BoxedEnum WindowHints where+    boxedEnumType _ = c_gdk_window_hints_get_type++instance IsGFlag WindowHints++-- callback WindowInvalidateHandlerFunc+windowInvalidateHandlerFuncClosure :: WindowInvalidateHandlerFunc -> IO Closure+windowInvalidateHandlerFuncClosure cb = newCClosure =<< mkWindowInvalidateHandlerFunc wrapped+    where wrapped = windowInvalidateHandlerFuncWrapper Nothing cb++type WindowInvalidateHandlerFuncC =+    Ptr Window ->+    Ptr Cairo.Region ->+    IO ()++foreign import ccall "wrapper"+    mkWindowInvalidateHandlerFunc :: WindowInvalidateHandlerFuncC -> IO (FunPtr WindowInvalidateHandlerFuncC)++type WindowInvalidateHandlerFunc =+    Window ->+    Cairo.Region ->+    IO ()++noWindowInvalidateHandlerFunc :: Maybe WindowInvalidateHandlerFunc+noWindowInvalidateHandlerFunc = Nothing++windowInvalidateHandlerFuncWrapper ::+    Maybe (Ptr (FunPtr (WindowInvalidateHandlerFuncC))) ->+    WindowInvalidateHandlerFunc ->+    Ptr Window ->+    Ptr Cairo.Region ->+    IO ()+windowInvalidateHandlerFuncWrapper funptrptr _cb window region = do+    window' <- (newObject Window) window+    region' <- (newBoxed Cairo.Region) region+    _cb  window' region'+    maybeReleaseFunPtr funptrptr++-- struct WindowRedirect+newtype WindowRedirect = WindowRedirect (ForeignPtr WindowRedirect)+noWindowRedirect :: Maybe WindowRedirect+noWindowRedirect = Nothing++-- Flags WindowState++data WindowState = +      WindowStateWithdrawn+    | WindowStateIconified+    | WindowStateMaximized+    | WindowStateSticky+    | WindowStateFullscreen+    | WindowStateAbove+    | WindowStateBelow+    | WindowStateFocused+    | WindowStateTiled+    | AnotherWindowState Int+    deriving (Show, Eq)++instance Enum WindowState where+    fromEnum WindowStateWithdrawn = 1+    fromEnum WindowStateIconified = 2+    fromEnum WindowStateMaximized = 4+    fromEnum WindowStateSticky = 8+    fromEnum WindowStateFullscreen = 16+    fromEnum WindowStateAbove = 32+    fromEnum WindowStateBelow = 64+    fromEnum WindowStateFocused = 128+    fromEnum WindowStateTiled = 256+    fromEnum (AnotherWindowState k) = k++    toEnum 1 = WindowStateWithdrawn+    toEnum 2 = WindowStateIconified+    toEnum 4 = WindowStateMaximized+    toEnum 8 = WindowStateSticky+    toEnum 16 = WindowStateFullscreen+    toEnum 32 = WindowStateAbove+    toEnum 64 = WindowStateBelow+    toEnum 128 = WindowStateFocused+    toEnum 256 = WindowStateTiled+    toEnum k = AnotherWindowState k++foreign import ccall "gdk_window_state_get_type" c_gdk_window_state_get_type :: +    IO GType++instance BoxedEnum WindowState where+    boxedEnumType _ = c_gdk_window_state_get_type++instance IsGFlag WindowState++-- Enum WindowType++data WindowType = +      WindowTypeRoot+    | WindowTypeToplevel+    | WindowTypeChild+    | WindowTypeTemp+    | WindowTypeForeign+    | WindowTypeOffscreen+    | WindowTypeSubsurface+    | AnotherWindowType Int+    deriving (Show, Eq)++instance Enum WindowType where+    fromEnum WindowTypeRoot = 0+    fromEnum WindowTypeToplevel = 1+    fromEnum WindowTypeChild = 2+    fromEnum WindowTypeTemp = 3+    fromEnum WindowTypeForeign = 4+    fromEnum WindowTypeOffscreen = 5+    fromEnum WindowTypeSubsurface = 6+    fromEnum (AnotherWindowType k) = k++    toEnum 0 = WindowTypeRoot+    toEnum 1 = WindowTypeToplevel+    toEnum 2 = WindowTypeChild+    toEnum 3 = WindowTypeTemp+    toEnum 4 = WindowTypeForeign+    toEnum 5 = WindowTypeOffscreen+    toEnum 6 = WindowTypeSubsurface+    toEnum k = AnotherWindowType k++foreign import ccall "gdk_window_type_get_type" c_gdk_window_type_get_type :: +    IO GType++instance BoxedEnum WindowType where+    boxedEnumType _ = c_gdk_window_type_get_type++-- Enum WindowTypeHint++data WindowTypeHint = +      WindowTypeHintNormal+    | WindowTypeHintDialog+    | WindowTypeHintMenu+    | WindowTypeHintToolbar+    | WindowTypeHintSplashscreen+    | WindowTypeHintUtility+    | WindowTypeHintDock+    | WindowTypeHintDesktop+    | WindowTypeHintDropdownMenu+    | WindowTypeHintPopupMenu+    | WindowTypeHintTooltip+    | WindowTypeHintNotification+    | WindowTypeHintCombo+    | WindowTypeHintDnd+    | AnotherWindowTypeHint Int+    deriving (Show, Eq)++instance Enum WindowTypeHint where+    fromEnum WindowTypeHintNormal = 0+    fromEnum WindowTypeHintDialog = 1+    fromEnum WindowTypeHintMenu = 2+    fromEnum WindowTypeHintToolbar = 3+    fromEnum WindowTypeHintSplashscreen = 4+    fromEnum WindowTypeHintUtility = 5+    fromEnum WindowTypeHintDock = 6+    fromEnum WindowTypeHintDesktop = 7+    fromEnum WindowTypeHintDropdownMenu = 8+    fromEnum WindowTypeHintPopupMenu = 9+    fromEnum WindowTypeHintTooltip = 10+    fromEnum WindowTypeHintNotification = 11+    fromEnum WindowTypeHintCombo = 12+    fromEnum WindowTypeHintDnd = 13+    fromEnum (AnotherWindowTypeHint k) = k++    toEnum 0 = WindowTypeHintNormal+    toEnum 1 = WindowTypeHintDialog+    toEnum 2 = WindowTypeHintMenu+    toEnum 3 = WindowTypeHintToolbar+    toEnum 4 = WindowTypeHintSplashscreen+    toEnum 5 = WindowTypeHintUtility+    toEnum 6 = WindowTypeHintDock+    toEnum 7 = WindowTypeHintDesktop+    toEnum 8 = WindowTypeHintDropdownMenu+    toEnum 9 = WindowTypeHintPopupMenu+    toEnum 10 = WindowTypeHintTooltip+    toEnum 11 = WindowTypeHintNotification+    toEnum 12 = WindowTypeHintCombo+    toEnum 13 = WindowTypeHintDnd+    toEnum k = AnotherWindowTypeHint k++foreign import ccall "gdk_window_type_hint_get_type" c_gdk_window_type_hint_get_type :: +    IO GType++instance BoxedEnum WindowTypeHint where+    boxedEnumType _ = c_gdk_window_type_hint_get_type++-- Enum WindowWindowClass++data WindowWindowClass = +      WindowWindowClassInputOutput+    | WindowWindowClassInputOnly+    | AnotherWindowWindowClass Int+    deriving (Show, Eq)++instance Enum WindowWindowClass where+    fromEnum WindowWindowClassInputOutput = 0+    fromEnum WindowWindowClassInputOnly = 1+    fromEnum (AnotherWindowWindowClass k) = k++    toEnum 0 = WindowWindowClassInputOutput+    toEnum 1 = WindowWindowClassInputOnly+    toEnum k = AnotherWindowWindowClass k++foreign import ccall "gdk_window_window_class_get_type" c_gdk_window_window_class_get_type :: +    IO GType++instance BoxedEnum WindowWindowClass where+    boxedEnumType _ = c_gdk_window_window_class_get_type++-- constant _BUTTON_MIDDLE++_BUTTON_MIDDLE :: Int32+_BUTTON_MIDDLE = 2+-- constant _BUTTON_PRIMARY++_BUTTON_PRIMARY :: Int32+_BUTTON_PRIMARY = 1+-- constant _BUTTON_SECONDARY++_BUTTON_SECONDARY :: Int32+_BUTTON_SECONDARY = 3+-- constant _CURRENT_TIME++_CURRENT_TIME :: Int32+_CURRENT_TIME = 0+-- constant _EVENT_PROPAGATE++_EVENT_PROPAGATE :: Bool+_EVENT_PROPAGATE = False+-- constant _EVENT_STOP++_EVENT_STOP :: Bool+_EVENT_STOP = True+-- constant _KEY_0++_KEY_0 :: Int32+_KEY_0 = 48+-- constant _KEY_1++_KEY_1 :: Int32+_KEY_1 = 49+-- constant _KEY_2++_KEY_2 :: Int32+_KEY_2 = 50+-- constant _KEY_3++_KEY_3 :: Int32+_KEY_3 = 51+-- constant _KEY_3270_AltCursor++_KEY_3270_AltCursor :: Int32+_KEY_3270_AltCursor = 64784+-- constant _KEY_3270_Attn++_KEY_3270_Attn :: Int32+_KEY_3270_Attn = 64782+-- constant _KEY_3270_BackTab++_KEY_3270_BackTab :: Int32+_KEY_3270_BackTab = 64773+-- constant _KEY_3270_ChangeScreen++_KEY_3270_ChangeScreen :: Int32+_KEY_3270_ChangeScreen = 64793+-- constant _KEY_3270_Copy++_KEY_3270_Copy :: Int32+_KEY_3270_Copy = 64789+-- constant _KEY_3270_CursorBlink++_KEY_3270_CursorBlink :: Int32+_KEY_3270_CursorBlink = 64783+-- constant _KEY_3270_CursorSelect++_KEY_3270_CursorSelect :: Int32+_KEY_3270_CursorSelect = 64796+-- constant _KEY_3270_DeleteWord++_KEY_3270_DeleteWord :: Int32+_KEY_3270_DeleteWord = 64794+-- constant _KEY_3270_Duplicate++_KEY_3270_Duplicate :: Int32+_KEY_3270_Duplicate = 64769+-- constant _KEY_3270_Enter++_KEY_3270_Enter :: Int32+_KEY_3270_Enter = 64798+-- constant _KEY_3270_EraseEOF++_KEY_3270_EraseEOF :: Int32+_KEY_3270_EraseEOF = 64774+-- constant _KEY_3270_EraseInput++_KEY_3270_EraseInput :: Int32+_KEY_3270_EraseInput = 64775+-- constant _KEY_3270_ExSelect++_KEY_3270_ExSelect :: Int32+_KEY_3270_ExSelect = 64795+-- constant _KEY_3270_FieldMark++_KEY_3270_FieldMark :: Int32+_KEY_3270_FieldMark = 64770+-- constant _KEY_3270_Ident++_KEY_3270_Ident :: Int32+_KEY_3270_Ident = 64787+-- constant _KEY_3270_Jump++_KEY_3270_Jump :: Int32+_KEY_3270_Jump = 64786+-- constant _KEY_3270_KeyClick++_KEY_3270_KeyClick :: Int32+_KEY_3270_KeyClick = 64785+-- constant _KEY_3270_Left2++_KEY_3270_Left2 :: Int32+_KEY_3270_Left2 = 64772+-- constant _KEY_3270_PA1++_KEY_3270_PA1 :: Int32+_KEY_3270_PA1 = 64778+-- constant _KEY_3270_PA2++_KEY_3270_PA2 :: Int32+_KEY_3270_PA2 = 64779+-- constant _KEY_3270_PA3++_KEY_3270_PA3 :: Int32+_KEY_3270_PA3 = 64780+-- constant _KEY_3270_Play++_KEY_3270_Play :: Int32+_KEY_3270_Play = 64790+-- constant _KEY_3270_PrintScreen++_KEY_3270_PrintScreen :: Int32+_KEY_3270_PrintScreen = 64797+-- constant _KEY_3270_Quit++_KEY_3270_Quit :: Int32+_KEY_3270_Quit = 64777+-- constant _KEY_3270_Record++_KEY_3270_Record :: Int32+_KEY_3270_Record = 64792+-- constant _KEY_3270_Reset++_KEY_3270_Reset :: Int32+_KEY_3270_Reset = 64776+-- constant _KEY_3270_Right2++_KEY_3270_Right2 :: Int32+_KEY_3270_Right2 = 64771+-- constant _KEY_3270_Rule++_KEY_3270_Rule :: Int32+_KEY_3270_Rule = 64788+-- constant _KEY_3270_Setup++_KEY_3270_Setup :: Int32+_KEY_3270_Setup = 64791+-- constant _KEY_3270_Test++_KEY_3270_Test :: Int32+_KEY_3270_Test = 64781+-- constant _KEY_4++_KEY_4 :: Int32+_KEY_4 = 52+-- constant _KEY_5++_KEY_5 :: Int32+_KEY_5 = 53+-- constant _KEY_6++_KEY_6 :: Int32+_KEY_6 = 54+-- constant _KEY_7++_KEY_7 :: Int32+_KEY_7 = 55+-- constant _KEY_8++_KEY_8 :: Int32+_KEY_8 = 56+-- constant _KEY_9++_KEY_9 :: Int32+_KEY_9 = 57+-- constant _KEY_A++_KEY_A :: Int32+_KEY_A = 65+-- constant _KEY_AE++_KEY_AE :: Int32+_KEY_AE = 198+-- constant _KEY_Aacute++_KEY_Aacute :: Int32+_KEY_Aacute = 193+-- constant _KEY_Abelowdot++_KEY_Abelowdot :: Int32+_KEY_Abelowdot = 16785056+-- constant _KEY_Abreve++_KEY_Abreve :: Int32+_KEY_Abreve = 451+-- constant _KEY_Abreveacute++_KEY_Abreveacute :: Int32+_KEY_Abreveacute = 16785070+-- constant _KEY_Abrevebelowdot++_KEY_Abrevebelowdot :: Int32+_KEY_Abrevebelowdot = 16785078+-- constant _KEY_Abrevegrave++_KEY_Abrevegrave :: Int32+_KEY_Abrevegrave = 16785072+-- constant _KEY_Abrevehook++_KEY_Abrevehook :: Int32+_KEY_Abrevehook = 16785074+-- constant _KEY_Abrevetilde++_KEY_Abrevetilde :: Int32+_KEY_Abrevetilde = 16785076+-- constant _KEY_AccessX_Enable++_KEY_AccessX_Enable :: Int32+_KEY_AccessX_Enable = 65136+-- constant _KEY_AccessX_Feedback_Enable++_KEY_AccessX_Feedback_Enable :: Int32+_KEY_AccessX_Feedback_Enable = 65137+-- constant _KEY_Acircumflex++_KEY_Acircumflex :: Int32+_KEY_Acircumflex = 194+-- constant _KEY_Acircumflexacute++_KEY_Acircumflexacute :: Int32+_KEY_Acircumflexacute = 16785060+-- constant _KEY_Acircumflexbelowdot++_KEY_Acircumflexbelowdot :: Int32+_KEY_Acircumflexbelowdot = 16785068+-- constant _KEY_Acircumflexgrave++_KEY_Acircumflexgrave :: Int32+_KEY_Acircumflexgrave = 16785062+-- constant _KEY_Acircumflexhook++_KEY_Acircumflexhook :: Int32+_KEY_Acircumflexhook = 16785064+-- constant _KEY_Acircumflextilde++_KEY_Acircumflextilde :: Int32+_KEY_Acircumflextilde = 16785066+-- constant _KEY_AddFavorite++_KEY_AddFavorite :: Int32+_KEY_AddFavorite = 269025081+-- constant _KEY_Adiaeresis++_KEY_Adiaeresis :: Int32+_KEY_Adiaeresis = 196+-- constant _KEY_Agrave++_KEY_Agrave :: Int32+_KEY_Agrave = 192+-- constant _KEY_Ahook++_KEY_Ahook :: Int32+_KEY_Ahook = 16785058+-- constant _KEY_Alt_L++_KEY_Alt_L :: Int32+_KEY_Alt_L = 65513+-- constant _KEY_Alt_R++_KEY_Alt_R :: Int32+_KEY_Alt_R = 65514+-- constant _KEY_Amacron++_KEY_Amacron :: Int32+_KEY_Amacron = 960+-- constant _KEY_Aogonek++_KEY_Aogonek :: Int32+_KEY_Aogonek = 417+-- constant _KEY_ApplicationLeft++_KEY_ApplicationLeft :: Int32+_KEY_ApplicationLeft = 269025104+-- constant _KEY_ApplicationRight++_KEY_ApplicationRight :: Int32+_KEY_ApplicationRight = 269025105+-- constant _KEY_Arabic_0++_KEY_Arabic_0 :: Int32+_KEY_Arabic_0 = 16778848+-- constant _KEY_Arabic_1++_KEY_Arabic_1 :: Int32+_KEY_Arabic_1 = 16778849+-- constant _KEY_Arabic_2++_KEY_Arabic_2 :: Int32+_KEY_Arabic_2 = 16778850+-- constant _KEY_Arabic_3++_KEY_Arabic_3 :: Int32+_KEY_Arabic_3 = 16778851+-- constant _KEY_Arabic_4++_KEY_Arabic_4 :: Int32+_KEY_Arabic_4 = 16778852+-- constant _KEY_Arabic_5++_KEY_Arabic_5 :: Int32+_KEY_Arabic_5 = 16778853+-- constant _KEY_Arabic_6++_KEY_Arabic_6 :: Int32+_KEY_Arabic_6 = 16778854+-- constant _KEY_Arabic_7++_KEY_Arabic_7 :: Int32+_KEY_Arabic_7 = 16778855+-- constant _KEY_Arabic_8++_KEY_Arabic_8 :: Int32+_KEY_Arabic_8 = 16778856+-- constant _KEY_Arabic_9++_KEY_Arabic_9 :: Int32+_KEY_Arabic_9 = 16778857+-- constant _KEY_Arabic_ain++_KEY_Arabic_ain :: Int32+_KEY_Arabic_ain = 1497+-- constant _KEY_Arabic_alef++_KEY_Arabic_alef :: Int32+_KEY_Arabic_alef = 1479+-- constant _KEY_Arabic_alefmaksura++_KEY_Arabic_alefmaksura :: Int32+_KEY_Arabic_alefmaksura = 1513+-- constant _KEY_Arabic_beh++_KEY_Arabic_beh :: Int32+_KEY_Arabic_beh = 1480+-- constant _KEY_Arabic_comma++_KEY_Arabic_comma :: Int32+_KEY_Arabic_comma = 1452+-- constant _KEY_Arabic_dad++_KEY_Arabic_dad :: Int32+_KEY_Arabic_dad = 1494+-- constant _KEY_Arabic_dal++_KEY_Arabic_dal :: Int32+_KEY_Arabic_dal = 1487+-- constant _KEY_Arabic_damma++_KEY_Arabic_damma :: Int32+_KEY_Arabic_damma = 1519+-- constant _KEY_Arabic_dammatan++_KEY_Arabic_dammatan :: Int32+_KEY_Arabic_dammatan = 1516+-- constant _KEY_Arabic_ddal++_KEY_Arabic_ddal :: Int32+_KEY_Arabic_ddal = 16778888+-- constant _KEY_Arabic_farsi_yeh++_KEY_Arabic_farsi_yeh :: Int32+_KEY_Arabic_farsi_yeh = 16778956+-- constant _KEY_Arabic_fatha++_KEY_Arabic_fatha :: Int32+_KEY_Arabic_fatha = 1518+-- constant _KEY_Arabic_fathatan++_KEY_Arabic_fathatan :: Int32+_KEY_Arabic_fathatan = 1515+-- constant _KEY_Arabic_feh++_KEY_Arabic_feh :: Int32+_KEY_Arabic_feh = 1505+-- constant _KEY_Arabic_fullstop++_KEY_Arabic_fullstop :: Int32+_KEY_Arabic_fullstop = 16778964+-- constant _KEY_Arabic_gaf++_KEY_Arabic_gaf :: Int32+_KEY_Arabic_gaf = 16778927+-- constant _KEY_Arabic_ghain++_KEY_Arabic_ghain :: Int32+_KEY_Arabic_ghain = 1498+-- constant _KEY_Arabic_ha++_KEY_Arabic_ha :: Int32+_KEY_Arabic_ha = 1511+-- constant _KEY_Arabic_hah++_KEY_Arabic_hah :: Int32+_KEY_Arabic_hah = 1485+-- constant _KEY_Arabic_hamza++_KEY_Arabic_hamza :: Int32+_KEY_Arabic_hamza = 1473+-- constant _KEY_Arabic_hamza_above++_KEY_Arabic_hamza_above :: Int32+_KEY_Arabic_hamza_above = 16778836+-- constant _KEY_Arabic_hamza_below++_KEY_Arabic_hamza_below :: Int32+_KEY_Arabic_hamza_below = 16778837+-- constant _KEY_Arabic_hamzaonalef++_KEY_Arabic_hamzaonalef :: Int32+_KEY_Arabic_hamzaonalef = 1475+-- constant _KEY_Arabic_hamzaonwaw++_KEY_Arabic_hamzaonwaw :: Int32+_KEY_Arabic_hamzaonwaw = 1476+-- constant _KEY_Arabic_hamzaonyeh++_KEY_Arabic_hamzaonyeh :: Int32+_KEY_Arabic_hamzaonyeh = 1478+-- constant _KEY_Arabic_hamzaunderalef++_KEY_Arabic_hamzaunderalef :: Int32+_KEY_Arabic_hamzaunderalef = 1477+-- constant _KEY_Arabic_heh++_KEY_Arabic_heh :: Int32+_KEY_Arabic_heh = 1511+-- constant _KEY_Arabic_heh_doachashmee++_KEY_Arabic_heh_doachashmee :: Int32+_KEY_Arabic_heh_doachashmee = 16778942+-- constant _KEY_Arabic_heh_goal++_KEY_Arabic_heh_goal :: Int32+_KEY_Arabic_heh_goal = 16778945+-- constant _KEY_Arabic_jeem++_KEY_Arabic_jeem :: Int32+_KEY_Arabic_jeem = 1484+-- constant _KEY_Arabic_jeh++_KEY_Arabic_jeh :: Int32+_KEY_Arabic_jeh = 16778904+-- constant _KEY_Arabic_kaf++_KEY_Arabic_kaf :: Int32+_KEY_Arabic_kaf = 1507+-- constant _KEY_Arabic_kasra++_KEY_Arabic_kasra :: Int32+_KEY_Arabic_kasra = 1520+-- constant _KEY_Arabic_kasratan++_KEY_Arabic_kasratan :: Int32+_KEY_Arabic_kasratan = 1517+-- constant _KEY_Arabic_keheh++_KEY_Arabic_keheh :: Int32+_KEY_Arabic_keheh = 16778921+-- constant _KEY_Arabic_khah++_KEY_Arabic_khah :: Int32+_KEY_Arabic_khah = 1486+-- constant _KEY_Arabic_lam++_KEY_Arabic_lam :: Int32+_KEY_Arabic_lam = 1508+-- constant _KEY_Arabic_madda_above++_KEY_Arabic_madda_above :: Int32+_KEY_Arabic_madda_above = 16778835+-- constant _KEY_Arabic_maddaonalef++_KEY_Arabic_maddaonalef :: Int32+_KEY_Arabic_maddaonalef = 1474+-- constant _KEY_Arabic_meem++_KEY_Arabic_meem :: Int32+_KEY_Arabic_meem = 1509+-- constant _KEY_Arabic_noon++_KEY_Arabic_noon :: Int32+_KEY_Arabic_noon = 1510+-- constant _KEY_Arabic_noon_ghunna++_KEY_Arabic_noon_ghunna :: Int32+_KEY_Arabic_noon_ghunna = 16778938+-- constant _KEY_Arabic_peh++_KEY_Arabic_peh :: Int32+_KEY_Arabic_peh = 16778878+-- constant _KEY_Arabic_percent++_KEY_Arabic_percent :: Int32+_KEY_Arabic_percent = 16778858+-- constant _KEY_Arabic_qaf++_KEY_Arabic_qaf :: Int32+_KEY_Arabic_qaf = 1506+-- constant _KEY_Arabic_question_mark++_KEY_Arabic_question_mark :: Int32+_KEY_Arabic_question_mark = 1471+-- constant _KEY_Arabic_ra++_KEY_Arabic_ra :: Int32+_KEY_Arabic_ra = 1489+-- constant _KEY_Arabic_rreh++_KEY_Arabic_rreh :: Int32+_KEY_Arabic_rreh = 16778897+-- constant _KEY_Arabic_sad++_KEY_Arabic_sad :: Int32+_KEY_Arabic_sad = 1493+-- constant _KEY_Arabic_seen++_KEY_Arabic_seen :: Int32+_KEY_Arabic_seen = 1491+-- constant _KEY_Arabic_semicolon++_KEY_Arabic_semicolon :: Int32+_KEY_Arabic_semicolon = 1467+-- constant _KEY_Arabic_shadda++_KEY_Arabic_shadda :: Int32+_KEY_Arabic_shadda = 1521+-- constant _KEY_Arabic_sheen++_KEY_Arabic_sheen :: Int32+_KEY_Arabic_sheen = 1492+-- constant _KEY_Arabic_sukun++_KEY_Arabic_sukun :: Int32+_KEY_Arabic_sukun = 1522+-- constant _KEY_Arabic_superscript_alef++_KEY_Arabic_superscript_alef :: Int32+_KEY_Arabic_superscript_alef = 16778864+-- constant _KEY_Arabic_switch++_KEY_Arabic_switch :: Int32+_KEY_Arabic_switch = 65406+-- constant _KEY_Arabic_tah++_KEY_Arabic_tah :: Int32+_KEY_Arabic_tah = 1495+-- constant _KEY_Arabic_tatweel++_KEY_Arabic_tatweel :: Int32+_KEY_Arabic_tatweel = 1504+-- constant _KEY_Arabic_tcheh++_KEY_Arabic_tcheh :: Int32+_KEY_Arabic_tcheh = 16778886+-- constant _KEY_Arabic_teh++_KEY_Arabic_teh :: Int32+_KEY_Arabic_teh = 1482+-- constant _KEY_Arabic_tehmarbuta++_KEY_Arabic_tehmarbuta :: Int32+_KEY_Arabic_tehmarbuta = 1481+-- constant _KEY_Arabic_thal++_KEY_Arabic_thal :: Int32+_KEY_Arabic_thal = 1488+-- constant _KEY_Arabic_theh++_KEY_Arabic_theh :: Int32+_KEY_Arabic_theh = 1483+-- constant _KEY_Arabic_tteh++_KEY_Arabic_tteh :: Int32+_KEY_Arabic_tteh = 16778873+-- constant _KEY_Arabic_veh++_KEY_Arabic_veh :: Int32+_KEY_Arabic_veh = 16778916+-- constant _KEY_Arabic_waw++_KEY_Arabic_waw :: Int32+_KEY_Arabic_waw = 1512+-- constant _KEY_Arabic_yeh++_KEY_Arabic_yeh :: Int32+_KEY_Arabic_yeh = 1514+-- constant _KEY_Arabic_yeh_baree++_KEY_Arabic_yeh_baree :: Int32+_KEY_Arabic_yeh_baree = 16778962+-- constant _KEY_Arabic_zah++_KEY_Arabic_zah :: Int32+_KEY_Arabic_zah = 1496+-- constant _KEY_Arabic_zain++_KEY_Arabic_zain :: Int32+_KEY_Arabic_zain = 1490+-- constant _KEY_Aring++_KEY_Aring :: Int32+_KEY_Aring = 197+-- constant _KEY_Armenian_AT++_KEY_Armenian_AT :: Int32+_KEY_Armenian_AT = 16778552+-- constant _KEY_Armenian_AYB++_KEY_Armenian_AYB :: Int32+_KEY_Armenian_AYB = 16778545+-- constant _KEY_Armenian_BEN++_KEY_Armenian_BEN :: Int32+_KEY_Armenian_BEN = 16778546+-- constant _KEY_Armenian_CHA++_KEY_Armenian_CHA :: Int32+_KEY_Armenian_CHA = 16778569+-- constant _KEY_Armenian_DA++_KEY_Armenian_DA :: Int32+_KEY_Armenian_DA = 16778548+-- constant _KEY_Armenian_DZA++_KEY_Armenian_DZA :: Int32+_KEY_Armenian_DZA = 16778561+-- constant _KEY_Armenian_E++_KEY_Armenian_E :: Int32+_KEY_Armenian_E = 16778551+-- constant _KEY_Armenian_FE++_KEY_Armenian_FE :: Int32+_KEY_Armenian_FE = 16778582+-- constant _KEY_Armenian_GHAT++_KEY_Armenian_GHAT :: Int32+_KEY_Armenian_GHAT = 16778562+-- constant _KEY_Armenian_GIM++_KEY_Armenian_GIM :: Int32+_KEY_Armenian_GIM = 16778547+-- constant _KEY_Armenian_HI++_KEY_Armenian_HI :: Int32+_KEY_Armenian_HI = 16778565+-- constant _KEY_Armenian_HO++_KEY_Armenian_HO :: Int32+_KEY_Armenian_HO = 16778560+-- constant _KEY_Armenian_INI++_KEY_Armenian_INI :: Int32+_KEY_Armenian_INI = 16778555+-- constant _KEY_Armenian_JE++_KEY_Armenian_JE :: Int32+_KEY_Armenian_JE = 16778571+-- constant _KEY_Armenian_KE++_KEY_Armenian_KE :: Int32+_KEY_Armenian_KE = 16778580+-- constant _KEY_Armenian_KEN++_KEY_Armenian_KEN :: Int32+_KEY_Armenian_KEN = 16778559+-- constant _KEY_Armenian_KHE++_KEY_Armenian_KHE :: Int32+_KEY_Armenian_KHE = 16778557+-- constant _KEY_Armenian_LYUN++_KEY_Armenian_LYUN :: Int32+_KEY_Armenian_LYUN = 16778556+-- constant _KEY_Armenian_MEN++_KEY_Armenian_MEN :: Int32+_KEY_Armenian_MEN = 16778564+-- constant _KEY_Armenian_NU++_KEY_Armenian_NU :: Int32+_KEY_Armenian_NU = 16778566+-- constant _KEY_Armenian_O++_KEY_Armenian_O :: Int32+_KEY_Armenian_O = 16778581+-- constant _KEY_Armenian_PE++_KEY_Armenian_PE :: Int32+_KEY_Armenian_PE = 16778570+-- constant _KEY_Armenian_PYUR++_KEY_Armenian_PYUR :: Int32+_KEY_Armenian_PYUR = 16778579+-- constant _KEY_Armenian_RA++_KEY_Armenian_RA :: Int32+_KEY_Armenian_RA = 16778572+-- constant _KEY_Armenian_RE++_KEY_Armenian_RE :: Int32+_KEY_Armenian_RE = 16778576+-- constant _KEY_Armenian_SE++_KEY_Armenian_SE :: Int32+_KEY_Armenian_SE = 16778573+-- constant _KEY_Armenian_SHA++_KEY_Armenian_SHA :: Int32+_KEY_Armenian_SHA = 16778567+-- constant _KEY_Armenian_TCHE++_KEY_Armenian_TCHE :: Int32+_KEY_Armenian_TCHE = 16778563+-- constant _KEY_Armenian_TO++_KEY_Armenian_TO :: Int32+_KEY_Armenian_TO = 16778553+-- constant _KEY_Armenian_TSA++_KEY_Armenian_TSA :: Int32+_KEY_Armenian_TSA = 16778558+-- constant _KEY_Armenian_TSO++_KEY_Armenian_TSO :: Int32+_KEY_Armenian_TSO = 16778577+-- constant _KEY_Armenian_TYUN++_KEY_Armenian_TYUN :: Int32+_KEY_Armenian_TYUN = 16778575+-- constant _KEY_Armenian_VEV++_KEY_Armenian_VEV :: Int32+_KEY_Armenian_VEV = 16778574+-- constant _KEY_Armenian_VO++_KEY_Armenian_VO :: Int32+_KEY_Armenian_VO = 16778568+-- constant _KEY_Armenian_VYUN++_KEY_Armenian_VYUN :: Int32+_KEY_Armenian_VYUN = 16778578+-- constant _KEY_Armenian_YECH++_KEY_Armenian_YECH :: Int32+_KEY_Armenian_YECH = 16778549+-- constant _KEY_Armenian_ZA++_KEY_Armenian_ZA :: Int32+_KEY_Armenian_ZA = 16778550+-- constant _KEY_Armenian_ZHE++_KEY_Armenian_ZHE :: Int32+_KEY_Armenian_ZHE = 16778554+-- constant _KEY_Armenian_accent++_KEY_Armenian_accent :: Int32+_KEY_Armenian_accent = 16778587+-- constant _KEY_Armenian_amanak++_KEY_Armenian_amanak :: Int32+_KEY_Armenian_amanak = 16778588+-- constant _KEY_Armenian_apostrophe++_KEY_Armenian_apostrophe :: Int32+_KEY_Armenian_apostrophe = 16778586+-- constant _KEY_Armenian_at++_KEY_Armenian_at :: Int32+_KEY_Armenian_at = 16778600+-- constant _KEY_Armenian_ayb++_KEY_Armenian_ayb :: Int32+_KEY_Armenian_ayb = 16778593+-- constant _KEY_Armenian_ben++_KEY_Armenian_ben :: Int32+_KEY_Armenian_ben = 16778594+-- constant _KEY_Armenian_but++_KEY_Armenian_but :: Int32+_KEY_Armenian_but = 16778589+-- constant _KEY_Armenian_cha++_KEY_Armenian_cha :: Int32+_KEY_Armenian_cha = 16778617+-- constant _KEY_Armenian_da++_KEY_Armenian_da :: Int32+_KEY_Armenian_da = 16778596+-- constant _KEY_Armenian_dza++_KEY_Armenian_dza :: Int32+_KEY_Armenian_dza = 16778609+-- constant _KEY_Armenian_e++_KEY_Armenian_e :: Int32+_KEY_Armenian_e = 16778599+-- constant _KEY_Armenian_exclam++_KEY_Armenian_exclam :: Int32+_KEY_Armenian_exclam = 16778588+-- constant _KEY_Armenian_fe++_KEY_Armenian_fe :: Int32+_KEY_Armenian_fe = 16778630+-- constant _KEY_Armenian_full_stop++_KEY_Armenian_full_stop :: Int32+_KEY_Armenian_full_stop = 16778633+-- constant _KEY_Armenian_ghat++_KEY_Armenian_ghat :: Int32+_KEY_Armenian_ghat = 16778610+-- constant _KEY_Armenian_gim++_KEY_Armenian_gim :: Int32+_KEY_Armenian_gim = 16778595+-- constant _KEY_Armenian_hi++_KEY_Armenian_hi :: Int32+_KEY_Armenian_hi = 16778613+-- constant _KEY_Armenian_ho++_KEY_Armenian_ho :: Int32+_KEY_Armenian_ho = 16778608+-- constant _KEY_Armenian_hyphen++_KEY_Armenian_hyphen :: Int32+_KEY_Armenian_hyphen = 16778634+-- constant _KEY_Armenian_ini++_KEY_Armenian_ini :: Int32+_KEY_Armenian_ini = 16778603+-- constant _KEY_Armenian_je++_KEY_Armenian_je :: Int32+_KEY_Armenian_je = 16778619+-- constant _KEY_Armenian_ke++_KEY_Armenian_ke :: Int32+_KEY_Armenian_ke = 16778628+-- constant _KEY_Armenian_ken++_KEY_Armenian_ken :: Int32+_KEY_Armenian_ken = 16778607+-- constant _KEY_Armenian_khe++_KEY_Armenian_khe :: Int32+_KEY_Armenian_khe = 16778605+-- constant _KEY_Armenian_ligature_ew++_KEY_Armenian_ligature_ew :: Int32+_KEY_Armenian_ligature_ew = 16778631+-- constant _KEY_Armenian_lyun++_KEY_Armenian_lyun :: Int32+_KEY_Armenian_lyun = 16778604+-- constant _KEY_Armenian_men++_KEY_Armenian_men :: Int32+_KEY_Armenian_men = 16778612+-- constant _KEY_Armenian_nu++_KEY_Armenian_nu :: Int32+_KEY_Armenian_nu = 16778614+-- constant _KEY_Armenian_o++_KEY_Armenian_o :: Int32+_KEY_Armenian_o = 16778629+-- constant _KEY_Armenian_paruyk++_KEY_Armenian_paruyk :: Int32+_KEY_Armenian_paruyk = 16778590+-- constant _KEY_Armenian_pe++_KEY_Armenian_pe :: Int32+_KEY_Armenian_pe = 16778618+-- constant _KEY_Armenian_pyur++_KEY_Armenian_pyur :: Int32+_KEY_Armenian_pyur = 16778627+-- constant _KEY_Armenian_question++_KEY_Armenian_question :: Int32+_KEY_Armenian_question = 16778590+-- constant _KEY_Armenian_ra++_KEY_Armenian_ra :: Int32+_KEY_Armenian_ra = 16778620+-- constant _KEY_Armenian_re++_KEY_Armenian_re :: Int32+_KEY_Armenian_re = 16778624+-- constant _KEY_Armenian_se++_KEY_Armenian_se :: Int32+_KEY_Armenian_se = 16778621+-- constant _KEY_Armenian_separation_mark++_KEY_Armenian_separation_mark :: Int32+_KEY_Armenian_separation_mark = 16778589+-- constant _KEY_Armenian_sha++_KEY_Armenian_sha :: Int32+_KEY_Armenian_sha = 16778615+-- constant _KEY_Armenian_shesht++_KEY_Armenian_shesht :: Int32+_KEY_Armenian_shesht = 16778587+-- constant _KEY_Armenian_tche++_KEY_Armenian_tche :: Int32+_KEY_Armenian_tche = 16778611+-- constant _KEY_Armenian_to++_KEY_Armenian_to :: Int32+_KEY_Armenian_to = 16778601+-- constant _KEY_Armenian_tsa++_KEY_Armenian_tsa :: Int32+_KEY_Armenian_tsa = 16778606+-- constant _KEY_Armenian_tso++_KEY_Armenian_tso :: Int32+_KEY_Armenian_tso = 16778625+-- constant _KEY_Armenian_tyun++_KEY_Armenian_tyun :: Int32+_KEY_Armenian_tyun = 16778623+-- constant _KEY_Armenian_verjaket++_KEY_Armenian_verjaket :: Int32+_KEY_Armenian_verjaket = 16778633+-- constant _KEY_Armenian_vev++_KEY_Armenian_vev :: Int32+_KEY_Armenian_vev = 16778622+-- constant _KEY_Armenian_vo++_KEY_Armenian_vo :: Int32+_KEY_Armenian_vo = 16778616+-- constant _KEY_Armenian_vyun++_KEY_Armenian_vyun :: Int32+_KEY_Armenian_vyun = 16778626+-- constant _KEY_Armenian_yech++_KEY_Armenian_yech :: Int32+_KEY_Armenian_yech = 16778597+-- constant _KEY_Armenian_yentamna++_KEY_Armenian_yentamna :: Int32+_KEY_Armenian_yentamna = 16778634+-- constant _KEY_Armenian_za++_KEY_Armenian_za :: Int32+_KEY_Armenian_za = 16778598+-- constant _KEY_Armenian_zhe++_KEY_Armenian_zhe :: Int32+_KEY_Armenian_zhe = 16778602+-- constant _KEY_Atilde++_KEY_Atilde :: Int32+_KEY_Atilde = 195+-- constant _KEY_AudibleBell_Enable++_KEY_AudibleBell_Enable :: Int32+_KEY_AudibleBell_Enable = 65146+-- constant _KEY_AudioCycleTrack++_KEY_AudioCycleTrack :: Int32+_KEY_AudioCycleTrack = 269025179+-- constant _KEY_AudioForward++_KEY_AudioForward :: Int32+_KEY_AudioForward = 269025175+-- constant _KEY_AudioLowerVolume++_KEY_AudioLowerVolume :: Int32+_KEY_AudioLowerVolume = 269025041+-- constant _KEY_AudioMedia++_KEY_AudioMedia :: Int32+_KEY_AudioMedia = 269025074+-- constant _KEY_AudioMicMute++_KEY_AudioMicMute :: Int32+_KEY_AudioMicMute = 269025202+-- constant _KEY_AudioMute++_KEY_AudioMute :: Int32+_KEY_AudioMute = 269025042+-- constant _KEY_AudioNext++_KEY_AudioNext :: Int32+_KEY_AudioNext = 269025047+-- constant _KEY_AudioPause++_KEY_AudioPause :: Int32+_KEY_AudioPause = 269025073+-- constant _KEY_AudioPlay++_KEY_AudioPlay :: Int32+_KEY_AudioPlay = 269025044+-- constant _KEY_AudioPrev++_KEY_AudioPrev :: Int32+_KEY_AudioPrev = 269025046+-- constant _KEY_AudioRaiseVolume++_KEY_AudioRaiseVolume :: Int32+_KEY_AudioRaiseVolume = 269025043+-- constant _KEY_AudioRandomPlay++_KEY_AudioRandomPlay :: Int32+_KEY_AudioRandomPlay = 269025177+-- constant _KEY_AudioRecord++_KEY_AudioRecord :: Int32+_KEY_AudioRecord = 269025052+-- constant _KEY_AudioRepeat++_KEY_AudioRepeat :: Int32+_KEY_AudioRepeat = 269025176+-- constant _KEY_AudioRewind++_KEY_AudioRewind :: Int32+_KEY_AudioRewind = 269025086+-- constant _KEY_AudioStop++_KEY_AudioStop :: Int32+_KEY_AudioStop = 269025045+-- constant _KEY_Away++_KEY_Away :: Int32+_KEY_Away = 269025165+-- constant _KEY_B++_KEY_B :: Int32+_KEY_B = 66+-- constant _KEY_Babovedot++_KEY_Babovedot :: Int32+_KEY_Babovedot = 16784898+-- constant _KEY_Back++_KEY_Back :: Int32+_KEY_Back = 269025062+-- constant _KEY_BackForward++_KEY_BackForward :: Int32+_KEY_BackForward = 269025087+-- constant _KEY_BackSpace++_KEY_BackSpace :: Int32+_KEY_BackSpace = 65288+-- constant _KEY_Battery++_KEY_Battery :: Int32+_KEY_Battery = 269025171+-- constant _KEY_Begin++_KEY_Begin :: Int32+_KEY_Begin = 65368+-- constant _KEY_Blue++_KEY_Blue :: Int32+_KEY_Blue = 269025190+-- constant _KEY_Bluetooth++_KEY_Bluetooth :: Int32+_KEY_Bluetooth = 269025172+-- constant _KEY_Book++_KEY_Book :: Int32+_KEY_Book = 269025106+-- constant _KEY_BounceKeys_Enable++_KEY_BounceKeys_Enable :: Int32+_KEY_BounceKeys_Enable = 65140+-- constant _KEY_Break++_KEY_Break :: Int32+_KEY_Break = 65387+-- constant _KEY_BrightnessAdjust++_KEY_BrightnessAdjust :: Int32+_KEY_BrightnessAdjust = 269025083+-- constant _KEY_Byelorussian_SHORTU++_KEY_Byelorussian_SHORTU :: Int32+_KEY_Byelorussian_SHORTU = 1726+-- constant _KEY_Byelorussian_shortu++_KEY_Byelorussian_shortu :: Int32+_KEY_Byelorussian_shortu = 1710+-- constant _KEY_C++_KEY_C :: Int32+_KEY_C = 67+-- constant _KEY_CD++_KEY_CD :: Int32+_KEY_CD = 269025107+-- constant _KEY_CH++_KEY_CH :: Int32+_KEY_CH = 65186+-- constant _KEY_C_H++_KEY_C_H :: Int32+_KEY_C_H = 65189+-- constant _KEY_C_h++_KEY_C_h :: Int32+_KEY_C_h = 65188+-- constant _KEY_Cabovedot++_KEY_Cabovedot :: Int32+_KEY_Cabovedot = 709+-- constant _KEY_Cacute++_KEY_Cacute :: Int32+_KEY_Cacute = 454+-- constant _KEY_Calculator++_KEY_Calculator :: Int32+_KEY_Calculator = 269025053+-- constant _KEY_Calendar++_KEY_Calendar :: Int32+_KEY_Calendar = 269025056+-- constant _KEY_Cancel++_KEY_Cancel :: Int32+_KEY_Cancel = 65385+-- constant _KEY_Caps_Lock++_KEY_Caps_Lock :: Int32+_KEY_Caps_Lock = 65509+-- constant _KEY_Ccaron++_KEY_Ccaron :: Int32+_KEY_Ccaron = 456+-- constant _KEY_Ccedilla++_KEY_Ccedilla :: Int32+_KEY_Ccedilla = 199+-- constant _KEY_Ccircumflex++_KEY_Ccircumflex :: Int32+_KEY_Ccircumflex = 710+-- constant _KEY_Ch++_KEY_Ch :: Int32+_KEY_Ch = 65185+-- constant _KEY_Clear++_KEY_Clear :: Int32+_KEY_Clear = 65291+-- constant _KEY_ClearGrab++_KEY_ClearGrab :: Int32+_KEY_ClearGrab = 269024801+-- constant _KEY_Close++_KEY_Close :: Int32+_KEY_Close = 269025110+-- constant _KEY_Codeinput++_KEY_Codeinput :: Int32+_KEY_Codeinput = 65335+-- constant _KEY_ColonSign++_KEY_ColonSign :: Int32+_KEY_ColonSign = 16785569+-- constant _KEY_Community++_KEY_Community :: Int32+_KEY_Community = 269025085+-- constant _KEY_ContrastAdjust++_KEY_ContrastAdjust :: Int32+_KEY_ContrastAdjust = 269025058+-- constant _KEY_Control_L++_KEY_Control_L :: Int32+_KEY_Control_L = 65507+-- constant _KEY_Control_R++_KEY_Control_R :: Int32+_KEY_Control_R = 65508+-- constant _KEY_Copy++_KEY_Copy :: Int32+_KEY_Copy = 269025111+-- constant _KEY_CruzeiroSign++_KEY_CruzeiroSign :: Int32+_KEY_CruzeiroSign = 16785570+-- constant _KEY_Cut++_KEY_Cut :: Int32+_KEY_Cut = 269025112+-- constant _KEY_CycleAngle++_KEY_CycleAngle :: Int32+_KEY_CycleAngle = 269025180+-- constant _KEY_Cyrillic_A++_KEY_Cyrillic_A :: Int32+_KEY_Cyrillic_A = 1761+-- constant _KEY_Cyrillic_BE++_KEY_Cyrillic_BE :: Int32+_KEY_Cyrillic_BE = 1762+-- constant _KEY_Cyrillic_CHE++_KEY_Cyrillic_CHE :: Int32+_KEY_Cyrillic_CHE = 1790+-- constant _KEY_Cyrillic_CHE_descender++_KEY_Cyrillic_CHE_descender :: Int32+_KEY_Cyrillic_CHE_descender = 16778422+-- constant _KEY_Cyrillic_CHE_vertstroke++_KEY_Cyrillic_CHE_vertstroke :: Int32+_KEY_Cyrillic_CHE_vertstroke = 16778424+-- constant _KEY_Cyrillic_DE++_KEY_Cyrillic_DE :: Int32+_KEY_Cyrillic_DE = 1764+-- constant _KEY_Cyrillic_DZHE++_KEY_Cyrillic_DZHE :: Int32+_KEY_Cyrillic_DZHE = 1727+-- constant _KEY_Cyrillic_E++_KEY_Cyrillic_E :: Int32+_KEY_Cyrillic_E = 1788+-- constant _KEY_Cyrillic_EF++_KEY_Cyrillic_EF :: Int32+_KEY_Cyrillic_EF = 1766+-- constant _KEY_Cyrillic_EL++_KEY_Cyrillic_EL :: Int32+_KEY_Cyrillic_EL = 1772+-- constant _KEY_Cyrillic_EM++_KEY_Cyrillic_EM :: Int32+_KEY_Cyrillic_EM = 1773+-- constant _KEY_Cyrillic_EN++_KEY_Cyrillic_EN :: Int32+_KEY_Cyrillic_EN = 1774+-- constant _KEY_Cyrillic_EN_descender++_KEY_Cyrillic_EN_descender :: Int32+_KEY_Cyrillic_EN_descender = 16778402+-- constant _KEY_Cyrillic_ER++_KEY_Cyrillic_ER :: Int32+_KEY_Cyrillic_ER = 1778+-- constant _KEY_Cyrillic_ES++_KEY_Cyrillic_ES :: Int32+_KEY_Cyrillic_ES = 1779+-- constant _KEY_Cyrillic_GHE++_KEY_Cyrillic_GHE :: Int32+_KEY_Cyrillic_GHE = 1767+-- constant _KEY_Cyrillic_GHE_bar++_KEY_Cyrillic_GHE_bar :: Int32+_KEY_Cyrillic_GHE_bar = 16778386+-- constant _KEY_Cyrillic_HA++_KEY_Cyrillic_HA :: Int32+_KEY_Cyrillic_HA = 1768+-- constant _KEY_Cyrillic_HARDSIGN++_KEY_Cyrillic_HARDSIGN :: Int32+_KEY_Cyrillic_HARDSIGN = 1791+-- constant _KEY_Cyrillic_HA_descender++_KEY_Cyrillic_HA_descender :: Int32+_KEY_Cyrillic_HA_descender = 16778418+-- constant _KEY_Cyrillic_I++_KEY_Cyrillic_I :: Int32+_KEY_Cyrillic_I = 1769+-- constant _KEY_Cyrillic_IE++_KEY_Cyrillic_IE :: Int32+_KEY_Cyrillic_IE = 1765+-- constant _KEY_Cyrillic_IO++_KEY_Cyrillic_IO :: Int32+_KEY_Cyrillic_IO = 1715+-- constant _KEY_Cyrillic_I_macron++_KEY_Cyrillic_I_macron :: Int32+_KEY_Cyrillic_I_macron = 16778466+-- constant _KEY_Cyrillic_JE++_KEY_Cyrillic_JE :: Int32+_KEY_Cyrillic_JE = 1720+-- constant _KEY_Cyrillic_KA++_KEY_Cyrillic_KA :: Int32+_KEY_Cyrillic_KA = 1771+-- constant _KEY_Cyrillic_KA_descender++_KEY_Cyrillic_KA_descender :: Int32+_KEY_Cyrillic_KA_descender = 16778394+-- constant _KEY_Cyrillic_KA_vertstroke++_KEY_Cyrillic_KA_vertstroke :: Int32+_KEY_Cyrillic_KA_vertstroke = 16778396+-- constant _KEY_Cyrillic_LJE++_KEY_Cyrillic_LJE :: Int32+_KEY_Cyrillic_LJE = 1721+-- constant _KEY_Cyrillic_NJE++_KEY_Cyrillic_NJE :: Int32+_KEY_Cyrillic_NJE = 1722+-- constant _KEY_Cyrillic_O++_KEY_Cyrillic_O :: Int32+_KEY_Cyrillic_O = 1775+-- constant _KEY_Cyrillic_O_bar++_KEY_Cyrillic_O_bar :: Int32+_KEY_Cyrillic_O_bar = 16778472+-- constant _KEY_Cyrillic_PE++_KEY_Cyrillic_PE :: Int32+_KEY_Cyrillic_PE = 1776+-- constant _KEY_Cyrillic_SCHWA++_KEY_Cyrillic_SCHWA :: Int32+_KEY_Cyrillic_SCHWA = 16778456+-- constant _KEY_Cyrillic_SHA++_KEY_Cyrillic_SHA :: Int32+_KEY_Cyrillic_SHA = 1787+-- constant _KEY_Cyrillic_SHCHA++_KEY_Cyrillic_SHCHA :: Int32+_KEY_Cyrillic_SHCHA = 1789+-- constant _KEY_Cyrillic_SHHA++_KEY_Cyrillic_SHHA :: Int32+_KEY_Cyrillic_SHHA = 16778426+-- constant _KEY_Cyrillic_SHORTI++_KEY_Cyrillic_SHORTI :: Int32+_KEY_Cyrillic_SHORTI = 1770+-- constant _KEY_Cyrillic_SOFTSIGN++_KEY_Cyrillic_SOFTSIGN :: Int32+_KEY_Cyrillic_SOFTSIGN = 1784+-- constant _KEY_Cyrillic_TE++_KEY_Cyrillic_TE :: Int32+_KEY_Cyrillic_TE = 1780+-- constant _KEY_Cyrillic_TSE++_KEY_Cyrillic_TSE :: Int32+_KEY_Cyrillic_TSE = 1763+-- constant _KEY_Cyrillic_U++_KEY_Cyrillic_U :: Int32+_KEY_Cyrillic_U = 1781+-- constant _KEY_Cyrillic_U_macron++_KEY_Cyrillic_U_macron :: Int32+_KEY_Cyrillic_U_macron = 16778478+-- constant _KEY_Cyrillic_U_straight++_KEY_Cyrillic_U_straight :: Int32+_KEY_Cyrillic_U_straight = 16778414+-- constant _KEY_Cyrillic_U_straight_bar++_KEY_Cyrillic_U_straight_bar :: Int32+_KEY_Cyrillic_U_straight_bar = 16778416+-- constant _KEY_Cyrillic_VE++_KEY_Cyrillic_VE :: Int32+_KEY_Cyrillic_VE = 1783+-- constant _KEY_Cyrillic_YA++_KEY_Cyrillic_YA :: Int32+_KEY_Cyrillic_YA = 1777+-- constant _KEY_Cyrillic_YERU++_KEY_Cyrillic_YERU :: Int32+_KEY_Cyrillic_YERU = 1785+-- constant _KEY_Cyrillic_YU++_KEY_Cyrillic_YU :: Int32+_KEY_Cyrillic_YU = 1760+-- constant _KEY_Cyrillic_ZE++_KEY_Cyrillic_ZE :: Int32+_KEY_Cyrillic_ZE = 1786+-- constant _KEY_Cyrillic_ZHE++_KEY_Cyrillic_ZHE :: Int32+_KEY_Cyrillic_ZHE = 1782+-- constant _KEY_Cyrillic_ZHE_descender++_KEY_Cyrillic_ZHE_descender :: Int32+_KEY_Cyrillic_ZHE_descender = 16778390+-- constant _KEY_Cyrillic_a++_KEY_Cyrillic_a :: Int32+_KEY_Cyrillic_a = 1729+-- constant _KEY_Cyrillic_be++_KEY_Cyrillic_be :: Int32+_KEY_Cyrillic_be = 1730+-- constant _KEY_Cyrillic_che++_KEY_Cyrillic_che :: Int32+_KEY_Cyrillic_che = 1758+-- constant _KEY_Cyrillic_che_descender++_KEY_Cyrillic_che_descender :: Int32+_KEY_Cyrillic_che_descender = 16778423+-- constant _KEY_Cyrillic_che_vertstroke++_KEY_Cyrillic_che_vertstroke :: Int32+_KEY_Cyrillic_che_vertstroke = 16778425+-- constant _KEY_Cyrillic_de++_KEY_Cyrillic_de :: Int32+_KEY_Cyrillic_de = 1732+-- constant _KEY_Cyrillic_dzhe++_KEY_Cyrillic_dzhe :: Int32+_KEY_Cyrillic_dzhe = 1711+-- constant _KEY_Cyrillic_e++_KEY_Cyrillic_e :: Int32+_KEY_Cyrillic_e = 1756+-- constant _KEY_Cyrillic_ef++_KEY_Cyrillic_ef :: Int32+_KEY_Cyrillic_ef = 1734+-- constant _KEY_Cyrillic_el++_KEY_Cyrillic_el :: Int32+_KEY_Cyrillic_el = 1740+-- constant _KEY_Cyrillic_em++_KEY_Cyrillic_em :: Int32+_KEY_Cyrillic_em = 1741+-- constant _KEY_Cyrillic_en++_KEY_Cyrillic_en :: Int32+_KEY_Cyrillic_en = 1742+-- constant _KEY_Cyrillic_en_descender++_KEY_Cyrillic_en_descender :: Int32+_KEY_Cyrillic_en_descender = 16778403+-- constant _KEY_Cyrillic_er++_KEY_Cyrillic_er :: Int32+_KEY_Cyrillic_er = 1746+-- constant _KEY_Cyrillic_es++_KEY_Cyrillic_es :: Int32+_KEY_Cyrillic_es = 1747+-- constant _KEY_Cyrillic_ghe++_KEY_Cyrillic_ghe :: Int32+_KEY_Cyrillic_ghe = 1735+-- constant _KEY_Cyrillic_ghe_bar++_KEY_Cyrillic_ghe_bar :: Int32+_KEY_Cyrillic_ghe_bar = 16778387+-- constant _KEY_Cyrillic_ha++_KEY_Cyrillic_ha :: Int32+_KEY_Cyrillic_ha = 1736+-- constant _KEY_Cyrillic_ha_descender++_KEY_Cyrillic_ha_descender :: Int32+_KEY_Cyrillic_ha_descender = 16778419+-- constant _KEY_Cyrillic_hardsign++_KEY_Cyrillic_hardsign :: Int32+_KEY_Cyrillic_hardsign = 1759+-- constant _KEY_Cyrillic_i++_KEY_Cyrillic_i :: Int32+_KEY_Cyrillic_i = 1737+-- constant _KEY_Cyrillic_i_macron++_KEY_Cyrillic_i_macron :: Int32+_KEY_Cyrillic_i_macron = 16778467+-- constant _KEY_Cyrillic_ie++_KEY_Cyrillic_ie :: Int32+_KEY_Cyrillic_ie = 1733+-- constant _KEY_Cyrillic_io++_KEY_Cyrillic_io :: Int32+_KEY_Cyrillic_io = 1699+-- constant _KEY_Cyrillic_je++_KEY_Cyrillic_je :: Int32+_KEY_Cyrillic_je = 1704+-- constant _KEY_Cyrillic_ka++_KEY_Cyrillic_ka :: Int32+_KEY_Cyrillic_ka = 1739+-- constant _KEY_Cyrillic_ka_descender++_KEY_Cyrillic_ka_descender :: Int32+_KEY_Cyrillic_ka_descender = 16778395+-- constant _KEY_Cyrillic_ka_vertstroke++_KEY_Cyrillic_ka_vertstroke :: Int32+_KEY_Cyrillic_ka_vertstroke = 16778397+-- constant _KEY_Cyrillic_lje++_KEY_Cyrillic_lje :: Int32+_KEY_Cyrillic_lje = 1705+-- constant _KEY_Cyrillic_nje++_KEY_Cyrillic_nje :: Int32+_KEY_Cyrillic_nje = 1706+-- constant _KEY_Cyrillic_o++_KEY_Cyrillic_o :: Int32+_KEY_Cyrillic_o = 1743+-- constant _KEY_Cyrillic_o_bar++_KEY_Cyrillic_o_bar :: Int32+_KEY_Cyrillic_o_bar = 16778473+-- constant _KEY_Cyrillic_pe++_KEY_Cyrillic_pe :: Int32+_KEY_Cyrillic_pe = 1744+-- constant _KEY_Cyrillic_schwa++_KEY_Cyrillic_schwa :: Int32+_KEY_Cyrillic_schwa = 16778457+-- constant _KEY_Cyrillic_sha++_KEY_Cyrillic_sha :: Int32+_KEY_Cyrillic_sha = 1755+-- constant _KEY_Cyrillic_shcha++_KEY_Cyrillic_shcha :: Int32+_KEY_Cyrillic_shcha = 1757+-- constant _KEY_Cyrillic_shha++_KEY_Cyrillic_shha :: Int32+_KEY_Cyrillic_shha = 16778427+-- constant _KEY_Cyrillic_shorti++_KEY_Cyrillic_shorti :: Int32+_KEY_Cyrillic_shorti = 1738+-- constant _KEY_Cyrillic_softsign++_KEY_Cyrillic_softsign :: Int32+_KEY_Cyrillic_softsign = 1752+-- constant _KEY_Cyrillic_te++_KEY_Cyrillic_te :: Int32+_KEY_Cyrillic_te = 1748+-- constant _KEY_Cyrillic_tse++_KEY_Cyrillic_tse :: Int32+_KEY_Cyrillic_tse = 1731+-- constant _KEY_Cyrillic_u++_KEY_Cyrillic_u :: Int32+_KEY_Cyrillic_u = 1749+-- constant _KEY_Cyrillic_u_macron++_KEY_Cyrillic_u_macron :: Int32+_KEY_Cyrillic_u_macron = 16778479+-- constant _KEY_Cyrillic_u_straight++_KEY_Cyrillic_u_straight :: Int32+_KEY_Cyrillic_u_straight = 16778415+-- constant _KEY_Cyrillic_u_straight_bar++_KEY_Cyrillic_u_straight_bar :: Int32+_KEY_Cyrillic_u_straight_bar = 16778417+-- constant _KEY_Cyrillic_ve++_KEY_Cyrillic_ve :: Int32+_KEY_Cyrillic_ve = 1751+-- constant _KEY_Cyrillic_ya++_KEY_Cyrillic_ya :: Int32+_KEY_Cyrillic_ya = 1745+-- constant _KEY_Cyrillic_yeru++_KEY_Cyrillic_yeru :: Int32+_KEY_Cyrillic_yeru = 1753+-- constant _KEY_Cyrillic_yu++_KEY_Cyrillic_yu :: Int32+_KEY_Cyrillic_yu = 1728+-- constant _KEY_Cyrillic_ze++_KEY_Cyrillic_ze :: Int32+_KEY_Cyrillic_ze = 1754+-- constant _KEY_Cyrillic_zhe++_KEY_Cyrillic_zhe :: Int32+_KEY_Cyrillic_zhe = 1750+-- constant _KEY_Cyrillic_zhe_descender++_KEY_Cyrillic_zhe_descender :: Int32+_KEY_Cyrillic_zhe_descender = 16778391+-- constant _KEY_D++_KEY_D :: Int32+_KEY_D = 68+-- constant _KEY_DOS++_KEY_DOS :: Int32+_KEY_DOS = 269025114+-- constant _KEY_Dabovedot++_KEY_Dabovedot :: Int32+_KEY_Dabovedot = 16784906+-- constant _KEY_Dcaron++_KEY_Dcaron :: Int32+_KEY_Dcaron = 463+-- constant _KEY_Delete++_KEY_Delete :: Int32+_KEY_Delete = 65535+-- constant _KEY_Display++_KEY_Display :: Int32+_KEY_Display = 269025113+-- constant _KEY_Documents++_KEY_Documents :: Int32+_KEY_Documents = 269025115+-- constant _KEY_DongSign++_KEY_DongSign :: Int32+_KEY_DongSign = 16785579+-- constant _KEY_Down++_KEY_Down :: Int32+_KEY_Down = 65364+-- constant _KEY_Dstroke++_KEY_Dstroke :: Int32+_KEY_Dstroke = 464+-- constant _KEY_E++_KEY_E :: Int32+_KEY_E = 69+-- constant _KEY_ENG++_KEY_ENG :: Int32+_KEY_ENG = 957+-- constant _KEY_ETH++_KEY_ETH :: Int32+_KEY_ETH = 208+-- constant _KEY_EZH++_KEY_EZH :: Int32+_KEY_EZH = 16777655+-- constant _KEY_Eabovedot++_KEY_Eabovedot :: Int32+_KEY_Eabovedot = 972+-- constant _KEY_Eacute++_KEY_Eacute :: Int32+_KEY_Eacute = 201+-- constant _KEY_Ebelowdot++_KEY_Ebelowdot :: Int32+_KEY_Ebelowdot = 16785080+-- constant _KEY_Ecaron++_KEY_Ecaron :: Int32+_KEY_Ecaron = 460+-- constant _KEY_Ecircumflex++_KEY_Ecircumflex :: Int32+_KEY_Ecircumflex = 202+-- constant _KEY_Ecircumflexacute++_KEY_Ecircumflexacute :: Int32+_KEY_Ecircumflexacute = 16785086+-- constant _KEY_Ecircumflexbelowdot++_KEY_Ecircumflexbelowdot :: Int32+_KEY_Ecircumflexbelowdot = 16785094+-- constant _KEY_Ecircumflexgrave++_KEY_Ecircumflexgrave :: Int32+_KEY_Ecircumflexgrave = 16785088+-- constant _KEY_Ecircumflexhook++_KEY_Ecircumflexhook :: Int32+_KEY_Ecircumflexhook = 16785090+-- constant _KEY_Ecircumflextilde++_KEY_Ecircumflextilde :: Int32+_KEY_Ecircumflextilde = 16785092+-- constant _KEY_EcuSign++_KEY_EcuSign :: Int32+_KEY_EcuSign = 16785568+-- constant _KEY_Ediaeresis++_KEY_Ediaeresis :: Int32+_KEY_Ediaeresis = 203+-- constant _KEY_Egrave++_KEY_Egrave :: Int32+_KEY_Egrave = 200+-- constant _KEY_Ehook++_KEY_Ehook :: Int32+_KEY_Ehook = 16785082+-- constant _KEY_Eisu_Shift++_KEY_Eisu_Shift :: Int32+_KEY_Eisu_Shift = 65327+-- constant _KEY_Eisu_toggle++_KEY_Eisu_toggle :: Int32+_KEY_Eisu_toggle = 65328+-- constant _KEY_Eject++_KEY_Eject :: Int32+_KEY_Eject = 269025068+-- constant _KEY_Emacron++_KEY_Emacron :: Int32+_KEY_Emacron = 938+-- constant _KEY_End++_KEY_End :: Int32+_KEY_End = 65367+-- constant _KEY_Eogonek++_KEY_Eogonek :: Int32+_KEY_Eogonek = 458+-- constant _KEY_Escape++_KEY_Escape :: Int32+_KEY_Escape = 65307+-- constant _KEY_Eth++_KEY_Eth :: Int32+_KEY_Eth = 208+-- constant _KEY_Etilde++_KEY_Etilde :: Int32+_KEY_Etilde = 16785084+-- constant _KEY_EuroSign++_KEY_EuroSign :: Int32+_KEY_EuroSign = 8364+-- constant _KEY_Excel++_KEY_Excel :: Int32+_KEY_Excel = 269025116+-- constant _KEY_Execute++_KEY_Execute :: Int32+_KEY_Execute = 65378+-- constant _KEY_Explorer++_KEY_Explorer :: Int32+_KEY_Explorer = 269025117+-- constant _KEY_F++_KEY_F :: Int32+_KEY_F = 70+-- constant _KEY_F1++_KEY_F1 :: Int32+_KEY_F1 = 65470+-- constant _KEY_F10++_KEY_F10 :: Int32+_KEY_F10 = 65479+-- constant _KEY_F11++_KEY_F11 :: Int32+_KEY_F11 = 65480+-- constant _KEY_F12++_KEY_F12 :: Int32+_KEY_F12 = 65481+-- constant _KEY_F13++_KEY_F13 :: Int32+_KEY_F13 = 65482+-- constant _KEY_F14++_KEY_F14 :: Int32+_KEY_F14 = 65483+-- constant _KEY_F15++_KEY_F15 :: Int32+_KEY_F15 = 65484+-- constant _KEY_F16++_KEY_F16 :: Int32+_KEY_F16 = 65485+-- constant _KEY_F17++_KEY_F17 :: Int32+_KEY_F17 = 65486+-- constant _KEY_F18++_KEY_F18 :: Int32+_KEY_F18 = 65487+-- constant _KEY_F19++_KEY_F19 :: Int32+_KEY_F19 = 65488+-- constant _KEY_F2++_KEY_F2 :: Int32+_KEY_F2 = 65471+-- constant _KEY_F20++_KEY_F20 :: Int32+_KEY_F20 = 65489+-- constant _KEY_F21++_KEY_F21 :: Int32+_KEY_F21 = 65490+-- constant _KEY_F22++_KEY_F22 :: Int32+_KEY_F22 = 65491+-- constant _KEY_F23++_KEY_F23 :: Int32+_KEY_F23 = 65492+-- constant _KEY_F24++_KEY_F24 :: Int32+_KEY_F24 = 65493+-- constant _KEY_F25++_KEY_F25 :: Int32+_KEY_F25 = 65494+-- constant _KEY_F26++_KEY_F26 :: Int32+_KEY_F26 = 65495+-- constant _KEY_F27++_KEY_F27 :: Int32+_KEY_F27 = 65496+-- constant _KEY_F28++_KEY_F28 :: Int32+_KEY_F28 = 65497+-- constant _KEY_F29++_KEY_F29 :: Int32+_KEY_F29 = 65498+-- constant _KEY_F3++_KEY_F3 :: Int32+_KEY_F3 = 65472+-- constant _KEY_F30++_KEY_F30 :: Int32+_KEY_F30 = 65499+-- constant _KEY_F31++_KEY_F31 :: Int32+_KEY_F31 = 65500+-- constant _KEY_F32++_KEY_F32 :: Int32+_KEY_F32 = 65501+-- constant _KEY_F33++_KEY_F33 :: Int32+_KEY_F33 = 65502+-- constant _KEY_F34++_KEY_F34 :: Int32+_KEY_F34 = 65503+-- constant _KEY_F35++_KEY_F35 :: Int32+_KEY_F35 = 65504+-- constant _KEY_F4++_KEY_F4 :: Int32+_KEY_F4 = 65473+-- constant _KEY_F5++_KEY_F5 :: Int32+_KEY_F5 = 65474+-- constant _KEY_F6++_KEY_F6 :: Int32+_KEY_F6 = 65475+-- constant _KEY_F7++_KEY_F7 :: Int32+_KEY_F7 = 65476+-- constant _KEY_F8++_KEY_F8 :: Int32+_KEY_F8 = 65477+-- constant _KEY_F9++_KEY_F9 :: Int32+_KEY_F9 = 65478+-- constant _KEY_FFrancSign++_KEY_FFrancSign :: Int32+_KEY_FFrancSign = 16785571+-- constant _KEY_Fabovedot++_KEY_Fabovedot :: Int32+_KEY_Fabovedot = 16784926+-- constant _KEY_Farsi_0++_KEY_Farsi_0 :: Int32+_KEY_Farsi_0 = 16778992+-- constant _KEY_Farsi_1++_KEY_Farsi_1 :: Int32+_KEY_Farsi_1 = 16778993+-- constant _KEY_Farsi_2++_KEY_Farsi_2 :: Int32+_KEY_Farsi_2 = 16778994+-- constant _KEY_Farsi_3++_KEY_Farsi_3 :: Int32+_KEY_Farsi_3 = 16778995+-- constant _KEY_Farsi_4++_KEY_Farsi_4 :: Int32+_KEY_Farsi_4 = 16778996+-- constant _KEY_Farsi_5++_KEY_Farsi_5 :: Int32+_KEY_Farsi_5 = 16778997+-- constant _KEY_Farsi_6++_KEY_Farsi_6 :: Int32+_KEY_Farsi_6 = 16778998+-- constant _KEY_Farsi_7++_KEY_Farsi_7 :: Int32+_KEY_Farsi_7 = 16778999+-- constant _KEY_Farsi_8++_KEY_Farsi_8 :: Int32+_KEY_Farsi_8 = 16779000+-- constant _KEY_Farsi_9++_KEY_Farsi_9 :: Int32+_KEY_Farsi_9 = 16779001+-- constant _KEY_Farsi_yeh++_KEY_Farsi_yeh :: Int32+_KEY_Farsi_yeh = 16778956+-- constant _KEY_Favorites++_KEY_Favorites :: Int32+_KEY_Favorites = 269025072+-- constant _KEY_Finance++_KEY_Finance :: Int32+_KEY_Finance = 269025084+-- constant _KEY_Find++_KEY_Find :: Int32+_KEY_Find = 65384+-- constant _KEY_First_Virtual_Screen++_KEY_First_Virtual_Screen :: Int32+_KEY_First_Virtual_Screen = 65232+-- constant _KEY_Forward++_KEY_Forward :: Int32+_KEY_Forward = 269025063+-- constant _KEY_FrameBack++_KEY_FrameBack :: Int32+_KEY_FrameBack = 269025181+-- constant _KEY_FrameForward++_KEY_FrameForward :: Int32+_KEY_FrameForward = 269025182+-- constant _KEY_G++_KEY_G :: Int32+_KEY_G = 71+-- constant _KEY_Gabovedot++_KEY_Gabovedot :: Int32+_KEY_Gabovedot = 725+-- constant _KEY_Game++_KEY_Game :: Int32+_KEY_Game = 269025118+-- constant _KEY_Gbreve++_KEY_Gbreve :: Int32+_KEY_Gbreve = 683+-- constant _KEY_Gcaron++_KEY_Gcaron :: Int32+_KEY_Gcaron = 16777702+-- constant _KEY_Gcedilla++_KEY_Gcedilla :: Int32+_KEY_Gcedilla = 939+-- constant _KEY_Gcircumflex++_KEY_Gcircumflex :: Int32+_KEY_Gcircumflex = 728+-- constant _KEY_Georgian_an++_KEY_Georgian_an :: Int32+_KEY_Georgian_an = 16781520+-- constant _KEY_Georgian_ban++_KEY_Georgian_ban :: Int32+_KEY_Georgian_ban = 16781521+-- constant _KEY_Georgian_can++_KEY_Georgian_can :: Int32+_KEY_Georgian_can = 16781546+-- constant _KEY_Georgian_char++_KEY_Georgian_char :: Int32+_KEY_Georgian_char = 16781549+-- constant _KEY_Georgian_chin++_KEY_Georgian_chin :: Int32+_KEY_Georgian_chin = 16781545+-- constant _KEY_Georgian_cil++_KEY_Georgian_cil :: Int32+_KEY_Georgian_cil = 16781548+-- constant _KEY_Georgian_don++_KEY_Georgian_don :: Int32+_KEY_Georgian_don = 16781523+-- constant _KEY_Georgian_en++_KEY_Georgian_en :: Int32+_KEY_Georgian_en = 16781524+-- constant _KEY_Georgian_fi++_KEY_Georgian_fi :: Int32+_KEY_Georgian_fi = 16781558+-- constant _KEY_Georgian_gan++_KEY_Georgian_gan :: Int32+_KEY_Georgian_gan = 16781522+-- constant _KEY_Georgian_ghan++_KEY_Georgian_ghan :: Int32+_KEY_Georgian_ghan = 16781542+-- constant _KEY_Georgian_hae++_KEY_Georgian_hae :: Int32+_KEY_Georgian_hae = 16781552+-- constant _KEY_Georgian_har++_KEY_Georgian_har :: Int32+_KEY_Georgian_har = 16781556+-- constant _KEY_Georgian_he++_KEY_Georgian_he :: Int32+_KEY_Georgian_he = 16781553+-- constant _KEY_Georgian_hie++_KEY_Georgian_hie :: Int32+_KEY_Georgian_hie = 16781554+-- constant _KEY_Georgian_hoe++_KEY_Georgian_hoe :: Int32+_KEY_Georgian_hoe = 16781557+-- constant _KEY_Georgian_in++_KEY_Georgian_in :: Int32+_KEY_Georgian_in = 16781528+-- constant _KEY_Georgian_jhan++_KEY_Georgian_jhan :: Int32+_KEY_Georgian_jhan = 16781551+-- constant _KEY_Georgian_jil++_KEY_Georgian_jil :: Int32+_KEY_Georgian_jil = 16781547+-- constant _KEY_Georgian_kan++_KEY_Georgian_kan :: Int32+_KEY_Georgian_kan = 16781529+-- constant _KEY_Georgian_khar++_KEY_Georgian_khar :: Int32+_KEY_Georgian_khar = 16781541+-- constant _KEY_Georgian_las++_KEY_Georgian_las :: Int32+_KEY_Georgian_las = 16781530+-- constant _KEY_Georgian_man++_KEY_Georgian_man :: Int32+_KEY_Georgian_man = 16781531+-- constant _KEY_Georgian_nar++_KEY_Georgian_nar :: Int32+_KEY_Georgian_nar = 16781532+-- constant _KEY_Georgian_on++_KEY_Georgian_on :: Int32+_KEY_Georgian_on = 16781533+-- constant _KEY_Georgian_par++_KEY_Georgian_par :: Int32+_KEY_Georgian_par = 16781534+-- constant _KEY_Georgian_phar++_KEY_Georgian_phar :: Int32+_KEY_Georgian_phar = 16781540+-- constant _KEY_Georgian_qar++_KEY_Georgian_qar :: Int32+_KEY_Georgian_qar = 16781543+-- constant _KEY_Georgian_rae++_KEY_Georgian_rae :: Int32+_KEY_Georgian_rae = 16781536+-- constant _KEY_Georgian_san++_KEY_Georgian_san :: Int32+_KEY_Georgian_san = 16781537+-- constant _KEY_Georgian_shin++_KEY_Georgian_shin :: Int32+_KEY_Georgian_shin = 16781544+-- constant _KEY_Georgian_tan++_KEY_Georgian_tan :: Int32+_KEY_Georgian_tan = 16781527+-- constant _KEY_Georgian_tar++_KEY_Georgian_tar :: Int32+_KEY_Georgian_tar = 16781538+-- constant _KEY_Georgian_un++_KEY_Georgian_un :: Int32+_KEY_Georgian_un = 16781539+-- constant _KEY_Georgian_vin++_KEY_Georgian_vin :: Int32+_KEY_Georgian_vin = 16781525+-- constant _KEY_Georgian_we++_KEY_Georgian_we :: Int32+_KEY_Georgian_we = 16781555+-- constant _KEY_Georgian_xan++_KEY_Georgian_xan :: Int32+_KEY_Georgian_xan = 16781550+-- constant _KEY_Georgian_zen++_KEY_Georgian_zen :: Int32+_KEY_Georgian_zen = 16781526+-- constant _KEY_Georgian_zhar++_KEY_Georgian_zhar :: Int32+_KEY_Georgian_zhar = 16781535+-- constant _KEY_Go++_KEY_Go :: Int32+_KEY_Go = 269025119+-- constant _KEY_Greek_ALPHA++_KEY_Greek_ALPHA :: Int32+_KEY_Greek_ALPHA = 1985+-- constant _KEY_Greek_ALPHAaccent++_KEY_Greek_ALPHAaccent :: Int32+_KEY_Greek_ALPHAaccent = 1953+-- constant _KEY_Greek_BETA++_KEY_Greek_BETA :: Int32+_KEY_Greek_BETA = 1986+-- constant _KEY_Greek_CHI++_KEY_Greek_CHI :: Int32+_KEY_Greek_CHI = 2007+-- constant _KEY_Greek_DELTA++_KEY_Greek_DELTA :: Int32+_KEY_Greek_DELTA = 1988+-- constant _KEY_Greek_EPSILON++_KEY_Greek_EPSILON :: Int32+_KEY_Greek_EPSILON = 1989+-- constant _KEY_Greek_EPSILONaccent++_KEY_Greek_EPSILONaccent :: Int32+_KEY_Greek_EPSILONaccent = 1954+-- constant _KEY_Greek_ETA++_KEY_Greek_ETA :: Int32+_KEY_Greek_ETA = 1991+-- constant _KEY_Greek_ETAaccent++_KEY_Greek_ETAaccent :: Int32+_KEY_Greek_ETAaccent = 1955+-- constant _KEY_Greek_GAMMA++_KEY_Greek_GAMMA :: Int32+_KEY_Greek_GAMMA = 1987+-- constant _KEY_Greek_IOTA++_KEY_Greek_IOTA :: Int32+_KEY_Greek_IOTA = 1993+-- constant _KEY_Greek_IOTAaccent++_KEY_Greek_IOTAaccent :: Int32+_KEY_Greek_IOTAaccent = 1956+-- constant _KEY_Greek_IOTAdiaeresis++_KEY_Greek_IOTAdiaeresis :: Int32+_KEY_Greek_IOTAdiaeresis = 1957+-- constant _KEY_Greek_IOTAdieresis++_KEY_Greek_IOTAdieresis :: Int32+_KEY_Greek_IOTAdieresis = 1957+-- constant _KEY_Greek_KAPPA++_KEY_Greek_KAPPA :: Int32+_KEY_Greek_KAPPA = 1994+-- constant _KEY_Greek_LAMBDA++_KEY_Greek_LAMBDA :: Int32+_KEY_Greek_LAMBDA = 1995+-- constant _KEY_Greek_LAMDA++_KEY_Greek_LAMDA :: Int32+_KEY_Greek_LAMDA = 1995+-- constant _KEY_Greek_MU++_KEY_Greek_MU :: Int32+_KEY_Greek_MU = 1996+-- constant _KEY_Greek_NU++_KEY_Greek_NU :: Int32+_KEY_Greek_NU = 1997+-- constant _KEY_Greek_OMEGA++_KEY_Greek_OMEGA :: Int32+_KEY_Greek_OMEGA = 2009+-- constant _KEY_Greek_OMEGAaccent++_KEY_Greek_OMEGAaccent :: Int32+_KEY_Greek_OMEGAaccent = 1963+-- constant _KEY_Greek_OMICRON++_KEY_Greek_OMICRON :: Int32+_KEY_Greek_OMICRON = 1999+-- constant _KEY_Greek_OMICRONaccent++_KEY_Greek_OMICRONaccent :: Int32+_KEY_Greek_OMICRONaccent = 1959+-- constant _KEY_Greek_PHI++_KEY_Greek_PHI :: Int32+_KEY_Greek_PHI = 2006+-- constant _KEY_Greek_PI++_KEY_Greek_PI :: Int32+_KEY_Greek_PI = 2000+-- constant _KEY_Greek_PSI++_KEY_Greek_PSI :: Int32+_KEY_Greek_PSI = 2008+-- constant _KEY_Greek_RHO++_KEY_Greek_RHO :: Int32+_KEY_Greek_RHO = 2001+-- constant _KEY_Greek_SIGMA++_KEY_Greek_SIGMA :: Int32+_KEY_Greek_SIGMA = 2002+-- constant _KEY_Greek_TAU++_KEY_Greek_TAU :: Int32+_KEY_Greek_TAU = 2004+-- constant _KEY_Greek_THETA++_KEY_Greek_THETA :: Int32+_KEY_Greek_THETA = 1992+-- constant _KEY_Greek_UPSILON++_KEY_Greek_UPSILON :: Int32+_KEY_Greek_UPSILON = 2005+-- constant _KEY_Greek_UPSILONaccent++_KEY_Greek_UPSILONaccent :: Int32+_KEY_Greek_UPSILONaccent = 1960+-- constant _KEY_Greek_UPSILONdieresis++_KEY_Greek_UPSILONdieresis :: Int32+_KEY_Greek_UPSILONdieresis = 1961+-- constant _KEY_Greek_XI++_KEY_Greek_XI :: Int32+_KEY_Greek_XI = 1998+-- constant _KEY_Greek_ZETA++_KEY_Greek_ZETA :: Int32+_KEY_Greek_ZETA = 1990+-- constant _KEY_Greek_accentdieresis++_KEY_Greek_accentdieresis :: Int32+_KEY_Greek_accentdieresis = 1966+-- constant _KEY_Greek_alpha++_KEY_Greek_alpha :: Int32+_KEY_Greek_alpha = 2017+-- constant _KEY_Greek_alphaaccent++_KEY_Greek_alphaaccent :: Int32+_KEY_Greek_alphaaccent = 1969+-- constant _KEY_Greek_beta++_KEY_Greek_beta :: Int32+_KEY_Greek_beta = 2018+-- constant _KEY_Greek_chi++_KEY_Greek_chi :: Int32+_KEY_Greek_chi = 2039+-- constant _KEY_Greek_delta++_KEY_Greek_delta :: Int32+_KEY_Greek_delta = 2020+-- constant _KEY_Greek_epsilon++_KEY_Greek_epsilon :: Int32+_KEY_Greek_epsilon = 2021+-- constant _KEY_Greek_epsilonaccent++_KEY_Greek_epsilonaccent :: Int32+_KEY_Greek_epsilonaccent = 1970+-- constant _KEY_Greek_eta++_KEY_Greek_eta :: Int32+_KEY_Greek_eta = 2023+-- constant _KEY_Greek_etaaccent++_KEY_Greek_etaaccent :: Int32+_KEY_Greek_etaaccent = 1971+-- constant _KEY_Greek_finalsmallsigma++_KEY_Greek_finalsmallsigma :: Int32+_KEY_Greek_finalsmallsigma = 2035+-- constant _KEY_Greek_gamma++_KEY_Greek_gamma :: Int32+_KEY_Greek_gamma = 2019+-- constant _KEY_Greek_horizbar++_KEY_Greek_horizbar :: Int32+_KEY_Greek_horizbar = 1967+-- constant _KEY_Greek_iota++_KEY_Greek_iota :: Int32+_KEY_Greek_iota = 2025+-- constant _KEY_Greek_iotaaccent++_KEY_Greek_iotaaccent :: Int32+_KEY_Greek_iotaaccent = 1972+-- constant _KEY_Greek_iotaaccentdieresis++_KEY_Greek_iotaaccentdieresis :: Int32+_KEY_Greek_iotaaccentdieresis = 1974+-- constant _KEY_Greek_iotadieresis++_KEY_Greek_iotadieresis :: Int32+_KEY_Greek_iotadieresis = 1973+-- constant _KEY_Greek_kappa++_KEY_Greek_kappa :: Int32+_KEY_Greek_kappa = 2026+-- constant _KEY_Greek_lambda++_KEY_Greek_lambda :: Int32+_KEY_Greek_lambda = 2027+-- constant _KEY_Greek_lamda++_KEY_Greek_lamda :: Int32+_KEY_Greek_lamda = 2027+-- constant _KEY_Greek_mu++_KEY_Greek_mu :: Int32+_KEY_Greek_mu = 2028+-- constant _KEY_Greek_nu++_KEY_Greek_nu :: Int32+_KEY_Greek_nu = 2029+-- constant _KEY_Greek_omega++_KEY_Greek_omega :: Int32+_KEY_Greek_omega = 2041+-- constant _KEY_Greek_omegaaccent++_KEY_Greek_omegaaccent :: Int32+_KEY_Greek_omegaaccent = 1979+-- constant _KEY_Greek_omicron++_KEY_Greek_omicron :: Int32+_KEY_Greek_omicron = 2031+-- constant _KEY_Greek_omicronaccent++_KEY_Greek_omicronaccent :: Int32+_KEY_Greek_omicronaccent = 1975+-- constant _KEY_Greek_phi++_KEY_Greek_phi :: Int32+_KEY_Greek_phi = 2038+-- constant _KEY_Greek_pi++_KEY_Greek_pi :: Int32+_KEY_Greek_pi = 2032+-- constant _KEY_Greek_psi++_KEY_Greek_psi :: Int32+_KEY_Greek_psi = 2040+-- constant _KEY_Greek_rho++_KEY_Greek_rho :: Int32+_KEY_Greek_rho = 2033+-- constant _KEY_Greek_sigma++_KEY_Greek_sigma :: Int32+_KEY_Greek_sigma = 2034+-- constant _KEY_Greek_switch++_KEY_Greek_switch :: Int32+_KEY_Greek_switch = 65406+-- constant _KEY_Greek_tau++_KEY_Greek_tau :: Int32+_KEY_Greek_tau = 2036+-- constant _KEY_Greek_theta++_KEY_Greek_theta :: Int32+_KEY_Greek_theta = 2024+-- constant _KEY_Greek_upsilon++_KEY_Greek_upsilon :: Int32+_KEY_Greek_upsilon = 2037+-- constant _KEY_Greek_upsilonaccent++_KEY_Greek_upsilonaccent :: Int32+_KEY_Greek_upsilonaccent = 1976+-- constant _KEY_Greek_upsilonaccentdieresis++_KEY_Greek_upsilonaccentdieresis :: Int32+_KEY_Greek_upsilonaccentdieresis = 1978+-- constant _KEY_Greek_upsilondieresis++_KEY_Greek_upsilondieresis :: Int32+_KEY_Greek_upsilondieresis = 1977+-- constant _KEY_Greek_xi++_KEY_Greek_xi :: Int32+_KEY_Greek_xi = 2030+-- constant _KEY_Greek_zeta++_KEY_Greek_zeta :: Int32+_KEY_Greek_zeta = 2022+-- constant _KEY_Green++_KEY_Green :: Int32+_KEY_Green = 269025188+-- constant _KEY_H++_KEY_H :: Int32+_KEY_H = 72+-- constant _KEY_Hangul++_KEY_Hangul :: Int32+_KEY_Hangul = 65329+-- constant _KEY_Hangul_A++_KEY_Hangul_A :: Int32+_KEY_Hangul_A = 3775+-- constant _KEY_Hangul_AE++_KEY_Hangul_AE :: Int32+_KEY_Hangul_AE = 3776+-- constant _KEY_Hangul_AraeA++_KEY_Hangul_AraeA :: Int32+_KEY_Hangul_AraeA = 3830+-- constant _KEY_Hangul_AraeAE++_KEY_Hangul_AraeAE :: Int32+_KEY_Hangul_AraeAE = 3831+-- constant _KEY_Hangul_Banja++_KEY_Hangul_Banja :: Int32+_KEY_Hangul_Banja = 65337+-- constant _KEY_Hangul_Cieuc++_KEY_Hangul_Cieuc :: Int32+_KEY_Hangul_Cieuc = 3770+-- constant _KEY_Hangul_Codeinput++_KEY_Hangul_Codeinput :: Int32+_KEY_Hangul_Codeinput = 65335+-- constant _KEY_Hangul_Dikeud++_KEY_Hangul_Dikeud :: Int32+_KEY_Hangul_Dikeud = 3751+-- constant _KEY_Hangul_E++_KEY_Hangul_E :: Int32+_KEY_Hangul_E = 3780+-- constant _KEY_Hangul_EO++_KEY_Hangul_EO :: Int32+_KEY_Hangul_EO = 3779+-- constant _KEY_Hangul_EU++_KEY_Hangul_EU :: Int32+_KEY_Hangul_EU = 3793+-- constant _KEY_Hangul_End++_KEY_Hangul_End :: Int32+_KEY_Hangul_End = 65331+-- constant _KEY_Hangul_Hanja++_KEY_Hangul_Hanja :: Int32+_KEY_Hangul_Hanja = 65332+-- constant _KEY_Hangul_Hieuh++_KEY_Hangul_Hieuh :: Int32+_KEY_Hangul_Hieuh = 3774+-- constant _KEY_Hangul_I++_KEY_Hangul_I :: Int32+_KEY_Hangul_I = 3795+-- constant _KEY_Hangul_Ieung++_KEY_Hangul_Ieung :: Int32+_KEY_Hangul_Ieung = 3767+-- constant _KEY_Hangul_J_Cieuc++_KEY_Hangul_J_Cieuc :: Int32+_KEY_Hangul_J_Cieuc = 3818+-- constant _KEY_Hangul_J_Dikeud++_KEY_Hangul_J_Dikeud :: Int32+_KEY_Hangul_J_Dikeud = 3802+-- constant _KEY_Hangul_J_Hieuh++_KEY_Hangul_J_Hieuh :: Int32+_KEY_Hangul_J_Hieuh = 3822+-- constant _KEY_Hangul_J_Ieung++_KEY_Hangul_J_Ieung :: Int32+_KEY_Hangul_J_Ieung = 3816+-- constant _KEY_Hangul_J_Jieuj++_KEY_Hangul_J_Jieuj :: Int32+_KEY_Hangul_J_Jieuj = 3817+-- constant _KEY_Hangul_J_Khieuq++_KEY_Hangul_J_Khieuq :: Int32+_KEY_Hangul_J_Khieuq = 3819+-- constant _KEY_Hangul_J_Kiyeog++_KEY_Hangul_J_Kiyeog :: Int32+_KEY_Hangul_J_Kiyeog = 3796+-- constant _KEY_Hangul_J_KiyeogSios++_KEY_Hangul_J_KiyeogSios :: Int32+_KEY_Hangul_J_KiyeogSios = 3798+-- constant _KEY_Hangul_J_KkogjiDalrinIeung++_KEY_Hangul_J_KkogjiDalrinIeung :: Int32+_KEY_Hangul_J_KkogjiDalrinIeung = 3833+-- constant _KEY_Hangul_J_Mieum++_KEY_Hangul_J_Mieum :: Int32+_KEY_Hangul_J_Mieum = 3811+-- constant _KEY_Hangul_J_Nieun++_KEY_Hangul_J_Nieun :: Int32+_KEY_Hangul_J_Nieun = 3799+-- constant _KEY_Hangul_J_NieunHieuh++_KEY_Hangul_J_NieunHieuh :: Int32+_KEY_Hangul_J_NieunHieuh = 3801+-- constant _KEY_Hangul_J_NieunJieuj++_KEY_Hangul_J_NieunJieuj :: Int32+_KEY_Hangul_J_NieunJieuj = 3800+-- constant _KEY_Hangul_J_PanSios++_KEY_Hangul_J_PanSios :: Int32+_KEY_Hangul_J_PanSios = 3832+-- constant _KEY_Hangul_J_Phieuf++_KEY_Hangul_J_Phieuf :: Int32+_KEY_Hangul_J_Phieuf = 3821+-- constant _KEY_Hangul_J_Pieub++_KEY_Hangul_J_Pieub :: Int32+_KEY_Hangul_J_Pieub = 3812+-- constant _KEY_Hangul_J_PieubSios++_KEY_Hangul_J_PieubSios :: Int32+_KEY_Hangul_J_PieubSios = 3813+-- constant _KEY_Hangul_J_Rieul++_KEY_Hangul_J_Rieul :: Int32+_KEY_Hangul_J_Rieul = 3803+-- constant _KEY_Hangul_J_RieulHieuh++_KEY_Hangul_J_RieulHieuh :: Int32+_KEY_Hangul_J_RieulHieuh = 3810+-- constant _KEY_Hangul_J_RieulKiyeog++_KEY_Hangul_J_RieulKiyeog :: Int32+_KEY_Hangul_J_RieulKiyeog = 3804+-- constant _KEY_Hangul_J_RieulMieum++_KEY_Hangul_J_RieulMieum :: Int32+_KEY_Hangul_J_RieulMieum = 3805+-- constant _KEY_Hangul_J_RieulPhieuf++_KEY_Hangul_J_RieulPhieuf :: Int32+_KEY_Hangul_J_RieulPhieuf = 3809+-- constant _KEY_Hangul_J_RieulPieub++_KEY_Hangul_J_RieulPieub :: Int32+_KEY_Hangul_J_RieulPieub = 3806+-- constant _KEY_Hangul_J_RieulSios++_KEY_Hangul_J_RieulSios :: Int32+_KEY_Hangul_J_RieulSios = 3807+-- constant _KEY_Hangul_J_RieulTieut++_KEY_Hangul_J_RieulTieut :: Int32+_KEY_Hangul_J_RieulTieut = 3808+-- constant _KEY_Hangul_J_Sios++_KEY_Hangul_J_Sios :: Int32+_KEY_Hangul_J_Sios = 3814+-- constant _KEY_Hangul_J_SsangKiyeog++_KEY_Hangul_J_SsangKiyeog :: Int32+_KEY_Hangul_J_SsangKiyeog = 3797+-- constant _KEY_Hangul_J_SsangSios++_KEY_Hangul_J_SsangSios :: Int32+_KEY_Hangul_J_SsangSios = 3815+-- constant _KEY_Hangul_J_Tieut++_KEY_Hangul_J_Tieut :: Int32+_KEY_Hangul_J_Tieut = 3820+-- constant _KEY_Hangul_J_YeorinHieuh++_KEY_Hangul_J_YeorinHieuh :: Int32+_KEY_Hangul_J_YeorinHieuh = 3834+-- constant _KEY_Hangul_Jamo++_KEY_Hangul_Jamo :: Int32+_KEY_Hangul_Jamo = 65333+-- constant _KEY_Hangul_Jeonja++_KEY_Hangul_Jeonja :: Int32+_KEY_Hangul_Jeonja = 65336+-- constant _KEY_Hangul_Jieuj++_KEY_Hangul_Jieuj :: Int32+_KEY_Hangul_Jieuj = 3768+-- constant _KEY_Hangul_Khieuq++_KEY_Hangul_Khieuq :: Int32+_KEY_Hangul_Khieuq = 3771+-- constant _KEY_Hangul_Kiyeog++_KEY_Hangul_Kiyeog :: Int32+_KEY_Hangul_Kiyeog = 3745+-- constant _KEY_Hangul_KiyeogSios++_KEY_Hangul_KiyeogSios :: Int32+_KEY_Hangul_KiyeogSios = 3747+-- constant _KEY_Hangul_KkogjiDalrinIeung++_KEY_Hangul_KkogjiDalrinIeung :: Int32+_KEY_Hangul_KkogjiDalrinIeung = 3827+-- constant _KEY_Hangul_Mieum++_KEY_Hangul_Mieum :: Int32+_KEY_Hangul_Mieum = 3761+-- constant _KEY_Hangul_MultipleCandidate++_KEY_Hangul_MultipleCandidate :: Int32+_KEY_Hangul_MultipleCandidate = 65341+-- constant _KEY_Hangul_Nieun++_KEY_Hangul_Nieun :: Int32+_KEY_Hangul_Nieun = 3748+-- constant _KEY_Hangul_NieunHieuh++_KEY_Hangul_NieunHieuh :: Int32+_KEY_Hangul_NieunHieuh = 3750+-- constant _KEY_Hangul_NieunJieuj++_KEY_Hangul_NieunJieuj :: Int32+_KEY_Hangul_NieunJieuj = 3749+-- constant _KEY_Hangul_O++_KEY_Hangul_O :: Int32+_KEY_Hangul_O = 3783+-- constant _KEY_Hangul_OE++_KEY_Hangul_OE :: Int32+_KEY_Hangul_OE = 3786+-- constant _KEY_Hangul_PanSios++_KEY_Hangul_PanSios :: Int32+_KEY_Hangul_PanSios = 3826+-- constant _KEY_Hangul_Phieuf++_KEY_Hangul_Phieuf :: Int32+_KEY_Hangul_Phieuf = 3773+-- constant _KEY_Hangul_Pieub++_KEY_Hangul_Pieub :: Int32+_KEY_Hangul_Pieub = 3762+-- constant _KEY_Hangul_PieubSios++_KEY_Hangul_PieubSios :: Int32+_KEY_Hangul_PieubSios = 3764+-- constant _KEY_Hangul_PostHanja++_KEY_Hangul_PostHanja :: Int32+_KEY_Hangul_PostHanja = 65339+-- constant _KEY_Hangul_PreHanja++_KEY_Hangul_PreHanja :: Int32+_KEY_Hangul_PreHanja = 65338+-- constant _KEY_Hangul_PreviousCandidate++_KEY_Hangul_PreviousCandidate :: Int32+_KEY_Hangul_PreviousCandidate = 65342+-- constant _KEY_Hangul_Rieul++_KEY_Hangul_Rieul :: Int32+_KEY_Hangul_Rieul = 3753+-- constant _KEY_Hangul_RieulHieuh++_KEY_Hangul_RieulHieuh :: Int32+_KEY_Hangul_RieulHieuh = 3760+-- constant _KEY_Hangul_RieulKiyeog++_KEY_Hangul_RieulKiyeog :: Int32+_KEY_Hangul_RieulKiyeog = 3754+-- constant _KEY_Hangul_RieulMieum++_KEY_Hangul_RieulMieum :: Int32+_KEY_Hangul_RieulMieum = 3755+-- constant _KEY_Hangul_RieulPhieuf++_KEY_Hangul_RieulPhieuf :: Int32+_KEY_Hangul_RieulPhieuf = 3759+-- constant _KEY_Hangul_RieulPieub++_KEY_Hangul_RieulPieub :: Int32+_KEY_Hangul_RieulPieub = 3756+-- constant _KEY_Hangul_RieulSios++_KEY_Hangul_RieulSios :: Int32+_KEY_Hangul_RieulSios = 3757+-- constant _KEY_Hangul_RieulTieut++_KEY_Hangul_RieulTieut :: Int32+_KEY_Hangul_RieulTieut = 3758+-- constant _KEY_Hangul_RieulYeorinHieuh++_KEY_Hangul_RieulYeorinHieuh :: Int32+_KEY_Hangul_RieulYeorinHieuh = 3823+-- constant _KEY_Hangul_Romaja++_KEY_Hangul_Romaja :: Int32+_KEY_Hangul_Romaja = 65334+-- constant _KEY_Hangul_SingleCandidate++_KEY_Hangul_SingleCandidate :: Int32+_KEY_Hangul_SingleCandidate = 65340+-- constant _KEY_Hangul_Sios++_KEY_Hangul_Sios :: Int32+_KEY_Hangul_Sios = 3765+-- constant _KEY_Hangul_Special++_KEY_Hangul_Special :: Int32+_KEY_Hangul_Special = 65343+-- constant _KEY_Hangul_SsangDikeud++_KEY_Hangul_SsangDikeud :: Int32+_KEY_Hangul_SsangDikeud = 3752+-- constant _KEY_Hangul_SsangJieuj++_KEY_Hangul_SsangJieuj :: Int32+_KEY_Hangul_SsangJieuj = 3769+-- constant _KEY_Hangul_SsangKiyeog++_KEY_Hangul_SsangKiyeog :: Int32+_KEY_Hangul_SsangKiyeog = 3746+-- constant _KEY_Hangul_SsangPieub++_KEY_Hangul_SsangPieub :: Int32+_KEY_Hangul_SsangPieub = 3763+-- constant _KEY_Hangul_SsangSios++_KEY_Hangul_SsangSios :: Int32+_KEY_Hangul_SsangSios = 3766+-- constant _KEY_Hangul_Start++_KEY_Hangul_Start :: Int32+_KEY_Hangul_Start = 65330+-- constant _KEY_Hangul_SunkyeongeumMieum++_KEY_Hangul_SunkyeongeumMieum :: Int32+_KEY_Hangul_SunkyeongeumMieum = 3824+-- constant _KEY_Hangul_SunkyeongeumPhieuf++_KEY_Hangul_SunkyeongeumPhieuf :: Int32+_KEY_Hangul_SunkyeongeumPhieuf = 3828+-- constant _KEY_Hangul_SunkyeongeumPieub++_KEY_Hangul_SunkyeongeumPieub :: Int32+_KEY_Hangul_SunkyeongeumPieub = 3825+-- constant _KEY_Hangul_Tieut++_KEY_Hangul_Tieut :: Int32+_KEY_Hangul_Tieut = 3772+-- constant _KEY_Hangul_U++_KEY_Hangul_U :: Int32+_KEY_Hangul_U = 3788+-- constant _KEY_Hangul_WA++_KEY_Hangul_WA :: Int32+_KEY_Hangul_WA = 3784+-- constant _KEY_Hangul_WAE++_KEY_Hangul_WAE :: Int32+_KEY_Hangul_WAE = 3785+-- constant _KEY_Hangul_WE++_KEY_Hangul_WE :: Int32+_KEY_Hangul_WE = 3790+-- constant _KEY_Hangul_WEO++_KEY_Hangul_WEO :: Int32+_KEY_Hangul_WEO = 3789+-- constant _KEY_Hangul_WI++_KEY_Hangul_WI :: Int32+_KEY_Hangul_WI = 3791+-- constant _KEY_Hangul_YA++_KEY_Hangul_YA :: Int32+_KEY_Hangul_YA = 3777+-- constant _KEY_Hangul_YAE++_KEY_Hangul_YAE :: Int32+_KEY_Hangul_YAE = 3778+-- constant _KEY_Hangul_YE++_KEY_Hangul_YE :: Int32+_KEY_Hangul_YE = 3782+-- constant _KEY_Hangul_YEO++_KEY_Hangul_YEO :: Int32+_KEY_Hangul_YEO = 3781+-- constant _KEY_Hangul_YI++_KEY_Hangul_YI :: Int32+_KEY_Hangul_YI = 3794+-- constant _KEY_Hangul_YO++_KEY_Hangul_YO :: Int32+_KEY_Hangul_YO = 3787+-- constant _KEY_Hangul_YU++_KEY_Hangul_YU :: Int32+_KEY_Hangul_YU = 3792+-- constant _KEY_Hangul_YeorinHieuh++_KEY_Hangul_YeorinHieuh :: Int32+_KEY_Hangul_YeorinHieuh = 3829+-- constant _KEY_Hangul_switch++_KEY_Hangul_switch :: Int32+_KEY_Hangul_switch = 65406+-- constant _KEY_Hankaku++_KEY_Hankaku :: Int32+_KEY_Hankaku = 65321+-- constant _KEY_Hcircumflex++_KEY_Hcircumflex :: Int32+_KEY_Hcircumflex = 678+-- constant _KEY_Hebrew_switch++_KEY_Hebrew_switch :: Int32+_KEY_Hebrew_switch = 65406+-- constant _KEY_Help++_KEY_Help :: Int32+_KEY_Help = 65386+-- constant _KEY_Henkan++_KEY_Henkan :: Int32+_KEY_Henkan = 65315+-- constant _KEY_Henkan_Mode++_KEY_Henkan_Mode :: Int32+_KEY_Henkan_Mode = 65315+-- constant _KEY_Hibernate++_KEY_Hibernate :: Int32+_KEY_Hibernate = 269025192+-- constant _KEY_Hiragana++_KEY_Hiragana :: Int32+_KEY_Hiragana = 65317+-- constant _KEY_Hiragana_Katakana++_KEY_Hiragana_Katakana :: Int32+_KEY_Hiragana_Katakana = 65319+-- constant _KEY_History++_KEY_History :: Int32+_KEY_History = 269025079+-- constant _KEY_Home++_KEY_Home :: Int32+_KEY_Home = 65360+-- constant _KEY_HomePage++_KEY_HomePage :: Int32+_KEY_HomePage = 269025048+-- constant _KEY_HotLinks++_KEY_HotLinks :: Int32+_KEY_HotLinks = 269025082+-- constant _KEY_Hstroke++_KEY_Hstroke :: Int32+_KEY_Hstroke = 673+-- constant _KEY_Hyper_L++_KEY_Hyper_L :: Int32+_KEY_Hyper_L = 65517+-- constant _KEY_Hyper_R++_KEY_Hyper_R :: Int32+_KEY_Hyper_R = 65518+-- constant _KEY_I++_KEY_I :: Int32+_KEY_I = 73+-- constant _KEY_ISO_Center_Object++_KEY_ISO_Center_Object :: Int32+_KEY_ISO_Center_Object = 65075+-- constant _KEY_ISO_Continuous_Underline++_KEY_ISO_Continuous_Underline :: Int32+_KEY_ISO_Continuous_Underline = 65072+-- constant _KEY_ISO_Discontinuous_Underline++_KEY_ISO_Discontinuous_Underline :: Int32+_KEY_ISO_Discontinuous_Underline = 65073+-- constant _KEY_ISO_Emphasize++_KEY_ISO_Emphasize :: Int32+_KEY_ISO_Emphasize = 65074+-- constant _KEY_ISO_Enter++_KEY_ISO_Enter :: Int32+_KEY_ISO_Enter = 65076+-- constant _KEY_ISO_Fast_Cursor_Down++_KEY_ISO_Fast_Cursor_Down :: Int32+_KEY_ISO_Fast_Cursor_Down = 65071+-- constant _KEY_ISO_Fast_Cursor_Left++_KEY_ISO_Fast_Cursor_Left :: Int32+_KEY_ISO_Fast_Cursor_Left = 65068+-- constant _KEY_ISO_Fast_Cursor_Right++_KEY_ISO_Fast_Cursor_Right :: Int32+_KEY_ISO_Fast_Cursor_Right = 65069+-- constant _KEY_ISO_Fast_Cursor_Up++_KEY_ISO_Fast_Cursor_Up :: Int32+_KEY_ISO_Fast_Cursor_Up = 65070+-- constant _KEY_ISO_First_Group++_KEY_ISO_First_Group :: Int32+_KEY_ISO_First_Group = 65036+-- constant _KEY_ISO_First_Group_Lock++_KEY_ISO_First_Group_Lock :: Int32+_KEY_ISO_First_Group_Lock = 65037+-- constant _KEY_ISO_Group_Latch++_KEY_ISO_Group_Latch :: Int32+_KEY_ISO_Group_Latch = 65030+-- constant _KEY_ISO_Group_Lock++_KEY_ISO_Group_Lock :: Int32+_KEY_ISO_Group_Lock = 65031+-- constant _KEY_ISO_Group_Shift++_KEY_ISO_Group_Shift :: Int32+_KEY_ISO_Group_Shift = 65406+-- constant _KEY_ISO_Last_Group++_KEY_ISO_Last_Group :: Int32+_KEY_ISO_Last_Group = 65038+-- constant _KEY_ISO_Last_Group_Lock++_KEY_ISO_Last_Group_Lock :: Int32+_KEY_ISO_Last_Group_Lock = 65039+-- constant _KEY_ISO_Left_Tab++_KEY_ISO_Left_Tab :: Int32+_KEY_ISO_Left_Tab = 65056+-- constant _KEY_ISO_Level2_Latch++_KEY_ISO_Level2_Latch :: Int32+_KEY_ISO_Level2_Latch = 65026+-- constant _KEY_ISO_Level3_Latch++_KEY_ISO_Level3_Latch :: Int32+_KEY_ISO_Level3_Latch = 65028+-- constant _KEY_ISO_Level3_Lock++_KEY_ISO_Level3_Lock :: Int32+_KEY_ISO_Level3_Lock = 65029+-- constant _KEY_ISO_Level3_Shift++_KEY_ISO_Level3_Shift :: Int32+_KEY_ISO_Level3_Shift = 65027+-- constant _KEY_ISO_Level5_Latch++_KEY_ISO_Level5_Latch :: Int32+_KEY_ISO_Level5_Latch = 65042+-- constant _KEY_ISO_Level5_Lock++_KEY_ISO_Level5_Lock :: Int32+_KEY_ISO_Level5_Lock = 65043+-- constant _KEY_ISO_Level5_Shift++_KEY_ISO_Level5_Shift :: Int32+_KEY_ISO_Level5_Shift = 65041+-- constant _KEY_ISO_Lock++_KEY_ISO_Lock :: Int32+_KEY_ISO_Lock = 65025+-- constant _KEY_ISO_Move_Line_Down++_KEY_ISO_Move_Line_Down :: Int32+_KEY_ISO_Move_Line_Down = 65058+-- constant _KEY_ISO_Move_Line_Up++_KEY_ISO_Move_Line_Up :: Int32+_KEY_ISO_Move_Line_Up = 65057+-- constant _KEY_ISO_Next_Group++_KEY_ISO_Next_Group :: Int32+_KEY_ISO_Next_Group = 65032+-- constant _KEY_ISO_Next_Group_Lock++_KEY_ISO_Next_Group_Lock :: Int32+_KEY_ISO_Next_Group_Lock = 65033+-- constant _KEY_ISO_Partial_Line_Down++_KEY_ISO_Partial_Line_Down :: Int32+_KEY_ISO_Partial_Line_Down = 65060+-- constant _KEY_ISO_Partial_Line_Up++_KEY_ISO_Partial_Line_Up :: Int32+_KEY_ISO_Partial_Line_Up = 65059+-- constant _KEY_ISO_Partial_Space_Left++_KEY_ISO_Partial_Space_Left :: Int32+_KEY_ISO_Partial_Space_Left = 65061+-- constant _KEY_ISO_Partial_Space_Right++_KEY_ISO_Partial_Space_Right :: Int32+_KEY_ISO_Partial_Space_Right = 65062+-- constant _KEY_ISO_Prev_Group++_KEY_ISO_Prev_Group :: Int32+_KEY_ISO_Prev_Group = 65034+-- constant _KEY_ISO_Prev_Group_Lock++_KEY_ISO_Prev_Group_Lock :: Int32+_KEY_ISO_Prev_Group_Lock = 65035+-- constant _KEY_ISO_Release_Both_Margins++_KEY_ISO_Release_Both_Margins :: Int32+_KEY_ISO_Release_Both_Margins = 65067+-- constant _KEY_ISO_Release_Margin_Left++_KEY_ISO_Release_Margin_Left :: Int32+_KEY_ISO_Release_Margin_Left = 65065+-- constant _KEY_ISO_Release_Margin_Right++_KEY_ISO_Release_Margin_Right :: Int32+_KEY_ISO_Release_Margin_Right = 65066+-- constant _KEY_ISO_Set_Margin_Left++_KEY_ISO_Set_Margin_Left :: Int32+_KEY_ISO_Set_Margin_Left = 65063+-- constant _KEY_ISO_Set_Margin_Right++_KEY_ISO_Set_Margin_Right :: Int32+_KEY_ISO_Set_Margin_Right = 65064+-- constant _KEY_Iabovedot++_KEY_Iabovedot :: Int32+_KEY_Iabovedot = 681+-- constant _KEY_Iacute++_KEY_Iacute :: Int32+_KEY_Iacute = 205+-- constant _KEY_Ibelowdot++_KEY_Ibelowdot :: Int32+_KEY_Ibelowdot = 16785098+-- constant _KEY_Ibreve++_KEY_Ibreve :: Int32+_KEY_Ibreve = 16777516+-- constant _KEY_Icircumflex++_KEY_Icircumflex :: Int32+_KEY_Icircumflex = 206+-- constant _KEY_Idiaeresis++_KEY_Idiaeresis :: Int32+_KEY_Idiaeresis = 207+-- constant _KEY_Igrave++_KEY_Igrave :: Int32+_KEY_Igrave = 204+-- constant _KEY_Ihook++_KEY_Ihook :: Int32+_KEY_Ihook = 16785096+-- constant _KEY_Imacron++_KEY_Imacron :: Int32+_KEY_Imacron = 975+-- constant _KEY_Insert++_KEY_Insert :: Int32+_KEY_Insert = 65379+-- constant _KEY_Iogonek++_KEY_Iogonek :: Int32+_KEY_Iogonek = 967+-- constant _KEY_Itilde++_KEY_Itilde :: Int32+_KEY_Itilde = 933+-- constant _KEY_J++_KEY_J :: Int32+_KEY_J = 74+-- constant _KEY_Jcircumflex++_KEY_Jcircumflex :: Int32+_KEY_Jcircumflex = 684+-- constant _KEY_K++_KEY_K :: Int32+_KEY_K = 75+-- constant _KEY_KP_0++_KEY_KP_0 :: Int32+_KEY_KP_0 = 65456+-- constant _KEY_KP_1++_KEY_KP_1 :: Int32+_KEY_KP_1 = 65457+-- constant _KEY_KP_2++_KEY_KP_2 :: Int32+_KEY_KP_2 = 65458+-- constant _KEY_KP_3++_KEY_KP_3 :: Int32+_KEY_KP_3 = 65459+-- constant _KEY_KP_4++_KEY_KP_4 :: Int32+_KEY_KP_4 = 65460+-- constant _KEY_KP_5++_KEY_KP_5 :: Int32+_KEY_KP_5 = 65461+-- constant _KEY_KP_6++_KEY_KP_6 :: Int32+_KEY_KP_6 = 65462+-- constant _KEY_KP_7++_KEY_KP_7 :: Int32+_KEY_KP_7 = 65463+-- constant _KEY_KP_8++_KEY_KP_8 :: Int32+_KEY_KP_8 = 65464+-- constant _KEY_KP_9++_KEY_KP_9 :: Int32+_KEY_KP_9 = 65465+-- constant _KEY_KP_Add++_KEY_KP_Add :: Int32+_KEY_KP_Add = 65451+-- constant _KEY_KP_Begin++_KEY_KP_Begin :: Int32+_KEY_KP_Begin = 65437+-- constant _KEY_KP_Decimal++_KEY_KP_Decimal :: Int32+_KEY_KP_Decimal = 65454+-- constant _KEY_KP_Delete++_KEY_KP_Delete :: Int32+_KEY_KP_Delete = 65439+-- constant _KEY_KP_Divide++_KEY_KP_Divide :: Int32+_KEY_KP_Divide = 65455+-- constant _KEY_KP_Down++_KEY_KP_Down :: Int32+_KEY_KP_Down = 65433+-- constant _KEY_KP_End++_KEY_KP_End :: Int32+_KEY_KP_End = 65436+-- constant _KEY_KP_Enter++_KEY_KP_Enter :: Int32+_KEY_KP_Enter = 65421+-- constant _KEY_KP_Equal++_KEY_KP_Equal :: Int32+_KEY_KP_Equal = 65469+-- constant _KEY_KP_F1++_KEY_KP_F1 :: Int32+_KEY_KP_F1 = 65425+-- constant _KEY_KP_F2++_KEY_KP_F2 :: Int32+_KEY_KP_F2 = 65426+-- constant _KEY_KP_F3++_KEY_KP_F3 :: Int32+_KEY_KP_F3 = 65427+-- constant _KEY_KP_F4++_KEY_KP_F4 :: Int32+_KEY_KP_F4 = 65428+-- constant _KEY_KP_Home++_KEY_KP_Home :: Int32+_KEY_KP_Home = 65429+-- constant _KEY_KP_Insert++_KEY_KP_Insert :: Int32+_KEY_KP_Insert = 65438+-- constant _KEY_KP_Left++_KEY_KP_Left :: Int32+_KEY_KP_Left = 65430+-- constant _KEY_KP_Multiply++_KEY_KP_Multiply :: Int32+_KEY_KP_Multiply = 65450+-- constant _KEY_KP_Next++_KEY_KP_Next :: Int32+_KEY_KP_Next = 65435+-- constant _KEY_KP_Page_Down++_KEY_KP_Page_Down :: Int32+_KEY_KP_Page_Down = 65435+-- constant _KEY_KP_Page_Up++_KEY_KP_Page_Up :: Int32+_KEY_KP_Page_Up = 65434+-- constant _KEY_KP_Prior++_KEY_KP_Prior :: Int32+_KEY_KP_Prior = 65434+-- constant _KEY_KP_Right++_KEY_KP_Right :: Int32+_KEY_KP_Right = 65432+-- constant _KEY_KP_Separator++_KEY_KP_Separator :: Int32+_KEY_KP_Separator = 65452+-- constant _KEY_KP_Space++_KEY_KP_Space :: Int32+_KEY_KP_Space = 65408+-- constant _KEY_KP_Subtract++_KEY_KP_Subtract :: Int32+_KEY_KP_Subtract = 65453+-- constant _KEY_KP_Tab++_KEY_KP_Tab :: Int32+_KEY_KP_Tab = 65417+-- constant _KEY_KP_Up++_KEY_KP_Up :: Int32+_KEY_KP_Up = 65431+-- constant _KEY_Kana_Lock++_KEY_Kana_Lock :: Int32+_KEY_Kana_Lock = 65325+-- constant _KEY_Kana_Shift++_KEY_Kana_Shift :: Int32+_KEY_Kana_Shift = 65326+-- constant _KEY_Kanji++_KEY_Kanji :: Int32+_KEY_Kanji = 65313+-- constant _KEY_Kanji_Bangou++_KEY_Kanji_Bangou :: Int32+_KEY_Kanji_Bangou = 65335+-- constant _KEY_Katakana++_KEY_Katakana :: Int32+_KEY_Katakana = 65318+-- constant _KEY_KbdBrightnessDown++_KEY_KbdBrightnessDown :: Int32+_KEY_KbdBrightnessDown = 269025030+-- constant _KEY_KbdBrightnessUp++_KEY_KbdBrightnessUp :: Int32+_KEY_KbdBrightnessUp = 269025029+-- constant _KEY_KbdLightOnOff++_KEY_KbdLightOnOff :: Int32+_KEY_KbdLightOnOff = 269025028+-- constant _KEY_Kcedilla++_KEY_Kcedilla :: Int32+_KEY_Kcedilla = 979+-- constant _KEY_Korean_Won++_KEY_Korean_Won :: Int32+_KEY_Korean_Won = 3839+-- constant _KEY_L++_KEY_L :: Int32+_KEY_L = 76+-- constant _KEY_L1++_KEY_L1 :: Int32+_KEY_L1 = 65480+-- constant _KEY_L10++_KEY_L10 :: Int32+_KEY_L10 = 65489+-- constant _KEY_L2++_KEY_L2 :: Int32+_KEY_L2 = 65481+-- constant _KEY_L3++_KEY_L3 :: Int32+_KEY_L3 = 65482+-- constant _KEY_L4++_KEY_L4 :: Int32+_KEY_L4 = 65483+-- constant _KEY_L5++_KEY_L5 :: Int32+_KEY_L5 = 65484+-- constant _KEY_L6++_KEY_L6 :: Int32+_KEY_L6 = 65485+-- constant _KEY_L7++_KEY_L7 :: Int32+_KEY_L7 = 65486+-- constant _KEY_L8++_KEY_L8 :: Int32+_KEY_L8 = 65487+-- constant _KEY_L9++_KEY_L9 :: Int32+_KEY_L9 = 65488+-- constant _KEY_Lacute++_KEY_Lacute :: Int32+_KEY_Lacute = 453+-- constant _KEY_Last_Virtual_Screen++_KEY_Last_Virtual_Screen :: Int32+_KEY_Last_Virtual_Screen = 65236+-- constant _KEY_Launch0++_KEY_Launch0 :: Int32+_KEY_Launch0 = 269025088+-- constant _KEY_Launch1++_KEY_Launch1 :: Int32+_KEY_Launch1 = 269025089+-- constant _KEY_Launch2++_KEY_Launch2 :: Int32+_KEY_Launch2 = 269025090+-- constant _KEY_Launch3++_KEY_Launch3 :: Int32+_KEY_Launch3 = 269025091+-- constant _KEY_Launch4++_KEY_Launch4 :: Int32+_KEY_Launch4 = 269025092+-- constant _KEY_Launch5++_KEY_Launch5 :: Int32+_KEY_Launch5 = 269025093+-- constant _KEY_Launch6++_KEY_Launch6 :: Int32+_KEY_Launch6 = 269025094+-- constant _KEY_Launch7++_KEY_Launch7 :: Int32+_KEY_Launch7 = 269025095+-- constant _KEY_Launch8++_KEY_Launch8 :: Int32+_KEY_Launch8 = 269025096+-- constant _KEY_Launch9++_KEY_Launch9 :: Int32+_KEY_Launch9 = 269025097+-- constant _KEY_LaunchA++_KEY_LaunchA :: Int32+_KEY_LaunchA = 269025098+-- constant _KEY_LaunchB++_KEY_LaunchB :: Int32+_KEY_LaunchB = 269025099+-- constant _KEY_LaunchC++_KEY_LaunchC :: Int32+_KEY_LaunchC = 269025100+-- constant _KEY_LaunchD++_KEY_LaunchD :: Int32+_KEY_LaunchD = 269025101+-- constant _KEY_LaunchE++_KEY_LaunchE :: Int32+_KEY_LaunchE = 269025102+-- constant _KEY_LaunchF++_KEY_LaunchF :: Int32+_KEY_LaunchF = 269025103+-- constant _KEY_Lbelowdot++_KEY_Lbelowdot :: Int32+_KEY_Lbelowdot = 16784950+-- constant _KEY_Lcaron++_KEY_Lcaron :: Int32+_KEY_Lcaron = 421+-- constant _KEY_Lcedilla++_KEY_Lcedilla :: Int32+_KEY_Lcedilla = 934+-- constant _KEY_Left++_KEY_Left :: Int32+_KEY_Left = 65361+-- constant _KEY_LightBulb++_KEY_LightBulb :: Int32+_KEY_LightBulb = 269025077+-- constant _KEY_Linefeed++_KEY_Linefeed :: Int32+_KEY_Linefeed = 65290+-- constant _KEY_LiraSign++_KEY_LiraSign :: Int32+_KEY_LiraSign = 16785572+-- constant _KEY_LogGrabInfo++_KEY_LogGrabInfo :: Int32+_KEY_LogGrabInfo = 269024805+-- constant _KEY_LogOff++_KEY_LogOff :: Int32+_KEY_LogOff = 269025121+-- constant _KEY_LogWindowTree++_KEY_LogWindowTree :: Int32+_KEY_LogWindowTree = 269024804+-- constant _KEY_Lstroke++_KEY_Lstroke :: Int32+_KEY_Lstroke = 419+-- constant _KEY_M++_KEY_M :: Int32+_KEY_M = 77+-- constant _KEY_Mabovedot++_KEY_Mabovedot :: Int32+_KEY_Mabovedot = 16784960+-- constant _KEY_Macedonia_DSE++_KEY_Macedonia_DSE :: Int32+_KEY_Macedonia_DSE = 1717+-- constant _KEY_Macedonia_GJE++_KEY_Macedonia_GJE :: Int32+_KEY_Macedonia_GJE = 1714+-- constant _KEY_Macedonia_KJE++_KEY_Macedonia_KJE :: Int32+_KEY_Macedonia_KJE = 1724+-- constant _KEY_Macedonia_dse++_KEY_Macedonia_dse :: Int32+_KEY_Macedonia_dse = 1701+-- constant _KEY_Macedonia_gje++_KEY_Macedonia_gje :: Int32+_KEY_Macedonia_gje = 1698+-- constant _KEY_Macedonia_kje++_KEY_Macedonia_kje :: Int32+_KEY_Macedonia_kje = 1708+-- constant _KEY_Mae_Koho++_KEY_Mae_Koho :: Int32+_KEY_Mae_Koho = 65342+-- constant _KEY_Mail++_KEY_Mail :: Int32+_KEY_Mail = 269025049+-- constant _KEY_MailForward++_KEY_MailForward :: Int32+_KEY_MailForward = 269025168+-- constant _KEY_Market++_KEY_Market :: Int32+_KEY_Market = 269025122+-- constant _KEY_Massyo++_KEY_Massyo :: Int32+_KEY_Massyo = 65324+-- constant _KEY_Meeting++_KEY_Meeting :: Int32+_KEY_Meeting = 269025123+-- constant _KEY_Memo++_KEY_Memo :: Int32+_KEY_Memo = 269025054+-- constant _KEY_Menu++_KEY_Menu :: Int32+_KEY_Menu = 65383+-- constant _KEY_MenuKB++_KEY_MenuKB :: Int32+_KEY_MenuKB = 269025125+-- constant _KEY_MenuPB++_KEY_MenuPB :: Int32+_KEY_MenuPB = 269025126+-- constant _KEY_Messenger++_KEY_Messenger :: Int32+_KEY_Messenger = 269025166+-- constant _KEY_Meta_L++_KEY_Meta_L :: Int32+_KEY_Meta_L = 65511+-- constant _KEY_Meta_R++_KEY_Meta_R :: Int32+_KEY_Meta_R = 65512+-- constant _KEY_MillSign++_KEY_MillSign :: Int32+_KEY_MillSign = 16785573+-- constant _KEY_ModeLock++_KEY_ModeLock :: Int32+_KEY_ModeLock = 269025025+-- constant _KEY_Mode_switch++_KEY_Mode_switch :: Int32+_KEY_Mode_switch = 65406+-- constant _KEY_MonBrightnessDown++_KEY_MonBrightnessDown :: Int32+_KEY_MonBrightnessDown = 269025027+-- constant _KEY_MonBrightnessUp++_KEY_MonBrightnessUp :: Int32+_KEY_MonBrightnessUp = 269025026+-- constant _KEY_MouseKeys_Accel_Enable++_KEY_MouseKeys_Accel_Enable :: Int32+_KEY_MouseKeys_Accel_Enable = 65143+-- constant _KEY_MouseKeys_Enable++_KEY_MouseKeys_Enable :: Int32+_KEY_MouseKeys_Enable = 65142+-- constant _KEY_Muhenkan++_KEY_Muhenkan :: Int32+_KEY_Muhenkan = 65314+-- constant _KEY_Multi_key++_KEY_Multi_key :: Int32+_KEY_Multi_key = 65312+-- constant _KEY_MultipleCandidate++_KEY_MultipleCandidate :: Int32+_KEY_MultipleCandidate = 65341+-- constant _KEY_Music++_KEY_Music :: Int32+_KEY_Music = 269025170+-- constant _KEY_MyComputer++_KEY_MyComputer :: Int32+_KEY_MyComputer = 269025075+-- constant _KEY_MySites++_KEY_MySites :: Int32+_KEY_MySites = 269025127+-- constant _KEY_N++_KEY_N :: Int32+_KEY_N = 78+-- constant _KEY_Nacute++_KEY_Nacute :: Int32+_KEY_Nacute = 465+-- constant _KEY_NairaSign++_KEY_NairaSign :: Int32+_KEY_NairaSign = 16785574+-- constant _KEY_Ncaron++_KEY_Ncaron :: Int32+_KEY_Ncaron = 466+-- constant _KEY_Ncedilla++_KEY_Ncedilla :: Int32+_KEY_Ncedilla = 977+-- constant _KEY_New++_KEY_New :: Int32+_KEY_New = 269025128+-- constant _KEY_NewSheqelSign++_KEY_NewSheqelSign :: Int32+_KEY_NewSheqelSign = 16785578+-- constant _KEY_News++_KEY_News :: Int32+_KEY_News = 269025129+-- constant _KEY_Next++_KEY_Next :: Int32+_KEY_Next = 65366+-- constant _KEY_Next_VMode++_KEY_Next_VMode :: Int32+_KEY_Next_VMode = 269024802+-- constant _KEY_Next_Virtual_Screen++_KEY_Next_Virtual_Screen :: Int32+_KEY_Next_Virtual_Screen = 65234+-- constant _KEY_Ntilde++_KEY_Ntilde :: Int32+_KEY_Ntilde = 209+-- constant _KEY_Num_Lock++_KEY_Num_Lock :: Int32+_KEY_Num_Lock = 65407+-- constant _KEY_O++_KEY_O :: Int32+_KEY_O = 79+-- constant _KEY_OE++_KEY_OE :: Int32+_KEY_OE = 5052+-- constant _KEY_Oacute++_KEY_Oacute :: Int32+_KEY_Oacute = 211+-- constant _KEY_Obarred++_KEY_Obarred :: Int32+_KEY_Obarred = 16777631+-- constant _KEY_Obelowdot++_KEY_Obelowdot :: Int32+_KEY_Obelowdot = 16785100+-- constant _KEY_Ocaron++_KEY_Ocaron :: Int32+_KEY_Ocaron = 16777681+-- constant _KEY_Ocircumflex++_KEY_Ocircumflex :: Int32+_KEY_Ocircumflex = 212+-- constant _KEY_Ocircumflexacute++_KEY_Ocircumflexacute :: Int32+_KEY_Ocircumflexacute = 16785104+-- constant _KEY_Ocircumflexbelowdot++_KEY_Ocircumflexbelowdot :: Int32+_KEY_Ocircumflexbelowdot = 16785112+-- constant _KEY_Ocircumflexgrave++_KEY_Ocircumflexgrave :: Int32+_KEY_Ocircumflexgrave = 16785106+-- constant _KEY_Ocircumflexhook++_KEY_Ocircumflexhook :: Int32+_KEY_Ocircumflexhook = 16785108+-- constant _KEY_Ocircumflextilde++_KEY_Ocircumflextilde :: Int32+_KEY_Ocircumflextilde = 16785110+-- constant _KEY_Odiaeresis++_KEY_Odiaeresis :: Int32+_KEY_Odiaeresis = 214+-- constant _KEY_Odoubleacute++_KEY_Odoubleacute :: Int32+_KEY_Odoubleacute = 469+-- constant _KEY_OfficeHome++_KEY_OfficeHome :: Int32+_KEY_OfficeHome = 269025130+-- constant _KEY_Ograve++_KEY_Ograve :: Int32+_KEY_Ograve = 210+-- constant _KEY_Ohook++_KEY_Ohook :: Int32+_KEY_Ohook = 16785102+-- constant _KEY_Ohorn++_KEY_Ohorn :: Int32+_KEY_Ohorn = 16777632+-- constant _KEY_Ohornacute++_KEY_Ohornacute :: Int32+_KEY_Ohornacute = 16785114+-- constant _KEY_Ohornbelowdot++_KEY_Ohornbelowdot :: Int32+_KEY_Ohornbelowdot = 16785122+-- constant _KEY_Ohorngrave++_KEY_Ohorngrave :: Int32+_KEY_Ohorngrave = 16785116+-- constant _KEY_Ohornhook++_KEY_Ohornhook :: Int32+_KEY_Ohornhook = 16785118+-- constant _KEY_Ohorntilde++_KEY_Ohorntilde :: Int32+_KEY_Ohorntilde = 16785120+-- constant _KEY_Omacron++_KEY_Omacron :: Int32+_KEY_Omacron = 978+-- constant _KEY_Ooblique++_KEY_Ooblique :: Int32+_KEY_Ooblique = 216+-- constant _KEY_Open++_KEY_Open :: Int32+_KEY_Open = 269025131+-- constant _KEY_OpenURL++_KEY_OpenURL :: Int32+_KEY_OpenURL = 269025080+-- constant _KEY_Option++_KEY_Option :: Int32+_KEY_Option = 269025132+-- constant _KEY_Oslash++_KEY_Oslash :: Int32+_KEY_Oslash = 216+-- constant _KEY_Otilde++_KEY_Otilde :: Int32+_KEY_Otilde = 213+-- constant _KEY_Overlay1_Enable++_KEY_Overlay1_Enable :: Int32+_KEY_Overlay1_Enable = 65144+-- constant _KEY_Overlay2_Enable++_KEY_Overlay2_Enable :: Int32+_KEY_Overlay2_Enable = 65145+-- constant _KEY_P++_KEY_P :: Int32+_KEY_P = 80+-- constant _KEY_Pabovedot++_KEY_Pabovedot :: Int32+_KEY_Pabovedot = 16784982+-- constant _KEY_Page_Down++_KEY_Page_Down :: Int32+_KEY_Page_Down = 65366+-- constant _KEY_Page_Up++_KEY_Page_Up :: Int32+_KEY_Page_Up = 65365+-- constant _KEY_Paste++_KEY_Paste :: Int32+_KEY_Paste = 269025133+-- constant _KEY_Pause++_KEY_Pause :: Int32+_KEY_Pause = 65299+-- constant _KEY_PesetaSign++_KEY_PesetaSign :: Int32+_KEY_PesetaSign = 16785575+-- constant _KEY_Phone++_KEY_Phone :: Int32+_KEY_Phone = 269025134+-- constant _KEY_Pictures++_KEY_Pictures :: Int32+_KEY_Pictures = 269025169+-- constant _KEY_Pointer_Accelerate++_KEY_Pointer_Accelerate :: Int32+_KEY_Pointer_Accelerate = 65274+-- constant _KEY_Pointer_Button1++_KEY_Pointer_Button1 :: Int32+_KEY_Pointer_Button1 = 65257+-- constant _KEY_Pointer_Button2++_KEY_Pointer_Button2 :: Int32+_KEY_Pointer_Button2 = 65258+-- constant _KEY_Pointer_Button3++_KEY_Pointer_Button3 :: Int32+_KEY_Pointer_Button3 = 65259+-- constant _KEY_Pointer_Button4++_KEY_Pointer_Button4 :: Int32+_KEY_Pointer_Button4 = 65260+-- constant _KEY_Pointer_Button5++_KEY_Pointer_Button5 :: Int32+_KEY_Pointer_Button5 = 65261+-- constant _KEY_Pointer_Button_Dflt++_KEY_Pointer_Button_Dflt :: Int32+_KEY_Pointer_Button_Dflt = 65256+-- constant _KEY_Pointer_DblClick1++_KEY_Pointer_DblClick1 :: Int32+_KEY_Pointer_DblClick1 = 65263+-- constant _KEY_Pointer_DblClick2++_KEY_Pointer_DblClick2 :: Int32+_KEY_Pointer_DblClick2 = 65264+-- constant _KEY_Pointer_DblClick3++_KEY_Pointer_DblClick3 :: Int32+_KEY_Pointer_DblClick3 = 65265+-- constant _KEY_Pointer_DblClick4++_KEY_Pointer_DblClick4 :: Int32+_KEY_Pointer_DblClick4 = 65266+-- constant _KEY_Pointer_DblClick5++_KEY_Pointer_DblClick5 :: Int32+_KEY_Pointer_DblClick5 = 65267+-- constant _KEY_Pointer_DblClick_Dflt++_KEY_Pointer_DblClick_Dflt :: Int32+_KEY_Pointer_DblClick_Dflt = 65262+-- constant _KEY_Pointer_DfltBtnNext++_KEY_Pointer_DfltBtnNext :: Int32+_KEY_Pointer_DfltBtnNext = 65275+-- constant _KEY_Pointer_DfltBtnPrev++_KEY_Pointer_DfltBtnPrev :: Int32+_KEY_Pointer_DfltBtnPrev = 65276+-- constant _KEY_Pointer_Down++_KEY_Pointer_Down :: Int32+_KEY_Pointer_Down = 65251+-- constant _KEY_Pointer_DownLeft++_KEY_Pointer_DownLeft :: Int32+_KEY_Pointer_DownLeft = 65254+-- constant _KEY_Pointer_DownRight++_KEY_Pointer_DownRight :: Int32+_KEY_Pointer_DownRight = 65255+-- constant _KEY_Pointer_Drag1++_KEY_Pointer_Drag1 :: Int32+_KEY_Pointer_Drag1 = 65269+-- constant _KEY_Pointer_Drag2++_KEY_Pointer_Drag2 :: Int32+_KEY_Pointer_Drag2 = 65270+-- constant _KEY_Pointer_Drag3++_KEY_Pointer_Drag3 :: Int32+_KEY_Pointer_Drag3 = 65271+-- constant _KEY_Pointer_Drag4++_KEY_Pointer_Drag4 :: Int32+_KEY_Pointer_Drag4 = 65272+-- constant _KEY_Pointer_Drag5++_KEY_Pointer_Drag5 :: Int32+_KEY_Pointer_Drag5 = 65277+-- constant _KEY_Pointer_Drag_Dflt++_KEY_Pointer_Drag_Dflt :: Int32+_KEY_Pointer_Drag_Dflt = 65268+-- constant _KEY_Pointer_EnableKeys++_KEY_Pointer_EnableKeys :: Int32+_KEY_Pointer_EnableKeys = 65273+-- constant _KEY_Pointer_Left++_KEY_Pointer_Left :: Int32+_KEY_Pointer_Left = 65248+-- constant _KEY_Pointer_Right++_KEY_Pointer_Right :: Int32+_KEY_Pointer_Right = 65249+-- constant _KEY_Pointer_Up++_KEY_Pointer_Up :: Int32+_KEY_Pointer_Up = 65250+-- constant _KEY_Pointer_UpLeft++_KEY_Pointer_UpLeft :: Int32+_KEY_Pointer_UpLeft = 65252+-- constant _KEY_Pointer_UpRight++_KEY_Pointer_UpRight :: Int32+_KEY_Pointer_UpRight = 65253+-- constant _KEY_PowerDown++_KEY_PowerDown :: Int32+_KEY_PowerDown = 269025057+-- constant _KEY_PowerOff++_KEY_PowerOff :: Int32+_KEY_PowerOff = 269025066+-- constant _KEY_Prev_VMode++_KEY_Prev_VMode :: Int32+_KEY_Prev_VMode = 269024803+-- constant _KEY_Prev_Virtual_Screen++_KEY_Prev_Virtual_Screen :: Int32+_KEY_Prev_Virtual_Screen = 65233+-- constant _KEY_PreviousCandidate++_KEY_PreviousCandidate :: Int32+_KEY_PreviousCandidate = 65342+-- constant _KEY_Print++_KEY_Print :: Int32+_KEY_Print = 65377+-- constant _KEY_Prior++_KEY_Prior :: Int32+_KEY_Prior = 65365+-- constant _KEY_Q++_KEY_Q :: Int32+_KEY_Q = 81+-- constant _KEY_R++_KEY_R :: Int32+_KEY_R = 82+-- constant _KEY_R1++_KEY_R1 :: Int32+_KEY_R1 = 65490+-- constant _KEY_R10++_KEY_R10 :: Int32+_KEY_R10 = 65499+-- constant _KEY_R11++_KEY_R11 :: Int32+_KEY_R11 = 65500+-- constant _KEY_R12++_KEY_R12 :: Int32+_KEY_R12 = 65501+-- constant _KEY_R13++_KEY_R13 :: Int32+_KEY_R13 = 65502+-- constant _KEY_R14++_KEY_R14 :: Int32+_KEY_R14 = 65503+-- constant _KEY_R15++_KEY_R15 :: Int32+_KEY_R15 = 65504+-- constant _KEY_R2++_KEY_R2 :: Int32+_KEY_R2 = 65491+-- constant _KEY_R3++_KEY_R3 :: Int32+_KEY_R3 = 65492+-- constant _KEY_R4++_KEY_R4 :: Int32+_KEY_R4 = 65493+-- constant _KEY_R5++_KEY_R5 :: Int32+_KEY_R5 = 65494+-- constant _KEY_R6++_KEY_R6 :: Int32+_KEY_R6 = 65495+-- constant _KEY_R7++_KEY_R7 :: Int32+_KEY_R7 = 65496+-- constant _KEY_R8++_KEY_R8 :: Int32+_KEY_R8 = 65497+-- constant _KEY_R9++_KEY_R9 :: Int32+_KEY_R9 = 65498+-- constant _KEY_Racute++_KEY_Racute :: Int32+_KEY_Racute = 448+-- constant _KEY_Rcaron++_KEY_Rcaron :: Int32+_KEY_Rcaron = 472+-- constant _KEY_Rcedilla++_KEY_Rcedilla :: Int32+_KEY_Rcedilla = 931+-- constant _KEY_Red++_KEY_Red :: Int32+_KEY_Red = 269025187+-- constant _KEY_Redo++_KEY_Redo :: Int32+_KEY_Redo = 65382+-- constant _KEY_Refresh++_KEY_Refresh :: Int32+_KEY_Refresh = 269025065+-- constant _KEY_Reload++_KEY_Reload :: Int32+_KEY_Reload = 269025139+-- constant _KEY_RepeatKeys_Enable++_KEY_RepeatKeys_Enable :: Int32+_KEY_RepeatKeys_Enable = 65138+-- constant _KEY_Reply++_KEY_Reply :: Int32+_KEY_Reply = 269025138+-- constant _KEY_Return++_KEY_Return :: Int32+_KEY_Return = 65293+-- constant _KEY_Right++_KEY_Right :: Int32+_KEY_Right = 65363+-- constant _KEY_RockerDown++_KEY_RockerDown :: Int32+_KEY_RockerDown = 269025060+-- constant _KEY_RockerEnter++_KEY_RockerEnter :: Int32+_KEY_RockerEnter = 269025061+-- constant _KEY_RockerUp++_KEY_RockerUp :: Int32+_KEY_RockerUp = 269025059+-- constant _KEY_Romaji++_KEY_Romaji :: Int32+_KEY_Romaji = 65316+-- constant _KEY_RotateWindows++_KEY_RotateWindows :: Int32+_KEY_RotateWindows = 269025140+-- constant _KEY_RotationKB++_KEY_RotationKB :: Int32+_KEY_RotationKB = 269025142+-- constant _KEY_RotationPB++_KEY_RotationPB :: Int32+_KEY_RotationPB = 269025141+-- constant _KEY_RupeeSign++_KEY_RupeeSign :: Int32+_KEY_RupeeSign = 16785576+-- constant _KEY_S++_KEY_S :: Int32+_KEY_S = 83+-- constant _KEY_SCHWA++_KEY_SCHWA :: Int32+_KEY_SCHWA = 16777615+-- constant _KEY_Sabovedot++_KEY_Sabovedot :: Int32+_KEY_Sabovedot = 16784992+-- constant _KEY_Sacute++_KEY_Sacute :: Int32+_KEY_Sacute = 422+-- constant _KEY_Save++_KEY_Save :: Int32+_KEY_Save = 269025143+-- constant _KEY_Scaron++_KEY_Scaron :: Int32+_KEY_Scaron = 425+-- constant _KEY_Scedilla++_KEY_Scedilla :: Int32+_KEY_Scedilla = 426+-- constant _KEY_Scircumflex++_KEY_Scircumflex :: Int32+_KEY_Scircumflex = 734+-- constant _KEY_ScreenSaver++_KEY_ScreenSaver :: Int32+_KEY_ScreenSaver = 269025069+-- constant _KEY_ScrollClick++_KEY_ScrollClick :: Int32+_KEY_ScrollClick = 269025146+-- constant _KEY_ScrollDown++_KEY_ScrollDown :: Int32+_KEY_ScrollDown = 269025145+-- constant _KEY_ScrollUp++_KEY_ScrollUp :: Int32+_KEY_ScrollUp = 269025144+-- constant _KEY_Scroll_Lock++_KEY_Scroll_Lock :: Int32+_KEY_Scroll_Lock = 65300+-- constant _KEY_Search++_KEY_Search :: Int32+_KEY_Search = 269025051+-- constant _KEY_Select++_KEY_Select :: Int32+_KEY_Select = 65376+-- constant _KEY_SelectButton++_KEY_SelectButton :: Int32+_KEY_SelectButton = 269025184+-- constant _KEY_Send++_KEY_Send :: Int32+_KEY_Send = 269025147+-- constant _KEY_Serbian_DJE++_KEY_Serbian_DJE :: Int32+_KEY_Serbian_DJE = 1713+-- constant _KEY_Serbian_DZE++_KEY_Serbian_DZE :: Int32+_KEY_Serbian_DZE = 1727+-- constant _KEY_Serbian_JE++_KEY_Serbian_JE :: Int32+_KEY_Serbian_JE = 1720+-- constant _KEY_Serbian_LJE++_KEY_Serbian_LJE :: Int32+_KEY_Serbian_LJE = 1721+-- constant _KEY_Serbian_NJE++_KEY_Serbian_NJE :: Int32+_KEY_Serbian_NJE = 1722+-- constant _KEY_Serbian_TSHE++_KEY_Serbian_TSHE :: Int32+_KEY_Serbian_TSHE = 1723+-- constant _KEY_Serbian_dje++_KEY_Serbian_dje :: Int32+_KEY_Serbian_dje = 1697+-- constant _KEY_Serbian_dze++_KEY_Serbian_dze :: Int32+_KEY_Serbian_dze = 1711+-- constant _KEY_Serbian_je++_KEY_Serbian_je :: Int32+_KEY_Serbian_je = 1704+-- constant _KEY_Serbian_lje++_KEY_Serbian_lje :: Int32+_KEY_Serbian_lje = 1705+-- constant _KEY_Serbian_nje++_KEY_Serbian_nje :: Int32+_KEY_Serbian_nje = 1706+-- constant _KEY_Serbian_tshe++_KEY_Serbian_tshe :: Int32+_KEY_Serbian_tshe = 1707+-- constant _KEY_Shift_L++_KEY_Shift_L :: Int32+_KEY_Shift_L = 65505+-- constant _KEY_Shift_Lock++_KEY_Shift_Lock :: Int32+_KEY_Shift_Lock = 65510+-- constant _KEY_Shift_R++_KEY_Shift_R :: Int32+_KEY_Shift_R = 65506+-- constant _KEY_Shop++_KEY_Shop :: Int32+_KEY_Shop = 269025078+-- constant _KEY_SingleCandidate++_KEY_SingleCandidate :: Int32+_KEY_SingleCandidate = 65340+-- constant _KEY_Sinh_a++_KEY_Sinh_a :: Int32+_KEY_Sinh_a = 16780677+-- constant _KEY_Sinh_aa++_KEY_Sinh_aa :: Int32+_KEY_Sinh_aa = 16780678+-- constant _KEY_Sinh_aa2++_KEY_Sinh_aa2 :: Int32+_KEY_Sinh_aa2 = 16780751+-- constant _KEY_Sinh_ae++_KEY_Sinh_ae :: Int32+_KEY_Sinh_ae = 16780679+-- constant _KEY_Sinh_ae2++_KEY_Sinh_ae2 :: Int32+_KEY_Sinh_ae2 = 16780752+-- constant _KEY_Sinh_aee++_KEY_Sinh_aee :: Int32+_KEY_Sinh_aee = 16780680+-- constant _KEY_Sinh_aee2++_KEY_Sinh_aee2 :: Int32+_KEY_Sinh_aee2 = 16780753+-- constant _KEY_Sinh_ai++_KEY_Sinh_ai :: Int32+_KEY_Sinh_ai = 16780691+-- constant _KEY_Sinh_ai2++_KEY_Sinh_ai2 :: Int32+_KEY_Sinh_ai2 = 16780763+-- constant _KEY_Sinh_al++_KEY_Sinh_al :: Int32+_KEY_Sinh_al = 16780746+-- constant _KEY_Sinh_au++_KEY_Sinh_au :: Int32+_KEY_Sinh_au = 16780694+-- constant _KEY_Sinh_au2++_KEY_Sinh_au2 :: Int32+_KEY_Sinh_au2 = 16780766+-- constant _KEY_Sinh_ba++_KEY_Sinh_ba :: Int32+_KEY_Sinh_ba = 16780726+-- constant _KEY_Sinh_bha++_KEY_Sinh_bha :: Int32+_KEY_Sinh_bha = 16780727+-- constant _KEY_Sinh_ca++_KEY_Sinh_ca :: Int32+_KEY_Sinh_ca = 16780704+-- constant _KEY_Sinh_cha++_KEY_Sinh_cha :: Int32+_KEY_Sinh_cha = 16780705+-- constant _KEY_Sinh_dda++_KEY_Sinh_dda :: Int32+_KEY_Sinh_dda = 16780713+-- constant _KEY_Sinh_ddha++_KEY_Sinh_ddha :: Int32+_KEY_Sinh_ddha = 16780714+-- constant _KEY_Sinh_dha++_KEY_Sinh_dha :: Int32+_KEY_Sinh_dha = 16780719+-- constant _KEY_Sinh_dhha++_KEY_Sinh_dhha :: Int32+_KEY_Sinh_dhha = 16780720+-- constant _KEY_Sinh_e++_KEY_Sinh_e :: Int32+_KEY_Sinh_e = 16780689+-- constant _KEY_Sinh_e2++_KEY_Sinh_e2 :: Int32+_KEY_Sinh_e2 = 16780761+-- constant _KEY_Sinh_ee++_KEY_Sinh_ee :: Int32+_KEY_Sinh_ee = 16780690+-- constant _KEY_Sinh_ee2++_KEY_Sinh_ee2 :: Int32+_KEY_Sinh_ee2 = 16780762+-- constant _KEY_Sinh_fa++_KEY_Sinh_fa :: Int32+_KEY_Sinh_fa = 16780742+-- constant _KEY_Sinh_ga++_KEY_Sinh_ga :: Int32+_KEY_Sinh_ga = 16780700+-- constant _KEY_Sinh_gha++_KEY_Sinh_gha :: Int32+_KEY_Sinh_gha = 16780701+-- constant _KEY_Sinh_h2++_KEY_Sinh_h2 :: Int32+_KEY_Sinh_h2 = 16780675+-- constant _KEY_Sinh_ha++_KEY_Sinh_ha :: Int32+_KEY_Sinh_ha = 16780740+-- constant _KEY_Sinh_i++_KEY_Sinh_i :: Int32+_KEY_Sinh_i = 16780681+-- constant _KEY_Sinh_i2++_KEY_Sinh_i2 :: Int32+_KEY_Sinh_i2 = 16780754+-- constant _KEY_Sinh_ii++_KEY_Sinh_ii :: Int32+_KEY_Sinh_ii = 16780682+-- constant _KEY_Sinh_ii2++_KEY_Sinh_ii2 :: Int32+_KEY_Sinh_ii2 = 16780755+-- constant _KEY_Sinh_ja++_KEY_Sinh_ja :: Int32+_KEY_Sinh_ja = 16780706+-- constant _KEY_Sinh_jha++_KEY_Sinh_jha :: Int32+_KEY_Sinh_jha = 16780707+-- constant _KEY_Sinh_jnya++_KEY_Sinh_jnya :: Int32+_KEY_Sinh_jnya = 16780709+-- constant _KEY_Sinh_ka++_KEY_Sinh_ka :: Int32+_KEY_Sinh_ka = 16780698+-- constant _KEY_Sinh_kha++_KEY_Sinh_kha :: Int32+_KEY_Sinh_kha = 16780699+-- constant _KEY_Sinh_kunddaliya++_KEY_Sinh_kunddaliya :: Int32+_KEY_Sinh_kunddaliya = 16780788+-- constant _KEY_Sinh_la++_KEY_Sinh_la :: Int32+_KEY_Sinh_la = 16780733+-- constant _KEY_Sinh_lla++_KEY_Sinh_lla :: Int32+_KEY_Sinh_lla = 16780741+-- constant _KEY_Sinh_lu++_KEY_Sinh_lu :: Int32+_KEY_Sinh_lu = 16780687+-- constant _KEY_Sinh_lu2++_KEY_Sinh_lu2 :: Int32+_KEY_Sinh_lu2 = 16780767+-- constant _KEY_Sinh_luu++_KEY_Sinh_luu :: Int32+_KEY_Sinh_luu = 16780688+-- constant _KEY_Sinh_luu2++_KEY_Sinh_luu2 :: Int32+_KEY_Sinh_luu2 = 16780787+-- constant _KEY_Sinh_ma++_KEY_Sinh_ma :: Int32+_KEY_Sinh_ma = 16780728+-- constant _KEY_Sinh_mba++_KEY_Sinh_mba :: Int32+_KEY_Sinh_mba = 16780729+-- constant _KEY_Sinh_na++_KEY_Sinh_na :: Int32+_KEY_Sinh_na = 16780721+-- constant _KEY_Sinh_ndda++_KEY_Sinh_ndda :: Int32+_KEY_Sinh_ndda = 16780716+-- constant _KEY_Sinh_ndha++_KEY_Sinh_ndha :: Int32+_KEY_Sinh_ndha = 16780723+-- constant _KEY_Sinh_ng++_KEY_Sinh_ng :: Int32+_KEY_Sinh_ng = 16780674+-- constant _KEY_Sinh_ng2++_KEY_Sinh_ng2 :: Int32+_KEY_Sinh_ng2 = 16780702+-- constant _KEY_Sinh_nga++_KEY_Sinh_nga :: Int32+_KEY_Sinh_nga = 16780703+-- constant _KEY_Sinh_nja++_KEY_Sinh_nja :: Int32+_KEY_Sinh_nja = 16780710+-- constant _KEY_Sinh_nna++_KEY_Sinh_nna :: Int32+_KEY_Sinh_nna = 16780715+-- constant _KEY_Sinh_nya++_KEY_Sinh_nya :: Int32+_KEY_Sinh_nya = 16780708+-- constant _KEY_Sinh_o++_KEY_Sinh_o :: Int32+_KEY_Sinh_o = 16780692+-- constant _KEY_Sinh_o2++_KEY_Sinh_o2 :: Int32+_KEY_Sinh_o2 = 16780764+-- constant _KEY_Sinh_oo++_KEY_Sinh_oo :: Int32+_KEY_Sinh_oo = 16780693+-- constant _KEY_Sinh_oo2++_KEY_Sinh_oo2 :: Int32+_KEY_Sinh_oo2 = 16780765+-- constant _KEY_Sinh_pa++_KEY_Sinh_pa :: Int32+_KEY_Sinh_pa = 16780724+-- constant _KEY_Sinh_pha++_KEY_Sinh_pha :: Int32+_KEY_Sinh_pha = 16780725+-- constant _KEY_Sinh_ra++_KEY_Sinh_ra :: Int32+_KEY_Sinh_ra = 16780731+-- constant _KEY_Sinh_ri++_KEY_Sinh_ri :: Int32+_KEY_Sinh_ri = 16780685+-- constant _KEY_Sinh_rii++_KEY_Sinh_rii :: Int32+_KEY_Sinh_rii = 16780686+-- constant _KEY_Sinh_ru2++_KEY_Sinh_ru2 :: Int32+_KEY_Sinh_ru2 = 16780760+-- constant _KEY_Sinh_ruu2++_KEY_Sinh_ruu2 :: Int32+_KEY_Sinh_ruu2 = 16780786+-- constant _KEY_Sinh_sa++_KEY_Sinh_sa :: Int32+_KEY_Sinh_sa = 16780739+-- constant _KEY_Sinh_sha++_KEY_Sinh_sha :: Int32+_KEY_Sinh_sha = 16780737+-- constant _KEY_Sinh_ssha++_KEY_Sinh_ssha :: Int32+_KEY_Sinh_ssha = 16780738+-- constant _KEY_Sinh_tha++_KEY_Sinh_tha :: Int32+_KEY_Sinh_tha = 16780717+-- constant _KEY_Sinh_thha++_KEY_Sinh_thha :: Int32+_KEY_Sinh_thha = 16780718+-- constant _KEY_Sinh_tta++_KEY_Sinh_tta :: Int32+_KEY_Sinh_tta = 16780711+-- constant _KEY_Sinh_ttha++_KEY_Sinh_ttha :: Int32+_KEY_Sinh_ttha = 16780712+-- constant _KEY_Sinh_u++_KEY_Sinh_u :: Int32+_KEY_Sinh_u = 16780683+-- constant _KEY_Sinh_u2++_KEY_Sinh_u2 :: Int32+_KEY_Sinh_u2 = 16780756+-- constant _KEY_Sinh_uu++_KEY_Sinh_uu :: Int32+_KEY_Sinh_uu = 16780684+-- constant _KEY_Sinh_uu2++_KEY_Sinh_uu2 :: Int32+_KEY_Sinh_uu2 = 16780758+-- constant _KEY_Sinh_va++_KEY_Sinh_va :: Int32+_KEY_Sinh_va = 16780736+-- constant _KEY_Sinh_ya++_KEY_Sinh_ya :: Int32+_KEY_Sinh_ya = 16780730+-- constant _KEY_Sleep++_KEY_Sleep :: Int32+_KEY_Sleep = 269025071+-- constant _KEY_SlowKeys_Enable++_KEY_SlowKeys_Enable :: Int32+_KEY_SlowKeys_Enable = 65139+-- constant _KEY_Spell++_KEY_Spell :: Int32+_KEY_Spell = 269025148+-- constant _KEY_SplitScreen++_KEY_SplitScreen :: Int32+_KEY_SplitScreen = 269025149+-- constant _KEY_Standby++_KEY_Standby :: Int32+_KEY_Standby = 269025040+-- constant _KEY_Start++_KEY_Start :: Int32+_KEY_Start = 269025050+-- constant _KEY_StickyKeys_Enable++_KEY_StickyKeys_Enable :: Int32+_KEY_StickyKeys_Enable = 65141+-- constant _KEY_Stop++_KEY_Stop :: Int32+_KEY_Stop = 269025064+-- constant _KEY_Subtitle++_KEY_Subtitle :: Int32+_KEY_Subtitle = 269025178+-- constant _KEY_Super_L++_KEY_Super_L :: Int32+_KEY_Super_L = 65515+-- constant _KEY_Super_R++_KEY_Super_R :: Int32+_KEY_Super_R = 65516+-- constant _KEY_Support++_KEY_Support :: Int32+_KEY_Support = 269025150+-- constant _KEY_Suspend++_KEY_Suspend :: Int32+_KEY_Suspend = 269025191+-- constant _KEY_Switch_VT_1++_KEY_Switch_VT_1 :: Int32+_KEY_Switch_VT_1 = 269024769+-- constant _KEY_Switch_VT_10++_KEY_Switch_VT_10 :: Int32+_KEY_Switch_VT_10 = 269024778+-- constant _KEY_Switch_VT_11++_KEY_Switch_VT_11 :: Int32+_KEY_Switch_VT_11 = 269024779+-- constant _KEY_Switch_VT_12++_KEY_Switch_VT_12 :: Int32+_KEY_Switch_VT_12 = 269024780+-- constant _KEY_Switch_VT_2++_KEY_Switch_VT_2 :: Int32+_KEY_Switch_VT_2 = 269024770+-- constant _KEY_Switch_VT_3++_KEY_Switch_VT_3 :: Int32+_KEY_Switch_VT_3 = 269024771+-- constant _KEY_Switch_VT_4++_KEY_Switch_VT_4 :: Int32+_KEY_Switch_VT_4 = 269024772+-- constant _KEY_Switch_VT_5++_KEY_Switch_VT_5 :: Int32+_KEY_Switch_VT_5 = 269024773+-- constant _KEY_Switch_VT_6++_KEY_Switch_VT_6 :: Int32+_KEY_Switch_VT_6 = 269024774+-- constant _KEY_Switch_VT_7++_KEY_Switch_VT_7 :: Int32+_KEY_Switch_VT_7 = 269024775+-- constant _KEY_Switch_VT_8++_KEY_Switch_VT_8 :: Int32+_KEY_Switch_VT_8 = 269024776+-- constant _KEY_Switch_VT_9++_KEY_Switch_VT_9 :: Int32+_KEY_Switch_VT_9 = 269024777+-- constant _KEY_Sys_Req++_KEY_Sys_Req :: Int32+_KEY_Sys_Req = 65301+-- constant _KEY_T++_KEY_T :: Int32+_KEY_T = 84+-- constant _KEY_THORN++_KEY_THORN :: Int32+_KEY_THORN = 222+-- constant _KEY_Tab++_KEY_Tab :: Int32+_KEY_Tab = 65289+-- constant _KEY_Tabovedot++_KEY_Tabovedot :: Int32+_KEY_Tabovedot = 16785002+-- constant _KEY_TaskPane++_KEY_TaskPane :: Int32+_KEY_TaskPane = 269025151+-- constant _KEY_Tcaron++_KEY_Tcaron :: Int32+_KEY_Tcaron = 427+-- constant _KEY_Tcedilla++_KEY_Tcedilla :: Int32+_KEY_Tcedilla = 478+-- constant _KEY_Terminal++_KEY_Terminal :: Int32+_KEY_Terminal = 269025152+-- constant _KEY_Terminate_Server++_KEY_Terminate_Server :: Int32+_KEY_Terminate_Server = 65237+-- constant _KEY_Thai_baht++_KEY_Thai_baht :: Int32+_KEY_Thai_baht = 3551+-- constant _KEY_Thai_bobaimai++_KEY_Thai_bobaimai :: Int32+_KEY_Thai_bobaimai = 3514+-- constant _KEY_Thai_chochan++_KEY_Thai_chochan :: Int32+_KEY_Thai_chochan = 3496+-- constant _KEY_Thai_chochang++_KEY_Thai_chochang :: Int32+_KEY_Thai_chochang = 3498+-- constant _KEY_Thai_choching++_KEY_Thai_choching :: Int32+_KEY_Thai_choching = 3497+-- constant _KEY_Thai_chochoe++_KEY_Thai_chochoe :: Int32+_KEY_Thai_chochoe = 3500+-- constant _KEY_Thai_dochada++_KEY_Thai_dochada :: Int32+_KEY_Thai_dochada = 3502+-- constant _KEY_Thai_dodek++_KEY_Thai_dodek :: Int32+_KEY_Thai_dodek = 3508+-- constant _KEY_Thai_fofa++_KEY_Thai_fofa :: Int32+_KEY_Thai_fofa = 3517+-- constant _KEY_Thai_fofan++_KEY_Thai_fofan :: Int32+_KEY_Thai_fofan = 3519+-- constant _KEY_Thai_hohip++_KEY_Thai_hohip :: Int32+_KEY_Thai_hohip = 3531+-- constant _KEY_Thai_honokhuk++_KEY_Thai_honokhuk :: Int32+_KEY_Thai_honokhuk = 3534+-- constant _KEY_Thai_khokhai++_KEY_Thai_khokhai :: Int32+_KEY_Thai_khokhai = 3490+-- constant _KEY_Thai_khokhon++_KEY_Thai_khokhon :: Int32+_KEY_Thai_khokhon = 3493+-- constant _KEY_Thai_khokhuat++_KEY_Thai_khokhuat :: Int32+_KEY_Thai_khokhuat = 3491+-- constant _KEY_Thai_khokhwai++_KEY_Thai_khokhwai :: Int32+_KEY_Thai_khokhwai = 3492+-- constant _KEY_Thai_khorakhang++_KEY_Thai_khorakhang :: Int32+_KEY_Thai_khorakhang = 3494+-- constant _KEY_Thai_kokai++_KEY_Thai_kokai :: Int32+_KEY_Thai_kokai = 3489+-- constant _KEY_Thai_lakkhangyao++_KEY_Thai_lakkhangyao :: Int32+_KEY_Thai_lakkhangyao = 3557+-- constant _KEY_Thai_lekchet++_KEY_Thai_lekchet :: Int32+_KEY_Thai_lekchet = 3575+-- constant _KEY_Thai_lekha++_KEY_Thai_lekha :: Int32+_KEY_Thai_lekha = 3573+-- constant _KEY_Thai_lekhok++_KEY_Thai_lekhok :: Int32+_KEY_Thai_lekhok = 3574+-- constant _KEY_Thai_lekkao++_KEY_Thai_lekkao :: Int32+_KEY_Thai_lekkao = 3577+-- constant _KEY_Thai_leknung++_KEY_Thai_leknung :: Int32+_KEY_Thai_leknung = 3569+-- constant _KEY_Thai_lekpaet++_KEY_Thai_lekpaet :: Int32+_KEY_Thai_lekpaet = 3576+-- constant _KEY_Thai_leksam++_KEY_Thai_leksam :: Int32+_KEY_Thai_leksam = 3571+-- constant _KEY_Thai_leksi++_KEY_Thai_leksi :: Int32+_KEY_Thai_leksi = 3572+-- constant _KEY_Thai_leksong++_KEY_Thai_leksong :: Int32+_KEY_Thai_leksong = 3570+-- constant _KEY_Thai_leksun++_KEY_Thai_leksun :: Int32+_KEY_Thai_leksun = 3568+-- constant _KEY_Thai_lochula++_KEY_Thai_lochula :: Int32+_KEY_Thai_lochula = 3532+-- constant _KEY_Thai_loling++_KEY_Thai_loling :: Int32+_KEY_Thai_loling = 3525+-- constant _KEY_Thai_lu++_KEY_Thai_lu :: Int32+_KEY_Thai_lu = 3526+-- constant _KEY_Thai_maichattawa++_KEY_Thai_maichattawa :: Int32+_KEY_Thai_maichattawa = 3563+-- constant _KEY_Thai_maiek++_KEY_Thai_maiek :: Int32+_KEY_Thai_maiek = 3560+-- constant _KEY_Thai_maihanakat++_KEY_Thai_maihanakat :: Int32+_KEY_Thai_maihanakat = 3537+-- constant _KEY_Thai_maihanakat_maitho++_KEY_Thai_maihanakat_maitho :: Int32+_KEY_Thai_maihanakat_maitho = 3550+-- constant _KEY_Thai_maitaikhu++_KEY_Thai_maitaikhu :: Int32+_KEY_Thai_maitaikhu = 3559+-- constant _KEY_Thai_maitho++_KEY_Thai_maitho :: Int32+_KEY_Thai_maitho = 3561+-- constant _KEY_Thai_maitri++_KEY_Thai_maitri :: Int32+_KEY_Thai_maitri = 3562+-- constant _KEY_Thai_maiyamok++_KEY_Thai_maiyamok :: Int32+_KEY_Thai_maiyamok = 3558+-- constant _KEY_Thai_moma++_KEY_Thai_moma :: Int32+_KEY_Thai_moma = 3521+-- constant _KEY_Thai_ngongu++_KEY_Thai_ngongu :: Int32+_KEY_Thai_ngongu = 3495+-- constant _KEY_Thai_nikhahit++_KEY_Thai_nikhahit :: Int32+_KEY_Thai_nikhahit = 3565+-- constant _KEY_Thai_nonen++_KEY_Thai_nonen :: Int32+_KEY_Thai_nonen = 3507+-- constant _KEY_Thai_nonu++_KEY_Thai_nonu :: Int32+_KEY_Thai_nonu = 3513+-- constant _KEY_Thai_oang++_KEY_Thai_oang :: Int32+_KEY_Thai_oang = 3533+-- constant _KEY_Thai_paiyannoi++_KEY_Thai_paiyannoi :: Int32+_KEY_Thai_paiyannoi = 3535+-- constant _KEY_Thai_phinthu++_KEY_Thai_phinthu :: Int32+_KEY_Thai_phinthu = 3546+-- constant _KEY_Thai_phophan++_KEY_Thai_phophan :: Int32+_KEY_Thai_phophan = 3518+-- constant _KEY_Thai_phophung++_KEY_Thai_phophung :: Int32+_KEY_Thai_phophung = 3516+-- constant _KEY_Thai_phosamphao++_KEY_Thai_phosamphao :: Int32+_KEY_Thai_phosamphao = 3520+-- constant _KEY_Thai_popla++_KEY_Thai_popla :: Int32+_KEY_Thai_popla = 3515+-- constant _KEY_Thai_rorua++_KEY_Thai_rorua :: Int32+_KEY_Thai_rorua = 3523+-- constant _KEY_Thai_ru++_KEY_Thai_ru :: Int32+_KEY_Thai_ru = 3524+-- constant _KEY_Thai_saraa++_KEY_Thai_saraa :: Int32+_KEY_Thai_saraa = 3536+-- constant _KEY_Thai_saraaa++_KEY_Thai_saraaa :: Int32+_KEY_Thai_saraaa = 3538+-- constant _KEY_Thai_saraae++_KEY_Thai_saraae :: Int32+_KEY_Thai_saraae = 3553+-- constant _KEY_Thai_saraaimaimalai++_KEY_Thai_saraaimaimalai :: Int32+_KEY_Thai_saraaimaimalai = 3556+-- constant _KEY_Thai_saraaimaimuan++_KEY_Thai_saraaimaimuan :: Int32+_KEY_Thai_saraaimaimuan = 3555+-- constant _KEY_Thai_saraam++_KEY_Thai_saraam :: Int32+_KEY_Thai_saraam = 3539+-- constant _KEY_Thai_sarae++_KEY_Thai_sarae :: Int32+_KEY_Thai_sarae = 3552+-- constant _KEY_Thai_sarai++_KEY_Thai_sarai :: Int32+_KEY_Thai_sarai = 3540+-- constant _KEY_Thai_saraii++_KEY_Thai_saraii :: Int32+_KEY_Thai_saraii = 3541+-- constant _KEY_Thai_sarao++_KEY_Thai_sarao :: Int32+_KEY_Thai_sarao = 3554+-- constant _KEY_Thai_sarau++_KEY_Thai_sarau :: Int32+_KEY_Thai_sarau = 3544+-- constant _KEY_Thai_saraue++_KEY_Thai_saraue :: Int32+_KEY_Thai_saraue = 3542+-- constant _KEY_Thai_sarauee++_KEY_Thai_sarauee :: Int32+_KEY_Thai_sarauee = 3543+-- constant _KEY_Thai_sarauu++_KEY_Thai_sarauu :: Int32+_KEY_Thai_sarauu = 3545+-- constant _KEY_Thai_sorusi++_KEY_Thai_sorusi :: Int32+_KEY_Thai_sorusi = 3529+-- constant _KEY_Thai_sosala++_KEY_Thai_sosala :: Int32+_KEY_Thai_sosala = 3528+-- constant _KEY_Thai_soso++_KEY_Thai_soso :: Int32+_KEY_Thai_soso = 3499+-- constant _KEY_Thai_sosua++_KEY_Thai_sosua :: Int32+_KEY_Thai_sosua = 3530+-- constant _KEY_Thai_thanthakhat++_KEY_Thai_thanthakhat :: Int32+_KEY_Thai_thanthakhat = 3564+-- constant _KEY_Thai_thonangmontho++_KEY_Thai_thonangmontho :: Int32+_KEY_Thai_thonangmontho = 3505+-- constant _KEY_Thai_thophuthao++_KEY_Thai_thophuthao :: Int32+_KEY_Thai_thophuthao = 3506+-- constant _KEY_Thai_thothahan++_KEY_Thai_thothahan :: Int32+_KEY_Thai_thothahan = 3511+-- constant _KEY_Thai_thothan++_KEY_Thai_thothan :: Int32+_KEY_Thai_thothan = 3504+-- constant _KEY_Thai_thothong++_KEY_Thai_thothong :: Int32+_KEY_Thai_thothong = 3512+-- constant _KEY_Thai_thothung++_KEY_Thai_thothung :: Int32+_KEY_Thai_thothung = 3510+-- constant _KEY_Thai_topatak++_KEY_Thai_topatak :: Int32+_KEY_Thai_topatak = 3503+-- constant _KEY_Thai_totao++_KEY_Thai_totao :: Int32+_KEY_Thai_totao = 3509+-- constant _KEY_Thai_wowaen++_KEY_Thai_wowaen :: Int32+_KEY_Thai_wowaen = 3527+-- constant _KEY_Thai_yoyak++_KEY_Thai_yoyak :: Int32+_KEY_Thai_yoyak = 3522+-- constant _KEY_Thai_yoying++_KEY_Thai_yoying :: Int32+_KEY_Thai_yoying = 3501+-- constant _KEY_Thorn++_KEY_Thorn :: Int32+_KEY_Thorn = 222+-- constant _KEY_Time++_KEY_Time :: Int32+_KEY_Time = 269025183+-- constant _KEY_ToDoList++_KEY_ToDoList :: Int32+_KEY_ToDoList = 269025055+-- constant _KEY_Tools++_KEY_Tools :: Int32+_KEY_Tools = 269025153+-- constant _KEY_TopMenu++_KEY_TopMenu :: Int32+_KEY_TopMenu = 269025186+-- constant _KEY_TouchpadOff++_KEY_TouchpadOff :: Int32+_KEY_TouchpadOff = 269025201+-- constant _KEY_TouchpadOn++_KEY_TouchpadOn :: Int32+_KEY_TouchpadOn = 269025200+-- constant _KEY_TouchpadToggle++_KEY_TouchpadToggle :: Int32+_KEY_TouchpadToggle = 269025193+-- constant _KEY_Touroku++_KEY_Touroku :: Int32+_KEY_Touroku = 65323+-- constant _KEY_Travel++_KEY_Travel :: Int32+_KEY_Travel = 269025154+-- constant _KEY_Tslash++_KEY_Tslash :: Int32+_KEY_Tslash = 940+-- constant _KEY_U++_KEY_U :: Int32+_KEY_U = 85+-- constant _KEY_UWB++_KEY_UWB :: Int32+_KEY_UWB = 269025174+-- constant _KEY_Uacute++_KEY_Uacute :: Int32+_KEY_Uacute = 218+-- constant _KEY_Ubelowdot++_KEY_Ubelowdot :: Int32+_KEY_Ubelowdot = 16785124+-- constant _KEY_Ubreve++_KEY_Ubreve :: Int32+_KEY_Ubreve = 733+-- constant _KEY_Ucircumflex++_KEY_Ucircumflex :: Int32+_KEY_Ucircumflex = 219+-- constant _KEY_Udiaeresis++_KEY_Udiaeresis :: Int32+_KEY_Udiaeresis = 220+-- constant _KEY_Udoubleacute++_KEY_Udoubleacute :: Int32+_KEY_Udoubleacute = 475+-- constant _KEY_Ugrave++_KEY_Ugrave :: Int32+_KEY_Ugrave = 217+-- constant _KEY_Uhook++_KEY_Uhook :: Int32+_KEY_Uhook = 16785126+-- constant _KEY_Uhorn++_KEY_Uhorn :: Int32+_KEY_Uhorn = 16777647+-- constant _KEY_Uhornacute++_KEY_Uhornacute :: Int32+_KEY_Uhornacute = 16785128+-- constant _KEY_Uhornbelowdot++_KEY_Uhornbelowdot :: Int32+_KEY_Uhornbelowdot = 16785136+-- constant _KEY_Uhorngrave++_KEY_Uhorngrave :: Int32+_KEY_Uhorngrave = 16785130+-- constant _KEY_Uhornhook++_KEY_Uhornhook :: Int32+_KEY_Uhornhook = 16785132+-- constant _KEY_Uhorntilde++_KEY_Uhorntilde :: Int32+_KEY_Uhorntilde = 16785134+-- constant _KEY_Ukrainian_GHE_WITH_UPTURN++_KEY_Ukrainian_GHE_WITH_UPTURN :: Int32+_KEY_Ukrainian_GHE_WITH_UPTURN = 1725+-- constant _KEY_Ukrainian_I++_KEY_Ukrainian_I :: Int32+_KEY_Ukrainian_I = 1718+-- constant _KEY_Ukrainian_IE++_KEY_Ukrainian_IE :: Int32+_KEY_Ukrainian_IE = 1716+-- constant _KEY_Ukrainian_YI++_KEY_Ukrainian_YI :: Int32+_KEY_Ukrainian_YI = 1719+-- constant _KEY_Ukrainian_ghe_with_upturn++_KEY_Ukrainian_ghe_with_upturn :: Int32+_KEY_Ukrainian_ghe_with_upturn = 1709+-- constant _KEY_Ukrainian_i++_KEY_Ukrainian_i :: Int32+_KEY_Ukrainian_i = 1702+-- constant _KEY_Ukrainian_ie++_KEY_Ukrainian_ie :: Int32+_KEY_Ukrainian_ie = 1700+-- constant _KEY_Ukrainian_yi++_KEY_Ukrainian_yi :: Int32+_KEY_Ukrainian_yi = 1703+-- constant _KEY_Ukranian_I++_KEY_Ukranian_I :: Int32+_KEY_Ukranian_I = 1718+-- constant _KEY_Ukranian_JE++_KEY_Ukranian_JE :: Int32+_KEY_Ukranian_JE = 1716+-- constant _KEY_Ukranian_YI++_KEY_Ukranian_YI :: Int32+_KEY_Ukranian_YI = 1719+-- constant _KEY_Ukranian_i++_KEY_Ukranian_i :: Int32+_KEY_Ukranian_i = 1702+-- constant _KEY_Ukranian_je++_KEY_Ukranian_je :: Int32+_KEY_Ukranian_je = 1700+-- constant _KEY_Ukranian_yi++_KEY_Ukranian_yi :: Int32+_KEY_Ukranian_yi = 1703+-- constant _KEY_Umacron++_KEY_Umacron :: Int32+_KEY_Umacron = 990+-- constant _KEY_Undo++_KEY_Undo :: Int32+_KEY_Undo = 65381+-- constant _KEY_Ungrab++_KEY_Ungrab :: Int32+_KEY_Ungrab = 269024800+-- constant _KEY_Uogonek++_KEY_Uogonek :: Int32+_KEY_Uogonek = 985+-- constant _KEY_Up++_KEY_Up :: Int32+_KEY_Up = 65362+-- constant _KEY_Uring++_KEY_Uring :: Int32+_KEY_Uring = 473+-- constant _KEY_User1KB++_KEY_User1KB :: Int32+_KEY_User1KB = 269025157+-- constant _KEY_User2KB++_KEY_User2KB :: Int32+_KEY_User2KB = 269025158+-- constant _KEY_UserPB++_KEY_UserPB :: Int32+_KEY_UserPB = 269025156+-- constant _KEY_Utilde++_KEY_Utilde :: Int32+_KEY_Utilde = 989+-- constant _KEY_V++_KEY_V :: Int32+_KEY_V = 86+-- constant _KEY_VendorHome++_KEY_VendorHome :: Int32+_KEY_VendorHome = 269025076+-- constant _KEY_Video++_KEY_Video :: Int32+_KEY_Video = 269025159+-- constant _KEY_View++_KEY_View :: Int32+_KEY_View = 269025185+-- constant _KEY_VoidSymbol++_KEY_VoidSymbol :: Int32+_KEY_VoidSymbol = 16777215+-- constant _KEY_W++_KEY_W :: Int32+_KEY_W = 87+-- constant _KEY_WLAN++_KEY_WLAN :: Int32+_KEY_WLAN = 269025173+-- constant _KEY_WWW++_KEY_WWW :: Int32+_KEY_WWW = 269025070+-- constant _KEY_Wacute++_KEY_Wacute :: Int32+_KEY_Wacute = 16785026+-- constant _KEY_WakeUp++_KEY_WakeUp :: Int32+_KEY_WakeUp = 269025067+-- constant _KEY_Wcircumflex++_KEY_Wcircumflex :: Int32+_KEY_Wcircumflex = 16777588+-- constant _KEY_Wdiaeresis++_KEY_Wdiaeresis :: Int32+_KEY_Wdiaeresis = 16785028+-- constant _KEY_WebCam++_KEY_WebCam :: Int32+_KEY_WebCam = 269025167+-- constant _KEY_Wgrave++_KEY_Wgrave :: Int32+_KEY_Wgrave = 16785024+-- constant _KEY_WheelButton++_KEY_WheelButton :: Int32+_KEY_WheelButton = 269025160+-- constant _KEY_WindowClear++_KEY_WindowClear :: Int32+_KEY_WindowClear = 269025109+-- constant _KEY_WonSign++_KEY_WonSign :: Int32+_KEY_WonSign = 16785577+-- constant _KEY_Word++_KEY_Word :: Int32+_KEY_Word = 269025161+-- constant _KEY_X++_KEY_X :: Int32+_KEY_X = 88+-- constant _KEY_Xabovedot++_KEY_Xabovedot :: Int32+_KEY_Xabovedot = 16785034+-- constant _KEY_Xfer++_KEY_Xfer :: Int32+_KEY_Xfer = 269025162+-- constant _KEY_Y++_KEY_Y :: Int32+_KEY_Y = 89+-- constant _KEY_Yacute++_KEY_Yacute :: Int32+_KEY_Yacute = 221+-- constant _KEY_Ybelowdot++_KEY_Ybelowdot :: Int32+_KEY_Ybelowdot = 16785140+-- constant _KEY_Ycircumflex++_KEY_Ycircumflex :: Int32+_KEY_Ycircumflex = 16777590+-- constant _KEY_Ydiaeresis++_KEY_Ydiaeresis :: Int32+_KEY_Ydiaeresis = 5054+-- constant _KEY_Yellow++_KEY_Yellow :: Int32+_KEY_Yellow = 269025189+-- constant _KEY_Ygrave++_KEY_Ygrave :: Int32+_KEY_Ygrave = 16785138+-- constant _KEY_Yhook++_KEY_Yhook :: Int32+_KEY_Yhook = 16785142+-- constant _KEY_Ytilde++_KEY_Ytilde :: Int32+_KEY_Ytilde = 16785144+-- constant _KEY_Z++_KEY_Z :: Int32+_KEY_Z = 90+-- constant _KEY_Zabovedot++_KEY_Zabovedot :: Int32+_KEY_Zabovedot = 431+-- constant _KEY_Zacute++_KEY_Zacute :: Int32+_KEY_Zacute = 428+-- constant _KEY_Zcaron++_KEY_Zcaron :: Int32+_KEY_Zcaron = 430+-- constant _KEY_Zen_Koho++_KEY_Zen_Koho :: Int32+_KEY_Zen_Koho = 65341+-- constant _KEY_Zenkaku++_KEY_Zenkaku :: Int32+_KEY_Zenkaku = 65320+-- constant _KEY_Zenkaku_Hankaku++_KEY_Zenkaku_Hankaku :: Int32+_KEY_Zenkaku_Hankaku = 65322+-- constant _KEY_ZoomIn++_KEY_ZoomIn :: Int32+_KEY_ZoomIn = 269025163+-- constant _KEY_ZoomOut++_KEY_ZoomOut :: Int32+_KEY_ZoomOut = 269025164+-- constant _KEY_Zstroke++_KEY_Zstroke :: Int32+_KEY_Zstroke = 16777653+-- constant _KEY_a++_KEY_a :: Int32+_KEY_a = 97+-- constant _KEY_aacute++_KEY_aacute :: Int32+_KEY_aacute = 225+-- constant _KEY_abelowdot++_KEY_abelowdot :: Int32+_KEY_abelowdot = 16785057+-- constant _KEY_abovedot++_KEY_abovedot :: Int32+_KEY_abovedot = 511+-- constant _KEY_abreve++_KEY_abreve :: Int32+_KEY_abreve = 483+-- constant _KEY_abreveacute++_KEY_abreveacute :: Int32+_KEY_abreveacute = 16785071+-- constant _KEY_abrevebelowdot++_KEY_abrevebelowdot :: Int32+_KEY_abrevebelowdot = 16785079+-- constant _KEY_abrevegrave++_KEY_abrevegrave :: Int32+_KEY_abrevegrave = 16785073+-- constant _KEY_abrevehook++_KEY_abrevehook :: Int32+_KEY_abrevehook = 16785075+-- constant _KEY_abrevetilde++_KEY_abrevetilde :: Int32+_KEY_abrevetilde = 16785077+-- constant _KEY_acircumflex++_KEY_acircumflex :: Int32+_KEY_acircumflex = 226+-- constant _KEY_acircumflexacute++_KEY_acircumflexacute :: Int32+_KEY_acircumflexacute = 16785061+-- constant _KEY_acircumflexbelowdot++_KEY_acircumflexbelowdot :: Int32+_KEY_acircumflexbelowdot = 16785069+-- constant _KEY_acircumflexgrave++_KEY_acircumflexgrave :: Int32+_KEY_acircumflexgrave = 16785063+-- constant _KEY_acircumflexhook++_KEY_acircumflexhook :: Int32+_KEY_acircumflexhook = 16785065+-- constant _KEY_acircumflextilde++_KEY_acircumflextilde :: Int32+_KEY_acircumflextilde = 16785067+-- constant _KEY_acute++_KEY_acute :: Int32+_KEY_acute = 180+-- constant _KEY_adiaeresis++_KEY_adiaeresis :: Int32+_KEY_adiaeresis = 228+-- constant _KEY_ae++_KEY_ae :: Int32+_KEY_ae = 230+-- constant _KEY_agrave++_KEY_agrave :: Int32+_KEY_agrave = 224+-- constant _KEY_ahook++_KEY_ahook :: Int32+_KEY_ahook = 16785059+-- constant _KEY_amacron++_KEY_amacron :: Int32+_KEY_amacron = 992+-- constant _KEY_ampersand++_KEY_ampersand :: Int32+_KEY_ampersand = 38+-- constant _KEY_aogonek++_KEY_aogonek :: Int32+_KEY_aogonek = 433+-- constant _KEY_apostrophe++_KEY_apostrophe :: Int32+_KEY_apostrophe = 39+-- constant _KEY_approxeq++_KEY_approxeq :: Int32+_KEY_approxeq = 16785992+-- constant _KEY_approximate++_KEY_approximate :: Int32+_KEY_approximate = 2248+-- constant _KEY_aring++_KEY_aring :: Int32+_KEY_aring = 229+-- constant _KEY_asciicircum++_KEY_asciicircum :: Int32+_KEY_asciicircum = 94+-- constant _KEY_asciitilde++_KEY_asciitilde :: Int32+_KEY_asciitilde = 126+-- constant _KEY_asterisk++_KEY_asterisk :: Int32+_KEY_asterisk = 42+-- constant _KEY_at++_KEY_at :: Int32+_KEY_at = 64+-- constant _KEY_atilde++_KEY_atilde :: Int32+_KEY_atilde = 227+-- constant _KEY_b++_KEY_b :: Int32+_KEY_b = 98+-- constant _KEY_babovedot++_KEY_babovedot :: Int32+_KEY_babovedot = 16784899+-- constant _KEY_backslash++_KEY_backslash :: Int32+_KEY_backslash = 92+-- constant _KEY_ballotcross++_KEY_ballotcross :: Int32+_KEY_ballotcross = 2804+-- constant _KEY_bar++_KEY_bar :: Int32+_KEY_bar = 124+-- constant _KEY_because++_KEY_because :: Int32+_KEY_because = 16785973+-- constant _KEY_blank++_KEY_blank :: Int32+_KEY_blank = 2527+-- constant _KEY_botintegral++_KEY_botintegral :: Int32+_KEY_botintegral = 2213+-- constant _KEY_botleftparens++_KEY_botleftparens :: Int32+_KEY_botleftparens = 2220+-- constant _KEY_botleftsqbracket++_KEY_botleftsqbracket :: Int32+_KEY_botleftsqbracket = 2216+-- constant _KEY_botleftsummation++_KEY_botleftsummation :: Int32+_KEY_botleftsummation = 2226+-- constant _KEY_botrightparens++_KEY_botrightparens :: Int32+_KEY_botrightparens = 2222+-- constant _KEY_botrightsqbracket++_KEY_botrightsqbracket :: Int32+_KEY_botrightsqbracket = 2218+-- constant _KEY_botrightsummation++_KEY_botrightsummation :: Int32+_KEY_botrightsummation = 2230+-- constant _KEY_bott++_KEY_bott :: Int32+_KEY_bott = 2550+-- constant _KEY_botvertsummationconnector++_KEY_botvertsummationconnector :: Int32+_KEY_botvertsummationconnector = 2228+-- constant _KEY_braceleft++_KEY_braceleft :: Int32+_KEY_braceleft = 123+-- constant _KEY_braceright++_KEY_braceright :: Int32+_KEY_braceright = 125+-- constant _KEY_bracketleft++_KEY_bracketleft :: Int32+_KEY_bracketleft = 91+-- constant _KEY_bracketright++_KEY_bracketright :: Int32+_KEY_bracketright = 93+-- constant _KEY_braille_blank++_KEY_braille_blank :: Int32+_KEY_braille_blank = 16787456+-- constant _KEY_braille_dot_1++_KEY_braille_dot_1 :: Int32+_KEY_braille_dot_1 = 65521+-- constant _KEY_braille_dot_10++_KEY_braille_dot_10 :: Int32+_KEY_braille_dot_10 = 65530+-- constant _KEY_braille_dot_2++_KEY_braille_dot_2 :: Int32+_KEY_braille_dot_2 = 65522+-- constant _KEY_braille_dot_3++_KEY_braille_dot_3 :: Int32+_KEY_braille_dot_3 = 65523+-- constant _KEY_braille_dot_4++_KEY_braille_dot_4 :: Int32+_KEY_braille_dot_4 = 65524+-- constant _KEY_braille_dot_5++_KEY_braille_dot_5 :: Int32+_KEY_braille_dot_5 = 65525+-- constant _KEY_braille_dot_6++_KEY_braille_dot_6 :: Int32+_KEY_braille_dot_6 = 65526+-- constant _KEY_braille_dot_7++_KEY_braille_dot_7 :: Int32+_KEY_braille_dot_7 = 65527+-- constant _KEY_braille_dot_8++_KEY_braille_dot_8 :: Int32+_KEY_braille_dot_8 = 65528+-- constant _KEY_braille_dot_9++_KEY_braille_dot_9 :: Int32+_KEY_braille_dot_9 = 65529+-- constant _KEY_braille_dots_1++_KEY_braille_dots_1 :: Int32+_KEY_braille_dots_1 = 16787457+-- constant _KEY_braille_dots_12++_KEY_braille_dots_12 :: Int32+_KEY_braille_dots_12 = 16787459+-- constant _KEY_braille_dots_123++_KEY_braille_dots_123 :: Int32+_KEY_braille_dots_123 = 16787463+-- constant _KEY_braille_dots_1234++_KEY_braille_dots_1234 :: Int32+_KEY_braille_dots_1234 = 16787471+-- constant _KEY_braille_dots_12345++_KEY_braille_dots_12345 :: Int32+_KEY_braille_dots_12345 = 16787487+-- constant _KEY_braille_dots_123456++_KEY_braille_dots_123456 :: Int32+_KEY_braille_dots_123456 = 16787519+-- constant _KEY_braille_dots_1234567++_KEY_braille_dots_1234567 :: Int32+_KEY_braille_dots_1234567 = 16787583+-- constant _KEY_braille_dots_12345678++_KEY_braille_dots_12345678 :: Int32+_KEY_braille_dots_12345678 = 16787711+-- constant _KEY_braille_dots_1234568++_KEY_braille_dots_1234568 :: Int32+_KEY_braille_dots_1234568 = 16787647+-- constant _KEY_braille_dots_123457++_KEY_braille_dots_123457 :: Int32+_KEY_braille_dots_123457 = 16787551+-- constant _KEY_braille_dots_1234578++_KEY_braille_dots_1234578 :: Int32+_KEY_braille_dots_1234578 = 16787679+-- constant _KEY_braille_dots_123458++_KEY_braille_dots_123458 :: Int32+_KEY_braille_dots_123458 = 16787615+-- constant _KEY_braille_dots_12346++_KEY_braille_dots_12346 :: Int32+_KEY_braille_dots_12346 = 16787503+-- constant _KEY_braille_dots_123467++_KEY_braille_dots_123467 :: Int32+_KEY_braille_dots_123467 = 16787567+-- constant _KEY_braille_dots_1234678++_KEY_braille_dots_1234678 :: Int32+_KEY_braille_dots_1234678 = 16787695+-- constant _KEY_braille_dots_123468++_KEY_braille_dots_123468 :: Int32+_KEY_braille_dots_123468 = 16787631+-- constant _KEY_braille_dots_12347++_KEY_braille_dots_12347 :: Int32+_KEY_braille_dots_12347 = 16787535+-- constant _KEY_braille_dots_123478++_KEY_braille_dots_123478 :: Int32+_KEY_braille_dots_123478 = 16787663+-- constant _KEY_braille_dots_12348++_KEY_braille_dots_12348 :: Int32+_KEY_braille_dots_12348 = 16787599+-- constant _KEY_braille_dots_1235++_KEY_braille_dots_1235 :: Int32+_KEY_braille_dots_1235 = 16787479+-- constant _KEY_braille_dots_12356++_KEY_braille_dots_12356 :: Int32+_KEY_braille_dots_12356 = 16787511+-- constant _KEY_braille_dots_123567++_KEY_braille_dots_123567 :: Int32+_KEY_braille_dots_123567 = 16787575+-- constant _KEY_braille_dots_1235678++_KEY_braille_dots_1235678 :: Int32+_KEY_braille_dots_1235678 = 16787703+-- constant _KEY_braille_dots_123568++_KEY_braille_dots_123568 :: Int32+_KEY_braille_dots_123568 = 16787639+-- constant _KEY_braille_dots_12357++_KEY_braille_dots_12357 :: Int32+_KEY_braille_dots_12357 = 16787543+-- constant _KEY_braille_dots_123578++_KEY_braille_dots_123578 :: Int32+_KEY_braille_dots_123578 = 16787671+-- constant _KEY_braille_dots_12358++_KEY_braille_dots_12358 :: Int32+_KEY_braille_dots_12358 = 16787607+-- constant _KEY_braille_dots_1236++_KEY_braille_dots_1236 :: Int32+_KEY_braille_dots_1236 = 16787495+-- constant _KEY_braille_dots_12367++_KEY_braille_dots_12367 :: Int32+_KEY_braille_dots_12367 = 16787559+-- constant _KEY_braille_dots_123678++_KEY_braille_dots_123678 :: Int32+_KEY_braille_dots_123678 = 16787687+-- constant _KEY_braille_dots_12368++_KEY_braille_dots_12368 :: Int32+_KEY_braille_dots_12368 = 16787623+-- constant _KEY_braille_dots_1237++_KEY_braille_dots_1237 :: Int32+_KEY_braille_dots_1237 = 16787527+-- constant _KEY_braille_dots_12378++_KEY_braille_dots_12378 :: Int32+_KEY_braille_dots_12378 = 16787655+-- constant _KEY_braille_dots_1238++_KEY_braille_dots_1238 :: Int32+_KEY_braille_dots_1238 = 16787591+-- constant _KEY_braille_dots_124++_KEY_braille_dots_124 :: Int32+_KEY_braille_dots_124 = 16787467+-- constant _KEY_braille_dots_1245++_KEY_braille_dots_1245 :: Int32+_KEY_braille_dots_1245 = 16787483+-- constant _KEY_braille_dots_12456++_KEY_braille_dots_12456 :: Int32+_KEY_braille_dots_12456 = 16787515+-- constant _KEY_braille_dots_124567++_KEY_braille_dots_124567 :: Int32+_KEY_braille_dots_124567 = 16787579+-- constant _KEY_braille_dots_1245678++_KEY_braille_dots_1245678 :: Int32+_KEY_braille_dots_1245678 = 16787707+-- constant _KEY_braille_dots_124568++_KEY_braille_dots_124568 :: Int32+_KEY_braille_dots_124568 = 16787643+-- constant _KEY_braille_dots_12457++_KEY_braille_dots_12457 :: Int32+_KEY_braille_dots_12457 = 16787547+-- constant _KEY_braille_dots_124578++_KEY_braille_dots_124578 :: Int32+_KEY_braille_dots_124578 = 16787675+-- constant _KEY_braille_dots_12458++_KEY_braille_dots_12458 :: Int32+_KEY_braille_dots_12458 = 16787611+-- constant _KEY_braille_dots_1246++_KEY_braille_dots_1246 :: Int32+_KEY_braille_dots_1246 = 16787499+-- constant _KEY_braille_dots_12467++_KEY_braille_dots_12467 :: Int32+_KEY_braille_dots_12467 = 16787563+-- constant _KEY_braille_dots_124678++_KEY_braille_dots_124678 :: Int32+_KEY_braille_dots_124678 = 16787691+-- constant _KEY_braille_dots_12468++_KEY_braille_dots_12468 :: Int32+_KEY_braille_dots_12468 = 16787627+-- constant _KEY_braille_dots_1247++_KEY_braille_dots_1247 :: Int32+_KEY_braille_dots_1247 = 16787531+-- constant _KEY_braille_dots_12478++_KEY_braille_dots_12478 :: Int32+_KEY_braille_dots_12478 = 16787659+-- constant _KEY_braille_dots_1248++_KEY_braille_dots_1248 :: Int32+_KEY_braille_dots_1248 = 16787595+-- constant _KEY_braille_dots_125++_KEY_braille_dots_125 :: Int32+_KEY_braille_dots_125 = 16787475+-- constant _KEY_braille_dots_1256++_KEY_braille_dots_1256 :: Int32+_KEY_braille_dots_1256 = 16787507+-- constant _KEY_braille_dots_12567++_KEY_braille_dots_12567 :: Int32+_KEY_braille_dots_12567 = 16787571+-- constant _KEY_braille_dots_125678++_KEY_braille_dots_125678 :: Int32+_KEY_braille_dots_125678 = 16787699+-- constant _KEY_braille_dots_12568++_KEY_braille_dots_12568 :: Int32+_KEY_braille_dots_12568 = 16787635+-- constant _KEY_braille_dots_1257++_KEY_braille_dots_1257 :: Int32+_KEY_braille_dots_1257 = 16787539+-- constant _KEY_braille_dots_12578++_KEY_braille_dots_12578 :: Int32+_KEY_braille_dots_12578 = 16787667+-- constant _KEY_braille_dots_1258++_KEY_braille_dots_1258 :: Int32+_KEY_braille_dots_1258 = 16787603+-- constant _KEY_braille_dots_126++_KEY_braille_dots_126 :: Int32+_KEY_braille_dots_126 = 16787491+-- constant _KEY_braille_dots_1267++_KEY_braille_dots_1267 :: Int32+_KEY_braille_dots_1267 = 16787555+-- constant _KEY_braille_dots_12678++_KEY_braille_dots_12678 :: Int32+_KEY_braille_dots_12678 = 16787683+-- constant _KEY_braille_dots_1268++_KEY_braille_dots_1268 :: Int32+_KEY_braille_dots_1268 = 16787619+-- constant _KEY_braille_dots_127++_KEY_braille_dots_127 :: Int32+_KEY_braille_dots_127 = 16787523+-- constant _KEY_braille_dots_1278++_KEY_braille_dots_1278 :: Int32+_KEY_braille_dots_1278 = 16787651+-- constant _KEY_braille_dots_128++_KEY_braille_dots_128 :: Int32+_KEY_braille_dots_128 = 16787587+-- constant _KEY_braille_dots_13++_KEY_braille_dots_13 :: Int32+_KEY_braille_dots_13 = 16787461+-- constant _KEY_braille_dots_134++_KEY_braille_dots_134 :: Int32+_KEY_braille_dots_134 = 16787469+-- constant _KEY_braille_dots_1345++_KEY_braille_dots_1345 :: Int32+_KEY_braille_dots_1345 = 16787485+-- constant _KEY_braille_dots_13456++_KEY_braille_dots_13456 :: Int32+_KEY_braille_dots_13456 = 16787517+-- constant _KEY_braille_dots_134567++_KEY_braille_dots_134567 :: Int32+_KEY_braille_dots_134567 = 16787581+-- constant _KEY_braille_dots_1345678++_KEY_braille_dots_1345678 :: Int32+_KEY_braille_dots_1345678 = 16787709+-- constant _KEY_braille_dots_134568++_KEY_braille_dots_134568 :: Int32+_KEY_braille_dots_134568 = 16787645+-- constant _KEY_braille_dots_13457++_KEY_braille_dots_13457 :: Int32+_KEY_braille_dots_13457 = 16787549+-- constant _KEY_braille_dots_134578++_KEY_braille_dots_134578 :: Int32+_KEY_braille_dots_134578 = 16787677+-- constant _KEY_braille_dots_13458++_KEY_braille_dots_13458 :: Int32+_KEY_braille_dots_13458 = 16787613+-- constant _KEY_braille_dots_1346++_KEY_braille_dots_1346 :: Int32+_KEY_braille_dots_1346 = 16787501+-- constant _KEY_braille_dots_13467++_KEY_braille_dots_13467 :: Int32+_KEY_braille_dots_13467 = 16787565+-- constant _KEY_braille_dots_134678++_KEY_braille_dots_134678 :: Int32+_KEY_braille_dots_134678 = 16787693+-- constant _KEY_braille_dots_13468++_KEY_braille_dots_13468 :: Int32+_KEY_braille_dots_13468 = 16787629+-- constant _KEY_braille_dots_1347++_KEY_braille_dots_1347 :: Int32+_KEY_braille_dots_1347 = 16787533+-- constant _KEY_braille_dots_13478++_KEY_braille_dots_13478 :: Int32+_KEY_braille_dots_13478 = 16787661+-- constant _KEY_braille_dots_1348++_KEY_braille_dots_1348 :: Int32+_KEY_braille_dots_1348 = 16787597+-- constant _KEY_braille_dots_135++_KEY_braille_dots_135 :: Int32+_KEY_braille_dots_135 = 16787477+-- constant _KEY_braille_dots_1356++_KEY_braille_dots_1356 :: Int32+_KEY_braille_dots_1356 = 16787509+-- constant _KEY_braille_dots_13567++_KEY_braille_dots_13567 :: Int32+_KEY_braille_dots_13567 = 16787573+-- constant _KEY_braille_dots_135678++_KEY_braille_dots_135678 :: Int32+_KEY_braille_dots_135678 = 16787701+-- constant _KEY_braille_dots_13568++_KEY_braille_dots_13568 :: Int32+_KEY_braille_dots_13568 = 16787637+-- constant _KEY_braille_dots_1357++_KEY_braille_dots_1357 :: Int32+_KEY_braille_dots_1357 = 16787541+-- constant _KEY_braille_dots_13578++_KEY_braille_dots_13578 :: Int32+_KEY_braille_dots_13578 = 16787669+-- constant _KEY_braille_dots_1358++_KEY_braille_dots_1358 :: Int32+_KEY_braille_dots_1358 = 16787605+-- constant _KEY_braille_dots_136++_KEY_braille_dots_136 :: Int32+_KEY_braille_dots_136 = 16787493+-- constant _KEY_braille_dots_1367++_KEY_braille_dots_1367 :: Int32+_KEY_braille_dots_1367 = 16787557+-- constant _KEY_braille_dots_13678++_KEY_braille_dots_13678 :: Int32+_KEY_braille_dots_13678 = 16787685+-- constant _KEY_braille_dots_1368++_KEY_braille_dots_1368 :: Int32+_KEY_braille_dots_1368 = 16787621+-- constant _KEY_braille_dots_137++_KEY_braille_dots_137 :: Int32+_KEY_braille_dots_137 = 16787525+-- constant _KEY_braille_dots_1378++_KEY_braille_dots_1378 :: Int32+_KEY_braille_dots_1378 = 16787653+-- constant _KEY_braille_dots_138++_KEY_braille_dots_138 :: Int32+_KEY_braille_dots_138 = 16787589+-- constant _KEY_braille_dots_14++_KEY_braille_dots_14 :: Int32+_KEY_braille_dots_14 = 16787465+-- constant _KEY_braille_dots_145++_KEY_braille_dots_145 :: Int32+_KEY_braille_dots_145 = 16787481+-- constant _KEY_braille_dots_1456++_KEY_braille_dots_1456 :: Int32+_KEY_braille_dots_1456 = 16787513+-- constant _KEY_braille_dots_14567++_KEY_braille_dots_14567 :: Int32+_KEY_braille_dots_14567 = 16787577+-- constant _KEY_braille_dots_145678++_KEY_braille_dots_145678 :: Int32+_KEY_braille_dots_145678 = 16787705+-- constant _KEY_braille_dots_14568++_KEY_braille_dots_14568 :: Int32+_KEY_braille_dots_14568 = 16787641+-- constant _KEY_braille_dots_1457++_KEY_braille_dots_1457 :: Int32+_KEY_braille_dots_1457 = 16787545+-- constant _KEY_braille_dots_14578++_KEY_braille_dots_14578 :: Int32+_KEY_braille_dots_14578 = 16787673+-- constant _KEY_braille_dots_1458++_KEY_braille_dots_1458 :: Int32+_KEY_braille_dots_1458 = 16787609+-- constant _KEY_braille_dots_146++_KEY_braille_dots_146 :: Int32+_KEY_braille_dots_146 = 16787497+-- constant _KEY_braille_dots_1467++_KEY_braille_dots_1467 :: Int32+_KEY_braille_dots_1467 = 16787561+-- constant _KEY_braille_dots_14678++_KEY_braille_dots_14678 :: Int32+_KEY_braille_dots_14678 = 16787689+-- constant _KEY_braille_dots_1468++_KEY_braille_dots_1468 :: Int32+_KEY_braille_dots_1468 = 16787625+-- constant _KEY_braille_dots_147++_KEY_braille_dots_147 :: Int32+_KEY_braille_dots_147 = 16787529+-- constant _KEY_braille_dots_1478++_KEY_braille_dots_1478 :: Int32+_KEY_braille_dots_1478 = 16787657+-- constant _KEY_braille_dots_148++_KEY_braille_dots_148 :: Int32+_KEY_braille_dots_148 = 16787593+-- constant _KEY_braille_dots_15++_KEY_braille_dots_15 :: Int32+_KEY_braille_dots_15 = 16787473+-- constant _KEY_braille_dots_156++_KEY_braille_dots_156 :: Int32+_KEY_braille_dots_156 = 16787505+-- constant _KEY_braille_dots_1567++_KEY_braille_dots_1567 :: Int32+_KEY_braille_dots_1567 = 16787569+-- constant _KEY_braille_dots_15678++_KEY_braille_dots_15678 :: Int32+_KEY_braille_dots_15678 = 16787697+-- constant _KEY_braille_dots_1568++_KEY_braille_dots_1568 :: Int32+_KEY_braille_dots_1568 = 16787633+-- constant _KEY_braille_dots_157++_KEY_braille_dots_157 :: Int32+_KEY_braille_dots_157 = 16787537+-- constant _KEY_braille_dots_1578++_KEY_braille_dots_1578 :: Int32+_KEY_braille_dots_1578 = 16787665+-- constant _KEY_braille_dots_158++_KEY_braille_dots_158 :: Int32+_KEY_braille_dots_158 = 16787601+-- constant _KEY_braille_dots_16++_KEY_braille_dots_16 :: Int32+_KEY_braille_dots_16 = 16787489+-- constant _KEY_braille_dots_167++_KEY_braille_dots_167 :: Int32+_KEY_braille_dots_167 = 16787553+-- constant _KEY_braille_dots_1678++_KEY_braille_dots_1678 :: Int32+_KEY_braille_dots_1678 = 16787681+-- constant _KEY_braille_dots_168++_KEY_braille_dots_168 :: Int32+_KEY_braille_dots_168 = 16787617+-- constant _KEY_braille_dots_17++_KEY_braille_dots_17 :: Int32+_KEY_braille_dots_17 = 16787521+-- constant _KEY_braille_dots_178++_KEY_braille_dots_178 :: Int32+_KEY_braille_dots_178 = 16787649+-- constant _KEY_braille_dots_18++_KEY_braille_dots_18 :: Int32+_KEY_braille_dots_18 = 16787585+-- constant _KEY_braille_dots_2++_KEY_braille_dots_2 :: Int32+_KEY_braille_dots_2 = 16787458+-- constant _KEY_braille_dots_23++_KEY_braille_dots_23 :: Int32+_KEY_braille_dots_23 = 16787462+-- constant _KEY_braille_dots_234++_KEY_braille_dots_234 :: Int32+_KEY_braille_dots_234 = 16787470+-- constant _KEY_braille_dots_2345++_KEY_braille_dots_2345 :: Int32+_KEY_braille_dots_2345 = 16787486+-- constant _KEY_braille_dots_23456++_KEY_braille_dots_23456 :: Int32+_KEY_braille_dots_23456 = 16787518+-- constant _KEY_braille_dots_234567++_KEY_braille_dots_234567 :: Int32+_KEY_braille_dots_234567 = 16787582+-- constant _KEY_braille_dots_2345678++_KEY_braille_dots_2345678 :: Int32+_KEY_braille_dots_2345678 = 16787710+-- constant _KEY_braille_dots_234568++_KEY_braille_dots_234568 :: Int32+_KEY_braille_dots_234568 = 16787646+-- constant _KEY_braille_dots_23457++_KEY_braille_dots_23457 :: Int32+_KEY_braille_dots_23457 = 16787550+-- constant _KEY_braille_dots_234578++_KEY_braille_dots_234578 :: Int32+_KEY_braille_dots_234578 = 16787678+-- constant _KEY_braille_dots_23458++_KEY_braille_dots_23458 :: Int32+_KEY_braille_dots_23458 = 16787614+-- constant _KEY_braille_dots_2346++_KEY_braille_dots_2346 :: Int32+_KEY_braille_dots_2346 = 16787502+-- constant _KEY_braille_dots_23467++_KEY_braille_dots_23467 :: Int32+_KEY_braille_dots_23467 = 16787566+-- constant _KEY_braille_dots_234678++_KEY_braille_dots_234678 :: Int32+_KEY_braille_dots_234678 = 16787694+-- constant _KEY_braille_dots_23468++_KEY_braille_dots_23468 :: Int32+_KEY_braille_dots_23468 = 16787630+-- constant _KEY_braille_dots_2347++_KEY_braille_dots_2347 :: Int32+_KEY_braille_dots_2347 = 16787534+-- constant _KEY_braille_dots_23478++_KEY_braille_dots_23478 :: Int32+_KEY_braille_dots_23478 = 16787662+-- constant _KEY_braille_dots_2348++_KEY_braille_dots_2348 :: Int32+_KEY_braille_dots_2348 = 16787598+-- constant _KEY_braille_dots_235++_KEY_braille_dots_235 :: Int32+_KEY_braille_dots_235 = 16787478+-- constant _KEY_braille_dots_2356++_KEY_braille_dots_2356 :: Int32+_KEY_braille_dots_2356 = 16787510+-- constant _KEY_braille_dots_23567++_KEY_braille_dots_23567 :: Int32+_KEY_braille_dots_23567 = 16787574+-- constant _KEY_braille_dots_235678++_KEY_braille_dots_235678 :: Int32+_KEY_braille_dots_235678 = 16787702+-- constant _KEY_braille_dots_23568++_KEY_braille_dots_23568 :: Int32+_KEY_braille_dots_23568 = 16787638+-- constant _KEY_braille_dots_2357++_KEY_braille_dots_2357 :: Int32+_KEY_braille_dots_2357 = 16787542+-- constant _KEY_braille_dots_23578++_KEY_braille_dots_23578 :: Int32+_KEY_braille_dots_23578 = 16787670+-- constant _KEY_braille_dots_2358++_KEY_braille_dots_2358 :: Int32+_KEY_braille_dots_2358 = 16787606+-- constant _KEY_braille_dots_236++_KEY_braille_dots_236 :: Int32+_KEY_braille_dots_236 = 16787494+-- constant _KEY_braille_dots_2367++_KEY_braille_dots_2367 :: Int32+_KEY_braille_dots_2367 = 16787558+-- constant _KEY_braille_dots_23678++_KEY_braille_dots_23678 :: Int32+_KEY_braille_dots_23678 = 16787686+-- constant _KEY_braille_dots_2368++_KEY_braille_dots_2368 :: Int32+_KEY_braille_dots_2368 = 16787622+-- constant _KEY_braille_dots_237++_KEY_braille_dots_237 :: Int32+_KEY_braille_dots_237 = 16787526+-- constant _KEY_braille_dots_2378++_KEY_braille_dots_2378 :: Int32+_KEY_braille_dots_2378 = 16787654+-- constant _KEY_braille_dots_238++_KEY_braille_dots_238 :: Int32+_KEY_braille_dots_238 = 16787590+-- constant _KEY_braille_dots_24++_KEY_braille_dots_24 :: Int32+_KEY_braille_dots_24 = 16787466+-- constant _KEY_braille_dots_245++_KEY_braille_dots_245 :: Int32+_KEY_braille_dots_245 = 16787482+-- constant _KEY_braille_dots_2456++_KEY_braille_dots_2456 :: Int32+_KEY_braille_dots_2456 = 16787514+-- constant _KEY_braille_dots_24567++_KEY_braille_dots_24567 :: Int32+_KEY_braille_dots_24567 = 16787578+-- constant _KEY_braille_dots_245678++_KEY_braille_dots_245678 :: Int32+_KEY_braille_dots_245678 = 16787706+-- constant _KEY_braille_dots_24568++_KEY_braille_dots_24568 :: Int32+_KEY_braille_dots_24568 = 16787642+-- constant _KEY_braille_dots_2457++_KEY_braille_dots_2457 :: Int32+_KEY_braille_dots_2457 = 16787546+-- constant _KEY_braille_dots_24578++_KEY_braille_dots_24578 :: Int32+_KEY_braille_dots_24578 = 16787674+-- constant _KEY_braille_dots_2458++_KEY_braille_dots_2458 :: Int32+_KEY_braille_dots_2458 = 16787610+-- constant _KEY_braille_dots_246++_KEY_braille_dots_246 :: Int32+_KEY_braille_dots_246 = 16787498+-- constant _KEY_braille_dots_2467++_KEY_braille_dots_2467 :: Int32+_KEY_braille_dots_2467 = 16787562+-- constant _KEY_braille_dots_24678++_KEY_braille_dots_24678 :: Int32+_KEY_braille_dots_24678 = 16787690+-- constant _KEY_braille_dots_2468++_KEY_braille_dots_2468 :: Int32+_KEY_braille_dots_2468 = 16787626+-- constant _KEY_braille_dots_247++_KEY_braille_dots_247 :: Int32+_KEY_braille_dots_247 = 16787530+-- constant _KEY_braille_dots_2478++_KEY_braille_dots_2478 :: Int32+_KEY_braille_dots_2478 = 16787658+-- constant _KEY_braille_dots_248++_KEY_braille_dots_248 :: Int32+_KEY_braille_dots_248 = 16787594+-- constant _KEY_braille_dots_25++_KEY_braille_dots_25 :: Int32+_KEY_braille_dots_25 = 16787474+-- constant _KEY_braille_dots_256++_KEY_braille_dots_256 :: Int32+_KEY_braille_dots_256 = 16787506+-- constant _KEY_braille_dots_2567++_KEY_braille_dots_2567 :: Int32+_KEY_braille_dots_2567 = 16787570+-- constant _KEY_braille_dots_25678++_KEY_braille_dots_25678 :: Int32+_KEY_braille_dots_25678 = 16787698+-- constant _KEY_braille_dots_2568++_KEY_braille_dots_2568 :: Int32+_KEY_braille_dots_2568 = 16787634+-- constant _KEY_braille_dots_257++_KEY_braille_dots_257 :: Int32+_KEY_braille_dots_257 = 16787538+-- constant _KEY_braille_dots_2578++_KEY_braille_dots_2578 :: Int32+_KEY_braille_dots_2578 = 16787666+-- constant _KEY_braille_dots_258++_KEY_braille_dots_258 :: Int32+_KEY_braille_dots_258 = 16787602+-- constant _KEY_braille_dots_26++_KEY_braille_dots_26 :: Int32+_KEY_braille_dots_26 = 16787490+-- constant _KEY_braille_dots_267++_KEY_braille_dots_267 :: Int32+_KEY_braille_dots_267 = 16787554+-- constant _KEY_braille_dots_2678++_KEY_braille_dots_2678 :: Int32+_KEY_braille_dots_2678 = 16787682+-- constant _KEY_braille_dots_268++_KEY_braille_dots_268 :: Int32+_KEY_braille_dots_268 = 16787618+-- constant _KEY_braille_dots_27++_KEY_braille_dots_27 :: Int32+_KEY_braille_dots_27 = 16787522+-- constant _KEY_braille_dots_278++_KEY_braille_dots_278 :: Int32+_KEY_braille_dots_278 = 16787650+-- constant _KEY_braille_dots_28++_KEY_braille_dots_28 :: Int32+_KEY_braille_dots_28 = 16787586+-- constant _KEY_braille_dots_3++_KEY_braille_dots_3 :: Int32+_KEY_braille_dots_3 = 16787460+-- constant _KEY_braille_dots_34++_KEY_braille_dots_34 :: Int32+_KEY_braille_dots_34 = 16787468+-- constant _KEY_braille_dots_345++_KEY_braille_dots_345 :: Int32+_KEY_braille_dots_345 = 16787484+-- constant _KEY_braille_dots_3456++_KEY_braille_dots_3456 :: Int32+_KEY_braille_dots_3456 = 16787516+-- constant _KEY_braille_dots_34567++_KEY_braille_dots_34567 :: Int32+_KEY_braille_dots_34567 = 16787580+-- constant _KEY_braille_dots_345678++_KEY_braille_dots_345678 :: Int32+_KEY_braille_dots_345678 = 16787708+-- constant _KEY_braille_dots_34568++_KEY_braille_dots_34568 :: Int32+_KEY_braille_dots_34568 = 16787644+-- constant _KEY_braille_dots_3457++_KEY_braille_dots_3457 :: Int32+_KEY_braille_dots_3457 = 16787548+-- constant _KEY_braille_dots_34578++_KEY_braille_dots_34578 :: Int32+_KEY_braille_dots_34578 = 16787676+-- constant _KEY_braille_dots_3458++_KEY_braille_dots_3458 :: Int32+_KEY_braille_dots_3458 = 16787612+-- constant _KEY_braille_dots_346++_KEY_braille_dots_346 :: Int32+_KEY_braille_dots_346 = 16787500+-- constant _KEY_braille_dots_3467++_KEY_braille_dots_3467 :: Int32+_KEY_braille_dots_3467 = 16787564+-- constant _KEY_braille_dots_34678++_KEY_braille_dots_34678 :: Int32+_KEY_braille_dots_34678 = 16787692+-- constant _KEY_braille_dots_3468++_KEY_braille_dots_3468 :: Int32+_KEY_braille_dots_3468 = 16787628+-- constant _KEY_braille_dots_347++_KEY_braille_dots_347 :: Int32+_KEY_braille_dots_347 = 16787532+-- constant _KEY_braille_dots_3478++_KEY_braille_dots_3478 :: Int32+_KEY_braille_dots_3478 = 16787660+-- constant _KEY_braille_dots_348++_KEY_braille_dots_348 :: Int32+_KEY_braille_dots_348 = 16787596+-- constant _KEY_braille_dots_35++_KEY_braille_dots_35 :: Int32+_KEY_braille_dots_35 = 16787476+-- constant _KEY_braille_dots_356++_KEY_braille_dots_356 :: Int32+_KEY_braille_dots_356 = 16787508+-- constant _KEY_braille_dots_3567++_KEY_braille_dots_3567 :: Int32+_KEY_braille_dots_3567 = 16787572+-- constant _KEY_braille_dots_35678++_KEY_braille_dots_35678 :: Int32+_KEY_braille_dots_35678 = 16787700+-- constant _KEY_braille_dots_3568++_KEY_braille_dots_3568 :: Int32+_KEY_braille_dots_3568 = 16787636+-- constant _KEY_braille_dots_357++_KEY_braille_dots_357 :: Int32+_KEY_braille_dots_357 = 16787540+-- constant _KEY_braille_dots_3578++_KEY_braille_dots_3578 :: Int32+_KEY_braille_dots_3578 = 16787668+-- constant _KEY_braille_dots_358++_KEY_braille_dots_358 :: Int32+_KEY_braille_dots_358 = 16787604+-- constant _KEY_braille_dots_36++_KEY_braille_dots_36 :: Int32+_KEY_braille_dots_36 = 16787492+-- constant _KEY_braille_dots_367++_KEY_braille_dots_367 :: Int32+_KEY_braille_dots_367 = 16787556+-- constant _KEY_braille_dots_3678++_KEY_braille_dots_3678 :: Int32+_KEY_braille_dots_3678 = 16787684+-- constant _KEY_braille_dots_368++_KEY_braille_dots_368 :: Int32+_KEY_braille_dots_368 = 16787620+-- constant _KEY_braille_dots_37++_KEY_braille_dots_37 :: Int32+_KEY_braille_dots_37 = 16787524+-- constant _KEY_braille_dots_378++_KEY_braille_dots_378 :: Int32+_KEY_braille_dots_378 = 16787652+-- constant _KEY_braille_dots_38++_KEY_braille_dots_38 :: Int32+_KEY_braille_dots_38 = 16787588+-- constant _KEY_braille_dots_4++_KEY_braille_dots_4 :: Int32+_KEY_braille_dots_4 = 16787464+-- constant _KEY_braille_dots_45++_KEY_braille_dots_45 :: Int32+_KEY_braille_dots_45 = 16787480+-- constant _KEY_braille_dots_456++_KEY_braille_dots_456 :: Int32+_KEY_braille_dots_456 = 16787512+-- constant _KEY_braille_dots_4567++_KEY_braille_dots_4567 :: Int32+_KEY_braille_dots_4567 = 16787576+-- constant _KEY_braille_dots_45678++_KEY_braille_dots_45678 :: Int32+_KEY_braille_dots_45678 = 16787704+-- constant _KEY_braille_dots_4568++_KEY_braille_dots_4568 :: Int32+_KEY_braille_dots_4568 = 16787640+-- constant _KEY_braille_dots_457++_KEY_braille_dots_457 :: Int32+_KEY_braille_dots_457 = 16787544+-- constant _KEY_braille_dots_4578++_KEY_braille_dots_4578 :: Int32+_KEY_braille_dots_4578 = 16787672+-- constant _KEY_braille_dots_458++_KEY_braille_dots_458 :: Int32+_KEY_braille_dots_458 = 16787608+-- constant _KEY_braille_dots_46++_KEY_braille_dots_46 :: Int32+_KEY_braille_dots_46 = 16787496+-- constant _KEY_braille_dots_467++_KEY_braille_dots_467 :: Int32+_KEY_braille_dots_467 = 16787560+-- constant _KEY_braille_dots_4678++_KEY_braille_dots_4678 :: Int32+_KEY_braille_dots_4678 = 16787688+-- constant _KEY_braille_dots_468++_KEY_braille_dots_468 :: Int32+_KEY_braille_dots_468 = 16787624+-- constant _KEY_braille_dots_47++_KEY_braille_dots_47 :: Int32+_KEY_braille_dots_47 = 16787528+-- constant _KEY_braille_dots_478++_KEY_braille_dots_478 :: Int32+_KEY_braille_dots_478 = 16787656+-- constant _KEY_braille_dots_48++_KEY_braille_dots_48 :: Int32+_KEY_braille_dots_48 = 16787592+-- constant _KEY_braille_dots_5++_KEY_braille_dots_5 :: Int32+_KEY_braille_dots_5 = 16787472+-- constant _KEY_braille_dots_56++_KEY_braille_dots_56 :: Int32+_KEY_braille_dots_56 = 16787504+-- constant _KEY_braille_dots_567++_KEY_braille_dots_567 :: Int32+_KEY_braille_dots_567 = 16787568+-- constant _KEY_braille_dots_5678++_KEY_braille_dots_5678 :: Int32+_KEY_braille_dots_5678 = 16787696+-- constant _KEY_braille_dots_568++_KEY_braille_dots_568 :: Int32+_KEY_braille_dots_568 = 16787632+-- constant _KEY_braille_dots_57++_KEY_braille_dots_57 :: Int32+_KEY_braille_dots_57 = 16787536+-- constant _KEY_braille_dots_578++_KEY_braille_dots_578 :: Int32+_KEY_braille_dots_578 = 16787664+-- constant _KEY_braille_dots_58++_KEY_braille_dots_58 :: Int32+_KEY_braille_dots_58 = 16787600+-- constant _KEY_braille_dots_6++_KEY_braille_dots_6 :: Int32+_KEY_braille_dots_6 = 16787488+-- constant _KEY_braille_dots_67++_KEY_braille_dots_67 :: Int32+_KEY_braille_dots_67 = 16787552+-- constant _KEY_braille_dots_678++_KEY_braille_dots_678 :: Int32+_KEY_braille_dots_678 = 16787680+-- constant _KEY_braille_dots_68++_KEY_braille_dots_68 :: Int32+_KEY_braille_dots_68 = 16787616+-- constant _KEY_braille_dots_7++_KEY_braille_dots_7 :: Int32+_KEY_braille_dots_7 = 16787520+-- constant _KEY_braille_dots_78++_KEY_braille_dots_78 :: Int32+_KEY_braille_dots_78 = 16787648+-- constant _KEY_braille_dots_8++_KEY_braille_dots_8 :: Int32+_KEY_braille_dots_8 = 16787584+-- constant _KEY_breve++_KEY_breve :: Int32+_KEY_breve = 418+-- constant _KEY_brokenbar++_KEY_brokenbar :: Int32+_KEY_brokenbar = 166+-- constant _KEY_c++_KEY_c :: Int32+_KEY_c = 99+-- constant _KEY_c_h++_KEY_c_h :: Int32+_KEY_c_h = 65187+-- constant _KEY_cabovedot++_KEY_cabovedot :: Int32+_KEY_cabovedot = 741+-- constant _KEY_cacute++_KEY_cacute :: Int32+_KEY_cacute = 486+-- constant _KEY_careof++_KEY_careof :: Int32+_KEY_careof = 2744+-- constant _KEY_caret++_KEY_caret :: Int32+_KEY_caret = 2812+-- constant _KEY_caron++_KEY_caron :: Int32+_KEY_caron = 439+-- constant _KEY_ccaron++_KEY_ccaron :: Int32+_KEY_ccaron = 488+-- constant _KEY_ccedilla++_KEY_ccedilla :: Int32+_KEY_ccedilla = 231+-- constant _KEY_ccircumflex++_KEY_ccircumflex :: Int32+_KEY_ccircumflex = 742+-- constant _KEY_cedilla++_KEY_cedilla :: Int32+_KEY_cedilla = 184+-- constant _KEY_cent++_KEY_cent :: Int32+_KEY_cent = 162+-- constant _KEY_ch++_KEY_ch :: Int32+_KEY_ch = 65184+-- constant _KEY_checkerboard++_KEY_checkerboard :: Int32+_KEY_checkerboard = 2529+-- constant _KEY_checkmark++_KEY_checkmark :: Int32+_KEY_checkmark = 2803+-- constant _KEY_circle++_KEY_circle :: Int32+_KEY_circle = 3023+-- constant _KEY_club++_KEY_club :: Int32+_KEY_club = 2796+-- constant _KEY_colon++_KEY_colon :: Int32+_KEY_colon = 58+-- constant _KEY_comma++_KEY_comma :: Int32+_KEY_comma = 44+-- constant _KEY_containsas++_KEY_containsas :: Int32+_KEY_containsas = 16785931+-- constant _KEY_copyright++_KEY_copyright :: Int32+_KEY_copyright = 169+-- constant _KEY_cr++_KEY_cr :: Int32+_KEY_cr = 2532+-- constant _KEY_crossinglines++_KEY_crossinglines :: Int32+_KEY_crossinglines = 2542+-- constant _KEY_cuberoot++_KEY_cuberoot :: Int32+_KEY_cuberoot = 16785947+-- constant _KEY_currency++_KEY_currency :: Int32+_KEY_currency = 164+-- constant _KEY_cursor++_KEY_cursor :: Int32+_KEY_cursor = 2815+-- constant _KEY_d++_KEY_d :: Int32+_KEY_d = 100+-- constant _KEY_dabovedot++_KEY_dabovedot :: Int32+_KEY_dabovedot = 16784907+-- constant _KEY_dagger++_KEY_dagger :: Int32+_KEY_dagger = 2801+-- constant _KEY_dcaron++_KEY_dcaron :: Int32+_KEY_dcaron = 495+-- constant _KEY_dead_A++_KEY_dead_A :: Int32+_KEY_dead_A = 65153+-- constant _KEY_dead_E++_KEY_dead_E :: Int32+_KEY_dead_E = 65155+-- constant _KEY_dead_I++_KEY_dead_I :: Int32+_KEY_dead_I = 65157+-- constant _KEY_dead_O++_KEY_dead_O :: Int32+_KEY_dead_O = 65159+-- constant _KEY_dead_U++_KEY_dead_U :: Int32+_KEY_dead_U = 65161+-- constant _KEY_dead_a++_KEY_dead_a :: Int32+_KEY_dead_a = 65152+-- constant _KEY_dead_abovecomma++_KEY_dead_abovecomma :: Int32+_KEY_dead_abovecomma = 65124+-- constant _KEY_dead_abovedot++_KEY_dead_abovedot :: Int32+_KEY_dead_abovedot = 65110+-- constant _KEY_dead_abovereversedcomma++_KEY_dead_abovereversedcomma :: Int32+_KEY_dead_abovereversedcomma = 65125+-- constant _KEY_dead_abovering++_KEY_dead_abovering :: Int32+_KEY_dead_abovering = 65112+-- constant _KEY_dead_acute++_KEY_dead_acute :: Int32+_KEY_dead_acute = 65105+-- constant _KEY_dead_belowbreve++_KEY_dead_belowbreve :: Int32+_KEY_dead_belowbreve = 65131+-- constant _KEY_dead_belowcircumflex++_KEY_dead_belowcircumflex :: Int32+_KEY_dead_belowcircumflex = 65129+-- constant _KEY_dead_belowcomma++_KEY_dead_belowcomma :: Int32+_KEY_dead_belowcomma = 65134+-- constant _KEY_dead_belowdiaeresis++_KEY_dead_belowdiaeresis :: Int32+_KEY_dead_belowdiaeresis = 65132+-- constant _KEY_dead_belowdot++_KEY_dead_belowdot :: Int32+_KEY_dead_belowdot = 65120+-- constant _KEY_dead_belowmacron++_KEY_dead_belowmacron :: Int32+_KEY_dead_belowmacron = 65128+-- constant _KEY_dead_belowring++_KEY_dead_belowring :: Int32+_KEY_dead_belowring = 65127+-- constant _KEY_dead_belowtilde++_KEY_dead_belowtilde :: Int32+_KEY_dead_belowtilde = 65130+-- constant _KEY_dead_breve++_KEY_dead_breve :: Int32+_KEY_dead_breve = 65109+-- constant _KEY_dead_capital_schwa++_KEY_dead_capital_schwa :: Int32+_KEY_dead_capital_schwa = 65163+-- constant _KEY_dead_caron++_KEY_dead_caron :: Int32+_KEY_dead_caron = 65114+-- constant _KEY_dead_cedilla++_KEY_dead_cedilla :: Int32+_KEY_dead_cedilla = 65115+-- constant _KEY_dead_circumflex++_KEY_dead_circumflex :: Int32+_KEY_dead_circumflex = 65106+-- constant _KEY_dead_currency++_KEY_dead_currency :: Int32+_KEY_dead_currency = 65135+-- constant _KEY_dead_dasia++_KEY_dead_dasia :: Int32+_KEY_dead_dasia = 65125+-- constant _KEY_dead_diaeresis++_KEY_dead_diaeresis :: Int32+_KEY_dead_diaeresis = 65111+-- constant _KEY_dead_doubleacute++_KEY_dead_doubleacute :: Int32+_KEY_dead_doubleacute = 65113+-- constant _KEY_dead_doublegrave++_KEY_dead_doublegrave :: Int32+_KEY_dead_doublegrave = 65126+-- constant _KEY_dead_e++_KEY_dead_e :: Int32+_KEY_dead_e = 65154+-- constant _KEY_dead_grave++_KEY_dead_grave :: Int32+_KEY_dead_grave = 65104+-- constant _KEY_dead_greek++_KEY_dead_greek :: Int32+_KEY_dead_greek = 65164+-- constant _KEY_dead_hook++_KEY_dead_hook :: Int32+_KEY_dead_hook = 65121+-- constant _KEY_dead_horn++_KEY_dead_horn :: Int32+_KEY_dead_horn = 65122+-- constant _KEY_dead_i++_KEY_dead_i :: Int32+_KEY_dead_i = 65156+-- constant _KEY_dead_invertedbreve++_KEY_dead_invertedbreve :: Int32+_KEY_dead_invertedbreve = 65133+-- constant _KEY_dead_iota++_KEY_dead_iota :: Int32+_KEY_dead_iota = 65117+-- constant _KEY_dead_macron++_KEY_dead_macron :: Int32+_KEY_dead_macron = 65108+-- constant _KEY_dead_o++_KEY_dead_o :: Int32+_KEY_dead_o = 65158+-- constant _KEY_dead_ogonek++_KEY_dead_ogonek :: Int32+_KEY_dead_ogonek = 65116+-- constant _KEY_dead_perispomeni++_KEY_dead_perispomeni :: Int32+_KEY_dead_perispomeni = 65107+-- constant _KEY_dead_psili++_KEY_dead_psili :: Int32+_KEY_dead_psili = 65124+-- constant _KEY_dead_semivoiced_sound++_KEY_dead_semivoiced_sound :: Int32+_KEY_dead_semivoiced_sound = 65119+-- constant _KEY_dead_small_schwa++_KEY_dead_small_schwa :: Int32+_KEY_dead_small_schwa = 65162+-- constant _KEY_dead_stroke++_KEY_dead_stroke :: Int32+_KEY_dead_stroke = 65123+-- constant _KEY_dead_tilde++_KEY_dead_tilde :: Int32+_KEY_dead_tilde = 65107+-- constant _KEY_dead_u++_KEY_dead_u :: Int32+_KEY_dead_u = 65160+-- constant _KEY_dead_voiced_sound++_KEY_dead_voiced_sound :: Int32+_KEY_dead_voiced_sound = 65118+-- constant _KEY_decimalpoint++_KEY_decimalpoint :: Int32+_KEY_decimalpoint = 2749+-- constant _KEY_degree++_KEY_degree :: Int32+_KEY_degree = 176+-- constant _KEY_diaeresis++_KEY_diaeresis :: Int32+_KEY_diaeresis = 168+-- constant _KEY_diamond++_KEY_diamond :: Int32+_KEY_diamond = 2797+-- constant _KEY_digitspace++_KEY_digitspace :: Int32+_KEY_digitspace = 2725+-- constant _KEY_dintegral++_KEY_dintegral :: Int32+_KEY_dintegral = 16785964+-- constant _KEY_division++_KEY_division :: Int32+_KEY_division = 247+-- constant _KEY_dollar++_KEY_dollar :: Int32+_KEY_dollar = 36+-- constant _KEY_doubbaselinedot++_KEY_doubbaselinedot :: Int32+_KEY_doubbaselinedot = 2735+-- constant _KEY_doubleacute++_KEY_doubleacute :: Int32+_KEY_doubleacute = 445+-- constant _KEY_doubledagger++_KEY_doubledagger :: Int32+_KEY_doubledagger = 2802+-- constant _KEY_doublelowquotemark++_KEY_doublelowquotemark :: Int32+_KEY_doublelowquotemark = 2814+-- constant _KEY_downarrow++_KEY_downarrow :: Int32+_KEY_downarrow = 2302+-- constant _KEY_downcaret++_KEY_downcaret :: Int32+_KEY_downcaret = 2984+-- constant _KEY_downshoe++_KEY_downshoe :: Int32+_KEY_downshoe = 3030+-- constant _KEY_downstile++_KEY_downstile :: Int32+_KEY_downstile = 3012+-- constant _KEY_downtack++_KEY_downtack :: Int32+_KEY_downtack = 3010+-- constant _KEY_dstroke++_KEY_dstroke :: Int32+_KEY_dstroke = 496+-- constant _KEY_e++_KEY_e :: Int32+_KEY_e = 101+-- constant _KEY_eabovedot++_KEY_eabovedot :: Int32+_KEY_eabovedot = 1004+-- constant _KEY_eacute++_KEY_eacute :: Int32+_KEY_eacute = 233+-- constant _KEY_ebelowdot++_KEY_ebelowdot :: Int32+_KEY_ebelowdot = 16785081+-- constant _KEY_ecaron++_KEY_ecaron :: Int32+_KEY_ecaron = 492+-- constant _KEY_ecircumflex++_KEY_ecircumflex :: Int32+_KEY_ecircumflex = 234+-- constant _KEY_ecircumflexacute++_KEY_ecircumflexacute :: Int32+_KEY_ecircumflexacute = 16785087+-- constant _KEY_ecircumflexbelowdot++_KEY_ecircumflexbelowdot :: Int32+_KEY_ecircumflexbelowdot = 16785095+-- constant _KEY_ecircumflexgrave++_KEY_ecircumflexgrave :: Int32+_KEY_ecircumflexgrave = 16785089+-- constant _KEY_ecircumflexhook++_KEY_ecircumflexhook :: Int32+_KEY_ecircumflexhook = 16785091+-- constant _KEY_ecircumflextilde++_KEY_ecircumflextilde :: Int32+_KEY_ecircumflextilde = 16785093+-- constant _KEY_ediaeresis++_KEY_ediaeresis :: Int32+_KEY_ediaeresis = 235+-- constant _KEY_egrave++_KEY_egrave :: Int32+_KEY_egrave = 232+-- constant _KEY_ehook++_KEY_ehook :: Int32+_KEY_ehook = 16785083+-- constant _KEY_eightsubscript++_KEY_eightsubscript :: Int32+_KEY_eightsubscript = 16785544+-- constant _KEY_eightsuperior++_KEY_eightsuperior :: Int32+_KEY_eightsuperior = 16785528+-- constant _KEY_elementof++_KEY_elementof :: Int32+_KEY_elementof = 16785928+-- constant _KEY_ellipsis++_KEY_ellipsis :: Int32+_KEY_ellipsis = 2734+-- constant _KEY_em3space++_KEY_em3space :: Int32+_KEY_em3space = 2723+-- constant _KEY_em4space++_KEY_em4space :: Int32+_KEY_em4space = 2724+-- constant _KEY_emacron++_KEY_emacron :: Int32+_KEY_emacron = 954+-- constant _KEY_emdash++_KEY_emdash :: Int32+_KEY_emdash = 2729+-- constant _KEY_emfilledcircle++_KEY_emfilledcircle :: Int32+_KEY_emfilledcircle = 2782+-- constant _KEY_emfilledrect++_KEY_emfilledrect :: Int32+_KEY_emfilledrect = 2783+-- constant _KEY_emopencircle++_KEY_emopencircle :: Int32+_KEY_emopencircle = 2766+-- constant _KEY_emopenrectangle++_KEY_emopenrectangle :: Int32+_KEY_emopenrectangle = 2767+-- constant _KEY_emptyset++_KEY_emptyset :: Int32+_KEY_emptyset = 16785925+-- constant _KEY_emspace++_KEY_emspace :: Int32+_KEY_emspace = 2721+-- constant _KEY_endash++_KEY_endash :: Int32+_KEY_endash = 2730+-- constant _KEY_enfilledcircbullet++_KEY_enfilledcircbullet :: Int32+_KEY_enfilledcircbullet = 2790+-- constant _KEY_enfilledsqbullet++_KEY_enfilledsqbullet :: Int32+_KEY_enfilledsqbullet = 2791+-- constant _KEY_eng++_KEY_eng :: Int32+_KEY_eng = 959+-- constant _KEY_enopencircbullet++_KEY_enopencircbullet :: Int32+_KEY_enopencircbullet = 2784+-- constant _KEY_enopensquarebullet++_KEY_enopensquarebullet :: Int32+_KEY_enopensquarebullet = 2785+-- constant _KEY_enspace++_KEY_enspace :: Int32+_KEY_enspace = 2722+-- constant _KEY_eogonek++_KEY_eogonek :: Int32+_KEY_eogonek = 490+-- constant _KEY_equal++_KEY_equal :: Int32+_KEY_equal = 61+-- constant _KEY_eth++_KEY_eth :: Int32+_KEY_eth = 240+-- constant _KEY_etilde++_KEY_etilde :: Int32+_KEY_etilde = 16785085+-- constant _KEY_exclam++_KEY_exclam :: Int32+_KEY_exclam = 33+-- constant _KEY_exclamdown++_KEY_exclamdown :: Int32+_KEY_exclamdown = 161+-- constant _KEY_ezh++_KEY_ezh :: Int32+_KEY_ezh = 16777874+-- constant _KEY_f++_KEY_f :: Int32+_KEY_f = 102+-- constant _KEY_fabovedot++_KEY_fabovedot :: Int32+_KEY_fabovedot = 16784927+-- constant _KEY_femalesymbol++_KEY_femalesymbol :: Int32+_KEY_femalesymbol = 2808+-- constant _KEY_ff++_KEY_ff :: Int32+_KEY_ff = 2531+-- constant _KEY_figdash++_KEY_figdash :: Int32+_KEY_figdash = 2747+-- constant _KEY_filledlefttribullet++_KEY_filledlefttribullet :: Int32+_KEY_filledlefttribullet = 2780+-- constant _KEY_filledrectbullet++_KEY_filledrectbullet :: Int32+_KEY_filledrectbullet = 2779+-- constant _KEY_filledrighttribullet++_KEY_filledrighttribullet :: Int32+_KEY_filledrighttribullet = 2781+-- constant _KEY_filledtribulletdown++_KEY_filledtribulletdown :: Int32+_KEY_filledtribulletdown = 2793+-- constant _KEY_filledtribulletup++_KEY_filledtribulletup :: Int32+_KEY_filledtribulletup = 2792+-- constant _KEY_fiveeighths++_KEY_fiveeighths :: Int32+_KEY_fiveeighths = 2757+-- constant _KEY_fivesixths++_KEY_fivesixths :: Int32+_KEY_fivesixths = 2743+-- constant _KEY_fivesubscript++_KEY_fivesubscript :: Int32+_KEY_fivesubscript = 16785541+-- constant _KEY_fivesuperior++_KEY_fivesuperior :: Int32+_KEY_fivesuperior = 16785525+-- constant _KEY_fourfifths++_KEY_fourfifths :: Int32+_KEY_fourfifths = 2741+-- constant _KEY_foursubscript++_KEY_foursubscript :: Int32+_KEY_foursubscript = 16785540+-- constant _KEY_foursuperior++_KEY_foursuperior :: Int32+_KEY_foursuperior = 16785524+-- constant _KEY_fourthroot++_KEY_fourthroot :: Int32+_KEY_fourthroot = 16785948+-- constant _KEY_function++_KEY_function :: Int32+_KEY_function = 2294+-- constant _KEY_g++_KEY_g :: Int32+_KEY_g = 103+-- constant _KEY_gabovedot++_KEY_gabovedot :: Int32+_KEY_gabovedot = 757+-- constant _KEY_gbreve++_KEY_gbreve :: Int32+_KEY_gbreve = 699+-- constant _KEY_gcaron++_KEY_gcaron :: Int32+_KEY_gcaron = 16777703+-- constant _KEY_gcedilla++_KEY_gcedilla :: Int32+_KEY_gcedilla = 955+-- constant _KEY_gcircumflex++_KEY_gcircumflex :: Int32+_KEY_gcircumflex = 760+-- constant _KEY_grave++_KEY_grave :: Int32+_KEY_grave = 96+-- constant _KEY_greater++_KEY_greater :: Int32+_KEY_greater = 62+-- constant _KEY_greaterthanequal++_KEY_greaterthanequal :: Int32+_KEY_greaterthanequal = 2238+-- constant _KEY_guillemotleft++_KEY_guillemotleft :: Int32+_KEY_guillemotleft = 171+-- constant _KEY_guillemotright++_KEY_guillemotright :: Int32+_KEY_guillemotright = 187+-- constant _KEY_h++_KEY_h :: Int32+_KEY_h = 104+-- constant _KEY_hairspace++_KEY_hairspace :: Int32+_KEY_hairspace = 2728+-- constant _KEY_hcircumflex++_KEY_hcircumflex :: Int32+_KEY_hcircumflex = 694+-- constant _KEY_heart++_KEY_heart :: Int32+_KEY_heart = 2798+-- constant _KEY_hebrew_aleph++_KEY_hebrew_aleph :: Int32+_KEY_hebrew_aleph = 3296+-- constant _KEY_hebrew_ayin++_KEY_hebrew_ayin :: Int32+_KEY_hebrew_ayin = 3314+-- constant _KEY_hebrew_bet++_KEY_hebrew_bet :: Int32+_KEY_hebrew_bet = 3297+-- constant _KEY_hebrew_beth++_KEY_hebrew_beth :: Int32+_KEY_hebrew_beth = 3297+-- constant _KEY_hebrew_chet++_KEY_hebrew_chet :: Int32+_KEY_hebrew_chet = 3303+-- constant _KEY_hebrew_dalet++_KEY_hebrew_dalet :: Int32+_KEY_hebrew_dalet = 3299+-- constant _KEY_hebrew_daleth++_KEY_hebrew_daleth :: Int32+_KEY_hebrew_daleth = 3299+-- constant _KEY_hebrew_doublelowline++_KEY_hebrew_doublelowline :: Int32+_KEY_hebrew_doublelowline = 3295+-- constant _KEY_hebrew_finalkaph++_KEY_hebrew_finalkaph :: Int32+_KEY_hebrew_finalkaph = 3306+-- constant _KEY_hebrew_finalmem++_KEY_hebrew_finalmem :: Int32+_KEY_hebrew_finalmem = 3309+-- constant _KEY_hebrew_finalnun++_KEY_hebrew_finalnun :: Int32+_KEY_hebrew_finalnun = 3311+-- constant _KEY_hebrew_finalpe++_KEY_hebrew_finalpe :: Int32+_KEY_hebrew_finalpe = 3315+-- constant _KEY_hebrew_finalzade++_KEY_hebrew_finalzade :: Int32+_KEY_hebrew_finalzade = 3317+-- constant _KEY_hebrew_finalzadi++_KEY_hebrew_finalzadi :: Int32+_KEY_hebrew_finalzadi = 3317+-- constant _KEY_hebrew_gimel++_KEY_hebrew_gimel :: Int32+_KEY_hebrew_gimel = 3298+-- constant _KEY_hebrew_gimmel++_KEY_hebrew_gimmel :: Int32+_KEY_hebrew_gimmel = 3298+-- constant _KEY_hebrew_he++_KEY_hebrew_he :: Int32+_KEY_hebrew_he = 3300+-- constant _KEY_hebrew_het++_KEY_hebrew_het :: Int32+_KEY_hebrew_het = 3303+-- constant _KEY_hebrew_kaph++_KEY_hebrew_kaph :: Int32+_KEY_hebrew_kaph = 3307+-- constant _KEY_hebrew_kuf++_KEY_hebrew_kuf :: Int32+_KEY_hebrew_kuf = 3319+-- constant _KEY_hebrew_lamed++_KEY_hebrew_lamed :: Int32+_KEY_hebrew_lamed = 3308+-- constant _KEY_hebrew_mem++_KEY_hebrew_mem :: Int32+_KEY_hebrew_mem = 3310+-- constant _KEY_hebrew_nun++_KEY_hebrew_nun :: Int32+_KEY_hebrew_nun = 3312+-- constant _KEY_hebrew_pe++_KEY_hebrew_pe :: Int32+_KEY_hebrew_pe = 3316+-- constant _KEY_hebrew_qoph++_KEY_hebrew_qoph :: Int32+_KEY_hebrew_qoph = 3319+-- constant _KEY_hebrew_resh++_KEY_hebrew_resh :: Int32+_KEY_hebrew_resh = 3320+-- constant _KEY_hebrew_samech++_KEY_hebrew_samech :: Int32+_KEY_hebrew_samech = 3313+-- constant _KEY_hebrew_samekh++_KEY_hebrew_samekh :: Int32+_KEY_hebrew_samekh = 3313+-- constant _KEY_hebrew_shin++_KEY_hebrew_shin :: Int32+_KEY_hebrew_shin = 3321+-- constant _KEY_hebrew_taf++_KEY_hebrew_taf :: Int32+_KEY_hebrew_taf = 3322+-- constant _KEY_hebrew_taw++_KEY_hebrew_taw :: Int32+_KEY_hebrew_taw = 3322+-- constant _KEY_hebrew_tet++_KEY_hebrew_tet :: Int32+_KEY_hebrew_tet = 3304+-- constant _KEY_hebrew_teth++_KEY_hebrew_teth :: Int32+_KEY_hebrew_teth = 3304+-- constant _KEY_hebrew_waw++_KEY_hebrew_waw :: Int32+_KEY_hebrew_waw = 3301+-- constant _KEY_hebrew_yod++_KEY_hebrew_yod :: Int32+_KEY_hebrew_yod = 3305+-- constant _KEY_hebrew_zade++_KEY_hebrew_zade :: Int32+_KEY_hebrew_zade = 3318+-- constant _KEY_hebrew_zadi++_KEY_hebrew_zadi :: Int32+_KEY_hebrew_zadi = 3318+-- constant _KEY_hebrew_zain++_KEY_hebrew_zain :: Int32+_KEY_hebrew_zain = 3302+-- constant _KEY_hebrew_zayin++_KEY_hebrew_zayin :: Int32+_KEY_hebrew_zayin = 3302+-- constant _KEY_hexagram++_KEY_hexagram :: Int32+_KEY_hexagram = 2778+-- constant _KEY_horizconnector++_KEY_horizconnector :: Int32+_KEY_horizconnector = 2211+-- constant _KEY_horizlinescan1++_KEY_horizlinescan1 :: Int32+_KEY_horizlinescan1 = 2543+-- constant _KEY_horizlinescan3++_KEY_horizlinescan3 :: Int32+_KEY_horizlinescan3 = 2544+-- constant _KEY_horizlinescan5++_KEY_horizlinescan5 :: Int32+_KEY_horizlinescan5 = 2545+-- constant _KEY_horizlinescan7++_KEY_horizlinescan7 :: Int32+_KEY_horizlinescan7 = 2546+-- constant _KEY_horizlinescan9++_KEY_horizlinescan9 :: Int32+_KEY_horizlinescan9 = 2547+-- constant _KEY_hstroke++_KEY_hstroke :: Int32+_KEY_hstroke = 689+-- constant _KEY_ht++_KEY_ht :: Int32+_KEY_ht = 2530+-- constant _KEY_hyphen++_KEY_hyphen :: Int32+_KEY_hyphen = 173+-- constant _KEY_i++_KEY_i :: Int32+_KEY_i = 105+-- constant _KEY_iTouch++_KEY_iTouch :: Int32+_KEY_iTouch = 269025120+-- constant _KEY_iacute++_KEY_iacute :: Int32+_KEY_iacute = 237+-- constant _KEY_ibelowdot++_KEY_ibelowdot :: Int32+_KEY_ibelowdot = 16785099+-- constant _KEY_ibreve++_KEY_ibreve :: Int32+_KEY_ibreve = 16777517+-- constant _KEY_icircumflex++_KEY_icircumflex :: Int32+_KEY_icircumflex = 238+-- constant _KEY_identical++_KEY_identical :: Int32+_KEY_identical = 2255+-- constant _KEY_idiaeresis++_KEY_idiaeresis :: Int32+_KEY_idiaeresis = 239+-- constant _KEY_idotless++_KEY_idotless :: Int32+_KEY_idotless = 697+-- constant _KEY_ifonlyif++_KEY_ifonlyif :: Int32+_KEY_ifonlyif = 2253+-- constant _KEY_igrave++_KEY_igrave :: Int32+_KEY_igrave = 236+-- constant _KEY_ihook++_KEY_ihook :: Int32+_KEY_ihook = 16785097+-- constant _KEY_imacron++_KEY_imacron :: Int32+_KEY_imacron = 1007+-- constant _KEY_implies++_KEY_implies :: Int32+_KEY_implies = 2254+-- constant _KEY_includedin++_KEY_includedin :: Int32+_KEY_includedin = 2266+-- constant _KEY_includes++_KEY_includes :: Int32+_KEY_includes = 2267+-- constant _KEY_infinity++_KEY_infinity :: Int32+_KEY_infinity = 2242+-- constant _KEY_integral++_KEY_integral :: Int32+_KEY_integral = 2239+-- constant _KEY_intersection++_KEY_intersection :: Int32+_KEY_intersection = 2268+-- constant _KEY_iogonek++_KEY_iogonek :: Int32+_KEY_iogonek = 999+-- constant _KEY_itilde++_KEY_itilde :: Int32+_KEY_itilde = 949+-- constant _KEY_j++_KEY_j :: Int32+_KEY_j = 106+-- constant _KEY_jcircumflex++_KEY_jcircumflex :: Int32+_KEY_jcircumflex = 700+-- constant _KEY_jot++_KEY_jot :: Int32+_KEY_jot = 3018+-- constant _KEY_k++_KEY_k :: Int32+_KEY_k = 107+-- constant _KEY_kana_A++_KEY_kana_A :: Int32+_KEY_kana_A = 1201+-- constant _KEY_kana_CHI++_KEY_kana_CHI :: Int32+_KEY_kana_CHI = 1217+-- constant _KEY_kana_E++_KEY_kana_E :: Int32+_KEY_kana_E = 1204+-- constant _KEY_kana_FU++_KEY_kana_FU :: Int32+_KEY_kana_FU = 1228+-- constant _KEY_kana_HA++_KEY_kana_HA :: Int32+_KEY_kana_HA = 1226+-- constant _KEY_kana_HE++_KEY_kana_HE :: Int32+_KEY_kana_HE = 1229+-- constant _KEY_kana_HI++_KEY_kana_HI :: Int32+_KEY_kana_HI = 1227+-- constant _KEY_kana_HO++_KEY_kana_HO :: Int32+_KEY_kana_HO = 1230+-- constant _KEY_kana_HU++_KEY_kana_HU :: Int32+_KEY_kana_HU = 1228+-- constant _KEY_kana_I++_KEY_kana_I :: Int32+_KEY_kana_I = 1202+-- constant _KEY_kana_KA++_KEY_kana_KA :: Int32+_KEY_kana_KA = 1206+-- constant _KEY_kana_KE++_KEY_kana_KE :: Int32+_KEY_kana_KE = 1209+-- constant _KEY_kana_KI++_KEY_kana_KI :: Int32+_KEY_kana_KI = 1207+-- constant _KEY_kana_KO++_KEY_kana_KO :: Int32+_KEY_kana_KO = 1210+-- constant _KEY_kana_KU++_KEY_kana_KU :: Int32+_KEY_kana_KU = 1208+-- constant _KEY_kana_MA++_KEY_kana_MA :: Int32+_KEY_kana_MA = 1231+-- constant _KEY_kana_ME++_KEY_kana_ME :: Int32+_KEY_kana_ME = 1234+-- constant _KEY_kana_MI++_KEY_kana_MI :: Int32+_KEY_kana_MI = 1232+-- constant _KEY_kana_MO++_KEY_kana_MO :: Int32+_KEY_kana_MO = 1235+-- constant _KEY_kana_MU++_KEY_kana_MU :: Int32+_KEY_kana_MU = 1233+-- constant _KEY_kana_N++_KEY_kana_N :: Int32+_KEY_kana_N = 1245+-- constant _KEY_kana_NA++_KEY_kana_NA :: Int32+_KEY_kana_NA = 1221+-- constant _KEY_kana_NE++_KEY_kana_NE :: Int32+_KEY_kana_NE = 1224+-- constant _KEY_kana_NI++_KEY_kana_NI :: Int32+_KEY_kana_NI = 1222+-- constant _KEY_kana_NO++_KEY_kana_NO :: Int32+_KEY_kana_NO = 1225+-- constant _KEY_kana_NU++_KEY_kana_NU :: Int32+_KEY_kana_NU = 1223+-- constant _KEY_kana_O++_KEY_kana_O :: Int32+_KEY_kana_O = 1205+-- constant _KEY_kana_RA++_KEY_kana_RA :: Int32+_KEY_kana_RA = 1239+-- constant _KEY_kana_RE++_KEY_kana_RE :: Int32+_KEY_kana_RE = 1242+-- constant _KEY_kana_RI++_KEY_kana_RI :: Int32+_KEY_kana_RI = 1240+-- constant _KEY_kana_RO++_KEY_kana_RO :: Int32+_KEY_kana_RO = 1243+-- constant _KEY_kana_RU++_KEY_kana_RU :: Int32+_KEY_kana_RU = 1241+-- constant _KEY_kana_SA++_KEY_kana_SA :: Int32+_KEY_kana_SA = 1211+-- constant _KEY_kana_SE++_KEY_kana_SE :: Int32+_KEY_kana_SE = 1214+-- constant _KEY_kana_SHI++_KEY_kana_SHI :: Int32+_KEY_kana_SHI = 1212+-- constant _KEY_kana_SO++_KEY_kana_SO :: Int32+_KEY_kana_SO = 1215+-- constant _KEY_kana_SU++_KEY_kana_SU :: Int32+_KEY_kana_SU = 1213+-- constant _KEY_kana_TA++_KEY_kana_TA :: Int32+_KEY_kana_TA = 1216+-- constant _KEY_kana_TE++_KEY_kana_TE :: Int32+_KEY_kana_TE = 1219+-- constant _KEY_kana_TI++_KEY_kana_TI :: Int32+_KEY_kana_TI = 1217+-- constant _KEY_kana_TO++_KEY_kana_TO :: Int32+_KEY_kana_TO = 1220+-- constant _KEY_kana_TSU++_KEY_kana_TSU :: Int32+_KEY_kana_TSU = 1218+-- constant _KEY_kana_TU++_KEY_kana_TU :: Int32+_KEY_kana_TU = 1218+-- constant _KEY_kana_U++_KEY_kana_U :: Int32+_KEY_kana_U = 1203+-- constant _KEY_kana_WA++_KEY_kana_WA :: Int32+_KEY_kana_WA = 1244+-- constant _KEY_kana_WO++_KEY_kana_WO :: Int32+_KEY_kana_WO = 1190+-- constant _KEY_kana_YA++_KEY_kana_YA :: Int32+_KEY_kana_YA = 1236+-- constant _KEY_kana_YO++_KEY_kana_YO :: Int32+_KEY_kana_YO = 1238+-- constant _KEY_kana_YU++_KEY_kana_YU :: Int32+_KEY_kana_YU = 1237+-- constant _KEY_kana_a++_KEY_kana_a :: Int32+_KEY_kana_a = 1191+-- constant _KEY_kana_closingbracket++_KEY_kana_closingbracket :: Int32+_KEY_kana_closingbracket = 1187+-- constant _KEY_kana_comma++_KEY_kana_comma :: Int32+_KEY_kana_comma = 1188+-- constant _KEY_kana_conjunctive++_KEY_kana_conjunctive :: Int32+_KEY_kana_conjunctive = 1189+-- constant _KEY_kana_e++_KEY_kana_e :: Int32+_KEY_kana_e = 1194+-- constant _KEY_kana_fullstop++_KEY_kana_fullstop :: Int32+_KEY_kana_fullstop = 1185+-- constant _KEY_kana_i++_KEY_kana_i :: Int32+_KEY_kana_i = 1192+-- constant _KEY_kana_middledot++_KEY_kana_middledot :: Int32+_KEY_kana_middledot = 1189+-- constant _KEY_kana_o++_KEY_kana_o :: Int32+_KEY_kana_o = 1195+-- constant _KEY_kana_openingbracket++_KEY_kana_openingbracket :: Int32+_KEY_kana_openingbracket = 1186+-- constant _KEY_kana_switch++_KEY_kana_switch :: Int32+_KEY_kana_switch = 65406+-- constant _KEY_kana_tsu++_KEY_kana_tsu :: Int32+_KEY_kana_tsu = 1199+-- constant _KEY_kana_tu++_KEY_kana_tu :: Int32+_KEY_kana_tu = 1199+-- constant _KEY_kana_u++_KEY_kana_u :: Int32+_KEY_kana_u = 1193+-- constant _KEY_kana_ya++_KEY_kana_ya :: Int32+_KEY_kana_ya = 1196+-- constant _KEY_kana_yo++_KEY_kana_yo :: Int32+_KEY_kana_yo = 1198+-- constant _KEY_kana_yu++_KEY_kana_yu :: Int32+_KEY_kana_yu = 1197+-- constant _KEY_kappa++_KEY_kappa :: Int32+_KEY_kappa = 930+-- constant _KEY_kcedilla++_KEY_kcedilla :: Int32+_KEY_kcedilla = 1011+-- constant _KEY_kra++_KEY_kra :: Int32+_KEY_kra = 930+-- constant _KEY_l++_KEY_l :: Int32+_KEY_l = 108+-- constant _KEY_lacute++_KEY_lacute :: Int32+_KEY_lacute = 485+-- constant _KEY_latincross++_KEY_latincross :: Int32+_KEY_latincross = 2777+-- constant _KEY_lbelowdot++_KEY_lbelowdot :: Int32+_KEY_lbelowdot = 16784951+-- constant _KEY_lcaron++_KEY_lcaron :: Int32+_KEY_lcaron = 437+-- constant _KEY_lcedilla++_KEY_lcedilla :: Int32+_KEY_lcedilla = 950+-- constant _KEY_leftanglebracket++_KEY_leftanglebracket :: Int32+_KEY_leftanglebracket = 2748+-- constant _KEY_leftarrow++_KEY_leftarrow :: Int32+_KEY_leftarrow = 2299+-- constant _KEY_leftcaret++_KEY_leftcaret :: Int32+_KEY_leftcaret = 2979+-- constant _KEY_leftdoublequotemark++_KEY_leftdoublequotemark :: Int32+_KEY_leftdoublequotemark = 2770+-- constant _KEY_leftmiddlecurlybrace++_KEY_leftmiddlecurlybrace :: Int32+_KEY_leftmiddlecurlybrace = 2223+-- constant _KEY_leftopentriangle++_KEY_leftopentriangle :: Int32+_KEY_leftopentriangle = 2764+-- constant _KEY_leftpointer++_KEY_leftpointer :: Int32+_KEY_leftpointer = 2794+-- constant _KEY_leftradical++_KEY_leftradical :: Int32+_KEY_leftradical = 2209+-- constant _KEY_leftshoe++_KEY_leftshoe :: Int32+_KEY_leftshoe = 3034+-- constant _KEY_leftsinglequotemark++_KEY_leftsinglequotemark :: Int32+_KEY_leftsinglequotemark = 2768+-- constant _KEY_leftt++_KEY_leftt :: Int32+_KEY_leftt = 2548+-- constant _KEY_lefttack++_KEY_lefttack :: Int32+_KEY_lefttack = 3036+-- constant _KEY_less++_KEY_less :: Int32+_KEY_less = 60+-- constant _KEY_lessthanequal++_KEY_lessthanequal :: Int32+_KEY_lessthanequal = 2236+-- constant _KEY_lf++_KEY_lf :: Int32+_KEY_lf = 2533+-- constant _KEY_logicaland++_KEY_logicaland :: Int32+_KEY_logicaland = 2270+-- constant _KEY_logicalor++_KEY_logicalor :: Int32+_KEY_logicalor = 2271+-- constant _KEY_lowleftcorner++_KEY_lowleftcorner :: Int32+_KEY_lowleftcorner = 2541+-- constant _KEY_lowrightcorner++_KEY_lowrightcorner :: Int32+_KEY_lowrightcorner = 2538+-- constant _KEY_lstroke++_KEY_lstroke :: Int32+_KEY_lstroke = 435+-- constant _KEY_m++_KEY_m :: Int32+_KEY_m = 109+-- constant _KEY_mabovedot++_KEY_mabovedot :: Int32+_KEY_mabovedot = 16784961+-- constant _KEY_macron++_KEY_macron :: Int32+_KEY_macron = 175+-- constant _KEY_malesymbol++_KEY_malesymbol :: Int32+_KEY_malesymbol = 2807+-- constant _KEY_maltesecross++_KEY_maltesecross :: Int32+_KEY_maltesecross = 2800+-- constant _KEY_marker++_KEY_marker :: Int32+_KEY_marker = 2751+-- constant _KEY_masculine++_KEY_masculine :: Int32+_KEY_masculine = 186+-- constant _KEY_minus++_KEY_minus :: Int32+_KEY_minus = 45+-- constant _KEY_minutes++_KEY_minutes :: Int32+_KEY_minutes = 2774+-- constant _KEY_mu++_KEY_mu :: Int32+_KEY_mu = 181+-- constant _KEY_multiply++_KEY_multiply :: Int32+_KEY_multiply = 215+-- constant _KEY_musicalflat++_KEY_musicalflat :: Int32+_KEY_musicalflat = 2806+-- constant _KEY_musicalsharp++_KEY_musicalsharp :: Int32+_KEY_musicalsharp = 2805+-- constant _KEY_n++_KEY_n :: Int32+_KEY_n = 110+-- constant _KEY_nabla++_KEY_nabla :: Int32+_KEY_nabla = 2245+-- constant _KEY_nacute++_KEY_nacute :: Int32+_KEY_nacute = 497+-- constant _KEY_ncaron++_KEY_ncaron :: Int32+_KEY_ncaron = 498+-- constant _KEY_ncedilla++_KEY_ncedilla :: Int32+_KEY_ncedilla = 1009+-- constant _KEY_ninesubscript++_KEY_ninesubscript :: Int32+_KEY_ninesubscript = 16785545+-- constant _KEY_ninesuperior++_KEY_ninesuperior :: Int32+_KEY_ninesuperior = 16785529+-- constant _KEY_nl++_KEY_nl :: Int32+_KEY_nl = 2536+-- constant _KEY_nobreakspace++_KEY_nobreakspace :: Int32+_KEY_nobreakspace = 160+-- constant _KEY_notapproxeq++_KEY_notapproxeq :: Int32+_KEY_notapproxeq = 16785991+-- constant _KEY_notelementof++_KEY_notelementof :: Int32+_KEY_notelementof = 16785929+-- constant _KEY_notequal++_KEY_notequal :: Int32+_KEY_notequal = 2237+-- constant _KEY_notidentical++_KEY_notidentical :: Int32+_KEY_notidentical = 16786018+-- constant _KEY_notsign++_KEY_notsign :: Int32+_KEY_notsign = 172+-- constant _KEY_ntilde++_KEY_ntilde :: Int32+_KEY_ntilde = 241+-- constant _KEY_numbersign++_KEY_numbersign :: Int32+_KEY_numbersign = 35+-- constant _KEY_numerosign++_KEY_numerosign :: Int32+_KEY_numerosign = 1712+-- constant _KEY_o++_KEY_o :: Int32+_KEY_o = 111+-- constant _KEY_oacute++_KEY_oacute :: Int32+_KEY_oacute = 243+-- constant _KEY_obarred++_KEY_obarred :: Int32+_KEY_obarred = 16777845+-- constant _KEY_obelowdot++_KEY_obelowdot :: Int32+_KEY_obelowdot = 16785101+-- constant _KEY_ocaron++_KEY_ocaron :: Int32+_KEY_ocaron = 16777682+-- constant _KEY_ocircumflex++_KEY_ocircumflex :: Int32+_KEY_ocircumflex = 244+-- constant _KEY_ocircumflexacute++_KEY_ocircumflexacute :: Int32+_KEY_ocircumflexacute = 16785105+-- constant _KEY_ocircumflexbelowdot++_KEY_ocircumflexbelowdot :: Int32+_KEY_ocircumflexbelowdot = 16785113+-- constant _KEY_ocircumflexgrave++_KEY_ocircumflexgrave :: Int32+_KEY_ocircumflexgrave = 16785107+-- constant _KEY_ocircumflexhook++_KEY_ocircumflexhook :: Int32+_KEY_ocircumflexhook = 16785109+-- constant _KEY_ocircumflextilde++_KEY_ocircumflextilde :: Int32+_KEY_ocircumflextilde = 16785111+-- constant _KEY_odiaeresis++_KEY_odiaeresis :: Int32+_KEY_odiaeresis = 246+-- constant _KEY_odoubleacute++_KEY_odoubleacute :: Int32+_KEY_odoubleacute = 501+-- constant _KEY_oe++_KEY_oe :: Int32+_KEY_oe = 5053+-- constant _KEY_ogonek++_KEY_ogonek :: Int32+_KEY_ogonek = 434+-- constant _KEY_ograve++_KEY_ograve :: Int32+_KEY_ograve = 242+-- constant _KEY_ohook++_KEY_ohook :: Int32+_KEY_ohook = 16785103+-- constant _KEY_ohorn++_KEY_ohorn :: Int32+_KEY_ohorn = 16777633+-- constant _KEY_ohornacute++_KEY_ohornacute :: Int32+_KEY_ohornacute = 16785115+-- constant _KEY_ohornbelowdot++_KEY_ohornbelowdot :: Int32+_KEY_ohornbelowdot = 16785123+-- constant _KEY_ohorngrave++_KEY_ohorngrave :: Int32+_KEY_ohorngrave = 16785117+-- constant _KEY_ohornhook++_KEY_ohornhook :: Int32+_KEY_ohornhook = 16785119+-- constant _KEY_ohorntilde++_KEY_ohorntilde :: Int32+_KEY_ohorntilde = 16785121+-- constant _KEY_omacron++_KEY_omacron :: Int32+_KEY_omacron = 1010+-- constant _KEY_oneeighth++_KEY_oneeighth :: Int32+_KEY_oneeighth = 2755+-- constant _KEY_onefifth++_KEY_onefifth :: Int32+_KEY_onefifth = 2738+-- constant _KEY_onehalf++_KEY_onehalf :: Int32+_KEY_onehalf = 189+-- constant _KEY_onequarter++_KEY_onequarter :: Int32+_KEY_onequarter = 188+-- constant _KEY_onesixth++_KEY_onesixth :: Int32+_KEY_onesixth = 2742+-- constant _KEY_onesubscript++_KEY_onesubscript :: Int32+_KEY_onesubscript = 16785537+-- constant _KEY_onesuperior++_KEY_onesuperior :: Int32+_KEY_onesuperior = 185+-- constant _KEY_onethird++_KEY_onethird :: Int32+_KEY_onethird = 2736+-- constant _KEY_ooblique++_KEY_ooblique :: Int32+_KEY_ooblique = 248+-- constant _KEY_openrectbullet++_KEY_openrectbullet :: Int32+_KEY_openrectbullet = 2786+-- constant _KEY_openstar++_KEY_openstar :: Int32+_KEY_openstar = 2789+-- constant _KEY_opentribulletdown++_KEY_opentribulletdown :: Int32+_KEY_opentribulletdown = 2788+-- constant _KEY_opentribulletup++_KEY_opentribulletup :: Int32+_KEY_opentribulletup = 2787+-- constant _KEY_ordfeminine++_KEY_ordfeminine :: Int32+_KEY_ordfeminine = 170+-- constant _KEY_oslash++_KEY_oslash :: Int32+_KEY_oslash = 248+-- constant _KEY_otilde++_KEY_otilde :: Int32+_KEY_otilde = 245+-- constant _KEY_overbar++_KEY_overbar :: Int32+_KEY_overbar = 3008+-- constant _KEY_overline++_KEY_overline :: Int32+_KEY_overline = 1150+-- constant _KEY_p++_KEY_p :: Int32+_KEY_p = 112+-- constant _KEY_pabovedot++_KEY_pabovedot :: Int32+_KEY_pabovedot = 16784983+-- constant _KEY_paragraph++_KEY_paragraph :: Int32+_KEY_paragraph = 182+-- constant _KEY_parenleft++_KEY_parenleft :: Int32+_KEY_parenleft = 40+-- constant _KEY_parenright++_KEY_parenright :: Int32+_KEY_parenright = 41+-- constant _KEY_partdifferential++_KEY_partdifferential :: Int32+_KEY_partdifferential = 16785922+-- constant _KEY_partialderivative++_KEY_partialderivative :: Int32+_KEY_partialderivative = 2287+-- constant _KEY_percent++_KEY_percent :: Int32+_KEY_percent = 37+-- constant _KEY_period++_KEY_period :: Int32+_KEY_period = 46+-- constant _KEY_periodcentered++_KEY_periodcentered :: Int32+_KEY_periodcentered = 183+-- constant _KEY_permille++_KEY_permille :: Int32+_KEY_permille = 2773+-- constant _KEY_phonographcopyright++_KEY_phonographcopyright :: Int32+_KEY_phonographcopyright = 2811+-- constant _KEY_plus++_KEY_plus :: Int32+_KEY_plus = 43+-- constant _KEY_plusminus++_KEY_plusminus :: Int32+_KEY_plusminus = 177+-- constant _KEY_prescription++_KEY_prescription :: Int32+_KEY_prescription = 2772+-- constant _KEY_prolongedsound++_KEY_prolongedsound :: Int32+_KEY_prolongedsound = 1200+-- constant _KEY_punctspace++_KEY_punctspace :: Int32+_KEY_punctspace = 2726+-- constant _KEY_q++_KEY_q :: Int32+_KEY_q = 113+-- constant _KEY_quad++_KEY_quad :: Int32+_KEY_quad = 3020+-- constant _KEY_question++_KEY_question :: Int32+_KEY_question = 63+-- constant _KEY_questiondown++_KEY_questiondown :: Int32+_KEY_questiondown = 191+-- constant _KEY_quotedbl++_KEY_quotedbl :: Int32+_KEY_quotedbl = 34+-- constant _KEY_quoteleft++_KEY_quoteleft :: Int32+_KEY_quoteleft = 96+-- constant _KEY_quoteright++_KEY_quoteright :: Int32+_KEY_quoteright = 39+-- constant _KEY_r++_KEY_r :: Int32+_KEY_r = 114+-- constant _KEY_racute++_KEY_racute :: Int32+_KEY_racute = 480+-- constant _KEY_radical++_KEY_radical :: Int32+_KEY_radical = 2262+-- constant _KEY_rcaron++_KEY_rcaron :: Int32+_KEY_rcaron = 504+-- constant _KEY_rcedilla++_KEY_rcedilla :: Int32+_KEY_rcedilla = 947+-- constant _KEY_registered++_KEY_registered :: Int32+_KEY_registered = 174+-- constant _KEY_rightanglebracket++_KEY_rightanglebracket :: Int32+_KEY_rightanglebracket = 2750+-- constant _KEY_rightarrow++_KEY_rightarrow :: Int32+_KEY_rightarrow = 2301+-- constant _KEY_rightcaret++_KEY_rightcaret :: Int32+_KEY_rightcaret = 2982+-- constant _KEY_rightdoublequotemark++_KEY_rightdoublequotemark :: Int32+_KEY_rightdoublequotemark = 2771+-- constant _KEY_rightmiddlecurlybrace++_KEY_rightmiddlecurlybrace :: Int32+_KEY_rightmiddlecurlybrace = 2224+-- constant _KEY_rightmiddlesummation++_KEY_rightmiddlesummation :: Int32+_KEY_rightmiddlesummation = 2231+-- constant _KEY_rightopentriangle++_KEY_rightopentriangle :: Int32+_KEY_rightopentriangle = 2765+-- constant _KEY_rightpointer++_KEY_rightpointer :: Int32+_KEY_rightpointer = 2795+-- constant _KEY_rightshoe++_KEY_rightshoe :: Int32+_KEY_rightshoe = 3032+-- constant _KEY_rightsinglequotemark++_KEY_rightsinglequotemark :: Int32+_KEY_rightsinglequotemark = 2769+-- constant _KEY_rightt++_KEY_rightt :: Int32+_KEY_rightt = 2549+-- constant _KEY_righttack++_KEY_righttack :: Int32+_KEY_righttack = 3068+-- constant _KEY_s++_KEY_s :: Int32+_KEY_s = 115+-- constant _KEY_sabovedot++_KEY_sabovedot :: Int32+_KEY_sabovedot = 16784993+-- constant _KEY_sacute++_KEY_sacute :: Int32+_KEY_sacute = 438+-- constant _KEY_scaron++_KEY_scaron :: Int32+_KEY_scaron = 441+-- constant _KEY_scedilla++_KEY_scedilla :: Int32+_KEY_scedilla = 442+-- constant _KEY_schwa++_KEY_schwa :: Int32+_KEY_schwa = 16777817+-- constant _KEY_scircumflex++_KEY_scircumflex :: Int32+_KEY_scircumflex = 766+-- constant _KEY_script_switch++_KEY_script_switch :: Int32+_KEY_script_switch = 65406+-- constant _KEY_seconds++_KEY_seconds :: Int32+_KEY_seconds = 2775+-- constant _KEY_section++_KEY_section :: Int32+_KEY_section = 167+-- constant _KEY_semicolon++_KEY_semicolon :: Int32+_KEY_semicolon = 59+-- constant _KEY_semivoicedsound++_KEY_semivoicedsound :: Int32+_KEY_semivoicedsound = 1247+-- constant _KEY_seveneighths++_KEY_seveneighths :: Int32+_KEY_seveneighths = 2758+-- constant _KEY_sevensubscript++_KEY_sevensubscript :: Int32+_KEY_sevensubscript = 16785543+-- constant _KEY_sevensuperior++_KEY_sevensuperior :: Int32+_KEY_sevensuperior = 16785527+-- constant _KEY_signaturemark++_KEY_signaturemark :: Int32+_KEY_signaturemark = 2762+-- constant _KEY_signifblank++_KEY_signifblank :: Int32+_KEY_signifblank = 2732+-- constant _KEY_similarequal++_KEY_similarequal :: Int32+_KEY_similarequal = 2249+-- constant _KEY_singlelowquotemark++_KEY_singlelowquotemark :: Int32+_KEY_singlelowquotemark = 2813+-- constant _KEY_sixsubscript++_KEY_sixsubscript :: Int32+_KEY_sixsubscript = 16785542+-- constant _KEY_sixsuperior++_KEY_sixsuperior :: Int32+_KEY_sixsuperior = 16785526+-- constant _KEY_slash++_KEY_slash :: Int32+_KEY_slash = 47+-- constant _KEY_soliddiamond++_KEY_soliddiamond :: Int32+_KEY_soliddiamond = 2528+-- constant _KEY_space++_KEY_space :: Int32+_KEY_space = 32+-- constant _KEY_squareroot++_KEY_squareroot :: Int32+_KEY_squareroot = 16785946+-- constant _KEY_ssharp++_KEY_ssharp :: Int32+_KEY_ssharp = 223+-- constant _KEY_sterling++_KEY_sterling :: Int32+_KEY_sterling = 163+-- constant _KEY_stricteq++_KEY_stricteq :: Int32+_KEY_stricteq = 16786019+-- constant _KEY_t++_KEY_t :: Int32+_KEY_t = 116+-- constant _KEY_tabovedot++_KEY_tabovedot :: Int32+_KEY_tabovedot = 16785003+-- constant _KEY_tcaron++_KEY_tcaron :: Int32+_KEY_tcaron = 443+-- constant _KEY_tcedilla++_KEY_tcedilla :: Int32+_KEY_tcedilla = 510+-- constant _KEY_telephone++_KEY_telephone :: Int32+_KEY_telephone = 2809+-- constant _KEY_telephonerecorder++_KEY_telephonerecorder :: Int32+_KEY_telephonerecorder = 2810+-- constant _KEY_therefore++_KEY_therefore :: Int32+_KEY_therefore = 2240+-- constant _KEY_thinspace++_KEY_thinspace :: Int32+_KEY_thinspace = 2727+-- constant _KEY_thorn++_KEY_thorn :: Int32+_KEY_thorn = 254+-- constant _KEY_threeeighths++_KEY_threeeighths :: Int32+_KEY_threeeighths = 2756+-- constant _KEY_threefifths++_KEY_threefifths :: Int32+_KEY_threefifths = 2740+-- constant _KEY_threequarters++_KEY_threequarters :: Int32+_KEY_threequarters = 190+-- constant _KEY_threesubscript++_KEY_threesubscript :: Int32+_KEY_threesubscript = 16785539+-- constant _KEY_threesuperior++_KEY_threesuperior :: Int32+_KEY_threesuperior = 179+-- constant _KEY_tintegral++_KEY_tintegral :: Int32+_KEY_tintegral = 16785965+-- constant _KEY_topintegral++_KEY_topintegral :: Int32+_KEY_topintegral = 2212+-- constant _KEY_topleftparens++_KEY_topleftparens :: Int32+_KEY_topleftparens = 2219+-- constant _KEY_topleftradical++_KEY_topleftradical :: Int32+_KEY_topleftradical = 2210+-- constant _KEY_topleftsqbracket++_KEY_topleftsqbracket :: Int32+_KEY_topleftsqbracket = 2215+-- constant _KEY_topleftsummation++_KEY_topleftsummation :: Int32+_KEY_topleftsummation = 2225+-- constant _KEY_toprightparens++_KEY_toprightparens :: Int32+_KEY_toprightparens = 2221+-- constant _KEY_toprightsqbracket++_KEY_toprightsqbracket :: Int32+_KEY_toprightsqbracket = 2217+-- constant _KEY_toprightsummation++_KEY_toprightsummation :: Int32+_KEY_toprightsummation = 2229+-- constant _KEY_topt++_KEY_topt :: Int32+_KEY_topt = 2551+-- constant _KEY_topvertsummationconnector++_KEY_topvertsummationconnector :: Int32+_KEY_topvertsummationconnector = 2227+-- constant _KEY_trademark++_KEY_trademark :: Int32+_KEY_trademark = 2761+-- constant _KEY_trademarkincircle++_KEY_trademarkincircle :: Int32+_KEY_trademarkincircle = 2763+-- constant _KEY_tslash++_KEY_tslash :: Int32+_KEY_tslash = 956+-- constant _KEY_twofifths++_KEY_twofifths :: Int32+_KEY_twofifths = 2739+-- constant _KEY_twosubscript++_KEY_twosubscript :: Int32+_KEY_twosubscript = 16785538+-- constant _KEY_twosuperior++_KEY_twosuperior :: Int32+_KEY_twosuperior = 178+-- constant _KEY_twothirds++_KEY_twothirds :: Int32+_KEY_twothirds = 2737+-- constant _KEY_u++_KEY_u :: Int32+_KEY_u = 117+-- constant _KEY_uacute++_KEY_uacute :: Int32+_KEY_uacute = 250+-- constant _KEY_ubelowdot++_KEY_ubelowdot :: Int32+_KEY_ubelowdot = 16785125+-- constant _KEY_ubreve++_KEY_ubreve :: Int32+_KEY_ubreve = 765+-- constant _KEY_ucircumflex++_KEY_ucircumflex :: Int32+_KEY_ucircumflex = 251+-- constant _KEY_udiaeresis++_KEY_udiaeresis :: Int32+_KEY_udiaeresis = 252+-- constant _KEY_udoubleacute++_KEY_udoubleacute :: Int32+_KEY_udoubleacute = 507+-- constant _KEY_ugrave++_KEY_ugrave :: Int32+_KEY_ugrave = 249+-- constant _KEY_uhook++_KEY_uhook :: Int32+_KEY_uhook = 16785127+-- constant _KEY_uhorn++_KEY_uhorn :: Int32+_KEY_uhorn = 16777648+-- constant _KEY_uhornacute++_KEY_uhornacute :: Int32+_KEY_uhornacute = 16785129+-- constant _KEY_uhornbelowdot++_KEY_uhornbelowdot :: Int32+_KEY_uhornbelowdot = 16785137+-- constant _KEY_uhorngrave++_KEY_uhorngrave :: Int32+_KEY_uhorngrave = 16785131+-- constant _KEY_uhornhook++_KEY_uhornhook :: Int32+_KEY_uhornhook = 16785133+-- constant _KEY_uhorntilde++_KEY_uhorntilde :: Int32+_KEY_uhorntilde = 16785135+-- constant _KEY_umacron++_KEY_umacron :: Int32+_KEY_umacron = 1022+-- constant _KEY_underbar++_KEY_underbar :: Int32+_KEY_underbar = 3014+-- constant _KEY_underscore++_KEY_underscore :: Int32+_KEY_underscore = 95+-- constant _KEY_union++_KEY_union :: Int32+_KEY_union = 2269+-- constant _KEY_uogonek++_KEY_uogonek :: Int32+_KEY_uogonek = 1017+-- constant _KEY_uparrow++_KEY_uparrow :: Int32+_KEY_uparrow = 2300+-- constant _KEY_upcaret++_KEY_upcaret :: Int32+_KEY_upcaret = 2985+-- constant _KEY_upleftcorner++_KEY_upleftcorner :: Int32+_KEY_upleftcorner = 2540+-- constant _KEY_uprightcorner++_KEY_uprightcorner :: Int32+_KEY_uprightcorner = 2539+-- constant _KEY_upshoe++_KEY_upshoe :: Int32+_KEY_upshoe = 3011+-- constant _KEY_upstile++_KEY_upstile :: Int32+_KEY_upstile = 3027+-- constant _KEY_uptack++_KEY_uptack :: Int32+_KEY_uptack = 3022+-- constant _KEY_uring++_KEY_uring :: Int32+_KEY_uring = 505+-- constant _KEY_utilde++_KEY_utilde :: Int32+_KEY_utilde = 1021+-- constant _KEY_v++_KEY_v :: Int32+_KEY_v = 118+-- constant _KEY_variation++_KEY_variation :: Int32+_KEY_variation = 2241+-- constant _KEY_vertbar++_KEY_vertbar :: Int32+_KEY_vertbar = 2552+-- constant _KEY_vertconnector++_KEY_vertconnector :: Int32+_KEY_vertconnector = 2214+-- constant _KEY_voicedsound++_KEY_voicedsound :: Int32+_KEY_voicedsound = 1246+-- constant _KEY_vt++_KEY_vt :: Int32+_KEY_vt = 2537+-- constant _KEY_w++_KEY_w :: Int32+_KEY_w = 119+-- constant _KEY_wacute++_KEY_wacute :: Int32+_KEY_wacute = 16785027+-- constant _KEY_wcircumflex++_KEY_wcircumflex :: Int32+_KEY_wcircumflex = 16777589+-- constant _KEY_wdiaeresis++_KEY_wdiaeresis :: Int32+_KEY_wdiaeresis = 16785029+-- constant _KEY_wgrave++_KEY_wgrave :: Int32+_KEY_wgrave = 16785025+-- constant _KEY_x++_KEY_x :: Int32+_KEY_x = 120+-- constant _KEY_xabovedot++_KEY_xabovedot :: Int32+_KEY_xabovedot = 16785035+-- constant _KEY_y++_KEY_y :: Int32+_KEY_y = 121+-- constant _KEY_yacute++_KEY_yacute :: Int32+_KEY_yacute = 253+-- constant _KEY_ybelowdot++_KEY_ybelowdot :: Int32+_KEY_ybelowdot = 16785141+-- constant _KEY_ycircumflex++_KEY_ycircumflex :: Int32+_KEY_ycircumflex = 16777591+-- constant _KEY_ydiaeresis++_KEY_ydiaeresis :: Int32+_KEY_ydiaeresis = 255+-- constant _KEY_yen++_KEY_yen :: Int32+_KEY_yen = 165+-- constant _KEY_ygrave++_KEY_ygrave :: Int32+_KEY_ygrave = 16785139+-- constant _KEY_yhook++_KEY_yhook :: Int32+_KEY_yhook = 16785143+-- constant _KEY_ytilde++_KEY_ytilde :: Int32+_KEY_ytilde = 16785145+-- constant _KEY_z++_KEY_z :: Int32+_KEY_z = 122+-- constant _KEY_zabovedot++_KEY_zabovedot :: Int32+_KEY_zabovedot = 447+-- constant _KEY_zacute++_KEY_zacute :: Int32+_KEY_zacute = 444+-- constant _KEY_zcaron++_KEY_zcaron :: Int32+_KEY_zcaron = 446+-- constant _KEY_zerosubscript++_KEY_zerosubscript :: Int32+_KEY_zerosubscript = 16785536+-- constant _KEY_zerosuperior++_KEY_zerosuperior :: Int32+_KEY_zerosuperior = 16785520+-- constant _KEY_zstroke++_KEY_zstroke :: Int32+_KEY_zstroke = 16777654+-- constant _MAX_TIMECOORD_AXES++_MAX_TIMECOORD_AXES :: Int32+_MAX_TIMECOORD_AXES = 128+-- constant _PARENT_RELATIVE++_PARENT_RELATIVE :: Int32+_PARENT_RELATIVE = 1+-- constant _PRIORITY_REDRAW++_PRIORITY_REDRAW :: Int32+_PRIORITY_REDRAW = 20+-- function gdk_add_option_entries_libgtk_only+-- Args : [Arg {argName = "group", argType = TInterface "GLib" "OptionGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "group", argType = TInterface "GLib" "OptionGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_add_option_entries_libgtk_only" gdk_add_option_entries_libgtk_only :: +    Ptr GLib.OptionGroup ->                 -- group : TInterface "GLib" "OptionGroup"+    IO ()++{-# DEPRECATED addOptionEntriesLibgtkOnly ["(Since version 3.16)","This symbol was never meant to be used outside","  of GTK+"]#-}+addOptionEntriesLibgtkOnly ::+    (MonadIO m) =>+    GLib.OptionGroup ->                     -- group+    m ()+addOptionEntriesLibgtkOnly group = liftIO $ do+    let group' = unsafeManagedPtrGetPtr group+    gdk_add_option_entries_libgtk_only group'+    touchManagedPtr group+    return ()++-- function gdk_atom_intern+-- Args : [Arg {argName = "atom_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "only_if_exists", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "atom_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "only_if_exists", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Atom"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_atom_intern" gdk_atom_intern :: +    CString ->                              -- atom_name : TBasicType TUTF8+    CInt ->                                 -- only_if_exists : TBasicType TBoolean+    IO (Ptr Atom)+++atomIntern ::+    (MonadIO m) =>+    T.Text ->                               -- atom_name+    Bool ->                                 -- only_if_exists+    m Atom+atomIntern atom_name only_if_exists = liftIO $ do+    atom_name' <- textToCString atom_name+    let only_if_exists' = (fromIntegral . fromEnum) only_if_exists+    result <- gdk_atom_intern atom_name' only_if_exists'+    -- XXX Wrapping a foreign struct/union with no known destructor, leak?+    result' <- (\x -> Atom <$> newForeignPtr_ x) result+    freeMem atom_name'+    return result'++-- function gdk_atom_intern_static_string+-- Args : [Arg {argName = "atom_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "atom_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Atom"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_atom_intern_static_string" gdk_atom_intern_static_string :: +    CString ->                              -- atom_name : TBasicType TUTF8+    IO (Ptr Atom)+++atomInternStaticString ::+    (MonadIO m) =>+    T.Text ->                               -- atom_name+    m Atom+atomInternStaticString atom_name = liftIO $ do+    atom_name' <- textToCString atom_name+    result <- gdk_atom_intern_static_string atom_name'+    -- XXX Wrapping a foreign struct/union with no known destructor, leak?+    result' <- (\x -> Atom <$> newForeignPtr_ x) result+    freeMem atom_name'+    return result'++-- function gdk_beep+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_beep" gdk_beep :: +    IO ()+++beep ::+    (MonadIO m) =>+    m ()+beep  = liftIO $ do+    gdk_beep+    return ()++-- function gdk_cairo_create+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "cairo" "Context"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cairo_create" gdk_cairo_create :: +    Ptr Window ->                           -- window : TInterface "Gdk" "Window"+    IO (Ptr Cairo.Context)+++cairoCreate ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- window+    m Cairo.Context+cairoCreate window = liftIO $ do+    let window' = unsafeManagedPtrCastPtr window+    result <- gdk_cairo_create window'+    result' <- (wrapBoxed Cairo.Context) result+    touchManagedPtr window+    return result'++-- function gdk_cairo_draw_from_gl+-- Args : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source_type", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer_scale", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source_type", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer_scale", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cairo_draw_from_gl" gdk_cairo_draw_from_gl :: +    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"+    Ptr Window ->                           -- window : TInterface "Gdk" "Window"+    Int32 ->                                -- source : TBasicType TInt32+    Int32 ->                                -- source_type : TBasicType TInt32+    Int32 ->                                -- buffer_scale : TBasicType TInt32+    Int32 ->                                -- x : TBasicType TInt32+    Int32 ->                                -- y : TBasicType TInt32+    Int32 ->                                -- width : TBasicType TInt32+    Int32 ->                                -- height : TBasicType TInt32+    IO ()+++cairoDrawFromGl ::+    (MonadIO m, WindowK a) =>+    Cairo.Context ->                        -- cr+    a ->                                    -- window+    Int32 ->                                -- source+    Int32 ->                                -- source_type+    Int32 ->                                -- buffer_scale+    Int32 ->                                -- x+    Int32 ->                                -- y+    Int32 ->                                -- width+    Int32 ->                                -- height+    m ()+cairoDrawFromGl cr window source source_type buffer_scale x y width height = liftIO $ do+    let cr' = unsafeManagedPtrGetPtr cr+    let window' = unsafeManagedPtrCastPtr window+    gdk_cairo_draw_from_gl cr' window' source source_type buffer_scale x y width height+    touchManagedPtr cr+    touchManagedPtr window+    return ()++-- function gdk_cairo_get_clip_rectangle+-- Args : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rect", argType = TInterface "cairo" "RectangleInt", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cairo_get_clip_rectangle" gdk_cairo_get_clip_rectangle :: +    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"+    Ptr Cairo.RectangleInt ->               -- rect : TInterface "cairo" "RectangleInt"+    IO CInt+++cairoGetClipRectangle ::+    (MonadIO m) =>+    Cairo.Context ->                        -- cr+    m (Bool,Cairo.RectangleInt)+cairoGetClipRectangle cr = liftIO $ do+    let cr' = unsafeManagedPtrGetPtr cr+    rect <- callocBoxedBytes 16 :: IO (Ptr Cairo.RectangleInt)+    result <- gdk_cairo_get_clip_rectangle cr' rect+    let result' = (/= 0) result+    rect' <- (wrapBoxed Cairo.RectangleInt) rect+    touchManagedPtr cr+    return (result', rect')++-- function gdk_cairo_rectangle+-- Args : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rectangle", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rectangle", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cairo_rectangle" gdk_cairo_rectangle :: +    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"+    Ptr Cairo.RectangleInt ->               -- rectangle : TInterface "cairo" "RectangleInt"+    IO ()+++cairoRectangle ::+    (MonadIO m) =>+    Cairo.Context ->                        -- cr+    Cairo.RectangleInt ->                   -- rectangle+    m ()+cairoRectangle cr rectangle = liftIO $ do+    let cr' = unsafeManagedPtrGetPtr cr+    let rectangle' = unsafeManagedPtrGetPtr rectangle+    gdk_cairo_rectangle cr' rectangle'+    touchManagedPtr cr+    touchManagedPtr rectangle+    return ()++-- function gdk_cairo_region+-- Args : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cairo_region" gdk_cairo_region :: +    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"+    Ptr Cairo.Region ->                     -- region : TInterface "cairo" "Region"+    IO ()+++cairoRegion ::+    (MonadIO m) =>+    Cairo.Context ->                        -- cr+    Cairo.Region ->                         -- region+    m ()+cairoRegion cr region = liftIO $ do+    let cr' = unsafeManagedPtrGetPtr cr+    let region' = unsafeManagedPtrGetPtr region+    gdk_cairo_region cr' region'+    touchManagedPtr cr+    touchManagedPtr region+    return ()++-- function gdk_cairo_region_create_from_surface+-- Args : [Arg {argName = "surface", argType = TInterface "cairo" "Surface", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "surface", argType = TInterface "cairo" "Surface", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "cairo" "Region"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cairo_region_create_from_surface" gdk_cairo_region_create_from_surface :: +    Ptr Cairo.Surface ->                    -- surface : TInterface "cairo" "Surface"+    IO (Ptr Cairo.Region)+++cairoRegionCreateFromSurface ::+    (MonadIO m) =>+    Cairo.Surface ->                        -- surface+    m Cairo.Region+cairoRegionCreateFromSurface surface = liftIO $ do+    let surface' = unsafeManagedPtrGetPtr surface+    result <- gdk_cairo_region_create_from_surface surface'+    result' <- (wrapBoxed Cairo.Region) result+    touchManagedPtr surface+    return result'++-- function gdk_cairo_set_source_color+-- Args : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "color", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "color", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cairo_set_source_color" gdk_cairo_set_source_color :: +    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"+    Ptr Color ->                            -- color : TInterface "Gdk" "Color"+    IO ()++{-# DEPRECATED cairoSetSourceColor ["(Since version 3.4)","Use gdk_cairo_set_source_rgba() instead"]#-}+cairoSetSourceColor ::+    (MonadIO m) =>+    Cairo.Context ->                        -- cr+    Color ->                                -- color+    m ()+cairoSetSourceColor cr color = liftIO $ do+    let cr' = unsafeManagedPtrGetPtr cr+    let color' = unsafeManagedPtrGetPtr color+    gdk_cairo_set_source_color cr' color'+    touchManagedPtr cr+    touchManagedPtr color+    return ()++-- function gdk_cairo_set_source_pixbuf+-- Args : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf_x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf_y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf_x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf_y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cairo_set_source_pixbuf" gdk_cairo_set_source_pixbuf :: +    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"+    Ptr GdkPixbuf.Pixbuf ->                 -- pixbuf : TInterface "GdkPixbuf" "Pixbuf"+    CDouble ->                              -- pixbuf_x : TBasicType TDouble+    CDouble ->                              -- pixbuf_y : TBasicType TDouble+    IO ()+++cairoSetSourcePixbuf ::+    (MonadIO m, GdkPixbuf.PixbufK a) =>+    Cairo.Context ->                        -- cr+    a ->                                    -- pixbuf+    Double ->                               -- pixbuf_x+    Double ->                               -- pixbuf_y+    m ()+cairoSetSourcePixbuf cr pixbuf pixbuf_x pixbuf_y = liftIO $ do+    let cr' = unsafeManagedPtrGetPtr cr+    let pixbuf' = unsafeManagedPtrCastPtr pixbuf+    let pixbuf_x' = realToFrac pixbuf_x+    let pixbuf_y' = realToFrac pixbuf_y+    gdk_cairo_set_source_pixbuf cr' pixbuf' pixbuf_x' pixbuf_y'+    touchManagedPtr cr+    touchManagedPtr pixbuf+    return ()++-- function gdk_cairo_set_source_rgba+-- Args : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rgba", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rgba", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cairo_set_source_rgba" gdk_cairo_set_source_rgba :: +    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"+    Ptr RGBA ->                             -- rgba : TInterface "Gdk" "RGBA"+    IO ()+++cairoSetSourceRgba ::+    (MonadIO m) =>+    Cairo.Context ->                        -- cr+    RGBA ->                                 -- rgba+    m ()+cairoSetSourceRgba cr rgba = liftIO $ do+    let cr' = unsafeManagedPtrGetPtr cr+    let rgba' = unsafeManagedPtrGetPtr rgba+    gdk_cairo_set_source_rgba cr' rgba'+    touchManagedPtr cr+    touchManagedPtr rgba+    return ()++-- function gdk_cairo_set_source_window+-- Args : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cairo_set_source_window" gdk_cairo_set_source_window :: +    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"+    Ptr Window ->                           -- window : TInterface "Gdk" "Window"+    CDouble ->                              -- x : TBasicType TDouble+    CDouble ->                              -- y : TBasicType TDouble+    IO ()+++cairoSetSourceWindow ::+    (MonadIO m, WindowK a) =>+    Cairo.Context ->                        -- cr+    a ->                                    -- window+    Double ->                               -- x+    Double ->                               -- y+    m ()+cairoSetSourceWindow cr window x y = liftIO $ do+    let cr' = unsafeManagedPtrGetPtr cr+    let window' = unsafeManagedPtrCastPtr window+    let x' = realToFrac x+    let y' = realToFrac y+    gdk_cairo_set_source_window cr' window' x' y'+    touchManagedPtr cr+    touchManagedPtr window+    return ()++-- function gdk_cairo_surface_create_from_pixbuf+-- Args : [Arg {argName = "pixbuf", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "for_window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "pixbuf", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "for_window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "cairo" "Surface"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cairo_surface_create_from_pixbuf" gdk_cairo_surface_create_from_pixbuf :: +    Ptr GdkPixbuf.Pixbuf ->                 -- pixbuf : TInterface "GdkPixbuf" "Pixbuf"+    Int32 ->                                -- scale : TBasicType TInt32+    Ptr Window ->                           -- for_window : TInterface "Gdk" "Window"+    IO (Ptr Cairo.Surface)+++cairoSurfaceCreateFromPixbuf ::+    (MonadIO m, GdkPixbuf.PixbufK a, WindowK b) =>+    a ->                                    -- pixbuf+    Int32 ->                                -- scale+    Maybe (b) ->                            -- for_window+    m Cairo.Surface+cairoSurfaceCreateFromPixbuf pixbuf scale for_window = liftIO $ do+    let pixbuf' = unsafeManagedPtrCastPtr pixbuf+    maybeFor_window <- case for_window of+        Nothing -> return nullPtr+        Just jFor_window -> do+            let jFor_window' = unsafeManagedPtrCastPtr jFor_window+            return jFor_window'+    result <- gdk_cairo_surface_create_from_pixbuf pixbuf' scale maybeFor_window+    result' <- (wrapBoxed Cairo.Surface) result+    touchManagedPtr pixbuf+    whenJust for_window touchManagedPtr+    return result'++-- function gdk_color_parse+-- Args : [Arg {argName = "spec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "color", argType = TInterface "Gdk" "Color", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "spec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_color_parse" gdk_color_parse :: +    CString ->                              -- spec : TBasicType TUTF8+    Ptr Color ->                            -- color : TInterface "Gdk" "Color"+    IO CInt++{-# DEPRECATED colorParse ["(Since version 3.14)","Use #GdkRGBA"]#-}+colorParse ::+    (MonadIO m) =>+    T.Text ->                               -- spec+    m (Bool,Color)+colorParse spec = liftIO $ do+    spec' <- textToCString spec+    color <- callocBoxedBytes 12 :: IO (Ptr Color)+    result <- gdk_color_parse spec' color+    let result' = (/= 0) result+    color' <- (wrapBoxed Color) color+    freeMem spec'+    return (result', color')++-- function gdk_disable_multidevice+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_disable_multidevice" gdk_disable_multidevice :: +    IO ()+++disableMultidevice ::+    (MonadIO m) =>+    m ()+disableMultidevice  = liftIO $ do+    gdk_disable_multidevice+    return ()++-- function gdk_drag_abort+-- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_abort" gdk_drag_abort :: +    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO ()+++dragAbort ::+    (MonadIO m, DragContextK a) =>+    a ->                                    -- context+    Word32 ->                               -- time_+    m ()+dragAbort context time_ = liftIO $ do+    let context' = unsafeManagedPtrCastPtr context+    gdk_drag_abort context' time_+    touchManagedPtr context+    return ()++-- function gdk_drag_begin+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "targets", argType = TGList (TInterface "Gdk" "Atom"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "targets", argType = TGList (TInterface "Gdk" "Atom"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "DragContext"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_begin" gdk_drag_begin :: +    Ptr Window ->                           -- window : TInterface "Gdk" "Window"+    Ptr (GList (Ptr Atom)) ->               -- targets : TGList (TInterface "Gdk" "Atom")+    IO (Ptr DragContext)+++dragBegin ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- window+    [Atom] ->                               -- targets+    m DragContext+dragBegin window targets = liftIO $ do+    let window' = unsafeManagedPtrCastPtr window+    let targets' = map unsafeManagedPtrGetPtr targets+    targets'' <- packGList targets'+    result <- gdk_drag_begin window' targets''+    result' <- (wrapObject DragContext) result+    touchManagedPtr window+    mapM_ touchManagedPtr targets+    g_list_free targets''+    return result'++-- function gdk_drag_begin_for_device+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "targets", argType = TGList (TInterface "Gdk" "Atom"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "targets", argType = TGList (TInterface "Gdk" "Atom"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "DragContext"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_begin_for_device" gdk_drag_begin_for_device :: +    Ptr Window ->                           -- window : TInterface "Gdk" "Window"+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"+    Ptr (GList (Ptr Atom)) ->               -- targets : TGList (TInterface "Gdk" "Atom")+    IO (Ptr DragContext)+++dragBeginForDevice ::+    (MonadIO m, WindowK a, DeviceK b) =>+    a ->                                    -- window+    b ->                                    -- device+    [Atom] ->                               -- targets+    m DragContext+dragBeginForDevice window device targets = liftIO $ do+    let window' = unsafeManagedPtrCastPtr window+    let device' = unsafeManagedPtrCastPtr device+    let targets' = map unsafeManagedPtrGetPtr targets+    targets'' <- packGList targets'+    result <- gdk_drag_begin_for_device window' device' targets''+    result' <- (wrapObject DragContext) result+    touchManagedPtr window+    touchManagedPtr device+    mapM_ touchManagedPtr targets+    g_list_free targets''+    return result'++-- function gdk_drag_drop+-- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_drop" gdk_drag_drop :: +    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO ()+++dragDrop ::+    (MonadIO m, DragContextK a) =>+    a ->                                    -- context+    Word32 ->                               -- time_+    m ()+dragDrop context time_ = liftIO $ do+    let context' = unsafeManagedPtrCastPtr context+    gdk_drag_drop context' time_+    touchManagedPtr context+    return ()++-- function gdk_drag_drop_succeeded+-- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_drop_succeeded" gdk_drag_drop_succeeded :: +    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"+    IO CInt+++dragDropSucceeded ::+    (MonadIO m, DragContextK a) =>+    a ->                                    -- context+    m Bool+dragDropSucceeded context = liftIO $ do+    let context' = unsafeManagedPtrCastPtr context+    result <- gdk_drag_drop_succeeded context'+    let result' = (/= 0) result+    touchManagedPtr context+    return result'++-- function gdk_drag_find_window_for_screen+-- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "drag_window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_root", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y_root", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest_window", argType = TInterface "Gdk" "Window", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "protocol", argType = TInterface "Gdk" "DragProtocol", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "drag_window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_root", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y_root", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_find_window_for_screen" gdk_drag_find_window_for_screen :: +    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"+    Ptr Window ->                           -- drag_window : TInterface "Gdk" "Window"+    Ptr Screen ->                           -- screen : TInterface "Gdk" "Screen"+    Int32 ->                                -- x_root : TBasicType TInt32+    Int32 ->                                -- y_root : TBasicType TInt32+    Ptr (Ptr Window) ->                     -- dest_window : TInterface "Gdk" "Window"+    Ptr CUInt ->                            -- protocol : TInterface "Gdk" "DragProtocol"+    IO ()+++dragFindWindowForScreen ::+    (MonadIO m, DragContextK a, WindowK b, ScreenK c) =>+    a ->                                    -- context+    b ->                                    -- drag_window+    c ->                                    -- screen+    Int32 ->                                -- x_root+    Int32 ->                                -- y_root+    m (Window,DragProtocol)+dragFindWindowForScreen context drag_window screen x_root y_root = liftIO $ do+    let context' = unsafeManagedPtrCastPtr context+    let drag_window' = unsafeManagedPtrCastPtr drag_window+    let screen' = unsafeManagedPtrCastPtr screen+    dest_window <- allocMem :: IO (Ptr (Ptr Window))+    protocol <- allocMem :: IO (Ptr CUInt)+    gdk_drag_find_window_for_screen context' drag_window' screen' x_root y_root dest_window protocol+    dest_window' <- peek dest_window+    dest_window'' <- (wrapObject Window) dest_window'+    protocol' <- peek protocol+    let protocol'' = (toEnum . fromIntegral) protocol'+    touchManagedPtr context+    touchManagedPtr drag_window+    touchManagedPtr screen+    freeMem dest_window+    freeMem protocol+    return (dest_window'', protocol'')++-- function gdk_drag_get_selection+-- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Atom"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_get_selection" gdk_drag_get_selection :: +    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"+    IO (Ptr Atom)+++dragGetSelection ::+    (MonadIO m, DragContextK a) =>+    a ->                                    -- context+    m Atom+dragGetSelection context = liftIO $ do+    let context' = unsafeManagedPtrCastPtr context+    result <- gdk_drag_get_selection context'+    -- XXX Wrapping a foreign struct/union with no known destructor, leak?+    result' <- (\x -> Atom <$> newForeignPtr_ x) result+    touchManagedPtr context+    return result'++-- function gdk_drag_motion+-- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest_window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocol", argType = TInterface "Gdk" "DragProtocol", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_root", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y_root", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "suggested_action", argType = TInterface "Gdk" "DragAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "possible_actions", argType = TInterface "Gdk" "DragAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest_window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocol", argType = TInterface "Gdk" "DragProtocol", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_root", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y_root", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "suggested_action", argType = TInterface "Gdk" "DragAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "possible_actions", argType = TInterface "Gdk" "DragAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_motion" gdk_drag_motion :: +    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"+    Ptr Window ->                           -- dest_window : TInterface "Gdk" "Window"+    CUInt ->                                -- protocol : TInterface "Gdk" "DragProtocol"+    Int32 ->                                -- x_root : TBasicType TInt32+    Int32 ->                                -- y_root : TBasicType TInt32+    CUInt ->                                -- suggested_action : TInterface "Gdk" "DragAction"+    CUInt ->                                -- possible_actions : TInterface "Gdk" "DragAction"+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO CInt+++dragMotion ::+    (MonadIO m, DragContextK a, WindowK b) =>+    a ->                                    -- context+    b ->                                    -- dest_window+    DragProtocol ->                         -- protocol+    Int32 ->                                -- x_root+    Int32 ->                                -- y_root+    [DragAction] ->                         -- suggested_action+    [DragAction] ->                         -- possible_actions+    Word32 ->                               -- time_+    m Bool+dragMotion context dest_window protocol x_root y_root suggested_action possible_actions time_ = liftIO $ do+    let context' = unsafeManagedPtrCastPtr context+    let dest_window' = unsafeManagedPtrCastPtr dest_window+    let protocol' = (fromIntegral . fromEnum) protocol+    let suggested_action' = gflagsToWord suggested_action+    let possible_actions' = gflagsToWord possible_actions+    result <- gdk_drag_motion context' dest_window' protocol' x_root y_root suggested_action' possible_actions' time_+    let result' = (/= 0) result+    touchManagedPtr context+    touchManagedPtr dest_window+    return result'++-- function gdk_drag_status+-- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "action", argType = TInterface "Gdk" "DragAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "action", argType = TInterface "Gdk" "DragAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_status" gdk_drag_status :: +    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"+    CUInt ->                                -- action : TInterface "Gdk" "DragAction"+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO ()+++dragStatus ::+    (MonadIO m, DragContextK a) =>+    a ->                                    -- context+    [DragAction] ->                         -- action+    Word32 ->                               -- time_+    m ()+dragStatus context action time_ = liftIO $ do+    let context' = unsafeManagedPtrCastPtr context+    let action' = gflagsToWord action+    gdk_drag_status context' action' time_+    touchManagedPtr context+    return ()++-- function gdk_drop_finish+-- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "success", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "success", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drop_finish" gdk_drop_finish :: +    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"+    CInt ->                                 -- success : TBasicType TBoolean+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO ()+++dropFinish ::+    (MonadIO m, DragContextK a) =>+    a ->                                    -- context+    Bool ->                                 -- success+    Word32 ->                               -- time_+    m ()+dropFinish context success time_ = liftIO $ do+    let context' = unsafeManagedPtrCastPtr context+    let success' = (fromIntegral . fromEnum) success+    gdk_drop_finish context' success' time_+    touchManagedPtr context+    return ()++-- function gdk_drop_reply+-- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accepted", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accepted", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drop_reply" gdk_drop_reply :: +    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"+    CInt ->                                 -- accepted : TBasicType TBoolean+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO ()+++dropReply ::+    (MonadIO m, DragContextK a) =>+    a ->                                    -- context+    Bool ->                                 -- accepted+    Word32 ->                               -- time_+    m ()+dropReply context accepted time_ = liftIO $ do+    let context' = unsafeManagedPtrCastPtr context+    let accepted' = (fromIntegral . fromEnum) accepted+    gdk_drop_reply context' accepted' time_+    touchManagedPtr context+    return ()++-- function gdk_error_trap_pop+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_error_trap_pop" gdk_error_trap_pop :: +    IO Int32+++errorTrapPop ::+    (MonadIO m) =>+    m Int32+errorTrapPop  = liftIO $ do+    result <- gdk_error_trap_pop+    return result++-- function gdk_error_trap_pop_ignored+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_error_trap_pop_ignored" gdk_error_trap_pop_ignored :: +    IO ()+++errorTrapPopIgnored ::+    (MonadIO m) =>+    m ()+errorTrapPopIgnored  = liftIO $ do+    gdk_error_trap_pop_ignored+    return ()++-- function gdk_error_trap_push+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_error_trap_push" gdk_error_trap_push :: +    IO ()+++errorTrapPush ::+    (MonadIO m) =>+    m ()+errorTrapPush  = liftIO $ do+    gdk_error_trap_push+    return ()++-- function gdk_event_get+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Gdk" "Event"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get" gdk_event_get :: +    IO (Ptr Event)+++eventGet ::+    (MonadIO m) =>+    m Event+eventGet  = liftIO $ do+    result <- gdk_event_get+    result' <- (wrapBoxed Event) result+    return result'++-- function gdk_event_handler_set+-- Args : [Arg {argName = "func", argType = TInterface "Gdk" "EventFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 1, argDestroy = 2, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "func", argType = TInterface "Gdk" "EventFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 1, argDestroy = 2, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_handler_set" gdk_event_handler_set :: +    FunPtr EventFuncC ->                    -- func : TInterface "Gdk" "EventFunc"+    Ptr () ->                               -- data : TBasicType TVoid+    FunPtr GLib.DestroyNotifyC ->           -- notify : TInterface "GLib" "DestroyNotify"+    IO ()+++eventHandlerSet ::+    (MonadIO m) =>+    EventFunc ->                            -- func+    m ()+eventHandlerSet func = liftIO $ do+    func' <- mkEventFunc (eventFuncWrapper Nothing func)+    let data_ = castFunPtrToPtr func'+    let notify = safeFreeFunPtrPtr+    gdk_event_handler_set func' data_ notify+    return ()++-- function gdk_event_peek+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Gdk" "Event"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_peek" gdk_event_peek :: +    IO (Ptr Event)+++eventPeek ::+    (MonadIO m) =>+    m Event+eventPeek  = liftIO $ do+    result <- gdk_event_peek+    result' <- (wrapBoxed Event) result+    return result'++-- function gdk_event_request_motions+-- Args : [Arg {argName = "event", argType = TInterface "Gdk" "EventMotion", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "event", argType = TInterface "Gdk" "EventMotion", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_request_motions" gdk_event_request_motions :: +    Ptr EventMotion ->                      -- event : TInterface "Gdk" "EventMotion"+    IO ()+++eventRequestMotions ::+    (MonadIO m) =>+    EventMotion ->                          -- event+    m ()+eventRequestMotions event = liftIO $ do+    let event' = unsafeManagedPtrGetPtr event+    gdk_event_request_motions event'+    touchManagedPtr event+    return ()++-- function gdk_events_get_angle+-- Args : [Arg {argName = "event1", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event2", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "angle", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "event1", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event2", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_events_get_angle" gdk_events_get_angle :: +    Ptr Event ->                            -- event1 : TInterface "Gdk" "Event"+    Ptr Event ->                            -- event2 : TInterface "Gdk" "Event"+    Ptr CDouble ->                          -- angle : TBasicType TDouble+    IO CInt+++eventsGetAngle ::+    (MonadIO m) =>+    Event ->                                -- event1+    Event ->                                -- event2+    m (Bool,Double)+eventsGetAngle event1 event2 = liftIO $ do+    let event1' = unsafeManagedPtrGetPtr event1+    let event2' = unsafeManagedPtrGetPtr event2+    angle <- allocMem :: IO (Ptr CDouble)+    result <- gdk_events_get_angle event1' event2' angle+    let result' = (/= 0) result+    angle' <- peek angle+    let angle'' = realToFrac angle'+    touchManagedPtr event1+    touchManagedPtr event2+    freeMem angle+    return (result', angle'')++-- function gdk_events_get_center+-- Args : [Arg {argName = "event1", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event2", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "event1", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event2", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_events_get_center" gdk_events_get_center :: +    Ptr Event ->                            -- event1 : TInterface "Gdk" "Event"+    Ptr Event ->                            -- event2 : TInterface "Gdk" "Event"+    Ptr CDouble ->                          -- x : TBasicType TDouble+    Ptr CDouble ->                          -- y : TBasicType TDouble+    IO CInt+++eventsGetCenter ::+    (MonadIO m) =>+    Event ->                                -- event1+    Event ->                                -- event2+    m (Bool,Double,Double)+eventsGetCenter event1 event2 = liftIO $ do+    let event1' = unsafeManagedPtrGetPtr event1+    let event2' = unsafeManagedPtrGetPtr event2+    x <- allocMem :: IO (Ptr CDouble)+    y <- allocMem :: IO (Ptr CDouble)+    result <- gdk_events_get_center event1' event2' x y+    let result' = (/= 0) result+    x' <- peek x+    let x'' = realToFrac x'+    y' <- peek y+    let y'' = realToFrac y'+    touchManagedPtr event1+    touchManagedPtr event2+    freeMem x+    freeMem y+    return (result', x'', y'')++-- function gdk_events_get_distance+-- Args : [Arg {argName = "event1", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event2", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "distance", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "event1", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event2", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_events_get_distance" gdk_events_get_distance :: +    Ptr Event ->                            -- event1 : TInterface "Gdk" "Event"+    Ptr Event ->                            -- event2 : TInterface "Gdk" "Event"+    Ptr CDouble ->                          -- distance : TBasicType TDouble+    IO CInt+++eventsGetDistance ::+    (MonadIO m) =>+    Event ->                                -- event1+    Event ->                                -- event2+    m (Bool,Double)+eventsGetDistance event1 event2 = liftIO $ do+    let event1' = unsafeManagedPtrGetPtr event1+    let event2' = unsafeManagedPtrGetPtr event2+    distance <- allocMem :: IO (Ptr CDouble)+    result <- gdk_events_get_distance event1' event2' distance+    let result' = (/= 0) result+    distance' <- peek distance+    let distance'' = realToFrac distance'+    touchManagedPtr event1+    touchManagedPtr event2+    freeMem distance+    return (result', distance'')++-- function gdk_events_pending+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_events_pending" gdk_events_pending :: +    IO CInt+++eventsPending ::+    (MonadIO m) =>+    m Bool+eventsPending  = liftIO $ do+    result <- gdk_events_pending+    let result' = (/= 0) result+    return result'++-- function gdk_flush+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_flush" gdk_flush :: +    IO ()+++flush ::+    (MonadIO m) =>+    m ()+flush  = liftIO $ do+    gdk_flush+    return ()++-- function gdk_get_default_root_window+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Gdk" "Window"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_get_default_root_window" gdk_get_default_root_window :: +    IO (Ptr Window)+++getDefaultRootWindow ::+    (MonadIO m) =>+    m Window+getDefaultRootWindow  = liftIO $ do+    result <- gdk_get_default_root_window+    result' <- (newObject Window) result+    return result'++-- function gdk_get_display+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "gdk_get_display" gdk_get_display :: +    IO CString++{-# DEPRECATED getDisplay ["(Since version 3.8)","Call gdk_display_get_name (gdk_display_get_default ()))","   instead."]#-}+getDisplay ::+    (MonadIO m) =>+    m T.Text+getDisplay  = liftIO $ do+    result <- gdk_get_display+    result' <- cstringToText result+    freeMem result+    return result'++-- function gdk_get_display_arg_name+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "gdk_get_display_arg_name" gdk_get_display_arg_name :: +    IO CString+++getDisplayArgName ::+    (MonadIO m) =>+    m T.Text+getDisplayArgName  = liftIO $ do+    result <- gdk_get_display_arg_name+    result' <- cstringToText result+    return result'++-- function gdk_get_program_class+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "gdk_get_program_class" gdk_get_program_class :: +    IO CString+++getProgramClass ::+    (MonadIO m) =>+    m T.Text+getProgramClass  = liftIO $ do+    result <- gdk_get_program_class+    result' <- cstringToText result+    return result'++-- function gdk_get_show_events+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_get_show_events" gdk_get_show_events :: +    IO CInt+++getShowEvents ::+    (MonadIO m) =>+    m Bool+getShowEvents  = liftIO $ do+    result <- gdk_get_show_events+    let result' = (/= 0) result+    return result'++-- function gdk_gl_error_quark+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_error_quark" gdk_gl_error_quark :: +    IO Word32+++glErrorQuark ::+    (MonadIO m) =>+    m Word32+glErrorQuark  = liftIO $ do+    result <- gdk_gl_error_quark+    return result++-- function gdk_init+-- Args : [Arg {argName = "argc", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : [Arg {argName = "argc", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- hInArgs : [Arg {argName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_init" gdk_init :: +    Ptr Int32 ->                            -- argc : TBasicType TInt32+    Ptr (Ptr CString) ->                    -- argv : TCArray False (-1) 0 (TBasicType TUTF8)+    IO ()+++init ::+    (MonadIO m) =>+    [T.Text] ->                             -- argv+    m ([T.Text])+init argv = liftIO $ do+    let argc = fromIntegral $ length argv+    argc' <- allocMem :: IO (Ptr Int32)+    poke argc' argc+    argv' <- packUTF8CArray argv+    argv'' <- allocMem :: IO (Ptr (Ptr CString))+    poke argv'' argv'+    gdk_init argc' argv''+    argc'' <- peek argc'+    argv''' <- peek argv''+    argv'''' <- (unpackUTF8CArrayWithLength argc'') argv'''+    (mapCArrayWithLength argc'') freeMem argv'''+    freeMem argv'''+    freeMem argc'+    freeMem argv''+    return argv''''++-- function gdk_init_check+-- Args : [Arg {argName = "argc", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : [Arg {argName = "argc", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- hInArgs : [Arg {argName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_init_check" gdk_init_check :: +    Ptr Int32 ->                            -- argc : TBasicType TInt32+    Ptr (Ptr CString) ->                    -- argv : TCArray False (-1) 0 (TBasicType TUTF8)+    IO CInt+++initCheck ::+    (MonadIO m) =>+    [T.Text] ->                             -- argv+    m (Bool,[T.Text])+initCheck argv = liftIO $ do+    let argc = fromIntegral $ length argv+    argc' <- allocMem :: IO (Ptr Int32)+    poke argc' argc+    argv' <- packUTF8CArray argv+    argv'' <- allocMem :: IO (Ptr (Ptr CString))+    poke argv'' argv'+    result <- gdk_init_check argc' argv''+    argc'' <- peek argc'+    let result' = (/= 0) result+    argv''' <- peek argv''+    argv'''' <- (unpackUTF8CArrayWithLength argc'') argv'''+    (mapCArrayWithLength argc'') freeMem argv'''+    freeMem argv'''+    freeMem argc'+    freeMem argv''+    return (result', argv'''')++-- function gdk_keyboard_grab+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "GrabStatus"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keyboard_grab" gdk_keyboard_grab :: +    Ptr Window ->                           -- window : TInterface "Gdk" "Window"+    CInt ->                                 -- owner_events : TBasicType TBoolean+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO CUInt++{-# DEPRECATED keyboardGrab ["(Since version 3.0)","Use gdk_device_grab() instead."]#-}+keyboardGrab ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- window+    Bool ->                                 -- owner_events+    Word32 ->                               -- time_+    m GrabStatus+keyboardGrab window owner_events time_ = liftIO $ do+    let window' = unsafeManagedPtrCastPtr window+    let owner_events' = (fromIntegral . fromEnum) owner_events+    result <- gdk_keyboard_grab window' owner_events' time_+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr window+    return result'++-- function gdk_keyboard_ungrab+-- Args : [Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keyboard_ungrab" gdk_keyboard_ungrab :: +    Word32 ->                               -- time_ : TBasicType TUInt32+    IO ()++{-# DEPRECATED keyboardUngrab ["(Since version 3.0)","Use gdk_device_ungrab(), together with gdk_device_grab()","            instead."]#-}+keyboardUngrab ::+    (MonadIO m) =>+    Word32 ->                               -- time_+    m ()+keyboardUngrab time_ = liftIO $ do+    gdk_keyboard_ungrab time_+    return ()++-- function gdk_keyval_convert_case+-- Args : [Arg {argName = "symbol", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "lower", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "upper", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "symbol", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keyval_convert_case" gdk_keyval_convert_case :: +    Word32 ->                               -- symbol : TBasicType TUInt32+    Ptr Word32 ->                           -- lower : TBasicType TUInt32+    Ptr Word32 ->                           -- upper : TBasicType TUInt32+    IO ()+++keyvalConvertCase ::+    (MonadIO m) =>+    Word32 ->                               -- symbol+    m (Word32,Word32)+keyvalConvertCase symbol = liftIO $ do+    lower <- allocMem :: IO (Ptr Word32)+    upper <- allocMem :: IO (Ptr Word32)+    gdk_keyval_convert_case symbol lower upper+    lower' <- peek lower+    upper' <- peek upper+    freeMem lower+    freeMem upper+    return (lower', upper')++-- function gdk_keyval_from_name+-- Args : [Arg {argName = "keyval_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "keyval_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keyval_from_name" gdk_keyval_from_name :: +    CString ->                              -- keyval_name : TBasicType TUTF8+    IO Word32+++keyvalFromName ::+    (MonadIO m) =>+    T.Text ->                               -- keyval_name+    m Word32+keyvalFromName keyval_name = liftIO $ do+    keyval_name' <- textToCString keyval_name+    result <- gdk_keyval_from_name keyval_name'+    freeMem keyval_name'+    return result++-- function gdk_keyval_is_lower+-- Args : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keyval_is_lower" gdk_keyval_is_lower :: +    Word32 ->                               -- keyval : TBasicType TUInt32+    IO CInt+++keyvalIsLower ::+    (MonadIO m) =>+    Word32 ->                               -- keyval+    m Bool+keyvalIsLower keyval = liftIO $ do+    result <- gdk_keyval_is_lower keyval+    let result' = (/= 0) result+    return result'++-- function gdk_keyval_is_upper+-- Args : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keyval_is_upper" gdk_keyval_is_upper :: +    Word32 ->                               -- keyval : TBasicType TUInt32+    IO CInt+++keyvalIsUpper ::+    (MonadIO m) =>+    Word32 ->                               -- keyval+    m Bool+keyvalIsUpper keyval = liftIO $ do+    result <- gdk_keyval_is_upper keyval+    let result' = (/= 0) result+    return result'++-- function gdk_keyval_name+-- Args : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keyval_name" gdk_keyval_name :: +    Word32 ->                               -- keyval : TBasicType TUInt32+    IO CString+++keyvalName ::+    (MonadIO m) =>+    Word32 ->                               -- keyval+    m T.Text+keyvalName keyval = liftIO $ do+    result <- gdk_keyval_name keyval+    result' <- cstringToText result+    return result'++-- function gdk_keyval_to_lower+-- Args : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keyval_to_lower" gdk_keyval_to_lower :: +    Word32 ->                               -- keyval : TBasicType TUInt32+    IO Word32+++keyvalToLower ::+    (MonadIO m) =>+    Word32 ->                               -- keyval+    m Word32+keyvalToLower keyval = liftIO $ do+    result <- gdk_keyval_to_lower keyval+    return result++-- function gdk_keyval_to_unicode+-- Args : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keyval_to_unicode" gdk_keyval_to_unicode :: +    Word32 ->                               -- keyval : TBasicType TUInt32+    IO Word32+++keyvalToUnicode ::+    (MonadIO m) =>+    Word32 ->                               -- keyval+    m Word32+keyvalToUnicode keyval = liftIO $ do+    result <- gdk_keyval_to_unicode keyval+    return result++-- function gdk_keyval_to_upper+-- Args : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keyval_to_upper" gdk_keyval_to_upper :: +    Word32 ->                               -- keyval : TBasicType TUInt32+    IO Word32+++keyvalToUpper ::+    (MonadIO m) =>+    Word32 ->                               -- keyval+    m Word32+keyvalToUpper keyval = liftIO $ do+    result <- gdk_keyval_to_upper keyval+    return result++-- function gdk_list_visuals+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TGList (TInterface "Gdk" "Visual")+-- throws : False+-- Skip return : False++foreign import ccall "gdk_list_visuals" gdk_list_visuals :: +    IO (Ptr (GList (Ptr Visual)))+++listVisuals ::+    (MonadIO m) =>+    m [Visual]+listVisuals  = liftIO $ do+    result <- gdk_list_visuals+    result' <- unpackGList result+    result'' <- mapM (newObject Visual) result'+    g_list_free result+    return result''++-- function gdk_notify_startup_complete+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_notify_startup_complete" gdk_notify_startup_complete :: +    IO ()+++notifyStartupComplete ::+    (MonadIO m) =>+    m ()+notifyStartupComplete  = liftIO $ do+    gdk_notify_startup_complete+    return ()++-- function gdk_notify_startup_complete_with_id+-- Args : [Arg {argName = "startup_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "startup_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_notify_startup_complete_with_id" gdk_notify_startup_complete_with_id :: +    CString ->                              -- startup_id : TBasicType TUTF8+    IO ()+++notifyStartupCompleteWithId ::+    (MonadIO m) =>+    T.Text ->                               -- startup_id+    m ()+notifyStartupCompleteWithId startup_id = liftIO $ do+    startup_id' <- textToCString startup_id+    gdk_notify_startup_complete_with_id startup_id'+    freeMem startup_id'+    return ()++-- function gdk_offscreen_window_get_embedder+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Window"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_offscreen_window_get_embedder" gdk_offscreen_window_get_embedder :: +    Ptr Window ->                           -- window : TInterface "Gdk" "Window"+    IO (Ptr Window)+++offscreenWindowGetEmbedder ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- window+    m Window+offscreenWindowGetEmbedder window = liftIO $ do+    let window' = unsafeManagedPtrCastPtr window+    result <- gdk_offscreen_window_get_embedder window'+    result' <- (newObject Window) result+    touchManagedPtr window+    return result'++-- function gdk_offscreen_window_get_surface+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "cairo" "Surface"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_offscreen_window_get_surface" gdk_offscreen_window_get_surface :: +    Ptr Window ->                           -- window : TInterface "Gdk" "Window"+    IO (Ptr Cairo.Surface)+++offscreenWindowGetSurface ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- window+    m Cairo.Surface+offscreenWindowGetSurface window = liftIO $ do+    let window' = unsafeManagedPtrCastPtr window+    result <- gdk_offscreen_window_get_surface window'+    result' <- (newBoxed Cairo.Surface) result+    touchManagedPtr window+    return result'++-- function gdk_offscreen_window_set_embedder+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "embedder", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "embedder", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_offscreen_window_set_embedder" gdk_offscreen_window_set_embedder :: +    Ptr Window ->                           -- window : TInterface "Gdk" "Window"+    Ptr Window ->                           -- embedder : TInterface "Gdk" "Window"+    IO ()+++offscreenWindowSetEmbedder ::+    (MonadIO m, WindowK a, WindowK b) =>+    a ->                                    -- window+    b ->                                    -- embedder+    m ()+offscreenWindowSetEmbedder window embedder = liftIO $ do+    let window' = unsafeManagedPtrCastPtr window+    let embedder' = unsafeManagedPtrCastPtr embedder+    gdk_offscreen_window_set_embedder window' embedder'+    touchManagedPtr window+    touchManagedPtr embedder+    return ()++-- function gdk_pango_context_get+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Pango" "Context"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_pango_context_get" gdk_pango_context_get :: +    IO (Ptr Pango.Context)+++pangoContextGet ::+    (MonadIO m) =>+    m Pango.Context+pangoContextGet  = liftIO $ do+    result <- gdk_pango_context_get+    result' <- (wrapObject Pango.Context) result+    return result'++-- function gdk_pango_context_get_for_screen+-- Args : [Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Context"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_pango_context_get_for_screen" gdk_pango_context_get_for_screen :: +    Ptr Screen ->                           -- screen : TInterface "Gdk" "Screen"+    IO (Ptr Pango.Context)+++pangoContextGetForScreen ::+    (MonadIO m, ScreenK a) =>+    a ->                                    -- screen+    m Pango.Context+pangoContextGetForScreen screen = liftIO $ do+    let screen' = unsafeManagedPtrCastPtr screen+    result <- gdk_pango_context_get_for_screen screen'+    result' <- (wrapObject Pango.Context) result+    touchManagedPtr screen+    return result'++-- function gdk_parse_args+-- Args : [Arg {argName = "argc", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : [Arg {argName = "argc", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- hInArgs : [Arg {argName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_parse_args" gdk_parse_args :: +    Ptr Int32 ->                            -- argc : TBasicType TInt32+    Ptr (Ptr CString) ->                    -- argv : TCArray False (-1) 0 (TBasicType TUTF8)+    IO ()+++parseArgs ::+    (MonadIO m) =>+    [T.Text] ->                             -- argv+    m ([T.Text])+parseArgs argv = liftIO $ do+    let argc = fromIntegral $ length argv+    argc' <- allocMem :: IO (Ptr Int32)+    poke argc' argc+    argv' <- packUTF8CArray argv+    argv'' <- allocMem :: IO (Ptr (Ptr CString))+    poke argv'' argv'+    gdk_parse_args argc' argv''+    argc'' <- peek argc'+    argv''' <- peek argv''+    argv'''' <- (unpackUTF8CArrayWithLength argc'') argv'''+    (mapCArrayWithLength argc'') freeMem argv'''+    freeMem argv'''+    freeMem argc'+    freeMem argv''+    return argv''''++-- function gdk_pixbuf_get_from_surface+-- Args : [Arg {argName = "surface", argType = TInterface "cairo" "Surface", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "surface", argType = TInterface "cairo" "Surface", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GdkPixbuf" "Pixbuf"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_pixbuf_get_from_surface" gdk_pixbuf_get_from_surface :: +    Ptr Cairo.Surface ->                    -- surface : TInterface "cairo" "Surface"+    Int32 ->                                -- src_x : TBasicType TInt32+    Int32 ->                                -- src_y : TBasicType TInt32+    Int32 ->                                -- width : TBasicType TInt32+    Int32 ->                                -- height : TBasicType TInt32+    IO (Ptr GdkPixbuf.Pixbuf)+++pixbufGetFromSurface ::+    (MonadIO m) =>+    Cairo.Surface ->                        -- surface+    Int32 ->                                -- src_x+    Int32 ->                                -- src_y+    Int32 ->                                -- width+    Int32 ->                                -- height+    m GdkPixbuf.Pixbuf+pixbufGetFromSurface surface src_x src_y width height = liftIO $ do+    let surface' = unsafeManagedPtrGetPtr surface+    result <- gdk_pixbuf_get_from_surface surface' src_x src_y width height+    result' <- (wrapObject GdkPixbuf.Pixbuf) result+    touchManagedPtr surface+    return result'++-- function gdk_pixbuf_get_from_window+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GdkPixbuf" "Pixbuf"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_pixbuf_get_from_window" gdk_pixbuf_get_from_window :: +    Ptr Window ->                           -- window : TInterface "Gdk" "Window"+    Int32 ->                                -- src_x : TBasicType TInt32+    Int32 ->                                -- src_y : TBasicType TInt32+    Int32 ->                                -- width : TBasicType TInt32+    Int32 ->                                -- height : TBasicType TInt32+    IO (Ptr GdkPixbuf.Pixbuf)+++pixbufGetFromWindow ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- window+    Int32 ->                                -- src_x+    Int32 ->                                -- src_y+    Int32 ->                                -- width+    Int32 ->                                -- height+    m GdkPixbuf.Pixbuf+pixbufGetFromWindow window src_x src_y width height = liftIO $ do+    let window' = unsafeManagedPtrCastPtr window+    result <- gdk_pixbuf_get_from_window window' src_x src_y width height+    result' <- (wrapObject GdkPixbuf.Pixbuf) result+    touchManagedPtr window+    return result'++-- function gdk_pointer_grab+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "confine_to", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "confine_to", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "GrabStatus"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_pointer_grab" gdk_pointer_grab :: +    Ptr Window ->                           -- window : TInterface "Gdk" "Window"+    CInt ->                                 -- owner_events : TBasicType TBoolean+    CUInt ->                                -- event_mask : TInterface "Gdk" "EventMask"+    Ptr Window ->                           -- confine_to : TInterface "Gdk" "Window"+    Ptr Cursor ->                           -- cursor : TInterface "Gdk" "Cursor"+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO CUInt++{-# DEPRECATED pointerGrab ["(Since version 3.0)","Use gdk_device_grab() instead."]#-}+pointerGrab ::+    (MonadIO m, WindowK a, WindowK b, CursorK c) =>+    a ->                                    -- window+    Bool ->                                 -- owner_events+    [EventMask] ->                          -- event_mask+    Maybe (b) ->                            -- confine_to+    Maybe (c) ->                            -- cursor+    Word32 ->                               -- time_+    m GrabStatus+pointerGrab window owner_events event_mask confine_to cursor time_ = liftIO $ do+    let window' = unsafeManagedPtrCastPtr window+    let owner_events' = (fromIntegral . fromEnum) owner_events+    let event_mask' = gflagsToWord event_mask+    maybeConfine_to <- case confine_to of+        Nothing -> return nullPtr+        Just jConfine_to -> do+            let jConfine_to' = unsafeManagedPtrCastPtr jConfine_to+            return jConfine_to'+    maybeCursor <- case cursor of+        Nothing -> return nullPtr+        Just jCursor -> do+            let jCursor' = unsafeManagedPtrCastPtr jCursor+            return jCursor'+    result <- gdk_pointer_grab window' owner_events' event_mask' maybeConfine_to maybeCursor time_+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr window+    whenJust confine_to touchManagedPtr+    whenJust cursor touchManagedPtr+    return result'++-- function gdk_pointer_is_grabbed+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_pointer_is_grabbed" gdk_pointer_is_grabbed :: +    IO CInt++{-# DEPRECATED pointerIsGrabbed ["(Since version 3.0)","Use gdk_display_device_is_grabbed() instead."]#-}+pointerIsGrabbed ::+    (MonadIO m) =>+    m Bool+pointerIsGrabbed  = liftIO $ do+    result <- gdk_pointer_is_grabbed+    let result' = (/= 0) result+    return result'++-- function gdk_pointer_ungrab+-- Args : [Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_pointer_ungrab" gdk_pointer_ungrab :: +    Word32 ->                               -- time_ : TBasicType TUInt32+    IO ()++{-# DEPRECATED pointerUngrab ["(Since version 3.0)","Use gdk_device_ungrab(), together with gdk_device_grab()","            instead."]#-}+pointerUngrab ::+    (MonadIO m) =>+    Word32 ->                               -- time_+    m ()+pointerUngrab time_ = liftIO $ do+    gdk_pointer_ungrab time_+    return ()++-- function gdk_pre_parse_libgtk_only+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_pre_parse_libgtk_only" gdk_pre_parse_libgtk_only :: +    IO ()++{-# DEPRECATED preParseLibgtkOnly ["(Since version 3.16)","This symbol was never meant to be used outside","  of GTK+"]#-}+preParseLibgtkOnly ::+    (MonadIO m) =>+    m ()+preParseLibgtkOnly  = liftIO $ do+    gdk_pre_parse_libgtk_only+    return ()++-- function gdk_property_delete+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_property_delete" gdk_property_delete :: +    Ptr Window ->                           -- window : TInterface "Gdk" "Window"+    Ptr Atom ->                             -- property : TInterface "Gdk" "Atom"+    IO ()+++propertyDelete ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- window+    Atom ->                                 -- property+    m ()+propertyDelete window property = liftIO $ do+    let window' = unsafeManagedPtrCastPtr window+    let property' = unsafeManagedPtrGetPtr property+    gdk_property_delete window' property'+    touchManagedPtr window+    touchManagedPtr property+    return ()++-- function gdk_property_get+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pdelete", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "actual_property_type", argType = TInterface "Gdk" "Atom", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "actual_format", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "actual_length", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "data", argType = TCArray False (-1) 8 (TBasicType TUInt8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : [Arg {argName = "actual_length", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pdelete", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_property_get" gdk_property_get :: +    Ptr Window ->                           -- window : TInterface "Gdk" "Window"+    Ptr Atom ->                             -- property : TInterface "Gdk" "Atom"+    Ptr Atom ->                             -- type : TInterface "Gdk" "Atom"+    Word64 ->                               -- offset : TBasicType TUInt64+    Word64 ->                               -- length : TBasicType TUInt64+    Int32 ->                                -- pdelete : TBasicType TInt32+    Ptr (Ptr Atom) ->                       -- actual_property_type : TInterface "Gdk" "Atom"+    Ptr Int32 ->                            -- actual_format : TBasicType TInt32+    Ptr Int32 ->                            -- actual_length : TBasicType TInt32+    Ptr (Ptr Word8) ->                      -- data : TCArray False (-1) 8 (TBasicType TUInt8)+    IO CInt+++propertyGet ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- window+    Atom ->                                 -- property+    Atom ->                                 -- type+    Word64 ->                               -- offset+    Word64 ->                               -- length+    Int32 ->                                -- pdelete+    m (Bool,Atom,Int32,ByteString)+propertyGet window property type_ offset length_ pdelete = liftIO $ do+    let window' = unsafeManagedPtrCastPtr window+    let property' = unsafeManagedPtrGetPtr property+    let type_' = unsafeManagedPtrGetPtr type_+    actual_property_type <- allocMem :: IO (Ptr (Ptr Atom))+    actual_format <- allocMem :: IO (Ptr Int32)+    actual_length <- allocMem :: IO (Ptr Int32)+    data_ <- allocMem :: IO (Ptr (Ptr Word8))+    result <- gdk_property_get window' property' type_' offset length_ pdelete actual_property_type actual_format actual_length data_+    actual_length' <- peek actual_length+    let result' = (/= 0) result+    actual_property_type' <- peek actual_property_type+    -- XXX Wrapping a foreign struct/union with no known destructor, leak?+    actual_property_type'' <- (\x -> Atom <$> newForeignPtr_ x) actual_property_type'+    actual_format' <- peek actual_format+    data_' <- peek data_+    data_'' <- (unpackByteStringWithLength actual_length') data_'+    freeMem data_'+    touchManagedPtr window+    touchManagedPtr property+    touchManagedPtr type_+    freeMem actual_property_type+    freeMem actual_format+    freeMem actual_length+    freeMem data_+    return (result', actual_property_type'', actual_format', data_'')++-- function gdk_query_depths+-- Args : [Arg {argName = "depths", argType = TCArray False (-1) 1 (TBasicType TInt32), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "count", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : [Arg {argName = "count", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- hInArgs : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_query_depths" gdk_query_depths :: +    Ptr (Ptr Int32) ->                      -- depths : TCArray False (-1) 1 (TBasicType TInt32)+    Ptr Int32 ->                            -- count : TBasicType TInt32+    IO ()+++queryDepths ::+    (MonadIO m) =>+    m ([Int32])+queryDepths  = liftIO $ do+    depths <- allocMem :: IO (Ptr (Ptr Int32))+    count <- allocMem :: IO (Ptr Int32)+    gdk_query_depths depths count+    count' <- peek count+    depths' <- peek depths+    depths'' <- (unpackStorableArrayWithLength count') depths'+    freeMem depths+    freeMem count+    return depths''++-- function gdk_query_visual_types+-- Args : [Arg {argName = "visual_types", argType = TCArray False (-1) 1 (TInterface "Gdk" "VisualType"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "count", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : [Arg {argName = "count", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- hInArgs : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_query_visual_types" gdk_query_visual_types :: +    Ptr (Ptr CUInt) ->                      -- visual_types : TCArray False (-1) 1 (TInterface "Gdk" "VisualType")+    Ptr Int32 ->                            -- count : TBasicType TInt32+    IO ()+++queryVisualTypes ::+    (MonadIO m) =>+    m ([VisualType])+queryVisualTypes  = liftIO $ do+    visual_types <- allocMem :: IO (Ptr (Ptr CUInt))+    count <- allocMem :: IO (Ptr Int32)+    gdk_query_visual_types visual_types count+    count' <- peek count+    visual_types' <- peek visual_types+    visual_types'' <- (unpackStorableArrayWithLength count') visual_types'+    let visual_types''' = map (toEnum . fromIntegral) visual_types''+    freeMem visual_types+    freeMem count+    return visual_types'''++-- function gdk_rectangle_get_type+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TGType+-- throws : False+-- Skip return : False++foreign import ccall "gdk_rectangle_get_type" gdk_rectangle_get_type :: +    IO CGType+++rectangleGetType ::+    (MonadIO m) =>+    m GType+rectangleGetType  = liftIO $ do+    result <- gdk_rectangle_get_type+    let result' = GType result+    return result'++-- function gdk_rectangle_intersect+-- Args : [Arg {argName = "src1", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src2", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest", argType = TInterface "cairo" "RectangleInt", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "src1", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src2", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_rectangle_intersect" gdk_rectangle_intersect :: +    Ptr Cairo.RectangleInt ->               -- src1 : TInterface "cairo" "RectangleInt"+    Ptr Cairo.RectangleInt ->               -- src2 : TInterface "cairo" "RectangleInt"+    Ptr Cairo.RectangleInt ->               -- dest : TInterface "cairo" "RectangleInt"+    IO CInt+++rectangleIntersect ::+    (MonadIO m) =>+    Cairo.RectangleInt ->                   -- src1+    Cairo.RectangleInt ->                   -- src2+    m (Bool,Cairo.RectangleInt)+rectangleIntersect src1 src2 = liftIO $ do+    let src1' = unsafeManagedPtrGetPtr src1+    let src2' = unsafeManagedPtrGetPtr src2+    dest <- callocBoxedBytes 16 :: IO (Ptr Cairo.RectangleInt)+    result <- gdk_rectangle_intersect src1' src2' dest+    let result' = (/= 0) result+    dest' <- (wrapBoxed Cairo.RectangleInt) dest+    touchManagedPtr src1+    touchManagedPtr src2+    return (result', dest')++-- function gdk_rectangle_union+-- Args : [Arg {argName = "src1", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src2", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest", argType = TInterface "cairo" "RectangleInt", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "src1", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src2", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_rectangle_union" gdk_rectangle_union :: +    Ptr Cairo.RectangleInt ->               -- src1 : TInterface "cairo" "RectangleInt"+    Ptr Cairo.RectangleInt ->               -- src2 : TInterface "cairo" "RectangleInt"+    Ptr Cairo.RectangleInt ->               -- dest : TInterface "cairo" "RectangleInt"+    IO ()+++rectangleUnion ::+    (MonadIO m) =>+    Cairo.RectangleInt ->                   -- src1+    Cairo.RectangleInt ->                   -- src2+    m (Cairo.RectangleInt)+rectangleUnion src1 src2 = liftIO $ do+    let src1' = unsafeManagedPtrGetPtr src1+    let src2' = unsafeManagedPtrGetPtr src2+    dest <- callocBoxedBytes 16 :: IO (Ptr Cairo.RectangleInt)+    gdk_rectangle_union src1' src2' dest+    dest' <- (wrapBoxed Cairo.RectangleInt) dest+    touchManagedPtr src1+    touchManagedPtr src2+    return dest'++-- function gdk_selection_convert+-- Args : [Arg {argName = "requestor", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "requestor", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_selection_convert" gdk_selection_convert :: +    Ptr Window ->                           -- requestor : TInterface "Gdk" "Window"+    Ptr Atom ->                             -- selection : TInterface "Gdk" "Atom"+    Ptr Atom ->                             -- target : TInterface "Gdk" "Atom"+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO ()+++selectionConvert ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- requestor+    Atom ->                                 -- selection+    Atom ->                                 -- target+    Word32 ->                               -- time_+    m ()+selectionConvert requestor selection target time_ = liftIO $ do+    let requestor' = unsafeManagedPtrCastPtr requestor+    let selection' = unsafeManagedPtrGetPtr selection+    let target' = unsafeManagedPtrGetPtr target+    gdk_selection_convert requestor' selection' target' time_+    touchManagedPtr requestor+    touchManagedPtr selection+    touchManagedPtr target+    return ()++-- function gdk_selection_owner_get+-- Args : [Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Window"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_selection_owner_get" gdk_selection_owner_get :: +    Ptr Atom ->                             -- selection : TInterface "Gdk" "Atom"+    IO (Ptr Window)+++selectionOwnerGet ::+    (MonadIO m) =>+    Atom ->                                 -- selection+    m Window+selectionOwnerGet selection = liftIO $ do+    let selection' = unsafeManagedPtrGetPtr selection+    result <- gdk_selection_owner_get selection'+    result' <- (newObject Window) result+    touchManagedPtr selection+    return result'++-- function gdk_selection_owner_get_for_display+-- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gdk" "Window"+-- throws : False+-- Skip return : False++foreign import ccall "gdk_selection_owner_get_for_display" gdk_selection_owner_get_for_display :: +    Ptr Display ->                          -- display : TInterface "Gdk" "Display"+    Ptr Atom ->                             -- selection : TInterface "Gdk" "Atom"+    IO (Ptr Window)+++selectionOwnerGetForDisplay ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- display+    Atom ->                                 -- selection+    m Window+selectionOwnerGetForDisplay display selection = liftIO $ do+    let display' = unsafeManagedPtrCastPtr display+    let selection' = unsafeManagedPtrGetPtr selection+    result <- gdk_selection_owner_get_for_display display' selection'+    result' <- (newObject Window) result+    touchManagedPtr display+    touchManagedPtr selection+    return result'++-- function gdk_selection_owner_set+-- Args : [Arg {argName = "owner", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "send_event", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "owner", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "send_event", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_selection_owner_set" gdk_selection_owner_set :: +    Ptr Window ->                           -- owner : TInterface "Gdk" "Window"+    Ptr Atom ->                             -- selection : TInterface "Gdk" "Atom"+    Word32 ->                               -- time_ : TBasicType TUInt32+    CInt ->                                 -- send_event : TBasicType TBoolean+    IO CInt+++selectionOwnerSet ::+    (MonadIO m, WindowK a) =>+    Maybe (a) ->                            -- owner+    Atom ->                                 -- selection+    Word32 ->                               -- time_+    Bool ->                                 -- send_event+    m Bool+selectionOwnerSet owner selection time_ send_event = liftIO $ do+    maybeOwner <- case owner of+        Nothing -> return nullPtr+        Just jOwner -> do+            let jOwner' = unsafeManagedPtrCastPtr jOwner+            return jOwner'+    let selection' = unsafeManagedPtrGetPtr selection+    let send_event' = (fromIntegral . fromEnum) send_event+    result <- gdk_selection_owner_set maybeOwner selection' time_ send_event'+    let result' = (/= 0) result+    whenJust owner touchManagedPtr+    touchManagedPtr selection+    return result'++-- function gdk_selection_owner_set_for_display+-- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "send_event", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "send_event", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_selection_owner_set_for_display" gdk_selection_owner_set_for_display :: +    Ptr Display ->                          -- display : TInterface "Gdk" "Display"+    Ptr Window ->                           -- owner : TInterface "Gdk" "Window"+    Ptr Atom ->                             -- selection : TInterface "Gdk" "Atom"+    Word32 ->                               -- time_ : TBasicType TUInt32+    CInt ->                                 -- send_event : TBasicType TBoolean+    IO CInt+++selectionOwnerSetForDisplay ::+    (MonadIO m, DisplayK a, WindowK b) =>+    a ->                                    -- display+    Maybe (b) ->                            -- owner+    Atom ->                                 -- selection+    Word32 ->                               -- time_+    Bool ->                                 -- send_event+    m Bool+selectionOwnerSetForDisplay display owner selection time_ send_event = liftIO $ do+    let display' = unsafeManagedPtrCastPtr display+    maybeOwner <- case owner of+        Nothing -> return nullPtr+        Just jOwner -> do+            let jOwner' = unsafeManagedPtrCastPtr jOwner+            return jOwner'+    let selection' = unsafeManagedPtrGetPtr selection+    let send_event' = (fromIntegral . fromEnum) send_event+    result <- gdk_selection_owner_set_for_display display' maybeOwner selection' time_ send_event'+    let result' = (/= 0) result+    touchManagedPtr display+    whenJust owner touchManagedPtr+    touchManagedPtr selection+    return result'++-- function gdk_selection_send_notify+-- Args : [Arg {argName = "requestor", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "requestor", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_selection_send_notify" gdk_selection_send_notify :: +    Ptr Window ->                           -- requestor : TInterface "Gdk" "Window"+    Ptr Atom ->                             -- selection : TInterface "Gdk" "Atom"+    Ptr Atom ->                             -- target : TInterface "Gdk" "Atom"+    Ptr Atom ->                             -- property : TInterface "Gdk" "Atom"+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO ()+++selectionSendNotify ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- requestor+    Atom ->                                 -- selection+    Atom ->                                 -- target+    Atom ->                                 -- property+    Word32 ->                               -- time_+    m ()+selectionSendNotify requestor selection target property time_ = liftIO $ do+    let requestor' = unsafeManagedPtrCastPtr requestor+    let selection' = unsafeManagedPtrGetPtr selection+    let target' = unsafeManagedPtrGetPtr target+    let property' = unsafeManagedPtrGetPtr property+    gdk_selection_send_notify requestor' selection' target' property' time_+    touchManagedPtr requestor+    touchManagedPtr selection+    touchManagedPtr target+    touchManagedPtr property+    return ()++-- function gdk_selection_send_notify_for_display+-- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "requestor", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "requestor", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_selection_send_notify_for_display" gdk_selection_send_notify_for_display :: +    Ptr Display ->                          -- display : TInterface "Gdk" "Display"+    Ptr Window ->                           -- requestor : TInterface "Gdk" "Window"+    Ptr Atom ->                             -- selection : TInterface "Gdk" "Atom"+    Ptr Atom ->                             -- target : TInterface "Gdk" "Atom"+    Ptr Atom ->                             -- property : TInterface "Gdk" "Atom"+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO ()+++selectionSendNotifyForDisplay ::+    (MonadIO m, DisplayK a, WindowK b) =>+    a ->                                    -- display+    b ->                                    -- requestor+    Atom ->                                 -- selection+    Atom ->                                 -- target+    Atom ->                                 -- property+    Word32 ->                               -- time_+    m ()+selectionSendNotifyForDisplay display requestor selection target property time_ = liftIO $ do+    let display' = unsafeManagedPtrCastPtr display+    let requestor' = unsafeManagedPtrCastPtr requestor+    let selection' = unsafeManagedPtrGetPtr selection+    let target' = unsafeManagedPtrGetPtr target+    let property' = unsafeManagedPtrGetPtr property+    gdk_selection_send_notify_for_display display' requestor' selection' target' property' time_+    touchManagedPtr display+    touchManagedPtr requestor+    touchManagedPtr selection+    touchManagedPtr target+    touchManagedPtr property+    return ()++-- function gdk_set_allowed_backends+-- Args : [Arg {argName = "backends", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "backends", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_set_allowed_backends" gdk_set_allowed_backends :: +    CString ->                              -- backends : TBasicType TUTF8+    IO ()+++setAllowedBackends ::+    (MonadIO m) =>+    T.Text ->                               -- backends+    m ()+setAllowedBackends backends = liftIO $ do+    backends' <- textToCString backends+    gdk_set_allowed_backends backends'+    freeMem backends'+    return ()++-- function gdk_set_double_click_time+-- Args : [Arg {argName = "msec", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "msec", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_set_double_click_time" gdk_set_double_click_time :: +    Word32 ->                               -- msec : TBasicType TUInt32+    IO ()+++setDoubleClickTime ::+    (MonadIO m) =>+    Word32 ->                               -- msec+    m ()+setDoubleClickTime msec = liftIO $ do+    gdk_set_double_click_time msec+    return ()++-- function gdk_set_program_class+-- Args : [Arg {argName = "program_class", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "program_class", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_set_program_class" gdk_set_program_class :: +    CString ->                              -- program_class : TBasicType TUTF8+    IO ()+++setProgramClass ::+    (MonadIO m) =>+    T.Text ->                               -- program_class+    m ()+setProgramClass program_class = liftIO $ do+    program_class' <- textToCString program_class+    gdk_set_program_class program_class'+    freeMem program_class'+    return ()++-- function gdk_set_show_events+-- Args : [Arg {argName = "show_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "show_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_set_show_events" gdk_set_show_events :: +    CInt ->                                 -- show_events : TBasicType TBoolean+    IO ()+++setShowEvents ::+    (MonadIO m) =>+    Bool ->                                 -- show_events+    m ()+setShowEvents show_events = liftIO $ do+    let show_events' = (fromIntegral . fromEnum) show_events+    gdk_set_show_events show_events'+    return ()++-- function gdk_setting_get+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_setting_get" gdk_setting_get :: +    CString ->                              -- name : TBasicType TUTF8+    Ptr GValue ->                           -- value : TInterface "GObject" "Value"+    IO CInt+++settingGet ::+    (MonadIO m) =>+    T.Text ->                               -- name+    GValue ->                               -- value+    m Bool+settingGet name value = liftIO $ do+    name' <- textToCString name+    let value' = unsafeManagedPtrGetPtr value+    result <- gdk_setting_get name' value'+    let result' = (/= 0) result+    touchManagedPtr value+    freeMem name'+    return result'++-- function gdk_synthesize_window_state+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "unset_flags", argType = TInterface "Gdk" "WindowState", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "set_flags", argType = TInterface "Gdk" "WindowState", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "unset_flags", argType = TInterface "Gdk" "WindowState", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "set_flags", argType = TInterface "Gdk" "WindowState", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_synthesize_window_state" gdk_synthesize_window_state :: +    Ptr Window ->                           -- window : TInterface "Gdk" "Window"+    CUInt ->                                -- unset_flags : TInterface "Gdk" "WindowState"+    CUInt ->                                -- set_flags : TInterface "Gdk" "WindowState"+    IO ()+++synthesizeWindowState ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- window+    [WindowState] ->                        -- unset_flags+    [WindowState] ->                        -- set_flags+    m ()+synthesizeWindowState window unset_flags set_flags_ = liftIO $ do+    let window' = unsafeManagedPtrCastPtr window+    let unset_flags' = gflagsToWord unset_flags+    let set_flags_' = gflagsToWord set_flags_+    gdk_synthesize_window_state window' unset_flags' set_flags_'+    touchManagedPtr window+    return ()++-- function gdk_test_render_sync+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_test_render_sync" gdk_test_render_sync :: +    Ptr Window ->                           -- window : TInterface "Gdk" "Window"+    IO ()+++testRenderSync ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- window+    m ()+testRenderSync window = liftIO $ do+    let window' = unsafeManagedPtrCastPtr window+    gdk_test_render_sync window'+    touchManagedPtr window+    return ()++-- function gdk_test_simulate_button+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button_pressrelease", argType = TInterface "Gdk" "EventType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button_pressrelease", argType = TInterface "Gdk" "EventType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_test_simulate_button" gdk_test_simulate_button :: +    Ptr Window ->                           -- window : TInterface "Gdk" "Window"+    Int32 ->                                -- x : TBasicType TInt32+    Int32 ->                                -- y : TBasicType TInt32+    Word32 ->                               -- button : TBasicType TUInt32+    CUInt ->                                -- modifiers : TInterface "Gdk" "ModifierType"+    CUInt ->                                -- button_pressrelease : TInterface "Gdk" "EventType"+    IO CInt+++testSimulateButton ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- window+    Int32 ->                                -- x+    Int32 ->                                -- y+    Word32 ->                               -- button+    [ModifierType] ->                       -- modifiers+    EventType ->                            -- button_pressrelease+    m Bool+testSimulateButton window x y button modifiers button_pressrelease = liftIO $ do+    let window' = unsafeManagedPtrCastPtr window+    let modifiers' = gflagsToWord modifiers+    let button_pressrelease' = (fromIntegral . fromEnum) button_pressrelease+    result <- gdk_test_simulate_button window' x y button modifiers' button_pressrelease'+    let result' = (/= 0) result+    touchManagedPtr window+    return result'++-- function gdk_test_simulate_key+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key_pressrelease", argType = TInterface "Gdk" "EventType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key_pressrelease", argType = TInterface "Gdk" "EventType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gdk_test_simulate_key" gdk_test_simulate_key :: +    Ptr Window ->                           -- window : TInterface "Gdk" "Window"+    Int32 ->                                -- x : TBasicType TInt32+    Int32 ->                                -- y : TBasicType TInt32+    Word32 ->                               -- keyval : TBasicType TUInt32+    CUInt ->                                -- modifiers : TInterface "Gdk" "ModifierType"+    CUInt ->                                -- key_pressrelease : TInterface "Gdk" "EventType"+    IO CInt+++testSimulateKey ::+    (MonadIO m, WindowK a) =>+    a ->                                    -- window+    Int32 ->                                -- x+    Int32 ->                                -- y+    Word32 ->                               -- keyval+    [ModifierType] ->                       -- modifiers+    EventType ->                            -- key_pressrelease+    m Bool+testSimulateKey window x y keyval modifiers key_pressrelease = liftIO $ do+    let window' = unsafeManagedPtrCastPtr window+    let modifiers' = gflagsToWord modifiers+    let key_pressrelease' = (fromIntegral . fromEnum) key_pressrelease+    result <- gdk_test_simulate_key window' x y keyval modifiers' key_pressrelease'+    let result' = (/= 0) result+    touchManagedPtr window+    return result'++-- function gdk_text_property_to_utf8_list_for_display+-- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "encoding", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "format", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TCArray False (-1) 4 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "list", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : [Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "encoding", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "format", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TCArray False (-1) 4 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_text_property_to_utf8_list_for_display" gdk_text_property_to_utf8_list_for_display :: +    Ptr Display ->                          -- display : TInterface "Gdk" "Display"+    Ptr Atom ->                             -- encoding : TInterface "Gdk" "Atom"+    Int32 ->                                -- format : TBasicType TInt32+    Ptr Word8 ->                            -- text : TCArray False (-1) 4 (TBasicType TUInt8)+    Int32 ->                                -- length : TBasicType TInt32+    Ptr (Ptr CString) ->                    -- list : TCArray True (-1) (-1) (TBasicType TUTF8)+    IO Int32+++textPropertyToUtf8ListForDisplay ::+    (MonadIO m, DisplayK a) =>+    a ->                                    -- display+    Atom ->                                 -- encoding+    Int32 ->                                -- format+    ByteString ->                           -- text+    m (Int32,[T.Text])+textPropertyToUtf8ListForDisplay display encoding format text = liftIO $ do+    let length_ = fromIntegral $ B.length text+    let display' = unsafeManagedPtrCastPtr display+    let encoding' = unsafeManagedPtrGetPtr encoding+    text' <- packByteString text+    list <- allocMem :: IO (Ptr (Ptr CString))+    result <- gdk_text_property_to_utf8_list_for_display display' encoding' format text' length_ list+    list' <- peek list+    list'' <- unpackZeroTerminatedUTF8CArray list'+    mapZeroTerminatedCArray freeMem list'+    freeMem list'+    touchManagedPtr display+    touchManagedPtr encoding+    freeMem text'+    freeMem list+    return (result, list'')++-- function gdk_threads_add_idle_full+-- Args : [Arg {argName = "priority", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "function", argType = TInterface "GLib" "SourceFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "priority", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "function", argType = TInterface "GLib" "SourceFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_threads_add_idle_full" gdk_threads_add_idle_full :: +    Int32 ->                                -- priority : TBasicType TInt32+    FunPtr GLib.SourceFuncC ->              -- function : TInterface "GLib" "SourceFunc"+    Ptr () ->                               -- data : TBasicType TVoid+    FunPtr GLib.DestroyNotifyC ->           -- notify : TInterface "GLib" "DestroyNotify"+    IO Word32+++threadsAddIdle ::+    (MonadIO m) =>+    Int32 ->                                -- priority+    GLib.SourceFunc ->                      -- function+    m Word32+threadsAddIdle priority function = liftIO $ do+    function' <- GLib.mkSourceFunc (GLib.sourceFuncWrapper Nothing function)+    let data_ = castFunPtrToPtr function'+    let notify = safeFreeFunPtrPtr+    result <- gdk_threads_add_idle_full priority function' data_ notify+    return result++-- function gdk_threads_add_timeout_full+-- Args : [Arg {argName = "priority", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "interval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "function", argType = TInterface "GLib" "SourceFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "priority", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "interval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "function", argType = TInterface "GLib" "SourceFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_threads_add_timeout_full" gdk_threads_add_timeout_full :: +    Int32 ->                                -- priority : TBasicType TInt32+    Word32 ->                               -- interval : TBasicType TUInt32+    FunPtr GLib.SourceFuncC ->              -- function : TInterface "GLib" "SourceFunc"+    Ptr () ->                               -- data : TBasicType TVoid+    FunPtr GLib.DestroyNotifyC ->           -- notify : TInterface "GLib" "DestroyNotify"+    IO Word32+++threadsAddTimeout ::+    (MonadIO m) =>+    Int32 ->                                -- priority+    Word32 ->                               -- interval+    GLib.SourceFunc ->                      -- function+    m Word32+threadsAddTimeout priority interval function = liftIO $ do+    function' <- GLib.mkSourceFunc (GLib.sourceFuncWrapper Nothing function)+    let data_ = castFunPtrToPtr function'+    let notify = safeFreeFunPtrPtr+    result <- gdk_threads_add_timeout_full priority interval function' data_ notify+    return result++-- function gdk_threads_add_timeout_seconds_full+-- Args : [Arg {argName = "priority", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "interval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "function", argType = TInterface "GLib" "SourceFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "priority", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "interval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "function", argType = TInterface "GLib" "SourceFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_threads_add_timeout_seconds_full" gdk_threads_add_timeout_seconds_full :: +    Int32 ->                                -- priority : TBasicType TInt32+    Word32 ->                               -- interval : TBasicType TUInt32+    FunPtr GLib.SourceFuncC ->              -- function : TInterface "GLib" "SourceFunc"+    Ptr () ->                               -- data : TBasicType TVoid+    FunPtr GLib.DestroyNotifyC ->           -- notify : TInterface "GLib" "DestroyNotify"+    IO Word32+++threadsAddTimeoutSeconds ::+    (MonadIO m) =>+    Int32 ->                                -- priority+    Word32 ->                               -- interval+    GLib.SourceFunc ->                      -- function+    m Word32+threadsAddTimeoutSeconds priority interval function = liftIO $ do+    function' <- GLib.mkSourceFunc (GLib.sourceFuncWrapper Nothing function)+    let data_ = castFunPtrToPtr function'+    let notify = safeFreeFunPtrPtr+    result <- gdk_threads_add_timeout_seconds_full priority interval function' data_ notify+    return result++-- function gdk_threads_enter+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_threads_enter" gdk_threads_enter :: +    IO ()++{-# DEPRECATED threadsEnter ["(Since version 3.6)","All GDK and GTK+ calls should be made from the main","    thread"]#-}+threadsEnter ::+    (MonadIO m) =>+    m ()+threadsEnter  = liftIO $ do+    gdk_threads_enter+    return ()++-- function gdk_threads_init+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_threads_init" gdk_threads_init :: +    IO ()++{-# DEPRECATED threadsInit ["(Since version 3.6)","All GDK and GTK+ calls should be made from the main","    thread"]#-}+threadsInit ::+    (MonadIO m) =>+    m ()+threadsInit  = liftIO $ do+    gdk_threads_init+    return ()++-- function gdk_threads_leave+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gdk_threads_leave" gdk_threads_leave :: +    IO ()++{-# DEPRECATED threadsLeave ["(Since version 3.6)","All GDK and GTK+ calls should be made from the main","    thread"]#-}+threadsLeave ::+    (MonadIO m) =>+    m ()+threadsLeave  = liftIO $ do+    gdk_threads_leave+    return ()++-- function gdk_unicode_to_keyval+-- Args : [Arg {argName = "wc", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "wc", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "gdk_unicode_to_keyval" gdk_unicode_to_keyval :: +    Word32 ->                               -- wc : TBasicType TUInt32+    IO Word32+++unicodeToKeyval ::+    (MonadIO m) =>+    Word32 ->                               -- wc+    m Word32+unicodeToKeyval wc = liftIO $ do+    result <- gdk_unicode_to_keyval wc+    return result++-- function gdk_utf8_to_string_target+-- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "gdk_utf8_to_string_target" gdk_utf8_to_string_target :: +    CString ->                              -- str : TBasicType TUTF8+    IO CString+++utf8ToStringTarget ::+    (MonadIO m) =>+    T.Text ->                               -- str+    m T.Text+utf8ToStringTarget str = liftIO $ do+    str' <- textToCString str+    result <- gdk_utf8_to_string_target str'+    result' <- cstringToText result+    freeMem result+    freeMem str'+    return result'+
+ GI/GdkAttributes.hs view
@@ -0,0 +1,545 @@+{-# OPTIONS_GHC -fno-warn-orphans -fno-warn-unused-imports #-}++-- Generated code.++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++{-# LANGUAGE ForeignFunctionInterface, ConstraintKinds,+    TypeFamilies, MultiParamTypeClasses, KindSignatures,+    FlexibleInstances, UndecidableInstances, DataKinds,+    OverloadedStrings, NegativeLiterals, FlexibleContexts #-}++module GI.GdkAttributes where++import Prelude ()+import Data.GI.Base.ShortPrelude+import Data.Char+import Data.Int+import Data.Word+import qualified Data.ByteString.Char8 as B+import Data.ByteString.Char8 (ByteString)+import qualified Data.Map as Map+import Foreign.C+import Foreign.Ptr+import Foreign.ForeignPtr+import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr)+import Foreign.Storable (peek, poke, sizeOf)+import Control.Applicative ((<$>))+import Control.Exception (onException)+import Control.Monad.IO.Class+import qualified Data.Text as T++import Data.GI.Base.Attributes hiding (get, set)+import Data.GI.Base.BasicTypes+import Data.GI.Base.BasicConversions+import Data.GI.Base.Closure+import Data.GI.Base.GError+import Data.GI.Base.GHashTable+import Data.GI.Base.GParamSpec+import Data.GI.Base.GVariant+import Data.GI.Base.GValue+import Data.GI.Base.ManagedPtr+import Data.GI.Base.Overloading+import Data.GI.Base.Properties hiding (new)+import Data.GI.Base.Signals (SignalConnectMode(..), connectSignalFunPtr, SignalHandlerId)+import Data.GI.Base.Utils++import GI.Gdk++-- VVV Prop "display"+   -- Type: TInterface "Gdk" "Display"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getAppLaunchContextDisplay :: (MonadIO m, AppLaunchContextK o) => o -> m Display+getAppLaunchContextDisplay obj = liftIO $ getObjectPropertyObject obj "display" Display++constructAppLaunchContextDisplay :: (DisplayK a) => a -> IO ([Char], GValue)+constructAppLaunchContextDisplay val = constructObjectPropertyObject "display" val++data AppLaunchContextDisplayPropertyInfo+instance AttrInfo AppLaunchContextDisplayPropertyInfo where+    type AttrAllowedOps AppLaunchContextDisplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint AppLaunchContextDisplayPropertyInfo = DisplayK+    type AttrBaseTypeConstraint AppLaunchContextDisplayPropertyInfo = AppLaunchContextK+    type AttrGetType AppLaunchContextDisplayPropertyInfo = Display+    type AttrLabel AppLaunchContextDisplayPropertyInfo = "AppLaunchContext::display"+    attrGet _ = getAppLaunchContextDisplay+    attrSet _ = undefined+    attrConstruct _ = constructAppLaunchContextDisplay++type instance AttributeList AppLaunchContext = '[ '("display", AppLaunchContextDisplayPropertyInfo)]++-- VVV Prop "cursor-type"+   -- Type: TInterface "Gdk" "CursorType"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getCursorCursorType :: (MonadIO m, CursorK o) => o -> m CursorType+getCursorCursorType obj = liftIO $ getObjectPropertyEnum obj "cursor-type"++constructCursorCursorType :: CursorType -> IO ([Char], GValue)+constructCursorCursorType val = constructObjectPropertyEnum "cursor-type" val++data CursorCursorTypePropertyInfo+instance AttrInfo CursorCursorTypePropertyInfo where+    type AttrAllowedOps CursorCursorTypePropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint CursorCursorTypePropertyInfo = (~) CursorType+    type AttrBaseTypeConstraint CursorCursorTypePropertyInfo = CursorK+    type AttrGetType CursorCursorTypePropertyInfo = CursorType+    type AttrLabel CursorCursorTypePropertyInfo = "Cursor::cursor-type"+    attrGet _ = getCursorCursorType+    attrSet _ = undefined+    attrConstruct _ = constructCursorCursorType++-- VVV Prop "display"+   -- Type: TInterface "Gdk" "Display"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getCursorDisplay :: (MonadIO m, CursorK o) => o -> m Display+getCursorDisplay obj = liftIO $ getObjectPropertyObject obj "display" Display++constructCursorDisplay :: (DisplayK a) => a -> IO ([Char], GValue)+constructCursorDisplay val = constructObjectPropertyObject "display" val++data CursorDisplayPropertyInfo+instance AttrInfo CursorDisplayPropertyInfo where+    type AttrAllowedOps CursorDisplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint CursorDisplayPropertyInfo = DisplayK+    type AttrBaseTypeConstraint CursorDisplayPropertyInfo = CursorK+    type AttrGetType CursorDisplayPropertyInfo = Display+    type AttrLabel CursorDisplayPropertyInfo = "Cursor::display"+    attrGet _ = getCursorDisplay+    attrSet _ = undefined+    attrConstruct _ = constructCursorDisplay++type instance AttributeList Cursor = '[ '("cursor-type", CursorCursorTypePropertyInfo), '("display", CursorDisplayPropertyInfo)]++-- VVV Prop "associated-device"+   -- Type: TInterface "Gdk" "Device"+   -- Flags: [PropertyReadable]++getDeviceAssociatedDevice :: (MonadIO m, DeviceK o) => o -> m Device+getDeviceAssociatedDevice obj = liftIO $ getObjectPropertyObject obj "associated-device" Device++data DeviceAssociatedDevicePropertyInfo+instance AttrInfo DeviceAssociatedDevicePropertyInfo where+    type AttrAllowedOps DeviceAssociatedDevicePropertyInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint DeviceAssociatedDevicePropertyInfo = (~) ()+    type AttrBaseTypeConstraint DeviceAssociatedDevicePropertyInfo = DeviceK+    type AttrGetType DeviceAssociatedDevicePropertyInfo = Device+    type AttrLabel DeviceAssociatedDevicePropertyInfo = "Device::associated-device"+    attrGet _ = getDeviceAssociatedDevice+    attrSet _ = undefined+    attrConstruct _ = undefined++-- VVV Prop "device-manager"+   -- Type: TInterface "Gdk" "DeviceManager"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getDeviceDeviceManager :: (MonadIO m, DeviceK o) => o -> m DeviceManager+getDeviceDeviceManager obj = liftIO $ getObjectPropertyObject obj "device-manager" DeviceManager++constructDeviceDeviceManager :: (DeviceManagerK a) => a -> IO ([Char], GValue)+constructDeviceDeviceManager val = constructObjectPropertyObject "device-manager" val++data DeviceDeviceManagerPropertyInfo+instance AttrInfo DeviceDeviceManagerPropertyInfo where+    type AttrAllowedOps DeviceDeviceManagerPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint DeviceDeviceManagerPropertyInfo = DeviceManagerK+    type AttrBaseTypeConstraint DeviceDeviceManagerPropertyInfo = DeviceK+    type AttrGetType DeviceDeviceManagerPropertyInfo = DeviceManager+    type AttrLabel DeviceDeviceManagerPropertyInfo = "Device::device-manager"+    attrGet _ = getDeviceDeviceManager+    attrSet _ = undefined+    attrConstruct _ = constructDeviceDeviceManager++-- VVV Prop "display"+   -- Type: TInterface "Gdk" "Display"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getDeviceDisplay :: (MonadIO m, DeviceK o) => o -> m Display+getDeviceDisplay obj = liftIO $ getObjectPropertyObject obj "display" Display++constructDeviceDisplay :: (DisplayK a) => a -> IO ([Char], GValue)+constructDeviceDisplay val = constructObjectPropertyObject "display" val++data DeviceDisplayPropertyInfo+instance AttrInfo DeviceDisplayPropertyInfo where+    type AttrAllowedOps DeviceDisplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint DeviceDisplayPropertyInfo = DisplayK+    type AttrBaseTypeConstraint DeviceDisplayPropertyInfo = DeviceK+    type AttrGetType DeviceDisplayPropertyInfo = Display+    type AttrLabel DeviceDisplayPropertyInfo = "Device::display"+    attrGet _ = getDeviceDisplay+    attrSet _ = undefined+    attrConstruct _ = constructDeviceDisplay++-- VVV Prop "has-cursor"+   -- Type: TBasicType TBoolean+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getDeviceHasCursor :: (MonadIO m, DeviceK o) => o -> m Bool+getDeviceHasCursor obj = liftIO $ getObjectPropertyBool obj "has-cursor"++constructDeviceHasCursor :: Bool -> IO ([Char], GValue)+constructDeviceHasCursor val = constructObjectPropertyBool "has-cursor" val++data DeviceHasCursorPropertyInfo+instance AttrInfo DeviceHasCursorPropertyInfo where+    type AttrAllowedOps DeviceHasCursorPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint DeviceHasCursorPropertyInfo = (~) Bool+    type AttrBaseTypeConstraint DeviceHasCursorPropertyInfo = DeviceK+    type AttrGetType DeviceHasCursorPropertyInfo = Bool+    type AttrLabel DeviceHasCursorPropertyInfo = "Device::has-cursor"+    attrGet _ = getDeviceHasCursor+    attrSet _ = undefined+    attrConstruct _ = constructDeviceHasCursor++-- VVV Prop "input-mode"+   -- Type: TInterface "Gdk" "InputMode"+   -- Flags: [PropertyReadable,PropertyWritable]++getDeviceInputMode :: (MonadIO m, DeviceK o) => o -> m InputMode+getDeviceInputMode obj = liftIO $ getObjectPropertyEnum obj "input-mode"++setDeviceInputMode :: (MonadIO m, DeviceK o) => o -> InputMode -> m ()+setDeviceInputMode obj val = liftIO $ setObjectPropertyEnum obj "input-mode" val++constructDeviceInputMode :: InputMode -> IO ([Char], GValue)+constructDeviceInputMode val = constructObjectPropertyEnum "input-mode" val++data DeviceInputModePropertyInfo+instance AttrInfo DeviceInputModePropertyInfo where+    type AttrAllowedOps DeviceInputModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint DeviceInputModePropertyInfo = (~) InputMode+    type AttrBaseTypeConstraint DeviceInputModePropertyInfo = DeviceK+    type AttrGetType DeviceInputModePropertyInfo = InputMode+    type AttrLabel DeviceInputModePropertyInfo = "Device::input-mode"+    attrGet _ = getDeviceInputMode+    attrSet _ = setDeviceInputMode+    attrConstruct _ = constructDeviceInputMode++-- VVV Prop "input-source"+   -- Type: TInterface "Gdk" "InputSource"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getDeviceInputSource :: (MonadIO m, DeviceK o) => o -> m InputSource+getDeviceInputSource obj = liftIO $ getObjectPropertyEnum obj "input-source"++constructDeviceInputSource :: InputSource -> IO ([Char], GValue)+constructDeviceInputSource val = constructObjectPropertyEnum "input-source" val++data DeviceInputSourcePropertyInfo+instance AttrInfo DeviceInputSourcePropertyInfo where+    type AttrAllowedOps DeviceInputSourcePropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint DeviceInputSourcePropertyInfo = (~) InputSource+    type AttrBaseTypeConstraint DeviceInputSourcePropertyInfo = DeviceK+    type AttrGetType DeviceInputSourcePropertyInfo = InputSource+    type AttrLabel DeviceInputSourcePropertyInfo = "Device::input-source"+    attrGet _ = getDeviceInputSource+    attrSet _ = undefined+    attrConstruct _ = constructDeviceInputSource++-- VVV Prop "n-axes"+   -- Type: TBasicType TUInt32+   -- Flags: [PropertyReadable]++getDeviceNAxes :: (MonadIO m, DeviceK o) => o -> m Word32+getDeviceNAxes obj = liftIO $ getObjectPropertyCUInt obj "n-axes"++data DeviceNAxesPropertyInfo+instance AttrInfo DeviceNAxesPropertyInfo where+    type AttrAllowedOps DeviceNAxesPropertyInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint DeviceNAxesPropertyInfo = (~) ()+    type AttrBaseTypeConstraint DeviceNAxesPropertyInfo = DeviceK+    type AttrGetType DeviceNAxesPropertyInfo = Word32+    type AttrLabel DeviceNAxesPropertyInfo = "Device::n-axes"+    attrGet _ = getDeviceNAxes+    attrSet _ = undefined+    attrConstruct _ = undefined++-- VVV Prop "name"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getDeviceName :: (MonadIO m, DeviceK o) => o -> m T.Text+getDeviceName obj = liftIO $ getObjectPropertyString obj "name"++constructDeviceName :: T.Text -> IO ([Char], GValue)+constructDeviceName val = constructObjectPropertyString "name" val++data DeviceNamePropertyInfo+instance AttrInfo DeviceNamePropertyInfo where+    type AttrAllowedOps DeviceNamePropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint DeviceNamePropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint DeviceNamePropertyInfo = DeviceK+    type AttrGetType DeviceNamePropertyInfo = T.Text+    type AttrLabel DeviceNamePropertyInfo = "Device::name"+    attrGet _ = getDeviceName+    attrSet _ = undefined+    attrConstruct _ = constructDeviceName++-- VVV Prop "product-id"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getDeviceProductId :: (MonadIO m, DeviceK o) => o -> m T.Text+getDeviceProductId obj = liftIO $ getObjectPropertyString obj "product-id"++constructDeviceProductId :: T.Text -> IO ([Char], GValue)+constructDeviceProductId val = constructObjectPropertyString "product-id" val++data DeviceProductIdPropertyInfo+instance AttrInfo DeviceProductIdPropertyInfo where+    type AttrAllowedOps DeviceProductIdPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint DeviceProductIdPropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint DeviceProductIdPropertyInfo = DeviceK+    type AttrGetType DeviceProductIdPropertyInfo = T.Text+    type AttrLabel DeviceProductIdPropertyInfo = "Device::product-id"+    attrGet _ = getDeviceProductId+    attrSet _ = undefined+    attrConstruct _ = constructDeviceProductId++-- VVV Prop "type"+   -- Type: TInterface "Gdk" "DeviceType"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getDeviceType :: (MonadIO m, DeviceK o) => o -> m DeviceType+getDeviceType obj = liftIO $ getObjectPropertyEnum obj "type"++constructDeviceType :: DeviceType -> IO ([Char], GValue)+constructDeviceType val = constructObjectPropertyEnum "type" val++data DeviceTypePropertyInfo+instance AttrInfo DeviceTypePropertyInfo where+    type AttrAllowedOps DeviceTypePropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint DeviceTypePropertyInfo = (~) DeviceType+    type AttrBaseTypeConstraint DeviceTypePropertyInfo = DeviceK+    type AttrGetType DeviceTypePropertyInfo = DeviceType+    type AttrLabel DeviceTypePropertyInfo = "Device::type"+    attrGet _ = getDeviceType+    attrSet _ = undefined+    attrConstruct _ = constructDeviceType++-- VVV Prop "vendor-id"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getDeviceVendorId :: (MonadIO m, DeviceK o) => o -> m T.Text+getDeviceVendorId obj = liftIO $ getObjectPropertyString obj "vendor-id"++constructDeviceVendorId :: T.Text -> IO ([Char], GValue)+constructDeviceVendorId val = constructObjectPropertyString "vendor-id" val++data DeviceVendorIdPropertyInfo+instance AttrInfo DeviceVendorIdPropertyInfo where+    type AttrAllowedOps DeviceVendorIdPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint DeviceVendorIdPropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint DeviceVendorIdPropertyInfo = DeviceK+    type AttrGetType DeviceVendorIdPropertyInfo = T.Text+    type AttrLabel DeviceVendorIdPropertyInfo = "Device::vendor-id"+    attrGet _ = getDeviceVendorId+    attrSet _ = undefined+    attrConstruct _ = constructDeviceVendorId++type instance AttributeList Device = '[ '("associated-device", DeviceAssociatedDevicePropertyInfo), '("device-manager", DeviceDeviceManagerPropertyInfo), '("display", DeviceDisplayPropertyInfo), '("has-cursor", DeviceHasCursorPropertyInfo), '("input-mode", DeviceInputModePropertyInfo), '("input-source", DeviceInputSourcePropertyInfo), '("n-axes", DeviceNAxesPropertyInfo), '("name", DeviceNamePropertyInfo), '("product-id", DeviceProductIdPropertyInfo), '("type", DeviceTypePropertyInfo), '("vendor-id", DeviceVendorIdPropertyInfo)]++-- VVV Prop "display"+   -- Type: TInterface "Gdk" "Display"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getDeviceManagerDisplay :: (MonadIO m, DeviceManagerK o) => o -> m Display+getDeviceManagerDisplay obj = liftIO $ getObjectPropertyObject obj "display" Display++constructDeviceManagerDisplay :: (DisplayK a) => a -> IO ([Char], GValue)+constructDeviceManagerDisplay val = constructObjectPropertyObject "display" val++data DeviceManagerDisplayPropertyInfo+instance AttrInfo DeviceManagerDisplayPropertyInfo where+    type AttrAllowedOps DeviceManagerDisplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint DeviceManagerDisplayPropertyInfo = DisplayK+    type AttrBaseTypeConstraint DeviceManagerDisplayPropertyInfo = DeviceManagerK+    type AttrGetType DeviceManagerDisplayPropertyInfo = Display+    type AttrLabel DeviceManagerDisplayPropertyInfo = "DeviceManager::display"+    attrGet _ = getDeviceManagerDisplay+    attrSet _ = undefined+    attrConstruct _ = constructDeviceManagerDisplay++type instance AttributeList DeviceManager = '[ '("display", DeviceManagerDisplayPropertyInfo)]++type instance AttributeList Display = '[ ]++-- VVV Prop "default-display"+   -- Type: TInterface "Gdk" "Display"+   -- Flags: [PropertyReadable,PropertyWritable]++getDisplayManagerDefaultDisplay :: (MonadIO m, DisplayManagerK o) => o -> m Display+getDisplayManagerDefaultDisplay obj = liftIO $ getObjectPropertyObject obj "default-display" Display++setDisplayManagerDefaultDisplay :: (MonadIO m, DisplayManagerK o, DisplayK a) => o -> a -> m ()+setDisplayManagerDefaultDisplay obj val = liftIO $ setObjectPropertyObject obj "default-display" val++constructDisplayManagerDefaultDisplay :: (DisplayK a) => a -> IO ([Char], GValue)+constructDisplayManagerDefaultDisplay val = constructObjectPropertyObject "default-display" val++data DisplayManagerDefaultDisplayPropertyInfo+instance AttrInfo DisplayManagerDefaultDisplayPropertyInfo where+    type AttrAllowedOps DisplayManagerDefaultDisplayPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint DisplayManagerDefaultDisplayPropertyInfo = DisplayK+    type AttrBaseTypeConstraint DisplayManagerDefaultDisplayPropertyInfo = DisplayManagerK+    type AttrGetType DisplayManagerDefaultDisplayPropertyInfo = Display+    type AttrLabel DisplayManagerDefaultDisplayPropertyInfo = "DisplayManager::default-display"+    attrGet _ = getDisplayManagerDefaultDisplay+    attrSet _ = setDisplayManagerDefaultDisplay+    attrConstruct _ = constructDisplayManagerDefaultDisplay++type instance AttributeList DisplayManager = '[ '("default-display", DisplayManagerDefaultDisplayPropertyInfo)]++type instance AttributeList DragContext = '[ ]++type instance AttributeList FrameClock = '[ ]++-- VVV Prop "display"+   -- Type: TInterface "Gdk" "Display"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getGLContextDisplay :: (MonadIO m, GLContextK o) => o -> m Display+getGLContextDisplay obj = liftIO $ getObjectPropertyObject obj "display" Display++constructGLContextDisplay :: (DisplayK a) => a -> IO ([Char], GValue)+constructGLContextDisplay val = constructObjectPropertyObject "display" val++data GLContextDisplayPropertyInfo+instance AttrInfo GLContextDisplayPropertyInfo where+    type AttrAllowedOps GLContextDisplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint GLContextDisplayPropertyInfo = DisplayK+    type AttrBaseTypeConstraint GLContextDisplayPropertyInfo = GLContextK+    type AttrGetType GLContextDisplayPropertyInfo = Display+    type AttrLabel GLContextDisplayPropertyInfo = "GLContext::display"+    attrGet _ = getGLContextDisplay+    attrSet _ = undefined+    attrConstruct _ = constructGLContextDisplay++-- VVV Prop "shared-context"+   -- Type: TInterface "Gdk" "GLContext"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getGLContextSharedContext :: (MonadIO m, GLContextK o) => o -> m GLContext+getGLContextSharedContext obj = liftIO $ getObjectPropertyObject obj "shared-context" GLContext++constructGLContextSharedContext :: (GLContextK a) => a -> IO ([Char], GValue)+constructGLContextSharedContext val = constructObjectPropertyObject "shared-context" val++data GLContextSharedContextPropertyInfo+instance AttrInfo GLContextSharedContextPropertyInfo where+    type AttrAllowedOps GLContextSharedContextPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint GLContextSharedContextPropertyInfo = GLContextK+    type AttrBaseTypeConstraint GLContextSharedContextPropertyInfo = GLContextK+    type AttrGetType GLContextSharedContextPropertyInfo = GLContext+    type AttrLabel GLContextSharedContextPropertyInfo = "GLContext::shared-context"+    attrGet _ = getGLContextSharedContext+    attrSet _ = undefined+    attrConstruct _ = constructGLContextSharedContext++-- VVV Prop "window"+   -- Type: TInterface "Gdk" "Window"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getGLContextWindow :: (MonadIO m, GLContextK o) => o -> m Window+getGLContextWindow obj = liftIO $ getObjectPropertyObject obj "window" Window++constructGLContextWindow :: (WindowK a) => a -> IO ([Char], GValue)+constructGLContextWindow val = constructObjectPropertyObject "window" val++data GLContextWindowPropertyInfo+instance AttrInfo GLContextWindowPropertyInfo where+    type AttrAllowedOps GLContextWindowPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint GLContextWindowPropertyInfo = WindowK+    type AttrBaseTypeConstraint GLContextWindowPropertyInfo = GLContextK+    type AttrGetType GLContextWindowPropertyInfo = Window+    type AttrLabel GLContextWindowPropertyInfo = "GLContext::window"+    attrGet _ = getGLContextWindow+    attrSet _ = undefined+    attrConstruct _ = constructGLContextWindow++type instance AttributeList GLContext = '[ '("display", GLContextDisplayPropertyInfo), '("shared-context", GLContextSharedContextPropertyInfo), '("window", GLContextWindowPropertyInfo)]++type instance AttributeList Keymap = '[ ]++-- VVV Prop "font-options"+   -- Type: TBasicType TVoid+   -- Flags: [PropertyReadable,PropertyWritable]++getScreenFontOptions :: (MonadIO m, ScreenK o) => o -> m (Ptr ())+getScreenFontOptions obj = liftIO $ getObjectPropertyPtr obj "font-options"++setScreenFontOptions :: (MonadIO m, ScreenK o) => o -> (Ptr ()) -> m ()+setScreenFontOptions obj val = liftIO $ setObjectPropertyPtr obj "font-options" val++constructScreenFontOptions :: (Ptr ()) -> IO ([Char], GValue)+constructScreenFontOptions val = constructObjectPropertyPtr "font-options" val++data ScreenFontOptionsPropertyInfo+instance AttrInfo ScreenFontOptionsPropertyInfo where+    type AttrAllowedOps ScreenFontOptionsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint ScreenFontOptionsPropertyInfo = (~) (Ptr ())+    type AttrBaseTypeConstraint ScreenFontOptionsPropertyInfo = ScreenK+    type AttrGetType ScreenFontOptionsPropertyInfo = (Ptr ())+    type AttrLabel ScreenFontOptionsPropertyInfo = "Screen::font-options"+    attrGet _ = getScreenFontOptions+    attrSet _ = setScreenFontOptions+    attrConstruct _ = constructScreenFontOptions++-- VVV Prop "resolution"+   -- Type: TBasicType TDouble+   -- Flags: [PropertyReadable,PropertyWritable]++getScreenResolution :: (MonadIO m, ScreenK o) => o -> m Double+getScreenResolution obj = liftIO $ getObjectPropertyDouble obj "resolution"++setScreenResolution :: (MonadIO m, ScreenK o) => o -> Double -> m ()+setScreenResolution obj val = liftIO $ setObjectPropertyDouble obj "resolution" val++constructScreenResolution :: Double -> IO ([Char], GValue)+constructScreenResolution val = constructObjectPropertyDouble "resolution" val++data ScreenResolutionPropertyInfo+instance AttrInfo ScreenResolutionPropertyInfo where+    type AttrAllowedOps ScreenResolutionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint ScreenResolutionPropertyInfo = (~) Double+    type AttrBaseTypeConstraint ScreenResolutionPropertyInfo = ScreenK+    type AttrGetType ScreenResolutionPropertyInfo = Double+    type AttrLabel ScreenResolutionPropertyInfo = "Screen::resolution"+    attrGet _ = getScreenResolution+    attrSet _ = setScreenResolution+    attrConstruct _ = constructScreenResolution++type instance AttributeList Screen = '[ '("font-options", ScreenFontOptionsPropertyInfo), '("resolution", ScreenResolutionPropertyInfo)]++type instance AttributeList Visual = '[ ]++-- VVV Prop "cursor"+   -- Type: TInterface "Gdk" "Cursor"+   -- Flags: [PropertyReadable,PropertyWritable]++getWindowCursor :: (MonadIO m, WindowK o) => o -> m Cursor+getWindowCursor obj = liftIO $ getObjectPropertyObject obj "cursor" Cursor++setWindowCursor :: (MonadIO m, WindowK o, CursorK a) => o -> a -> m ()+setWindowCursor obj val = liftIO $ setObjectPropertyObject obj "cursor" val++constructWindowCursor :: (CursorK a) => a -> IO ([Char], GValue)+constructWindowCursor val = constructObjectPropertyObject "cursor" val++data WindowCursorPropertyInfo+instance AttrInfo WindowCursorPropertyInfo where+    type AttrAllowedOps WindowCursorPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint WindowCursorPropertyInfo = CursorK+    type AttrBaseTypeConstraint WindowCursorPropertyInfo = WindowK+    type AttrGetType WindowCursorPropertyInfo = Cursor+    type AttrLabel WindowCursorPropertyInfo = "Window::cursor"+    attrGet _ = getWindowCursor+    attrSet _ = setWindowCursor+    attrConstruct _ = constructWindowCursor++type instance AttributeList Window = '[ '("cursor", WindowCursorPropertyInfo)]+
+ GI/GdkSignals.hs view
@@ -0,0 +1,164 @@+-- Generated code.++{-# OPTIONS_GHC -fno-warn-orphans #-}++{-# LANGUAGE DataKinds,    FlexibleInstances,+             TypeFamilies, MultiParamTypeClasses,+               TypeOperators #-}++module GI.GdkSignals where++import Data.GI.Base.Properties (GObjectNotifySignalInfo)+import Data.GI.Base.Signals+import Data.GI.Base.Overloading++import qualified GI.GObjectSignals as GObject+import qualified GI.GioSignals as Gio+import GI.Gdk++type instance SignalList AppLaunchContext = '[ '("launch-failed", Gio.AppLaunchContextLaunchFailedSignalInfo), '("launched", Gio.AppLaunchContextLaunchedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList Cursor = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++data DeviceChangedSignalInfo+instance SignalInfo DeviceChangedSignalInfo where+    type HaskellCallbackType DeviceChangedSignalInfo = DeviceChangedCallback+    connectSignal _ = connectDeviceChanged++type instance SignalList Device = '[ '("changed", DeviceChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++data DeviceManagerDeviceAddedSignalInfo+instance SignalInfo DeviceManagerDeviceAddedSignalInfo where+    type HaskellCallbackType DeviceManagerDeviceAddedSignalInfo = DeviceManagerDeviceAddedCallback+    connectSignal _ = connectDeviceManagerDeviceAdded++data DeviceManagerDeviceChangedSignalInfo+instance SignalInfo DeviceManagerDeviceChangedSignalInfo where+    type HaskellCallbackType DeviceManagerDeviceChangedSignalInfo = DeviceManagerDeviceChangedCallback+    connectSignal _ = connectDeviceManagerDeviceChanged++data DeviceManagerDeviceRemovedSignalInfo+instance SignalInfo DeviceManagerDeviceRemovedSignalInfo where+    type HaskellCallbackType DeviceManagerDeviceRemovedSignalInfo = DeviceManagerDeviceRemovedCallback+    connectSignal _ = connectDeviceManagerDeviceRemoved++type instance SignalList DeviceManager = '[ '("device-added", DeviceManagerDeviceAddedSignalInfo), '("device-changed", DeviceManagerDeviceChangedSignalInfo), '("device-removed", DeviceManagerDeviceRemovedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++data DisplayClosedSignalInfo+instance SignalInfo DisplayClosedSignalInfo where+    type HaskellCallbackType DisplayClosedSignalInfo = DisplayClosedCallback+    connectSignal _ = connectDisplayClosed++data DisplayOpenedSignalInfo+instance SignalInfo DisplayOpenedSignalInfo where+    type HaskellCallbackType DisplayOpenedSignalInfo = DisplayOpenedCallback+    connectSignal _ = connectDisplayOpened++type instance SignalList Display = '[ '("closed", DisplayClosedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("opened", DisplayOpenedSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++data DisplayManagerDisplayOpenedSignalInfo+instance SignalInfo DisplayManagerDisplayOpenedSignalInfo where+    type HaskellCallbackType DisplayManagerDisplayOpenedSignalInfo = DisplayManagerDisplayOpenedCallback+    connectSignal _ = connectDisplayManagerDisplayOpened++type instance SignalList DisplayManager = '[ '("display-opened", DisplayManagerDisplayOpenedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList DragContext = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++data FrameClockAfterPaintSignalInfo+instance SignalInfo FrameClockAfterPaintSignalInfo where+    type HaskellCallbackType FrameClockAfterPaintSignalInfo = FrameClockAfterPaintCallback+    connectSignal _ = connectFrameClockAfterPaint++data FrameClockBeforePaintSignalInfo+instance SignalInfo FrameClockBeforePaintSignalInfo where+    type HaskellCallbackType FrameClockBeforePaintSignalInfo = FrameClockBeforePaintCallback+    connectSignal _ = connectFrameClockBeforePaint++data FrameClockFlushEventsSignalInfo+instance SignalInfo FrameClockFlushEventsSignalInfo where+    type HaskellCallbackType FrameClockFlushEventsSignalInfo = FrameClockFlushEventsCallback+    connectSignal _ = connectFrameClockFlushEvents++data FrameClockLayoutSignalInfo+instance SignalInfo FrameClockLayoutSignalInfo where+    type HaskellCallbackType FrameClockLayoutSignalInfo = FrameClockLayoutCallback+    connectSignal _ = connectFrameClockLayout++data FrameClockPaintSignalInfo+instance SignalInfo FrameClockPaintSignalInfo where+    type HaskellCallbackType FrameClockPaintSignalInfo = FrameClockPaintCallback+    connectSignal _ = connectFrameClockPaint++data FrameClockResumeEventsSignalInfo+instance SignalInfo FrameClockResumeEventsSignalInfo where+    type HaskellCallbackType FrameClockResumeEventsSignalInfo = FrameClockResumeEventsCallback+    connectSignal _ = connectFrameClockResumeEvents++data FrameClockUpdateSignalInfo+instance SignalInfo FrameClockUpdateSignalInfo where+    type HaskellCallbackType FrameClockUpdateSignalInfo = FrameClockUpdateCallback+    connectSignal _ = connectFrameClockUpdate++type instance SignalList FrameClock = '[ '("after-paint", FrameClockAfterPaintSignalInfo), '("before-paint", FrameClockBeforePaintSignalInfo), '("flush-events", FrameClockFlushEventsSignalInfo), '("layout", FrameClockLayoutSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("paint", FrameClockPaintSignalInfo), '("resume-events", FrameClockResumeEventsSignalInfo), '("update", FrameClockUpdateSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList GLContext = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++data KeymapDirectionChangedSignalInfo+instance SignalInfo KeymapDirectionChangedSignalInfo where+    type HaskellCallbackType KeymapDirectionChangedSignalInfo = KeymapDirectionChangedCallback+    connectSignal _ = connectKeymapDirectionChanged++data KeymapKeysChangedSignalInfo+instance SignalInfo KeymapKeysChangedSignalInfo where+    type HaskellCallbackType KeymapKeysChangedSignalInfo = KeymapKeysChangedCallback+    connectSignal _ = connectKeymapKeysChanged++data KeymapStateChangedSignalInfo+instance SignalInfo KeymapStateChangedSignalInfo where+    type HaskellCallbackType KeymapStateChangedSignalInfo = KeymapStateChangedCallback+    connectSignal _ = connectKeymapStateChanged++type instance SignalList Keymap = '[ '("direction-changed", KeymapDirectionChangedSignalInfo), '("keys-changed", KeymapKeysChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("state-changed", KeymapStateChangedSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++data ScreenCompositedChangedSignalInfo+instance SignalInfo ScreenCompositedChangedSignalInfo where+    type HaskellCallbackType ScreenCompositedChangedSignalInfo = ScreenCompositedChangedCallback+    connectSignal _ = connectScreenCompositedChanged++data ScreenMonitorsChangedSignalInfo+instance SignalInfo ScreenMonitorsChangedSignalInfo where+    type HaskellCallbackType ScreenMonitorsChangedSignalInfo = ScreenMonitorsChangedCallback+    connectSignal _ = connectScreenMonitorsChanged++data ScreenSizeChangedSignalInfo+instance SignalInfo ScreenSizeChangedSignalInfo where+    type HaskellCallbackType ScreenSizeChangedSignalInfo = ScreenSizeChangedCallback+    connectSignal _ = connectScreenSizeChanged++type instance SignalList Screen = '[ '("composited-changed", ScreenCompositedChangedSignalInfo), '("monitors-changed", ScreenMonitorsChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("size-changed", ScreenSizeChangedSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList Visual = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++data WindowCreateSurfaceSignalInfo+instance SignalInfo WindowCreateSurfaceSignalInfo where+    type HaskellCallbackType WindowCreateSurfaceSignalInfo = WindowCreateSurfaceCallback+    connectSignal _ = connectWindowCreateSurface++data WindowFromEmbedderSignalInfo+instance SignalInfo WindowFromEmbedderSignalInfo where+    type HaskellCallbackType WindowFromEmbedderSignalInfo = WindowFromEmbedderCallback+    connectSignal _ = connectWindowFromEmbedder++data WindowPickEmbeddedChildSignalInfo+instance SignalInfo WindowPickEmbeddedChildSignalInfo where+    type HaskellCallbackType WindowPickEmbeddedChildSignalInfo = WindowPickEmbeddedChildCallback+    connectSignal _ = connectWindowPickEmbeddedChild++data WindowToEmbedderSignalInfo+instance SignalInfo WindowToEmbedderSignalInfo where+    type HaskellCallbackType WindowToEmbedderSignalInfo = WindowToEmbedderCallback+    connectSignal _ = connectWindowToEmbedder++type instance SignalList Window = '[ '("create-surface", WindowCreateSurfaceSignalInfo), '("from-embedder", WindowFromEmbedderSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("pick-embedded-child", WindowPickEmbeddedChildSignalInfo), '("to-embedder", WindowToEmbedderSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]+
+ LICENSE view
@@ -0,0 +1,502 @@+                  GNU LESSER GENERAL PUBLIC LICENSE+                       Version 2.1, February 1999++ Copyright (C) 1991, 1999 Free Software Foundation, Inc.+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA+ Everyone is permitted to copy and distribute verbatim copies+ of this license document, but changing it is not allowed.++[This is the first released version of the Lesser GPL.  It also counts+ as the successor of the GNU Library Public License, version 2, hence+ the version number 2.1.]++                            Preamble++  The licenses for most software are designed to take away your+freedom to share and change it.  By contrast, the GNU General Public+Licenses are intended to guarantee your freedom to share and change+free software--to make sure the software is free for all its users.++  This license, the Lesser General Public License, applies to some+specially designated software packages--typically libraries--of the+Free Software Foundation and other authors who decide to use it.  You+can use it too, but we suggest you first think carefully about whether+this license or the ordinary General Public License is the better+strategy to use in any particular case, based on the explanations below.++  When we speak of free software, we are referring to freedom of use,+not price.  Our General Public Licenses are designed to make sure that+you have the freedom to distribute copies of free software (and charge+for this service if you wish); that you receive source code or can get+it if you want it; that you can change the software and use pieces of+it in new free programs; and that you are informed that you can do+these things.++  To protect your rights, we need to make restrictions that forbid+distributors to deny you these rights or to ask you to surrender these+rights.  These restrictions translate to certain responsibilities for+you if you distribute copies of the library or if you modify it.++  For example, if you distribute copies of the library, whether gratis+or for a fee, you must give the recipients all the rights that we gave+you.  You must make sure that they, too, receive or can get the source+code.  If you link other code with the library, you must provide+complete object files to the recipients, so that they can relink them+with the library after making changes to the library and recompiling+it.  And you must show them these terms so they know their rights.++  We protect your rights with a two-step method: (1) we copyright the+library, and (2) we offer you this license, which gives you legal+permission to copy, distribute and/or modify the library.++  To protect each distributor, we want to make it very clear that+there is no warranty for the free library.  Also, if the library is+modified by someone else and passed on, the recipients should know+that what they have is not the original version, so that the original+author's reputation will not be affected by problems that might be+introduced by others.++  Finally, software patents pose a constant threat to the existence of+any free program.  We wish to make sure that a company cannot+effectively restrict the users of a free program by obtaining a+restrictive license from a patent holder.  Therefore, we insist that+any patent license obtained for a version of the library must be+consistent with the full freedom of use specified in this license.++  Most GNU software, including some libraries, is covered by the+ordinary GNU General Public License.  This license, the GNU Lesser+General Public License, applies to certain designated libraries, and+is quite different from the ordinary General Public License.  We use+this license for certain libraries in order to permit linking those+libraries into non-free programs.++  When a program is linked with a library, whether statically or using+a shared library, the combination of the two is legally speaking a+combined work, a derivative of the original library.  The ordinary+General Public License therefore permits such linking only if the+entire combination fits its criteria of freedom.  The Lesser General+Public License permits more lax criteria for linking other code with+the library.++  We call this license the "Lesser" General Public License because it+does Less to protect the user's freedom than the ordinary General+Public License.  It also provides other free software developers Less+of an advantage over competing non-free programs.  These disadvantages+are the reason we use the ordinary General Public License for many+libraries.  However, the Lesser license provides advantages in certain+special circumstances.++  For example, on rare occasions, there may be a special need to+encourage the widest possible use of a certain library, so that it becomes+a de-facto standard.  To achieve this, non-free programs must be+allowed to use the library.  A more frequent case is that a free+library does the same job as widely used non-free libraries.  In this+case, there is little to gain by limiting the free library to free+software only, so we use the Lesser General Public License.++  In other cases, permission to use a particular library in non-free+programs enables a greater number of people to use a large body of+free software.  For example, permission to use the GNU C Library in+non-free programs enables many more people to use the whole GNU+operating system, as well as its variant, the GNU/Linux operating+system.++  Although the Lesser General Public License is Less protective of the+users' freedom, it does ensure that the user of a program that is+linked with the Library has the freedom and the wherewithal to run+that program using a modified version of the Library.++  The precise terms and conditions for copying, distribution and+modification follow.  Pay close attention to the difference between a+"work based on the library" and a "work that uses the library".  The+former contains code derived from the library, whereas the latter must+be combined with the library in order to run.++                  GNU LESSER GENERAL PUBLIC LICENSE+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION++  0. This License Agreement applies to any software library or other+program which contains a notice placed by the copyright holder or+other authorized party saying it may be distributed under the terms of+this Lesser General Public License (also called "this License").+Each licensee is addressed as "you".++  A "library" means a collection of software functions and/or data+prepared so as to be conveniently linked with application programs+(which use some of those functions and data) to form executables.++  The "Library", below, refers to any such software library or work+which has been distributed under these terms.  A "work based on the+Library" means either the Library or any derivative work under+copyright law: that is to say, a work containing the Library or a+portion of it, either verbatim or with modifications and/or translated+straightforwardly into another language.  (Hereinafter, translation is+included without limitation in the term "modification".)++  "Source code" for a work means the preferred form of the work for+making modifications to it.  For a library, complete source code means+all the source code for all modules it contains, plus any associated+interface definition files, plus the scripts used to control compilation+and installation of the library.++  Activities other than copying, distribution and modification are not+covered by this License; they are outside its scope.  The act of+running a program using the Library is not restricted, and output from+such a program is covered only if its contents constitute a work based+on the Library (independent of the use of the Library in a tool for+writing it).  Whether that is true depends on what the Library does+and what the program that uses the Library does.++  1. You may copy and distribute verbatim copies of the Library's+complete source code as you receive it, in any medium, provided that+you conspicuously and appropriately publish on each copy an+appropriate copyright notice and disclaimer of warranty; keep intact+all the notices that refer to this License and to the absence of any+warranty; and distribute a copy of this License along with the+Library.++  You may charge a fee for the physical act of transferring a copy,+and you may at your option offer warranty protection in exchange for a+fee.++  2. You may modify your copy or copies of the Library or any portion+of it, thus forming a work based on the Library, and copy and+distribute such modifications or work under the terms of Section 1+above, provided that you also meet all of these conditions:++    a) The modified work must itself be a software library.++    b) You must cause the files modified to carry prominent notices+    stating that you changed the files and the date of any change.++    c) You must cause the whole of the work to be licensed at no+    charge to all third parties under the terms of this License.++    d) If a facility in the modified Library refers to a function or a+    table of data to be supplied by an application program that uses+    the facility, other than as an argument passed when the facility+    is invoked, then you must make a good faith effort to ensure that,+    in the event an application does not supply such function or+    table, the facility still operates, and performs whatever part of+    its purpose remains meaningful.++    (For example, a function in a library to compute square roots has+    a purpose that is entirely well-defined independent of the+    application.  Therefore, Subsection 2d requires that any+    application-supplied function or table used by this function must+    be optional: if the application does not supply it, the square+    root function must still compute square roots.)++These requirements apply to the modified work as a whole.  If+identifiable sections of that work are not derived from the Library,+and can be reasonably considered independent and separate works in+themselves, then this License, and its terms, do not apply to those+sections when you distribute them as separate works.  But when you+distribute the same sections as part of a whole which is a work based+on the Library, the distribution of the whole must be on the terms of+this License, whose permissions for other licensees extend to the+entire whole, and thus to each and every part regardless of who wrote+it.++Thus, it is not the intent of this section to claim rights or contest+your rights to work written entirely by you; rather, the intent is to+exercise the right to control the distribution of derivative or+collective works based on the Library.++In addition, mere aggregation of another work not based on the Library+with the Library (or with a work based on the Library) on a volume of+a storage or distribution medium does not bring the other work under+the scope of this License.++  3. You may opt to apply the terms of the ordinary GNU General Public+License instead of this License to a given copy of the Library.  To do+this, you must alter all the notices that refer to this License, so+that they refer to the ordinary GNU General Public License, version 2,+instead of to this License.  (If a newer version than version 2 of the+ordinary GNU General Public License has appeared, then you can specify+that version instead if you wish.)  Do not make any other change in+these notices.++  Once this change is made in a given copy, it is irreversible for+that copy, so the ordinary GNU General Public License applies to all+subsequent copies and derivative works made from that copy.++  This option is useful when you wish to copy part of the code of+the Library into a program that is not a library.++  4. You may copy and distribute the Library (or a portion or+derivative of it, under Section 2) in object code or executable form+under the terms of Sections 1 and 2 above provided that you accompany+it with the complete corresponding machine-readable source code, which+must be distributed under the terms of Sections 1 and 2 above on a+medium customarily used for software interchange.++  If distribution of object code is made by offering access to copy+from a designated place, then offering equivalent access to copy the+source code from the same place satisfies the requirement to+distribute the source code, even though third parties are not+compelled to copy the source along with the object code.++  5. A program that contains no derivative of any portion of the+Library, but is designed to work with the Library by being compiled or+linked with it, is called a "work that uses the Library".  Such a+work, in isolation, is not a derivative work of the Library, and+therefore falls outside the scope of this License.++  However, linking a "work that uses the Library" with the Library+creates an executable that is a derivative of the Library (because it+contains portions of the Library), rather than a "work that uses the+library".  The executable is therefore covered by this License.+Section 6 states terms for distribution of such executables.++  When a "work that uses the Library" uses material from a header file+that is part of the Library, the object code for the work may be a+derivative work of the Library even though the source code is not.+Whether this is true is especially significant if the work can be+linked without the Library, or if the work is itself a library.  The+threshold for this to be true is not precisely defined by law.++  If such an object file uses only numerical parameters, data+structure layouts and accessors, and small macros and small inline+functions (ten lines or less in length), then the use of the object+file is unrestricted, regardless of whether it is legally a derivative+work.  (Executables containing this object code plus portions of the+Library will still fall under Section 6.)++  Otherwise, if the work is a derivative of the Library, you may+distribute the object code for the work under the terms of Section 6.+Any executables containing that work also fall under Section 6,+whether or not they are linked directly with the Library itself.++  6. As an exception to the Sections above, you may also combine or+link a "work that uses the Library" with the Library to produce a+work containing portions of the Library, and distribute that work+under terms of your choice, provided that the terms permit+modification of the work for the customer's own use and reverse+engineering for debugging such modifications.++  You must give prominent notice with each copy of the work that the+Library is used in it and that the Library and its use are covered by+this License.  You must supply a copy of this License.  If the work+during execution displays copyright notices, you must include the+copyright notice for the Library among them, as well as a reference+directing the user to the copy of this License.  Also, you must do one+of these things:++    a) Accompany the work with the complete corresponding+    machine-readable source code for the Library including whatever+    changes were used in the work (which must be distributed under+    Sections 1 and 2 above); and, if the work is an executable linked+    with the Library, with the complete machine-readable "work that+    uses the Library", as object code and/or source code, so that the+    user can modify the Library and then relink to produce a modified+    executable containing the modified Library.  (It is understood+    that the user who changes the contents of definitions files in the+    Library will not necessarily be able to recompile the application+    to use the modified definitions.)++    b) Use a suitable shared library mechanism for linking with the+    Library.  A suitable mechanism is one that (1) uses at run time a+    copy of the library already present on the user's computer system,+    rather than copying library functions into the executable, and (2)+    will operate properly with a modified version of the library, if+    the user installs one, as long as the modified version is+    interface-compatible with the version that the work was made with.++    c) Accompany the work with a written offer, valid for at+    least three years, to give the same user the materials+    specified in Subsection 6a, above, for a charge no more+    than the cost of performing this distribution.++    d) If distribution of the work is made by offering access to copy+    from a designated place, offer equivalent access to copy the above+    specified materials from the same place.++    e) Verify that the user has already received a copy of these+    materials or that you have already sent this user a copy.++  For an executable, the required form of the "work that uses the+Library" must include any data and utility programs needed for+reproducing the executable from it.  However, as a special exception,+the materials to be distributed need not include anything that is+normally distributed (in either source or binary form) with the major+components (compiler, kernel, and so on) of the operating system on+which the executable runs, unless that component itself accompanies+the executable.++  It may happen that this requirement contradicts the license+restrictions of other proprietary libraries that do not normally+accompany the operating system.  Such a contradiction means you cannot+use both them and the Library together in an executable that you+distribute.++  7. You may place library facilities that are a work based on the+Library side-by-side in a single library together with other library+facilities not covered by this License, and distribute such a combined+library, provided that the separate distribution of the work based on+the Library and of the other library facilities is otherwise+permitted, and provided that you do these two things:++    a) Accompany the combined library with a copy of the same work+    based on the Library, uncombined with any other library+    facilities.  This must be distributed under the terms of the+    Sections above.++    b) Give prominent notice with the combined library of the fact+    that part of it is a work based on the Library, and explaining+    where to find the accompanying uncombined form of the same work.++  8. You may not copy, modify, sublicense, link with, or distribute+the Library except as expressly provided under this License.  Any+attempt otherwise to copy, modify, sublicense, link with, or+distribute the Library is void, and will automatically terminate your+rights under this License.  However, parties who have received copies,+or rights, from you under this License will not have their licenses+terminated so long as such parties remain in full compliance.++  9. You are not required to accept this License, since you have not+signed it.  However, nothing else grants you permission to modify or+distribute the Library or its derivative works.  These actions are+prohibited by law if you do not accept this License.  Therefore, by+modifying or distributing the Library (or any work based on the+Library), you indicate your acceptance of this License to do so, and+all its terms and conditions for copying, distributing or modifying+the Library or works based on it.++  10. Each time you redistribute the Library (or any work based on the+Library), the recipient automatically receives a license from the+original licensor to copy, distribute, link with or modify the Library+subject to these terms and conditions.  You may not impose any further+restrictions on the recipients' exercise of the rights granted herein.+You are not responsible for enforcing compliance by third parties with+this License.++  11. If, as a consequence of a court judgment or allegation of patent+infringement or for any other reason (not limited to patent issues),+conditions are imposed on you (whether by court order, agreement or+otherwise) that contradict the conditions of this License, they do not+excuse you from the conditions of this License.  If you cannot+distribute so as to satisfy simultaneously your obligations under this+License and any other pertinent obligations, then as a consequence you+may not distribute the Library at all.  For example, if a patent+license would not permit royalty-free redistribution of the Library by+all those who receive copies directly or indirectly through you, then+the only way you could satisfy both it and this License would be to+refrain entirely from distribution of the Library.++If any portion of this section is held invalid or unenforceable under any+particular circumstance, the balance of the section is intended to apply,+and the section as a whole is intended to apply in other circumstances.++It is not the purpose of this section to induce you to infringe any+patents or other property right claims or to contest validity of any+such claims; this section has the sole purpose of protecting the+integrity of the free software distribution system which is+implemented by public license practices.  Many people have made+generous contributions to the wide range of software distributed+through that system in reliance on consistent application of that+system; it is up to the author/donor to decide if he or she is willing+to distribute software through any other system and a licensee cannot+impose that choice.++This section is intended to make thoroughly clear what is believed to+be a consequence of the rest of this License.++  12. If the distribution and/or use of the Library is restricted in+certain countries either by patents or by copyrighted interfaces, the+original copyright holder who places the Library under this License may add+an explicit geographical distribution limitation excluding those countries,+so that distribution is permitted only in or among countries not thus+excluded.  In such case, this License incorporates the limitation as if+written in the body of this License.++  13. The Free Software Foundation may publish revised and/or new+versions of the Lesser General Public License from time to time.+Such new versions will be similar in spirit to the present version,+but may differ in detail to address new problems or concerns.++Each version is given a distinguishing version number.  If the Library+specifies a version number of this License which applies to it and+"any later version", you have the option of following the terms and+conditions either of that version or of any later version published by+the Free Software Foundation.  If the Library does not specify a+license version number, you may choose any version ever published by+the Free Software Foundation.++  14. If you wish to incorporate parts of the Library into other free+programs whose distribution conditions are incompatible with these,+write to the author to ask for permission.  For software which is+copyrighted by the Free Software Foundation, write to the Free+Software Foundation; we sometimes make exceptions for this.  Our+decision will be guided by the two goals of preserving the free status+of all derivatives of our free software and of promoting the sharing+and reuse of software generally.++                            NO WARRANTY++  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.++  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH+DAMAGES.++                     END OF TERMS AND CONDITIONS++           How to Apply These Terms to Your New Libraries++  If you develop a new library, and you want it to be of the greatest+possible use to the public, we recommend making it free software that+everyone can redistribute and change.  You can do so by permitting+redistribution under these terms (or, alternatively, under the terms of the+ordinary General Public License).++  To apply these terms, attach the following notices to the library.  It is+safest to attach them to the start of each source file to most effectively+convey the exclusion of warranty; and each file should have at least the+"copyright" line and a pointer to where the full notice is found.++    <one line to give the library's name and a brief idea of what it does.>+    Copyright (C) <year>  <name of author>++    This library is free software; you can redistribute it and/or+    modify it under the terms of the GNU Lesser General Public+    License as published by the Free Software Foundation; either+    version 2.1 of the License, or (at your option) any later version.++    This library is distributed in the hope that it will be useful,+    but WITHOUT ANY WARRANTY; without even the implied warranty of+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU+    Lesser General Public License for more details.++    You should have received a copy of the GNU Lesser General Public+    License along with this library; if not, write to the Free Software+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA++Also add information on how to contact you by electronic and paper mail.++You should also get your employer (if you work as a programmer) or your+school, if any, to sign a "copyright disclaimer" for the library, if+necessary.  Here is a sample; alter the names:++  Yoyodyne, Inc., hereby disclaims all copyright interest in the+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.++  <signature of Ty Coon>, 1 April 1990+  Ty Coon, President of Vice++That's all there is to it!
+ Setup.hs view
@@ -0,0 +1,3 @@+#!/usr/bin/env runhaskell+import Distribution.Simple+main = defaultMain
+ gi-gdk.cabal view
@@ -0,0 +1,30 @@+-- Autogenerated, do not edit.+name:               gi-gdk+version:            0.3.16.8+synopsis:           Gdk bindings+description:        Bindings for Gdk, autogenerated by haskell-gi.+homepage:           https://github.com/haskell-gi/haskell-gi+license:            LGPL-2.1+license-file:       LICENSE+author:             Will Thompson, Iñaki García Etxebarria and Jonas Platte+maintainer:         Iñaki García Etxebarria (garetxe@gmail.com)+category:           Bindings+build-type:         Simple+cabal-version:      >=1.10++library+    default-language:   Haskell2010+    exposed-modules:    GI.Gdk, GI.GdkAttributes, GI.GdkSignals+    pkgconfig-depends:  gdk-3.0 >= 3.16+    build-depends: base >= 4.6 && <4.9,+        haskell-gi-base >= 0.8 && < 1,+        gi-glib >= 0.2.44.8 && < 0.3,+        gi-gobject >= 0.2.44.8 && < 0.3,+        gi-gdkpixbuf >= 0.2.31.8 && < 0.3,+        gi-gio >= 0.2.44.8 && < 0.3,+        gi-pango >= 0.1.36.8 && < 0.2,+        gi-cairo >= 0.1.14.8 && < 0.2,+        bytestring >= 0.10,+        containers >= 0.5,+        text >= 1.0,+        transformers >= 0.3