packages feed

gi-gdk 3.0.16 → 3.0.18

raw patch · 127 files changed

+78021/−9 lines, 127 filesdep ~haskell-gidep ~haskell-gi-basePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: haskell-gi, haskell-gi-base

API changes (from Hackage documentation)

- GI.Gdk.Interfaces.DevicePad: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Gdk.Interfaces.DevicePad.DevicePad a) => GI.Gdk.Interfaces.DevicePad.IsDevicePad a
- GI.Gdk.Interfaces.DevicePad: instance GI.GObject.Objects.Object.IsObject GI.Gdk.Interfaces.DevicePad.DevicePad
- GI.Gdk.Interfaces.DevicePad: instance GI.Gdk.Interfaces.DevicePad.IsDevicePad GI.Gdk.Interfaces.DevicePad.DevicePad
- GI.Gdk.Interfaces.DevicePad: instance GI.Gdk.Objects.Device.IsDevice GI.Gdk.Interfaces.DevicePad.DevicePad
- GI.Gdk.Objects.AppLaunchContext: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Gdk.Objects.AppLaunchContext.AppLaunchContext a) => GI.Gdk.Objects.AppLaunchContext.IsAppLaunchContext a
- GI.Gdk.Objects.AppLaunchContext: instance GI.GObject.Objects.Object.IsObject GI.Gdk.Objects.AppLaunchContext.AppLaunchContext
- GI.Gdk.Objects.AppLaunchContext: instance GI.Gdk.Objects.AppLaunchContext.IsAppLaunchContext GI.Gdk.Objects.AppLaunchContext.AppLaunchContext
- GI.Gdk.Objects.AppLaunchContext: instance GI.Gio.Objects.AppLaunchContext.IsAppLaunchContext GI.Gdk.Objects.AppLaunchContext.AppLaunchContext
- GI.Gdk.Objects.Cursor: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Gdk.Objects.Cursor.Cursor a) => GI.Gdk.Objects.Cursor.IsCursor a
- GI.Gdk.Objects.Cursor: instance GI.GObject.Objects.Object.IsObject GI.Gdk.Objects.Cursor.Cursor
- GI.Gdk.Objects.Cursor: instance GI.Gdk.Objects.Cursor.IsCursor GI.Gdk.Objects.Cursor.Cursor
- GI.Gdk.Objects.Device: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Gdk.Objects.Device.Device a) => GI.Gdk.Objects.Device.IsDevice a
- GI.Gdk.Objects.Device: instance GI.GObject.Objects.Object.IsObject GI.Gdk.Objects.Device.Device
- GI.Gdk.Objects.Device: instance GI.Gdk.Objects.Device.IsDevice GI.Gdk.Objects.Device.Device
- GI.Gdk.Objects.DeviceManager: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Gdk.Objects.DeviceManager.DeviceManager a) => GI.Gdk.Objects.DeviceManager.IsDeviceManager a
- GI.Gdk.Objects.DeviceManager: instance GI.GObject.Objects.Object.IsObject GI.Gdk.Objects.DeviceManager.DeviceManager
- GI.Gdk.Objects.DeviceManager: instance GI.Gdk.Objects.DeviceManager.IsDeviceManager GI.Gdk.Objects.DeviceManager.DeviceManager
- GI.Gdk.Objects.DeviceTool: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Gdk.Objects.DeviceTool.DeviceTool a) => GI.Gdk.Objects.DeviceTool.IsDeviceTool a
- GI.Gdk.Objects.DeviceTool: instance GI.GObject.Objects.Object.IsObject GI.Gdk.Objects.DeviceTool.DeviceTool
- GI.Gdk.Objects.DeviceTool: instance GI.Gdk.Objects.DeviceTool.IsDeviceTool GI.Gdk.Objects.DeviceTool.DeviceTool
- GI.Gdk.Objects.Display: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Gdk.Objects.Display.Display a) => GI.Gdk.Objects.Display.IsDisplay a
- GI.Gdk.Objects.Display: instance GI.GObject.Objects.Object.IsObject GI.Gdk.Objects.Display.Display
- GI.Gdk.Objects.Display: instance GI.Gdk.Objects.Display.IsDisplay GI.Gdk.Objects.Display.Display
- GI.Gdk.Objects.DisplayManager: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Gdk.Objects.DisplayManager.DisplayManager a) => GI.Gdk.Objects.DisplayManager.IsDisplayManager a
- GI.Gdk.Objects.DisplayManager: instance GI.GObject.Objects.Object.IsObject GI.Gdk.Objects.DisplayManager.DisplayManager
- GI.Gdk.Objects.DisplayManager: instance GI.Gdk.Objects.DisplayManager.IsDisplayManager GI.Gdk.Objects.DisplayManager.DisplayManager
- GI.Gdk.Objects.DragContext: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Gdk.Objects.DragContext.DragContext a) => GI.Gdk.Objects.DragContext.IsDragContext a
- GI.Gdk.Objects.DragContext: instance GI.GObject.Objects.Object.IsObject GI.Gdk.Objects.DragContext.DragContext
- GI.Gdk.Objects.DragContext: instance GI.Gdk.Objects.DragContext.IsDragContext GI.Gdk.Objects.DragContext.DragContext
- GI.Gdk.Objects.DrawingContext: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Gdk.Objects.DrawingContext.DrawingContext a) => GI.Gdk.Objects.DrawingContext.IsDrawingContext a
- GI.Gdk.Objects.DrawingContext: instance GI.GObject.Objects.Object.IsObject GI.Gdk.Objects.DrawingContext.DrawingContext
- GI.Gdk.Objects.DrawingContext: instance GI.Gdk.Objects.DrawingContext.IsDrawingContext GI.Gdk.Objects.DrawingContext.DrawingContext
- GI.Gdk.Objects.FrameClock: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Gdk.Objects.FrameClock.FrameClock a) => GI.Gdk.Objects.FrameClock.IsFrameClock a
- GI.Gdk.Objects.FrameClock: instance GI.GObject.Objects.Object.IsObject GI.Gdk.Objects.FrameClock.FrameClock
- GI.Gdk.Objects.FrameClock: instance GI.Gdk.Objects.FrameClock.IsFrameClock GI.Gdk.Objects.FrameClock.FrameClock
- GI.Gdk.Objects.GLContext: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Gdk.Objects.GLContext.GLContext a) => GI.Gdk.Objects.GLContext.IsGLContext a
- GI.Gdk.Objects.GLContext: instance GI.GObject.Objects.Object.IsObject GI.Gdk.Objects.GLContext.GLContext
- GI.Gdk.Objects.GLContext: instance GI.Gdk.Objects.GLContext.IsGLContext GI.Gdk.Objects.GLContext.GLContext
- GI.Gdk.Objects.Keymap: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Gdk.Objects.Keymap.Keymap a) => GI.Gdk.Objects.Keymap.IsKeymap a
- GI.Gdk.Objects.Keymap: instance GI.GObject.Objects.Object.IsObject GI.Gdk.Objects.Keymap.Keymap
- GI.Gdk.Objects.Keymap: instance GI.Gdk.Objects.Keymap.IsKeymap GI.Gdk.Objects.Keymap.Keymap
- GI.Gdk.Objects.Monitor: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Gdk.Objects.Monitor.Monitor a) => GI.Gdk.Objects.Monitor.IsMonitor a
- GI.Gdk.Objects.Monitor: instance GI.GObject.Objects.Object.IsObject GI.Gdk.Objects.Monitor.Monitor
- GI.Gdk.Objects.Monitor: instance GI.Gdk.Objects.Monitor.IsMonitor GI.Gdk.Objects.Monitor.Monitor
- GI.Gdk.Objects.Screen: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Gdk.Objects.Screen.Screen a) => GI.Gdk.Objects.Screen.IsScreen a
- GI.Gdk.Objects.Screen: instance GI.GObject.Objects.Object.IsObject GI.Gdk.Objects.Screen.Screen
- GI.Gdk.Objects.Screen: instance GI.Gdk.Objects.Screen.IsScreen GI.Gdk.Objects.Screen.Screen
- GI.Gdk.Objects.Seat: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Gdk.Objects.Seat.Seat a) => GI.Gdk.Objects.Seat.IsSeat a
- GI.Gdk.Objects.Seat: instance GI.GObject.Objects.Object.IsObject GI.Gdk.Objects.Seat.Seat
- GI.Gdk.Objects.Seat: instance GI.Gdk.Objects.Seat.IsSeat GI.Gdk.Objects.Seat.Seat
- GI.Gdk.Objects.Visual: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Gdk.Objects.Visual.Visual a) => GI.Gdk.Objects.Visual.IsVisual a
- GI.Gdk.Objects.Visual: instance GI.GObject.Objects.Object.IsObject GI.Gdk.Objects.Visual.Visual
- GI.Gdk.Objects.Visual: instance GI.Gdk.Objects.Visual.IsVisual GI.Gdk.Objects.Visual.Visual
- GI.Gdk.Objects.Window: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Gdk.Objects.Window.Window a) => GI.Gdk.Objects.Window.IsWindow a
- GI.Gdk.Objects.Window: instance GI.GObject.Objects.Object.IsObject GI.Gdk.Objects.Window.Window
- GI.Gdk.Objects.Window: instance GI.Gdk.Objects.Window.IsWindow GI.Gdk.Objects.Window.Window
- GI.Gdk.Structs.Color: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.Color.Color tag
- GI.Gdk.Structs.EventAny: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventAny.EventAny tag
- GI.Gdk.Structs.EventButton: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventButton.EventButton tag
- GI.Gdk.Structs.EventConfigure: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventConfigure.EventConfigure tag
- GI.Gdk.Structs.EventCrossing: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventCrossing.EventCrossing tag
- GI.Gdk.Structs.EventDND: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventDND.EventDND tag
- GI.Gdk.Structs.EventExpose: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventExpose.EventExpose tag
- GI.Gdk.Structs.EventFocus: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventFocus.EventFocus tag
- GI.Gdk.Structs.EventGrabBroken: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventGrabBroken.EventGrabBroken tag
- GI.Gdk.Structs.EventKey: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventKey.EventKey tag
- GI.Gdk.Structs.EventMotion: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventMotion.EventMotion tag
- GI.Gdk.Structs.EventOwnerChange: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventOwnerChange.EventOwnerChange tag
- GI.Gdk.Structs.EventPadAxis: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventPadAxis.EventPadAxis tag
- GI.Gdk.Structs.EventPadButton: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventPadButton.EventPadButton tag
- GI.Gdk.Structs.EventPadGroupMode: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventPadGroupMode.EventPadGroupMode tag
- GI.Gdk.Structs.EventProperty: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventProperty.EventProperty tag
- GI.Gdk.Structs.EventProximity: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventProximity.EventProximity tag
- GI.Gdk.Structs.EventScroll: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventScroll.EventScroll tag
- GI.Gdk.Structs.EventSelection: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventSelection.EventSelection tag
- GI.Gdk.Structs.EventSetting: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventSetting.EventSetting tag
- GI.Gdk.Structs.EventTouch: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventTouch.EventTouch tag
- GI.Gdk.Structs.EventTouchpadPinch: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventTouchpadPinch.EventTouchpadPinch tag
- GI.Gdk.Structs.EventTouchpadSwipe: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventTouchpadSwipe.EventTouchpadSwipe tag
- GI.Gdk.Structs.EventVisibility: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventVisibility.EventVisibility tag
- GI.Gdk.Structs.EventWindowState: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventWindowState.EventWindowState tag
- GI.Gdk.Structs.Geometry: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.Geometry.Geometry tag
- GI.Gdk.Structs.KeymapKey: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.KeymapKey.KeymapKey tag
- GI.Gdk.Structs.Point: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.Point.Point tag
- GI.Gdk.Structs.RGBA: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.RGBA.RGBA tag
- GI.Gdk.Structs.Rectangle: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.Rectangle.Rectangle tag
- GI.Gdk.Structs.TimeCoord: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.TimeCoord.TimeCoord tag
- GI.Gdk.Structs.WindowAttr: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.WindowAttr.WindowAttr tag
- GI.Gdk.Unions.Event: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Unions.Event.Event tag
+ GI.Gdk.Interfaces.DevicePad: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Interfaces.DevicePad.DevicePad o) => GI.Gdk.Interfaces.DevicePad.IsDevicePad o
+ GI.Gdk.Interfaces.DevicePad: instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Interfaces.DevicePad.DevicePad
+ GI.Gdk.Objects.AppLaunchContext: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.AppLaunchContext.AppLaunchContext o) => GI.Gdk.Objects.AppLaunchContext.IsAppLaunchContext o
+ GI.Gdk.Objects.AppLaunchContext: instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.AppLaunchContext.AppLaunchContext
+ GI.Gdk.Objects.Cursor: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.Cursor.Cursor o) => GI.Gdk.Objects.Cursor.IsCursor o
+ GI.Gdk.Objects.Cursor: instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.Cursor.Cursor
+ GI.Gdk.Objects.Device: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.Device.Device o) => GI.Gdk.Objects.Device.IsDevice o
+ GI.Gdk.Objects.Device: instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.Device.Device
+ GI.Gdk.Objects.DeviceManager: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.DeviceManager.DeviceManager o) => GI.Gdk.Objects.DeviceManager.IsDeviceManager o
+ GI.Gdk.Objects.DeviceManager: instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.DeviceManager.DeviceManager
+ GI.Gdk.Objects.DeviceTool: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.DeviceTool.DeviceTool o) => GI.Gdk.Objects.DeviceTool.IsDeviceTool o
+ GI.Gdk.Objects.DeviceTool: instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.DeviceTool.DeviceTool
+ GI.Gdk.Objects.Display: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.Display.Display o) => GI.Gdk.Objects.Display.IsDisplay o
+ GI.Gdk.Objects.Display: instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.Display.Display
+ GI.Gdk.Objects.DisplayManager: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.DisplayManager.DisplayManager o) => GI.Gdk.Objects.DisplayManager.IsDisplayManager o
+ GI.Gdk.Objects.DisplayManager: instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.DisplayManager.DisplayManager
+ GI.Gdk.Objects.DragContext: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.DragContext.DragContext o) => GI.Gdk.Objects.DragContext.IsDragContext o
+ GI.Gdk.Objects.DragContext: instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.DragContext.DragContext
+ GI.Gdk.Objects.DrawingContext: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.DrawingContext.DrawingContext o) => GI.Gdk.Objects.DrawingContext.IsDrawingContext o
+ GI.Gdk.Objects.DrawingContext: instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.DrawingContext.DrawingContext
+ GI.Gdk.Objects.FrameClock: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.FrameClock.FrameClock o) => GI.Gdk.Objects.FrameClock.IsFrameClock o
+ GI.Gdk.Objects.FrameClock: instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.FrameClock.FrameClock
+ GI.Gdk.Objects.GLContext: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.GLContext.GLContext o) => GI.Gdk.Objects.GLContext.IsGLContext o
+ GI.Gdk.Objects.GLContext: instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.GLContext.GLContext
+ GI.Gdk.Objects.Keymap: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.Keymap.Keymap o) => GI.Gdk.Objects.Keymap.IsKeymap o
+ GI.Gdk.Objects.Keymap: instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.Keymap.Keymap
+ GI.Gdk.Objects.Monitor: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.Monitor.Monitor o) => GI.Gdk.Objects.Monitor.IsMonitor o
+ GI.Gdk.Objects.Monitor: instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.Monitor.Monitor
+ GI.Gdk.Objects.Screen: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.Screen.Screen o) => GI.Gdk.Objects.Screen.IsScreen o
+ GI.Gdk.Objects.Screen: instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.Screen.Screen
+ GI.Gdk.Objects.Seat: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.Seat.Seat o) => GI.Gdk.Objects.Seat.IsSeat o
+ GI.Gdk.Objects.Seat: instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.Seat.Seat
+ GI.Gdk.Objects.Visual: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.Visual.Visual o) => GI.Gdk.Objects.Visual.IsVisual o
+ GI.Gdk.Objects.Visual: instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.Visual.Visual
+ GI.Gdk.Objects.Window: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.Window.Window o) => GI.Gdk.Objects.Window.IsWindow o
+ GI.Gdk.Objects.Window: instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.Window.Window
+ GI.Gdk.Objects.Window: windowMoveToRect :: (HasCallStack, MonadIO m, IsWindow a) => a -> Rectangle -> Gravity -> Gravity -> [AnchorHints] -> Int32 -> Int32 -> m ()
+ GI.Gdk.Structs.Color: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.Color.Color tag
+ GI.Gdk.Structs.EventAny: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventAny.EventAny tag
+ GI.Gdk.Structs.EventButton: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventButton.EventButton tag
+ GI.Gdk.Structs.EventConfigure: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventConfigure.EventConfigure tag
+ GI.Gdk.Structs.EventCrossing: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventCrossing.EventCrossing tag
+ GI.Gdk.Structs.EventDND: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventDND.EventDND tag
+ GI.Gdk.Structs.EventExpose: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventExpose.EventExpose tag
+ GI.Gdk.Structs.EventFocus: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventFocus.EventFocus tag
+ GI.Gdk.Structs.EventGrabBroken: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventGrabBroken.EventGrabBroken tag
+ GI.Gdk.Structs.EventKey: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventKey.EventKey tag
+ GI.Gdk.Structs.EventMotion: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventMotion.EventMotion tag
+ GI.Gdk.Structs.EventOwnerChange: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventOwnerChange.EventOwnerChange tag
+ GI.Gdk.Structs.EventPadAxis: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventPadAxis.EventPadAxis tag
+ GI.Gdk.Structs.EventPadButton: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventPadButton.EventPadButton tag
+ GI.Gdk.Structs.EventPadGroupMode: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventPadGroupMode.EventPadGroupMode tag
+ GI.Gdk.Structs.EventProperty: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventProperty.EventProperty tag
+ GI.Gdk.Structs.EventProximity: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventProximity.EventProximity tag
+ GI.Gdk.Structs.EventScroll: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventScroll.EventScroll tag
+ GI.Gdk.Structs.EventSelection: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventSelection.EventSelection tag
+ GI.Gdk.Structs.EventSetting: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventSetting.EventSetting tag
+ GI.Gdk.Structs.EventTouch: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventTouch.EventTouch tag
+ GI.Gdk.Structs.EventTouchpadPinch: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventTouchpadPinch.EventTouchpadPinch tag
+ GI.Gdk.Structs.EventTouchpadSwipe: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventTouchpadSwipe.EventTouchpadSwipe tag
+ GI.Gdk.Structs.EventVisibility: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventVisibility.EventVisibility tag
+ GI.Gdk.Structs.EventWindowState: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.EventWindowState.EventWindowState tag
+ GI.Gdk.Structs.Geometry: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.Geometry.Geometry tag
+ GI.Gdk.Structs.KeymapKey: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.KeymapKey.KeymapKey tag
+ GI.Gdk.Structs.Point: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.Point.Point tag
+ GI.Gdk.Structs.RGBA: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.RGBA.RGBA tag
+ GI.Gdk.Structs.Rectangle: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.Rectangle.Rectangle tag
+ GI.Gdk.Structs.TimeCoord: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.TimeCoord.TimeCoord tag
+ GI.Gdk.Structs.WindowAttr: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.WindowAttr.WindowAttr tag
+ GI.Gdk.Unions.Event: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Unions.Event.Event tag
- GI.Gdk.Callbacks: genClosure_EventFunc :: EventFunc -> IO Closure
+ GI.Gdk.Callbacks: genClosure_EventFunc :: MonadIO m => EventFunc -> m (GClosure C_EventFunc)
- GI.Gdk.Callbacks: genClosure_FilterFunc :: FilterFunc -> IO Closure
+ GI.Gdk.Callbacks: genClosure_FilterFunc :: MonadIO m => FilterFunc -> m (GClosure C_FilterFunc)
- GI.Gdk.Callbacks: genClosure_SeatGrabPrepareFunc :: SeatGrabPrepareFunc -> IO Closure
+ GI.Gdk.Callbacks: genClosure_SeatGrabPrepareFunc :: MonadIO m => SeatGrabPrepareFunc -> m (GClosure C_SeatGrabPrepareFunc)
- GI.Gdk.Callbacks: genClosure_WindowChildFunc :: WindowChildFunc -> IO Closure
+ GI.Gdk.Callbacks: genClosure_WindowChildFunc :: MonadIO m => WindowChildFunc -> m (GClosure C_WindowChildFunc)
- GI.Gdk.Callbacks: genClosure_WindowInvalidateHandlerFunc :: WindowInvalidateHandlerFunc -> IO Closure
+ GI.Gdk.Callbacks: genClosure_WindowInvalidateHandlerFunc :: MonadIO m => WindowInvalidateHandlerFunc -> m (GClosure C_WindowInvalidateHandlerFunc)
- GI.Gdk.Callbacks: type EventFunc = Event /@event@/: the 'GI.Gdk.Unions.Event.Event' to process. -> IO ()
+ GI.Gdk.Callbacks: type EventFunc = Event " /@event@/: the 'GI.Gdk.Unions.Event.Event' to process. " -> IO ()
- GI.Gdk.Callbacks: type EventFunc_WithClosures = Event /@event@/: the 'GI.Gdk.Unions.Event.Event' to process. -> Ptr () /@data@/: user data set when the event handler was installed with 'GI.Gdk.Functions.eventHandlerSet'. -> IO ()
+ GI.Gdk.Callbacks: type EventFunc_WithClosures = Event " /@event@/: the 'GI.Gdk.Unions.Event.Event' to process. " -> Ptr () " /@data@/: user data set when the event handler was installed with 'GI.Gdk.Functions.eventHandlerSet'. " -> IO ()
- GI.Gdk.Callbacks: type FilterFunc = Ptr () /@xevent@/: the native event to filter. -> Event /@event@/: the GDK event to which the X event will be translated. -> IO FilterReturn __Returns:__ a 'GI.Gdk.Enums.FilterReturn' value.
+ GI.Gdk.Callbacks: type FilterFunc = Ptr () " /@xevent@/: the native event to filter. " -> Event " /@event@/: the GDK event to which the X event will be translated. " -> IO FilterReturn " __Returns:__ a 'GI.Gdk.Enums.FilterReturn' value. "
- GI.Gdk.Callbacks: type FilterFunc_WithClosures = Ptr () /@xevent@/: the native event to filter. -> Event /@event@/: the GDK event to which the X event will be translated. -> Ptr () /@data@/: user data set when the filter was installed. -> IO FilterReturn __Returns:__ a 'GI.Gdk.Enums.FilterReturn' value.
+ GI.Gdk.Callbacks: type FilterFunc_WithClosures = Ptr () " /@xevent@/: the native event to filter. " -> Event " /@event@/: the GDK event to which the X event will be translated. " -> Ptr () " /@data@/: user data set when the filter was installed. " -> IO FilterReturn " __Returns:__ a 'GI.Gdk.Enums.FilterReturn' value. "
- GI.Gdk.Callbacks: type SeatGrabPrepareFunc = Seat /@seat@/: the 'GI.Gdk.Objects.Seat.Seat' being grabbed -> Window /@window@/: the 'GI.Gdk.Objects.Window.Window' being grabbed -> IO ()
+ GI.Gdk.Callbacks: type SeatGrabPrepareFunc = Seat " /@seat@/: the 'GI.Gdk.Objects.Seat.Seat' being grabbed " -> Window " /@window@/: the 'GI.Gdk.Objects.Window.Window' being grabbed " -> IO ()
- GI.Gdk.Callbacks: type SeatGrabPrepareFunc_WithClosures = Seat /@seat@/: the 'GI.Gdk.Objects.Seat.Seat' being grabbed -> Window /@window@/: the 'GI.Gdk.Objects.Window.Window' being grabbed -> Ptr () /@userData@/: user data passed in 'GI.Gdk.Objects.Seat.seatGrab' -> IO ()
+ GI.Gdk.Callbacks: type SeatGrabPrepareFunc_WithClosures = Seat " /@seat@/: the 'GI.Gdk.Objects.Seat.Seat' being grabbed " -> Window " /@window@/: the 'GI.Gdk.Objects.Window.Window' being grabbed " -> Ptr () " /@userData@/: user data passed in 'GI.Gdk.Objects.Seat.seatGrab' " -> IO ()
- GI.Gdk.Callbacks: type WindowChildFunc = Window /@window@/: a 'GI.Gdk.Objects.Window.Window' -> IO Bool __Returns:__ 'True' to invalidate /@window@/ recursively
+ GI.Gdk.Callbacks: type WindowChildFunc = Window " /@window@/: a 'GI.Gdk.Objects.Window.Window' " -> IO Bool " __Returns:__ 'True' to invalidate /@window@/ recursively "
- GI.Gdk.Callbacks: type WindowChildFunc_WithClosures = Window /@window@/: a 'GI.Gdk.Objects.Window.Window' -> Ptr () /@userData@/: user data -> IO Bool __Returns:__ 'True' to invalidate /@window@/ recursively
+ GI.Gdk.Callbacks: type WindowChildFunc_WithClosures = Window " /@window@/: a 'GI.Gdk.Objects.Window.Window' " -> Ptr () " /@userData@/: user data " -> IO Bool " __Returns:__ 'True' to invalidate /@window@/ recursively "
- GI.Gdk.Callbacks: type WindowInvalidateHandlerFunc = Window /@window@/: a 'GI.Gdk.Objects.Window.Window' -> Region /@region@/: a 'GI.Cairo.Structs.Region.Region' -> IO ()
+ GI.Gdk.Callbacks: type WindowInvalidateHandlerFunc = Window " /@window@/: a 'GI.Gdk.Objects.Window.Window' " -> Region " /@region@/: a 'GI.Cairo.Structs.Region.Region' " -> IO ()
- GI.Gdk.Functions: cairoGetClipRectangle :: (HasCallStack, MonadIO m) => Context -> m ((Bool, Rectangle))
+ GI.Gdk.Functions: cairoGetClipRectangle :: (HasCallStack, MonadIO m) => Context -> m (Bool, Rectangle)
- GI.Gdk.Functions: cairoSurfaceCreateFromPixbuf :: (HasCallStack, MonadIO m, IsPixbuf a, IsWindow b) => a -> Int32 -> Maybe (b) -> m Surface
+ GI.Gdk.Functions: cairoSurfaceCreateFromPixbuf :: (HasCallStack, MonadIO m, IsPixbuf a, IsWindow b) => a -> Int32 -> Maybe b -> m Surface
- GI.Gdk.Functions: dragFindWindowForScreen :: (HasCallStack, MonadIO m, IsDragContext a, IsWindow b, IsScreen c) => a -> b -> c -> Int32 -> Int32 -> m ((Window, DragProtocol))
+ GI.Gdk.Functions: dragFindWindowForScreen :: (HasCallStack, MonadIO m, IsDragContext a, IsWindow b, IsScreen c) => a -> b -> c -> Int32 -> Int32 -> m (Window, DragProtocol)
- GI.Gdk.Functions: eventsGetAngle :: (HasCallStack, MonadIO m) => Event -> Event -> m ((Bool, Double))
+ GI.Gdk.Functions: eventsGetAngle :: (HasCallStack, MonadIO m) => Event -> Event -> m (Bool, Double)
- GI.Gdk.Functions: eventsGetCenter :: (HasCallStack, MonadIO m) => Event -> Event -> m ((Bool, Double, Double))
+ GI.Gdk.Functions: eventsGetCenter :: (HasCallStack, MonadIO m) => Event -> Event -> m (Bool, Double, Double)
- GI.Gdk.Functions: eventsGetDistance :: (HasCallStack, MonadIO m) => Event -> Event -> m ((Bool, Double))
+ GI.Gdk.Functions: eventsGetDistance :: (HasCallStack, MonadIO m) => Event -> Event -> m (Bool, Double)
- GI.Gdk.Functions: init :: (HasCallStack, MonadIO m) => [Text] -> m ([Text])
+ GI.Gdk.Functions: init :: (HasCallStack, MonadIO m) => [Text] -> m [Text]
- GI.Gdk.Functions: initCheck :: (HasCallStack, MonadIO m) => [Text] -> m ((Bool, [Text]))
+ GI.Gdk.Functions: initCheck :: (HasCallStack, MonadIO m) => [Text] -> m (Bool, [Text])
- GI.Gdk.Functions: keyvalConvertCase :: (HasCallStack, MonadIO m) => Word32 -> m ((Word32, Word32))
+ GI.Gdk.Functions: keyvalConvertCase :: (HasCallStack, MonadIO m) => Word32 -> m (Word32, Word32)
- GI.Gdk.Functions: parseArgs :: (HasCallStack, MonadIO m) => [Text] -> m ([Text])
+ GI.Gdk.Functions: parseArgs :: (HasCallStack, MonadIO m) => [Text] -> m [Text]
- GI.Gdk.Functions: pointerGrab :: (HasCallStack, MonadIO m, IsWindow a, IsWindow b, IsCursor c) => a -> Bool -> [EventMask] -> Maybe (b) -> Maybe (c) -> Word32 -> m GrabStatus
+ GI.Gdk.Functions: pointerGrab :: (HasCallStack, MonadIO m, IsWindow a, IsWindow b, IsCursor c) => a -> Bool -> [EventMask] -> Maybe b -> Maybe c -> Word32 -> m GrabStatus
- GI.Gdk.Functions: queryDepths :: (HasCallStack, MonadIO m) => m ([Int32])
+ GI.Gdk.Functions: queryDepths :: (HasCallStack, MonadIO m) => m [Int32]
- GI.Gdk.Functions: queryVisualTypes :: (HasCallStack, MonadIO m) => m ([VisualType])
+ GI.Gdk.Functions: queryVisualTypes :: (HasCallStack, MonadIO m) => m [VisualType]
- GI.Gdk.Functions: selectionOwnerSet :: (HasCallStack, MonadIO m, IsWindow a) => Maybe (a) -> Atom -> Word32 -> Bool -> m Bool
+ GI.Gdk.Functions: selectionOwnerSet :: (HasCallStack, MonadIO m, IsWindow a) => Maybe a -> Atom -> Word32 -> Bool -> m Bool
- GI.Gdk.Functions: selectionOwnerSetForDisplay :: (HasCallStack, MonadIO m, IsDisplay a, IsWindow b) => a -> Maybe (b) -> Atom -> Word32 -> Bool -> m Bool
+ GI.Gdk.Functions: selectionOwnerSetForDisplay :: (HasCallStack, MonadIO m, IsDisplay a, IsWindow b) => a -> Maybe b -> Atom -> Word32 -> Bool -> m Bool
- GI.Gdk.Functions: textPropertyToUtf8ListForDisplay :: (HasCallStack, MonadIO m, IsDisplay a) => a -> Atom -> Int32 -> ByteString -> m ((Int32, [Text]))
+ GI.Gdk.Functions: textPropertyToUtf8ListForDisplay :: (HasCallStack, MonadIO m, IsDisplay a) => a -> Atom -> Int32 -> ByteString -> m (Int32, [Text])
- GI.Gdk.Interfaces.DevicePad: DevicePad :: (ManagedPtr DevicePad) -> DevicePad
+ GI.Gdk.Interfaces.DevicePad: DevicePad :: ManagedPtr DevicePad -> DevicePad
- GI.Gdk.Interfaces.DevicePad: class GObject o => IsDevicePad o
+ GI.Gdk.Interfaces.DevicePad: class (GObject o, IsDescendantOf DevicePad o) => IsDevicePad o
- GI.Gdk.Objects.AppLaunchContext: AppLaunchContext :: (ManagedPtr AppLaunchContext) -> AppLaunchContext
+ GI.Gdk.Objects.AppLaunchContext: AppLaunchContext :: ManagedPtr AppLaunchContext -> AppLaunchContext
- GI.Gdk.Objects.AppLaunchContext: appLaunchContextSetIcon :: (HasCallStack, MonadIO m, IsAppLaunchContext a, IsIcon b) => a -> Maybe (b) -> m ()
+ GI.Gdk.Objects.AppLaunchContext: appLaunchContextSetIcon :: (HasCallStack, MonadIO m, IsAppLaunchContext a, IsIcon b) => a -> Maybe b -> m ()
- GI.Gdk.Objects.AppLaunchContext: appLaunchContextSetIconName :: (HasCallStack, MonadIO m, IsAppLaunchContext a) => a -> Maybe (Text) -> m ()
+ GI.Gdk.Objects.AppLaunchContext: appLaunchContextSetIconName :: (HasCallStack, MonadIO m, IsAppLaunchContext a) => a -> Maybe Text -> m ()
- GI.Gdk.Objects.AppLaunchContext: class GObject o => IsAppLaunchContext o
+ GI.Gdk.Objects.AppLaunchContext: class (GObject o, IsDescendantOf AppLaunchContext o) => IsAppLaunchContext o
- GI.Gdk.Objects.Cursor: Cursor :: (ManagedPtr Cursor) -> Cursor
+ GI.Gdk.Objects.Cursor: Cursor :: ManagedPtr Cursor -> Cursor
- GI.Gdk.Objects.Cursor: class GObject o => IsCursor o
+ GI.Gdk.Objects.Cursor: class (GObject o, IsDescendantOf Cursor o) => IsCursor o
- GI.Gdk.Objects.Cursor: constructCursorCursorType :: (IsCursor o) => CursorType -> IO (GValueConstruct o)
+ GI.Gdk.Objects.Cursor: constructCursorCursorType :: IsCursor o => CursorType -> IO (GValueConstruct o)
- GI.Gdk.Objects.Cursor: cursorGetSurface :: (HasCallStack, MonadIO m, IsCursor a) => a -> m ((Maybe Surface, Double, Double))
+ GI.Gdk.Objects.Cursor: cursorGetSurface :: (HasCallStack, MonadIO m, IsCursor a) => a -> m (Maybe Surface, Double, Double)
- GI.Gdk.Objects.Device: Device :: (ManagedPtr Device) -> Device
+ GI.Gdk.Objects.Device: Device :: ManagedPtr Device -> Device
- GI.Gdk.Objects.Device: class GObject o => IsDevice o
+ GI.Gdk.Objects.Device: class (GObject o, IsDescendantOf Device o) => IsDevice o
- GI.Gdk.Objects.Device: constructDeviceHasCursor :: (IsDevice o) => Bool -> IO (GValueConstruct o)
+ GI.Gdk.Objects.Device: constructDeviceHasCursor :: IsDevice o => Bool -> IO (GValueConstruct o)
- GI.Gdk.Objects.Device: constructDeviceInputMode :: (IsDevice o) => InputMode -> IO (GValueConstruct o)
+ GI.Gdk.Objects.Device: constructDeviceInputMode :: IsDevice o => InputMode -> IO (GValueConstruct o)
- GI.Gdk.Objects.Device: constructDeviceInputSource :: (IsDevice o) => InputSource -> IO (GValueConstruct o)
+ GI.Gdk.Objects.Device: constructDeviceInputSource :: IsDevice o => InputSource -> IO (GValueConstruct o)
- GI.Gdk.Objects.Device: constructDeviceName :: (IsDevice o) => Text -> IO (GValueConstruct o)
+ GI.Gdk.Objects.Device: constructDeviceName :: IsDevice o => Text -> IO (GValueConstruct o)
- GI.Gdk.Objects.Device: constructDeviceNumTouches :: (IsDevice o) => Word32 -> IO (GValueConstruct o)
+ GI.Gdk.Objects.Device: constructDeviceNumTouches :: IsDevice o => Word32 -> IO (GValueConstruct o)
- GI.Gdk.Objects.Device: constructDeviceProductId :: (IsDevice o) => Text -> IO (GValueConstruct o)
+ GI.Gdk.Objects.Device: constructDeviceProductId :: IsDevice o => Text -> IO (GValueConstruct o)
- GI.Gdk.Objects.Device: constructDeviceType :: (IsDevice o) => DeviceType -> IO (GValueConstruct o)
+ GI.Gdk.Objects.Device: constructDeviceType :: IsDevice o => DeviceType -> IO (GValueConstruct o)
- GI.Gdk.Objects.Device: constructDeviceVendorId :: (IsDevice o) => Text -> IO (GValueConstruct o)
+ GI.Gdk.Objects.Device: constructDeviceVendorId :: IsDevice o => Text -> IO (GValueConstruct o)
- GI.Gdk.Objects.Device: deviceGetKey :: (HasCallStack, MonadIO m, IsDevice a) => a -> Word32 -> m ((Bool, Word32, [ModifierType]))
+ GI.Gdk.Objects.Device: deviceGetKey :: (HasCallStack, MonadIO m, IsDevice a) => a -> Word32 -> m (Bool, Word32, [ModifierType])
- GI.Gdk.Objects.Device: deviceGetPosition :: (HasCallStack, MonadIO m, IsDevice a) => a -> m ((Screen, Int32, Int32))
+ GI.Gdk.Objects.Device: deviceGetPosition :: (HasCallStack, MonadIO m, IsDevice a) => a -> m (Screen, Int32, Int32)
- GI.Gdk.Objects.Device: deviceGetPositionDouble :: (HasCallStack, MonadIO m, IsDevice a) => a -> m ((Screen, Double, Double))
+ GI.Gdk.Objects.Device: deviceGetPositionDouble :: (HasCallStack, MonadIO m, IsDevice a) => a -> m (Screen, Double, Double)
- GI.Gdk.Objects.Device: deviceGetWindowAtPosition :: (HasCallStack, MonadIO m, IsDevice a) => a -> m ((Maybe Window, Int32, Int32))
+ GI.Gdk.Objects.Device: deviceGetWindowAtPosition :: (HasCallStack, MonadIO m, IsDevice a) => a -> m (Maybe Window, Int32, Int32)
- GI.Gdk.Objects.Device: deviceGetWindowAtPositionDouble :: (HasCallStack, MonadIO m, IsDevice a) => a -> m ((Maybe Window, Double, Double))
+ GI.Gdk.Objects.Device: deviceGetWindowAtPositionDouble :: (HasCallStack, MonadIO m, IsDevice a) => a -> m (Maybe Window, Double, Double)
- GI.Gdk.Objects.Device: deviceGrab :: (HasCallStack, MonadIO m, IsDevice a, IsWindow b, IsCursor c) => a -> b -> GrabOwnership -> Bool -> [EventMask] -> Maybe (c) -> Word32 -> m GrabStatus
+ GI.Gdk.Objects.Device: deviceGrab :: (HasCallStack, MonadIO m, IsDevice a, IsWindow b, IsCursor c) => a -> b -> GrabOwnership -> Bool -> [EventMask] -> Maybe c -> Word32 -> m GrabStatus
- GI.Gdk.Objects.Device: deviceGrabInfoLibgtkOnly :: (HasCallStack, MonadIO m, IsDisplay a, IsDevice b) => a -> b -> m ((Bool, Window, Bool))
+ GI.Gdk.Objects.Device: deviceGrabInfoLibgtkOnly :: (HasCallStack, MonadIO m, IsDisplay a, IsDevice b) => a -> b -> m (Bool, Window, Bool)
- GI.Gdk.Objects.Device: genClosure_DeviceChanged :: DeviceChangedCallback -> IO Closure
+ GI.Gdk.Objects.Device: genClosure_DeviceChanged :: MonadIO m => DeviceChangedCallback -> m (GClosure C_DeviceChangedCallback)
- GI.Gdk.Objects.Device: genClosure_DeviceToolChanged :: DeviceToolChangedCallback -> IO Closure
+ GI.Gdk.Objects.Device: genClosure_DeviceToolChanged :: MonadIO m => DeviceToolChangedCallback -> m (GClosure C_DeviceToolChangedCallback)
- GI.Gdk.Objects.Device: type DeviceToolChangedCallback = DeviceTool /@tool@/: The new current tool -> IO ()
+ GI.Gdk.Objects.Device: type DeviceToolChangedCallback = DeviceTool " /@tool@/: The new current tool " -> IO ()
- GI.Gdk.Objects.DeviceManager: DeviceManager :: (ManagedPtr DeviceManager) -> DeviceManager
+ GI.Gdk.Objects.DeviceManager: DeviceManager :: ManagedPtr DeviceManager -> DeviceManager
- GI.Gdk.Objects.DeviceManager: class GObject o => IsDeviceManager o
+ GI.Gdk.Objects.DeviceManager: class (GObject o, IsDescendantOf DeviceManager o) => IsDeviceManager o
- GI.Gdk.Objects.DeviceManager: genClosure_DeviceManagerDeviceAdded :: DeviceManagerDeviceAddedCallback -> IO Closure
+ GI.Gdk.Objects.DeviceManager: genClosure_DeviceManagerDeviceAdded :: MonadIO m => DeviceManagerDeviceAddedCallback -> m (GClosure C_DeviceManagerDeviceAddedCallback)
- GI.Gdk.Objects.DeviceManager: genClosure_DeviceManagerDeviceChanged :: DeviceManagerDeviceChangedCallback -> IO Closure
+ GI.Gdk.Objects.DeviceManager: genClosure_DeviceManagerDeviceChanged :: MonadIO m => DeviceManagerDeviceChangedCallback -> m (GClosure C_DeviceManagerDeviceChangedCallback)
- GI.Gdk.Objects.DeviceManager: genClosure_DeviceManagerDeviceRemoved :: DeviceManagerDeviceRemovedCallback -> IO Closure
+ GI.Gdk.Objects.DeviceManager: genClosure_DeviceManagerDeviceRemoved :: MonadIO m => DeviceManagerDeviceRemovedCallback -> m (GClosure C_DeviceManagerDeviceRemovedCallback)
- GI.Gdk.Objects.DeviceManager: type DeviceManagerDeviceAddedCallback = Device /@device@/: the newly added 'GI.Gdk.Objects.Device.Device'. -> IO ()
+ GI.Gdk.Objects.DeviceManager: type DeviceManagerDeviceAddedCallback = Device " /@device@/: the newly added 'GI.Gdk.Objects.Device.Device'. " -> IO ()
- GI.Gdk.Objects.DeviceManager: type DeviceManagerDeviceChangedCallback = Device /@device@/: the 'GI.Gdk.Objects.Device.Device' that changed. -> IO ()
+ GI.Gdk.Objects.DeviceManager: type DeviceManagerDeviceChangedCallback = Device " /@device@/: the 'GI.Gdk.Objects.Device.Device' that changed. " -> IO ()
- GI.Gdk.Objects.DeviceManager: type DeviceManagerDeviceRemovedCallback = Device /@device@/: the just removed 'GI.Gdk.Objects.Device.Device'. -> IO ()
+ GI.Gdk.Objects.DeviceManager: type DeviceManagerDeviceRemovedCallback = Device " /@device@/: the just removed 'GI.Gdk.Objects.Device.Device'. " -> IO ()
- GI.Gdk.Objects.DeviceTool: DeviceTool :: (ManagedPtr DeviceTool) -> DeviceTool
+ GI.Gdk.Objects.DeviceTool: DeviceTool :: ManagedPtr DeviceTool -> DeviceTool
- GI.Gdk.Objects.DeviceTool: class GObject o => IsDeviceTool o
+ GI.Gdk.Objects.DeviceTool: class (GObject o, IsDescendantOf DeviceTool o) => IsDeviceTool o
- GI.Gdk.Objects.DeviceTool: constructDeviceToolAxes :: (IsDeviceTool o) => [AxisFlags] -> IO (GValueConstruct o)
+ GI.Gdk.Objects.DeviceTool: constructDeviceToolAxes :: IsDeviceTool o => [AxisFlags] -> IO (GValueConstruct o)
- GI.Gdk.Objects.DeviceTool: constructDeviceToolHardwareId :: (IsDeviceTool o) => Word64 -> IO (GValueConstruct o)
+ GI.Gdk.Objects.DeviceTool: constructDeviceToolHardwareId :: IsDeviceTool o => Word64 -> IO (GValueConstruct o)
- GI.Gdk.Objects.DeviceTool: constructDeviceToolSerial :: (IsDeviceTool o) => Word64 -> IO (GValueConstruct o)
+ GI.Gdk.Objects.DeviceTool: constructDeviceToolSerial :: IsDeviceTool o => Word64 -> IO (GValueConstruct o)
- GI.Gdk.Objects.DeviceTool: constructDeviceToolToolType :: (IsDeviceTool o) => DeviceToolType -> IO (GValueConstruct o)
+ GI.Gdk.Objects.DeviceTool: constructDeviceToolToolType :: IsDeviceTool o => DeviceToolType -> IO (GValueConstruct o)
- GI.Gdk.Objects.Display: Display :: (ManagedPtr Display) -> Display
+ GI.Gdk.Objects.Display: Display :: ManagedPtr Display -> Display
- GI.Gdk.Objects.Display: class GObject o => IsDisplay o
+ GI.Gdk.Objects.Display: class (GObject o, IsDescendantOf Display o) => IsDisplay o
- GI.Gdk.Objects.Display: displayGetMaximalCursorSize :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m ((Word32, Word32))
+ GI.Gdk.Objects.Display: displayGetMaximalCursorSize :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m (Word32, Word32)
- GI.Gdk.Objects.Display: displayGetPointer :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m ((Screen, Int32, Int32, [ModifierType]))
+ GI.Gdk.Objects.Display: displayGetPointer :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m (Screen, Int32, Int32, [ModifierType])
- GI.Gdk.Objects.Display: displayGetWindowAtPointer :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m ((Maybe Window, Int32, Int32))
+ GI.Gdk.Objects.Display: displayGetWindowAtPointer :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m (Maybe Window, Int32, Int32)
- GI.Gdk.Objects.Display: displayStoreClipboard :: (HasCallStack, MonadIO m, IsDisplay a, IsWindow b) => a -> b -> Word32 -> Maybe ([Atom]) -> m ()
+ GI.Gdk.Objects.Display: displayStoreClipboard :: (HasCallStack, MonadIO m, IsDisplay a, IsWindow b) => a -> b -> Word32 -> Maybe [Atom] -> m ()
- GI.Gdk.Objects.Display: genClosure_DisplayClosed :: DisplayClosedCallback -> IO Closure
+ GI.Gdk.Objects.Display: genClosure_DisplayClosed :: MonadIO m => DisplayClosedCallback -> m (GClosure C_DisplayClosedCallback)
- GI.Gdk.Objects.Display: genClosure_DisplayMonitorAdded :: DisplayMonitorAddedCallback -> IO Closure
+ GI.Gdk.Objects.Display: genClosure_DisplayMonitorAdded :: MonadIO m => DisplayMonitorAddedCallback -> m (GClosure C_DisplayMonitorAddedCallback)
- GI.Gdk.Objects.Display: genClosure_DisplayMonitorRemoved :: DisplayMonitorRemovedCallback -> IO Closure
+ GI.Gdk.Objects.Display: genClosure_DisplayMonitorRemoved :: MonadIO m => DisplayMonitorRemovedCallback -> m (GClosure C_DisplayMonitorRemovedCallback)
- GI.Gdk.Objects.Display: genClosure_DisplayOpened :: DisplayOpenedCallback -> IO Closure
+ GI.Gdk.Objects.Display: genClosure_DisplayOpened :: MonadIO m => DisplayOpenedCallback -> m (GClosure C_DisplayOpenedCallback)
- GI.Gdk.Objects.Display: genClosure_DisplaySeatAdded :: DisplaySeatAddedCallback -> IO Closure
+ GI.Gdk.Objects.Display: genClosure_DisplaySeatAdded :: MonadIO m => DisplaySeatAddedCallback -> m (GClosure C_DisplaySeatAddedCallback)
- GI.Gdk.Objects.Display: genClosure_DisplaySeatRemoved :: DisplaySeatRemovedCallback -> IO Closure
+ GI.Gdk.Objects.Display: genClosure_DisplaySeatRemoved :: MonadIO m => DisplaySeatRemovedCallback -> m (GClosure C_DisplaySeatRemovedCallback)
- GI.Gdk.Objects.Display: type DisplayClosedCallback = Bool /@isError@/: 'True' if the display was closed due to an error -> IO ()
+ GI.Gdk.Objects.Display: type DisplayClosedCallback = Bool " /@isError@/: 'True' if the display was closed due to an error " -> IO ()
- GI.Gdk.Objects.Display: type DisplayMonitorAddedCallback = Monitor /@monitor@/: the monitor that was just added -> IO ()
+ GI.Gdk.Objects.Display: type DisplayMonitorAddedCallback = Monitor " /@monitor@/: the monitor that was just added " -> IO ()
- GI.Gdk.Objects.Display: type DisplayMonitorRemovedCallback = Monitor /@monitor@/: the monitor that was just removed -> IO ()
+ GI.Gdk.Objects.Display: type DisplayMonitorRemovedCallback = Monitor " /@monitor@/: the monitor that was just removed " -> IO ()
- GI.Gdk.Objects.Display: type DisplaySeatAddedCallback = Seat /@seat@/: the seat that was just added -> IO ()
+ GI.Gdk.Objects.Display: type DisplaySeatAddedCallback = Seat " /@seat@/: the seat that was just added " -> IO ()
- GI.Gdk.Objects.Display: type DisplaySeatRemovedCallback = Seat /@seat@/: the seat that was just removed -> IO ()
+ GI.Gdk.Objects.Display: type DisplaySeatRemovedCallback = Seat " /@seat@/: the seat that was just removed " -> IO ()
- GI.Gdk.Objects.DisplayManager: DisplayManager :: (ManagedPtr DisplayManager) -> DisplayManager
+ GI.Gdk.Objects.DisplayManager: DisplayManager :: ManagedPtr DisplayManager -> DisplayManager
- GI.Gdk.Objects.DisplayManager: class GObject o => IsDisplayManager o
+ GI.Gdk.Objects.DisplayManager: class (GObject o, IsDescendantOf DisplayManager o) => IsDisplayManager o
- GI.Gdk.Objects.DisplayManager: genClosure_DisplayManagerDisplayOpened :: DisplayManagerDisplayOpenedCallback -> IO Closure
+ GI.Gdk.Objects.DisplayManager: genClosure_DisplayManagerDisplayOpened :: MonadIO m => DisplayManagerDisplayOpenedCallback -> m (GClosure C_DisplayManagerDisplayOpenedCallback)
- GI.Gdk.Objects.DisplayManager: type DisplayManagerDisplayOpenedCallback = Display /@display@/: the opened display -> IO ()
+ GI.Gdk.Objects.DisplayManager: type DisplayManagerDisplayOpenedCallback = Display " /@display@/: the opened display " -> IO ()
- GI.Gdk.Objects.DragContext: DragContext :: (ManagedPtr DragContext) -> DragContext
+ GI.Gdk.Objects.DragContext: DragContext :: ManagedPtr DragContext -> DragContext
- GI.Gdk.Objects.DragContext: class GObject o => IsDragContext o
+ GI.Gdk.Objects.DragContext: class (GObject o, IsDescendantOf DragContext o) => IsDragContext o
- GI.Gdk.Objects.DragContext: genClosure_DragContextActionChanged :: DragContextActionChangedCallback -> IO Closure
+ GI.Gdk.Objects.DragContext: genClosure_DragContextActionChanged :: MonadIO m => DragContextActionChangedCallback -> m (GClosure C_DragContextActionChangedCallback)
- GI.Gdk.Objects.DragContext: genClosure_DragContextCancel :: DragContextCancelCallback -> IO Closure
+ GI.Gdk.Objects.DragContext: genClosure_DragContextCancel :: MonadIO m => DragContextCancelCallback -> m (GClosure C_DragContextCancelCallback)
- GI.Gdk.Objects.DragContext: genClosure_DragContextDndFinished :: DragContextDndFinishedCallback -> IO Closure
+ GI.Gdk.Objects.DragContext: genClosure_DragContextDndFinished :: MonadIO m => DragContextDndFinishedCallback -> m (GClosure C_DragContextDndFinishedCallback)
- GI.Gdk.Objects.DragContext: genClosure_DragContextDropPerformed :: DragContextDropPerformedCallback -> IO Closure
+ GI.Gdk.Objects.DragContext: genClosure_DragContextDropPerformed :: MonadIO m => DragContextDropPerformedCallback -> m (GClosure C_DragContextDropPerformedCallback)
- GI.Gdk.Objects.DragContext: type DragContextActionChangedCallback = [DragAction] /@action@/: The action currently chosen -> IO ()
+ GI.Gdk.Objects.DragContext: type DragContextActionChangedCallback = [DragAction] " /@action@/: The action currently chosen " -> IO ()
- GI.Gdk.Objects.DragContext: type DragContextCancelCallback = DragCancelReason /@reason@/: The reason the context was cancelled -> IO ()
+ GI.Gdk.Objects.DragContext: type DragContextCancelCallback = DragCancelReason " /@reason@/: The reason the context was cancelled " -> IO ()
- GI.Gdk.Objects.DragContext: type DragContextDropPerformedCallback = Int32 /@time@/: the time at which the drop happened. -> IO ()
+ GI.Gdk.Objects.DragContext: type DragContextDropPerformedCallback = Int32 " /@time@/: the time at which the drop happened. " -> IO ()
- GI.Gdk.Objects.DrawingContext: DrawingContext :: (ManagedPtr DrawingContext) -> DrawingContext
+ GI.Gdk.Objects.DrawingContext: DrawingContext :: ManagedPtr DrawingContext -> DrawingContext
- GI.Gdk.Objects.DrawingContext: class GObject o => IsDrawingContext o
+ GI.Gdk.Objects.DrawingContext: class (GObject o, IsDescendantOf DrawingContext o) => IsDrawingContext o
- GI.Gdk.Objects.DrawingContext: constructDrawingContextClip :: (IsDrawingContext o) => Region -> IO (GValueConstruct o)
+ GI.Gdk.Objects.DrawingContext: constructDrawingContextClip :: IsDrawingContext o => Region -> IO (GValueConstruct o)
- GI.Gdk.Objects.FrameClock: FrameClock :: (ManagedPtr FrameClock) -> FrameClock
+ GI.Gdk.Objects.FrameClock: FrameClock :: ManagedPtr FrameClock -> FrameClock
- GI.Gdk.Objects.FrameClock: class GObject o => IsFrameClock o
+ GI.Gdk.Objects.FrameClock: class (GObject o, IsDescendantOf FrameClock o) => IsFrameClock o
- GI.Gdk.Objects.FrameClock: frameClockGetRefreshInfo :: (HasCallStack, MonadIO m, IsFrameClock a) => a -> Int64 -> m ((Int64, Int64))
+ GI.Gdk.Objects.FrameClock: frameClockGetRefreshInfo :: (HasCallStack, MonadIO m, IsFrameClock a) => a -> Int64 -> m (Int64, Int64)
- GI.Gdk.Objects.FrameClock: genClosure_FrameClockAfterPaint :: FrameClockAfterPaintCallback -> IO Closure
+ GI.Gdk.Objects.FrameClock: genClosure_FrameClockAfterPaint :: MonadIO m => FrameClockAfterPaintCallback -> m (GClosure C_FrameClockAfterPaintCallback)
- GI.Gdk.Objects.FrameClock: genClosure_FrameClockBeforePaint :: FrameClockBeforePaintCallback -> IO Closure
+ GI.Gdk.Objects.FrameClock: genClosure_FrameClockBeforePaint :: MonadIO m => FrameClockBeforePaintCallback -> m (GClosure C_FrameClockBeforePaintCallback)
- GI.Gdk.Objects.FrameClock: genClosure_FrameClockFlushEvents :: FrameClockFlushEventsCallback -> IO Closure
+ GI.Gdk.Objects.FrameClock: genClosure_FrameClockFlushEvents :: MonadIO m => FrameClockFlushEventsCallback -> m (GClosure C_FrameClockFlushEventsCallback)
- GI.Gdk.Objects.FrameClock: genClosure_FrameClockLayout :: FrameClockLayoutCallback -> IO Closure
+ GI.Gdk.Objects.FrameClock: genClosure_FrameClockLayout :: MonadIO m => FrameClockLayoutCallback -> m (GClosure C_FrameClockLayoutCallback)
- GI.Gdk.Objects.FrameClock: genClosure_FrameClockPaint :: FrameClockPaintCallback -> IO Closure
+ GI.Gdk.Objects.FrameClock: genClosure_FrameClockPaint :: MonadIO m => FrameClockPaintCallback -> m (GClosure C_FrameClockPaintCallback)
- GI.Gdk.Objects.FrameClock: genClosure_FrameClockResumeEvents :: FrameClockResumeEventsCallback -> IO Closure
+ GI.Gdk.Objects.FrameClock: genClosure_FrameClockResumeEvents :: MonadIO m => FrameClockResumeEventsCallback -> m (GClosure C_FrameClockResumeEventsCallback)
- GI.Gdk.Objects.FrameClock: genClosure_FrameClockUpdate :: FrameClockUpdateCallback -> IO Closure
+ GI.Gdk.Objects.FrameClock: genClosure_FrameClockUpdate :: MonadIO m => FrameClockUpdateCallback -> m (GClosure C_FrameClockUpdateCallback)
- GI.Gdk.Objects.GLContext: GLContext :: (ManagedPtr GLContext) -> GLContext
+ GI.Gdk.Objects.GLContext: GLContext :: ManagedPtr GLContext -> GLContext
- GI.Gdk.Objects.GLContext: class GObject o => IsGLContext o
+ GI.Gdk.Objects.GLContext: class (GObject o, IsDescendantOf GLContext o) => IsGLContext o
- GI.Gdk.Objects.GLContext: gLContextGetRequiredVersion :: (HasCallStack, MonadIO m, IsGLContext a) => a -> m ((Int32, Int32))
+ GI.Gdk.Objects.GLContext: gLContextGetRequiredVersion :: (HasCallStack, MonadIO m, IsGLContext a) => a -> m (Int32, Int32)
- GI.Gdk.Objects.GLContext: gLContextGetVersion :: (HasCallStack, MonadIO m, IsGLContext a) => a -> m ((Int32, Int32))
+ GI.Gdk.Objects.GLContext: gLContextGetVersion :: (HasCallStack, MonadIO m, IsGLContext a) => a -> m (Int32, Int32)
- GI.Gdk.Objects.Keymap: Keymap :: (ManagedPtr Keymap) -> Keymap
+ GI.Gdk.Objects.Keymap: Keymap :: ManagedPtr Keymap -> Keymap
- GI.Gdk.Objects.Keymap: class GObject o => IsKeymap o
+ GI.Gdk.Objects.Keymap: class (GObject o, IsDescendantOf Keymap o) => IsKeymap o
- GI.Gdk.Objects.Keymap: genClosure_KeymapDirectionChanged :: KeymapDirectionChangedCallback -> IO Closure
+ GI.Gdk.Objects.Keymap: genClosure_KeymapDirectionChanged :: MonadIO m => KeymapDirectionChangedCallback -> m (GClosure C_KeymapDirectionChangedCallback)
- GI.Gdk.Objects.Keymap: genClosure_KeymapKeysChanged :: KeymapKeysChangedCallback -> IO Closure
+ GI.Gdk.Objects.Keymap: genClosure_KeymapKeysChanged :: MonadIO m => KeymapKeysChangedCallback -> m (GClosure C_KeymapKeysChangedCallback)
- GI.Gdk.Objects.Keymap: genClosure_KeymapStateChanged :: KeymapStateChangedCallback -> IO Closure
+ GI.Gdk.Objects.Keymap: genClosure_KeymapStateChanged :: MonadIO m => KeymapStateChangedCallback -> m (GClosure C_KeymapStateChangedCallback)
- GI.Gdk.Objects.Keymap: keymapAddVirtualModifiers :: (HasCallStack, MonadIO m, IsKeymap a) => a -> [ModifierType] -> m ([ModifierType])
+ GI.Gdk.Objects.Keymap: keymapAddVirtualModifiers :: (HasCallStack, MonadIO m, IsKeymap a) => a -> [ModifierType] -> m [ModifierType]
- GI.Gdk.Objects.Keymap: keymapGetEntriesForKeycode :: (HasCallStack, MonadIO m, IsKeymap a) => a -> Word32 -> m ((Bool, [KeymapKey], [Word32]))
+ GI.Gdk.Objects.Keymap: keymapGetEntriesForKeycode :: (HasCallStack, MonadIO m, IsKeymap a) => a -> Word32 -> m (Bool, [KeymapKey], [Word32])
- GI.Gdk.Objects.Keymap: keymapGetEntriesForKeyval :: (HasCallStack, MonadIO m, IsKeymap a) => a -> Word32 -> m ((Bool, [KeymapKey]))
+ GI.Gdk.Objects.Keymap: keymapGetEntriesForKeyval :: (HasCallStack, MonadIO m, IsKeymap a) => a -> Word32 -> m (Bool, [KeymapKey])
- GI.Gdk.Objects.Keymap: keymapMapVirtualModifiers :: (HasCallStack, MonadIO m, IsKeymap a) => a -> [ModifierType] -> m ((Bool, [ModifierType]))
+ GI.Gdk.Objects.Keymap: keymapMapVirtualModifiers :: (HasCallStack, MonadIO m, IsKeymap a) => a -> [ModifierType] -> m (Bool, [ModifierType])
- GI.Gdk.Objects.Keymap: keymapTranslateKeyboardState :: (HasCallStack, MonadIO m, IsKeymap a) => a -> Word32 -> [ModifierType] -> Int32 -> m ((Bool, Word32, Int32, Int32, [ModifierType]))
+ GI.Gdk.Objects.Keymap: keymapTranslateKeyboardState :: (HasCallStack, MonadIO m, IsKeymap a) => a -> Word32 -> [ModifierType] -> Int32 -> m (Bool, Word32, Int32, Int32, [ModifierType])
- GI.Gdk.Objects.Monitor: Monitor :: (ManagedPtr Monitor) -> Monitor
+ GI.Gdk.Objects.Monitor: Monitor :: ManagedPtr Monitor -> Monitor
- GI.Gdk.Objects.Monitor: class GObject o => IsMonitor o
+ GI.Gdk.Objects.Monitor: class (GObject o, IsDescendantOf Monitor o) => IsMonitor o
- GI.Gdk.Objects.Monitor: genClosure_MonitorInvalidate :: MonitorInvalidateCallback -> IO Closure
+ GI.Gdk.Objects.Monitor: genClosure_MonitorInvalidate :: MonadIO m => MonitorInvalidateCallback -> m (GClosure C_MonitorInvalidateCallback)
- GI.Gdk.Objects.Monitor: monitorGetGeometry :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m (Rectangle)
+ GI.Gdk.Objects.Monitor: monitorGetGeometry :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Rectangle
- GI.Gdk.Objects.Monitor: monitorGetWorkarea :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m (Rectangle)
+ GI.Gdk.Objects.Monitor: monitorGetWorkarea :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Rectangle
- GI.Gdk.Objects.Screen: Screen :: (ManagedPtr Screen) -> Screen
+ GI.Gdk.Objects.Screen: Screen :: ManagedPtr Screen -> Screen
- GI.Gdk.Objects.Screen: class GObject o => IsScreen o
+ GI.Gdk.Objects.Screen: class (GObject o, IsDescendantOf Screen o) => IsScreen o
- GI.Gdk.Objects.Screen: constructScreenFontOptions :: (IsScreen o) => Ptr () -> IO (GValueConstruct o)
+ GI.Gdk.Objects.Screen: constructScreenFontOptions :: IsScreen o => Ptr () -> IO (GValueConstruct o)
- GI.Gdk.Objects.Screen: constructScreenResolution :: (IsScreen o) => Double -> IO (GValueConstruct o)
+ GI.Gdk.Objects.Screen: constructScreenResolution :: IsScreen o => Double -> IO (GValueConstruct o)
- GI.Gdk.Objects.Screen: genClosure_ScreenCompositedChanged :: ScreenCompositedChangedCallback -> IO Closure
+ GI.Gdk.Objects.Screen: genClosure_ScreenCompositedChanged :: MonadIO m => ScreenCompositedChangedCallback -> m (GClosure C_ScreenCompositedChangedCallback)
- GI.Gdk.Objects.Screen: genClosure_ScreenMonitorsChanged :: ScreenMonitorsChangedCallback -> IO Closure
+ GI.Gdk.Objects.Screen: genClosure_ScreenMonitorsChanged :: MonadIO m => ScreenMonitorsChangedCallback -> m (GClosure C_ScreenMonitorsChangedCallback)
- GI.Gdk.Objects.Screen: genClosure_ScreenSizeChanged :: ScreenSizeChangedCallback -> IO Closure
+ GI.Gdk.Objects.Screen: genClosure_ScreenSizeChanged :: MonadIO m => ScreenSizeChangedCallback -> m (GClosure C_ScreenSizeChangedCallback)
- GI.Gdk.Objects.Screen: screenGetMonitorGeometry :: (HasCallStack, MonadIO m, IsScreen a) => a -> Int32 -> m (Rectangle)
+ GI.Gdk.Objects.Screen: screenGetMonitorGeometry :: (HasCallStack, MonadIO m, IsScreen a) => a -> Int32 -> m Rectangle
- GI.Gdk.Objects.Screen: screenGetMonitorWorkarea :: (HasCallStack, MonadIO m, IsScreen a) => a -> Int32 -> m (Rectangle)
+ GI.Gdk.Objects.Screen: screenGetMonitorWorkarea :: (HasCallStack, MonadIO m, IsScreen a) => a -> Int32 -> m Rectangle
- GI.Gdk.Objects.Screen: screenSetFontOptions :: (HasCallStack, MonadIO m, IsScreen a) => a -> Maybe (FontOptions) -> m ()
+ GI.Gdk.Objects.Screen: screenSetFontOptions :: (HasCallStack, MonadIO m, IsScreen a) => a -> Maybe FontOptions -> m ()
- GI.Gdk.Objects.Seat: Seat :: (ManagedPtr Seat) -> Seat
+ GI.Gdk.Objects.Seat: Seat :: ManagedPtr Seat -> Seat
- GI.Gdk.Objects.Seat: class GObject o => IsSeat o
+ GI.Gdk.Objects.Seat: class (GObject o, IsDescendantOf Seat o) => IsSeat o
- GI.Gdk.Objects.Seat: genClosure_SeatDeviceAdded :: SeatDeviceAddedCallback -> IO Closure
+ GI.Gdk.Objects.Seat: genClosure_SeatDeviceAdded :: MonadIO m => SeatDeviceAddedCallback -> m (GClosure C_SeatDeviceAddedCallback)
- GI.Gdk.Objects.Seat: genClosure_SeatDeviceRemoved :: SeatDeviceRemovedCallback -> IO Closure
+ GI.Gdk.Objects.Seat: genClosure_SeatDeviceRemoved :: MonadIO m => SeatDeviceRemovedCallback -> m (GClosure C_SeatDeviceRemovedCallback)
- GI.Gdk.Objects.Seat: genClosure_SeatToolAdded :: SeatToolAddedCallback -> IO Closure
+ GI.Gdk.Objects.Seat: genClosure_SeatToolAdded :: MonadIO m => SeatToolAddedCallback -> m (GClosure C_SeatToolAddedCallback)
- GI.Gdk.Objects.Seat: genClosure_SeatToolRemoved :: SeatToolRemovedCallback -> IO Closure
+ GI.Gdk.Objects.Seat: genClosure_SeatToolRemoved :: MonadIO m => SeatToolRemovedCallback -> m (GClosure C_SeatToolRemovedCallback)
- GI.Gdk.Objects.Seat: seatGrab :: (HasCallStack, MonadIO m, IsSeat a, IsWindow b, IsCursor c) => a -> b -> [SeatCapabilities] -> Bool -> Maybe (c) -> Maybe (Event) -> Maybe (SeatGrabPrepareFunc) -> m GrabStatus
+ GI.Gdk.Objects.Seat: seatGrab :: (HasCallStack, MonadIO m, IsSeat a, IsWindow b, IsCursor c) => a -> b -> [SeatCapabilities] -> Bool -> Maybe c -> Maybe Event -> Maybe SeatGrabPrepareFunc -> m GrabStatus
- GI.Gdk.Objects.Seat: type SeatDeviceAddedCallback = Device /@device@/: the newly added 'GI.Gdk.Objects.Device.Device'. -> IO ()
+ GI.Gdk.Objects.Seat: type SeatDeviceAddedCallback = Device " /@device@/: the newly added 'GI.Gdk.Objects.Device.Device'. " -> IO ()
- GI.Gdk.Objects.Seat: type SeatDeviceRemovedCallback = Device /@device@/: the just removed 'GI.Gdk.Objects.Device.Device'. -> IO ()
+ GI.Gdk.Objects.Seat: type SeatDeviceRemovedCallback = Device " /@device@/: the just removed 'GI.Gdk.Objects.Device.Device'. " -> IO ()
- GI.Gdk.Objects.Seat: type SeatToolAddedCallback = DeviceTool /@tool@/: the new 'GI.Gdk.Objects.DeviceTool.DeviceTool' known to the seat -> IO ()
+ GI.Gdk.Objects.Seat: type SeatToolAddedCallback = DeviceTool " /@tool@/: the new 'GI.Gdk.Objects.DeviceTool.DeviceTool' known to the seat " -> IO ()
- GI.Gdk.Objects.Seat: type SeatToolRemovedCallback = DeviceTool /@tool@/: the just removed 'GI.Gdk.Objects.DeviceTool.DeviceTool' -> IO ()
+ GI.Gdk.Objects.Seat: type SeatToolRemovedCallback = DeviceTool " /@tool@/: the just removed 'GI.Gdk.Objects.DeviceTool.DeviceTool' " -> IO ()
- GI.Gdk.Objects.Visual: Visual :: (ManagedPtr Visual) -> Visual
+ GI.Gdk.Objects.Visual: Visual :: ManagedPtr Visual -> Visual
- GI.Gdk.Objects.Visual: class GObject o => IsVisual o
+ GI.Gdk.Objects.Visual: class (GObject o, IsDescendantOf Visual o) => IsVisual o
- GI.Gdk.Objects.Visual: visualGetBluePixelDetails :: (HasCallStack, MonadIO m, IsVisual a) => a -> m ((Word32, Int32, Int32))
+ GI.Gdk.Objects.Visual: visualGetBluePixelDetails :: (HasCallStack, MonadIO m, IsVisual a) => a -> m (Word32, Int32, Int32)
- GI.Gdk.Objects.Visual: visualGetGreenPixelDetails :: (HasCallStack, MonadIO m, IsVisual a) => a -> m ((Word32, Int32, Int32))
+ GI.Gdk.Objects.Visual: visualGetGreenPixelDetails :: (HasCallStack, MonadIO m, IsVisual a) => a -> m (Word32, Int32, Int32)
- GI.Gdk.Objects.Visual: visualGetRedPixelDetails :: (HasCallStack, MonadIO m, IsVisual a) => a -> m ((Word32, Int32, Int32))
+ GI.Gdk.Objects.Visual: visualGetRedPixelDetails :: (HasCallStack, MonadIO m, IsVisual a) => a -> m (Word32, Int32, Int32)
- GI.Gdk.Objects.Window: Window :: (ManagedPtr Window) -> Window
+ GI.Gdk.Objects.Window: Window :: ManagedPtr Window -> Window
- GI.Gdk.Objects.Window: class GObject o => IsWindow o
+ GI.Gdk.Objects.Window: class (GObject o, IsDescendantOf Window o) => IsWindow o
- GI.Gdk.Objects.Window: genClosure_WindowCreateSurface :: WindowCreateSurfaceCallback -> IO Closure
+ GI.Gdk.Objects.Window: genClosure_WindowCreateSurface :: MonadIO m => WindowCreateSurfaceCallback -> m (GClosure C_WindowCreateSurfaceCallback)
- GI.Gdk.Objects.Window: genClosure_WindowFromEmbedder :: WindowFromEmbedderCallback -> IO Closure
+ GI.Gdk.Objects.Window: genClosure_WindowFromEmbedder :: MonadIO m => WindowFromEmbedderCallback -> m (GClosure C_WindowFromEmbedderCallback)
- GI.Gdk.Objects.Window: genClosure_WindowMovedToRect :: WindowMovedToRectCallback -> IO Closure
+ GI.Gdk.Objects.Window: genClosure_WindowMovedToRect :: MonadIO m => WindowMovedToRectCallback -> m (GClosure C_WindowMovedToRectCallback)
- GI.Gdk.Objects.Window: genClosure_WindowPickEmbeddedChild :: WindowPickEmbeddedChildCallback -> IO Closure
+ GI.Gdk.Objects.Window: genClosure_WindowPickEmbeddedChild :: MonadIO m => WindowPickEmbeddedChildCallback -> m (GClosure C_WindowPickEmbeddedChildCallback)
- GI.Gdk.Objects.Window: genClosure_WindowToEmbedder :: WindowToEmbedderCallback -> IO Closure
+ GI.Gdk.Objects.Window: genClosure_WindowToEmbedder :: MonadIO m => WindowToEmbedderCallback -> m (GClosure C_WindowToEmbedderCallback)
- GI.Gdk.Objects.Window: type WindowCreateSurfaceCallback = Int32 /@width@/: the width of the offscreen surface to create -> Int32 /@height@/: the height of the offscreen surface to create -> IO Surface __Returns:__ the newly created 'GI.Cairo.Structs.Surface.Surface' for the offscreen window
+ GI.Gdk.Objects.Window: type WindowCreateSurfaceCallback = Int32 " /@width@/: the width of the offscreen surface to create " -> Int32 " /@height@/: the height of the offscreen surface to create " -> IO Surface " __Returns:__ the newly created 'GI.Cairo.Structs.Surface.Surface' for the offscreen window "
- GI.Gdk.Objects.Window: type WindowFromEmbedderCallback = Double /@embedderX@/: x coordinate in the embedder window -> Double /@embedderY@/: y coordinate in the embedder window -> IO ((Double, Double))
+ GI.Gdk.Objects.Window: type WindowFromEmbedderCallback = Double " /@embedderX@/: x coordinate in the embedder window " -> Double " /@embedderY@/: y coordinate in the embedder window " -> IO ((Double, Double))
- GI.Gdk.Objects.Window: type WindowMovedToRectCallback = Ptr () /@flippedRect@/: the position of /@window@/ after any possible flipping or 'Nothing' if the backend can\'t obtain it -> Ptr () /@finalRect@/: the final position of /@window@/ or 'Nothing' if the backend can\'t obtain it -> Bool /@flippedX@/: 'True' if the anchors were flipped horizontally -> Bool /@flippedY@/: 'True' if the anchors were flipped vertically -> IO ()
+ GI.Gdk.Objects.Window: type WindowMovedToRectCallback = Ptr () " /@flippedRect@/: the position of /@window@/ after any possible flipping or 'Nothing' if the backend can\'t obtain it " -> Ptr () " /@finalRect@/: the final position of /@window@/ or 'Nothing' if the backend can\'t obtain it " -> Bool " /@flippedX@/: 'True' if the anchors were flipped horizontally " -> Bool " /@flippedY@/: 'True' if the anchors were flipped vertically " -> IO ()
- GI.Gdk.Objects.Window: type WindowPickEmbeddedChildCallback = Double /@x@/: x coordinate in the window -> Double /@y@/: y coordinate in the window -> IO (Maybe Window) __Returns:__ the 'GI.Gdk.Objects.Window.Window' of the embedded child at /@x@/, /@y@/, or 'Nothing'
+ GI.Gdk.Objects.Window: type WindowPickEmbeddedChildCallback = Double " /@x@/: x coordinate in the window " -> Double " /@y@/: y coordinate in the window " -> IO (Maybe Window) " __Returns:__ the 'GI.Gdk.Objects.Window.Window' of the embedded child at /@x@/, /@y@/, or 'Nothing' "
- GI.Gdk.Objects.Window: type WindowToEmbedderCallback = Double /@offscreenX@/: x coordinate in the offscreen window -> Double /@offscreenY@/: y coordinate in the offscreen window -> IO ((Double, Double))
+ GI.Gdk.Objects.Window: type WindowToEmbedderCallback = Double " /@offscreenX@/: x coordinate in the offscreen window " -> Double " /@offscreenY@/: y coordinate in the offscreen window " -> IO ((Double, Double))
- GI.Gdk.Objects.Window: windowAtPointer :: (HasCallStack, MonadIO m) => m ((Window, Int32, Int32))
+ GI.Gdk.Objects.Window: windowAtPointer :: (HasCallStack, MonadIO m) => m (Window, Int32, Int32)
- GI.Gdk.Objects.Window: windowConstrainSize :: (HasCallStack, MonadIO m) => Geometry -> [WindowHints] -> Int32 -> Int32 -> m ((Int32, Int32))
+ GI.Gdk.Objects.Window: windowConstrainSize :: (HasCallStack, MonadIO m) => Geometry -> [WindowHints] -> Int32 -> Int32 -> m (Int32, Int32)
- GI.Gdk.Objects.Window: windowCoordsFromParent :: (HasCallStack, MonadIO m, IsWindow a) => a -> Double -> Double -> m ((Double, Double))
+ GI.Gdk.Objects.Window: windowCoordsFromParent :: (HasCallStack, MonadIO m, IsWindow a) => a -> Double -> Double -> m (Double, Double)
- GI.Gdk.Objects.Window: windowCoordsToParent :: (HasCallStack, MonadIO m, IsWindow a) => a -> Double -> Double -> m ((Double, Double))
+ GI.Gdk.Objects.Window: windowCoordsToParent :: (HasCallStack, MonadIO m, IsWindow a) => a -> Double -> Double -> m (Double, Double)
- GI.Gdk.Objects.Window: windowGetDecorations :: (HasCallStack, MonadIO m, IsWindow a) => a -> m ((Bool, [WMDecoration]))
+ GI.Gdk.Objects.Window: windowGetDecorations :: (HasCallStack, MonadIO m, IsWindow a) => a -> m (Bool, [WMDecoration])
- GI.Gdk.Objects.Window: windowGetDevicePosition :: (HasCallStack, MonadIO m, IsWindow a, IsDevice b) => a -> b -> m ((Maybe Window, Int32, Int32, [ModifierType]))
+ GI.Gdk.Objects.Window: windowGetDevicePosition :: (HasCallStack, MonadIO m, IsWindow a, IsDevice b) => a -> b -> m (Maybe Window, Int32, Int32, [ModifierType])
- GI.Gdk.Objects.Window: windowGetDevicePositionDouble :: (HasCallStack, MonadIO m, IsWindow a, IsDevice b) => a -> b -> m ((Maybe Window, Double, Double, [ModifierType]))
+ GI.Gdk.Objects.Window: windowGetDevicePositionDouble :: (HasCallStack, MonadIO m, IsWindow a, IsDevice b) => a -> b -> m (Maybe Window, Double, Double, [ModifierType])
- GI.Gdk.Objects.Window: windowGetDragProtocol :: (HasCallStack, MonadIO m, IsWindow a) => a -> m ((DragProtocol, Window))
+ GI.Gdk.Objects.Window: windowGetDragProtocol :: (HasCallStack, MonadIO m, IsWindow a) => a -> m (DragProtocol, Window)
- GI.Gdk.Objects.Window: windowGetFrameExtents :: (HasCallStack, MonadIO m, IsWindow a) => a -> m (Rectangle)
+ GI.Gdk.Objects.Window: windowGetFrameExtents :: (HasCallStack, MonadIO m, IsWindow a) => a -> m Rectangle
- GI.Gdk.Objects.Window: windowGetGeometry :: (HasCallStack, MonadIO m, IsWindow a) => a -> m ((Int32, Int32, Int32, Int32))
+ GI.Gdk.Objects.Window: windowGetGeometry :: (HasCallStack, MonadIO m, IsWindow a) => a -> m (Int32, Int32, Int32, Int32)
- GI.Gdk.Objects.Window: windowGetOrigin :: (HasCallStack, MonadIO m, IsWindow a) => a -> m ((Int32, Int32, Int32))
+ GI.Gdk.Objects.Window: windowGetOrigin :: (HasCallStack, MonadIO m, IsWindow a) => a -> m (Int32, Int32, Int32)
- GI.Gdk.Objects.Window: windowGetPointer :: (HasCallStack, MonadIO m, IsWindow a) => a -> m ((Maybe Window, Int32, Int32, [ModifierType]))
+ GI.Gdk.Objects.Window: windowGetPointer :: (HasCallStack, MonadIO m, IsWindow a) => a -> m (Maybe Window, Int32, Int32, [ModifierType])
- GI.Gdk.Objects.Window: windowGetPosition :: (HasCallStack, MonadIO m, IsWindow a) => a -> m ((Int32, Int32))
+ GI.Gdk.Objects.Window: windowGetPosition :: (HasCallStack, MonadIO m, IsWindow a) => a -> m (Int32, Int32)
- GI.Gdk.Objects.Window: windowGetRootCoords :: (HasCallStack, MonadIO m, IsWindow a) => a -> Int32 -> Int32 -> m ((Int32, Int32))
+ GI.Gdk.Objects.Window: windowGetRootCoords :: (HasCallStack, MonadIO m, IsWindow a) => a -> Int32 -> Int32 -> m (Int32, Int32)
- GI.Gdk.Objects.Window: windowGetRootOrigin :: (HasCallStack, MonadIO m, IsWindow a) => a -> m ((Int32, Int32))
+ GI.Gdk.Objects.Window: windowGetRootOrigin :: (HasCallStack, MonadIO m, IsWindow a) => a -> m (Int32, Int32)
- GI.Gdk.Objects.Window: windowGetUserData :: (HasCallStack, MonadIO m, IsWindow a) => a -> m ((Ptr ()))
+ GI.Gdk.Objects.Window: windowGetUserData :: (HasCallStack, MonadIO m, IsWindow a) => a -> m (Ptr ())
- GI.Gdk.Objects.Window: windowInvalidateMaybeRecurse :: (HasCallStack, MonadIO m, IsWindow a) => a -> Region -> Maybe (WindowChildFunc) -> m ()
+ GI.Gdk.Objects.Window: windowInvalidateMaybeRecurse :: (HasCallStack, MonadIO m, IsWindow a) => a -> Region -> Maybe WindowChildFunc -> m ()
- GI.Gdk.Objects.Window: windowInvalidateRect :: (HasCallStack, MonadIO m, IsWindow a) => a -> Maybe (Rectangle) -> Bool -> m ()
+ GI.Gdk.Objects.Window: windowInvalidateRect :: (HasCallStack, MonadIO m, IsWindow a) => a -> Maybe Rectangle -> Bool -> m ()
- GI.Gdk.Objects.Window: windowNew :: (HasCallStack, MonadIO m, IsWindow a) => Maybe (a) -> WindowAttr -> [WindowAttributesType] -> m Window
+ GI.Gdk.Objects.Window: windowNew :: (HasCallStack, MonadIO m, IsWindow a) => Maybe a -> WindowAttr -> [WindowAttributesType] -> m Window
- GI.Gdk.Objects.Window: windowRestack :: (HasCallStack, MonadIO m, IsWindow a, IsWindow b) => a -> Maybe (b) -> Bool -> m ()
+ GI.Gdk.Objects.Window: windowRestack :: (HasCallStack, MonadIO m, IsWindow a, IsWindow b) => a -> Maybe b -> Bool -> m ()
- GI.Gdk.Objects.Window: windowSetBackgroundPattern :: (HasCallStack, MonadIO m, IsWindow a) => a -> Maybe (Pattern) -> m ()
+ GI.Gdk.Objects.Window: windowSetBackgroundPattern :: (HasCallStack, MonadIO m, IsWindow a) => a -> Maybe Pattern -> m ()
- GI.Gdk.Objects.Window: windowSetCursor :: (HasCallStack, MonadIO m, IsWindow a, IsCursor b) => a -> Maybe (b) -> m ()
+ GI.Gdk.Objects.Window: windowSetCursor :: (HasCallStack, MonadIO m, IsWindow a, IsCursor b) => a -> Maybe b -> m ()
- GI.Gdk.Objects.Window: windowSetGroup :: (HasCallStack, MonadIO m, IsWindow a, IsWindow b) => a -> Maybe (b) -> m ()
+ GI.Gdk.Objects.Window: windowSetGroup :: (HasCallStack, MonadIO m, IsWindow a, IsWindow b) => a -> Maybe b -> m ()
- GI.Gdk.Objects.Window: windowSetIconName :: (HasCallStack, MonadIO m, IsWindow a) => a -> Maybe (Text) -> m ()
+ GI.Gdk.Objects.Window: windowSetIconName :: (HasCallStack, MonadIO m, IsWindow a) => a -> Maybe Text -> m ()
- GI.Gdk.Objects.Window: windowSetOpaqueRegion :: (HasCallStack, MonadIO m, IsWindow a) => a -> Maybe (Region) -> m ()
+ GI.Gdk.Objects.Window: windowSetOpaqueRegion :: (HasCallStack, MonadIO m, IsWindow a) => a -> Maybe Region -> m ()
- GI.Gdk.Objects.Window: windowSetUserData :: (HasCallStack, MonadIO m, IsWindow a, IsObject b) => a -> Maybe (b) -> m ()
+ GI.Gdk.Objects.Window: windowSetUserData :: (HasCallStack, MonadIO m, IsWindow a, IsObject b) => a -> Maybe b -> m ()
- GI.Gdk.Objects.Window: windowShapeCombineRegion :: (HasCallStack, MonadIO m, IsWindow a) => a -> Maybe (Region) -> Int32 -> Int32 -> m ()
+ GI.Gdk.Objects.Window: windowShapeCombineRegion :: (HasCallStack, MonadIO m, IsWindow a) => a -> Maybe Region -> Int32 -> Int32 -> m ()
- GI.Gdk.Structs.Atom: Atom :: (ManagedPtr Atom) -> Atom
+ GI.Gdk.Structs.Atom: Atom :: ManagedPtr Atom -> Atom
- GI.Gdk.Structs.Color: Color :: (ManagedPtr Color) -> Color
+ GI.Gdk.Structs.Color: Color :: ManagedPtr Color -> Color
- GI.Gdk.Structs.Color: colorParse :: (HasCallStack, MonadIO m) => Text -> m ((Bool, Color))
+ GI.Gdk.Structs.Color: colorParse :: (HasCallStack, MonadIO m) => Text -> m (Bool, Color)
- GI.Gdk.Structs.EventAny: EventAny :: (ManagedPtr EventAny) -> EventAny
+ GI.Gdk.Structs.EventAny: EventAny :: ManagedPtr EventAny -> EventAny
- GI.Gdk.Structs.EventButton: EventButton :: (ManagedPtr EventButton) -> EventButton
+ GI.Gdk.Structs.EventButton: EventButton :: ManagedPtr EventButton -> EventButton
- GI.Gdk.Structs.EventConfigure: EventConfigure :: (ManagedPtr EventConfigure) -> EventConfigure
+ GI.Gdk.Structs.EventConfigure: EventConfigure :: ManagedPtr EventConfigure -> EventConfigure
- GI.Gdk.Structs.EventCrossing: EventCrossing :: (ManagedPtr EventCrossing) -> EventCrossing
+ GI.Gdk.Structs.EventCrossing: EventCrossing :: ManagedPtr EventCrossing -> EventCrossing
- GI.Gdk.Structs.EventDND: EventDND :: (ManagedPtr EventDND) -> EventDND
+ GI.Gdk.Structs.EventDND: EventDND :: ManagedPtr EventDND -> EventDND
- GI.Gdk.Structs.EventExpose: EventExpose :: (ManagedPtr EventExpose) -> EventExpose
+ GI.Gdk.Structs.EventExpose: EventExpose :: ManagedPtr EventExpose -> EventExpose
- GI.Gdk.Structs.EventFocus: EventFocus :: (ManagedPtr EventFocus) -> EventFocus
+ GI.Gdk.Structs.EventFocus: EventFocus :: ManagedPtr EventFocus -> EventFocus
- GI.Gdk.Structs.EventGrabBroken: EventGrabBroken :: (ManagedPtr EventGrabBroken) -> EventGrabBroken
+ GI.Gdk.Structs.EventGrabBroken: EventGrabBroken :: ManagedPtr EventGrabBroken -> EventGrabBroken
- GI.Gdk.Structs.EventKey: EventKey :: (ManagedPtr EventKey) -> EventKey
+ GI.Gdk.Structs.EventKey: EventKey :: ManagedPtr EventKey -> EventKey
- GI.Gdk.Structs.EventMotion: EventMotion :: (ManagedPtr EventMotion) -> EventMotion
+ GI.Gdk.Structs.EventMotion: EventMotion :: ManagedPtr EventMotion -> EventMotion
- GI.Gdk.Structs.EventOwnerChange: EventOwnerChange :: (ManagedPtr EventOwnerChange) -> EventOwnerChange
+ GI.Gdk.Structs.EventOwnerChange: EventOwnerChange :: ManagedPtr EventOwnerChange -> EventOwnerChange
- GI.Gdk.Structs.EventPadAxis: EventPadAxis :: (ManagedPtr EventPadAxis) -> EventPadAxis
+ GI.Gdk.Structs.EventPadAxis: EventPadAxis :: ManagedPtr EventPadAxis -> EventPadAxis
- GI.Gdk.Structs.EventPadButton: EventPadButton :: (ManagedPtr EventPadButton) -> EventPadButton
+ GI.Gdk.Structs.EventPadButton: EventPadButton :: ManagedPtr EventPadButton -> EventPadButton
- GI.Gdk.Structs.EventPadGroupMode: EventPadGroupMode :: (ManagedPtr EventPadGroupMode) -> EventPadGroupMode
+ GI.Gdk.Structs.EventPadGroupMode: EventPadGroupMode :: ManagedPtr EventPadGroupMode -> EventPadGroupMode
- GI.Gdk.Structs.EventProperty: EventProperty :: (ManagedPtr EventProperty) -> EventProperty
+ GI.Gdk.Structs.EventProperty: EventProperty :: ManagedPtr EventProperty -> EventProperty
- GI.Gdk.Structs.EventProximity: EventProximity :: (ManagedPtr EventProximity) -> EventProximity
+ GI.Gdk.Structs.EventProximity: EventProximity :: ManagedPtr EventProximity -> EventProximity
- GI.Gdk.Structs.EventScroll: EventScroll :: (ManagedPtr EventScroll) -> EventScroll
+ GI.Gdk.Structs.EventScroll: EventScroll :: ManagedPtr EventScroll -> EventScroll
- GI.Gdk.Structs.EventSelection: EventSelection :: (ManagedPtr EventSelection) -> EventSelection
+ GI.Gdk.Structs.EventSelection: EventSelection :: ManagedPtr EventSelection -> EventSelection
- GI.Gdk.Structs.EventSequence: EventSequence :: (ManagedPtr EventSequence) -> EventSequence
+ GI.Gdk.Structs.EventSequence: EventSequence :: ManagedPtr EventSequence -> EventSequence
- GI.Gdk.Structs.EventSetting: EventSetting :: (ManagedPtr EventSetting) -> EventSetting
+ GI.Gdk.Structs.EventSetting: EventSetting :: ManagedPtr EventSetting -> EventSetting
- GI.Gdk.Structs.EventTouch: EventTouch :: (ManagedPtr EventTouch) -> EventTouch
+ GI.Gdk.Structs.EventTouch: EventTouch :: ManagedPtr EventTouch -> EventTouch
- GI.Gdk.Structs.EventTouchpadPinch: EventTouchpadPinch :: (ManagedPtr EventTouchpadPinch) -> EventTouchpadPinch
+ GI.Gdk.Structs.EventTouchpadPinch: EventTouchpadPinch :: ManagedPtr EventTouchpadPinch -> EventTouchpadPinch
- GI.Gdk.Structs.EventTouchpadSwipe: EventTouchpadSwipe :: (ManagedPtr EventTouchpadSwipe) -> EventTouchpadSwipe
+ GI.Gdk.Structs.EventTouchpadSwipe: EventTouchpadSwipe :: ManagedPtr EventTouchpadSwipe -> EventTouchpadSwipe
- GI.Gdk.Structs.EventVisibility: EventVisibility :: (ManagedPtr EventVisibility) -> EventVisibility
+ GI.Gdk.Structs.EventVisibility: EventVisibility :: ManagedPtr EventVisibility -> EventVisibility
- GI.Gdk.Structs.EventWindowState: EventWindowState :: (ManagedPtr EventWindowState) -> EventWindowState
+ GI.Gdk.Structs.EventWindowState: EventWindowState :: ManagedPtr EventWindowState -> EventWindowState
- GI.Gdk.Structs.FrameTimings: FrameTimings :: (ManagedPtr FrameTimings) -> FrameTimings
+ GI.Gdk.Structs.FrameTimings: FrameTimings :: ManagedPtr FrameTimings -> FrameTimings
- GI.Gdk.Structs.Geometry: Geometry :: (ManagedPtr Geometry) -> Geometry
+ GI.Gdk.Structs.Geometry: Geometry :: ManagedPtr Geometry -> Geometry
- GI.Gdk.Structs.KeymapKey: KeymapKey :: (ManagedPtr KeymapKey) -> KeymapKey
+ GI.Gdk.Structs.KeymapKey: KeymapKey :: ManagedPtr KeymapKey -> KeymapKey
- GI.Gdk.Structs.Point: Point :: (ManagedPtr Point) -> Point
+ GI.Gdk.Structs.Point: Point :: ManagedPtr Point -> Point
- GI.Gdk.Structs.RGBA: RGBA :: (ManagedPtr RGBA) -> RGBA
+ GI.Gdk.Structs.RGBA: RGBA :: ManagedPtr RGBA -> RGBA
- GI.Gdk.Structs.Rectangle: Rectangle :: (ManagedPtr Rectangle) -> Rectangle
+ GI.Gdk.Structs.Rectangle: Rectangle :: ManagedPtr Rectangle -> Rectangle
- GI.Gdk.Structs.Rectangle: rectangleIntersect :: (HasCallStack, MonadIO m) => Rectangle -> Rectangle -> m ((Bool, Rectangle))
+ GI.Gdk.Structs.Rectangle: rectangleIntersect :: (HasCallStack, MonadIO m) => Rectangle -> Rectangle -> m (Bool, Rectangle)
- GI.Gdk.Structs.Rectangle: rectangleUnion :: (HasCallStack, MonadIO m) => Rectangle -> Rectangle -> m (Rectangle)
+ GI.Gdk.Structs.Rectangle: rectangleUnion :: (HasCallStack, MonadIO m) => Rectangle -> Rectangle -> m Rectangle
- GI.Gdk.Structs.TimeCoord: TimeCoord :: (ManagedPtr TimeCoord) -> TimeCoord
+ GI.Gdk.Structs.TimeCoord: TimeCoord :: ManagedPtr TimeCoord -> TimeCoord
- GI.Gdk.Structs.WindowAttr: WindowAttr :: (ManagedPtr WindowAttr) -> WindowAttr
+ GI.Gdk.Structs.WindowAttr: WindowAttr :: ManagedPtr WindowAttr -> WindowAttr
- GI.Gdk.Structs.WindowRedirect: WindowRedirect :: (ManagedPtr WindowRedirect) -> WindowRedirect
+ GI.Gdk.Structs.WindowRedirect: WindowRedirect :: ManagedPtr WindowRedirect -> WindowRedirect
- GI.Gdk.Unions.Event: Event :: (ManagedPtr Event) -> Event
+ GI.Gdk.Unions.Event: Event :: ManagedPtr Event -> Event
- GI.Gdk.Unions.Event: eventGetAxis :: (HasCallStack, MonadIO m) => Event -> AxisUse -> m ((Bool, Double))
+ GI.Gdk.Unions.Event: eventGetAxis :: (HasCallStack, MonadIO m) => Event -> AxisUse -> m (Bool, Double)
- GI.Gdk.Unions.Event: eventGetButton :: (HasCallStack, MonadIO m) => Event -> m ((Bool, Word32))
+ GI.Gdk.Unions.Event: eventGetButton :: (HasCallStack, MonadIO m) => Event -> m (Bool, Word32)
- GI.Gdk.Unions.Event: eventGetClickCount :: (HasCallStack, MonadIO m) => Event -> m ((Bool, Word32))
+ GI.Gdk.Unions.Event: eventGetClickCount :: (HasCallStack, MonadIO m) => Event -> m (Bool, Word32)
- GI.Gdk.Unions.Event: eventGetCoords :: (HasCallStack, MonadIO m) => Event -> m ((Bool, Double, Double))
+ GI.Gdk.Unions.Event: eventGetCoords :: (HasCallStack, MonadIO m) => Event -> m (Bool, Double, Double)
- GI.Gdk.Unions.Event: eventGetKeycode :: (HasCallStack, MonadIO m) => Event -> m ((Bool, Word16))
+ GI.Gdk.Unions.Event: eventGetKeycode :: (HasCallStack, MonadIO m) => Event -> m (Bool, Word16)
- GI.Gdk.Unions.Event: eventGetKeyval :: (HasCallStack, MonadIO m) => Event -> m ((Bool, Word32))
+ GI.Gdk.Unions.Event: eventGetKeyval :: (HasCallStack, MonadIO m) => Event -> m (Bool, Word32)
- GI.Gdk.Unions.Event: eventGetRootCoords :: (HasCallStack, MonadIO m) => Event -> m ((Bool, Double, Double))
+ GI.Gdk.Unions.Event: eventGetRootCoords :: (HasCallStack, MonadIO m) => Event -> m (Bool, Double, Double)
- GI.Gdk.Unions.Event: eventGetScrollDeltas :: (HasCallStack, MonadIO m) => Event -> m ((Bool, Double, Double))
+ GI.Gdk.Unions.Event: eventGetScrollDeltas :: (HasCallStack, MonadIO m) => Event -> m (Bool, Double, Double)
- GI.Gdk.Unions.Event: eventGetScrollDirection :: (HasCallStack, MonadIO m) => Event -> m ((Bool, ScrollDirection))
+ GI.Gdk.Unions.Event: eventGetScrollDirection :: (HasCallStack, MonadIO m) => Event -> m (Bool, ScrollDirection)
- GI.Gdk.Unions.Event: eventGetState :: (HasCallStack, MonadIO m) => Event -> m ((Bool, [ModifierType]))
+ GI.Gdk.Unions.Event: eventGetState :: (HasCallStack, MonadIO m) => Event -> m (Bool, [ModifierType])
- GI.Gdk.Unions.Event: eventSetDeviceTool :: (HasCallStack, MonadIO m, IsDeviceTool a) => Event -> Maybe (a) -> m ()
+ GI.Gdk.Unions.Event: eventSetDeviceTool :: (HasCallStack, MonadIO m, IsDeviceTool a) => Event -> Maybe a -> m ()

Files

ChangeLog.md view
@@ -1,3 +1,11 @@+### 3.0.18+++ Update to haskell-gi(-base) 0.22++### 3.0.17+++ Update stack version to 12.10+ ### 3.0.16  + Enable override for cairo/FontOptions, due to wrong cairo-1.0.gir file 
+ GI/Gdk.hs view
@@ -0,0 +1,62 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk+    (     module GI.Gdk.Callbacks                 ,+    module GI.Gdk.Constants                 ,+    module GI.Gdk.Enums                     ,+    module GI.Gdk.Flags                     ,+    module GI.Gdk.Functions                 ,+    module GI.Gdk.Interfaces                ,+    module GI.Gdk.Objects                   ,+    module GI.Gdk.Structs                   ,+    module GI.Gdk.Unions                    ,++++    module Data.GI.Base                     ,+++    ) where++import GI.Gdk.Callbacks+import GI.Gdk.Constants+import GI.Gdk.Enums+import GI.Gdk.Flags+import GI.Gdk.Functions+import GI.Gdk.Interfaces+import GI.Gdk.Objects+import GI.Gdk.Structs+import GI.Gdk.Unions++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++import Data.GI.Base+
+ GI/Gdk/Callbacks.hs view
@@ -0,0 +1,587 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Callbacks+    ( ++ -- * Signals+-- ** EventFunc #signal:EventFunc#++    C_EventFunc                             ,+    EventFunc                               ,+    EventFunc_WithClosures                  ,+    drop_closures_EventFunc                 ,+    dynamic_EventFunc                       ,+    genClosure_EventFunc                    ,+    mk_EventFunc                            ,+    noEventFunc                             ,+    noEventFunc_WithClosures                ,+    wrap_EventFunc                          ,+++-- ** FilterFunc #signal:FilterFunc#++    C_FilterFunc                            ,+    FilterFunc                              ,+    FilterFunc_WithClosures                 ,+    drop_closures_FilterFunc                ,+    dynamic_FilterFunc                      ,+    genClosure_FilterFunc                   ,+    mk_FilterFunc                           ,+    noFilterFunc                            ,+    noFilterFunc_WithClosures               ,+    wrap_FilterFunc                         ,+++-- ** SeatGrabPrepareFunc #signal:SeatGrabPrepareFunc#++    C_SeatGrabPrepareFunc                   ,+    SeatGrabPrepareFunc                     ,+    SeatGrabPrepareFunc_WithClosures        ,+    drop_closures_SeatGrabPrepareFunc       ,+    dynamic_SeatGrabPrepareFunc             ,+    genClosure_SeatGrabPrepareFunc          ,+    mk_SeatGrabPrepareFunc                  ,+    noSeatGrabPrepareFunc                   ,+    noSeatGrabPrepareFunc_WithClosures      ,+    wrap_SeatGrabPrepareFunc                ,+++-- ** WindowChildFunc #signal:WindowChildFunc#++    C_WindowChildFunc                       ,+    WindowChildFunc                         ,+    WindowChildFunc_WithClosures            ,+    drop_closures_WindowChildFunc           ,+    dynamic_WindowChildFunc                 ,+    genClosure_WindowChildFunc              ,+    mk_WindowChildFunc                      ,+    noWindowChildFunc                       ,+    noWindowChildFunc_WithClosures          ,+    wrap_WindowChildFunc                    ,+++-- ** WindowInvalidateHandlerFunc #signal:WindowInvalidateHandlerFunc#++    C_WindowInvalidateHandlerFunc           ,+    WindowInvalidateHandlerFunc             ,+    dynamic_WindowInvalidateHandlerFunc     ,+    genClosure_WindowInvalidateHandlerFunc  ,+    mk_WindowInvalidateHandlerFunc          ,+    noWindowInvalidateHandlerFunc           ,+    wrap_WindowInvalidateHandlerFunc        ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import qualified GI.Cairo.Structs.Region as Cairo.Region+import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Objects.Seat as Gdk.Seat+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window+import {-# SOURCE #-} qualified GI.Gdk.Unions.Event as Gdk.Event++-- callback WindowInvalidateHandlerFunc+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "region", argType = TInterface (Name {namespace = "cairo", name = "Region"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_region_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Whenever some area of the window is invalidated (directly in the\nwindow or in a child window) this gets called with @region in\nthe coordinate space of @window. You can use @region to just\nkeep track of the dirty region, or you can actually change\n@region in case you are doing display tricks like showing\na child in multiple places.", sinceVersion = Just "3.10"}}+-- | Type for the callback on the (unwrapped) C side.+type C_WindowInvalidateHandlerFunc =+    Ptr Gdk.Window.Window ->+    Ptr Cairo.Region.Region ->+    IO ()++-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "region", argType = TInterface (Name {namespace = "cairo", name = "Region"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_region_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_WindowInvalidateHandlerFunc :: FunPtr C_WindowInvalidateHandlerFunc -> C_WindowInvalidateHandlerFunc++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_WindowInvalidateHandlerFunc ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Window.IsWindow a) =>+    FunPtr C_WindowInvalidateHandlerFunc+    -> a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Cairo.Region.Region+    {- ^ /@region@/: a 'GI.Cairo.Structs.Region.Region' -}+    -> m ()+dynamic_WindowInvalidateHandlerFunc __funPtr window region = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    region' <- unsafeManagedPtrGetPtr region+    (__dynamic_C_WindowInvalidateHandlerFunc __funPtr) window' region'+    touchManagedPtr window+    touchManagedPtr region+    return ()++-- | Generate a function pointer callable from C code, from a `C_WindowInvalidateHandlerFunc`.+foreign import ccall "wrapper"+    mk_WindowInvalidateHandlerFunc :: C_WindowInvalidateHandlerFunc -> IO (FunPtr C_WindowInvalidateHandlerFunc)++{- |+Whenever some area of the window is invalidated (directly in the+window or in a child window) this gets called with /@region@/ in+the coordinate space of /@window@/. You can use /@region@/ to just+keep track of the dirty region, or you can actually change+/@region@/ in case you are doing display tricks like showing+a child in multiple places.++/Since: 3.10/+-}+type WindowInvalidateHandlerFunc =+    Gdk.Window.Window+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Cairo.Region.Region+    {- ^ /@region@/: a 'GI.Cairo.Structs.Region.Region' -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `WindowInvalidateHandlerFunc`@.+noWindowInvalidateHandlerFunc :: Maybe WindowInvalidateHandlerFunc+noWindowInvalidateHandlerFunc = Nothing++-- | Wrap the callback into a `GClosure`.+genClosure_WindowInvalidateHandlerFunc :: MonadIO m => WindowInvalidateHandlerFunc -> m (GClosure C_WindowInvalidateHandlerFunc)+genClosure_WindowInvalidateHandlerFunc cb = liftIO $ do+    let cb' = wrap_WindowInvalidateHandlerFunc Nothing cb+    mk_WindowInvalidateHandlerFunc cb' >>= B.GClosure.newGClosure+++-- | Wrap a `WindowInvalidateHandlerFunc` into a `C_WindowInvalidateHandlerFunc`.+wrap_WindowInvalidateHandlerFunc ::+    Maybe (Ptr (FunPtr C_WindowInvalidateHandlerFunc)) ->+    WindowInvalidateHandlerFunc ->+    C_WindowInvalidateHandlerFunc+wrap_WindowInvalidateHandlerFunc funptrptr _cb window region = do+    window' <- (newObject Gdk.Window.Window) window+    B.ManagedPtr.withTransient Cairo.Region.Region region $ \region' -> do+        _cb  window' region'+        maybeReleaseFunPtr funptrptr+++-- callback WindowChildFunc+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE to invalidate @window recursively", sinceVersion = Nothing}, args = [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function of this type is passed to gdk_window_invalidate_maybe_recurse().\nIt gets called for each child of the window to determine whether to\nrecursively invalidate it or now.", sinceVersion = Nothing}}+-- | Type for the callback on the (unwrapped) C side.+type C_WindowChildFunc =+    Ptr Gdk.Window.Window ->+    Ptr () ->+    IO CInt++-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_WindowChildFunc :: FunPtr C_WindowChildFunc -> C_WindowChildFunc++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_WindowChildFunc ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Window.IsWindow a) =>+    FunPtr C_WindowChildFunc+    -> a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Ptr ()+    {- ^ /@userData@/: user data -}+    -> m Bool+    {- ^ __Returns:__ 'True' to invalidate /@window@/ recursively -}+dynamic_WindowChildFunc __funPtr window userData = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- (__dynamic_C_WindowChildFunc __funPtr) window' userData+    let result' = (/= 0) result+    touchManagedPtr window+    return result'++-- | Generate a function pointer callable from C code, from a `C_WindowChildFunc`.+foreign import ccall "wrapper"+    mk_WindowChildFunc :: C_WindowChildFunc -> IO (FunPtr C_WindowChildFunc)++{- |+A function of this type is passed to 'GI.Gdk.Objects.Window.windowInvalidateMaybeRecurse'.+It gets called for each child of the window to determine whether to+recursively invalidate it or now.+-}+type WindowChildFunc =+    Gdk.Window.Window+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> IO Bool+    {- ^ __Returns:__ 'True' to invalidate /@window@/ recursively -}++-- | A convenience synonym for @`Nothing` :: `Maybe` `WindowChildFunc`@.+noWindowChildFunc :: Maybe WindowChildFunc+noWindowChildFunc = Nothing++{- |+A function of this type is passed to 'GI.Gdk.Objects.Window.windowInvalidateMaybeRecurse'.+It gets called for each child of the window to determine whether to+recursively invalidate it or now.+-}+type WindowChildFunc_WithClosures =+    Gdk.Window.Window+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Ptr ()+    {- ^ /@userData@/: user data -}+    -> IO Bool+    {- ^ __Returns:__ 'True' to invalidate /@window@/ recursively -}++-- | A convenience synonym for @`Nothing` :: `Maybe` `WindowChildFunc_WithClosures`@.+noWindowChildFunc_WithClosures :: Maybe WindowChildFunc_WithClosures+noWindowChildFunc_WithClosures = Nothing++-- | A simple wrapper that ignores the closure arguments.+drop_closures_WindowChildFunc :: WindowChildFunc -> WindowChildFunc_WithClosures+drop_closures_WindowChildFunc _f window _ = _f window++-- | Wrap the callback into a `GClosure`.+genClosure_WindowChildFunc :: MonadIO m => WindowChildFunc -> m (GClosure C_WindowChildFunc)+genClosure_WindowChildFunc cb = liftIO $ do+    let cb' = drop_closures_WindowChildFunc cb+    let cb'' = wrap_WindowChildFunc Nothing cb'+    mk_WindowChildFunc cb'' >>= B.GClosure.newGClosure+++-- | Wrap a `WindowChildFunc` into a `C_WindowChildFunc`.+wrap_WindowChildFunc ::+    Maybe (Ptr (FunPtr C_WindowChildFunc)) ->+    WindowChildFunc_WithClosures ->+    C_WindowChildFunc+wrap_WindowChildFunc funptrptr _cb window userData = do+    window' <- (newObject Gdk.Window.Window) window+    result <- _cb  window' userData+    maybeReleaseFunPtr funptrptr+    let result' = (fromIntegral . fromEnum) result+    return result'+++-- callback SeatGrabPrepareFunc+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "seat", argType = TInterface (Name {namespace = "Gdk", name = "Seat"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkSeat being grabbed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkWindow being grabbed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed in gdk_seat_grab()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Type of the callback used to set up @window so it can be\ngrabbed. A typical action would be ensuring the window is\nvisible, although there's room for other initialization\nactions.", sinceVersion = Just "3.20"}}+-- | Type for the callback on the (unwrapped) C side.+type C_SeatGrabPrepareFunc =+    Ptr Gdk.Seat.Seat ->+    Ptr Gdk.Window.Window ->+    Ptr () ->+    IO ()++-- Args : [Arg {argCName = "seat", argType = TInterface (Name {namespace = "Gdk", name = "Seat"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkSeat being grabbed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkWindow being grabbed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed in gdk_seat_grab()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_SeatGrabPrepareFunc :: FunPtr C_SeatGrabPrepareFunc -> C_SeatGrabPrepareFunc++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_SeatGrabPrepareFunc ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Seat.IsSeat a, Gdk.Window.IsWindow b) =>+    FunPtr C_SeatGrabPrepareFunc+    -> a+    {- ^ /@seat@/: the 'GI.Gdk.Objects.Seat.Seat' being grabbed -}+    -> b+    {- ^ /@window@/: the 'GI.Gdk.Objects.Window.Window' being grabbed -}+    -> Ptr ()+    {- ^ /@userData@/: user data passed in 'GI.Gdk.Objects.Seat.seatGrab' -}+    -> m ()+dynamic_SeatGrabPrepareFunc __funPtr seat window userData = liftIO $ do+    seat' <- unsafeManagedPtrCastPtr seat+    window' <- unsafeManagedPtrCastPtr window+    (__dynamic_C_SeatGrabPrepareFunc __funPtr) seat' window' userData+    touchManagedPtr seat+    touchManagedPtr window+    return ()++-- | Generate a function pointer callable from C code, from a `C_SeatGrabPrepareFunc`.+foreign import ccall "wrapper"+    mk_SeatGrabPrepareFunc :: C_SeatGrabPrepareFunc -> IO (FunPtr C_SeatGrabPrepareFunc)++{- |+Type of the callback used to set up /@window@/ so it can be+grabbed. A typical action would be ensuring the window is+visible, although there\'s room for other initialization+actions.++/Since: 3.20/+-}+type SeatGrabPrepareFunc =+    Gdk.Seat.Seat+    {- ^ /@seat@/: the 'GI.Gdk.Objects.Seat.Seat' being grabbed -}+    -> Gdk.Window.Window+    {- ^ /@window@/: the 'GI.Gdk.Objects.Window.Window' being grabbed -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `SeatGrabPrepareFunc`@.+noSeatGrabPrepareFunc :: Maybe SeatGrabPrepareFunc+noSeatGrabPrepareFunc = Nothing++{- |+Type of the callback used to set up /@window@/ so it can be+grabbed. A typical action would be ensuring the window is+visible, although there\'s room for other initialization+actions.++/Since: 3.20/+-}+type SeatGrabPrepareFunc_WithClosures =+    Gdk.Seat.Seat+    {- ^ /@seat@/: the 'GI.Gdk.Objects.Seat.Seat' being grabbed -}+    -> Gdk.Window.Window+    {- ^ /@window@/: the 'GI.Gdk.Objects.Window.Window' being grabbed -}+    -> Ptr ()+    {- ^ /@userData@/: user data passed in 'GI.Gdk.Objects.Seat.seatGrab' -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `SeatGrabPrepareFunc_WithClosures`@.+noSeatGrabPrepareFunc_WithClosures :: Maybe SeatGrabPrepareFunc_WithClosures+noSeatGrabPrepareFunc_WithClosures = Nothing++-- | A simple wrapper that ignores the closure arguments.+drop_closures_SeatGrabPrepareFunc :: SeatGrabPrepareFunc -> SeatGrabPrepareFunc_WithClosures+drop_closures_SeatGrabPrepareFunc _f seat window _ = _f seat window++-- | Wrap the callback into a `GClosure`.+genClosure_SeatGrabPrepareFunc :: MonadIO m => SeatGrabPrepareFunc -> m (GClosure C_SeatGrabPrepareFunc)+genClosure_SeatGrabPrepareFunc cb = liftIO $ do+    let cb' = drop_closures_SeatGrabPrepareFunc cb+    let cb'' = wrap_SeatGrabPrepareFunc Nothing cb'+    mk_SeatGrabPrepareFunc cb'' >>= B.GClosure.newGClosure+++-- | Wrap a `SeatGrabPrepareFunc` into a `C_SeatGrabPrepareFunc`.+wrap_SeatGrabPrepareFunc ::+    Maybe (Ptr (FunPtr C_SeatGrabPrepareFunc)) ->+    SeatGrabPrepareFunc_WithClosures ->+    C_SeatGrabPrepareFunc+wrap_SeatGrabPrepareFunc funptrptr _cb seat window userData = do+    seat' <- (newObject Gdk.Seat.Seat) seat+    window' <- (newObject Gdk.Window.Window) window+    _cb  seat' window' userData+    maybeReleaseFunPtr funptrptr+++-- callback FilterFunc+--          -> Callable {returnType = Just (TInterface (Name {namespace = "Gdk", name = "FilterReturn"})), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "a #GdkFilterReturn value.", sinceVersion = Nothing}, args = [Arg {argCName = "xevent", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the native event to filter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the GDK event to which the X event will be translated.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data set when the filter was installed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the type of function used to filter native events before they are\nconverted to GDK events.\n\nWhen a filter is called, @event is unpopulated, except for\n`event->window`. The filter may translate the native\nevent to a GDK event and store the result in @event, or handle it without\ntranslation. If the filter translates the event and processing should\ncontinue, it should return %GDK_FILTER_TRANSLATE.", sinceVersion = Nothing}}+-- | Type for the callback on the (unwrapped) C side.+type C_FilterFunc =+    Ptr () ->+    Ptr Gdk.Event.Event ->+    Ptr () ->+    IO CUInt++-- Args : [Arg {argCName = "xevent", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the native event to filter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the GDK event to which the X event will be translated.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data set when the filter was installed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "FilterReturn"}))+-- throws : False+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_FilterFunc :: FunPtr C_FilterFunc -> C_FilterFunc++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_FilterFunc ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    FunPtr C_FilterFunc+    -> Ptr ()+    {- ^ /@xevent@/: the native event to filter. -}+    -> Gdk.Event.Event+    {- ^ /@event@/: the GDK event to which the X event will be translated. -}+    -> Ptr ()+    {- ^ /@data@/: user data set when the filter was installed. -}+    -> m Gdk.Enums.FilterReturn+    {- ^ __Returns:__ a 'GI.Gdk.Enums.FilterReturn' value. -}+dynamic_FilterFunc __funPtr xevent event data_ = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    result <- (__dynamic_C_FilterFunc __funPtr) xevent event' data_+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr event+    return result'++-- | Generate a function pointer callable from C code, from a `C_FilterFunc`.+foreign import ccall "wrapper"+    mk_FilterFunc :: C_FilterFunc -> IO (FunPtr C_FilterFunc)++{- |+Specifies the type of function used to filter native events before they are+converted to GDK events.++When a filter is called, /@event@/ is unpopulated, except for+@event->window@. The filter may translate the native+event to a GDK event and store the result in /@event@/, or handle it without+translation. If the filter translates the event and processing should+continue, it should return 'GI.Gdk.Enums.FilterReturnTranslate'.+-}+type FilterFunc =+    Ptr ()+    {- ^ /@xevent@/: the native event to filter. -}+    -> Gdk.Event.Event+    {- ^ /@event@/: the GDK event to which the X event will be translated. -}+    -> IO Gdk.Enums.FilterReturn+    {- ^ __Returns:__ a 'GI.Gdk.Enums.FilterReturn' value. -}++-- | A convenience synonym for @`Nothing` :: `Maybe` `FilterFunc`@.+noFilterFunc :: Maybe FilterFunc+noFilterFunc = Nothing++{- |+Specifies the type of function used to filter native events before they are+converted to GDK events.++When a filter is called, /@event@/ is unpopulated, except for+@event->window@. The filter may translate the native+event to a GDK event and store the result in /@event@/, or handle it without+translation. If the filter translates the event and processing should+continue, it should return 'GI.Gdk.Enums.FilterReturnTranslate'.+-}+type FilterFunc_WithClosures =+    Ptr ()+    {- ^ /@xevent@/: the native event to filter. -}+    -> Gdk.Event.Event+    {- ^ /@event@/: the GDK event to which the X event will be translated. -}+    -> Ptr ()+    {- ^ /@data@/: user data set when the filter was installed. -}+    -> IO Gdk.Enums.FilterReturn+    {- ^ __Returns:__ a 'GI.Gdk.Enums.FilterReturn' value. -}++-- | A convenience synonym for @`Nothing` :: `Maybe` `FilterFunc_WithClosures`@.+noFilterFunc_WithClosures :: Maybe FilterFunc_WithClosures+noFilterFunc_WithClosures = Nothing++-- | A simple wrapper that ignores the closure arguments.+drop_closures_FilterFunc :: FilterFunc -> FilterFunc_WithClosures+drop_closures_FilterFunc _f xevent event _ = _f xevent event++-- | Wrap the callback into a `GClosure`.+genClosure_FilterFunc :: MonadIO m => FilterFunc -> m (GClosure C_FilterFunc)+genClosure_FilterFunc cb = liftIO $ do+    let cb' = drop_closures_FilterFunc cb+    let cb'' = wrap_FilterFunc Nothing cb'+    mk_FilterFunc cb'' >>= B.GClosure.newGClosure+++-- | Wrap a `FilterFunc` into a `C_FilterFunc`.+wrap_FilterFunc ::+    Maybe (Ptr (FunPtr C_FilterFunc)) ->+    FilterFunc_WithClosures ->+    C_FilterFunc+wrap_FilterFunc funptrptr _cb xevent event data_ = do+    B.ManagedPtr.withTransient Gdk.Event.Event event $ \event' -> do+        result <- _cb  xevent event' data_+        maybeReleaseFunPtr funptrptr+        let result' = (fromIntegral . fromEnum) result+        return result'+++-- callback EventFunc+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkEvent to process.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data set when the event handler was installed with\n  gdk_event_handler_set().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the type of function passed to gdk_event_handler_set() to\nhandle all GDK events.", sinceVersion = Nothing}}+-- | Type for the callback on the (unwrapped) C side.+type C_EventFunc =+    Ptr Gdk.Event.Event ->+    Ptr () ->+    IO ()++-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkEvent to process.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data set when the event handler was installed with\n  gdk_event_handler_set().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_EventFunc :: FunPtr C_EventFunc -> C_EventFunc++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_EventFunc ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    FunPtr C_EventFunc+    -> Gdk.Event.Event+    {- ^ /@event@/: the 'GI.Gdk.Unions.Event.Event' to process. -}+    -> Ptr ()+    {- ^ /@data@/: user data set when the event handler was installed with+  'GI.Gdk.Functions.eventHandlerSet'. -}+    -> m ()+dynamic_EventFunc __funPtr event data_ = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    (__dynamic_C_EventFunc __funPtr) event' data_+    touchManagedPtr event+    return ()++-- | Generate a function pointer callable from C code, from a `C_EventFunc`.+foreign import ccall "wrapper"+    mk_EventFunc :: C_EventFunc -> IO (FunPtr C_EventFunc)++{- |+Specifies the type of function passed to 'GI.Gdk.Functions.eventHandlerSet' to+handle all GDK events.+-}+type EventFunc =+    Gdk.Event.Event+    {- ^ /@event@/: the 'GI.Gdk.Unions.Event.Event' to process. -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `EventFunc`@.+noEventFunc :: Maybe EventFunc+noEventFunc = Nothing++{- |+Specifies the type of function passed to 'GI.Gdk.Functions.eventHandlerSet' to+handle all GDK events.+-}+type EventFunc_WithClosures =+    Gdk.Event.Event+    {- ^ /@event@/: the 'GI.Gdk.Unions.Event.Event' to process. -}+    -> Ptr ()+    {- ^ /@data@/: user data set when the event handler was installed with+  'GI.Gdk.Functions.eventHandlerSet'. -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `EventFunc_WithClosures`@.+noEventFunc_WithClosures :: Maybe EventFunc_WithClosures+noEventFunc_WithClosures = Nothing++-- | A simple wrapper that ignores the closure arguments.+drop_closures_EventFunc :: EventFunc -> EventFunc_WithClosures+drop_closures_EventFunc _f event _ = _f event++-- | Wrap the callback into a `GClosure`.+genClosure_EventFunc :: MonadIO m => EventFunc -> m (GClosure C_EventFunc)+genClosure_EventFunc cb = liftIO $ do+    let cb' = drop_closures_EventFunc cb+    let cb'' = wrap_EventFunc Nothing cb'+    mk_EventFunc cb'' >>= B.GClosure.newGClosure+++-- | Wrap a `EventFunc` into a `C_EventFunc`.+wrap_EventFunc ::+    Maybe (Ptr (FunPtr C_EventFunc)) ->+    EventFunc_WithClosures ->+    C_EventFunc+wrap_EventFunc funptrptr _cb event data_ = do+    B.ManagedPtr.withTransient Gdk.Event.Event event $ \event' -> do+        _cb  event' data_+        maybeReleaseFunPtr funptrptr+++
+ GI/Gdk/Constants.hs view
@@ -0,0 +1,13748 @@+{-# LANGUAGE PatternSynonyms, ScopedTypeVariables, ViewPatterns #-}+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Constants+    ( +    pattern PRIORITY_REDRAW                 ,+    pattern PARENT_RELATIVE                 ,+    pattern MINOR_VERSION                   ,+    pattern MICRO_VERSION                   ,+    pattern MAX_TIMECOORD_AXES              ,+    pattern MAJOR_VERSION                   ,+    pattern KEY_zstroke                     ,+    pattern KEY_zerosuperior                ,+    pattern KEY_zerosubscript               ,+    pattern KEY_zcaron                      ,+    pattern KEY_zacute                      ,+    pattern KEY_zabovedot                   ,+    pattern KEY_z                           ,+    pattern KEY_ytilde                      ,+    pattern KEY_yhook                       ,+    pattern KEY_ygrave                      ,+    pattern KEY_yen                         ,+    pattern KEY_ydiaeresis                  ,+    pattern KEY_ycircumflex                 ,+    pattern KEY_ybelowdot                   ,+    pattern KEY_yacute                      ,+    pattern KEY_y                           ,+    pattern KEY_xabovedot                   ,+    pattern KEY_x                           ,+    pattern KEY_wgrave                      ,+    pattern KEY_wdiaeresis                  ,+    pattern KEY_wcircumflex                 ,+    pattern KEY_wacute                      ,+    pattern KEY_w                           ,+    pattern KEY_vt                          ,+    pattern KEY_voicedsound                 ,+    pattern KEY_vertconnector               ,+    pattern KEY_vertbar                     ,+    pattern KEY_variation                   ,+    pattern KEY_v                           ,+    pattern KEY_utilde                      ,+    pattern KEY_uring                       ,+    pattern KEY_uptack                      ,+    pattern KEY_upstile                     ,+    pattern KEY_upshoe                      ,+    pattern KEY_uprightcorner               ,+    pattern KEY_upleftcorner                ,+    pattern KEY_upcaret                     ,+    pattern KEY_uparrow                     ,+    pattern KEY_uogonek                     ,+    pattern KEY_union                       ,+    pattern KEY_underscore                  ,+    pattern KEY_underbar                    ,+    pattern KEY_umacron                     ,+    pattern KEY_uhorntilde                  ,+    pattern KEY_uhornhook                   ,+    pattern KEY_uhorngrave                  ,+    pattern KEY_uhornbelowdot               ,+    pattern KEY_uhornacute                  ,+    pattern KEY_uhorn                       ,+    pattern KEY_uhook                       ,+    pattern KEY_ugrave                      ,+    pattern KEY_udoubleacute                ,+    pattern KEY_udiaeresis                  ,+    pattern KEY_ucircumflex                 ,+    pattern KEY_ubreve                      ,+    pattern KEY_ubelowdot                   ,+    pattern KEY_uacute                      ,+    pattern KEY_u                           ,+    pattern KEY_twothirds                   ,+    pattern KEY_twosuperior                 ,+    pattern KEY_twosubscript                ,+    pattern KEY_twofifths                   ,+    pattern KEY_tslash                      ,+    pattern KEY_trademarkincircle           ,+    pattern KEY_trademark                   ,+    pattern KEY_topvertsummationconnector   ,+    pattern KEY_topt                        ,+    pattern KEY_toprightsummation           ,+    pattern KEY_toprightsqbracket           ,+    pattern KEY_toprightparens              ,+    pattern KEY_topleftsummation            ,+    pattern KEY_topleftsqbracket            ,+    pattern KEY_topleftradical              ,+    pattern KEY_topleftparens               ,+    pattern KEY_topintegral                 ,+    pattern KEY_tintegral                   ,+    pattern KEY_threesuperior               ,+    pattern KEY_threesubscript              ,+    pattern KEY_threequarters               ,+    pattern KEY_threefifths                 ,+    pattern KEY_threeeighths                ,+    pattern KEY_thorn                       ,+    pattern KEY_thinspace                   ,+    pattern KEY_therefore                   ,+    pattern KEY_telephonerecorder           ,+    pattern KEY_telephone                   ,+    pattern KEY_tcedilla                    ,+    pattern KEY_tcaron                      ,+    pattern KEY_tabovedot                   ,+    pattern KEY_t                           ,+    pattern KEY_stricteq                    ,+    pattern KEY_sterling                    ,+    pattern KEY_ssharp                      ,+    pattern KEY_squareroot                  ,+    pattern KEY_space                       ,+    pattern KEY_soliddiamond                ,+    pattern KEY_slash                       ,+    pattern KEY_sixsuperior                 ,+    pattern KEY_sixsubscript                ,+    pattern KEY_singlelowquotemark          ,+    pattern KEY_similarequal                ,+    pattern KEY_signifblank                 ,+    pattern KEY_signaturemark               ,+    pattern KEY_sevensuperior               ,+    pattern KEY_sevensubscript              ,+    pattern KEY_seveneighths                ,+    pattern KEY_semivoicedsound             ,+    pattern KEY_semicolon                   ,+    pattern KEY_section                     ,+    pattern KEY_seconds                     ,+    pattern KEY_script_switch               ,+    pattern KEY_scircumflex                 ,+    pattern KEY_schwa                       ,+    pattern KEY_scedilla                    ,+    pattern KEY_scaron                      ,+    pattern KEY_sacute                      ,+    pattern KEY_sabovedot                   ,+    pattern KEY_s                           ,+    pattern KEY_righttack                   ,+    pattern KEY_rightt                      ,+    pattern KEY_rightsinglequotemark        ,+    pattern KEY_rightshoe                   ,+    pattern KEY_rightpointer                ,+    pattern KEY_rightopentriangle           ,+    pattern KEY_rightmiddlesummation        ,+    pattern KEY_rightmiddlecurlybrace       ,+    pattern KEY_rightdoublequotemark        ,+    pattern KEY_rightcaret                  ,+    pattern KEY_rightarrow                  ,+    pattern KEY_rightanglebracket           ,+    pattern KEY_registered                  ,+    pattern KEY_rcedilla                    ,+    pattern KEY_rcaron                      ,+    pattern KEY_radical                     ,+    pattern KEY_racute                      ,+    pattern KEY_r                           ,+    pattern KEY_quoteright                  ,+    pattern KEY_quoteleft                   ,+    pattern KEY_quotedbl                    ,+    pattern KEY_questiondown                ,+    pattern KEY_question                    ,+    pattern KEY_quad                        ,+    pattern KEY_q                           ,+    pattern KEY_punctspace                  ,+    pattern KEY_prolongedsound              ,+    pattern KEY_prescription                ,+    pattern KEY_plusminus                   ,+    pattern KEY_plus                        ,+    pattern KEY_phonographcopyright         ,+    pattern KEY_permille                    ,+    pattern KEY_periodcentered              ,+    pattern KEY_period                      ,+    pattern KEY_percent                     ,+    pattern KEY_partialderivative           ,+    pattern KEY_partdifferential            ,+    pattern KEY_parenright                  ,+    pattern KEY_parenleft                   ,+    pattern KEY_paragraph                   ,+    pattern KEY_pabovedot                   ,+    pattern KEY_p                           ,+    pattern KEY_overline                    ,+    pattern KEY_overbar                     ,+    pattern KEY_otilde                      ,+    pattern KEY_oslash                      ,+    pattern KEY_ordfeminine                 ,+    pattern KEY_opentribulletup             ,+    pattern KEY_opentribulletdown           ,+    pattern KEY_openstar                    ,+    pattern KEY_openrectbullet              ,+    pattern KEY_ooblique                    ,+    pattern KEY_onethird                    ,+    pattern KEY_onesuperior                 ,+    pattern KEY_onesubscript                ,+    pattern KEY_onesixth                    ,+    pattern KEY_onequarter                  ,+    pattern KEY_onehalf                     ,+    pattern KEY_onefifth                    ,+    pattern KEY_oneeighth                   ,+    pattern KEY_omacron                     ,+    pattern KEY_ohorntilde                  ,+    pattern KEY_ohornhook                   ,+    pattern KEY_ohorngrave                  ,+    pattern KEY_ohornbelowdot               ,+    pattern KEY_ohornacute                  ,+    pattern KEY_ohorn                       ,+    pattern KEY_ohook                       ,+    pattern KEY_ograve                      ,+    pattern KEY_ogonek                      ,+    pattern KEY_oe                          ,+    pattern KEY_odoubleacute                ,+    pattern KEY_odiaeresis                  ,+    pattern KEY_ocircumflextilde            ,+    pattern KEY_ocircumflexhook             ,+    pattern KEY_ocircumflexgrave            ,+    pattern KEY_ocircumflexbelowdot         ,+    pattern KEY_ocircumflexacute            ,+    pattern KEY_ocircumflex                 ,+    pattern KEY_ocaron                      ,+    pattern KEY_obelowdot                   ,+    pattern KEY_obarred                     ,+    pattern KEY_oacute                      ,+    pattern KEY_o                           ,+    pattern KEY_numerosign                  ,+    pattern KEY_numbersign                  ,+    pattern KEY_ntilde                      ,+    pattern KEY_notsign                     ,+    pattern KEY_notidentical                ,+    pattern KEY_notequal                    ,+    pattern KEY_notelementof                ,+    pattern KEY_notapproxeq                 ,+    pattern KEY_nobreakspace                ,+    pattern KEY_nl                          ,+    pattern KEY_ninesuperior                ,+    pattern KEY_ninesubscript               ,+    pattern KEY_ncedilla                    ,+    pattern KEY_ncaron                      ,+    pattern KEY_nacute                      ,+    pattern KEY_nabla                       ,+    pattern KEY_n                           ,+    pattern KEY_musicalsharp                ,+    pattern KEY_musicalflat                 ,+    pattern KEY_multiply                    ,+    pattern KEY_mu                          ,+    pattern KEY_minutes                     ,+    pattern KEY_minus                       ,+    pattern KEY_masculine                   ,+    pattern KEY_marker                      ,+    pattern KEY_maltesecross                ,+    pattern KEY_malesymbol                  ,+    pattern KEY_macron                      ,+    pattern KEY_mabovedot                   ,+    pattern KEY_m                           ,+    pattern KEY_lstroke                     ,+    pattern KEY_lowrightcorner              ,+    pattern KEY_lowleftcorner               ,+    pattern KEY_logicalor                   ,+    pattern KEY_logicaland                  ,+    pattern KEY_lf                          ,+    pattern KEY_lessthanequal               ,+    pattern KEY_less                        ,+    pattern KEY_lefttack                    ,+    pattern KEY_leftt                       ,+    pattern KEY_leftsinglequotemark         ,+    pattern KEY_leftshoe                    ,+    pattern KEY_leftradical                 ,+    pattern KEY_leftpointer                 ,+    pattern KEY_leftopentriangle            ,+    pattern KEY_leftmiddlecurlybrace        ,+    pattern KEY_leftdoublequotemark         ,+    pattern KEY_leftcaret                   ,+    pattern KEY_leftarrow                   ,+    pattern KEY_leftanglebracket            ,+    pattern KEY_lcedilla                    ,+    pattern KEY_lcaron                      ,+    pattern KEY_lbelowdot                   ,+    pattern KEY_latincross                  ,+    pattern KEY_lacute                      ,+    pattern KEY_l                           ,+    pattern KEY_kra                         ,+    pattern KEY_kcedilla                    ,+    pattern KEY_kappa                       ,+    pattern KEY_kana_yu                     ,+    pattern KEY_kana_yo                     ,+    pattern KEY_kana_ya                     ,+    pattern KEY_kana_u                      ,+    pattern KEY_kana_tu                     ,+    pattern KEY_kana_tsu                    ,+    pattern KEY_kana_switch                 ,+    pattern KEY_kana_openingbracket         ,+    pattern KEY_kana_o                      ,+    pattern KEY_kana_middledot              ,+    pattern KEY_kana_i                      ,+    pattern KEY_kana_fullstop               ,+    pattern KEY_kana_e                      ,+    pattern KEY_kana_conjunctive            ,+    pattern KEY_kana_comma                  ,+    pattern KEY_kana_closingbracket         ,+    pattern KEY_kana_a                      ,+    pattern KEY_kana_YU                     ,+    pattern KEY_kana_YO                     ,+    pattern KEY_kana_YA                     ,+    pattern KEY_kana_WO                     ,+    pattern KEY_kana_WA                     ,+    pattern KEY_kana_U                      ,+    pattern KEY_kana_TU                     ,+    pattern KEY_kana_TSU                    ,+    pattern KEY_kana_TO                     ,+    pattern KEY_kana_TI                     ,+    pattern KEY_kana_TE                     ,+    pattern KEY_kana_TA                     ,+    pattern KEY_kana_SU                     ,+    pattern KEY_kana_SO                     ,+    pattern KEY_kana_SHI                    ,+    pattern KEY_kana_SE                     ,+    pattern KEY_kana_SA                     ,+    pattern KEY_kana_RU                     ,+    pattern KEY_kana_RO                     ,+    pattern KEY_kana_RI                     ,+    pattern KEY_kana_RE                     ,+    pattern KEY_kana_RA                     ,+    pattern KEY_kana_O                      ,+    pattern KEY_kana_NU                     ,+    pattern KEY_kana_NO                     ,+    pattern KEY_kana_NI                     ,+    pattern KEY_kana_NE                     ,+    pattern KEY_kana_NA                     ,+    pattern KEY_kana_N                      ,+    pattern KEY_kana_MU                     ,+    pattern KEY_kana_MO                     ,+    pattern KEY_kana_MI                     ,+    pattern KEY_kana_ME                     ,+    pattern KEY_kana_MA                     ,+    pattern KEY_kana_KU                     ,+    pattern KEY_kana_KO                     ,+    pattern KEY_kana_KI                     ,+    pattern KEY_kana_KE                     ,+    pattern KEY_kana_KA                     ,+    pattern KEY_kana_I                      ,+    pattern KEY_kana_HU                     ,+    pattern KEY_kana_HO                     ,+    pattern KEY_kana_HI                     ,+    pattern KEY_kana_HE                     ,+    pattern KEY_kana_HA                     ,+    pattern KEY_kana_FU                     ,+    pattern KEY_kana_E                      ,+    pattern KEY_kana_CHI                    ,+    pattern KEY_kana_A                      ,+    pattern KEY_k                           ,+    pattern KEY_jot                         ,+    pattern KEY_jcircumflex                 ,+    pattern KEY_j                           ,+    pattern KEY_itilde                      ,+    pattern KEY_iogonek                     ,+    pattern KEY_intersection                ,+    pattern KEY_integral                    ,+    pattern KEY_infinity                    ,+    pattern KEY_includes                    ,+    pattern KEY_includedin                  ,+    pattern KEY_implies                     ,+    pattern KEY_imacron                     ,+    pattern KEY_ihook                       ,+    pattern KEY_igrave                      ,+    pattern KEY_ifonlyif                    ,+    pattern KEY_idotless                    ,+    pattern KEY_idiaeresis                  ,+    pattern KEY_identical                   ,+    pattern KEY_icircumflex                 ,+    pattern KEY_ibreve                      ,+    pattern KEY_ibelowdot                   ,+    pattern KEY_iacute                      ,+    pattern KEY_iTouch                      ,+    pattern KEY_i                           ,+    pattern KEY_hyphen                      ,+    pattern KEY_ht                          ,+    pattern KEY_hstroke                     ,+    pattern KEY_horizlinescan9              ,+    pattern KEY_horizlinescan7              ,+    pattern KEY_horizlinescan5              ,+    pattern KEY_horizlinescan3              ,+    pattern KEY_horizlinescan1              ,+    pattern KEY_horizconnector              ,+    pattern KEY_hexagram                    ,+    pattern KEY_hebrew_zayin                ,+    pattern KEY_hebrew_zain                 ,+    pattern KEY_hebrew_zadi                 ,+    pattern KEY_hebrew_zade                 ,+    pattern KEY_hebrew_yod                  ,+    pattern KEY_hebrew_waw                  ,+    pattern KEY_hebrew_teth                 ,+    pattern KEY_hebrew_tet                  ,+    pattern KEY_hebrew_taw                  ,+    pattern KEY_hebrew_taf                  ,+    pattern KEY_hebrew_shin                 ,+    pattern KEY_hebrew_samekh               ,+    pattern KEY_hebrew_samech               ,+    pattern KEY_hebrew_resh                 ,+    pattern KEY_hebrew_qoph                 ,+    pattern KEY_hebrew_pe                   ,+    pattern KEY_hebrew_nun                  ,+    pattern KEY_hebrew_mem                  ,+    pattern KEY_hebrew_lamed                ,+    pattern KEY_hebrew_kuf                  ,+    pattern KEY_hebrew_kaph                 ,+    pattern KEY_hebrew_het                  ,+    pattern KEY_hebrew_he                   ,+    pattern KEY_hebrew_gimmel               ,+    pattern KEY_hebrew_gimel                ,+    pattern KEY_hebrew_finalzadi            ,+    pattern KEY_hebrew_finalzade            ,+    pattern KEY_hebrew_finalpe              ,+    pattern KEY_hebrew_finalnun             ,+    pattern KEY_hebrew_finalmem             ,+    pattern KEY_hebrew_finalkaph            ,+    pattern KEY_hebrew_doublelowline        ,+    pattern KEY_hebrew_daleth               ,+    pattern KEY_hebrew_dalet                ,+    pattern KEY_hebrew_chet                 ,+    pattern KEY_hebrew_beth                 ,+    pattern KEY_hebrew_bet                  ,+    pattern KEY_hebrew_ayin                 ,+    pattern KEY_hebrew_aleph                ,+    pattern KEY_heart                       ,+    pattern KEY_hcircumflex                 ,+    pattern KEY_hairspace                   ,+    pattern KEY_h                           ,+    pattern KEY_guillemotright              ,+    pattern KEY_guillemotleft               ,+    pattern KEY_greaterthanequal            ,+    pattern KEY_greater                     ,+    pattern KEY_grave                       ,+    pattern KEY_gcircumflex                 ,+    pattern KEY_gcedilla                    ,+    pattern KEY_gcaron                      ,+    pattern KEY_gbreve                      ,+    pattern KEY_gabovedot                   ,+    pattern KEY_g                           ,+    pattern KEY_function                    ,+    pattern KEY_fourthroot                  ,+    pattern KEY_foursuperior                ,+    pattern KEY_foursubscript               ,+    pattern KEY_fourfifths                  ,+    pattern KEY_fivesuperior                ,+    pattern KEY_fivesubscript               ,+    pattern KEY_fivesixths                  ,+    pattern KEY_fiveeighths                 ,+    pattern KEY_filledtribulletup           ,+    pattern KEY_filledtribulletdown         ,+    pattern KEY_filledrighttribullet        ,+    pattern KEY_filledrectbullet            ,+    pattern KEY_filledlefttribullet         ,+    pattern KEY_figdash                     ,+    pattern KEY_ff                          ,+    pattern KEY_femalesymbol                ,+    pattern KEY_fabovedot                   ,+    pattern KEY_f                           ,+    pattern KEY_ezh                         ,+    pattern KEY_exclamdown                  ,+    pattern KEY_exclam                      ,+    pattern KEY_etilde                      ,+    pattern KEY_eth                         ,+    pattern KEY_equal                       ,+    pattern KEY_eogonek                     ,+    pattern KEY_enspace                     ,+    pattern KEY_enopensquarebullet          ,+    pattern KEY_enopencircbullet            ,+    pattern KEY_eng                         ,+    pattern KEY_enfilledsqbullet            ,+    pattern KEY_enfilledcircbullet          ,+    pattern KEY_endash                      ,+    pattern KEY_emspace                     ,+    pattern KEY_emptyset                    ,+    pattern KEY_emopenrectangle             ,+    pattern KEY_emopencircle                ,+    pattern KEY_emfilledrect                ,+    pattern KEY_emfilledcircle              ,+    pattern KEY_emdash                      ,+    pattern KEY_emacron                     ,+    pattern KEY_em4space                    ,+    pattern KEY_em3space                    ,+    pattern KEY_ellipsis                    ,+    pattern KEY_elementof                   ,+    pattern KEY_eightsuperior               ,+    pattern KEY_eightsubscript              ,+    pattern KEY_ehook                       ,+    pattern KEY_egrave                      ,+    pattern KEY_ediaeresis                  ,+    pattern KEY_ecircumflextilde            ,+    pattern KEY_ecircumflexhook             ,+    pattern KEY_ecircumflexgrave            ,+    pattern KEY_ecircumflexbelowdot         ,+    pattern KEY_ecircumflexacute            ,+    pattern KEY_ecircumflex                 ,+    pattern KEY_ecaron                      ,+    pattern KEY_ebelowdot                   ,+    pattern KEY_eacute                      ,+    pattern KEY_eabovedot                   ,+    pattern KEY_e                           ,+    pattern KEY_dstroke                     ,+    pattern KEY_downtack                    ,+    pattern KEY_downstile                   ,+    pattern KEY_downshoe                    ,+    pattern KEY_downcaret                   ,+    pattern KEY_downarrow                   ,+    pattern KEY_doublelowquotemark          ,+    pattern KEY_doubledagger                ,+    pattern KEY_doubleacute                 ,+    pattern KEY_doubbaselinedot             ,+    pattern KEY_dollar                      ,+    pattern KEY_division                    ,+    pattern KEY_dintegral                   ,+    pattern KEY_digitspace                  ,+    pattern KEY_diamond                     ,+    pattern KEY_diaeresis                   ,+    pattern KEY_degree                      ,+    pattern KEY_decimalpoint                ,+    pattern KEY_dead_voiced_sound           ,+    pattern KEY_dead_u                      ,+    pattern KEY_dead_tilde                  ,+    pattern KEY_dead_stroke                 ,+    pattern KEY_dead_small_schwa            ,+    pattern KEY_dead_semivoiced_sound       ,+    pattern KEY_dead_psili                  ,+    pattern KEY_dead_perispomeni            ,+    pattern KEY_dead_ogonek                 ,+    pattern KEY_dead_o                      ,+    pattern KEY_dead_macron                 ,+    pattern KEY_dead_iota                   ,+    pattern KEY_dead_invertedbreve          ,+    pattern KEY_dead_i                      ,+    pattern KEY_dead_horn                   ,+    pattern KEY_dead_hook                   ,+    pattern KEY_dead_greek                  ,+    pattern KEY_dead_grave                  ,+    pattern KEY_dead_e                      ,+    pattern KEY_dead_doublegrave            ,+    pattern KEY_dead_doubleacute            ,+    pattern KEY_dead_diaeresis              ,+    pattern KEY_dead_dasia                  ,+    pattern KEY_dead_currency               ,+    pattern KEY_dead_circumflex             ,+    pattern KEY_dead_cedilla                ,+    pattern KEY_dead_caron                  ,+    pattern KEY_dead_capital_schwa          ,+    pattern KEY_dead_breve                  ,+    pattern KEY_dead_belowtilde             ,+    pattern KEY_dead_belowring              ,+    pattern KEY_dead_belowmacron            ,+    pattern KEY_dead_belowdot               ,+    pattern KEY_dead_belowdiaeresis         ,+    pattern KEY_dead_belowcomma             ,+    pattern KEY_dead_belowcircumflex        ,+    pattern KEY_dead_belowbreve             ,+    pattern KEY_dead_acute                  ,+    pattern KEY_dead_abovering              ,+    pattern KEY_dead_abovereversedcomma     ,+    pattern KEY_dead_abovedot               ,+    pattern KEY_dead_abovecomma             ,+    pattern KEY_dead_a                      ,+    pattern KEY_dead_U                      ,+    pattern KEY_dead_O                      ,+    pattern KEY_dead_I                      ,+    pattern KEY_dead_E                      ,+    pattern KEY_dead_A                      ,+    pattern KEY_dcaron                      ,+    pattern KEY_dagger                      ,+    pattern KEY_dabovedot                   ,+    pattern KEY_d                           ,+    pattern KEY_cursor                      ,+    pattern KEY_currency                    ,+    pattern KEY_cuberoot                    ,+    pattern KEY_crossinglines               ,+    pattern KEY_cr                          ,+    pattern KEY_copyright                   ,+    pattern KEY_containsas                  ,+    pattern KEY_comma                       ,+    pattern KEY_colon                       ,+    pattern KEY_club                        ,+    pattern KEY_circle                      ,+    pattern KEY_checkmark                   ,+    pattern KEY_checkerboard                ,+    pattern KEY_ch                          ,+    pattern KEY_cent                        ,+    pattern KEY_cedilla                     ,+    pattern KEY_ccircumflex                 ,+    pattern KEY_ccedilla                    ,+    pattern KEY_ccaron                      ,+    pattern KEY_caron                       ,+    pattern KEY_caret                       ,+    pattern KEY_careof                      ,+    pattern KEY_cacute                      ,+    pattern KEY_cabovedot                   ,+    pattern KEY_c_h                         ,+    pattern KEY_c                           ,+    pattern KEY_brokenbar                   ,+    pattern KEY_breve                       ,+    pattern KEY_braille_dots_8              ,+    pattern KEY_braille_dots_78             ,+    pattern KEY_braille_dots_7              ,+    pattern KEY_braille_dots_68             ,+    pattern KEY_braille_dots_678            ,+    pattern KEY_braille_dots_67             ,+    pattern KEY_braille_dots_6              ,+    pattern KEY_braille_dots_58             ,+    pattern KEY_braille_dots_578            ,+    pattern KEY_braille_dots_57             ,+    pattern KEY_braille_dots_568            ,+    pattern KEY_braille_dots_5678           ,+    pattern KEY_braille_dots_567            ,+    pattern KEY_braille_dots_56             ,+    pattern KEY_braille_dots_5              ,+    pattern KEY_braille_dots_48             ,+    pattern KEY_braille_dots_478            ,+    pattern KEY_braille_dots_47             ,+    pattern KEY_braille_dots_468            ,+    pattern KEY_braille_dots_4678           ,+    pattern KEY_braille_dots_467            ,+    pattern KEY_braille_dots_46             ,+    pattern KEY_braille_dots_458            ,+    pattern KEY_braille_dots_4578           ,+    pattern KEY_braille_dots_457            ,+    pattern KEY_braille_dots_4568           ,+    pattern KEY_braille_dots_45678          ,+    pattern KEY_braille_dots_4567           ,+    pattern KEY_braille_dots_456            ,+    pattern KEY_braille_dots_45             ,+    pattern KEY_braille_dots_4              ,+    pattern KEY_braille_dots_38             ,+    pattern KEY_braille_dots_378            ,+    pattern KEY_braille_dots_37             ,+    pattern KEY_braille_dots_368            ,+    pattern KEY_braille_dots_3678           ,+    pattern KEY_braille_dots_367            ,+    pattern KEY_braille_dots_36             ,+    pattern KEY_braille_dots_358            ,+    pattern KEY_braille_dots_3578           ,+    pattern KEY_braille_dots_357            ,+    pattern KEY_braille_dots_3568           ,+    pattern KEY_braille_dots_35678          ,+    pattern KEY_braille_dots_3567           ,+    pattern KEY_braille_dots_356            ,+    pattern KEY_braille_dots_35             ,+    pattern KEY_braille_dots_348            ,+    pattern KEY_braille_dots_3478           ,+    pattern KEY_braille_dots_347            ,+    pattern KEY_braille_dots_3468           ,+    pattern KEY_braille_dots_34678          ,+    pattern KEY_braille_dots_3467           ,+    pattern KEY_braille_dots_346            ,+    pattern KEY_braille_dots_3458           ,+    pattern KEY_braille_dots_34578          ,+    pattern KEY_braille_dots_3457           ,+    pattern KEY_braille_dots_34568          ,+    pattern KEY_braille_dots_345678         ,+    pattern KEY_braille_dots_34567          ,+    pattern KEY_braille_dots_3456           ,+    pattern KEY_braille_dots_345            ,+    pattern KEY_braille_dots_34             ,+    pattern KEY_braille_dots_3              ,+    pattern KEY_braille_dots_28             ,+    pattern KEY_braille_dots_278            ,+    pattern KEY_braille_dots_27             ,+    pattern KEY_braille_dots_268            ,+    pattern KEY_braille_dots_2678           ,+    pattern KEY_braille_dots_267            ,+    pattern KEY_braille_dots_26             ,+    pattern KEY_braille_dots_258            ,+    pattern KEY_braille_dots_2578           ,+    pattern KEY_braille_dots_257            ,+    pattern KEY_braille_dots_2568           ,+    pattern KEY_braille_dots_25678          ,+    pattern KEY_braille_dots_2567           ,+    pattern KEY_braille_dots_256            ,+    pattern KEY_braille_dots_25             ,+    pattern KEY_braille_dots_248            ,+    pattern KEY_braille_dots_2478           ,+    pattern KEY_braille_dots_247            ,+    pattern KEY_braille_dots_2468           ,+    pattern KEY_braille_dots_24678          ,+    pattern KEY_braille_dots_2467           ,+    pattern KEY_braille_dots_246            ,+    pattern KEY_braille_dots_2458           ,+    pattern KEY_braille_dots_24578          ,+    pattern KEY_braille_dots_2457           ,+    pattern KEY_braille_dots_24568          ,+    pattern KEY_braille_dots_245678         ,+    pattern KEY_braille_dots_24567          ,+    pattern KEY_braille_dots_2456           ,+    pattern KEY_braille_dots_245            ,+    pattern KEY_braille_dots_24             ,+    pattern KEY_braille_dots_238            ,+    pattern KEY_braille_dots_2378           ,+    pattern KEY_braille_dots_237            ,+    pattern KEY_braille_dots_2368           ,+    pattern KEY_braille_dots_23678          ,+    pattern KEY_braille_dots_2367           ,+    pattern KEY_braille_dots_236            ,+    pattern KEY_braille_dots_2358           ,+    pattern KEY_braille_dots_23578          ,+    pattern KEY_braille_dots_2357           ,+    pattern KEY_braille_dots_23568          ,+    pattern KEY_braille_dots_235678         ,+    pattern KEY_braille_dots_23567          ,+    pattern KEY_braille_dots_2356           ,+    pattern KEY_braille_dots_235            ,+    pattern KEY_braille_dots_2348           ,+    pattern KEY_braille_dots_23478          ,+    pattern KEY_braille_dots_2347           ,+    pattern KEY_braille_dots_23468          ,+    pattern KEY_braille_dots_234678         ,+    pattern KEY_braille_dots_23467          ,+    pattern KEY_braille_dots_2346           ,+    pattern KEY_braille_dots_23458          ,+    pattern KEY_braille_dots_234578         ,+    pattern KEY_braille_dots_23457          ,+    pattern KEY_braille_dots_234568         ,+    pattern KEY_braille_dots_2345678        ,+    pattern KEY_braille_dots_234567         ,+    pattern KEY_braille_dots_23456          ,+    pattern KEY_braille_dots_2345           ,+    pattern KEY_braille_dots_234            ,+    pattern KEY_braille_dots_23             ,+    pattern KEY_braille_dots_2              ,+    pattern KEY_braille_dots_18             ,+    pattern KEY_braille_dots_178            ,+    pattern KEY_braille_dots_17             ,+    pattern KEY_braille_dots_168            ,+    pattern KEY_braille_dots_1678           ,+    pattern KEY_braille_dots_167            ,+    pattern KEY_braille_dots_16             ,+    pattern KEY_braille_dots_158            ,+    pattern KEY_braille_dots_1578           ,+    pattern KEY_braille_dots_157            ,+    pattern KEY_braille_dots_1568           ,+    pattern KEY_braille_dots_15678          ,+    pattern KEY_braille_dots_1567           ,+    pattern KEY_braille_dots_156            ,+    pattern KEY_braille_dots_15             ,+    pattern KEY_braille_dots_148            ,+    pattern KEY_braille_dots_1478           ,+    pattern KEY_braille_dots_147            ,+    pattern KEY_braille_dots_1468           ,+    pattern KEY_braille_dots_14678          ,+    pattern KEY_braille_dots_1467           ,+    pattern KEY_braille_dots_146            ,+    pattern KEY_braille_dots_1458           ,+    pattern KEY_braille_dots_14578          ,+    pattern KEY_braille_dots_1457           ,+    pattern KEY_braille_dots_14568          ,+    pattern KEY_braille_dots_145678         ,+    pattern KEY_braille_dots_14567          ,+    pattern KEY_braille_dots_1456           ,+    pattern KEY_braille_dots_145            ,+    pattern KEY_braille_dots_14             ,+    pattern KEY_braille_dots_138            ,+    pattern KEY_braille_dots_1378           ,+    pattern KEY_braille_dots_137            ,+    pattern KEY_braille_dots_1368           ,+    pattern KEY_braille_dots_13678          ,+    pattern KEY_braille_dots_1367           ,+    pattern KEY_braille_dots_136            ,+    pattern KEY_braille_dots_1358           ,+    pattern KEY_braille_dots_13578          ,+    pattern KEY_braille_dots_1357           ,+    pattern KEY_braille_dots_13568          ,+    pattern KEY_braille_dots_135678         ,+    pattern KEY_braille_dots_13567          ,+    pattern KEY_braille_dots_1356           ,+    pattern KEY_braille_dots_135            ,+    pattern KEY_braille_dots_1348           ,+    pattern KEY_braille_dots_13478          ,+    pattern KEY_braille_dots_1347           ,+    pattern KEY_braille_dots_13468          ,+    pattern KEY_braille_dots_134678         ,+    pattern KEY_braille_dots_13467          ,+    pattern KEY_braille_dots_1346           ,+    pattern KEY_braille_dots_13458          ,+    pattern KEY_braille_dots_134578         ,+    pattern KEY_braille_dots_13457          ,+    pattern KEY_braille_dots_134568         ,+    pattern KEY_braille_dots_1345678        ,+    pattern KEY_braille_dots_134567         ,+    pattern KEY_braille_dots_13456          ,+    pattern KEY_braille_dots_1345           ,+    pattern KEY_braille_dots_134            ,+    pattern KEY_braille_dots_13             ,+    pattern KEY_braille_dots_128            ,+    pattern KEY_braille_dots_1278           ,+    pattern KEY_braille_dots_127            ,+    pattern KEY_braille_dots_1268           ,+    pattern KEY_braille_dots_12678          ,+    pattern KEY_braille_dots_1267           ,+    pattern KEY_braille_dots_126            ,+    pattern KEY_braille_dots_1258           ,+    pattern KEY_braille_dots_12578          ,+    pattern KEY_braille_dots_1257           ,+    pattern KEY_braille_dots_12568          ,+    pattern KEY_braille_dots_125678         ,+    pattern KEY_braille_dots_12567          ,+    pattern KEY_braille_dots_1256           ,+    pattern KEY_braille_dots_125            ,+    pattern KEY_braille_dots_1248           ,+    pattern KEY_braille_dots_12478          ,+    pattern KEY_braille_dots_1247           ,+    pattern KEY_braille_dots_12468          ,+    pattern KEY_braille_dots_124678         ,+    pattern KEY_braille_dots_12467          ,+    pattern KEY_braille_dots_1246           ,+    pattern KEY_braille_dots_12458          ,+    pattern KEY_braille_dots_124578         ,+    pattern KEY_braille_dots_12457          ,+    pattern KEY_braille_dots_124568         ,+    pattern KEY_braille_dots_1245678        ,+    pattern KEY_braille_dots_124567         ,+    pattern KEY_braille_dots_12456          ,+    pattern KEY_braille_dots_1245           ,+    pattern KEY_braille_dots_124            ,+    pattern KEY_braille_dots_1238           ,+    pattern KEY_braille_dots_12378          ,+    pattern KEY_braille_dots_1237           ,+    pattern KEY_braille_dots_12368          ,+    pattern KEY_braille_dots_123678         ,+    pattern KEY_braille_dots_12367          ,+    pattern KEY_braille_dots_1236           ,+    pattern KEY_braille_dots_12358          ,+    pattern KEY_braille_dots_123578         ,+    pattern KEY_braille_dots_12357          ,+    pattern KEY_braille_dots_123568         ,+    pattern KEY_braille_dots_1235678        ,+    pattern KEY_braille_dots_123567         ,+    pattern KEY_braille_dots_12356          ,+    pattern KEY_braille_dots_1235           ,+    pattern KEY_braille_dots_12348          ,+    pattern KEY_braille_dots_123478         ,+    pattern KEY_braille_dots_12347          ,+    pattern KEY_braille_dots_123468         ,+    pattern KEY_braille_dots_1234678        ,+    pattern KEY_braille_dots_123467         ,+    pattern KEY_braille_dots_12346          ,+    pattern KEY_braille_dots_123458         ,+    pattern KEY_braille_dots_1234578        ,+    pattern KEY_braille_dots_123457         ,+    pattern KEY_braille_dots_1234568        ,+    pattern KEY_braille_dots_12345678       ,+    pattern KEY_braille_dots_1234567        ,+    pattern KEY_braille_dots_123456         ,+    pattern KEY_braille_dots_12345          ,+    pattern KEY_braille_dots_1234           ,+    pattern KEY_braille_dots_123            ,+    pattern KEY_braille_dots_12             ,+    pattern KEY_braille_dots_1              ,+    pattern KEY_braille_dot_9               ,+    pattern KEY_braille_dot_8               ,+    pattern KEY_braille_dot_7               ,+    pattern KEY_braille_dot_6               ,+    pattern KEY_braille_dot_5               ,+    pattern KEY_braille_dot_4               ,+    pattern KEY_braille_dot_3               ,+    pattern KEY_braille_dot_2               ,+    pattern KEY_braille_dot_10              ,+    pattern KEY_braille_dot_1               ,+    pattern KEY_braille_blank               ,+    pattern KEY_bracketright                ,+    pattern KEY_bracketleft                 ,+    pattern KEY_braceright                  ,+    pattern KEY_braceleft                   ,+    pattern KEY_botvertsummationconnector   ,+    pattern KEY_bott                        ,+    pattern KEY_botrightsummation           ,+    pattern KEY_botrightsqbracket           ,+    pattern KEY_botrightparens              ,+    pattern KEY_botleftsummation            ,+    pattern KEY_botleftsqbracket            ,+    pattern KEY_botleftparens               ,+    pattern KEY_botintegral                 ,+    pattern KEY_blank                       ,+    pattern KEY_because                     ,+    pattern KEY_bar                         ,+    pattern KEY_ballotcross                 ,+    pattern KEY_backslash                   ,+    pattern KEY_babovedot                   ,+    pattern KEY_b                           ,+    pattern KEY_atilde                      ,+    pattern KEY_at                          ,+    pattern KEY_asterisk                    ,+    pattern KEY_asciitilde                  ,+    pattern KEY_asciicircum                 ,+    pattern KEY_aring                       ,+    pattern KEY_approximate                 ,+    pattern KEY_approxeq                    ,+    pattern KEY_apostrophe                  ,+    pattern KEY_aogonek                     ,+    pattern KEY_ampersand                   ,+    pattern KEY_amacron                     ,+    pattern KEY_ahook                       ,+    pattern KEY_agrave                      ,+    pattern KEY_ae                          ,+    pattern KEY_adiaeresis                  ,+    pattern KEY_acute                       ,+    pattern KEY_acircumflextilde            ,+    pattern KEY_acircumflexhook             ,+    pattern KEY_acircumflexgrave            ,+    pattern KEY_acircumflexbelowdot         ,+    pattern KEY_acircumflexacute            ,+    pattern KEY_acircumflex                 ,+    pattern KEY_abrevetilde                 ,+    pattern KEY_abrevehook                  ,+    pattern KEY_abrevegrave                 ,+    pattern KEY_abrevebelowdot              ,+    pattern KEY_abreveacute                 ,+    pattern KEY_abreve                      ,+    pattern KEY_abovedot                    ,+    pattern KEY_abelowdot                   ,+    pattern KEY_aacute                      ,+    pattern KEY_a                           ,+    pattern KEY_Zstroke                     ,+    pattern KEY_ZoomOut                     ,+    pattern KEY_ZoomIn                      ,+    pattern KEY_Zenkaku_Hankaku             ,+    pattern KEY_Zenkaku                     ,+    pattern KEY_Zen_Koho                    ,+    pattern KEY_Zcaron                      ,+    pattern KEY_Zacute                      ,+    pattern KEY_Zabovedot                   ,+    pattern KEY_Z                           ,+    pattern KEY_Ytilde                      ,+    pattern KEY_Yhook                       ,+    pattern KEY_Ygrave                      ,+    pattern KEY_Yellow                      ,+    pattern KEY_Ydiaeresis                  ,+    pattern KEY_Ycircumflex                 ,+    pattern KEY_Ybelowdot                   ,+    pattern KEY_Yacute                      ,+    pattern KEY_Y                           ,+    pattern KEY_Xfer                        ,+    pattern KEY_Xabovedot                   ,+    pattern KEY_X                           ,+    pattern KEY_Word                        ,+    pattern KEY_WonSign                     ,+    pattern KEY_WindowClear                 ,+    pattern KEY_WheelButton                 ,+    pattern KEY_Wgrave                      ,+    pattern KEY_WebCam                      ,+    pattern KEY_Wdiaeresis                  ,+    pattern KEY_Wcircumflex                 ,+    pattern KEY_WakeUp                      ,+    pattern KEY_Wacute                      ,+    pattern KEY_WWW                         ,+    pattern KEY_WLAN                        ,+    pattern KEY_W                           ,+    pattern KEY_VoidSymbol                  ,+    pattern KEY_View                        ,+    pattern KEY_Video                       ,+    pattern KEY_VendorHome                  ,+    pattern KEY_V                           ,+    pattern KEY_Utilde                      ,+    pattern KEY_UserPB                      ,+    pattern KEY_User2KB                     ,+    pattern KEY_User1KB                     ,+    pattern KEY_Uring                       ,+    pattern KEY_Up                          ,+    pattern KEY_Uogonek                     ,+    pattern KEY_Ungrab                      ,+    pattern KEY_Undo                        ,+    pattern KEY_Umacron                     ,+    pattern KEY_Ukranian_yi                 ,+    pattern KEY_Ukranian_je                 ,+    pattern KEY_Ukranian_i                  ,+    pattern KEY_Ukranian_YI                 ,+    pattern KEY_Ukranian_JE                 ,+    pattern KEY_Ukranian_I                  ,+    pattern KEY_Ukrainian_yi                ,+    pattern KEY_Ukrainian_ie                ,+    pattern KEY_Ukrainian_i                 ,+    pattern KEY_Ukrainian_ghe_with_upturn   ,+    pattern KEY_Ukrainian_YI                ,+    pattern KEY_Ukrainian_IE                ,+    pattern KEY_Ukrainian_I                 ,+    pattern KEY_Ukrainian_GHE_WITH_UPTURN   ,+    pattern KEY_Uhorntilde                  ,+    pattern KEY_Uhornhook                   ,+    pattern KEY_Uhorngrave                  ,+    pattern KEY_Uhornbelowdot               ,+    pattern KEY_Uhornacute                  ,+    pattern KEY_Uhorn                       ,+    pattern KEY_Uhook                       ,+    pattern KEY_Ugrave                      ,+    pattern KEY_Udoubleacute                ,+    pattern KEY_Udiaeresis                  ,+    pattern KEY_Ucircumflex                 ,+    pattern KEY_Ubreve                      ,+    pattern KEY_Ubelowdot                   ,+    pattern KEY_Uacute                      ,+    pattern KEY_UWB                         ,+    pattern KEY_U                           ,+    pattern KEY_Tslash                      ,+    pattern KEY_Travel                      ,+    pattern KEY_Touroku                     ,+    pattern KEY_TouchpadToggle              ,+    pattern KEY_TouchpadOn                  ,+    pattern KEY_TouchpadOff                 ,+    pattern KEY_TopMenu                     ,+    pattern KEY_Tools                       ,+    pattern KEY_ToDoList                    ,+    pattern KEY_Time                        ,+    pattern KEY_Thorn                       ,+    pattern KEY_Thai_yoying                 ,+    pattern KEY_Thai_yoyak                  ,+    pattern KEY_Thai_wowaen                 ,+    pattern KEY_Thai_totao                  ,+    pattern KEY_Thai_topatak                ,+    pattern KEY_Thai_thothung               ,+    pattern KEY_Thai_thothong               ,+    pattern KEY_Thai_thothan                ,+    pattern KEY_Thai_thothahan              ,+    pattern KEY_Thai_thophuthao             ,+    pattern KEY_Thai_thonangmontho          ,+    pattern KEY_Thai_thanthakhat            ,+    pattern KEY_Thai_sosua                  ,+    pattern KEY_Thai_soso                   ,+    pattern KEY_Thai_sosala                 ,+    pattern KEY_Thai_sorusi                 ,+    pattern KEY_Thai_sarauu                 ,+    pattern KEY_Thai_sarauee                ,+    pattern KEY_Thai_saraue                 ,+    pattern KEY_Thai_sarau                  ,+    pattern KEY_Thai_sarao                  ,+    pattern KEY_Thai_saraii                 ,+    pattern KEY_Thai_sarai                  ,+    pattern KEY_Thai_sarae                  ,+    pattern KEY_Thai_saraam                 ,+    pattern KEY_Thai_saraaimaimuan          ,+    pattern KEY_Thai_saraaimaimalai         ,+    pattern KEY_Thai_saraae                 ,+    pattern KEY_Thai_saraaa                 ,+    pattern KEY_Thai_saraa                  ,+    pattern KEY_Thai_ru                     ,+    pattern KEY_Thai_rorua                  ,+    pattern KEY_Thai_popla                  ,+    pattern KEY_Thai_phosamphao             ,+    pattern KEY_Thai_phophung               ,+    pattern KEY_Thai_phophan                ,+    pattern KEY_Thai_phinthu                ,+    pattern KEY_Thai_paiyannoi              ,+    pattern KEY_Thai_oang                   ,+    pattern KEY_Thai_nonu                   ,+    pattern KEY_Thai_nonen                  ,+    pattern KEY_Thai_nikhahit               ,+    pattern KEY_Thai_ngongu                 ,+    pattern KEY_Thai_moma                   ,+    pattern KEY_Thai_maiyamok               ,+    pattern KEY_Thai_maitri                 ,+    pattern KEY_Thai_maitho                 ,+    pattern KEY_Thai_maitaikhu              ,+    pattern KEY_Thai_maihanakat_maitho      ,+    pattern KEY_Thai_maihanakat             ,+    pattern KEY_Thai_maiek                  ,+    pattern KEY_Thai_maichattawa            ,+    pattern KEY_Thai_lu                     ,+    pattern KEY_Thai_loling                 ,+    pattern KEY_Thai_lochula                ,+    pattern KEY_Thai_leksun                 ,+    pattern KEY_Thai_leksong                ,+    pattern KEY_Thai_leksi                  ,+    pattern KEY_Thai_leksam                 ,+    pattern KEY_Thai_lekpaet                ,+    pattern KEY_Thai_leknung                ,+    pattern KEY_Thai_lekkao                 ,+    pattern KEY_Thai_lekhok                 ,+    pattern KEY_Thai_lekha                  ,+    pattern KEY_Thai_lekchet                ,+    pattern KEY_Thai_lakkhangyao            ,+    pattern KEY_Thai_kokai                  ,+    pattern KEY_Thai_khorakhang             ,+    pattern KEY_Thai_khokhwai               ,+    pattern KEY_Thai_khokhuat               ,+    pattern KEY_Thai_khokhon                ,+    pattern KEY_Thai_khokhai                ,+    pattern KEY_Thai_honokhuk               ,+    pattern KEY_Thai_hohip                  ,+    pattern KEY_Thai_fofan                  ,+    pattern KEY_Thai_fofa                   ,+    pattern KEY_Thai_dodek                  ,+    pattern KEY_Thai_dochada                ,+    pattern KEY_Thai_chochoe                ,+    pattern KEY_Thai_choching               ,+    pattern KEY_Thai_chochang               ,+    pattern KEY_Thai_chochan                ,+    pattern KEY_Thai_bobaimai               ,+    pattern KEY_Thai_baht                   ,+    pattern KEY_Terminate_Server            ,+    pattern KEY_Terminal                    ,+    pattern KEY_Tcedilla                    ,+    pattern KEY_Tcaron                      ,+    pattern KEY_TaskPane                    ,+    pattern KEY_Tabovedot                   ,+    pattern KEY_Tab                         ,+    pattern KEY_THORN                       ,+    pattern KEY_T                           ,+    pattern KEY_Sys_Req                     ,+    pattern KEY_Switch_VT_9                 ,+    pattern KEY_Switch_VT_8                 ,+    pattern KEY_Switch_VT_7                 ,+    pattern KEY_Switch_VT_6                 ,+    pattern KEY_Switch_VT_5                 ,+    pattern KEY_Switch_VT_4                 ,+    pattern KEY_Switch_VT_3                 ,+    pattern KEY_Switch_VT_2                 ,+    pattern KEY_Switch_VT_12                ,+    pattern KEY_Switch_VT_11                ,+    pattern KEY_Switch_VT_10                ,+    pattern KEY_Switch_VT_1                 ,+    pattern KEY_Suspend                     ,+    pattern KEY_Support                     ,+    pattern KEY_Super_R                     ,+    pattern KEY_Super_L                     ,+    pattern KEY_Subtitle                    ,+    pattern KEY_Stop                        ,+    pattern KEY_StickyKeys_Enable           ,+    pattern KEY_Start                       ,+    pattern KEY_Standby                     ,+    pattern KEY_SplitScreen                 ,+    pattern KEY_Spell                       ,+    pattern KEY_SlowKeys_Enable             ,+    pattern KEY_Sleep                       ,+    pattern KEY_Sinh_ya                     ,+    pattern KEY_Sinh_va                     ,+    pattern KEY_Sinh_uu2                    ,+    pattern KEY_Sinh_uu                     ,+    pattern KEY_Sinh_u2                     ,+    pattern KEY_Sinh_u                      ,+    pattern KEY_Sinh_ttha                   ,+    pattern KEY_Sinh_tta                    ,+    pattern KEY_Sinh_thha                   ,+    pattern KEY_Sinh_tha                    ,+    pattern KEY_Sinh_ssha                   ,+    pattern KEY_Sinh_sha                    ,+    pattern KEY_Sinh_sa                     ,+    pattern KEY_Sinh_ruu2                   ,+    pattern KEY_Sinh_ru2                    ,+    pattern KEY_Sinh_rii                    ,+    pattern KEY_Sinh_ri                     ,+    pattern KEY_Sinh_ra                     ,+    pattern KEY_Sinh_pha                    ,+    pattern KEY_Sinh_pa                     ,+    pattern KEY_Sinh_oo2                    ,+    pattern KEY_Sinh_oo                     ,+    pattern KEY_Sinh_o2                     ,+    pattern KEY_Sinh_o                      ,+    pattern KEY_Sinh_nya                    ,+    pattern KEY_Sinh_nna                    ,+    pattern KEY_Sinh_nja                    ,+    pattern KEY_Sinh_nga                    ,+    pattern KEY_Sinh_ng2                    ,+    pattern KEY_Sinh_ng                     ,+    pattern KEY_Sinh_ndha                   ,+    pattern KEY_Sinh_ndda                   ,+    pattern KEY_Sinh_na                     ,+    pattern KEY_Sinh_mba                    ,+    pattern KEY_Sinh_ma                     ,+    pattern KEY_Sinh_luu2                   ,+    pattern KEY_Sinh_luu                    ,+    pattern KEY_Sinh_lu2                    ,+    pattern KEY_Sinh_lu                     ,+    pattern KEY_Sinh_lla                    ,+    pattern KEY_Sinh_la                     ,+    pattern KEY_Sinh_kunddaliya             ,+    pattern KEY_Sinh_kha                    ,+    pattern KEY_Sinh_ka                     ,+    pattern KEY_Sinh_jnya                   ,+    pattern KEY_Sinh_jha                    ,+    pattern KEY_Sinh_ja                     ,+    pattern KEY_Sinh_ii2                    ,+    pattern KEY_Sinh_ii                     ,+    pattern KEY_Sinh_i2                     ,+    pattern KEY_Sinh_i                      ,+    pattern KEY_Sinh_ha                     ,+    pattern KEY_Sinh_h2                     ,+    pattern KEY_Sinh_gha                    ,+    pattern KEY_Sinh_ga                     ,+    pattern KEY_Sinh_fa                     ,+    pattern KEY_Sinh_ee2                    ,+    pattern KEY_Sinh_ee                     ,+    pattern KEY_Sinh_e2                     ,+    pattern KEY_Sinh_e                      ,+    pattern KEY_Sinh_dhha                   ,+    pattern KEY_Sinh_dha                    ,+    pattern KEY_Sinh_ddha                   ,+    pattern KEY_Sinh_dda                    ,+    pattern KEY_Sinh_cha                    ,+    pattern KEY_Sinh_ca                     ,+    pattern KEY_Sinh_bha                    ,+    pattern KEY_Sinh_ba                     ,+    pattern KEY_Sinh_au2                    ,+    pattern KEY_Sinh_au                     ,+    pattern KEY_Sinh_al                     ,+    pattern KEY_Sinh_ai2                    ,+    pattern KEY_Sinh_ai                     ,+    pattern KEY_Sinh_aee2                   ,+    pattern KEY_Sinh_aee                    ,+    pattern KEY_Sinh_ae2                    ,+    pattern KEY_Sinh_ae                     ,+    pattern KEY_Sinh_aa2                    ,+    pattern KEY_Sinh_aa                     ,+    pattern KEY_Sinh_a                      ,+    pattern KEY_SingleCandidate             ,+    pattern KEY_Shop                        ,+    pattern KEY_Shift_R                     ,+    pattern KEY_Shift_Lock                  ,+    pattern KEY_Shift_L                     ,+    pattern KEY_Serbian_tshe                ,+    pattern KEY_Serbian_nje                 ,+    pattern KEY_Serbian_lje                 ,+    pattern KEY_Serbian_je                  ,+    pattern KEY_Serbian_dze                 ,+    pattern KEY_Serbian_dje                 ,+    pattern KEY_Serbian_TSHE                ,+    pattern KEY_Serbian_NJE                 ,+    pattern KEY_Serbian_LJE                 ,+    pattern KEY_Serbian_JE                  ,+    pattern KEY_Serbian_DZE                 ,+    pattern KEY_Serbian_DJE                 ,+    pattern KEY_Send                        ,+    pattern KEY_SelectButton                ,+    pattern KEY_Select                      ,+    pattern KEY_Search                      ,+    pattern KEY_Scroll_Lock                 ,+    pattern KEY_ScrollUp                    ,+    pattern KEY_ScrollDown                  ,+    pattern KEY_ScrollClick                 ,+    pattern KEY_ScreenSaver                 ,+    pattern KEY_Scircumflex                 ,+    pattern KEY_Scedilla                    ,+    pattern KEY_Scaron                      ,+    pattern KEY_Save                        ,+    pattern KEY_Sacute                      ,+    pattern KEY_Sabovedot                   ,+    pattern KEY_SCHWA                       ,+    pattern KEY_S                           ,+    pattern KEY_RupeeSign                   ,+    pattern KEY_RotationPB                  ,+    pattern KEY_RotationKB                  ,+    pattern KEY_RotateWindows               ,+    pattern KEY_Romaji                      ,+    pattern KEY_RockerUp                    ,+    pattern KEY_RockerEnter                 ,+    pattern KEY_RockerDown                  ,+    pattern KEY_Right                       ,+    pattern KEY_Return                      ,+    pattern KEY_Reply                       ,+    pattern KEY_RepeatKeys_Enable           ,+    pattern KEY_Reload                      ,+    pattern KEY_Refresh                     ,+    pattern KEY_Redo                        ,+    pattern KEY_Red                         ,+    pattern KEY_Rcedilla                    ,+    pattern KEY_Rcaron                      ,+    pattern KEY_Racute                      ,+    pattern KEY_R9                          ,+    pattern KEY_R8                          ,+    pattern KEY_R7                          ,+    pattern KEY_R6                          ,+    pattern KEY_R5                          ,+    pattern KEY_R4                          ,+    pattern KEY_R3                          ,+    pattern KEY_R2                          ,+    pattern KEY_R15                         ,+    pattern KEY_R14                         ,+    pattern KEY_R13                         ,+    pattern KEY_R12                         ,+    pattern KEY_R11                         ,+    pattern KEY_R10                         ,+    pattern KEY_R1                          ,+    pattern KEY_R                           ,+    pattern KEY_Q                           ,+    pattern KEY_Prior                       ,+    pattern KEY_Print                       ,+    pattern KEY_PreviousCandidate           ,+    pattern KEY_Prev_Virtual_Screen         ,+    pattern KEY_Prev_VMode                  ,+    pattern KEY_PowerOff                    ,+    pattern KEY_PowerDown                   ,+    pattern KEY_Pointer_UpRight             ,+    pattern KEY_Pointer_UpLeft              ,+    pattern KEY_Pointer_Up                  ,+    pattern KEY_Pointer_Right               ,+    pattern KEY_Pointer_Left                ,+    pattern KEY_Pointer_EnableKeys          ,+    pattern KEY_Pointer_Drag_Dflt           ,+    pattern KEY_Pointer_Drag5               ,+    pattern KEY_Pointer_Drag4               ,+    pattern KEY_Pointer_Drag3               ,+    pattern KEY_Pointer_Drag2               ,+    pattern KEY_Pointer_Drag1               ,+    pattern KEY_Pointer_DownRight           ,+    pattern KEY_Pointer_DownLeft            ,+    pattern KEY_Pointer_Down                ,+    pattern KEY_Pointer_DfltBtnPrev         ,+    pattern KEY_Pointer_DfltBtnNext         ,+    pattern KEY_Pointer_DblClick_Dflt       ,+    pattern KEY_Pointer_DblClick5           ,+    pattern KEY_Pointer_DblClick4           ,+    pattern KEY_Pointer_DblClick3           ,+    pattern KEY_Pointer_DblClick2           ,+    pattern KEY_Pointer_DblClick1           ,+    pattern KEY_Pointer_Button_Dflt         ,+    pattern KEY_Pointer_Button5             ,+    pattern KEY_Pointer_Button4             ,+    pattern KEY_Pointer_Button3             ,+    pattern KEY_Pointer_Button2             ,+    pattern KEY_Pointer_Button1             ,+    pattern KEY_Pointer_Accelerate          ,+    pattern KEY_Pictures                    ,+    pattern KEY_Phone                       ,+    pattern KEY_PesetaSign                  ,+    pattern KEY_Pause                       ,+    pattern KEY_Paste                       ,+    pattern KEY_Page_Up                     ,+    pattern KEY_Page_Down                   ,+    pattern KEY_Pabovedot                   ,+    pattern KEY_P                           ,+    pattern KEY_Overlay2_Enable             ,+    pattern KEY_Overlay1_Enable             ,+    pattern KEY_Otilde                      ,+    pattern KEY_Oslash                      ,+    pattern KEY_Option                      ,+    pattern KEY_OpenURL                     ,+    pattern KEY_Open                        ,+    pattern KEY_Ooblique                    ,+    pattern KEY_Omacron                     ,+    pattern KEY_Ohorntilde                  ,+    pattern KEY_Ohornhook                   ,+    pattern KEY_Ohorngrave                  ,+    pattern KEY_Ohornbelowdot               ,+    pattern KEY_Ohornacute                  ,+    pattern KEY_Ohorn                       ,+    pattern KEY_Ohook                       ,+    pattern KEY_Ograve                      ,+    pattern KEY_OfficeHome                  ,+    pattern KEY_Odoubleacute                ,+    pattern KEY_Odiaeresis                  ,+    pattern KEY_Ocircumflextilde            ,+    pattern KEY_Ocircumflexhook             ,+    pattern KEY_Ocircumflexgrave            ,+    pattern KEY_Ocircumflexbelowdot         ,+    pattern KEY_Ocircumflexacute            ,+    pattern KEY_Ocircumflex                 ,+    pattern KEY_Ocaron                      ,+    pattern KEY_Obelowdot                   ,+    pattern KEY_Obarred                     ,+    pattern KEY_Oacute                      ,+    pattern KEY_OE                          ,+    pattern KEY_O                           ,+    pattern KEY_Num_Lock                    ,+    pattern KEY_Ntilde                      ,+    pattern KEY_Next_Virtual_Screen         ,+    pattern KEY_Next_VMode                  ,+    pattern KEY_Next                        ,+    pattern KEY_News                        ,+    pattern KEY_NewSheqelSign               ,+    pattern KEY_New                         ,+    pattern KEY_Ncedilla                    ,+    pattern KEY_Ncaron                      ,+    pattern KEY_NairaSign                   ,+    pattern KEY_Nacute                      ,+    pattern KEY_N                           ,+    pattern KEY_MySites                     ,+    pattern KEY_MyComputer                  ,+    pattern KEY_Music                       ,+    pattern KEY_MultipleCandidate           ,+    pattern KEY_Multi_key                   ,+    pattern KEY_Muhenkan                    ,+    pattern KEY_MouseKeys_Enable            ,+    pattern KEY_MouseKeys_Accel_Enable      ,+    pattern KEY_MonBrightnessUp             ,+    pattern KEY_MonBrightnessDown           ,+    pattern KEY_Mode_switch                 ,+    pattern KEY_ModeLock                    ,+    pattern KEY_MillSign                    ,+    pattern KEY_Meta_R                      ,+    pattern KEY_Meta_L                      ,+    pattern KEY_Messenger                   ,+    pattern KEY_MenuPB                      ,+    pattern KEY_MenuKB                      ,+    pattern KEY_Menu                        ,+    pattern KEY_Memo                        ,+    pattern KEY_Meeting                     ,+    pattern KEY_Massyo                      ,+    pattern KEY_Market                      ,+    pattern KEY_MailForward                 ,+    pattern KEY_Mail                        ,+    pattern KEY_Mae_Koho                    ,+    pattern KEY_Macedonia_kje               ,+    pattern KEY_Macedonia_gje               ,+    pattern KEY_Macedonia_dse               ,+    pattern KEY_Macedonia_KJE               ,+    pattern KEY_Macedonia_GJE               ,+    pattern KEY_Macedonia_DSE               ,+    pattern KEY_Mabovedot                   ,+    pattern KEY_M                           ,+    pattern KEY_Lstroke                     ,+    pattern KEY_LogWindowTree               ,+    pattern KEY_LogOff                      ,+    pattern KEY_LogGrabInfo                 ,+    pattern KEY_LiraSign                    ,+    pattern KEY_Linefeed                    ,+    pattern KEY_LightBulb                   ,+    pattern KEY_Left                        ,+    pattern KEY_Lcedilla                    ,+    pattern KEY_Lcaron                      ,+    pattern KEY_Lbelowdot                   ,+    pattern KEY_LaunchF                     ,+    pattern KEY_LaunchE                     ,+    pattern KEY_LaunchD                     ,+    pattern KEY_LaunchC                     ,+    pattern KEY_LaunchB                     ,+    pattern KEY_LaunchA                     ,+    pattern KEY_Launch9                     ,+    pattern KEY_Launch8                     ,+    pattern KEY_Launch7                     ,+    pattern KEY_Launch6                     ,+    pattern KEY_Launch5                     ,+    pattern KEY_Launch4                     ,+    pattern KEY_Launch3                     ,+    pattern KEY_Launch2                     ,+    pattern KEY_Launch1                     ,+    pattern KEY_Launch0                     ,+    pattern KEY_Last_Virtual_Screen         ,+    pattern KEY_Lacute                      ,+    pattern KEY_L9                          ,+    pattern KEY_L8                          ,+    pattern KEY_L7                          ,+    pattern KEY_L6                          ,+    pattern KEY_L5                          ,+    pattern KEY_L4                          ,+    pattern KEY_L3                          ,+    pattern KEY_L2                          ,+    pattern KEY_L10                         ,+    pattern KEY_L1                          ,+    pattern KEY_L                           ,+    pattern KEY_Korean_Won                  ,+    pattern KEY_Kcedilla                    ,+    pattern KEY_KbdLightOnOff               ,+    pattern KEY_KbdBrightnessUp             ,+    pattern KEY_KbdBrightnessDown           ,+    pattern KEY_Katakana                    ,+    pattern KEY_Kanji_Bangou                ,+    pattern KEY_Kanji                       ,+    pattern KEY_Kana_Shift                  ,+    pattern KEY_Kana_Lock                   ,+    pattern KEY_KP_Up                       ,+    pattern KEY_KP_Tab                      ,+    pattern KEY_KP_Subtract                 ,+    pattern KEY_KP_Space                    ,+    pattern KEY_KP_Separator                ,+    pattern KEY_KP_Right                    ,+    pattern KEY_KP_Prior                    ,+    pattern KEY_KP_Page_Up                  ,+    pattern KEY_KP_Page_Down                ,+    pattern KEY_KP_Next                     ,+    pattern KEY_KP_Multiply                 ,+    pattern KEY_KP_Left                     ,+    pattern KEY_KP_Insert                   ,+    pattern KEY_KP_Home                     ,+    pattern KEY_KP_F4                       ,+    pattern KEY_KP_F3                       ,+    pattern KEY_KP_F2                       ,+    pattern KEY_KP_F1                       ,+    pattern KEY_KP_Equal                    ,+    pattern KEY_KP_Enter                    ,+    pattern KEY_KP_End                      ,+    pattern KEY_KP_Down                     ,+    pattern KEY_KP_Divide                   ,+    pattern KEY_KP_Delete                   ,+    pattern KEY_KP_Decimal                  ,+    pattern KEY_KP_Begin                    ,+    pattern KEY_KP_Add                      ,+    pattern KEY_KP_9                        ,+    pattern KEY_KP_8                        ,+    pattern KEY_KP_7                        ,+    pattern KEY_KP_6                        ,+    pattern KEY_KP_5                        ,+    pattern KEY_KP_4                        ,+    pattern KEY_KP_3                        ,+    pattern KEY_KP_2                        ,+    pattern KEY_KP_1                        ,+    pattern KEY_KP_0                        ,+    pattern KEY_K                           ,+    pattern KEY_Jcircumflex                 ,+    pattern KEY_J                           ,+    pattern KEY_Itilde                      ,+    pattern KEY_Iogonek                     ,+    pattern KEY_Insert                      ,+    pattern KEY_Imacron                     ,+    pattern KEY_Ihook                       ,+    pattern KEY_Igrave                      ,+    pattern KEY_Idiaeresis                  ,+    pattern KEY_Icircumflex                 ,+    pattern KEY_Ibreve                      ,+    pattern KEY_Ibelowdot                   ,+    pattern KEY_Iacute                      ,+    pattern KEY_Iabovedot                   ,+    pattern KEY_ISO_Set_Margin_Right        ,+    pattern KEY_ISO_Set_Margin_Left         ,+    pattern KEY_ISO_Release_Margin_Right    ,+    pattern KEY_ISO_Release_Margin_Left     ,+    pattern KEY_ISO_Release_Both_Margins    ,+    pattern KEY_ISO_Prev_Group_Lock         ,+    pattern KEY_ISO_Prev_Group              ,+    pattern KEY_ISO_Partial_Space_Right     ,+    pattern KEY_ISO_Partial_Space_Left      ,+    pattern KEY_ISO_Partial_Line_Up         ,+    pattern KEY_ISO_Partial_Line_Down       ,+    pattern KEY_ISO_Next_Group_Lock         ,+    pattern KEY_ISO_Next_Group              ,+    pattern KEY_ISO_Move_Line_Up            ,+    pattern KEY_ISO_Move_Line_Down          ,+    pattern KEY_ISO_Lock                    ,+    pattern KEY_ISO_Level5_Shift            ,+    pattern KEY_ISO_Level5_Lock             ,+    pattern KEY_ISO_Level5_Latch            ,+    pattern KEY_ISO_Level3_Shift            ,+    pattern KEY_ISO_Level3_Lock             ,+    pattern KEY_ISO_Level3_Latch            ,+    pattern KEY_ISO_Level2_Latch            ,+    pattern KEY_ISO_Left_Tab                ,+    pattern KEY_ISO_Last_Group_Lock         ,+    pattern KEY_ISO_Last_Group              ,+    pattern KEY_ISO_Group_Shift             ,+    pattern KEY_ISO_Group_Lock              ,+    pattern KEY_ISO_Group_Latch             ,+    pattern KEY_ISO_First_Group_Lock        ,+    pattern KEY_ISO_First_Group             ,+    pattern KEY_ISO_Fast_Cursor_Up          ,+    pattern KEY_ISO_Fast_Cursor_Right       ,+    pattern KEY_ISO_Fast_Cursor_Left        ,+    pattern KEY_ISO_Fast_Cursor_Down        ,+    pattern KEY_ISO_Enter                   ,+    pattern KEY_ISO_Emphasize               ,+    pattern KEY_ISO_Discontinuous_Underline ,+    pattern KEY_ISO_Continuous_Underline    ,+    pattern KEY_ISO_Center_Object           ,+    pattern KEY_I                           ,+    pattern KEY_Hyper_R                     ,+    pattern KEY_Hyper_L                     ,+    pattern KEY_Hstroke                     ,+    pattern KEY_HotLinks                    ,+    pattern KEY_HomePage                    ,+    pattern KEY_Home                        ,+    pattern KEY_History                     ,+    pattern KEY_Hiragana_Katakana           ,+    pattern KEY_Hiragana                    ,+    pattern KEY_Hibernate                   ,+    pattern KEY_Henkan_Mode                 ,+    pattern KEY_Henkan                      ,+    pattern KEY_Help                        ,+    pattern KEY_Hebrew_switch               ,+    pattern KEY_Hcircumflex                 ,+    pattern KEY_Hankaku                     ,+    pattern KEY_Hangul_switch               ,+    pattern KEY_Hangul_YeorinHieuh          ,+    pattern KEY_Hangul_YU                   ,+    pattern KEY_Hangul_YO                   ,+    pattern KEY_Hangul_YI                   ,+    pattern KEY_Hangul_YEO                  ,+    pattern KEY_Hangul_YE                   ,+    pattern KEY_Hangul_YAE                  ,+    pattern KEY_Hangul_YA                   ,+    pattern KEY_Hangul_WI                   ,+    pattern KEY_Hangul_WEO                  ,+    pattern KEY_Hangul_WE                   ,+    pattern KEY_Hangul_WAE                  ,+    pattern KEY_Hangul_WA                   ,+    pattern KEY_Hangul_U                    ,+    pattern KEY_Hangul_Tieut                ,+    pattern KEY_Hangul_SunkyeongeumPieub    ,+    pattern KEY_Hangul_SunkyeongeumPhieuf   ,+    pattern KEY_Hangul_SunkyeongeumMieum    ,+    pattern KEY_Hangul_Start                ,+    pattern KEY_Hangul_SsangSios            ,+    pattern KEY_Hangul_SsangPieub           ,+    pattern KEY_Hangul_SsangKiyeog          ,+    pattern KEY_Hangul_SsangJieuj           ,+    pattern KEY_Hangul_SsangDikeud          ,+    pattern KEY_Hangul_Special              ,+    pattern KEY_Hangul_Sios                 ,+    pattern KEY_Hangul_SingleCandidate      ,+    pattern KEY_Hangul_Romaja               ,+    pattern KEY_Hangul_RieulYeorinHieuh     ,+    pattern KEY_Hangul_RieulTieut           ,+    pattern KEY_Hangul_RieulSios            ,+    pattern KEY_Hangul_RieulPieub           ,+    pattern KEY_Hangul_RieulPhieuf          ,+    pattern KEY_Hangul_RieulMieum           ,+    pattern KEY_Hangul_RieulKiyeog          ,+    pattern KEY_Hangul_RieulHieuh           ,+    pattern KEY_Hangul_Rieul                ,+    pattern KEY_Hangul_PreviousCandidate    ,+    pattern KEY_Hangul_PreHanja             ,+    pattern KEY_Hangul_PostHanja            ,+    pattern KEY_Hangul_PieubSios            ,+    pattern KEY_Hangul_Pieub                ,+    pattern KEY_Hangul_Phieuf               ,+    pattern KEY_Hangul_PanSios              ,+    pattern KEY_Hangul_OE                   ,+    pattern KEY_Hangul_O                    ,+    pattern KEY_Hangul_NieunJieuj           ,+    pattern KEY_Hangul_NieunHieuh           ,+    pattern KEY_Hangul_Nieun                ,+    pattern KEY_Hangul_MultipleCandidate    ,+    pattern KEY_Hangul_Mieum                ,+    pattern KEY_Hangul_KkogjiDalrinIeung    ,+    pattern KEY_Hangul_KiyeogSios           ,+    pattern KEY_Hangul_Kiyeog               ,+    pattern KEY_Hangul_Khieuq               ,+    pattern KEY_Hangul_Jieuj                ,+    pattern KEY_Hangul_Jeonja               ,+    pattern KEY_Hangul_Jamo                 ,+    pattern KEY_Hangul_J_YeorinHieuh        ,+    pattern KEY_Hangul_J_Tieut              ,+    pattern KEY_Hangul_J_SsangSios          ,+    pattern KEY_Hangul_J_SsangKiyeog        ,+    pattern KEY_Hangul_J_Sios               ,+    pattern KEY_Hangul_J_RieulTieut         ,+    pattern KEY_Hangul_J_RieulSios          ,+    pattern KEY_Hangul_J_RieulPieub         ,+    pattern KEY_Hangul_J_RieulPhieuf        ,+    pattern KEY_Hangul_J_RieulMieum         ,+    pattern KEY_Hangul_J_RieulKiyeog        ,+    pattern KEY_Hangul_J_RieulHieuh         ,+    pattern KEY_Hangul_J_Rieul              ,+    pattern KEY_Hangul_J_PieubSios          ,+    pattern KEY_Hangul_J_Pieub              ,+    pattern KEY_Hangul_J_Phieuf             ,+    pattern KEY_Hangul_J_PanSios            ,+    pattern KEY_Hangul_J_NieunJieuj         ,+    pattern KEY_Hangul_J_NieunHieuh         ,+    pattern KEY_Hangul_J_Nieun              ,+    pattern KEY_Hangul_J_Mieum              ,+    pattern KEY_Hangul_J_KkogjiDalrinIeung  ,+    pattern KEY_Hangul_J_KiyeogSios         ,+    pattern KEY_Hangul_J_Kiyeog             ,+    pattern KEY_Hangul_J_Khieuq             ,+    pattern KEY_Hangul_J_Jieuj              ,+    pattern KEY_Hangul_J_Ieung              ,+    pattern KEY_Hangul_J_Hieuh              ,+    pattern KEY_Hangul_J_Dikeud             ,+    pattern KEY_Hangul_J_Cieuc              ,+    pattern KEY_Hangul_Ieung                ,+    pattern KEY_Hangul_I                    ,+    pattern KEY_Hangul_Hieuh                ,+    pattern KEY_Hangul_Hanja                ,+    pattern KEY_Hangul_End                  ,+    pattern KEY_Hangul_EU                   ,+    pattern KEY_Hangul_EO                   ,+    pattern KEY_Hangul_E                    ,+    pattern KEY_Hangul_Dikeud               ,+    pattern KEY_Hangul_Codeinput            ,+    pattern KEY_Hangul_Cieuc                ,+    pattern KEY_Hangul_Banja                ,+    pattern KEY_Hangul_AraeAE               ,+    pattern KEY_Hangul_AraeA                ,+    pattern KEY_Hangul_AE                   ,+    pattern KEY_Hangul_A                    ,+    pattern KEY_Hangul                      ,+    pattern KEY_H                           ,+    pattern KEY_Green                       ,+    pattern KEY_Greek_zeta                  ,+    pattern KEY_Greek_xi                    ,+    pattern KEY_Greek_upsilondieresis       ,+    pattern KEY_Greek_upsilonaccentdieresis ,+    pattern KEY_Greek_upsilonaccent         ,+    pattern KEY_Greek_upsilon               ,+    pattern KEY_Greek_theta                 ,+    pattern KEY_Greek_tau                   ,+    pattern KEY_Greek_switch                ,+    pattern KEY_Greek_sigma                 ,+    pattern KEY_Greek_rho                   ,+    pattern KEY_Greek_psi                   ,+    pattern KEY_Greek_pi                    ,+    pattern KEY_Greek_phi                   ,+    pattern KEY_Greek_omicronaccent         ,+    pattern KEY_Greek_omicron               ,+    pattern KEY_Greek_omegaaccent           ,+    pattern KEY_Greek_omega                 ,+    pattern KEY_Greek_nu                    ,+    pattern KEY_Greek_mu                    ,+    pattern KEY_Greek_lamda                 ,+    pattern KEY_Greek_lambda                ,+    pattern KEY_Greek_kappa                 ,+    pattern KEY_Greek_iotadieresis          ,+    pattern KEY_Greek_iotaaccentdieresis    ,+    pattern KEY_Greek_iotaaccent            ,+    pattern KEY_Greek_iota                  ,+    pattern KEY_Greek_horizbar              ,+    pattern KEY_Greek_gamma                 ,+    pattern KEY_Greek_finalsmallsigma       ,+    pattern KEY_Greek_etaaccent             ,+    pattern KEY_Greek_eta                   ,+    pattern KEY_Greek_epsilonaccent         ,+    pattern KEY_Greek_epsilon               ,+    pattern KEY_Greek_delta                 ,+    pattern KEY_Greek_chi                   ,+    pattern KEY_Greek_beta                  ,+    pattern KEY_Greek_alphaaccent           ,+    pattern KEY_Greek_alpha                 ,+    pattern KEY_Greek_accentdieresis        ,+    pattern KEY_Greek_ZETA                  ,+    pattern KEY_Greek_XI                    ,+    pattern KEY_Greek_UPSILONdieresis       ,+    pattern KEY_Greek_UPSILONaccent         ,+    pattern KEY_Greek_UPSILON               ,+    pattern KEY_Greek_THETA                 ,+    pattern KEY_Greek_TAU                   ,+    pattern KEY_Greek_SIGMA                 ,+    pattern KEY_Greek_RHO                   ,+    pattern KEY_Greek_PSI                   ,+    pattern KEY_Greek_PI                    ,+    pattern KEY_Greek_PHI                   ,+    pattern KEY_Greek_OMICRONaccent         ,+    pattern KEY_Greek_OMICRON               ,+    pattern KEY_Greek_OMEGAaccent           ,+    pattern KEY_Greek_OMEGA                 ,+    pattern KEY_Greek_NU                    ,+    pattern KEY_Greek_MU                    ,+    pattern KEY_Greek_LAMDA                 ,+    pattern KEY_Greek_LAMBDA                ,+    pattern KEY_Greek_KAPPA                 ,+    pattern KEY_Greek_IOTAdieresis          ,+    pattern KEY_Greek_IOTAdiaeresis         ,+    pattern KEY_Greek_IOTAaccent            ,+    pattern KEY_Greek_IOTA                  ,+    pattern KEY_Greek_GAMMA                 ,+    pattern KEY_Greek_ETAaccent             ,+    pattern KEY_Greek_ETA                   ,+    pattern KEY_Greek_EPSILONaccent         ,+    pattern KEY_Greek_EPSILON               ,+    pattern KEY_Greek_DELTA                 ,+    pattern KEY_Greek_CHI                   ,+    pattern KEY_Greek_BETA                  ,+    pattern KEY_Greek_ALPHAaccent           ,+    pattern KEY_Greek_ALPHA                 ,+    pattern KEY_Go                          ,+    pattern KEY_Georgian_zhar               ,+    pattern KEY_Georgian_zen                ,+    pattern KEY_Georgian_xan                ,+    pattern KEY_Georgian_we                 ,+    pattern KEY_Georgian_vin                ,+    pattern KEY_Georgian_un                 ,+    pattern KEY_Georgian_tar                ,+    pattern KEY_Georgian_tan                ,+    pattern KEY_Georgian_shin               ,+    pattern KEY_Georgian_san                ,+    pattern KEY_Georgian_rae                ,+    pattern KEY_Georgian_qar                ,+    pattern KEY_Georgian_phar               ,+    pattern KEY_Georgian_par                ,+    pattern KEY_Georgian_on                 ,+    pattern KEY_Georgian_nar                ,+    pattern KEY_Georgian_man                ,+    pattern KEY_Georgian_las                ,+    pattern KEY_Georgian_khar               ,+    pattern KEY_Georgian_kan                ,+    pattern KEY_Georgian_jil                ,+    pattern KEY_Georgian_jhan               ,+    pattern KEY_Georgian_in                 ,+    pattern KEY_Georgian_hoe                ,+    pattern KEY_Georgian_hie                ,+    pattern KEY_Georgian_he                 ,+    pattern KEY_Georgian_har                ,+    pattern KEY_Georgian_hae                ,+    pattern KEY_Georgian_ghan               ,+    pattern KEY_Georgian_gan                ,+    pattern KEY_Georgian_fi                 ,+    pattern KEY_Georgian_en                 ,+    pattern KEY_Georgian_don                ,+    pattern KEY_Georgian_cil                ,+    pattern KEY_Georgian_chin               ,+    pattern KEY_Georgian_char               ,+    pattern KEY_Georgian_can                ,+    pattern KEY_Georgian_ban                ,+    pattern KEY_Georgian_an                 ,+    pattern KEY_Gcircumflex                 ,+    pattern KEY_Gcedilla                    ,+    pattern KEY_Gcaron                      ,+    pattern KEY_Gbreve                      ,+    pattern KEY_Game                        ,+    pattern KEY_Gabovedot                   ,+    pattern KEY_G                           ,+    pattern KEY_FrameForward                ,+    pattern KEY_FrameBack                   ,+    pattern KEY_Forward                     ,+    pattern KEY_First_Virtual_Screen        ,+    pattern KEY_Find                        ,+    pattern KEY_Finance                     ,+    pattern KEY_Favorites                   ,+    pattern KEY_Farsi_yeh                   ,+    pattern KEY_Farsi_9                     ,+    pattern KEY_Farsi_8                     ,+    pattern KEY_Farsi_7                     ,+    pattern KEY_Farsi_6                     ,+    pattern KEY_Farsi_5                     ,+    pattern KEY_Farsi_4                     ,+    pattern KEY_Farsi_3                     ,+    pattern KEY_Farsi_2                     ,+    pattern KEY_Farsi_1                     ,+    pattern KEY_Farsi_0                     ,+    pattern KEY_Fabovedot                   ,+    pattern KEY_FFrancSign                  ,+    pattern KEY_F9                          ,+    pattern KEY_F8                          ,+    pattern KEY_F7                          ,+    pattern KEY_F6                          ,+    pattern KEY_F5                          ,+    pattern KEY_F4                          ,+    pattern KEY_F35                         ,+    pattern KEY_F34                         ,+    pattern KEY_F33                         ,+    pattern KEY_F32                         ,+    pattern KEY_F31                         ,+    pattern KEY_F30                         ,+    pattern KEY_F3                          ,+    pattern KEY_F29                         ,+    pattern KEY_F28                         ,+    pattern KEY_F27                         ,+    pattern KEY_F26                         ,+    pattern KEY_F25                         ,+    pattern KEY_F24                         ,+    pattern KEY_F23                         ,+    pattern KEY_F22                         ,+    pattern KEY_F21                         ,+    pattern KEY_F20                         ,+    pattern KEY_F2                          ,+    pattern KEY_F19                         ,+    pattern KEY_F18                         ,+    pattern KEY_F17                         ,+    pattern KEY_F16                         ,+    pattern KEY_F15                         ,+    pattern KEY_F14                         ,+    pattern KEY_F13                         ,+    pattern KEY_F12                         ,+    pattern KEY_F11                         ,+    pattern KEY_F10                         ,+    pattern KEY_F1                          ,+    pattern KEY_F                           ,+    pattern KEY_Explorer                    ,+    pattern KEY_Execute                     ,+    pattern KEY_Excel                       ,+    pattern KEY_EuroSign                    ,+    pattern KEY_Etilde                      ,+    pattern KEY_Eth                         ,+    pattern KEY_Escape                      ,+    pattern KEY_Eogonek                     ,+    pattern KEY_End                         ,+    pattern KEY_Emacron                     ,+    pattern KEY_Eject                       ,+    pattern KEY_Eisu_toggle                 ,+    pattern KEY_Eisu_Shift                  ,+    pattern KEY_Ehook                       ,+    pattern KEY_Egrave                      ,+    pattern KEY_Ediaeresis                  ,+    pattern KEY_EcuSign                     ,+    pattern KEY_Ecircumflextilde            ,+    pattern KEY_Ecircumflexhook             ,+    pattern KEY_Ecircumflexgrave            ,+    pattern KEY_Ecircumflexbelowdot         ,+    pattern KEY_Ecircumflexacute            ,+    pattern KEY_Ecircumflex                 ,+    pattern KEY_Ecaron                      ,+    pattern KEY_Ebelowdot                   ,+    pattern KEY_Eacute                      ,+    pattern KEY_Eabovedot                   ,+    pattern KEY_EZH                         ,+    pattern KEY_ETH                         ,+    pattern KEY_ENG                         ,+    pattern KEY_E                           ,+    pattern KEY_Dstroke                     ,+    pattern KEY_Down                        ,+    pattern KEY_DongSign                    ,+    pattern KEY_Documents                   ,+    pattern KEY_Display                     ,+    pattern KEY_Delete                      ,+    pattern KEY_Dcaron                      ,+    pattern KEY_Dabovedot                   ,+    pattern KEY_DOS                         ,+    pattern KEY_D                           ,+    pattern KEY_Cyrillic_zhe_descender      ,+    pattern KEY_Cyrillic_zhe                ,+    pattern KEY_Cyrillic_ze                 ,+    pattern KEY_Cyrillic_yu                 ,+    pattern KEY_Cyrillic_yeru               ,+    pattern KEY_Cyrillic_ya                 ,+    pattern KEY_Cyrillic_ve                 ,+    pattern KEY_Cyrillic_u_straight_bar     ,+    pattern KEY_Cyrillic_u_straight         ,+    pattern KEY_Cyrillic_u_macron           ,+    pattern KEY_Cyrillic_u                  ,+    pattern KEY_Cyrillic_tse                ,+    pattern KEY_Cyrillic_te                 ,+    pattern KEY_Cyrillic_softsign           ,+    pattern KEY_Cyrillic_shorti             ,+    pattern KEY_Cyrillic_shha               ,+    pattern KEY_Cyrillic_shcha              ,+    pattern KEY_Cyrillic_sha                ,+    pattern KEY_Cyrillic_schwa              ,+    pattern KEY_Cyrillic_pe                 ,+    pattern KEY_Cyrillic_o_bar              ,+    pattern KEY_Cyrillic_o                  ,+    pattern KEY_Cyrillic_nje                ,+    pattern KEY_Cyrillic_lje                ,+    pattern KEY_Cyrillic_ka_vertstroke      ,+    pattern KEY_Cyrillic_ka_descender       ,+    pattern KEY_Cyrillic_ka                 ,+    pattern KEY_Cyrillic_je                 ,+    pattern KEY_Cyrillic_io                 ,+    pattern KEY_Cyrillic_ie                 ,+    pattern KEY_Cyrillic_i_macron           ,+    pattern KEY_Cyrillic_i                  ,+    pattern KEY_Cyrillic_hardsign           ,+    pattern KEY_Cyrillic_ha_descender       ,+    pattern KEY_Cyrillic_ha                 ,+    pattern KEY_Cyrillic_ghe_bar            ,+    pattern KEY_Cyrillic_ghe                ,+    pattern KEY_Cyrillic_es                 ,+    pattern KEY_Cyrillic_er                 ,+    pattern KEY_Cyrillic_en_descender       ,+    pattern KEY_Cyrillic_en                 ,+    pattern KEY_Cyrillic_em                 ,+    pattern KEY_Cyrillic_el                 ,+    pattern KEY_Cyrillic_ef                 ,+    pattern KEY_Cyrillic_e                  ,+    pattern KEY_Cyrillic_dzhe               ,+    pattern KEY_Cyrillic_de                 ,+    pattern KEY_Cyrillic_che_vertstroke     ,+    pattern KEY_Cyrillic_che_descender      ,+    pattern KEY_Cyrillic_che                ,+    pattern KEY_Cyrillic_be                 ,+    pattern KEY_Cyrillic_a                  ,+    pattern KEY_Cyrillic_ZHE_descender      ,+    pattern KEY_Cyrillic_ZHE                ,+    pattern KEY_Cyrillic_ZE                 ,+    pattern KEY_Cyrillic_YU                 ,+    pattern KEY_Cyrillic_YERU               ,+    pattern KEY_Cyrillic_YA                 ,+    pattern KEY_Cyrillic_VE                 ,+    pattern KEY_Cyrillic_U_straight_bar     ,+    pattern KEY_Cyrillic_U_straight         ,+    pattern KEY_Cyrillic_U_macron           ,+    pattern KEY_Cyrillic_U                  ,+    pattern KEY_Cyrillic_TSE                ,+    pattern KEY_Cyrillic_TE                 ,+    pattern KEY_Cyrillic_SOFTSIGN           ,+    pattern KEY_Cyrillic_SHORTI             ,+    pattern KEY_Cyrillic_SHHA               ,+    pattern KEY_Cyrillic_SHCHA              ,+    pattern KEY_Cyrillic_SHA                ,+    pattern KEY_Cyrillic_SCHWA              ,+    pattern KEY_Cyrillic_PE                 ,+    pattern KEY_Cyrillic_O_bar              ,+    pattern KEY_Cyrillic_O                  ,+    pattern KEY_Cyrillic_NJE                ,+    pattern KEY_Cyrillic_LJE                ,+    pattern KEY_Cyrillic_KA_vertstroke      ,+    pattern KEY_Cyrillic_KA_descender       ,+    pattern KEY_Cyrillic_KA                 ,+    pattern KEY_Cyrillic_JE                 ,+    pattern KEY_Cyrillic_I_macron           ,+    pattern KEY_Cyrillic_IO                 ,+    pattern KEY_Cyrillic_IE                 ,+    pattern KEY_Cyrillic_I                  ,+    pattern KEY_Cyrillic_HA_descender       ,+    pattern KEY_Cyrillic_HARDSIGN           ,+    pattern KEY_Cyrillic_HA                 ,+    pattern KEY_Cyrillic_GHE_bar            ,+    pattern KEY_Cyrillic_GHE                ,+    pattern KEY_Cyrillic_ES                 ,+    pattern KEY_Cyrillic_ER                 ,+    pattern KEY_Cyrillic_EN_descender       ,+    pattern KEY_Cyrillic_EN                 ,+    pattern KEY_Cyrillic_EM                 ,+    pattern KEY_Cyrillic_EL                 ,+    pattern KEY_Cyrillic_EF                 ,+    pattern KEY_Cyrillic_E                  ,+    pattern KEY_Cyrillic_DZHE               ,+    pattern KEY_Cyrillic_DE                 ,+    pattern KEY_Cyrillic_CHE_vertstroke     ,+    pattern KEY_Cyrillic_CHE_descender      ,+    pattern KEY_Cyrillic_CHE                ,+    pattern KEY_Cyrillic_BE                 ,+    pattern KEY_Cyrillic_A                  ,+    pattern KEY_CycleAngle                  ,+    pattern KEY_Cut                         ,+    pattern KEY_CruzeiroSign                ,+    pattern KEY_Copy                        ,+    pattern KEY_Control_R                   ,+    pattern KEY_Control_L                   ,+    pattern KEY_ContrastAdjust              ,+    pattern KEY_Community                   ,+    pattern KEY_ColonSign                   ,+    pattern KEY_Codeinput                   ,+    pattern KEY_Close                       ,+    pattern KEY_ClearGrab                   ,+    pattern KEY_Clear                       ,+    pattern KEY_Ch                          ,+    pattern KEY_Ccircumflex                 ,+    pattern KEY_Ccedilla                    ,+    pattern KEY_Ccaron                      ,+    pattern KEY_Caps_Lock                   ,+    pattern KEY_Cancel                      ,+    pattern KEY_Calendar                    ,+    pattern KEY_Calculator                  ,+    pattern KEY_Cacute                      ,+    pattern KEY_Cabovedot                   ,+    pattern KEY_C_h                         ,+    pattern KEY_C_H                         ,+    pattern KEY_CH                          ,+    pattern KEY_CD                          ,+    pattern KEY_C                           ,+    pattern KEY_Byelorussian_shortu         ,+    pattern KEY_Byelorussian_SHORTU         ,+    pattern KEY_BrightnessAdjust            ,+    pattern KEY_Break                       ,+    pattern KEY_BounceKeys_Enable           ,+    pattern KEY_Book                        ,+    pattern KEY_Bluetooth                   ,+    pattern KEY_Blue                        ,+    pattern KEY_Begin                       ,+    pattern KEY_Battery                     ,+    pattern KEY_BackSpace                   ,+    pattern KEY_BackForward                 ,+    pattern KEY_Back                        ,+    pattern KEY_Babovedot                   ,+    pattern KEY_B                           ,+    pattern KEY_Away                        ,+    pattern KEY_AudioStop                   ,+    pattern KEY_AudioRewind                 ,+    pattern KEY_AudioRepeat                 ,+    pattern KEY_AudioRecord                 ,+    pattern KEY_AudioRandomPlay             ,+    pattern KEY_AudioRaiseVolume            ,+    pattern KEY_AudioPrev                   ,+    pattern KEY_AudioPlay                   ,+    pattern KEY_AudioPause                  ,+    pattern KEY_AudioNext                   ,+    pattern KEY_AudioMute                   ,+    pattern KEY_AudioMicMute                ,+    pattern KEY_AudioMedia                  ,+    pattern KEY_AudioLowerVolume            ,+    pattern KEY_AudioForward                ,+    pattern KEY_AudioCycleTrack             ,+    pattern KEY_AudibleBell_Enable          ,+    pattern KEY_Atilde                      ,+    pattern KEY_Armenian_zhe                ,+    pattern KEY_Armenian_za                 ,+    pattern KEY_Armenian_yentamna           ,+    pattern KEY_Armenian_yech               ,+    pattern KEY_Armenian_vyun               ,+    pattern KEY_Armenian_vo                 ,+    pattern KEY_Armenian_vev                ,+    pattern KEY_Armenian_verjaket           ,+    pattern KEY_Armenian_tyun               ,+    pattern KEY_Armenian_tso                ,+    pattern KEY_Armenian_tsa                ,+    pattern KEY_Armenian_to                 ,+    pattern KEY_Armenian_tche               ,+    pattern KEY_Armenian_shesht             ,+    pattern KEY_Armenian_sha                ,+    pattern KEY_Armenian_separation_mark    ,+    pattern KEY_Armenian_se                 ,+    pattern KEY_Armenian_re                 ,+    pattern KEY_Armenian_ra                 ,+    pattern KEY_Armenian_question           ,+    pattern KEY_Armenian_pyur               ,+    pattern KEY_Armenian_pe                 ,+    pattern KEY_Armenian_paruyk             ,+    pattern KEY_Armenian_o                  ,+    pattern KEY_Armenian_nu                 ,+    pattern KEY_Armenian_men                ,+    pattern KEY_Armenian_lyun               ,+    pattern KEY_Armenian_ligature_ew        ,+    pattern KEY_Armenian_khe                ,+    pattern KEY_Armenian_ken                ,+    pattern KEY_Armenian_ke                 ,+    pattern KEY_Armenian_je                 ,+    pattern KEY_Armenian_ini                ,+    pattern KEY_Armenian_hyphen             ,+    pattern KEY_Armenian_ho                 ,+    pattern KEY_Armenian_hi                 ,+    pattern KEY_Armenian_gim                ,+    pattern KEY_Armenian_ghat               ,+    pattern KEY_Armenian_full_stop          ,+    pattern KEY_Armenian_fe                 ,+    pattern KEY_Armenian_exclam             ,+    pattern KEY_Armenian_e                  ,+    pattern KEY_Armenian_dza                ,+    pattern KEY_Armenian_da                 ,+    pattern KEY_Armenian_cha                ,+    pattern KEY_Armenian_but                ,+    pattern KEY_Armenian_ben                ,+    pattern KEY_Armenian_ayb                ,+    pattern KEY_Armenian_at                 ,+    pattern KEY_Armenian_apostrophe         ,+    pattern KEY_Armenian_amanak             ,+    pattern KEY_Armenian_accent             ,+    pattern KEY_Armenian_ZHE                ,+    pattern KEY_Armenian_ZA                 ,+    pattern KEY_Armenian_YECH               ,+    pattern KEY_Armenian_VYUN               ,+    pattern KEY_Armenian_VO                 ,+    pattern KEY_Armenian_VEV                ,+    pattern KEY_Armenian_TYUN               ,+    pattern KEY_Armenian_TSO                ,+    pattern KEY_Armenian_TSA                ,+    pattern KEY_Armenian_TO                 ,+    pattern KEY_Armenian_TCHE               ,+    pattern KEY_Armenian_SHA                ,+    pattern KEY_Armenian_SE                 ,+    pattern KEY_Armenian_RE                 ,+    pattern KEY_Armenian_RA                 ,+    pattern KEY_Armenian_PYUR               ,+    pattern KEY_Armenian_PE                 ,+    pattern KEY_Armenian_O                  ,+    pattern KEY_Armenian_NU                 ,+    pattern KEY_Armenian_MEN                ,+    pattern KEY_Armenian_LYUN               ,+    pattern KEY_Armenian_KHE                ,+    pattern KEY_Armenian_KEN                ,+    pattern KEY_Armenian_KE                 ,+    pattern KEY_Armenian_JE                 ,+    pattern KEY_Armenian_INI                ,+    pattern KEY_Armenian_HO                 ,+    pattern KEY_Armenian_HI                 ,+    pattern KEY_Armenian_GIM                ,+    pattern KEY_Armenian_GHAT               ,+    pattern KEY_Armenian_FE                 ,+    pattern KEY_Armenian_E                  ,+    pattern KEY_Armenian_DZA                ,+    pattern KEY_Armenian_DA                 ,+    pattern KEY_Armenian_CHA                ,+    pattern KEY_Armenian_BEN                ,+    pattern KEY_Armenian_AYB                ,+    pattern KEY_Armenian_AT                 ,+    pattern KEY_Aring                       ,+    pattern KEY_Arabic_zain                 ,+    pattern KEY_Arabic_zah                  ,+    pattern KEY_Arabic_yeh_baree            ,+    pattern KEY_Arabic_yeh                  ,+    pattern KEY_Arabic_waw                  ,+    pattern KEY_Arabic_veh                  ,+    pattern KEY_Arabic_tteh                 ,+    pattern KEY_Arabic_theh                 ,+    pattern KEY_Arabic_thal                 ,+    pattern KEY_Arabic_tehmarbuta           ,+    pattern KEY_Arabic_teh                  ,+    pattern KEY_Arabic_tcheh                ,+    pattern KEY_Arabic_tatweel              ,+    pattern KEY_Arabic_tah                  ,+    pattern KEY_Arabic_switch               ,+    pattern KEY_Arabic_superscript_alef     ,+    pattern KEY_Arabic_sukun                ,+    pattern KEY_Arabic_sheen                ,+    pattern KEY_Arabic_shadda               ,+    pattern KEY_Arabic_semicolon            ,+    pattern KEY_Arabic_seen                 ,+    pattern KEY_Arabic_sad                  ,+    pattern KEY_Arabic_rreh                 ,+    pattern KEY_Arabic_ra                   ,+    pattern KEY_Arabic_question_mark        ,+    pattern KEY_Arabic_qaf                  ,+    pattern KEY_Arabic_percent              ,+    pattern KEY_Arabic_peh                  ,+    pattern KEY_Arabic_noon_ghunna          ,+    pattern KEY_Arabic_noon                 ,+    pattern KEY_Arabic_meem                 ,+    pattern KEY_Arabic_maddaonalef          ,+    pattern KEY_Arabic_madda_above          ,+    pattern KEY_Arabic_lam                  ,+    pattern KEY_Arabic_khah                 ,+    pattern KEY_Arabic_keheh                ,+    pattern KEY_Arabic_kasratan             ,+    pattern KEY_Arabic_kasra                ,+    pattern KEY_Arabic_kaf                  ,+    pattern KEY_Arabic_jeh                  ,+    pattern KEY_Arabic_jeem                 ,+    pattern KEY_Arabic_heh_goal             ,+    pattern KEY_Arabic_heh_doachashmee      ,+    pattern KEY_Arabic_heh                  ,+    pattern KEY_Arabic_hamzaunderalef       ,+    pattern KEY_Arabic_hamzaonyeh           ,+    pattern KEY_Arabic_hamzaonwaw           ,+    pattern KEY_Arabic_hamzaonalef          ,+    pattern KEY_Arabic_hamza_below          ,+    pattern KEY_Arabic_hamza_above          ,+    pattern KEY_Arabic_hamza                ,+    pattern KEY_Arabic_hah                  ,+    pattern KEY_Arabic_ha                   ,+    pattern KEY_Arabic_ghain                ,+    pattern KEY_Arabic_gaf                  ,+    pattern KEY_Arabic_fullstop             ,+    pattern KEY_Arabic_feh                  ,+    pattern KEY_Arabic_fathatan             ,+    pattern KEY_Arabic_fatha                ,+    pattern KEY_Arabic_farsi_yeh            ,+    pattern KEY_Arabic_ddal                 ,+    pattern KEY_Arabic_dammatan             ,+    pattern KEY_Arabic_damma                ,+    pattern KEY_Arabic_dal                  ,+    pattern KEY_Arabic_dad                  ,+    pattern KEY_Arabic_comma                ,+    pattern KEY_Arabic_beh                  ,+    pattern KEY_Arabic_alefmaksura          ,+    pattern KEY_Arabic_alef                 ,+    pattern KEY_Arabic_ain                  ,+    pattern KEY_Arabic_9                    ,+    pattern KEY_Arabic_8                    ,+    pattern KEY_Arabic_7                    ,+    pattern KEY_Arabic_6                    ,+    pattern KEY_Arabic_5                    ,+    pattern KEY_Arabic_4                    ,+    pattern KEY_Arabic_3                    ,+    pattern KEY_Arabic_2                    ,+    pattern KEY_Arabic_1                    ,+    pattern KEY_Arabic_0                    ,+    pattern KEY_ApplicationRight            ,+    pattern KEY_ApplicationLeft             ,+    pattern KEY_Aogonek                     ,+    pattern KEY_Amacron                     ,+    pattern KEY_Alt_R                       ,+    pattern KEY_Alt_L                       ,+    pattern KEY_Ahook                       ,+    pattern KEY_Agrave                      ,+    pattern KEY_Adiaeresis                  ,+    pattern KEY_AddFavorite                 ,+    pattern KEY_Acircumflextilde            ,+    pattern KEY_Acircumflexhook             ,+    pattern KEY_Acircumflexgrave            ,+    pattern KEY_Acircumflexbelowdot         ,+    pattern KEY_Acircumflexacute            ,+    pattern KEY_Acircumflex                 ,+    pattern KEY_AccessX_Feedback_Enable     ,+    pattern KEY_AccessX_Enable              ,+    pattern KEY_Abrevetilde                 ,+    pattern KEY_Abrevehook                  ,+    pattern KEY_Abrevegrave                 ,+    pattern KEY_Abrevebelowdot              ,+    pattern KEY_Abreveacute                 ,+    pattern KEY_Abreve                      ,+    pattern KEY_Abelowdot                   ,+    pattern KEY_Aacute                      ,+    pattern KEY_AE                          ,+    pattern KEY_A                           ,+    pattern KEY_9                           ,+    pattern KEY_8                           ,+    pattern KEY_7                           ,+    pattern KEY_6                           ,+    pattern KEY_5                           ,+    pattern KEY_4                           ,+    pattern KEY_3270_Test                   ,+    pattern KEY_3270_Setup                  ,+    pattern KEY_3270_Rule                   ,+    pattern KEY_3270_Right2                 ,+    pattern KEY_3270_Reset                  ,+    pattern KEY_3270_Record                 ,+    pattern KEY_3270_Quit                   ,+    pattern KEY_3270_PrintScreen            ,+    pattern KEY_3270_Play                   ,+    pattern KEY_3270_PA3                    ,+    pattern KEY_3270_PA2                    ,+    pattern KEY_3270_PA1                    ,+    pattern KEY_3270_Left2                  ,+    pattern KEY_3270_KeyClick               ,+    pattern KEY_3270_Jump                   ,+    pattern KEY_3270_Ident                  ,+    pattern KEY_3270_FieldMark              ,+    pattern KEY_3270_ExSelect               ,+    pattern KEY_3270_EraseInput             ,+    pattern KEY_3270_EraseEOF               ,+    pattern KEY_3270_Enter                  ,+    pattern KEY_3270_Duplicate              ,+    pattern KEY_3270_DeleteWord             ,+    pattern KEY_3270_CursorSelect           ,+    pattern KEY_3270_CursorBlink            ,+    pattern KEY_3270_Copy                   ,+    pattern KEY_3270_ChangeScreen           ,+    pattern KEY_3270_BackTab                ,+    pattern KEY_3270_Attn                   ,+    pattern KEY_3270_AltCursor              ,+    pattern KEY_3                           ,+    pattern KEY_2                           ,+    pattern KEY_1                           ,+    pattern KEY_0                           ,+    pattern EVENT_STOP                      ,+    pattern EVENT_PROPAGATE                 ,+    pattern CURRENT_TIME                    ,+    pattern BUTTON_SECONDARY                ,+    pattern BUTTON_PRIMARY                  ,+    pattern BUTTON_MIDDLE                   ,++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++{- |+This is the priority that the idle handler processing window updates+is given in the+[GLib Main Loop][glib-The-Main-Event-Loop].+-}+pattern PRIORITY_REDRAW = 120 :: Int32++{- |+A special value, indicating that the background+for a window should be inherited from the parent window.+-}+pattern PARENT_RELATIVE = 1 :: Int32++{- |+/No description available in the introspection data./+-}+pattern MINOR_VERSION = 24 :: Int32++{- |+/No description available in the introspection data./+-}+pattern MICRO_VERSION = 8 :: Int32++{- |+/No description available in the introspection data./+-}+pattern MAX_TIMECOORD_AXES = 128 :: Int32++{- |+/No description available in the introspection data./+-}+pattern MAJOR_VERSION = 3 :: Int32++{- |+/No description available in the introspection data./+-}+pattern KEY_zstroke = 16777654 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_zerosuperior = 16785520 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_zerosubscript = 16785536 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_zcaron = 446 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_zacute = 444 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_zabovedot = 447 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_z = 122 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ytilde = 16785145 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_yhook = 16785143 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ygrave = 16785139 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_yen = 165 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ydiaeresis = 255 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ycircumflex = 16777591 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ybelowdot = 16785141 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_yacute = 253 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_y = 121 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_xabovedot = 16785035 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_x = 120 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_wgrave = 16785025 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_wdiaeresis = 16785029 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_wcircumflex = 16777589 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_wacute = 16785027 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_w = 119 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_vt = 2537 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_voicedsound = 1246 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_vertconnector = 2214 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_vertbar = 2552 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_variation = 2241 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_v = 118 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_utilde = 1021 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_uring = 505 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_uptack = 3022 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_upstile = 3027 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_upshoe = 3011 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_uprightcorner = 2539 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_upleftcorner = 2540 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_upcaret = 2985 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_uparrow = 2300 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_uogonek = 1017 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_union = 2269 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_underscore = 95 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_underbar = 3014 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_umacron = 1022 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_uhorntilde = 16785135 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_uhornhook = 16785133 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_uhorngrave = 16785131 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_uhornbelowdot = 16785137 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_uhornacute = 16785129 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_uhorn = 16777648 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_uhook = 16785127 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ugrave = 249 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_udoubleacute = 507 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_udiaeresis = 252 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ucircumflex = 251 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ubreve = 765 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ubelowdot = 16785125 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_uacute = 250 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_u = 117 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_twothirds = 2737 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_twosuperior = 178 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_twosubscript = 16785538 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_twofifths = 2739 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_tslash = 956 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_trademarkincircle = 2763 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_trademark = 2761 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_topvertsummationconnector = 2227 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_topt = 2551 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_toprightsummation = 2229 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_toprightsqbracket = 2217 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_toprightparens = 2221 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_topleftsummation = 2225 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_topleftsqbracket = 2215 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_topleftradical = 2210 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_topleftparens = 2219 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_topintegral = 2212 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_tintegral = 16785965 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_threesuperior = 179 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_threesubscript = 16785539 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_threequarters = 190 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_threefifths = 2740 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_threeeighths = 2756 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_thorn = 254 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_thinspace = 2727 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_therefore = 2240 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_telephonerecorder = 2810 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_telephone = 2809 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_tcedilla = 510 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_tcaron = 443 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_tabovedot = 16785003 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_t = 116 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_stricteq = 16786019 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_sterling = 163 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ssharp = 223 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_squareroot = 16785946 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_space = 32 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_soliddiamond = 2528 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_slash = 47 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_sixsuperior = 16785526 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_sixsubscript = 16785542 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_singlelowquotemark = 2813 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_similarequal = 2249 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_signifblank = 2732 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_signaturemark = 2762 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_sevensuperior = 16785527 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_sevensubscript = 16785543 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_seveneighths = 2758 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_semivoicedsound = 1247 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_semicolon = 59 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_section = 167 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_seconds = 2775 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_script_switch = 65406 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_scircumflex = 766 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_schwa = 16777817 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_scedilla = 442 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_scaron = 441 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_sacute = 438 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_sabovedot = 16784993 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_s = 115 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_righttack = 3068 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_rightt = 2549 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_rightsinglequotemark = 2769 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_rightshoe = 3032 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_rightpointer = 2795 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_rightopentriangle = 2765 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_rightmiddlesummation = 2231 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_rightmiddlecurlybrace = 2224 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_rightdoublequotemark = 2771 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_rightcaret = 2982 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_rightarrow = 2301 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_rightanglebracket = 2750 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_registered = 174 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_rcedilla = 947 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_rcaron = 504 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_radical = 2262 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_racute = 480 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_r = 114 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_quoteright = 39 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_quoteleft = 96 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_quotedbl = 34 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_questiondown = 191 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_question = 63 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_quad = 3020 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_q = 113 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_punctspace = 2726 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_prolongedsound = 1200 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_prescription = 2772 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_plusminus = 177 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_plus = 43 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_phonographcopyright = 2811 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_permille = 2773 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_periodcentered = 183 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_period = 46 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_percent = 37 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_partialderivative = 2287 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_partdifferential = 16785922 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_parenright = 41 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_parenleft = 40 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_paragraph = 182 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_pabovedot = 16784983 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_p = 112 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_overline = 1150 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_overbar = 3008 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_otilde = 245 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_oslash = 248 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ordfeminine = 170 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_opentribulletup = 2787 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_opentribulletdown = 2788 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_openstar = 2789 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_openrectbullet = 2786 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ooblique = 248 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_onethird = 2736 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_onesuperior = 185 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_onesubscript = 16785537 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_onesixth = 2742 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_onequarter = 188 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_onehalf = 189 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_onefifth = 2738 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_oneeighth = 2755 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_omacron = 1010 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ohorntilde = 16785121 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ohornhook = 16785119 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ohorngrave = 16785117 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ohornbelowdot = 16785123 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ohornacute = 16785115 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ohorn = 16777633 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ohook = 16785103 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ograve = 242 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ogonek = 434 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_oe = 5053 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_odoubleacute = 501 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_odiaeresis = 246 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ocircumflextilde = 16785111 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ocircumflexhook = 16785109 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ocircumflexgrave = 16785107 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ocircumflexbelowdot = 16785113 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ocircumflexacute = 16785105 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ocircumflex = 244 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ocaron = 16777682 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_obelowdot = 16785101 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_obarred = 16777845 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_oacute = 243 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_o = 111 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_numerosign = 1712 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_numbersign = 35 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ntilde = 241 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_notsign = 172 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_notidentical = 16786018 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_notequal = 2237 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_notelementof = 16785929 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_notapproxeq = 16785991 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_nobreakspace = 160 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_nl = 2536 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ninesuperior = 16785529 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ninesubscript = 16785545 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ncedilla = 1009 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ncaron = 498 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_nacute = 497 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_nabla = 2245 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_n = 110 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_musicalsharp = 2805 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_musicalflat = 2806 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_multiply = 215 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_mu = 181 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_minutes = 2774 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_minus = 45 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_masculine = 186 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_marker = 2751 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_maltesecross = 2800 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_malesymbol = 2807 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_macron = 175 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_mabovedot = 16784961 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_m = 109 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_lstroke = 435 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_lowrightcorner = 2538 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_lowleftcorner = 2541 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_logicalor = 2271 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_logicaland = 2270 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_lf = 2533 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_lessthanequal = 2236 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_less = 60 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_lefttack = 3036 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_leftt = 2548 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_leftsinglequotemark = 2768 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_leftshoe = 3034 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_leftradical = 2209 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_leftpointer = 2794 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_leftopentriangle = 2764 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_leftmiddlecurlybrace = 2223 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_leftdoublequotemark = 2770 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_leftcaret = 2979 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_leftarrow = 2299 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_leftanglebracket = 2748 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_lcedilla = 950 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_lcaron = 437 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_lbelowdot = 16784951 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_latincross = 2777 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_lacute = 485 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_l = 108 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kra = 930 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kcedilla = 1011 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kappa = 930 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_yu = 1197 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_yo = 1198 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_ya = 1196 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_u = 1193 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_tu = 1199 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_tsu = 1199 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_switch = 65406 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_openingbracket = 1186 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_o = 1195 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_middledot = 1189 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_i = 1192 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_fullstop = 1185 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_e = 1194 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_conjunctive = 1189 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_comma = 1188 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_closingbracket = 1187 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_a = 1191 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_YU = 1237 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_YO = 1238 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_YA = 1236 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_WO = 1190 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_WA = 1244 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_U = 1203 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_TU = 1218 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_TSU = 1218 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_TO = 1220 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_TI = 1217 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_TE = 1219 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_TA = 1216 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_SU = 1213 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_SO = 1215 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_SHI = 1212 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_SE = 1214 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_SA = 1211 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_RU = 1241 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_RO = 1243 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_RI = 1240 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_RE = 1242 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_RA = 1239 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_O = 1205 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_NU = 1223 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_NO = 1225 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_NI = 1222 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_NE = 1224 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_NA = 1221 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_N = 1245 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_MU = 1233 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_MO = 1235 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_MI = 1232 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_ME = 1234 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_MA = 1231 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_KU = 1208 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_KO = 1210 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_KI = 1207 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_KE = 1209 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_KA = 1206 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_I = 1202 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_HU = 1228 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_HO = 1230 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_HI = 1227 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_HE = 1229 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_HA = 1226 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_FU = 1228 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_E = 1204 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_CHI = 1217 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_kana_A = 1201 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_k = 107 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_jot = 3018 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_jcircumflex = 700 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_j = 106 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_itilde = 949 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_iogonek = 999 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_intersection = 2268 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_integral = 2239 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_infinity = 2242 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_includes = 2267 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_includedin = 2266 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_implies = 2254 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_imacron = 1007 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ihook = 16785097 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_igrave = 236 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ifonlyif = 2253 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_idotless = 697 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_idiaeresis = 239 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_identical = 2255 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_icircumflex = 238 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ibreve = 16777517 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ibelowdot = 16785099 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_iacute = 237 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_iTouch = 269025120 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_i = 105 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hyphen = 173 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ht = 2530 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hstroke = 689 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_horizlinescan9 = 2547 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_horizlinescan7 = 2546 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_horizlinescan5 = 2545 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_horizlinescan3 = 2544 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_horizlinescan1 = 2543 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_horizconnector = 2211 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hexagram = 2778 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_zayin = 3302 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_zain = 3302 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_zadi = 3318 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_zade = 3318 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_yod = 3305 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_waw = 3301 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_teth = 3304 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_tet = 3304 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_taw = 3322 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_taf = 3322 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_shin = 3321 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_samekh = 3313 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_samech = 3313 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_resh = 3320 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_qoph = 3319 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_pe = 3316 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_nun = 3312 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_mem = 3310 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_lamed = 3308 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_kuf = 3319 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_kaph = 3307 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_het = 3303 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_he = 3300 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_gimmel = 3298 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_gimel = 3298 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_finalzadi = 3317 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_finalzade = 3317 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_finalpe = 3315 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_finalnun = 3311 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_finalmem = 3309 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_finalkaph = 3306 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_doublelowline = 3295 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_daleth = 3299 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_dalet = 3299 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_chet = 3303 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_beth = 3297 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_bet = 3297 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_ayin = 3314 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hebrew_aleph = 3296 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_heart = 2798 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hcircumflex = 694 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_hairspace = 2728 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_h = 104 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_guillemotright = 187 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_guillemotleft = 171 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_greaterthanequal = 2238 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_greater = 62 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_grave = 96 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_gcircumflex = 760 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_gcedilla = 955 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_gcaron = 16777703 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_gbreve = 699 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_gabovedot = 757 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_g = 103 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_function = 2294 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_fourthroot = 16785948 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_foursuperior = 16785524 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_foursubscript = 16785540 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_fourfifths = 2741 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_fivesuperior = 16785525 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_fivesubscript = 16785541 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_fivesixths = 2743 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_fiveeighths = 2757 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_filledtribulletup = 2792 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_filledtribulletdown = 2793 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_filledrighttribullet = 2781 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_filledrectbullet = 2779 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_filledlefttribullet = 2780 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_figdash = 2747 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ff = 2531 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_femalesymbol = 2808 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_fabovedot = 16784927 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_f = 102 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ezh = 16777874 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_exclamdown = 161 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_exclam = 33 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_etilde = 16785085 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_eth = 240 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_equal = 61 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_eogonek = 490 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_enspace = 2722 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_enopensquarebullet = 2785 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_enopencircbullet = 2784 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_eng = 959 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_enfilledsqbullet = 2791 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_enfilledcircbullet = 2790 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_endash = 2730 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_emspace = 2721 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_emptyset = 16785925 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_emopenrectangle = 2767 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_emopencircle = 2766 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_emfilledrect = 2783 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_emfilledcircle = 2782 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_emdash = 2729 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_emacron = 954 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_em4space = 2724 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_em3space = 2723 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ellipsis = 2734 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_elementof = 16785928 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_eightsuperior = 16785528 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_eightsubscript = 16785544 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ehook = 16785083 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_egrave = 232 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ediaeresis = 235 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ecircumflextilde = 16785093 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ecircumflexhook = 16785091 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ecircumflexgrave = 16785089 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ecircumflexbelowdot = 16785095 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ecircumflexacute = 16785087 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ecircumflex = 234 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ecaron = 492 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ebelowdot = 16785081 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_eacute = 233 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_eabovedot = 1004 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_e = 101 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dstroke = 496 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_downtack = 3010 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_downstile = 3012 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_downshoe = 3030 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_downcaret = 2984 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_downarrow = 2302 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_doublelowquotemark = 2814 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_doubledagger = 2802 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_doubleacute = 445 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_doubbaselinedot = 2735 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dollar = 36 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_division = 247 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dintegral = 16785964 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_digitspace = 2725 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_diamond = 2797 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_diaeresis = 168 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_degree = 176 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_decimalpoint = 2749 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_voiced_sound = 65118 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_u = 65160 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_tilde = 65107 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_stroke = 65123 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_small_schwa = 65162 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_semivoiced_sound = 65119 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_psili = 65124 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_perispomeni = 65107 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_ogonek = 65116 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_o = 65158 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_macron = 65108 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_iota = 65117 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_invertedbreve = 65133 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_i = 65156 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_horn = 65122 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_hook = 65121 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_greek = 65164 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_grave = 65104 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_e = 65154 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_doublegrave = 65126 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_doubleacute = 65113 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_diaeresis = 65111 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_dasia = 65125 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_currency = 65135 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_circumflex = 65106 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_cedilla = 65115 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_caron = 65114 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_capital_schwa = 65163 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_breve = 65109 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_belowtilde = 65130 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_belowring = 65127 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_belowmacron = 65128 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_belowdot = 65120 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_belowdiaeresis = 65132 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_belowcomma = 65134 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_belowcircumflex = 65129 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_belowbreve = 65131 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_acute = 65105 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_abovering = 65112 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_abovereversedcomma = 65125 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_abovedot = 65110 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_abovecomma = 65124 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_a = 65152 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_U = 65161 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_O = 65159 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_I = 65157 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_E = 65155 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dead_A = 65153 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dcaron = 495 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dagger = 2801 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_dabovedot = 16784907 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_d = 100 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_cursor = 2815 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_currency = 164 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_cuberoot = 16785947 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_crossinglines = 2542 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_cr = 2532 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_copyright = 169 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_containsas = 16785931 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_comma = 44 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_colon = 58 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_club = 2796 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_circle = 3023 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_checkmark = 2803 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_checkerboard = 2529 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ch = 65184 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_cent = 162 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_cedilla = 184 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ccircumflex = 742 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ccedilla = 231 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ccaron = 488 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_caron = 439 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_caret = 2812 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_careof = 2744 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_cacute = 486 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_cabovedot = 741 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_c_h = 65187 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_c = 99 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_brokenbar = 166 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_breve = 418 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_8 = 16787584 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_78 = 16787648 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_7 = 16787520 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_68 = 16787616 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_678 = 16787680 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_67 = 16787552 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_6 = 16787488 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_58 = 16787600 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_578 = 16787664 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_57 = 16787536 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_568 = 16787632 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_5678 = 16787696 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_567 = 16787568 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_56 = 16787504 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_5 = 16787472 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_48 = 16787592 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_478 = 16787656 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_47 = 16787528 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_468 = 16787624 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_4678 = 16787688 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_467 = 16787560 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_46 = 16787496 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_458 = 16787608 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_4578 = 16787672 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_457 = 16787544 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_4568 = 16787640 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_45678 = 16787704 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_4567 = 16787576 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_456 = 16787512 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_45 = 16787480 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_4 = 16787464 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_38 = 16787588 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_378 = 16787652 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_37 = 16787524 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_368 = 16787620 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_3678 = 16787684 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_367 = 16787556 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_36 = 16787492 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_358 = 16787604 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_3578 = 16787668 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_357 = 16787540 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_3568 = 16787636 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_35678 = 16787700 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_3567 = 16787572 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_356 = 16787508 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_35 = 16787476 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_348 = 16787596 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_3478 = 16787660 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_347 = 16787532 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_3468 = 16787628 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_34678 = 16787692 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_3467 = 16787564 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_346 = 16787500 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_3458 = 16787612 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_34578 = 16787676 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_3457 = 16787548 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_34568 = 16787644 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_345678 = 16787708 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_34567 = 16787580 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_3456 = 16787516 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_345 = 16787484 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_34 = 16787468 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_3 = 16787460 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_28 = 16787586 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_278 = 16787650 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_27 = 16787522 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_268 = 16787618 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_2678 = 16787682 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_267 = 16787554 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_26 = 16787490 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_258 = 16787602 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_2578 = 16787666 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_257 = 16787538 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_2568 = 16787634 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_25678 = 16787698 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_2567 = 16787570 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_256 = 16787506 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_25 = 16787474 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_248 = 16787594 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_2478 = 16787658 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_247 = 16787530 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_2468 = 16787626 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_24678 = 16787690 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_2467 = 16787562 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_246 = 16787498 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_2458 = 16787610 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_24578 = 16787674 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_2457 = 16787546 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_24568 = 16787642 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_245678 = 16787706 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_24567 = 16787578 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_2456 = 16787514 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_245 = 16787482 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_24 = 16787466 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_238 = 16787590 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_2378 = 16787654 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_237 = 16787526 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_2368 = 16787622 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_23678 = 16787686 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_2367 = 16787558 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_236 = 16787494 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_2358 = 16787606 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_23578 = 16787670 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_2357 = 16787542 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_23568 = 16787638 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_235678 = 16787702 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_23567 = 16787574 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_2356 = 16787510 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_235 = 16787478 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_2348 = 16787598 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_23478 = 16787662 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_2347 = 16787534 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_23468 = 16787630 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_234678 = 16787694 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_23467 = 16787566 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_2346 = 16787502 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_23458 = 16787614 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_234578 = 16787678 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_23457 = 16787550 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_234568 = 16787646 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_2345678 = 16787710 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_234567 = 16787582 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_23456 = 16787518 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_2345 = 16787486 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_234 = 16787470 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_23 = 16787462 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_2 = 16787458 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_18 = 16787585 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_178 = 16787649 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_17 = 16787521 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_168 = 16787617 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1678 = 16787681 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_167 = 16787553 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_16 = 16787489 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_158 = 16787601 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1578 = 16787665 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_157 = 16787537 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1568 = 16787633 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_15678 = 16787697 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1567 = 16787569 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_156 = 16787505 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_15 = 16787473 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_148 = 16787593 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1478 = 16787657 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_147 = 16787529 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1468 = 16787625 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_14678 = 16787689 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1467 = 16787561 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_146 = 16787497 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1458 = 16787609 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_14578 = 16787673 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1457 = 16787545 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_14568 = 16787641 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_145678 = 16787705 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_14567 = 16787577 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1456 = 16787513 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_145 = 16787481 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_14 = 16787465 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_138 = 16787589 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1378 = 16787653 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_137 = 16787525 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1368 = 16787621 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_13678 = 16787685 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1367 = 16787557 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_136 = 16787493 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1358 = 16787605 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_13578 = 16787669 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1357 = 16787541 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_13568 = 16787637 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_135678 = 16787701 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_13567 = 16787573 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1356 = 16787509 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_135 = 16787477 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1348 = 16787597 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_13478 = 16787661 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1347 = 16787533 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_13468 = 16787629 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_134678 = 16787693 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_13467 = 16787565 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1346 = 16787501 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_13458 = 16787613 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_134578 = 16787677 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_13457 = 16787549 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_134568 = 16787645 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1345678 = 16787709 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_134567 = 16787581 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_13456 = 16787517 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1345 = 16787485 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_134 = 16787469 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_13 = 16787461 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_128 = 16787587 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1278 = 16787651 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_127 = 16787523 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1268 = 16787619 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_12678 = 16787683 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1267 = 16787555 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_126 = 16787491 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1258 = 16787603 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_12578 = 16787667 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1257 = 16787539 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_12568 = 16787635 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_125678 = 16787699 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_12567 = 16787571 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1256 = 16787507 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_125 = 16787475 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1248 = 16787595 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_12478 = 16787659 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1247 = 16787531 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_12468 = 16787627 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_124678 = 16787691 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_12467 = 16787563 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1246 = 16787499 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_12458 = 16787611 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_124578 = 16787675 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_12457 = 16787547 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_124568 = 16787643 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1245678 = 16787707 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_124567 = 16787579 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_12456 = 16787515 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1245 = 16787483 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_124 = 16787467 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1238 = 16787591 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_12378 = 16787655 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1237 = 16787527 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_12368 = 16787623 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_123678 = 16787687 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_12367 = 16787559 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1236 = 16787495 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_12358 = 16787607 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_123578 = 16787671 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_12357 = 16787543 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_123568 = 16787639 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1235678 = 16787703 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_123567 = 16787575 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_12356 = 16787511 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1235 = 16787479 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_12348 = 16787599 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_123478 = 16787663 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_12347 = 16787535 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_123468 = 16787631 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1234678 = 16787695 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_123467 = 16787567 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_12346 = 16787503 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_123458 = 16787615 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1234578 = 16787679 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_123457 = 16787551 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1234568 = 16787647 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_12345678 = 16787711 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1234567 = 16787583 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_123456 = 16787519 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_12345 = 16787487 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1234 = 16787471 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_123 = 16787463 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_12 = 16787459 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dots_1 = 16787457 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dot_9 = 65529 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dot_8 = 65528 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dot_7 = 65527 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dot_6 = 65526 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dot_5 = 65525 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dot_4 = 65524 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dot_3 = 65523 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dot_2 = 65522 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dot_10 = 65530 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_dot_1 = 65521 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braille_blank = 16787456 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_bracketright = 93 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_bracketleft = 91 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braceright = 125 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_braceleft = 123 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_botvertsummationconnector = 2228 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_bott = 2550 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_botrightsummation = 2230 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_botrightsqbracket = 2218 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_botrightparens = 2222 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_botleftsummation = 2226 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_botleftsqbracket = 2216 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_botleftparens = 2220 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_botintegral = 2213 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_blank = 2527 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_because = 16785973 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_bar = 124 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ballotcross = 2804 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_backslash = 92 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_babovedot = 16784899 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_b = 98 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_atilde = 227 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_at = 64 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_asterisk = 42 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_asciitilde = 126 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_asciicircum = 94 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_aring = 229 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_approximate = 2248 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_approxeq = 16785992 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_apostrophe = 39 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_aogonek = 433 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ampersand = 38 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_amacron = 992 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ahook = 16785059 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_agrave = 224 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ae = 230 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_adiaeresis = 228 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_acute = 180 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_acircumflextilde = 16785067 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_acircumflexhook = 16785065 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_acircumflexgrave = 16785063 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_acircumflexbelowdot = 16785069 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_acircumflexacute = 16785061 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_acircumflex = 226 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_abrevetilde = 16785077 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_abrevehook = 16785075 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_abrevegrave = 16785073 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_abrevebelowdot = 16785079 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_abreveacute = 16785071 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_abreve = 483 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_abovedot = 511 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_abelowdot = 16785057 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_aacute = 225 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_a = 97 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Zstroke = 16777653 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ZoomOut = 269025164 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ZoomIn = 269025163 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Zenkaku_Hankaku = 65322 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Zenkaku = 65320 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Zen_Koho = 65341 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Zcaron = 430 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Zacute = 428 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Zabovedot = 431 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Z = 90 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ytilde = 16785144 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Yhook = 16785142 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ygrave = 16785138 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Yellow = 269025189 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ydiaeresis = 5054 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ycircumflex = 16777590 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ybelowdot = 16785140 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Yacute = 221 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Y = 89 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Xfer = 269025162 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Xabovedot = 16785034 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_X = 88 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Word = 269025161 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_WonSign = 16785577 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_WindowClear = 269025109 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_WheelButton = 269025160 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Wgrave = 16785024 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_WebCam = 269025167 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Wdiaeresis = 16785028 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Wcircumflex = 16777588 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_WakeUp = 269025067 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Wacute = 16785026 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_WWW = 269025070 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_WLAN = 269025173 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_W = 87 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_VoidSymbol = 16777215 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_View = 269025185 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Video = 269025159 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_VendorHome = 269025076 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_V = 86 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Utilde = 989 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_UserPB = 269025156 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_User2KB = 269025158 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_User1KB = 269025157 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Uring = 473 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Up = 65362 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Uogonek = 985 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ungrab = 269024800 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Undo = 65381 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Umacron = 990 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ukranian_yi = 1703 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ukranian_je = 1700 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ukranian_i = 1702 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ukranian_YI = 1719 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ukranian_JE = 1716 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ukranian_I = 1718 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ukrainian_yi = 1703 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ukrainian_ie = 1700 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ukrainian_i = 1702 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ukrainian_ghe_with_upturn = 1709 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ukrainian_YI = 1719 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ukrainian_IE = 1716 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ukrainian_I = 1718 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ukrainian_GHE_WITH_UPTURN = 1725 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Uhorntilde = 16785134 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Uhornhook = 16785132 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Uhorngrave = 16785130 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Uhornbelowdot = 16785136 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Uhornacute = 16785128 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Uhorn = 16777647 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Uhook = 16785126 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ugrave = 217 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Udoubleacute = 475 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Udiaeresis = 220 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ucircumflex = 219 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ubreve = 733 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ubelowdot = 16785124 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Uacute = 218 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_UWB = 269025174 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_U = 85 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Tslash = 940 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Travel = 269025154 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Touroku = 65323 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_TouchpadToggle = 269025193 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_TouchpadOn = 269025200 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_TouchpadOff = 269025201 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_TopMenu = 269025186 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Tools = 269025153 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ToDoList = 269025055 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Time = 269025183 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thorn = 222 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_yoying = 3501 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_yoyak = 3522 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_wowaen = 3527 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_totao = 3509 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_topatak = 3503 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_thothung = 3510 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_thothong = 3512 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_thothan = 3504 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_thothahan = 3511 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_thophuthao = 3506 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_thonangmontho = 3505 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_thanthakhat = 3564 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_sosua = 3530 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_soso = 3499 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_sosala = 3528 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_sorusi = 3529 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_sarauu = 3545 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_sarauee = 3543 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_saraue = 3542 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_sarau = 3544 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_sarao = 3554 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_saraii = 3541 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_sarai = 3540 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_sarae = 3552 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_saraam = 3539 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_saraaimaimuan = 3555 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_saraaimaimalai = 3556 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_saraae = 3553 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_saraaa = 3538 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_saraa = 3536 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_ru = 3524 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_rorua = 3523 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_popla = 3515 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_phosamphao = 3520 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_phophung = 3516 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_phophan = 3518 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_phinthu = 3546 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_paiyannoi = 3535 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_oang = 3533 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_nonu = 3513 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_nonen = 3507 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_nikhahit = 3565 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_ngongu = 3495 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_moma = 3521 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_maiyamok = 3558 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_maitri = 3562 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_maitho = 3561 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_maitaikhu = 3559 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_maihanakat_maitho = 3550 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_maihanakat = 3537 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_maiek = 3560 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_maichattawa = 3563 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_lu = 3526 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_loling = 3525 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_lochula = 3532 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_leksun = 3568 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_leksong = 3570 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_leksi = 3572 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_leksam = 3571 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_lekpaet = 3576 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_leknung = 3569 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_lekkao = 3577 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_lekhok = 3574 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_lekha = 3573 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_lekchet = 3575 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_lakkhangyao = 3557 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_kokai = 3489 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_khorakhang = 3494 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_khokhwai = 3492 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_khokhuat = 3491 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_khokhon = 3493 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_khokhai = 3490 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_honokhuk = 3534 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_hohip = 3531 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_fofan = 3519 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_fofa = 3517 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_dodek = 3508 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_dochada = 3502 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_chochoe = 3500 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_choching = 3497 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_chochang = 3498 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_chochan = 3496 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_bobaimai = 3514 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Thai_baht = 3551 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Terminate_Server = 65237 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Terminal = 269025152 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Tcedilla = 478 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Tcaron = 427 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_TaskPane = 269025151 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Tabovedot = 16785002 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Tab = 65289 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_THORN = 222 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_T = 84 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sys_Req = 65301 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Switch_VT_9 = 269024777 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Switch_VT_8 = 269024776 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Switch_VT_7 = 269024775 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Switch_VT_6 = 269024774 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Switch_VT_5 = 269024773 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Switch_VT_4 = 269024772 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Switch_VT_3 = 269024771 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Switch_VT_2 = 269024770 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Switch_VT_12 = 269024780 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Switch_VT_11 = 269024779 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Switch_VT_10 = 269024778 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Switch_VT_1 = 269024769 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Suspend = 269025191 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Support = 269025150 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Super_R = 65516 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Super_L = 65515 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Subtitle = 269025178 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Stop = 269025064 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_StickyKeys_Enable = 65141 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Start = 269025050 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Standby = 269025040 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_SplitScreen = 269025149 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Spell = 269025148 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_SlowKeys_Enable = 65139 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sleep = 269025071 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ya = 16780730 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_va = 16780736 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_uu2 = 16780758 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_uu = 16780684 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_u2 = 16780756 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_u = 16780683 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ttha = 16780712 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_tta = 16780711 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_thha = 16780718 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_tha = 16780717 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ssha = 16780738 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_sha = 16780737 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_sa = 16780739 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ruu2 = 16780786 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ru2 = 16780760 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_rii = 16780686 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ri = 16780685 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ra = 16780731 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_pha = 16780725 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_pa = 16780724 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_oo2 = 16780765 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_oo = 16780693 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_o2 = 16780764 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_o = 16780692 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_nya = 16780708 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_nna = 16780715 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_nja = 16780710 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_nga = 16780703 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ng2 = 16780702 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ng = 16780674 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ndha = 16780723 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ndda = 16780716 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_na = 16780721 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_mba = 16780729 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ma = 16780728 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_luu2 = 16780787 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_luu = 16780688 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_lu2 = 16780767 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_lu = 16780687 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_lla = 16780741 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_la = 16780733 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_kunddaliya = 16780788 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_kha = 16780699 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ka = 16780698 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_jnya = 16780709 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_jha = 16780707 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ja = 16780706 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ii2 = 16780755 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ii = 16780682 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_i2 = 16780754 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_i = 16780681 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ha = 16780740 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_h2 = 16780675 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_gha = 16780701 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ga = 16780700 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_fa = 16780742 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ee2 = 16780762 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ee = 16780690 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_e2 = 16780761 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_e = 16780689 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_dhha = 16780720 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_dha = 16780719 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ddha = 16780714 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_dda = 16780713 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_cha = 16780705 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ca = 16780704 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_bha = 16780727 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ba = 16780726 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_au2 = 16780766 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_au = 16780694 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_al = 16780746 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ai2 = 16780763 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ai = 16780691 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_aee2 = 16780753 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_aee = 16780680 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ae2 = 16780752 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_ae = 16780679 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_aa2 = 16780751 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_aa = 16780678 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sinh_a = 16780677 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_SingleCandidate = 65340 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Shop = 269025078 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Shift_R = 65506 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Shift_Lock = 65510 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Shift_L = 65505 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Serbian_tshe = 1707 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Serbian_nje = 1706 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Serbian_lje = 1705 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Serbian_je = 1704 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Serbian_dze = 1711 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Serbian_dje = 1697 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Serbian_TSHE = 1723 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Serbian_NJE = 1722 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Serbian_LJE = 1721 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Serbian_JE = 1720 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Serbian_DZE = 1727 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Serbian_DJE = 1713 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Send = 269025147 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_SelectButton = 269025184 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Select = 65376 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Search = 269025051 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Scroll_Lock = 65300 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ScrollUp = 269025144 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ScrollDown = 269025145 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ScrollClick = 269025146 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ScreenSaver = 269025069 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Scircumflex = 734 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Scedilla = 426 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Scaron = 425 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Save = 269025143 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sacute = 422 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Sabovedot = 16784992 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_SCHWA = 16777615 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_S = 83 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_RupeeSign = 16785576 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_RotationPB = 269025141 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_RotationKB = 269025142 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_RotateWindows = 269025140 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Romaji = 65316 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_RockerUp = 269025059 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_RockerEnter = 269025061 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_RockerDown = 269025060 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Right = 65363 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Return = 65293 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Reply = 269025138 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_RepeatKeys_Enable = 65138 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Reload = 269025139 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Refresh = 269025065 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Redo = 65382 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Red = 269025187 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Rcedilla = 931 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Rcaron = 472 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Racute = 448 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_R9 = 65498 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_R8 = 65497 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_R7 = 65496 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_R6 = 65495 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_R5 = 65494 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_R4 = 65493 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_R3 = 65492 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_R2 = 65491 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_R15 = 65504 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_R14 = 65503 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_R13 = 65502 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_R12 = 65501 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_R11 = 65500 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_R10 = 65499 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_R1 = 65490 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_R = 82 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Q = 81 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Prior = 65365 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Print = 65377 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_PreviousCandidate = 65342 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Prev_Virtual_Screen = 65233 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Prev_VMode = 269024803 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_PowerOff = 269025066 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_PowerDown = 269025057 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_UpRight = 65253 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_UpLeft = 65252 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_Up = 65250 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_Right = 65249 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_Left = 65248 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_EnableKeys = 65273 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_Drag_Dflt = 65268 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_Drag5 = 65277 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_Drag4 = 65272 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_Drag3 = 65271 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_Drag2 = 65270 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_Drag1 = 65269 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_DownRight = 65255 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_DownLeft = 65254 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_Down = 65251 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_DfltBtnPrev = 65276 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_DfltBtnNext = 65275 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_DblClick_Dflt = 65262 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_DblClick5 = 65267 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_DblClick4 = 65266 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_DblClick3 = 65265 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_DblClick2 = 65264 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_DblClick1 = 65263 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_Button_Dflt = 65256 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_Button5 = 65261 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_Button4 = 65260 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_Button3 = 65259 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_Button2 = 65258 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_Button1 = 65257 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pointer_Accelerate = 65274 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pictures = 269025169 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Phone = 269025134 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_PesetaSign = 16785575 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pause = 65299 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Paste = 269025133 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Page_Up = 65365 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Page_Down = 65366 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Pabovedot = 16784982 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_P = 80 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Overlay2_Enable = 65145 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Overlay1_Enable = 65144 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Otilde = 213 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Oslash = 216 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Option = 269025132 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_OpenURL = 269025080 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Open = 269025131 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ooblique = 216 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Omacron = 978 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ohorntilde = 16785120 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ohornhook = 16785118 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ohorngrave = 16785116 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ohornbelowdot = 16785122 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ohornacute = 16785114 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ohorn = 16777632 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ohook = 16785102 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ograve = 210 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_OfficeHome = 269025130 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Odoubleacute = 469 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Odiaeresis = 214 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ocircumflextilde = 16785110 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ocircumflexhook = 16785108 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ocircumflexgrave = 16785106 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ocircumflexbelowdot = 16785112 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ocircumflexacute = 16785104 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ocircumflex = 212 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ocaron = 16777681 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Obelowdot = 16785100 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Obarred = 16777631 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Oacute = 211 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_OE = 5052 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_O = 79 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Num_Lock = 65407 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ntilde = 209 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Next_Virtual_Screen = 65234 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Next_VMode = 269024802 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Next = 65366 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_News = 269025129 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_NewSheqelSign = 16785578 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_New = 269025128 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ncedilla = 977 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ncaron = 466 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_NairaSign = 16785574 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Nacute = 465 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_N = 78 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_MySites = 269025127 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_MyComputer = 269025075 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Music = 269025170 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_MultipleCandidate = 65341 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Multi_key = 65312 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Muhenkan = 65314 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_MouseKeys_Enable = 65142 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_MouseKeys_Accel_Enable = 65143 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_MonBrightnessUp = 269025026 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_MonBrightnessDown = 269025027 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Mode_switch = 65406 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ModeLock = 269025025 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_MillSign = 16785573 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Meta_R = 65512 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Meta_L = 65511 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Messenger = 269025166 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_MenuPB = 269025126 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_MenuKB = 269025125 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Menu = 65383 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Memo = 269025054 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Meeting = 269025123 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Massyo = 65324 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Market = 269025122 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_MailForward = 269025168 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Mail = 269025049 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Mae_Koho = 65342 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Macedonia_kje = 1708 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Macedonia_gje = 1698 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Macedonia_dse = 1701 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Macedonia_KJE = 1724 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Macedonia_GJE = 1714 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Macedonia_DSE = 1717 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Mabovedot = 16784960 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_M = 77 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Lstroke = 419 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_LogWindowTree = 269024804 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_LogOff = 269025121 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_LogGrabInfo = 269024805 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_LiraSign = 16785572 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Linefeed = 65290 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_LightBulb = 269025077 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Left = 65361 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Lcedilla = 934 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Lcaron = 421 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Lbelowdot = 16784950 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_LaunchF = 269025103 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_LaunchE = 269025102 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_LaunchD = 269025101 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_LaunchC = 269025100 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_LaunchB = 269025099 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_LaunchA = 269025098 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Launch9 = 269025097 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Launch8 = 269025096 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Launch7 = 269025095 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Launch6 = 269025094 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Launch5 = 269025093 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Launch4 = 269025092 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Launch3 = 269025091 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Launch2 = 269025090 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Launch1 = 269025089 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Launch0 = 269025088 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Last_Virtual_Screen = 65236 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Lacute = 453 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_L9 = 65488 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_L8 = 65487 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_L7 = 65486 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_L6 = 65485 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_L5 = 65484 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_L4 = 65483 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_L3 = 65482 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_L2 = 65481 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_L10 = 65489 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_L1 = 65480 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_L = 76 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Korean_Won = 3839 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Kcedilla = 979 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KbdLightOnOff = 269025028 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KbdBrightnessUp = 269025029 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KbdBrightnessDown = 269025030 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Katakana = 65318 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Kanji_Bangou = 65335 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Kanji = 65313 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Kana_Shift = 65326 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Kana_Lock = 65325 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_Up = 65431 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_Tab = 65417 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_Subtract = 65453 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_Space = 65408 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_Separator = 65452 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_Right = 65432 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_Prior = 65434 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_Page_Up = 65434 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_Page_Down = 65435 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_Next = 65435 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_Multiply = 65450 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_Left = 65430 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_Insert = 65438 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_Home = 65429 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_F4 = 65428 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_F3 = 65427 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_F2 = 65426 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_F1 = 65425 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_Equal = 65469 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_Enter = 65421 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_End = 65436 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_Down = 65433 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_Divide = 65455 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_Delete = 65439 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_Decimal = 65454 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_Begin = 65437 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_Add = 65451 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_9 = 65465 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_8 = 65464 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_7 = 65463 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_6 = 65462 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_5 = 65461 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_4 = 65460 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_3 = 65459 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_2 = 65458 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_1 = 65457 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_KP_0 = 65456 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_K = 75 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Jcircumflex = 684 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_J = 74 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Itilde = 933 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Iogonek = 967 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Insert = 65379 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Imacron = 975 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ihook = 16785096 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Igrave = 204 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Idiaeresis = 207 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Icircumflex = 206 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ibreve = 16777516 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ibelowdot = 16785098 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Iacute = 205 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Iabovedot = 681 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Set_Margin_Right = 65064 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Set_Margin_Left = 65063 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Release_Margin_Right = 65066 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Release_Margin_Left = 65065 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Release_Both_Margins = 65067 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Prev_Group_Lock = 65035 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Prev_Group = 65034 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Partial_Space_Right = 65062 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Partial_Space_Left = 65061 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Partial_Line_Up = 65059 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Partial_Line_Down = 65060 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Next_Group_Lock = 65033 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Next_Group = 65032 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Move_Line_Up = 65057 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Move_Line_Down = 65058 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Lock = 65025 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Level5_Shift = 65041 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Level5_Lock = 65043 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Level5_Latch = 65042 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Level3_Shift = 65027 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Level3_Lock = 65029 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Level3_Latch = 65028 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Level2_Latch = 65026 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Left_Tab = 65056 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Last_Group_Lock = 65039 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Last_Group = 65038 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Group_Shift = 65406 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Group_Lock = 65031 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Group_Latch = 65030 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_First_Group_Lock = 65037 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_First_Group = 65036 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Fast_Cursor_Up = 65070 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Fast_Cursor_Right = 65069 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Fast_Cursor_Left = 65068 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Fast_Cursor_Down = 65071 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Enter = 65076 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Emphasize = 65074 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Discontinuous_Underline = 65073 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Continuous_Underline = 65072 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ISO_Center_Object = 65075 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_I = 73 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hyper_R = 65518 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hyper_L = 65517 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hstroke = 673 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_HotLinks = 269025082 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_HomePage = 269025048 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Home = 65360 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_History = 269025079 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hiragana_Katakana = 65319 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hiragana = 65317 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hibernate = 269025192 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Henkan_Mode = 65315 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Henkan = 65315 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Help = 65386 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hebrew_switch = 65406 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hcircumflex = 678 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hankaku = 65321 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_switch = 65406 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_YeorinHieuh = 3829 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_YU = 3792 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_YO = 3787 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_YI = 3794 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_YEO = 3781 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_YE = 3782 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_YAE = 3778 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_YA = 3777 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_WI = 3791 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_WEO = 3789 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_WE = 3790 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_WAE = 3785 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_WA = 3784 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_U = 3788 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_Tieut = 3772 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_SunkyeongeumPieub = 3825 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_SunkyeongeumPhieuf = 3828 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_SunkyeongeumMieum = 3824 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_Start = 65330 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_SsangSios = 3766 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_SsangPieub = 3763 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_SsangKiyeog = 3746 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_SsangJieuj = 3769 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_SsangDikeud = 3752 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_Special = 65343 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_Sios = 3765 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_SingleCandidate = 65340 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_Romaja = 65334 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_RieulYeorinHieuh = 3823 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_RieulTieut = 3758 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_RieulSios = 3757 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_RieulPieub = 3756 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_RieulPhieuf = 3759 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_RieulMieum = 3755 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_RieulKiyeog = 3754 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_RieulHieuh = 3760 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_Rieul = 3753 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_PreviousCandidate = 65342 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_PreHanja = 65338 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_PostHanja = 65339 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_PieubSios = 3764 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_Pieub = 3762 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_Phieuf = 3773 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_PanSios = 3826 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_OE = 3786 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_O = 3783 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_NieunJieuj = 3749 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_NieunHieuh = 3750 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_Nieun = 3748 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_MultipleCandidate = 65341 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_Mieum = 3761 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_KkogjiDalrinIeung = 3827 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_KiyeogSios = 3747 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_Kiyeog = 3745 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_Khieuq = 3771 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_Jieuj = 3768 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_Jeonja = 65336 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_Jamo = 65333 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_YeorinHieuh = 3834 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_Tieut = 3820 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_SsangSios = 3815 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_SsangKiyeog = 3797 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_Sios = 3814 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_RieulTieut = 3808 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_RieulSios = 3807 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_RieulPieub = 3806 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_RieulPhieuf = 3809 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_RieulMieum = 3805 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_RieulKiyeog = 3804 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_RieulHieuh = 3810 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_Rieul = 3803 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_PieubSios = 3813 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_Pieub = 3812 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_Phieuf = 3821 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_PanSios = 3832 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_NieunJieuj = 3800 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_NieunHieuh = 3801 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_Nieun = 3799 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_Mieum = 3811 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_KkogjiDalrinIeung = 3833 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_KiyeogSios = 3798 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_Kiyeog = 3796 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_Khieuq = 3819 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_Jieuj = 3817 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_Ieung = 3816 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_Hieuh = 3822 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_Dikeud = 3802 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_J_Cieuc = 3818 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_Ieung = 3767 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_I = 3795 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_Hieuh = 3774 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_Hanja = 65332 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_End = 65331 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_EU = 3793 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_EO = 3779 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_E = 3780 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_Dikeud = 3751 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_Codeinput = 65335 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_Cieuc = 3770 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_Banja = 65337 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_AraeAE = 3831 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_AraeA = 3830 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_AE = 3776 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul_A = 3775 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Hangul = 65329 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_H = 72 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Green = 269025188 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_zeta = 2022 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_xi = 2030 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_upsilondieresis = 1977 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_upsilonaccentdieresis = 1978 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_upsilonaccent = 1976 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_upsilon = 2037 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_theta = 2024 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_tau = 2036 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_switch = 65406 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_sigma = 2034 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_rho = 2033 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_psi = 2040 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_pi = 2032 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_phi = 2038 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_omicronaccent = 1975 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_omicron = 2031 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_omegaaccent = 1979 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_omega = 2041 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_nu = 2029 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_mu = 2028 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_lamda = 2027 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_lambda = 2027 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_kappa = 2026 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_iotadieresis = 1973 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_iotaaccentdieresis = 1974 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_iotaaccent = 1972 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_iota = 2025 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_horizbar = 1967 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_gamma = 2019 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_finalsmallsigma = 2035 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_etaaccent = 1971 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_eta = 2023 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_epsilonaccent = 1970 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_epsilon = 2021 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_delta = 2020 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_chi = 2039 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_beta = 2018 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_alphaaccent = 1969 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_alpha = 2017 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_accentdieresis = 1966 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_ZETA = 1990 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_XI = 1998 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_UPSILONdieresis = 1961 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_UPSILONaccent = 1960 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_UPSILON = 2005 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_THETA = 1992 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_TAU = 2004 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_SIGMA = 2002 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_RHO = 2001 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_PSI = 2008 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_PI = 2000 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_PHI = 2006 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_OMICRONaccent = 1959 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_OMICRON = 1999 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_OMEGAaccent = 1963 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_OMEGA = 2009 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_NU = 1997 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_MU = 1996 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_LAMDA = 1995 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_LAMBDA = 1995 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_KAPPA = 1994 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_IOTAdieresis = 1957 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_IOTAdiaeresis = 1957 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_IOTAaccent = 1956 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_IOTA = 1993 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_GAMMA = 1987 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_ETAaccent = 1955 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_ETA = 1991 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_EPSILONaccent = 1954 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_EPSILON = 1989 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_DELTA = 1988 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_CHI = 2007 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_BETA = 1986 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_ALPHAaccent = 1953 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Greek_ALPHA = 1985 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Go = 269025119 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_zhar = 16781535 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_zen = 16781526 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_xan = 16781550 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_we = 16781555 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_vin = 16781525 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_un = 16781539 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_tar = 16781538 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_tan = 16781527 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_shin = 16781544 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_san = 16781537 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_rae = 16781536 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_qar = 16781543 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_phar = 16781540 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_par = 16781534 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_on = 16781533 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_nar = 16781532 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_man = 16781531 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_las = 16781530 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_khar = 16781541 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_kan = 16781529 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_jil = 16781547 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_jhan = 16781551 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_in = 16781528 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_hoe = 16781557 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_hie = 16781554 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_he = 16781553 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_har = 16781556 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_hae = 16781552 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_ghan = 16781542 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_gan = 16781522 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_fi = 16781558 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_en = 16781524 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_don = 16781523 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_cil = 16781548 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_chin = 16781545 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_char = 16781549 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_can = 16781546 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_ban = 16781521 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Georgian_an = 16781520 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Gcircumflex = 728 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Gcedilla = 939 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Gcaron = 16777702 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Gbreve = 683 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Game = 269025118 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Gabovedot = 725 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_G = 71 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_FrameForward = 269025182 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_FrameBack = 269025181 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Forward = 269025063 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_First_Virtual_Screen = 65232 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Find = 65384 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Finance = 269025084 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Favorites = 269025072 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Farsi_yeh = 16778956 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Farsi_9 = 16779001 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Farsi_8 = 16779000 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Farsi_7 = 16778999 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Farsi_6 = 16778998 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Farsi_5 = 16778997 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Farsi_4 = 16778996 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Farsi_3 = 16778995 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Farsi_2 = 16778994 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Farsi_1 = 16778993 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Farsi_0 = 16778992 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Fabovedot = 16784926 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_FFrancSign = 16785571 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F9 = 65478 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F8 = 65477 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F7 = 65476 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F6 = 65475 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F5 = 65474 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F4 = 65473 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F35 = 65504 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F34 = 65503 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F33 = 65502 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F32 = 65501 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F31 = 65500 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F30 = 65499 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F3 = 65472 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F29 = 65498 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F28 = 65497 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F27 = 65496 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F26 = 65495 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F25 = 65494 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F24 = 65493 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F23 = 65492 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F22 = 65491 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F21 = 65490 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F20 = 65489 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F2 = 65471 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F19 = 65488 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F18 = 65487 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F17 = 65486 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F16 = 65485 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F15 = 65484 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F14 = 65483 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F13 = 65482 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F12 = 65481 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F11 = 65480 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F10 = 65479 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F1 = 65470 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_F = 70 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Explorer = 269025117 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Execute = 65378 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Excel = 269025116 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_EuroSign = 8364 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Etilde = 16785084 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Eth = 208 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Escape = 65307 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Eogonek = 458 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_End = 65367 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Emacron = 938 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Eject = 269025068 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Eisu_toggle = 65328 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Eisu_Shift = 65327 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ehook = 16785082 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Egrave = 200 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ediaeresis = 203 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_EcuSign = 16785568 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ecircumflextilde = 16785092 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ecircumflexhook = 16785090 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ecircumflexgrave = 16785088 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ecircumflexbelowdot = 16785094 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ecircumflexacute = 16785086 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ecircumflex = 202 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ecaron = 460 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ebelowdot = 16785080 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Eacute = 201 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Eabovedot = 972 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_EZH = 16777655 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ETH = 208 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ENG = 957 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_E = 69 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Dstroke = 464 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Down = 65364 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_DongSign = 16785579 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Documents = 269025115 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Display = 269025113 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Delete = 65535 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Dcaron = 463 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Dabovedot = 16784906 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_DOS = 269025114 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_D = 68 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_zhe_descender = 16778391 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_zhe = 1750 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_ze = 1754 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_yu = 1728 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_yeru = 1753 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_ya = 1745 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_ve = 1751 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_u_straight_bar = 16778417 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_u_straight = 16778415 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_u_macron = 16778479 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_u = 1749 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_tse = 1731 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_te = 1748 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_softsign = 1752 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_shorti = 1738 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_shha = 16778427 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_shcha = 1757 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_sha = 1755 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_schwa = 16778457 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_pe = 1744 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_o_bar = 16778473 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_o = 1743 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_nje = 1706 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_lje = 1705 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_ka_vertstroke = 16778397 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_ka_descender = 16778395 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_ka = 1739 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_je = 1704 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_io = 1699 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_ie = 1733 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_i_macron = 16778467 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_i = 1737 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_hardsign = 1759 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_ha_descender = 16778419 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_ha = 1736 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_ghe_bar = 16778387 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_ghe = 1735 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_es = 1747 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_er = 1746 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_en_descender = 16778403 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_en = 1742 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_em = 1741 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_el = 1740 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_ef = 1734 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_e = 1756 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_dzhe = 1711 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_de = 1732 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_che_vertstroke = 16778425 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_che_descender = 16778423 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_che = 1758 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_be = 1730 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_a = 1729 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_ZHE_descender = 16778390 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_ZHE = 1782 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_ZE = 1786 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_YU = 1760 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_YERU = 1785 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_YA = 1777 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_VE = 1783 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_U_straight_bar = 16778416 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_U_straight = 16778414 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_U_macron = 16778478 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_U = 1781 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_TSE = 1763 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_TE = 1780 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_SOFTSIGN = 1784 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_SHORTI = 1770 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_SHHA = 16778426 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_SHCHA = 1789 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_SHA = 1787 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_SCHWA = 16778456 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_PE = 1776 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_O_bar = 16778472 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_O = 1775 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_NJE = 1722 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_LJE = 1721 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_KA_vertstroke = 16778396 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_KA_descender = 16778394 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_KA = 1771 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_JE = 1720 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_I_macron = 16778466 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_IO = 1715 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_IE = 1765 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_I = 1769 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_HA_descender = 16778418 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_HARDSIGN = 1791 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_HA = 1768 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_GHE_bar = 16778386 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_GHE = 1767 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_ES = 1779 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_ER = 1778 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_EN_descender = 16778402 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_EN = 1774 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_EM = 1773 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_EL = 1772 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_EF = 1766 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_E = 1788 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_DZHE = 1727 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_DE = 1764 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_CHE_vertstroke = 16778424 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_CHE_descender = 16778422 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_CHE = 1790 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_BE = 1762 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cyrillic_A = 1761 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_CycleAngle = 269025180 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cut = 269025112 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_CruzeiroSign = 16785570 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Copy = 269025111 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Control_R = 65508 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Control_L = 65507 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ContrastAdjust = 269025058 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Community = 269025085 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ColonSign = 16785569 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Codeinput = 65335 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Close = 269025110 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ClearGrab = 269024801 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Clear = 65291 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ch = 65185 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ccircumflex = 710 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ccedilla = 199 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ccaron = 456 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Caps_Lock = 65509 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cancel = 65385 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Calendar = 269025056 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Calculator = 269025053 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cacute = 454 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Cabovedot = 709 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_C_h = 65188 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_C_H = 65189 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_CH = 65186 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_CD = 269025107 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_C = 67 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Byelorussian_shortu = 1710 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Byelorussian_SHORTU = 1726 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_BrightnessAdjust = 269025083 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Break = 65387 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_BounceKeys_Enable = 65140 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Book = 269025106 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Bluetooth = 269025172 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Blue = 269025190 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Begin = 65368 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Battery = 269025171 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_BackSpace = 65288 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_BackForward = 269025087 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Back = 269025062 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Babovedot = 16784898 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_B = 66 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Away = 269025165 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_AudioStop = 269025045 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_AudioRewind = 269025086 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_AudioRepeat = 269025176 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_AudioRecord = 269025052 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_AudioRandomPlay = 269025177 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_AudioRaiseVolume = 269025043 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_AudioPrev = 269025046 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_AudioPlay = 269025044 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_AudioPause = 269025073 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_AudioNext = 269025047 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_AudioMute = 269025042 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_AudioMicMute = 269025202 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_AudioMedia = 269025074 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_AudioLowerVolume = 269025041 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_AudioForward = 269025175 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_AudioCycleTrack = 269025179 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_AudibleBell_Enable = 65146 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Atilde = 195 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_zhe = 16778602 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_za = 16778598 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_yentamna = 16778634 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_yech = 16778597 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_vyun = 16778626 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_vo = 16778616 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_vev = 16778622 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_verjaket = 16778633 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_tyun = 16778623 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_tso = 16778625 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_tsa = 16778606 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_to = 16778601 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_tche = 16778611 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_shesht = 16778587 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_sha = 16778615 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_separation_mark = 16778589 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_se = 16778621 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_re = 16778624 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_ra = 16778620 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_question = 16778590 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_pyur = 16778627 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_pe = 16778618 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_paruyk = 16778590 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_o = 16778629 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_nu = 16778614 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_men = 16778612 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_lyun = 16778604 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_ligature_ew = 16778631 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_khe = 16778605 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_ken = 16778607 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_ke = 16778628 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_je = 16778619 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_ini = 16778603 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_hyphen = 16778634 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_ho = 16778608 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_hi = 16778613 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_gim = 16778595 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_ghat = 16778610 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_full_stop = 16778633 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_fe = 16778630 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_exclam = 16778588 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_e = 16778599 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_dza = 16778609 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_da = 16778596 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_cha = 16778617 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_but = 16778589 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_ben = 16778594 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_ayb = 16778593 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_at = 16778600 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_apostrophe = 16778586 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_amanak = 16778588 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_accent = 16778587 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_ZHE = 16778554 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_ZA = 16778550 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_YECH = 16778549 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_VYUN = 16778578 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_VO = 16778568 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_VEV = 16778574 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_TYUN = 16778575 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_TSO = 16778577 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_TSA = 16778558 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_TO = 16778553 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_TCHE = 16778563 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_SHA = 16778567 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_SE = 16778573 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_RE = 16778576 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_RA = 16778572 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_PYUR = 16778579 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_PE = 16778570 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_O = 16778581 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_NU = 16778566 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_MEN = 16778564 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_LYUN = 16778556 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_KHE = 16778557 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_KEN = 16778559 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_KE = 16778580 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_JE = 16778571 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_INI = 16778555 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_HO = 16778560 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_HI = 16778565 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_GIM = 16778547 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_GHAT = 16778562 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_FE = 16778582 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_E = 16778551 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_DZA = 16778561 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_DA = 16778548 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_CHA = 16778569 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_BEN = 16778546 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_AYB = 16778545 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Armenian_AT = 16778552 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Aring = 197 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_zain = 1490 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_zah = 1496 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_yeh_baree = 16778962 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_yeh = 1514 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_waw = 1512 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_veh = 16778916 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_tteh = 16778873 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_theh = 1483 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_thal = 1488 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_tehmarbuta = 1481 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_teh = 1482 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_tcheh = 16778886 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_tatweel = 1504 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_tah = 1495 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_switch = 65406 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_superscript_alef = 16778864 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_sukun = 1522 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_sheen = 1492 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_shadda = 1521 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_semicolon = 1467 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_seen = 1491 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_sad = 1493 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_rreh = 16778897 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_ra = 1489 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_question_mark = 1471 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_qaf = 1506 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_percent = 16778858 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_peh = 16778878 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_noon_ghunna = 16778938 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_noon = 1510 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_meem = 1509 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_maddaonalef = 1474 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_madda_above = 16778835 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_lam = 1508 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_khah = 1486 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_keheh = 16778921 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_kasratan = 1517 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_kasra = 1520 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_kaf = 1507 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_jeh = 16778904 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_jeem = 1484 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_heh_goal = 16778945 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_heh_doachashmee = 16778942 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_heh = 1511 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_hamzaunderalef = 1477 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_hamzaonyeh = 1478 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_hamzaonwaw = 1476 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_hamzaonalef = 1475 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_hamza_below = 16778837 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_hamza_above = 16778836 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_hamza = 1473 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_hah = 1485 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_ha = 1511 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_ghain = 1498 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_gaf = 16778927 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_fullstop = 16778964 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_feh = 1505 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_fathatan = 1515 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_fatha = 1518 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_farsi_yeh = 16778956 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_ddal = 16778888 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_dammatan = 1516 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_damma = 1519 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_dal = 1487 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_dad = 1494 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_comma = 1452 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_beh = 1480 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_alefmaksura = 1513 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_alef = 1479 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_ain = 1497 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_9 = 16778857 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_8 = 16778856 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_7 = 16778855 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_6 = 16778854 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_5 = 16778853 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_4 = 16778852 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_3 = 16778851 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_2 = 16778850 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_1 = 16778849 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Arabic_0 = 16778848 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ApplicationRight = 269025105 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_ApplicationLeft = 269025104 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Aogonek = 417 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Amacron = 960 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Alt_R = 65514 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Alt_L = 65513 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Ahook = 16785058 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Agrave = 192 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Adiaeresis = 196 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_AddFavorite = 269025081 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Acircumflextilde = 16785066 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Acircumflexhook = 16785064 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Acircumflexgrave = 16785062 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Acircumflexbelowdot = 16785068 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Acircumflexacute = 16785060 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Acircumflex = 194 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_AccessX_Feedback_Enable = 65137 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_AccessX_Enable = 65136 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Abrevetilde = 16785076 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Abrevehook = 16785074 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Abrevegrave = 16785072 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Abrevebelowdot = 16785078 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Abreveacute = 16785070 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Abreve = 451 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Abelowdot = 16785056 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_Aacute = 193 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_AE = 198 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_A = 65 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_9 = 57 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_8 = 56 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_7 = 55 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_6 = 54 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_5 = 53 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_4 = 52 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_Test = 64781 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_Setup = 64791 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_Rule = 64788 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_Right2 = 64771 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_Reset = 64776 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_Record = 64792 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_Quit = 64777 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_PrintScreen = 64797 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_Play = 64790 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_PA3 = 64780 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_PA2 = 64779 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_PA1 = 64778 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_Left2 = 64772 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_KeyClick = 64785 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_Jump = 64786 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_Ident = 64787 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_FieldMark = 64770 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_ExSelect = 64795 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_EraseInput = 64775 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_EraseEOF = 64774 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_Enter = 64798 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_Duplicate = 64769 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_DeleteWord = 64794 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_CursorSelect = 64796 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_CursorBlink = 64783 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_Copy = 64789 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_ChangeScreen = 64793 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_BackTab = 64773 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_Attn = 64782 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3270_AltCursor = 64784 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_3 = 51 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_2 = 50 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_1 = 49 :: Word32++{- |+/No description available in the introspection data./+-}+pattern KEY_0 = 48 :: Word32++{- |+Use this macro as the return value for stopping the propagation of+an event handler.++/Since: 3.4/+-}+pattern EVENT_STOP = True :: Bool++{- |+Use this macro as the return value for continuing the propagation of+an event handler.++/Since: 3.4/+-}+pattern EVENT_PROPAGATE = False :: Bool++{- |+Represents the current time, and can be used anywhere a time is expected.+-}+pattern CURRENT_TIME = 0 :: Int32++{- |+The secondary button. This is typically the right mouse button, or the+left button in a left-handed setup.++/Since: 3.4/+-}+pattern BUTTON_SECONDARY = 3 :: Int32++{- |+The primary button. This is typically the left mouse button, or the+right button in a left-handed setup.++/Since: 3.4/+-}+pattern BUTTON_PRIMARY = 1 :: Int32++{- |+The middle button.++/Since: 3.4/+-}+pattern BUTTON_MIDDLE = 2 :: Int32++
+ GI/Gdk/Enums.hs view
@@ -0,0 +1,3000 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Enums+    ( ++ -- * Enumerations+-- ** AxisUse #enum:AxisUse#++    AxisUse(..)                             ,+++-- ** ByteOrder #enum:ByteOrder#++    ByteOrder(..)                           ,+++-- ** CrossingMode #enum:CrossingMode#++    CrossingMode(..)                        ,+++-- ** CursorType #enum:CursorType#++    CursorType(..)                          ,+++-- ** DevicePadFeature #enum:DevicePadFeature#++    DevicePadFeature(..)                    ,+++-- ** DeviceToolType #enum:DeviceToolType#++    DeviceToolType(..)                      ,+++-- ** DeviceType #enum:DeviceType#++    DeviceType(..)                          ,+++-- ** DragCancelReason #enum:DragCancelReason#++    DragCancelReason(..)                    ,+++-- ** DragProtocol #enum:DragProtocol#++    DragProtocol(..)                        ,+++-- ** EventType #enum:EventType#++    EventType(..)                           ,+++-- ** FilterReturn #enum:FilterReturn#++    FilterReturn(..)                        ,+++-- ** FullscreenMode #enum:FullscreenMode#++    FullscreenMode(..)                      ,+++-- ** GLError #enum:GLError#++    GLError(..)                             ,+    catchGLError                            ,+    handleGLError                           ,+++-- ** GrabOwnership #enum:GrabOwnership#++    GrabOwnership(..)                       ,+++-- ** GrabStatus #enum:GrabStatus#++    GrabStatus(..)                          ,+++-- ** Gravity #enum:Gravity#++    Gravity(..)                             ,+++-- ** InputMode #enum:InputMode#++    InputMode(..)                           ,+++-- ** InputSource #enum:InputSource#++    InputSource(..)                         ,+++-- ** ModifierIntent #enum:ModifierIntent#++    ModifierIntent(..)                      ,+++-- ** NotifyType #enum:NotifyType#++    NotifyType(..)                          ,+++-- ** OwnerChange #enum:OwnerChange#++    OwnerChange(..)                         ,+++-- ** PropMode #enum:PropMode#++    PropMode(..)                            ,+++-- ** PropertyState #enum:PropertyState#++    PropertyState(..)                       ,+++-- ** ScrollDirection #enum:ScrollDirection#++    ScrollDirection(..)                     ,+++-- ** SettingAction #enum:SettingAction#++    SettingAction(..)                       ,+++-- ** Status #enum:Status#++    Status(..)                              ,+++-- ** SubpixelLayout #enum:SubpixelLayout#++    SubpixelLayout(..)                      ,+++-- ** TouchpadGesturePhase #enum:TouchpadGesturePhase#++    TouchpadGesturePhase(..)                ,+++-- ** VisibilityState #enum:VisibilityState#++    VisibilityState(..)                     ,+++-- ** VisualType #enum:VisualType#++    VisualType(..)                          ,+++-- ** WindowEdge #enum:WindowEdge#++    WindowEdge(..)                          ,+++-- ** WindowType #enum:WindowType#++    WindowType(..)                          ,+++-- ** WindowTypeHint #enum:WindowTypeHint#++    WindowTypeHint(..)                      ,+++-- ** WindowWindowClass #enum:WindowWindowClass#++    WindowWindowClass(..)                   ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++-- Enum WindowWindowClass+{- |+/@gDKINPUTOUTPUT@/ windows are the standard kind of window you might expect.+Such windows receive events and are also displayed on screen.+/@gDKINPUTONLY@/ windows are invisible; they are usually placed above other+windows in order to trap or filter the events. You can’t draw on+/@gDKINPUTONLY@/ windows.+-}+data WindowWindowClass = +      WindowWindowClassInputOutput+    {- ^+    window for graphics and events+    -}+    | WindowWindowClassInputOnly+    {- ^+    window for events only+    -}+    | AnotherWindowWindowClass Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum WindowWindowClass where+    fromEnum WindowWindowClassInputOutput = 0+    fromEnum WindowWindowClassInputOnly = 1+    fromEnum (AnotherWindowWindowClass k) = k++    toEnum 0 = WindowWindowClassInputOutput+    toEnum 1 = WindowWindowClassInputOnly+    toEnum k = AnotherWindowWindowClass k++instance P.Ord WindowWindowClass where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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++-- Enum WindowTypeHint+{- |+These are hints for the window manager that indicate what type of function+the window has. The window manager can use this when determining decoration+and behaviour of the window. The hint must be set before mapping the window.++See the <http://www.freedesktop.org/Standards/wm-spec Extended Window Manager Hints>+specification for more details about window types.+-}+data WindowTypeHint = +      WindowTypeHintNormal+    {- ^+    Normal toplevel window.+    -}+    | WindowTypeHintDialog+    {- ^+    Dialog window.+    -}+    | WindowTypeHintMenu+    {- ^+    Window used to implement a menu; GTK+ uses+     this hint only for torn-off menus, see @/GtkTearoffMenuItem/@.+    -}+    | WindowTypeHintToolbar+    {- ^+    Window used to implement toolbars.+    -}+    | WindowTypeHintSplashscreen+    {- ^+    Window used to display a splash+     screen during application startup.+    -}+    | WindowTypeHintUtility+    {- ^+    Utility windows which are not detached+     toolbars or dialogs.+    -}+    | WindowTypeHintDock+    {- ^+    Used for creating dock or panel windows.+    -}+    | WindowTypeHintDesktop+    {- ^+    Used for creating the desktop background+     window.+    -}+    | WindowTypeHintDropdownMenu+    {- ^+    A menu that belongs to a menubar.+    -}+    | WindowTypeHintPopupMenu+    {- ^+    A menu that does not belong to a menubar,+     e.g. a context menu.+    -}+    | WindowTypeHintTooltip+    {- ^+    A tooltip.+    -}+    | WindowTypeHintNotification+    {- ^+    A notification - typically a “bubble”+     that belongs to a status icon.+    -}+    | WindowTypeHintCombo+    {- ^+    A popup from a combo box.+    -}+    | WindowTypeHintDnd+    {- ^+    A window that is used to implement a DND cursor.+    -}+    | AnotherWindowTypeHint Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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++instance P.Ord WindowTypeHint where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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 WindowType+{- |+Describes the kind of window.+-}+data WindowType = +      WindowTypeRoot+    {- ^+    root window; this window has no parent, covers the entire+     screen, and is created by the window system+    -}+    | WindowTypeToplevel+    {- ^+    toplevel window (used to implement @/GtkWindow/@)+    -}+    | WindowTypeChild+    {- ^+    child window (used to implement e.g. @/GtkEntry/@)+    -}+    | WindowTypeTemp+    {- ^+    override redirect temporary window (used to implement+     @/GtkMenu/@)+    -}+    | WindowTypeForeign+    {- ^+    foreign window (see @/gdk_window_foreign_new()/@)+    -}+    | WindowTypeOffscreen+    {- ^+    offscreen window (see+     [Offscreen Windows][OFFSCREEN-WINDOWS]). Since 2.18+    -}+    | WindowTypeSubsurface+    {- ^+    subsurface-based window; This window is visually+     tied to a toplevel, and is moved\/stacked with it. Currently this window+     type is only implemented in Wayland. Since 3.14+    -}+    | AnotherWindowType Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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++instance P.Ord WindowType where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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 WindowEdge+{- |+Determines a window edge or corner.+-}+data WindowEdge = +      WindowEdgeNorthWest+    {- ^+    the top left corner.+    -}+    | WindowEdgeNorth+    {- ^+    the top edge.+    -}+    | WindowEdgeNorthEast+    {- ^+    the top right corner.+    -}+    | WindowEdgeWest+    {- ^+    the left edge.+    -}+    | WindowEdgeEast+    {- ^+    the right edge.+    -}+    | WindowEdgeSouthWest+    {- ^+    the lower left corner.+    -}+    | WindowEdgeSouth+    {- ^+    the lower edge.+    -}+    | WindowEdgeSouthEast+    {- ^+    the lower right corner.+    -}+    | AnotherWindowEdge Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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++instance P.Ord WindowEdge where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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++-- Enum VisualType+{- |+A set of values that describe the manner in which the pixel values+for a visual are converted into RGB values for display.+-}+data VisualType = +      VisualTypeStaticGray+    {- ^+    Each pixel value indexes a grayscale value+        directly.+    -}+    | VisualTypeGrayscale+    {- ^+    Each pixel is an index into a color map that+        maps pixel values into grayscale values. The color map can be+        changed by an application.+    -}+    | VisualTypeStaticColor+    {- ^+    Each pixel value is an index into a predefined,+        unmodifiable color map that maps pixel values into RGB values.+    -}+    | VisualTypePseudoColor+    {- ^+    Each pixel is an index into a color map that+        maps pixel values into rgb values. The color map can be changed by+        an application.+    -}+    | VisualTypeTrueColor+    {- ^+    Each pixel value directly contains red, green,+        and blue components. Use 'GI.Gdk.Objects.Visual.visualGetRedPixelDetails', etc,+        to obtain information about how the components are assembled into+        a pixel value.+    -}+    | VisualTypeDirectColor+    {- ^+    Each pixel value contains red, green, and blue+        components as for 'GI.Gdk.Enums.VisualTypeTrueColor', but the components are+        mapped via a color table into the final output table instead of+        being converted directly.+    -}+    | AnotherVisualType Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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++instance P.Ord VisualType where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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++-- Enum VisibilityState+{- |+Specifies the visiblity status of a window for a 'GI.Gdk.Structs.EventVisibility.EventVisibility'.+-}+data VisibilityState = +      VisibilityStateUnobscured+    {- ^+    the window is completely visible.+    -}+    | VisibilityStatePartial+    {- ^+    the window is partially visible.+    -}+    | VisibilityStateFullyObscured+    {- ^+    the window is not visible at all.+    -}+    | AnotherVisibilityState Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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++instance P.Ord VisibilityState where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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++-- Enum TouchpadGesturePhase+{- |+Specifies the current state of a touchpad gesture. All gestures are+guaranteed to begin with an event with phase 'GI.Gdk.Enums.TouchpadGesturePhaseBegin',+followed by 0 or several events with phase 'GI.Gdk.Enums.TouchpadGesturePhaseUpdate'.++A finished gesture may have 2 possible outcomes, an event with phase+'GI.Gdk.Enums.TouchpadGesturePhaseEnd' will be emitted when the gesture is+considered successful, this should be used as the hint to perform any+permanent changes.++Cancelled gestures may be so for a variety of reasons, due to hardware+or the compositor, or due to the gesture recognition layers hinting the+gesture did not finish resolutely (eg. a 3rd finger being added during+a pinch gesture). In these cases, the last event will report the phase+'GI.Gdk.Enums.TouchpadGesturePhaseCancel', this should be used as a hint+to undo any visible\/permanent changes that were done throughout the+progress of the gesture.++See also 'GI.Gdk.Structs.EventTouchpadSwipe.EventTouchpadSwipe' and 'GI.Gdk.Structs.EventTouchpadPinch.EventTouchpadPinch'.+-}+data TouchpadGesturePhase = +      TouchpadGesturePhaseBegin+    {- ^+    The gesture has begun.+    -}+    | TouchpadGesturePhaseUpdate+    {- ^+    The gesture has been updated.+    -}+    | TouchpadGesturePhaseEnd+    {- ^+    The gesture was finished, changes+      should be permanently applied.+    -}+    | TouchpadGesturePhaseCancel+    {- ^+    The gesture was cancelled, all+      changes should be undone.+    -}+    | AnotherTouchpadGesturePhase Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum TouchpadGesturePhase where+    fromEnum TouchpadGesturePhaseBegin = 0+    fromEnum TouchpadGesturePhaseUpdate = 1+    fromEnum TouchpadGesturePhaseEnd = 2+    fromEnum TouchpadGesturePhaseCancel = 3+    fromEnum (AnotherTouchpadGesturePhase k) = k++    toEnum 0 = TouchpadGesturePhaseBegin+    toEnum 1 = TouchpadGesturePhaseUpdate+    toEnum 2 = TouchpadGesturePhaseEnd+    toEnum 3 = TouchpadGesturePhaseCancel+    toEnum k = AnotherTouchpadGesturePhase k++instance P.Ord TouchpadGesturePhase where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "gdk_touchpad_gesture_phase_get_type" c_gdk_touchpad_gesture_phase_get_type :: +    IO GType++instance BoxedEnum TouchpadGesturePhase where+    boxedEnumType _ = c_gdk_touchpad_gesture_phase_get_type++-- Enum SubpixelLayout+{- |+This enumeration describes how the red, green and blue components+of physical pixels on an output device are laid out.++/Since: 3.22/+-}+data SubpixelLayout = +      SubpixelLayoutUnknown+    {- ^+    The layout is not known+    -}+    | SubpixelLayoutNone+    {- ^+    Not organized in this way+    -}+    | SubpixelLayoutHorizontalRgb+    {- ^+    The layout is horizontal, the order is RGB+    -}+    | SubpixelLayoutHorizontalBgr+    {- ^+    The layout is horizontal, the order is BGR+    -}+    | SubpixelLayoutVerticalRgb+    {- ^+    The layout is vertical, the order is RGB+    -}+    | SubpixelLayoutVerticalBgr+    {- ^+    The layout is vertical, the order is BGR+    -}+    | AnotherSubpixelLayout Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum SubpixelLayout where+    fromEnum SubpixelLayoutUnknown = 0+    fromEnum SubpixelLayoutNone = 1+    fromEnum SubpixelLayoutHorizontalRgb = 2+    fromEnum SubpixelLayoutHorizontalBgr = 3+    fromEnum SubpixelLayoutVerticalRgb = 4+    fromEnum SubpixelLayoutVerticalBgr = 5+    fromEnum (AnotherSubpixelLayout k) = k++    toEnum 0 = SubpixelLayoutUnknown+    toEnum 1 = SubpixelLayoutNone+    toEnum 2 = SubpixelLayoutHorizontalRgb+    toEnum 3 = SubpixelLayoutHorizontalBgr+    toEnum 4 = SubpixelLayoutVerticalRgb+    toEnum 5 = SubpixelLayoutVerticalBgr+    toEnum k = AnotherSubpixelLayout k++instance P.Ord SubpixelLayout where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "gdk_subpixel_layout_get_type" c_gdk_subpixel_layout_get_type :: +    IO GType++instance BoxedEnum SubpixelLayout where+    boxedEnumType _ = c_gdk_subpixel_layout_get_type++-- Enum Status+{- |+/No description available in the introspection data./+-}+data Status = +      StatusOk+    {- ^+    /No description available in the introspection data./+    -}+    | StatusError+    {- ^+    /No description available in the introspection data./+    -}+    | StatusErrorParam+    {- ^+    /No description available in the introspection data./+    -}+    | StatusErrorFile+    {- ^+    /No description available in the introspection data./+    -}+    | StatusErrorMem+    {- ^+    /No description available in the introspection data./+    -}+    | AnotherStatus Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum Status where+    fromEnum StatusOk = 0+    fromEnum StatusError = -1+    fromEnum StatusErrorParam = -2+    fromEnum StatusErrorFile = -3+    fromEnum StatusErrorMem = -4+    fromEnum (AnotherStatus k) = k++    toEnum 0 = StatusOk+    toEnum -1 = StatusError+    toEnum -2 = StatusErrorParam+    toEnum -3 = StatusErrorFile+    toEnum -4 = StatusErrorMem+    toEnum k = AnotherStatus k++instance P.Ord Status where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "gdk_status_get_type" c_gdk_status_get_type :: +    IO GType++instance BoxedEnum Status where+    boxedEnumType _ = c_gdk_status_get_type++-- Enum SettingAction+{- |+Specifies the kind of modification applied to a setting in a+'GI.Gdk.Structs.EventSetting.EventSetting'.+-}+data SettingAction = +      SettingActionNew+    {- ^+    a setting was added.+    -}+    | SettingActionChanged+    {- ^+    a setting was changed.+    -}+    | SettingActionDeleted+    {- ^+    a setting was deleted.+    -}+    | AnotherSettingAction Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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++instance P.Ord SettingAction where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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 ScrollDirection+{- |+Specifies the direction for 'GI.Gdk.Structs.EventScroll.EventScroll'.+-}+data ScrollDirection = +      ScrollDirectionUp+    {- ^+    the window is scrolled up.+    -}+    | ScrollDirectionDown+    {- ^+    the window is scrolled down.+    -}+    | ScrollDirectionLeft+    {- ^+    the window is scrolled to the left.+    -}+    | ScrollDirectionRight+    {- ^+    the window is scrolled to the right.+    -}+    | ScrollDirectionSmooth+    {- ^+    the scrolling is determined by the delta values+      in 'GI.Gdk.Structs.EventScroll.EventScroll'. See 'GI.Gdk.Unions.Event.eventGetScrollDeltas'. Since: 3.4+    -}+    | AnotherScrollDirection Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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++instance P.Ord ScrollDirection where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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 PropertyState+{- |+Specifies the type of a property change for a 'GI.Gdk.Structs.EventProperty.EventProperty'.+-}+data PropertyState = +      PropertyStateNewValue+    {- ^+    the property value was changed.+    -}+    | PropertyStateDelete+    {- ^+    the property was deleted.+    -}+    | AnotherPropertyState Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum PropertyState where+    fromEnum PropertyStateNewValue = 0+    fromEnum PropertyStateDelete = 1+    fromEnum (AnotherPropertyState k) = k++    toEnum 0 = PropertyStateNewValue+    toEnum 1 = PropertyStateDelete+    toEnum k = AnotherPropertyState k++instance P.Ord PropertyState where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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++-- Enum PropMode+{- |+Describes how existing data is combined with new data when+using @/gdk_property_change()/@.+-}+data PropMode = +      PropModeReplace+    {- ^+    the new data replaces the existing data.+    -}+    | PropModePrepend+    {- ^+    the new data is prepended to the existing data.+    -}+    | PropModeAppend+    {- ^+    the new data is appended to the existing data.+    -}+    | AnotherPropMode Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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++instance P.Ord PropMode where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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 OwnerChange+{- |+Specifies why a selection ownership was changed.+-}+data OwnerChange = +      OwnerChangeNewOwner+    {- ^+    some other app claimed the ownership+    -}+    | OwnerChangeDestroy+    {- ^+    the window was destroyed+    -}+    | OwnerChangeClose+    {- ^+    the client was closed+    -}+    | AnotherOwnerChange Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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++instance P.Ord OwnerChange where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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++-- Enum NotifyType+{- |+Specifies the kind of crossing for 'GI.Gdk.Structs.EventCrossing.EventCrossing'.++See the X11 protocol specification of LeaveNotify for+full details of crossing event generation.+-}+data NotifyType = +      NotifyTypeAncestor+    {- ^+    the window is entered from an ancestor or+      left towards an ancestor.+    -}+    | NotifyTypeVirtual+    {- ^+    the pointer moves between an ancestor and an+      inferior of the window.+    -}+    | NotifyTypeInferior+    {- ^+    the window is entered from an inferior or+      left towards an inferior.+    -}+    | NotifyTypeNonlinear+    {- ^+    the window is entered from or left towards+      a window which is neither an ancestor nor an inferior.+    -}+    | NotifyTypeNonlinearVirtual+    {- ^+    the pointer moves between two windows+      which are not ancestors of each other and the window is part of+      the ancestor chain between one of these windows and their least+      common ancestor.+    -}+    | NotifyTypeUnknown+    {- ^+    an unknown type of enter\/leave event occurred.+    -}+    | AnotherNotifyType Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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++instance P.Ord NotifyType where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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 ModifierIntent+{- |+This enum is used with 'GI.Gdk.Objects.Keymap.keymapGetModifierMask'+in order to determine what modifiers the+currently used windowing system backend uses for particular+purposes. For example, on X11\/Windows, the Control key is used for+invoking menu shortcuts (accelerators), whereas on Apple computers+it’s the Command key (which correspond to 'GI.Gdk.Flags.ModifierTypeControlMask' and+'GI.Gdk.Flags.ModifierTypeMod2Mask', respectively).++/Since: 3.4/+-}+data ModifierIntent = +      ModifierIntentPrimaryAccelerator+    {- ^+    the primary modifier used to invoke+     menu accelerators.+    -}+    | ModifierIntentContextMenu+    {- ^+    the modifier used to invoke context menus.+     Note that mouse button 3 always triggers context menus. When this modifier+     is not 0, it additionally triggers context menus when used with mouse button 1.+    -}+    | ModifierIntentExtendSelection+    {- ^+    the modifier used to extend selections+     using @modifier@-click or @modifier@-cursor-key+    -}+    | ModifierIntentModifySelection+    {- ^+    the modifier used to modify selections,+     which in most cases means toggling the clicked item into or out of the selection.+    -}+    | ModifierIntentNoTextInput+    {- ^+    when any of these modifiers is pressed, the+     key event cannot produce a symbol directly. This is meant to be used for+     input methods, and for use cases like typeahead search.+    -}+    | ModifierIntentShiftGroup+    {- ^+    the modifier that switches between keyboard+     groups (AltGr on X11\/Windows and Option\/Alt on OS X).+    -}+    | ModifierIntentDefaultModMask+    {- ^+    The set of modifier masks accepted+    as modifiers in accelerators. Needed because Command is mapped to MOD2 on+    OSX, which is widely used, but on X11 MOD2 is NumLock and using that for a+    mod key is problematic at best.+    Ref: https:\/\/bugzilla.gnome.org\/show_bug.cgi?id=736125.+    -}+    | AnotherModifierIntent Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum ModifierIntent where+    fromEnum ModifierIntentPrimaryAccelerator = 0+    fromEnum ModifierIntentContextMenu = 1+    fromEnum ModifierIntentExtendSelection = 2+    fromEnum ModifierIntentModifySelection = 3+    fromEnum ModifierIntentNoTextInput = 4+    fromEnum ModifierIntentShiftGroup = 5+    fromEnum ModifierIntentDefaultModMask = 6+    fromEnum (AnotherModifierIntent k) = k++    toEnum 0 = ModifierIntentPrimaryAccelerator+    toEnum 1 = ModifierIntentContextMenu+    toEnum 2 = ModifierIntentExtendSelection+    toEnum 3 = ModifierIntentModifySelection+    toEnum 4 = ModifierIntentNoTextInput+    toEnum 5 = ModifierIntentShiftGroup+    toEnum 6 = ModifierIntentDefaultModMask+    toEnum k = AnotherModifierIntent k++instance P.Ord ModifierIntent where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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++-- Enum InputSource+{- |+An enumeration describing the type of an input device in general terms.+-}+data InputSource = +      InputSourceMouse+    {- ^+    the device is a mouse. (This will be reported for the core+                       pointer, even if it is something else, such as a trackball.)+    -}+    | InputSourcePen+    {- ^+    the device is a stylus of a graphics tablet or similar device.+    -}+    | InputSourceEraser+    {- ^+    the device is an eraser. Typically, this would be the other end+                        of a stylus on a graphics tablet.+    -}+    | InputSourceCursor+    {- ^+    the device is a graphics tablet “puck” or similar device.+    -}+    | InputSourceKeyboard+    {- ^+    the device is a keyboard.+    -}+    | InputSourceTouchscreen+    {- ^+    the device is a direct-input touch device, such+        as a touchscreen or tablet. This device type has been added in 3.4.+    -}+    | InputSourceTouchpad+    {- ^+    the device is an indirect touch device, such+        as a touchpad. This device type has been added in 3.4.+    -}+    | InputSourceTrackpoint+    {- ^+    the device is a trackpoint. This device type has been+        added in 3.22+    -}+    | InputSourceTabletPad+    {- ^+    the device is a \"pad\", a collection of buttons,+        rings and strips found in drawing tablets. This device type has been+        added in 3.22.+    -}+    | AnotherInputSource Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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 InputSourceTrackpoint = 7+    fromEnum InputSourceTabletPad = 8+    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 7 = InputSourceTrackpoint+    toEnum 8 = InputSourceTabletPad+    toEnum k = AnotherInputSource k++instance P.Ord InputSource where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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++-- Enum InputMode+{- |+An enumeration that describes the mode of an input device.+-}+data InputMode = +      InputModeDisabled+    {- ^+    the device is disabled and will not report any events.+    -}+    | InputModeScreen+    {- ^+    the device is enabled. The device’s coordinate space+                      maps to the entire screen.+    -}+    | InputModeWindow+    {- ^+    the device is enabled. The device’s coordinate space+                      is mapped to a single window. The manner in which this window+                      is chosen is undefined, but it will typically be the same+                      way in which the focus window for key events is determined.+    -}+    | AnotherInputMode Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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++instance P.Ord InputMode where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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 Gravity+{- |+Defines the reference point of a window and the meaning of coordinates+passed to @/gtk_window_move()/@. See @/gtk_window_move()/@ and the \"implementation+notes\" section of the+<http://www.freedesktop.org/Standards/wm-spec Extended Window Manager Hints>+specification for more details.+-}+data Gravity = +      GravityNorthWest+    {- ^+    the reference point is at the top left corner.+    -}+    | GravityNorth+    {- ^+    the reference point is in the middle of the top edge.+    -}+    | GravityNorthEast+    {- ^+    the reference point is at the top right corner.+    -}+    | GravityWest+    {- ^+    the reference point is at the middle of the left edge.+    -}+    | GravityCenter+    {- ^+    the reference point is at the center of the window.+    -}+    | GravityEast+    {- ^+    the reference point is at the middle of the right edge.+    -}+    | GravitySouthWest+    {- ^+    the reference point is at the lower left corner.+    -}+    | GravitySouth+    {- ^+    the reference point is at the middle of the lower edge.+    -}+    | GravitySouthEast+    {- ^+    the reference point is at the lower right corner.+    -}+    | GravityStatic+    {- ^+    the reference point is at the top left corner of the+     window itself, ignoring window manager decorations.+    -}+    | AnotherGravity Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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++instance P.Ord Gravity where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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 GrabStatus+{- |+Returned by 'GI.Gdk.Objects.Device.deviceGrab', 'GI.Gdk.Functions.pointerGrab' and 'GI.Gdk.Functions.keyboardGrab' to+indicate success or the reason for the failure of the grab attempt.+-}+data GrabStatus = +      GrabStatusSuccess+    {- ^+    the resource was successfully grabbed.+    -}+    | GrabStatusAlreadyGrabbed+    {- ^+    the resource is actively grabbed by another client.+    -}+    | GrabStatusInvalidTime+    {- ^+    the resource was grabbed more recently than the+     specified time.+    -}+    | GrabStatusNotViewable+    {- ^+    the grab window or the /@confineTo@/ window are not+     viewable.+    -}+    | GrabStatusFrozen+    {- ^+    the resource is frozen by an active grab of another client.+    -}+    | GrabStatusFailed+    {- ^+    the grab failed for some other reason. Since 3.16+    -}+    | AnotherGrabStatus Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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++instance P.Ord GrabStatus where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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 GrabOwnership+{- |+Defines how device grabs interact with other devices.+-}+data GrabOwnership = +      GrabOwnershipNone+    {- ^+    All other devices’ events are allowed.+    -}+    | GrabOwnershipWindow+    {- ^+    Other devices’ events are blocked for the grab window.+    -}+    | GrabOwnershipApplication+    {- ^+    Other devices’ events are blocked for the whole application.+    -}+    | AnotherGrabOwnership Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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++instance P.Ord GrabOwnership where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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 GLError+{- |+Error enumeration for 'GI.Gdk.Objects.GLContext.GLContext'.++/Since: 3.16/+-}+data GLError = +      GLErrorNotAvailable+    {- ^+    OpenGL support is not available+    -}+    | GLErrorUnsupportedFormat+    {- ^+    The requested visual format is not supported+    -}+    | GLErrorUnsupportedProfile+    {- ^+    The requested profile is not supported+    -}+    | AnotherGLError Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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 P.Ord GLError where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++instance GErrorClass GLError where+    gerrorClassDomain _ = "gdk-gl-error-quark"++-- | Catch exceptions of type `GLError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.+catchGLError ::+    IO a ->+    (GLError -> GErrorMessage -> IO a) ->+    IO a+catchGLError = catchGErrorJustDomain++-- | Handle exceptions of type `GLError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.+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++-- Enum FullscreenMode+{- |+Indicates which monitor (in a multi-head setup) a window should span over+when in fullscreen mode.++/Since: 3.8/+-}+data FullscreenMode = +      FullscreenModeCurrentMonitor+    {- ^+    Fullscreen on current monitor only.+    -}+    | FullscreenModeAllMonitors+    {- ^+    Span across all monitors when fullscreen.+    -}+    | AnotherFullscreenMode Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum FullscreenMode where+    fromEnum FullscreenModeCurrentMonitor = 0+    fromEnum FullscreenModeAllMonitors = 1+    fromEnum (AnotherFullscreenMode k) = k++    toEnum 0 = FullscreenModeCurrentMonitor+    toEnum 1 = FullscreenModeAllMonitors+    toEnum k = AnotherFullscreenMode k++instance P.Ord FullscreenMode where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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++-- Enum FilterReturn+{- |+Specifies the result of applying a 'GI.Gdk.Callbacks.FilterFunc' to a native event.+-}+data FilterReturn = +      FilterReturnContinue+    {- ^+    event not handled, continue processing.+    -}+    | FilterReturnTranslate+    {- ^+    native event translated into a GDK event and stored+     in the @event@ structure that was passed in.+    -}+    | FilterReturnRemove+    {- ^+    event handled, terminate processing.+    -}+    | AnotherFilterReturn Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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++instance P.Ord FilterReturn where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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++-- Enum EventType+{- |+Specifies the type of the event.++Do not confuse these events with the signals that GTK+ widgets emit.+Although many of these events result in corresponding signals being emitted,+the events are often transformed or filtered along the way.++In some language bindings, the values 'GI.Gdk.Enums.EventType2buttonPress' and+'GI.Gdk.Enums.EventType3buttonPress' would translate into something syntactically+invalid (eg @Gdk.EventType.2ButtonPress@, where a+symbol is not allowed to start with a number). In that case, the+aliases 'GI.Gdk.Enums.EventTypeDoubleButtonPress' and 'GI.Gdk.Enums.EventTypeTripleButtonPress' can+be used instead.+-}+data EventType = +      EventTypeNothing+    {- ^+    a special code to indicate a null event.+    -}+    | EventTypeDelete+    {- ^+    the window manager has requested that the toplevel window be+      hidden or destroyed, usually when the user clicks on a special icon in the+      title bar.+    -}+    | EventTypeDestroy+    {- ^+    the window has been destroyed.+    -}+    | EventTypeExpose+    {- ^+    all or part of the window has become visible and needs to be+      redrawn.+    -}+    | EventTypeMotionNotify+    {- ^+    the pointer (usually a mouse) has moved.+    -}+    | EventTypeButtonPress+    {- ^+    a mouse button has been pressed.+    -}+    | EventType2buttonPress+    {- ^+    a mouse button has been double-clicked (clicked twice+      within a short period of time). Note that each click also generates a+      'GI.Gdk.Enums.EventTypeButtonPress' event.+    -}+    | EventTypeDoubleButtonPress+    {- ^+    alias for 'GI.Gdk.Enums.EventType2buttonPress', added in 3.6.+    -}+    | EventType3buttonPress+    {- ^+    a mouse button has been clicked 3 times in a short period+      of time. Note that each click also generates a 'GI.Gdk.Enums.EventTypeButtonPress' event.+    -}+    | EventTypeTripleButtonPress+    {- ^+    alias for 'GI.Gdk.Enums.EventType3buttonPress', added in 3.6.+    -}+    | EventTypeButtonRelease+    {- ^+    a mouse button has been released.+    -}+    | EventTypeKeyPress+    {- ^+    a key has been pressed.+    -}+    | EventTypeKeyRelease+    {- ^+    a key has been released.+    -}+    | EventTypeEnterNotify+    {- ^+    the pointer has entered the window.+    -}+    | EventTypeLeaveNotify+    {- ^+    the pointer has left the window.+    -}+    | EventTypeFocusChange+    {- ^+    the keyboard focus has entered or left the window.+    -}+    | EventTypeConfigure+    {- ^+    the size, position or stacking order of the window has changed.+      Note that GTK+ discards these events for 'GI.Gdk.Enums.WindowTypeChild' windows.+    -}+    | EventTypeMap+    {- ^+    the window has been mapped.+    -}+    | EventTypeUnmap+    {- ^+    the window has been unmapped.+    -}+    | EventTypePropertyNotify+    {- ^+    a property on the window has been changed or deleted.+    -}+    | EventTypeSelectionClear+    {- ^+    the application has lost ownership of a selection.+    -}+    | EventTypeSelectionRequest+    {- ^+    another application has requested a selection.+    -}+    | EventTypeSelectionNotify+    {- ^+    a selection has been received.+    -}+    | EventTypeProximityIn+    {- ^+    an input device has moved into contact with a sensing+      surface (e.g. a touchscreen or graphics tablet).+    -}+    | EventTypeProximityOut+    {- ^+    an input device has moved out of contact with a sensing+      surface.+    -}+    | EventTypeDragEnter+    {- ^+    the mouse has entered the window while a drag is in progress.+    -}+    | EventTypeDragLeave+    {- ^+    the mouse has left the window while a drag is in progress.+    -}+    | EventTypeDragMotion+    {- ^+    the mouse has moved in the window while a drag is in+      progress.+    -}+    | EventTypeDragStatus+    {- ^+    the status of the drag operation initiated by the window+      has changed.+    -}+    | EventTypeDropStart+    {- ^+    a drop operation onto the window has started.+    -}+    | EventTypeDropFinished+    {- ^+    the drop operation initiated by the window has completed.+    -}+    | EventTypeClientEvent+    {- ^+    a message has been received from another application.+    -}+    | EventTypeVisibilityNotify+    {- ^+    the window visibility status has changed.+    -}+    | EventTypeScroll+    {- ^+    the scroll wheel was turned+    -}+    | EventTypeWindowState+    {- ^+    the state of a window has changed. See 'GI.Gdk.Flags.WindowState'+      for the possible window states+    -}+    | EventTypeSetting+    {- ^+    a setting has been modified.+    -}+    | EventTypeOwnerChange+    {- ^+    the owner of a selection has changed. This event type+      was added in 2.6+    -}+    | EventTypeGrabBroken+    {- ^+    a pointer or keyboard grab was broken. This event type+      was added in 2.8.+    -}+    | EventTypeDamage+    {- ^+    the content of the window has been changed. This event type+      was added in 2.14.+    -}+    | EventTypeTouchBegin+    {- ^+    A new touch event sequence has just started. This event+      type was added in 3.4.+    -}+    | EventTypeTouchUpdate+    {- ^+    A touch event sequence has been updated. This event type+      was added in 3.4.+    -}+    | EventTypeTouchEnd+    {- ^+    A touch event sequence has finished. This event type+      was added in 3.4.+    -}+    | EventTypeTouchCancel+    {- ^+    A touch event sequence has been canceled. This event type+      was added in 3.4.+    -}+    | EventTypeTouchpadSwipe+    {- ^+    A touchpad swipe gesture event, the current state+      is determined by its phase field. This event type was added in 3.18.+    -}+    | EventTypeTouchpadPinch+    {- ^+    A touchpad pinch gesture event, the current state+      is determined by its phase field. This event type was added in 3.18.+    -}+    | EventTypePadButtonPress+    {- ^+    A tablet pad button press event. This event type+      was added in 3.22.+    -}+    | EventTypePadButtonRelease+    {- ^+    A tablet pad button release event. This event type+      was added in 3.22.+    -}+    | EventTypePadRing+    {- ^+    A tablet pad axis event from a \"ring\". This event type was+      added in 3.22.+    -}+    | EventTypePadStrip+    {- ^+    A tablet pad axis event from a \"strip\". This event type was+      added in 3.22.+    -}+    | EventTypePadGroupMode+    {- ^+    A tablet pad group mode change. This event type was+      added in 3.22.+    -}+    | EventTypeEventLast+    {- ^+    marks the end of the GdkEventType enumeration. Added in 2.18+    -}+    | AnotherEventType Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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 EventTypeTouchpadSwipe = 41+    fromEnum EventTypeTouchpadPinch = 42+    fromEnum EventTypePadButtonPress = 43+    fromEnum EventTypePadButtonRelease = 44+    fromEnum EventTypePadRing = 45+    fromEnum EventTypePadStrip = 46+    fromEnum EventTypePadGroupMode = 47+    fromEnum EventTypeEventLast = 48+    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 5 = EventTypeDoubleButtonPress+    toEnum 6 = EventType3buttonPress+    toEnum 6 = EventTypeTripleButtonPress+    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 = EventTypeTouchpadSwipe+    toEnum 42 = EventTypeTouchpadPinch+    toEnum 43 = EventTypePadButtonPress+    toEnum 44 = EventTypePadButtonRelease+    toEnum 45 = EventTypePadRing+    toEnum 46 = EventTypePadStrip+    toEnum 47 = EventTypePadGroupMode+    toEnum 48 = EventTypeEventLast+    toEnum k = AnotherEventType k++instance P.Ord EventType where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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++-- Enum DragProtocol+{- |+Used in 'GI.Gdk.Objects.DragContext.DragContext' to indicate the protocol according to+which DND is done.+-}+data DragProtocol = +      DragProtocolNone+    {- ^+    no protocol.+    -}+    | DragProtocolMotif+    {- ^+    The Motif DND protocol. No longer supported+    -}+    | DragProtocolXdnd+    {- ^+    The Xdnd protocol.+    -}+    | DragProtocolRootwin+    {- ^+    An extension to the Xdnd protocol for+     unclaimed root window drops.+    -}+    | DragProtocolWin32Dropfiles+    {- ^+    The simple WM_DROPFILES protocol.+    -}+    | DragProtocolOle2+    {- ^+    The complex OLE2 DND protocol (not implemented).+    -}+    | DragProtocolLocal+    {- ^+    Intra-application DND.+    -}+    | DragProtocolWayland+    {- ^+    Wayland DND protocol.+    -}+    | AnotherDragProtocol Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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++instance P.Ord DragProtocol where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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++-- Enum DragCancelReason+{- |+Used in 'GI.Gdk.Objects.DragContext.DragContext' to the reason of a cancelled DND operation.++/Since: 3.20/+-}+data DragCancelReason = +      DragCancelReasonNoTarget+    {- ^+    There is no suitable drop target.+    -}+    | DragCancelReasonUserCancelled+    {- ^+    Drag cancelled by the user+    -}+    | DragCancelReasonError+    {- ^+    Unspecified error.+    -}+    | AnotherDragCancelReason Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum DragCancelReason where+    fromEnum DragCancelReasonNoTarget = 0+    fromEnum DragCancelReasonUserCancelled = 1+    fromEnum DragCancelReasonError = 2+    fromEnum (AnotherDragCancelReason k) = k++    toEnum 0 = DragCancelReasonNoTarget+    toEnum 1 = DragCancelReasonUserCancelled+    toEnum 2 = DragCancelReasonError+    toEnum k = AnotherDragCancelReason k++instance P.Ord DragCancelReason where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "gdk_drag_cancel_reason_get_type" c_gdk_drag_cancel_reason_get_type :: +    IO GType++instance BoxedEnum DragCancelReason where+    boxedEnumType _ = c_gdk_drag_cancel_reason_get_type++-- Enum DeviceType+{- |+Indicates the device type. See [above][GdkDeviceManager.description]+for more information about the meaning of these device types.+-}+data DeviceType = +      DeviceTypeMaster+    {- ^+    Device is a master (or virtual) device. There will+                             be an associated focus indicator on the screen.+    -}+    | DeviceTypeSlave+    {- ^+    Device is a slave (or physical) device.+    -}+    | DeviceTypeFloating+    {- ^+    Device is a physical device, currently not attached to+                               any virtual device.+    -}+    | AnotherDeviceType Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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++instance P.Ord DeviceType where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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++-- Enum DeviceToolType+{- |+Indicates the specific type of tool being used being a tablet. Such as an+airbrush, pencil, etc.++/Since: 3.22/+-}+data DeviceToolType = +      DeviceToolTypeUnknown+    {- ^+    Tool is of an unknown type.+    -}+    | DeviceToolTypePen+    {- ^+    Tool is a standard tablet stylus.+    -}+    | DeviceToolTypeEraser+    {- ^+    Tool is standard tablet eraser.+    -}+    | DeviceToolTypeBrush+    {- ^+    Tool is a brush stylus.+    -}+    | DeviceToolTypePencil+    {- ^+    Tool is a pencil stylus.+    -}+    | DeviceToolTypeAirbrush+    {- ^+    Tool is an airbrush stylus.+    -}+    | DeviceToolTypeMouse+    {- ^+    Tool is a mouse.+    -}+    | DeviceToolTypeLens+    {- ^+    Tool is a lens cursor.+    -}+    | AnotherDeviceToolType Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum DeviceToolType where+    fromEnum DeviceToolTypeUnknown = 0+    fromEnum DeviceToolTypePen = 1+    fromEnum DeviceToolTypeEraser = 2+    fromEnum DeviceToolTypeBrush = 3+    fromEnum DeviceToolTypePencil = 4+    fromEnum DeviceToolTypeAirbrush = 5+    fromEnum DeviceToolTypeMouse = 6+    fromEnum DeviceToolTypeLens = 7+    fromEnum (AnotherDeviceToolType k) = k++    toEnum 0 = DeviceToolTypeUnknown+    toEnum 1 = DeviceToolTypePen+    toEnum 2 = DeviceToolTypeEraser+    toEnum 3 = DeviceToolTypeBrush+    toEnum 4 = DeviceToolTypePencil+    toEnum 5 = DeviceToolTypeAirbrush+    toEnum 6 = DeviceToolTypeMouse+    toEnum 7 = DeviceToolTypeLens+    toEnum k = AnotherDeviceToolType k++instance P.Ord DeviceToolType where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "gdk_device_tool_type_get_type" c_gdk_device_tool_type_get_type :: +    IO GType++instance BoxedEnum DeviceToolType where+    boxedEnumType _ = c_gdk_device_tool_type_get_type++-- Enum DevicePadFeature+{- |+A pad feature.+-}+data DevicePadFeature = +      DevicePadFeatureButton+    {- ^+    a button+    -}+    | DevicePadFeatureRing+    {- ^+    a ring-shaped interactive area+    -}+    | DevicePadFeatureStrip+    {- ^+    a straight interactive area+    -}+    | AnotherDevicePadFeature Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum DevicePadFeature where+    fromEnum DevicePadFeatureButton = 0+    fromEnum DevicePadFeatureRing = 1+    fromEnum DevicePadFeatureStrip = 2+    fromEnum (AnotherDevicePadFeature k) = k++    toEnum 0 = DevicePadFeatureButton+    toEnum 1 = DevicePadFeatureRing+    toEnum 2 = DevicePadFeatureStrip+    toEnum k = AnotherDevicePadFeature k++instance P.Ord DevicePadFeature where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "gdk_device_pad_feature_get_type" c_gdk_device_pad_feature_get_type :: +    IO GType++instance BoxedEnum DevicePadFeature where+    boxedEnumType _ = c_gdk_device_pad_feature_get_type++-- Enum CursorType+{- |+Predefined cursors.++Note that these IDs are directly taken from the X cursor font, and many+of these cursors are either not useful, or are not available on other platforms.++The recommended way to create cursors is to use 'GI.Gdk.Objects.Cursor.cursorNewFromName'.+-}+data CursorType = +      CursorTypeXCursor+    {- ^+    <<http://developer.gnome.org/gdk/stable/X_cursor.png>>+    -}+    | CursorTypeArrow+    {- ^+    <<http://developer.gnome.org/gdk/stable/arrow.png>>+    -}+    | CursorTypeBasedArrowDown+    {- ^+    <<http://developer.gnome.org/gdk/stable/based_arrow_down.png>>+    -}+    | CursorTypeBasedArrowUp+    {- ^+    <<http://developer.gnome.org/gdk/stable/based_arrow_up.png>>+    -}+    | CursorTypeBoat+    {- ^+    <<http://developer.gnome.org/gdk/stable/boat.png>>+    -}+    | CursorTypeBogosity+    {- ^+    <<http://developer.gnome.org/gdk/stable/bogosity.png>>+    -}+    | CursorTypeBottomLeftCorner+    {- ^+    <<http://developer.gnome.org/gdk/stable/bottom_left_corner.png>>+    -}+    | CursorTypeBottomRightCorner+    {- ^+    <<http://developer.gnome.org/gdk/stable/bottom_right_corner.png>>+    -}+    | CursorTypeBottomSide+    {- ^+    <<http://developer.gnome.org/gdk/stable/bottom_side.png>>+    -}+    | CursorTypeBottomTee+    {- ^+    <<http://developer.gnome.org/gdk/stable/bottom_tee.png>>+    -}+    | CursorTypeBoxSpiral+    {- ^+    <<http://developer.gnome.org/gdk/stable/box_spiral.png>>+    -}+    | CursorTypeCenterPtr+    {- ^+    <<http://developer.gnome.org/gdk/stable/center_ptr.png>>+    -}+    | CursorTypeCircle+    {- ^+    <<http://developer.gnome.org/gdk/stable/circle.png>>+    -}+    | CursorTypeClock+    {- ^+    <<http://developer.gnome.org/gdk/stable/clock.png>>+    -}+    | CursorTypeCoffeeMug+    {- ^+    <<http://developer.gnome.org/gdk/stable/coffee_mug.png>>+    -}+    | CursorTypeCross+    {- ^+    <<http://developer.gnome.org/gdk/stable/cross.png>>+    -}+    | CursorTypeCrossReverse+    {- ^+    <<http://developer.gnome.org/gdk/stable/cross_reverse.png>>+    -}+    | CursorTypeCrosshair+    {- ^+    <<http://developer.gnome.org/gdk/stable/crosshair.png>>+    -}+    | CursorTypeDiamondCross+    {- ^+    <<http://developer.gnome.org/gdk/stable/diamond_cross.png>>+    -}+    | CursorTypeDot+    {- ^+    <<http://developer.gnome.org/gdk/stable/dot.png>>+    -}+    | CursorTypeDotbox+    {- ^+    <<http://developer.gnome.org/gdk/stable/dotbox.png>>+    -}+    | CursorTypeDoubleArrow+    {- ^+    <<http://developer.gnome.org/gdk/stable/double_arrow.png>>+    -}+    | CursorTypeDraftLarge+    {- ^+    <<http://developer.gnome.org/gdk/stable/draft_large.png>>+    -}+    | CursorTypeDraftSmall+    {- ^+    <<http://developer.gnome.org/gdk/stable/draft_small.png>>+    -}+    | CursorTypeDrapedBox+    {- ^+    <<http://developer.gnome.org/gdk/stable/draped_box.png>>+    -}+    | CursorTypeExchange+    {- ^+    <<http://developer.gnome.org/gdk/stable/exchange.png>>+    -}+    | CursorTypeFleur+    {- ^+    <<http://developer.gnome.org/gdk/stable/fleur.png>>+    -}+    | CursorTypeGobbler+    {- ^+    <<http://developer.gnome.org/gdk/stable/gobbler.png>>+    -}+    | CursorTypeGumby+    {- ^+    <<http://developer.gnome.org/gdk/stable/gumby.png>>+    -}+    | CursorTypeHand1+    {- ^+    <<http://developer.gnome.org/gdk/stable/hand1.png>>+    -}+    | CursorTypeHand2+    {- ^+    <<http://developer.gnome.org/gdk/stable/hand2.png>>+    -}+    | CursorTypeHeart+    {- ^+    <<http://developer.gnome.org/gdk/stable/heart.png>>+    -}+    | CursorTypeIcon+    {- ^+    <<http://developer.gnome.org/gdk/stable/icon.png>>+    -}+    | CursorTypeIronCross+    {- ^+    <<http://developer.gnome.org/gdk/stable/iron_cross.png>>+    -}+    | CursorTypeLeftPtr+    {- ^+    <<http://developer.gnome.org/gdk/stable/left_ptr.png>>+    -}+    | CursorTypeLeftSide+    {- ^+    <<http://developer.gnome.org/gdk/stable/left_side.png>>+    -}+    | CursorTypeLeftTee+    {- ^+    <<http://developer.gnome.org/gdk/stable/left_tee.png>>+    -}+    | CursorTypeLeftbutton+    {- ^+    <<http://developer.gnome.org/gdk/stable/leftbutton.png>>+    -}+    | CursorTypeLlAngle+    {- ^+    <<http://developer.gnome.org/gdk/stable/ll_angle.png>>+    -}+    | CursorTypeLrAngle+    {- ^+    <<http://developer.gnome.org/gdk/stable/lr_angle.png>>+    -}+    | CursorTypeMan+    {- ^+    <<http://developer.gnome.org/gdk/stable/man.png>>+    -}+    | CursorTypeMiddlebutton+    {- ^+    <<http://developer.gnome.org/gdk/stable/middlebutton.png>>+    -}+    | CursorTypeMouse+    {- ^+    <<http://developer.gnome.org/gdk/stable/mouse.png>>+    -}+    | CursorTypePencil+    {- ^+    <<http://developer.gnome.org/gdk/stable/pencil.png>>+    -}+    | CursorTypePirate+    {- ^+    <<http://developer.gnome.org/gdk/stable/pirate.png>>+    -}+    | CursorTypePlus+    {- ^+    <<http://developer.gnome.org/gdk/stable/plus.png>>+    -}+    | CursorTypeQuestionArrow+    {- ^+    <<http://developer.gnome.org/gdk/stable/question_arrow.png>>+    -}+    | CursorTypeRightPtr+    {- ^+    <<http://developer.gnome.org/gdk/stable/right_ptr.png>>+    -}+    | CursorTypeRightSide+    {- ^+    <<http://developer.gnome.org/gdk/stable/right_side.png>>+    -}+    | CursorTypeRightTee+    {- ^+    <<http://developer.gnome.org/gdk/stable/right_tee.png>>+    -}+    | CursorTypeRightbutton+    {- ^+    <<http://developer.gnome.org/gdk/stable/rightbutton.png>>+    -}+    | CursorTypeRtlLogo+    {- ^+    <<http://developer.gnome.org/gdk/stable/rtl_logo.png>>+    -}+    | CursorTypeSailboat+    {- ^+    <<http://developer.gnome.org/gdk/stable/sailboat.png>>+    -}+    | CursorTypeSbDownArrow+    {- ^+    <<http://developer.gnome.org/gdk/stable/sb_down_arrow.png>>+    -}+    | CursorTypeSbHDoubleArrow+    {- ^+    <<http://developer.gnome.org/gdk/stable/sb_h_double_arrow.png>>+    -}+    | CursorTypeSbLeftArrow+    {- ^+    <<http://developer.gnome.org/gdk/stable/sb_left_arrow.png>>+    -}+    | CursorTypeSbRightArrow+    {- ^+    <<http://developer.gnome.org/gdk/stable/sb_right_arrow.png>>+    -}+    | CursorTypeSbUpArrow+    {- ^+    <<http://developer.gnome.org/gdk/stable/sb_up_arrow.png>>+    -}+    | CursorTypeSbVDoubleArrow+    {- ^+    <<http://developer.gnome.org/gdk/stable/sb_v_double_arrow.png>>+    -}+    | CursorTypeShuttle+    {- ^+    <<http://developer.gnome.org/gdk/stable/shuttle.png>>+    -}+    | CursorTypeSizing+    {- ^+    <<http://developer.gnome.org/gdk/stable/sizing.png>>+    -}+    | CursorTypeSpider+    {- ^+    <<http://developer.gnome.org/gdk/stable/spider.png>>+    -}+    | CursorTypeSpraycan+    {- ^+    <<http://developer.gnome.org/gdk/stable/spraycan.png>>+    -}+    | CursorTypeStar+    {- ^+    <<http://developer.gnome.org/gdk/stable/star.png>>+    -}+    | CursorTypeTarget+    {- ^+    <<http://developer.gnome.org/gdk/stable/target.png>>+    -}+    | CursorTypeTcross+    {- ^+    <<http://developer.gnome.org/gdk/stable/tcross.png>>+    -}+    | CursorTypeTopLeftArrow+    {- ^+    <<http://developer.gnome.org/gdk/stable/top_left_arrow.png>>+    -}+    | CursorTypeTopLeftCorner+    {- ^+    <<http://developer.gnome.org/gdk/stable/top_left_corner.png>>+    -}+    | CursorTypeTopRightCorner+    {- ^+    <<http://developer.gnome.org/gdk/stable/top_right_corner.png>>+    -}+    | CursorTypeTopSide+    {- ^+    <<http://developer.gnome.org/gdk/stable/top_side.png>>+    -}+    | CursorTypeTopTee+    {- ^+    <<http://developer.gnome.org/gdk/stable/top_tee.png>>+    -}+    | CursorTypeTrek+    {- ^+    <<http://developer.gnome.org/gdk/stable/trek.png>>+    -}+    | CursorTypeUlAngle+    {- ^+    <<http://developer.gnome.org/gdk/stable/ul_angle.png>>+    -}+    | CursorTypeUmbrella+    {- ^+    <<http://developer.gnome.org/gdk/stable/umbrella.png>>+    -}+    | CursorTypeUrAngle+    {- ^+    <<http://developer.gnome.org/gdk/stable/ur_angle.png>>+    -}+    | CursorTypeWatch+    {- ^+    <<http://developer.gnome.org/gdk/stable/watch.png>>+    -}+    | CursorTypeXterm+    {- ^+    <<http://developer.gnome.org/gdk/stable/xterm.png>>+    -}+    | CursorTypeLastCursor+    {- ^+    last cursor type+    -}+    | CursorTypeBlankCursor+    {- ^+    Blank cursor. Since 2.16+    -}+    | CursorTypeCursorIsPixmap+    {- ^+    type of cursors constructed with+      'GI.Gdk.Objects.Cursor.cursorNewFromPixbuf'+    -}+    | AnotherCursorType Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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 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 -2 = CursorTypeBlankCursor+    toEnum -1 = CursorTypeCursorIsPixmap+    toEnum k = AnotherCursorType k++instance P.Ord CursorType where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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++-- Enum CrossingMode+{- |+Specifies the crossing mode for 'GI.Gdk.Structs.EventCrossing.EventCrossing'.+-}+data CrossingMode = +      CrossingModeNormal+    {- ^+    crossing because of pointer motion.+    -}+    | CrossingModeGrab+    {- ^+    crossing because a grab is activated.+    -}+    | CrossingModeUngrab+    {- ^+    crossing because a grab is deactivated.+    -}+    | CrossingModeGtkGrab+    {- ^+    crossing because a GTK+ grab is activated.+    -}+    | CrossingModeGtkUngrab+    {- ^+    crossing because a GTK+ grab is deactivated.+    -}+    | CrossingModeStateChanged+    {- ^+    crossing because a GTK+ widget changed+      state (e.g. sensitivity).+    -}+    | CrossingModeTouchBegin+    {- ^+    crossing because a touch sequence has begun,+      this event is synthetic as the pointer might have not left the window.+    -}+    | CrossingModeTouchEnd+    {- ^+    crossing because a touch sequence has ended,+      this event is synthetic as the pointer might have not left the window.+    -}+    | CrossingModeDeviceSwitch+    {- ^+    crossing because of a device switch (i.e.+      a mouse taking control of the pointer after a touch device), this event+      is synthetic as the pointer didn’t leave the window.+    -}+    | AnotherCrossingMode Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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++instance P.Ord CrossingMode where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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++-- Enum ByteOrder+{- |+A set of values describing the possible byte-orders+for storing pixel values in memory.+-}+data ByteOrder = +      ByteOrderLsbFirst+    {- ^+    The values are stored with the least-significant byte+      first. For instance, the 32-bit value 0xffeecc would be stored+      in memory as 0xcc, 0xee, 0xff, 0x00.+    -}+    | ByteOrderMsbFirst+    {- ^+    The values are stored with the most-significant byte+      first. For instance, the 32-bit value 0xffeecc would be stored+      in memory as 0x00, 0xff, 0xee, 0xcc.+    -}+    | AnotherByteOrder Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum ByteOrder where+    fromEnum ByteOrderLsbFirst = 0+    fromEnum ByteOrderMsbFirst = 1+    fromEnum (AnotherByteOrder k) = k++    toEnum 0 = ByteOrderLsbFirst+    toEnum 1 = ByteOrderMsbFirst+    toEnum k = AnotherByteOrder k++instance P.Ord ByteOrder where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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++-- Enum AxisUse+{- |+An enumeration describing the way in which a device+axis (valuator) maps onto the predefined valuator+types that GTK+ understands.++Note that the X and Y axes are not really needed; pointer devices+report their location via the x\/y members of events regardless. Whether+X and Y are present as axes depends on the GDK backend.+-}+data AxisUse = +      AxisUseIgnore+    {- ^+    the axis is ignored.+    -}+    | AxisUseX+    {- ^+    the axis is used as the x axis.+    -}+    | AxisUseY+    {- ^+    the axis is used as the y axis.+    -}+    | AxisUsePressure+    {- ^+    the axis is used for pressure information.+    -}+    | AxisUseXtilt+    {- ^+    the axis is used for x tilt information.+    -}+    | AxisUseYtilt+    {- ^+    the axis is used for y tilt information.+    -}+    | AxisUseWheel+    {- ^+    the axis is used for wheel information.+    -}+    | AxisUseDistance+    {- ^+    the axis is used for pen\/tablet distance information. (Since: 3.22)+    -}+    | AxisUseRotation+    {- ^+    the axis is used for pen rotation information. (Since: 3.22)+    -}+    | AxisUseSlider+    {- ^+    the axis is used for pen slider information. (Since: 3.22)+    -}+    | AxisUseLast+    {- ^+    a constant equal to the numerically highest axis value.+    -}+    | AnotherAxisUse Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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 AxisUseDistance = 7+    fromEnum AxisUseRotation = 8+    fromEnum AxisUseSlider = 9+    fromEnum AxisUseLast = 10+    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 = AxisUseDistance+    toEnum 8 = AxisUseRotation+    toEnum 9 = AxisUseSlider+    toEnum 10 = AxisUseLast+    toEnum k = AnotherAxisUse k++instance P.Ord AxisUse where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++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++
+ GI/Gdk/Enums.hs-boot view
@@ -0,0 +1,126 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Enums where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++data WindowWindowClass+instance P.Enum WindowWindowClass where+instance BoxedEnum WindowWindowClass where+data WindowTypeHint+instance P.Enum WindowTypeHint where+instance BoxedEnum WindowTypeHint where+data WindowType+instance P.Enum WindowType where+instance BoxedEnum WindowType where+data WindowEdge+instance P.Enum WindowEdge where+instance BoxedEnum WindowEdge where+data VisualType+instance P.Enum VisualType where+instance BoxedEnum VisualType where+data VisibilityState+instance P.Enum VisibilityState where+instance BoxedEnum VisibilityState where+data TouchpadGesturePhase+instance P.Enum TouchpadGesturePhase where+instance BoxedEnum TouchpadGesturePhase where+data SubpixelLayout+instance P.Enum SubpixelLayout where+instance BoxedEnum SubpixelLayout where+data Status+instance P.Enum Status where+instance BoxedEnum Status where+data SettingAction+instance P.Enum SettingAction where+instance BoxedEnum SettingAction where+data ScrollDirection+instance P.Enum ScrollDirection where+instance BoxedEnum ScrollDirection where+data PropertyState+instance P.Enum PropertyState where+instance BoxedEnum PropertyState where+data PropMode+instance P.Enum PropMode where+instance BoxedEnum PropMode where+data OwnerChange+instance P.Enum OwnerChange where+instance BoxedEnum OwnerChange where+data NotifyType+instance P.Enum NotifyType where+instance BoxedEnum NotifyType where+data ModifierIntent+instance P.Enum ModifierIntent where+instance BoxedEnum ModifierIntent where+data InputSource+instance P.Enum InputSource where+instance BoxedEnum InputSource where+data InputMode+instance P.Enum InputMode where+instance BoxedEnum InputMode where+data Gravity+instance P.Enum Gravity where+instance BoxedEnum Gravity where+data GrabStatus+instance P.Enum GrabStatus where+instance BoxedEnum GrabStatus where+data GrabOwnership+instance P.Enum GrabOwnership where+instance BoxedEnum GrabOwnership where+data GLError+instance P.Enum GLError where+instance BoxedEnum GLError where+data FullscreenMode+instance P.Enum FullscreenMode where+instance BoxedEnum FullscreenMode where+data FilterReturn+instance P.Enum FilterReturn where+instance BoxedEnum FilterReturn where+data EventType+instance P.Enum EventType where+instance BoxedEnum EventType where+data DragProtocol+instance P.Enum DragProtocol where+instance BoxedEnum DragProtocol where+data DragCancelReason+instance P.Enum DragCancelReason where+instance BoxedEnum DragCancelReason where+data DeviceType+instance P.Enum DeviceType where+instance BoxedEnum DeviceType where+data DeviceToolType+instance P.Enum DeviceToolType where+instance BoxedEnum DeviceToolType where+data DevicePadFeature+instance P.Enum DevicePadFeature where+instance BoxedEnum DevicePadFeature where+data CursorType+instance P.Enum CursorType where+instance BoxedEnum CursorType where+data CrossingMode+instance P.Enum CrossingMode where+instance BoxedEnum CrossingMode where+data ByteOrder+instance P.Enum ByteOrder where+instance BoxedEnum ByteOrder where+data AxisUse+instance P.Enum AxisUse where+instance BoxedEnum AxisUse where
+ GI/Gdk/Flags.hs view
@@ -0,0 +1,1364 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Flags+    ( ++ -- * Flags+-- ** AnchorHints #flag:AnchorHints#++    AnchorHints(..)                         ,+++-- ** AxisFlags #flag:AxisFlags#++    AxisFlags(..)                           ,+++-- ** DragAction #flag:DragAction#++    DragAction(..)                          ,+++-- ** EventMask #flag:EventMask#++    EventMask(..)                           ,+++-- ** FrameClockPhase #flag:FrameClockPhase#++    FrameClockPhase(..)                     ,+++-- ** ModifierType #flag:ModifierType#++    ModifierType(..)                        ,+++-- ** SeatCapabilities #flag:SeatCapabilities#++    SeatCapabilities(..)                    ,+++-- ** WMDecoration #flag:WMDecoration#++    WMDecoration(..)                        ,+++-- ** WMFunction #flag:WMFunction#++    WMFunction(..)                          ,+++-- ** WindowAttributesType #flag:WindowAttributesType#++    WindowAttributesType(..)                ,+++-- ** WindowHints #flag:WindowHints#++    WindowHints(..)                         ,+++-- ** WindowState #flag:WindowState#++    WindowState(..)                         ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++-- Flags WindowState+{- |+Specifies the state of a toplevel window.+-}+data WindowState = +      WindowStateWithdrawn+    {- ^+    the window is not shown.+    -}+    | WindowStateIconified+    {- ^+    the window is minimized.+    -}+    | WindowStateMaximized+    {- ^+    the window is maximized.+    -}+    | WindowStateSticky+    {- ^+    the window is sticky.+    -}+    | WindowStateFullscreen+    {- ^+    the window is maximized without+      decorations.+    -}+    | WindowStateAbove+    {- ^+    the window is kept above other windows.+    -}+    | WindowStateBelow+    {- ^+    the window is kept below other windows.+    -}+    | WindowStateFocused+    {- ^+    the window is presented as focused (with active decorations).+    -}+    | WindowStateTiled+    {- ^+    the window is in a tiled state, Since 3.10. Since 3.22.23, this+                             is deprecated in favor of per-edge information.+    -}+    | WindowStateTopTiled+    {- ^+    whether the top edge is tiled, Since 3.22.23+    -}+    | WindowStateTopResizable+    {- ^+    whether the top edge is resizable, Since 3.22.23+    -}+    | WindowStateRightTiled+    {- ^+    whether the right edge is tiled, Since 3.22.23+    -}+    | WindowStateRightResizable+    {- ^+    whether the right edge is resizable, Since 3.22.23+    -}+    | WindowStateBottomTiled+    {- ^+    whether the bottom edge is tiled, Since 3.22.23+    -}+    | WindowStateBottomResizable+    {- ^+    whether the bottom edge is resizable, Since 3.22.23+    -}+    | WindowStateLeftTiled+    {- ^+    whether the left edge is tiled, Since 3.22.23+    -}+    | WindowStateLeftResizable+    {- ^+    whether the left edge is resizable, Since 3.22.23+    -}+    | AnotherWindowState Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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 WindowStateTopTiled = 512+    fromEnum WindowStateTopResizable = 1024+    fromEnum WindowStateRightTiled = 2048+    fromEnum WindowStateRightResizable = 4096+    fromEnum WindowStateBottomTiled = 8192+    fromEnum WindowStateBottomResizable = 16384+    fromEnum WindowStateLeftTiled = 32768+    fromEnum WindowStateLeftResizable = 65536+    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 512 = WindowStateTopTiled+    toEnum 1024 = WindowStateTopResizable+    toEnum 2048 = WindowStateRightTiled+    toEnum 4096 = WindowStateRightResizable+    toEnum 8192 = WindowStateBottomTiled+    toEnum 16384 = WindowStateBottomResizable+    toEnum 32768 = WindowStateLeftTiled+    toEnum 65536 = WindowStateLeftResizable+    toEnum k = AnotherWindowState k++instance P.Ord WindowState where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "gdk_window_state_get_type" c_gdk_window_state_get_type :: +    IO GType++instance BoxedFlags WindowState where+    boxedFlagsType _ = c_gdk_window_state_get_type++instance IsGFlag WindowState++-- Flags WindowHints+{- |+Used to indicate which fields of a 'GI.Gdk.Structs.Geometry.Geometry' struct should be paid+attention to. Also, the presence\/absence of /@gDKHINTPOS@/,+/@gDKHINTUSERPOS@/, and /@gDKHINTUSERSIZE@/ is significant, though they don\'t+directly refer to 'GI.Gdk.Structs.Geometry.Geometry' fields. /@gDKHINTUSERPOS@/ will be set+automatically by @/GtkWindow/@ if you call @/gtk_window_move()/@.+/@gDKHINTUSERPOS@/ and /@gDKHINTUSERSIZE@/ should be set if the user+specified a size\/position using a --geometry command-line argument;+@/gtk_window_parse_geometry()/@ automatically sets these flags.+-}+data WindowHints = +      WindowHintsPos+    {- ^+    indicates that the program has positioned the window+    -}+    | WindowHintsMinSize+    {- ^+    min size fields are set+    -}+    | WindowHintsMaxSize+    {- ^+    max size fields are set+    -}+    | WindowHintsBaseSize+    {- ^+    base size fields are set+    -}+    | WindowHintsAspect+    {- ^+    aspect ratio fields are set+    -}+    | WindowHintsResizeInc+    {- ^+    resize increment fields are set+    -}+    | WindowHintsWinGravity+    {- ^+    window gravity field is set+    -}+    | WindowHintsUserPos+    {- ^+    indicates that the window’s position was explicitly set+     by the user+    -}+    | WindowHintsUserSize+    {- ^+    indicates that the window’s size was explicitly set by+     the user+    -}+    | AnotherWindowHints Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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++instance P.Ord WindowHints where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "gdk_window_hints_get_type" c_gdk_window_hints_get_type :: +    IO GType++instance BoxedFlags WindowHints where+    boxedFlagsType _ = c_gdk_window_hints_get_type++instance IsGFlag WindowHints++-- Flags WindowAttributesType+{- |+Used to indicate which fields in the 'GI.Gdk.Structs.WindowAttr.WindowAttr' struct should be honored.+For example, if you filled in the “cursor” and “x” fields of 'GI.Gdk.Structs.WindowAttr.WindowAttr',+pass “/@gDKWAX@/ | /@gDKWACURSOR@/” to 'GI.Gdk.Objects.Window.windowNew'. Fields in+'GI.Gdk.Structs.WindowAttr.WindowAttr' not covered by a bit in this enum are required; for example,+the /@width@/\//@height@/, /@wclass@/, and /@windowType@/ fields are required, they have+no corresponding flag in 'GI.Gdk.Flags.WindowAttributesType'.+-}+data WindowAttributesType = +      WindowAttributesTypeTitle+    {- ^+    Honor the title field+    -}+    | WindowAttributesTypeX+    {- ^+    Honor the X coordinate field+    -}+    | WindowAttributesTypeY+    {- ^+    Honor the Y coordinate field+    -}+    | WindowAttributesTypeCursor+    {- ^+    Honor the cursor field+    -}+    | WindowAttributesTypeVisual+    {- ^+    Honor the visual field+    -}+    | WindowAttributesTypeWmclass+    {- ^+    Honor the wmclass_class and wmclass_name fields+    -}+    | WindowAttributesTypeNoredir+    {- ^+    Honor the override_redirect field+    -}+    | WindowAttributesTypeTypeHint+    {- ^+    Honor the type_hint field+    -}+    | AnotherWindowAttributesType Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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++instance P.Ord WindowAttributesType where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "gdk_window_attributes_type_get_type" c_gdk_window_attributes_type_get_type :: +    IO GType++instance BoxedFlags WindowAttributesType where+    boxedFlagsType _ = c_gdk_window_attributes_type_get_type++instance IsGFlag WindowAttributesType++-- Flags WMFunction+{- |+These are hints originally defined by the Motif toolkit. The window manager+can use them when determining the functions to offer for the window. The+hint must be set before mapping the window.+-}+data WMFunction = +      WMFunctionAll+    {- ^+    all functions should be offered.+    -}+    | WMFunctionResize+    {- ^+    the window should be resizable.+    -}+    | WMFunctionMove+    {- ^+    the window should be movable.+    -}+    | WMFunctionMinimize+    {- ^+    the window should be minimizable.+    -}+    | WMFunctionMaximize+    {- ^+    the window should be maximizable.+    -}+    | WMFunctionClose+    {- ^+    the window should be closable.+    -}+    | AnotherWMFunction Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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++instance P.Ord WMFunction where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "gdk_wm_function_get_type" c_gdk_wm_function_get_type :: +    IO GType++instance BoxedFlags WMFunction where+    boxedFlagsType _ = c_gdk_wm_function_get_type++instance IsGFlag WMFunction++-- Flags WMDecoration+{- |+These are hints originally defined by the Motif toolkit.+The window manager can use them when determining how to decorate+the window. The hint must be set before mapping the window.+-}+data WMDecoration = +      WMDecorationAll+    {- ^+    all decorations should be applied.+    -}+    | WMDecorationBorder+    {- ^+    a frame should be drawn around the window.+    -}+    | WMDecorationResizeh+    {- ^+    the frame should have resize handles.+    -}+    | WMDecorationTitle+    {- ^+    a titlebar should be placed above the window.+    -}+    | WMDecorationMenu+    {- ^+    a button for opening a menu should be included.+    -}+    | WMDecorationMinimize+    {- ^+    a minimize button should be included.+    -}+    | WMDecorationMaximize+    {- ^+    a maximize button should be included.+    -}+    | AnotherWMDecoration Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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++instance P.Ord WMDecoration where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "gdk_wm_decoration_get_type" c_gdk_wm_decoration_get_type :: +    IO GType++instance BoxedFlags WMDecoration where+    boxedFlagsType _ = c_gdk_wm_decoration_get_type++instance IsGFlag WMDecoration++-- Flags SeatCapabilities+{- |+Flags describing the seat capabilities.++/Since: 3.20/+-}+data SeatCapabilities = +      SeatCapabilitiesNone+    {- ^+    No input capabilities+    -}+    | SeatCapabilitiesPointer+    {- ^+    The seat has a pointer (e.g. mouse)+    -}+    | SeatCapabilitiesTouch+    {- ^+    The seat has touchscreen(s) attached+    -}+    | SeatCapabilitiesTabletStylus+    {- ^+    The seat has drawing tablet(s) attached+    -}+    | SeatCapabilitiesKeyboard+    {- ^+    The seat has keyboard(s) attached+    -}+    | SeatCapabilitiesAllPointing+    {- ^+    The union of all pointing capabilities+    -}+    | SeatCapabilitiesAll+    {- ^+    The union of all capabilities+    -}+    | AnotherSeatCapabilities Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum SeatCapabilities where+    fromEnum SeatCapabilitiesNone = 0+    fromEnum SeatCapabilitiesPointer = 1+    fromEnum SeatCapabilitiesTouch = 2+    fromEnum SeatCapabilitiesTabletStylus = 4+    fromEnum SeatCapabilitiesKeyboard = 8+    fromEnum SeatCapabilitiesAllPointing = 7+    fromEnum SeatCapabilitiesAll = 15+    fromEnum (AnotherSeatCapabilities k) = k++    toEnum 0 = SeatCapabilitiesNone+    toEnum 1 = SeatCapabilitiesPointer+    toEnum 2 = SeatCapabilitiesTouch+    toEnum 4 = SeatCapabilitiesTabletStylus+    toEnum 8 = SeatCapabilitiesKeyboard+    toEnum 7 = SeatCapabilitiesAllPointing+    toEnum 15 = SeatCapabilitiesAll+    toEnum k = AnotherSeatCapabilities k++instance P.Ord SeatCapabilities where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "gdk_seat_capabilities_get_type" c_gdk_seat_capabilities_get_type :: +    IO GType++instance BoxedFlags SeatCapabilities where+    boxedFlagsType _ = c_gdk_seat_capabilities_get_type++instance IsGFlag SeatCapabilities++-- Flags ModifierType+{- |+A set of bit-flags to indicate the state of modifier keys and mouse buttons+in various event types. Typical modifier keys are Shift, Control, Meta,+Super, Hyper, Alt, Compose, Apple, CapsLock or ShiftLock.++Like the X Window System, GDK supports 8 modifier keys and 5 mouse buttons.++Since 2.10, GDK recognizes which of the Meta, Super or Hyper keys are mapped+to Mod2 - Mod5, and indicates this by setting 'GI.Gdk.Flags.ModifierTypeSuperMask',+'GI.Gdk.Flags.ModifierTypeHyperMask' or 'GI.Gdk.Flags.ModifierTypeMetaMask' in the state field of key events.++Note that GDK may add internal values to events which include+reserved values such as 'GI.Gdk.Flags.ModifierTypeModifierReserved13Mask'.  Your code+should preserve and ignore them.  You can use 'GI.Gdk.Flags.ModifierTypeModifierMask' to+remove all reserved values.++Also note that the GDK X backend interprets button press events for button+4-7 as scroll events, so 'GI.Gdk.Flags.ModifierTypeButton4Mask' and 'GI.Gdk.Flags.ModifierTypeButton5Mask' will never+be set.+-}+data ModifierType = +      ModifierTypeShiftMask+    {- ^+    the Shift key.+    -}+    | ModifierTypeLockMask+    {- ^+    a Lock key (depending on the modifier mapping of the+     X server this may either be CapsLock or ShiftLock).+    -}+    | ModifierTypeControlMask+    {- ^+    the Control key.+    -}+    | ModifierTypeMod1Mask+    {- ^+    the fourth modifier key (it depends on the modifier+     mapping of the X server which key is interpreted as this modifier, but+     normally it is the Alt key).+    -}+    | ModifierTypeMod2Mask+    {- ^+    the fifth modifier key (it depends on the modifier+     mapping of the X server which key is interpreted as this modifier).+    -}+    | ModifierTypeMod3Mask+    {- ^+    the sixth modifier key (it depends on the modifier+     mapping of the X server which key is interpreted as this modifier).+    -}+    | ModifierTypeMod4Mask+    {- ^+    the seventh modifier key (it depends on the modifier+     mapping of the X server which key is interpreted as this modifier).+    -}+    | ModifierTypeMod5Mask+    {- ^+    the eighth modifier key (it depends on the modifier+     mapping of the X server which key is interpreted as this modifier).+    -}+    | ModifierTypeButton1Mask+    {- ^+    the first mouse button.+    -}+    | ModifierTypeButton2Mask+    {- ^+    the second mouse button.+    -}+    | ModifierTypeButton3Mask+    {- ^+    the third mouse button.+    -}+    | ModifierTypeButton4Mask+    {- ^+    the fourth mouse button.+    -}+    | ModifierTypeButton5Mask+    {- ^+    the fifth mouse button.+    -}+    | ModifierTypeModifierReserved13Mask+    {- ^+    A reserved bit flag; do not use in your own code+    -}+    | ModifierTypeModifierReserved14Mask+    {- ^+    A reserved bit flag; do not use in your own code+    -}+    | ModifierTypeModifierReserved15Mask+    {- ^+    A reserved bit flag; do not use in your own code+    -}+    | ModifierTypeModifierReserved16Mask+    {- ^+    A reserved bit flag; do not use in your own code+    -}+    | ModifierTypeModifierReserved17Mask+    {- ^+    A reserved bit flag; do not use in your own code+    -}+    | ModifierTypeModifierReserved18Mask+    {- ^+    A reserved bit flag; do not use in your own code+    -}+    | ModifierTypeModifierReserved19Mask+    {- ^+    A reserved bit flag; do not use in your own code+    -}+    | ModifierTypeModifierReserved20Mask+    {- ^+    A reserved bit flag; do not use in your own code+    -}+    | ModifierTypeModifierReserved21Mask+    {- ^+    A reserved bit flag; do not use in your own code+    -}+    | ModifierTypeModifierReserved22Mask+    {- ^+    A reserved bit flag; do not use in your own code+    -}+    | ModifierTypeModifierReserved23Mask+    {- ^+    A reserved bit flag; do not use in your own code+    -}+    | ModifierTypeModifierReserved24Mask+    {- ^+    A reserved bit flag; do not use in your own code+    -}+    | ModifierTypeModifierReserved25Mask+    {- ^+    A reserved bit flag; do not use in your own code+    -}+    | ModifierTypeSuperMask+    {- ^+    the Super modifier. Since 2.10+    -}+    | ModifierTypeHyperMask+    {- ^+    the Hyper modifier. Since 2.10+    -}+    | ModifierTypeMetaMask+    {- ^+    the Meta modifier. Since 2.10+    -}+    | ModifierTypeModifierReserved29Mask+    {- ^+    A reserved bit flag; do not use in your own code+    -}+    | ModifierTypeReleaseMask+    {- ^+    not used in GDK itself. GTK+ uses it to differentiate+     between (keyval, modifiers) pairs from key press and release events.+    -}+    | ModifierTypeModifierMask+    {- ^+    a mask covering all modifier types.+    -}+    | AnotherModifierType Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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++instance P.Ord ModifierType where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "gdk_modifier_type_get_type" c_gdk_modifier_type_get_type :: +    IO GType++instance BoxedFlags ModifierType where+    boxedFlagsType _ = c_gdk_modifier_type_get_type++instance IsGFlag ModifierType++-- Flags FrameClockPhase+{- |+'GI.Gdk.Flags.FrameClockPhase' is used to represent the different paint clock+phases that can be requested. The elements of the enumeration+correspond to the signals of 'GI.Gdk.Objects.FrameClock.FrameClock'.++/Since: 3.8/+-}+data FrameClockPhase = +      FrameClockPhaseNone+    {- ^+    no phase+    -}+    | FrameClockPhaseFlushEvents+    {- ^+    corresponds to GdkFrameClock::flush-events. Should not be handled by applications.+    -}+    | FrameClockPhaseBeforePaint+    {- ^+    corresponds to GdkFrameClock::before-paint. Should not be handled by applications.+    -}+    | FrameClockPhaseUpdate+    {- ^+    corresponds to GdkFrameClock::update.+    -}+    | FrameClockPhaseLayout+    {- ^+    corresponds to GdkFrameClock::layout.+    -}+    | FrameClockPhasePaint+    {- ^+    corresponds to GdkFrameClock::paint.+    -}+    | FrameClockPhaseResumeEvents+    {- ^+    corresponds to GdkFrameClock::resume-events. Should not be handled by applications.+    -}+    | FrameClockPhaseAfterPaint+    {- ^+    corresponds to GdkFrameClock::after-paint. Should not be handled by applications.+    -}+    | AnotherFrameClockPhase Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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++instance P.Ord FrameClockPhase where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "gdk_frame_clock_phase_get_type" c_gdk_frame_clock_phase_get_type :: +    IO GType++instance BoxedFlags FrameClockPhase where+    boxedFlagsType _ = c_gdk_frame_clock_phase_get_type++instance IsGFlag FrameClockPhase++-- Flags EventMask+{- |+A set of bit-flags to indicate which events a window is to receive.+Most of these masks map onto one or more of the 'GI.Gdk.Enums.EventType' event types+above.++See the [input handling overview][chap-input-handling] for details of+[event masks][event-masks] and [event propagation][event-propagation].++'GI.Gdk.Flags.EventMaskPointerMotionHintMask' is deprecated. It is a special mask+to reduce the number of 'GI.Gdk.Enums.EventTypeMotionNotify' events received. When using+'GI.Gdk.Flags.EventMaskPointerMotionHintMask', fewer 'GI.Gdk.Enums.EventTypeMotionNotify' events will+be sent, some of which are marked as a hint (the is_hint member is+'True'). To receive more motion events after a motion hint event,+the application needs to asks for more, by calling+'GI.Gdk.Functions.eventRequestMotions'.++Since GTK 3.8, motion events are already compressed by default, independent+of this mechanism. This compression can be disabled with+'GI.Gdk.Objects.Window.windowSetEventCompression'. See the documentation of that function+for details.++If 'GI.Gdk.Flags.EventMaskTouchMask' is enabled, the window will receive touch events+from touch-enabled devices. Those will come as sequences of 'GI.Gdk.Structs.EventTouch.EventTouch'+with type 'GI.Gdk.Enums.EventTypeTouchUpdate', enclosed by two events with+type 'GI.Gdk.Enums.EventTypeTouchBegin' and 'GI.Gdk.Enums.EventTypeTouchEnd' (or 'GI.Gdk.Enums.EventTypeTouchCancel').+'GI.Gdk.Unions.Event.eventGetEventSequence' returns the event sequence for these+events, so different sequences may be distinguished.+-}+data EventMask = +      EventMaskExposureMask+    {- ^+    receive expose events+    -}+    | EventMaskPointerMotionMask+    {- ^+    receive all pointer motion events+    -}+    | EventMaskPointerMotionHintMask+    {- ^+    deprecated. see the explanation above+    -}+    | EventMaskButtonMotionMask+    {- ^+    receive pointer motion events while any button is pressed+    -}+    | EventMaskButton1MotionMask+    {- ^+    receive pointer motion events while 1 button is pressed+    -}+    | EventMaskButton2MotionMask+    {- ^+    receive pointer motion events while 2 button is pressed+    -}+    | EventMaskButton3MotionMask+    {- ^+    receive pointer motion events while 3 button is pressed+    -}+    | EventMaskButtonPressMask+    {- ^+    receive button press events+    -}+    | EventMaskButtonReleaseMask+    {- ^+    receive button release events+    -}+    | EventMaskKeyPressMask+    {- ^+    receive key press events+    -}+    | EventMaskKeyReleaseMask+    {- ^+    receive key release events+    -}+    | EventMaskEnterNotifyMask+    {- ^+    receive window enter events+    -}+    | EventMaskLeaveNotifyMask+    {- ^+    receive window leave events+    -}+    | EventMaskFocusChangeMask+    {- ^+    receive focus change events+    -}+    | EventMaskStructureMask+    {- ^+    receive events about window configuration change+    -}+    | EventMaskPropertyChangeMask+    {- ^+    receive property change events+    -}+    | EventMaskVisibilityNotifyMask+    {- ^+    receive visibility change events+    -}+    | EventMaskProximityInMask+    {- ^+    receive proximity in events+    -}+    | EventMaskProximityOutMask+    {- ^+    receive proximity out events+    -}+    | EventMaskSubstructureMask+    {- ^+    receive events about window configuration changes of+      child windows+    -}+    | EventMaskScrollMask+    {- ^+    receive scroll events+    -}+    | EventMaskTouchMask+    {- ^+    receive touch events. Since 3.4+    -}+    | EventMaskSmoothScrollMask+    {- ^+    receive smooth scrolling events. Since 3.4+    -}+    | EventMaskTouchpadGestureMask+    {- ^+    receive touchpad gesture events. Since 3.18+    -}+    | EventMaskTabletPadMask+    {- ^+    receive tablet pad events. Since 3.22+    -}+    | EventMaskAllEventsMask+    {- ^+    the combination of all the above event masks.+    -}+    | AnotherEventMask Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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 EventMaskTouchpadGestureMask = 16777216+    fromEnum EventMaskTabletPadMask = 33554432+    fromEnum EventMaskAllEventsMask = 67108862+    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 16777216 = EventMaskTouchpadGestureMask+    toEnum 33554432 = EventMaskTabletPadMask+    toEnum 67108862 = EventMaskAllEventsMask+    toEnum k = AnotherEventMask k++instance P.Ord EventMask where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "gdk_event_mask_get_type" c_gdk_event_mask_get_type :: +    IO GType++instance BoxedFlags EventMask where+    boxedFlagsType _ = c_gdk_event_mask_get_type++instance IsGFlag EventMask++-- Flags DragAction+{- |+Used in 'GI.Gdk.Objects.DragContext.DragContext' to indicate what the destination+should do with the dropped data.+-}+data DragAction = +      DragActionDefault+    {- ^+    Means nothing, and should not be used.+    -}+    | DragActionCopy+    {- ^+    Copy the data.+    -}+    | DragActionMove+    {- ^+    Move the data, i.e. first copy it, then delete+     it from the source using the DELETE target of the X selection protocol.+    -}+    | DragActionLink+    {- ^+    Add a link to the data. Note that this is only+     useful if source and destination agree on what it means.+    -}+    | DragActionPrivate+    {- ^+    Special action which tells the source that the+     destination will do something that the source doesn’t understand.+    -}+    | DragActionAsk+    {- ^+    Ask the user what to do with the data.+    -}+    | AnotherDragAction Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.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++instance P.Ord DragAction where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "gdk_drag_action_get_type" c_gdk_drag_action_get_type :: +    IO GType++instance BoxedFlags DragAction where+    boxedFlagsType _ = c_gdk_drag_action_get_type++instance IsGFlag DragAction++-- Flags AxisFlags+{- |+Flags describing the current capabilities of a device\/tool.++/Since: 3.22/+-}+data AxisFlags = +      AxisFlagsX+    {- ^+    X axis is present+    -}+    | AxisFlagsY+    {- ^+    Y axis is present+    -}+    | AxisFlagsPressure+    {- ^+    Pressure axis is present+    -}+    | AxisFlagsXtilt+    {- ^+    X tilt axis is present+    -}+    | AxisFlagsYtilt+    {- ^+    Y tilt axis is present+    -}+    | AxisFlagsWheel+    {- ^+    Wheel axis is present+    -}+    | AxisFlagsDistance+    {- ^+    Distance axis is present+    -}+    | AxisFlagsRotation+    {- ^+    Z-axis rotation is present+    -}+    | AxisFlagsSlider+    {- ^+    Slider axis is present+    -}+    | AnotherAxisFlags Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum AxisFlags where+    fromEnum AxisFlagsX = 2+    fromEnum AxisFlagsY = 4+    fromEnum AxisFlagsPressure = 8+    fromEnum AxisFlagsXtilt = 16+    fromEnum AxisFlagsYtilt = 32+    fromEnum AxisFlagsWheel = 64+    fromEnum AxisFlagsDistance = 128+    fromEnum AxisFlagsRotation = 256+    fromEnum AxisFlagsSlider = 512+    fromEnum (AnotherAxisFlags k) = k++    toEnum 2 = AxisFlagsX+    toEnum 4 = AxisFlagsY+    toEnum 8 = AxisFlagsPressure+    toEnum 16 = AxisFlagsXtilt+    toEnum 32 = AxisFlagsYtilt+    toEnum 64 = AxisFlagsWheel+    toEnum 128 = AxisFlagsDistance+    toEnum 256 = AxisFlagsRotation+    toEnum 512 = AxisFlagsSlider+    toEnum k = AnotherAxisFlags k++instance P.Ord AxisFlags where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "gdk_axis_flags_get_type" c_gdk_axis_flags_get_type :: +    IO GType++instance BoxedFlags AxisFlags where+    boxedFlagsType _ = c_gdk_axis_flags_get_type++instance IsGFlag AxisFlags++-- Flags AnchorHints+{- |+Positioning hints for aligning a window relative to a rectangle.++These hints determine how the window should be positioned in the case that+the window would fall off-screen if placed in its ideal position.++For example, 'GI.Gdk.Flags.AnchorHintsFlipX' will replace 'GI.Gdk.Enums.GravityNorthWest' with+'GI.Gdk.Enums.GravityNorthEast' and vice versa if the window extends beyond the left+or right edges of the monitor.++If 'GI.Gdk.Flags.AnchorHintsSlideX' is set, the window can be shifted horizontally to fit+on-screen. If 'GI.Gdk.Flags.AnchorHintsResizeX' is set, the window can be shrunken+horizontally to fit.++In general, when multiple flags are set, flipping should take precedence over+sliding, which should take precedence over resizing.++/Since: 3.22/+-}+data AnchorHints = +      AnchorHintsFlipX+    {- ^+    allow flipping anchors horizontally+    -}+    | AnchorHintsFlipY+    {- ^+    allow flipping anchors vertically+    -}+    | AnchorHintsSlideX+    {- ^+    allow sliding window horizontally+    -}+    | AnchorHintsSlideY+    {- ^+    allow sliding window vertically+    -}+    | AnchorHintsResizeX+    {- ^+    allow resizing window horizontally+    -}+    | AnchorHintsResizeY+    {- ^+    allow resizing window vertically+    -}+    | AnchorHintsFlip+    {- ^+    allow flipping anchors on both axes+    -}+    | AnchorHintsSlide+    {- ^+    allow sliding window on both axes+    -}+    | AnchorHintsResize+    {- ^+    allow resizing window on both axes+    -}+    | AnotherAnchorHints Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum AnchorHints where+    fromEnum AnchorHintsFlipX = 1+    fromEnum AnchorHintsFlipY = 2+    fromEnum AnchorHintsSlideX = 4+    fromEnum AnchorHintsSlideY = 8+    fromEnum AnchorHintsResizeX = 16+    fromEnum AnchorHintsResizeY = 32+    fromEnum AnchorHintsFlip = 3+    fromEnum AnchorHintsSlide = 12+    fromEnum AnchorHintsResize = 48+    fromEnum (AnotherAnchorHints k) = k++    toEnum 1 = AnchorHintsFlipX+    toEnum 2 = AnchorHintsFlipY+    toEnum 4 = AnchorHintsSlideX+    toEnum 8 = AnchorHintsSlideY+    toEnum 16 = AnchorHintsResizeX+    toEnum 32 = AnchorHintsResizeY+    toEnum 3 = AnchorHintsFlip+    toEnum 12 = AnchorHintsSlide+    toEnum 48 = AnchorHintsResize+    toEnum k = AnotherAnchorHints k++instance P.Ord AnchorHints where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "gdk_anchor_hints_get_type" c_gdk_anchor_hints_get_type :: +    IO GType++instance BoxedFlags AnchorHints where+    boxedFlagsType _ = c_gdk_anchor_hints_get_type++instance IsGFlag AnchorHints++
+ GI/Gdk/Flags.hs-boot view
@@ -0,0 +1,72 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Flags where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++data WindowState+instance P.Enum WindowState where+instance BoxedFlags WindowState where+instance IsGFlag WindowState+data WindowHints+instance P.Enum WindowHints where+instance BoxedFlags WindowHints where+instance IsGFlag WindowHints+data WindowAttributesType+instance P.Enum WindowAttributesType where+instance BoxedFlags WindowAttributesType where+instance IsGFlag WindowAttributesType+data WMFunction+instance P.Enum WMFunction where+instance BoxedFlags WMFunction where+instance IsGFlag WMFunction+data WMDecoration+instance P.Enum WMDecoration where+instance BoxedFlags WMDecoration where+instance IsGFlag WMDecoration+data SeatCapabilities+instance P.Enum SeatCapabilities where+instance BoxedFlags SeatCapabilities where+instance IsGFlag SeatCapabilities+data ModifierType+instance P.Enum ModifierType where+instance BoxedFlags ModifierType where+instance IsGFlag ModifierType+data FrameClockPhase+instance P.Enum FrameClockPhase where+instance BoxedFlags FrameClockPhase where+instance IsGFlag FrameClockPhase+data EventMask+instance P.Enum EventMask where+instance BoxedFlags EventMask where+instance IsGFlag EventMask+data DragAction+instance P.Enum DragAction where+instance BoxedFlags DragAction where+instance IsGFlag DragAction+data AxisFlags+instance P.Enum AxisFlags where+instance BoxedFlags AxisFlags where+instance IsGFlag AxisFlags+data AnchorHints+instance P.Enum AnchorHints where+instance BoxedFlags AnchorHints where+instance IsGFlag AnchorHints
+ GI/Gdk/Functions.hs view
@@ -0,0 +1,4308 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Functions+    ( ++ -- * Methods+-- ** addOptionEntriesLibgtkOnly #method:addOptionEntriesLibgtkOnly#++    addOptionEntriesLibgtkOnly              ,+++-- ** beep #method:beep#++    beep                                    ,+++-- ** cairoCreate #method:cairoCreate#++    cairoCreate                             ,+++-- ** cairoDrawFromGl #method:cairoDrawFromGl#++    cairoDrawFromGl                         ,+++-- ** cairoGetClipRectangle #method:cairoGetClipRectangle#++    cairoGetClipRectangle                   ,+++-- ** cairoGetDrawingContext #method:cairoGetDrawingContext#++    cairoGetDrawingContext                  ,+++-- ** cairoRectangle #method:cairoRectangle#++    cairoRectangle                          ,+++-- ** cairoRegion #method:cairoRegion#++    cairoRegion                             ,+++-- ** cairoRegionCreateFromSurface #method:cairoRegionCreateFromSurface#++    cairoRegionCreateFromSurface            ,+++-- ** cairoSetSourceColor #method:cairoSetSourceColor#++    cairoSetSourceColor                     ,+++-- ** cairoSetSourcePixbuf #method:cairoSetSourcePixbuf#++    cairoSetSourcePixbuf                    ,+++-- ** cairoSetSourceRgba #method:cairoSetSourceRgba#++    cairoSetSourceRgba                      ,+++-- ** cairoSetSourceWindow #method:cairoSetSourceWindow#++    cairoSetSourceWindow                    ,+++-- ** cairoSurfaceCreateFromPixbuf #method:cairoSurfaceCreateFromPixbuf#++    cairoSurfaceCreateFromPixbuf            ,+++-- ** disableMultidevice #method:disableMultidevice#++    disableMultidevice                      ,+++-- ** dragAbort #method:dragAbort#++    dragAbort                               ,+++-- ** dragBegin #method:dragBegin#++    dragBegin                               ,+++-- ** dragBeginForDevice #method:dragBeginForDevice#++    dragBeginForDevice                      ,+++-- ** dragBeginFromPoint #method:dragBeginFromPoint#++    dragBeginFromPoint                      ,+++-- ** dragDrop #method:dragDrop#++    dragDrop                                ,+++-- ** dragDropDone #method:dragDropDone#++    dragDropDone                            ,+++-- ** dragDropSucceeded #method:dragDropSucceeded#++    dragDropSucceeded                       ,+++-- ** dragFindWindowForScreen #method:dragFindWindowForScreen#++    dragFindWindowForScreen                 ,+++-- ** dragGetSelection #method:dragGetSelection#++    dragGetSelection                        ,+++-- ** dragMotion #method:dragMotion#++    dragMotion                              ,+++-- ** dragStatus #method:dragStatus#++    dragStatus                              ,+++-- ** dropFinish #method:dropFinish#++    dropFinish                              ,+++-- ** dropReply #method:dropReply#++    dropReply                               ,+++-- ** errorTrapPop #method:errorTrapPop#++    errorTrapPop                            ,+++-- ** errorTrapPopIgnored #method:errorTrapPopIgnored#++    errorTrapPopIgnored                     ,+++-- ** errorTrapPush #method:errorTrapPush#++    errorTrapPush                           ,+++-- ** eventsGetAngle #method:eventsGetAngle#++    eventsGetAngle                          ,+++-- ** eventsGetCenter #method:eventsGetCenter#++    eventsGetCenter                         ,+++-- ** eventsGetDistance #method:eventsGetDistance#++    eventsGetDistance                       ,+++-- ** eventsPending #method:eventsPending#++    eventsPending                           ,+++-- ** flush #method:flush#++    flush                                   ,+++-- ** getDefaultRootWindow #method:getDefaultRootWindow#++    getDefaultRootWindow                    ,+++-- ** getDisplay #method:getDisplay#++    getDisplay                              ,+++-- ** getDisplayArgName #method:getDisplayArgName#++    getDisplayArgName                       ,+++-- ** getProgramClass #method:getProgramClass#++    getProgramClass                         ,+++-- ** getShowEvents #method:getShowEvents#++    getShowEvents                           ,+++-- ** init #method:init#++    init                                    ,+++-- ** initCheck #method:initCheck#++    initCheck                               ,+++-- ** keyboardGrab #method:keyboardGrab#++    keyboardGrab                            ,+++-- ** keyboardUngrab #method:keyboardUngrab#++    keyboardUngrab                          ,+++-- ** keyvalConvertCase #method:keyvalConvertCase#++    keyvalConvertCase                       ,+++-- ** keyvalFromName #method:keyvalFromName#++    keyvalFromName                          ,+++-- ** keyvalIsLower #method:keyvalIsLower#++    keyvalIsLower                           ,+++-- ** keyvalIsUpper #method:keyvalIsUpper#++    keyvalIsUpper                           ,+++-- ** keyvalName #method:keyvalName#++    keyvalName                              ,+++-- ** keyvalToLower #method:keyvalToLower#++    keyvalToLower                           ,+++-- ** keyvalToUnicode #method:keyvalToUnicode#++    keyvalToUnicode                         ,+++-- ** keyvalToUpper #method:keyvalToUpper#++    keyvalToUpper                           ,+++-- ** listVisuals #method:listVisuals#++    listVisuals                             ,+++-- ** notifyStartupComplete #method:notifyStartupComplete#++    notifyStartupComplete                   ,+++-- ** notifyStartupCompleteWithId #method:notifyStartupCompleteWithId#++    notifyStartupCompleteWithId             ,+++-- ** offscreenWindowGetEmbedder #method:offscreenWindowGetEmbedder#++    offscreenWindowGetEmbedder              ,+++-- ** offscreenWindowGetSurface #method:offscreenWindowGetSurface#++    offscreenWindowGetSurface               ,+++-- ** offscreenWindowSetEmbedder #method:offscreenWindowSetEmbedder#++    offscreenWindowSetEmbedder              ,+++-- ** pangoContextGet #method:pangoContextGet#++    pangoContextGet                         ,+++-- ** pangoContextGetForDisplay #method:pangoContextGetForDisplay#++    pangoContextGetForDisplay               ,+++-- ** pangoContextGetForScreen #method:pangoContextGetForScreen#++    pangoContextGetForScreen                ,+++-- ** parseArgs #method:parseArgs#++    parseArgs                               ,+++-- ** pixbufGetFromSurface #method:pixbufGetFromSurface#++    pixbufGetFromSurface                    ,+++-- ** pixbufGetFromWindow #method:pixbufGetFromWindow#++    pixbufGetFromWindow                     ,+++-- ** pointerGrab #method:pointerGrab#++    pointerGrab                             ,+++-- ** pointerIsGrabbed #method:pointerIsGrabbed#++    pointerIsGrabbed                        ,+++-- ** pointerUngrab #method:pointerUngrab#++    pointerUngrab                           ,+++-- ** preParseLibgtkOnly #method:preParseLibgtkOnly#++    preParseLibgtkOnly                      ,+++-- ** propertyDelete #method:propertyDelete#++    propertyDelete                          ,+++-- ** queryDepths #method:queryDepths#++    queryDepths                             ,+++-- ** queryVisualTypes #method:queryVisualTypes#++    queryVisualTypes                        ,+++-- ** selectionConvert #method:selectionConvert#++    selectionConvert                        ,+++-- ** selectionOwnerGet #method:selectionOwnerGet#++    selectionOwnerGet                       ,+++-- ** selectionOwnerGetForDisplay #method:selectionOwnerGetForDisplay#++    selectionOwnerGetForDisplay             ,+++-- ** selectionOwnerSet #method:selectionOwnerSet#++    selectionOwnerSet                       ,+++-- ** selectionOwnerSetForDisplay #method:selectionOwnerSetForDisplay#++    selectionOwnerSetForDisplay             ,+++-- ** selectionSendNotify #method:selectionSendNotify#++    selectionSendNotify                     ,+++-- ** selectionSendNotifyForDisplay #method:selectionSendNotifyForDisplay#++    selectionSendNotifyForDisplay           ,+++-- ** setAllowedBackends #method:setAllowedBackends#++    setAllowedBackends                      ,+++-- ** setDoubleClickTime #method:setDoubleClickTime#++    setDoubleClickTime                      ,+++-- ** setProgramClass #method:setProgramClass#++    setProgramClass                         ,+++-- ** setShowEvents #method:setShowEvents#++    setShowEvents                           ,+++-- ** settingGet #method:settingGet#++    settingGet                              ,+++-- ** synthesizeWindowState #method:synthesizeWindowState#++    synthesizeWindowState                   ,+++-- ** testRenderSync #method:testRenderSync#++    testRenderSync                          ,+++-- ** testSimulateButton #method:testSimulateButton#++    testSimulateButton                      ,+++-- ** testSimulateKey #method:testSimulateKey#++    testSimulateKey                         ,+++-- ** textPropertyToUtf8ListForDisplay #method:textPropertyToUtf8ListForDisplay#++    textPropertyToUtf8ListForDisplay        ,+++-- ** threadsAddIdle #method:threadsAddIdle#++    threadsAddIdle                          ,+++-- ** threadsAddTimeout #method:threadsAddTimeout#++    threadsAddTimeout                       ,+++-- ** threadsAddTimeoutSeconds #method:threadsAddTimeoutSeconds#++    threadsAddTimeoutSeconds                ,+++-- ** threadsEnter #method:threadsEnter#++    threadsEnter                            ,+++-- ** threadsInit #method:threadsInit#++    threadsInit                             ,+++-- ** threadsLeave #method:threadsLeave#++    threadsLeave                            ,+++-- ** unicodeToKeyval #method:unicodeToKeyval#++    unicodeToKeyval                         ,+++-- ** utf8ToStringTarget #method:utf8ToStringTarget#++    utf8ToStringTarget                      ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import qualified GI.Cairo.Structs.Context as Cairo.Context+import qualified GI.Cairo.Structs.Region as Cairo.Region+import qualified GI.Cairo.Structs.Surface as Cairo.Surface+import qualified GI.GLib.Callbacks as GLib.Callbacks+import qualified GI.GLib.Structs.OptionGroup as GLib.OptionGroup+import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Flags as Gdk.Flags+import {-# SOURCE #-} qualified GI.Gdk.Objects.Cursor as Gdk.Cursor+import {-# SOURCE #-} qualified GI.Gdk.Objects.Device as Gdk.Device+import {-# SOURCE #-} qualified GI.Gdk.Objects.Display as Gdk.Display+import {-# SOURCE #-} qualified GI.Gdk.Objects.DragContext as Gdk.DragContext+import {-# SOURCE #-} qualified GI.Gdk.Objects.DrawingContext as Gdk.DrawingContext+import {-# SOURCE #-} qualified GI.Gdk.Objects.Screen as Gdk.Screen+import {-# SOURCE #-} qualified GI.Gdk.Objects.Visual as Gdk.Visual+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window+import {-# SOURCE #-} qualified GI.Gdk.Structs.Atom as Gdk.Atom+import {-# SOURCE #-} qualified GI.Gdk.Structs.Color as Gdk.Color+import {-# SOURCE #-} qualified GI.Gdk.Structs.RGBA as Gdk.RGBA+import {-# SOURCE #-} qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle+import {-# SOURCE #-} qualified GI.Gdk.Unions.Event as Gdk.Event+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf+import qualified GI.Pango.Objects.Context as Pango.Context++-- function gdk_utf8_to_string_target+-- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a UTF-8 string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (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++{- |+Converts an UTF-8 string into the best possible representation+as a STRING. The representation of characters not in STRING+is not specified; it may be as pseudo-escape sequences+\\x{ABCD}, or it may be in some other form of approximation.+-}+utf8ToStringTarget ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@str@/: a UTF-8 string -}+    -> m (Maybe T.Text)+    {- ^ __Returns:__ the newly-allocated string, or 'Nothing' if the+         conversion failed. (It should not fail for any properly+         formed UTF-8 string unless system limits like memory or+         file descriptors are exceeded.) -}+utf8ToStringTarget str = liftIO $ do+    str' <- textToCString str+    result <- gdk_utf8_to_string_target str'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- cstringToText result'+        freeMem result'+        return result''+    freeMem str'+    return maybeResult+++-- function gdk_unicode_to_keyval+-- Args : [Arg {argCName = "wc", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a ISO10646 encoded character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_unicode_to_keyval" gdk_unicode_to_keyval :: +    Word32 ->                               -- wc : TBasicType TUInt32+    IO Word32++{- |+Convert from a ISO10646 character to a key symbol.+-}+unicodeToKeyval ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Word32+    {- ^ /@wc@/: a ISO10646 encoded character -}+    -> m Word32+    {- ^ __Returns:__ the corresponding GDK key symbol, if one exists.+              or, if there is no corresponding symbol,+              wc | 0x01000000 -}+unicodeToKeyval wc = liftIO $ do+    result <- gdk_unicode_to_keyval wc+    return result+++-- function gdk_threads_leave+-- Args : []+-- Lengths : []+-- returnType : Nothing+-- 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"] #-}+{- |+Leaves a critical region begun with 'GI.Gdk.Functions.threadsEnter'.+-}+threadsLeave ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m ()+threadsLeave  = liftIO $ do+    gdk_threads_leave+    return ()+++-- function gdk_threads_init+-- Args : []+-- Lengths : []+-- returnType : Nothing+-- 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"] #-}+{- |+Initializes GDK so that it can be used from multiple threads+in conjunction with 'GI.Gdk.Functions.threadsEnter' and 'GI.Gdk.Functions.threadsLeave'.++This call must be made before any use of the main loop from+GTK+; to be safe, call it before @/gtk_init()/@.+-}+threadsInit ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m ()+threadsInit  = liftIO $ do+    gdk_threads_init+    return ()+++-- function gdk_threads_enter+-- Args : []+-- Lengths : []+-- returnType : Nothing+-- 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"] #-}+{- |+This function marks the beginning of a critical section in which+GDK and GTK+ functions can be called safely and without causing race+conditions. Only one thread at a time can be in such a critial+section.+-}+threadsEnter ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m ()+threadsEnter  = liftIO $ do+    gdk_threads_enter+    return ()+++-- function gdk_threads_add_timeout_seconds_full+-- Args : [Arg {argCName = "priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the priority of the timeout source. Typically this will be in the\n           range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the time between calls to the function, in seconds", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "function", argType = TInterface (Name {namespace = "GLib", name = "SourceFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function to call", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to pass to @function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "function to call when the timeout is removed, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_threads_add_timeout_seconds_full" gdk_threads_add_timeout_seconds_full :: +    Int32 ->                                -- priority : TBasicType TInt+    Word32 ->                               -- interval : TBasicType TUInt+    FunPtr GLib.Callbacks.C_SourceFunc ->   -- function : TInterface (Name {namespace = "GLib", name = "SourceFunc"})+    Ptr () ->                               -- data : TBasicType TPtr+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})+    IO Word32++{- |+A variant of 'GI.Gdk.Functions.threadsAddTimeout' with second-granularity.+See 'GI.GLib.Functions.timeoutAddSeconds' for a discussion of why it is+a good idea to use this function if you don’t need finer granularity.++/Since: 2.14/+-}+threadsAddTimeoutSeconds ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Int32+    {- ^ /@priority@/: the priority of the timeout source. Typically this will be in the+           range between 'GI.GLib.Constants.PRIORITY_DEFAULT_IDLE' and 'GI.GLib.Constants.PRIORITY_HIGH_IDLE'. -}+    -> Word32+    {- ^ /@interval@/: the time between calls to the function, in seconds -}+    -> GLib.Callbacks.SourceFunc+    {- ^ /@function@/: function to call -}+    -> m Word32+    {- ^ __Returns:__ the ID (greater than 0) of the event source. -}+threadsAddTimeoutSeconds priority interval function = liftIO $ do+    function' <- GLib.Callbacks.mk_SourceFunc (GLib.Callbacks.wrap_SourceFunc Nothing (GLib.Callbacks.drop_closures_SourceFunc 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_add_timeout_full+-- Args : [Arg {argCName = "priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the priority of the timeout source. Typically this will be in the\n           range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the time between calls to the function, in milliseconds\n            (1/1000ths of a second)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "function", argType = TInterface (Name {namespace = "GLib", name = "SourceFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function to call", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to pass to @function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "function to call when the timeout is removed, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_threads_add_timeout_full" gdk_threads_add_timeout_full :: +    Int32 ->                                -- priority : TBasicType TInt+    Word32 ->                               -- interval : TBasicType TUInt+    FunPtr GLib.Callbacks.C_SourceFunc ->   -- function : TInterface (Name {namespace = "GLib", name = "SourceFunc"})+    Ptr () ->                               -- data : TBasicType TPtr+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})+    IO Word32++{- |+Sets a function to be called at regular intervals holding the GDK lock,+with the given priority.  The function is called repeatedly until it+returns 'False', at which point the timeout is automatically destroyed+and the function will not be called again.  The /@notify@/ function is+called when the timeout is destroyed.  The first call to the+function will be at the end of the first /@interval@/.++Note that timeout functions may be delayed, due to the processing of other+event sources. Thus they should not be relied on for precise timing.+After each call to the timeout function, the time of the next+timeout is recalculated based on the current time and the given interval+(it does not try to “catch up” time lost in delays).++This variant of 'GI.GLib.Functions.timeoutAdd' can be thought of a MT-safe version+for GTK+ widgets for the following use case:+++=== /C code/+>+>static gboolean timeout_callback (gpointer data)+>{+>   SomeWidget *self = data;+>   +>   // do stuff with self+>   +>   self->timeout_id = 0;+>   +>   return G_SOURCE_REMOVE;+>}+> +>static void some_widget_do_stuff_later (SomeWidget *self)+>{+>   self->timeout_id = g_timeout_add (timeout_callback, self)+>}+> +>static void some_widget_finalize (GObject *object)+>{+>   SomeWidget *self = SOME_WIDGET (object);+>   +>   if (self->timeout_id)+>     g_source_remove (self->timeout_id);+>   +>   G_OBJECT_CLASS (parent_class)->finalize (object);+>}+++/Since: 2.12/+-}+threadsAddTimeout ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Int32+    {- ^ /@priority@/: the priority of the timeout source. Typically this will be in the+           range between 'GI.GLib.Constants.PRIORITY_DEFAULT_IDLE' and 'GI.GLib.Constants.PRIORITY_HIGH_IDLE'. -}+    -> Word32+    {- ^ /@interval@/: the time between calls to the function, in milliseconds+            (1\/1000ths of a second) -}+    -> GLib.Callbacks.SourceFunc+    {- ^ /@function@/: function to call -}+    -> m Word32+    {- ^ __Returns:__ the ID (greater than 0) of the event source. -}+threadsAddTimeout priority interval function = liftIO $ do+    function' <- GLib.Callbacks.mk_SourceFunc (GLib.Callbacks.wrap_SourceFunc Nothing (GLib.Callbacks.drop_closures_SourceFunc 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_idle_full+-- Args : [Arg {argCName = "priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the priority of the idle source. Typically this will be in the\n           range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "function", argType = TInterface (Name {namespace = "GLib", name = "SourceFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function to call", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to pass to @function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "function to call when the idle is removed, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_threads_add_idle_full" gdk_threads_add_idle_full :: +    Int32 ->                                -- priority : TBasicType TInt+    FunPtr GLib.Callbacks.C_SourceFunc ->   -- function : TInterface (Name {namespace = "GLib", name = "SourceFunc"})+    Ptr () ->                               -- data : TBasicType TPtr+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})+    IO Word32++{- |+Adds a function to be called whenever there are no higher priority+events pending.  If the function returns 'False' it is automatically+removed from the list of event sources and will not be called again.++This variant of 'GI.GLib.Functions.idleAdd' calls /@function@/ with the GDK lock+held. It can be thought of a MT-safe version for GTK+ widgets for the+following use case, where you have to worry about @/idle_callback()/@+running in thread A and accessing /@self@/ after it has been finalized+in thread B:+++=== /C code/+>+>static gboolean+>idle_callback (gpointer data)+>{+>   // gdk_threads_enter(); would be needed for g_idle_add()+>+>   SomeWidget *self = data;+>   // do stuff with self+>+>   self->idle_id = 0;+>+>   // gdk_threads_leave(); would be needed for g_idle_add()+>   return FALSE;+>}+>+>static void+>some_widget_do_stuff_later (SomeWidget *self)+>{+>   self->idle_id = gdk_threads_add_idle (idle_callback, self)+>   // using g_idle_add() here would require thread protection in the callback+>}+>+>static void+>some_widget_finalize (GObject *object)+>{+>   SomeWidget *self = SOME_WIDGET (object);+>   if (self->idle_id)+>     g_source_remove (self->idle_id);+>   G_OBJECT_CLASS (parent_class)->finalize (object);+>}+++/Since: 2.12/+-}+threadsAddIdle ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Int32+    {- ^ /@priority@/: the priority of the idle source. Typically this will be in the+           range between 'GI.GLib.Constants.PRIORITY_DEFAULT_IDLE' and 'GI.GLib.Constants.PRIORITY_HIGH_IDLE' -}+    -> GLib.Callbacks.SourceFunc+    {- ^ /@function@/: function to call -}+    -> m Word32+    {- ^ __Returns:__ the ID (greater than 0) of the event source. -}+threadsAddIdle priority function = liftIO $ do+    function' <- GLib.Callbacks.mk_SourceFunc (GLib.Callbacks.wrap_SourceFunc Nothing (GLib.Callbacks.drop_closures_SourceFunc function))+    let data_ = castFunPtrToPtr function'+    let notify = safeFreeFunPtrPtr+    result <- gdk_threads_add_idle_full priority function' data_ notify+    return result+++-- function gdk_text_property_to_utf8_list_for_display+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "encoding", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an atom representing the encoding of the text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format of the property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TCArray False (-1) 4 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text to convert", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @text, in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "list", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the list\n           of strings or %NULL. The list should be freed with\n           g_strfreev().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : [Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @text, in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- returnType : Just (TBasicType TInt)+-- 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 Gdk.Display.Display ->              -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    Ptr Gdk.Atom.Atom ->                    -- encoding : TInterface (Name {namespace = "Gdk", name = "Atom"})+    Int32 ->                                -- format : TBasicType TInt+    Ptr Word8 ->                            -- text : TCArray False (-1) 4 (TBasicType TUInt8)+    Int32 ->                                -- length : TBasicType TInt+    Ptr (Ptr CString) ->                    -- list : TCArray True (-1) (-1) (TBasicType TUTF8)+    IO Int32++{- |+Converts a text property in the given encoding to+a list of UTF-8 strings.++/Since: 2.2/+-}+textPropertyToUtf8ListForDisplay ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Display.IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> Gdk.Atom.Atom+    {- ^ /@encoding@/: an atom representing the encoding of the text -}+    -> Int32+    {- ^ /@format@/: the format of the property -}+    -> ByteString+    {- ^ /@text@/: the text to convert -}+    -> m ((Int32, [T.Text]))+    {- ^ __Returns:__ the number of strings in the resulting list -}+textPropertyToUtf8ListForDisplay display encoding format text = liftIO $ do+    let length_ = fromIntegral $ B.length text+    display' <- unsafeManagedPtrCastPtr display+    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_test_simulate_key+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow to simulate a key event for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x coordinate within @window for the key event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y coordinate within @window for the key event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keyval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A GDK keyboard value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modifiers", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Keyboard modifiers the event is setup with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key_pressrelease", argType = TInterface (Name {namespace = "Gdk", name = "EventType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "either %GDK_KEY_PRESS or %GDK_KEY_RELEASE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_test_simulate_key" gdk_test_simulate_key :: +    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Int32 ->                                -- x : TBasicType TInt+    Int32 ->                                -- y : TBasicType TInt+    Word32 ->                               -- keyval : TBasicType TUInt+    CUInt ->                                -- modifiers : TInterface (Name {namespace = "Gdk", name = "ModifierType"})+    CInt ->                                 -- key_pressrelease : TInterface (Name {namespace = "Gdk", name = "EventType"})+    IO CInt++{- |+This function is intended to be used in GTK+ test programs.+If (/@x@/,/@y@/) are > (-1,-1), it will warp the mouse pointer to+the given (/@x@/,/@y@/) coordinates within /@window@/ and simulate a+key press or release event.++When the mouse pointer is warped to the target location, use+of this function outside of test programs that run in their+own virtual windowing system (e.g. Xvfb) is not recommended.+If (/@x@/,/@y@/) are passed as (-1,-1), the mouse pointer will not+be warped and /@window@/ origin will be used as mouse pointer+location for the event.++Also, 'GI.Gdk.Functions.testSimulateKey' is a fairly low level function,+for most testing purposes, @/gtk_test_widget_send_key()/@ is the+right function to call which will generate a key press event+followed by its accompanying key release event.++/Since: 2.14/+-}+testSimulateKey ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Window.IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' to simulate a key event for -}+    -> Int32+    {- ^ /@x@/: x coordinate within /@window@/ for the key event -}+    -> Int32+    {- ^ /@y@/: y coordinate within /@window@/ for the key event -}+    -> Word32+    {- ^ /@keyval@/: A GDK keyboard value -}+    -> [Gdk.Flags.ModifierType]+    {- ^ /@modifiers@/: Keyboard modifiers the event is setup with -}+    -> Gdk.Enums.EventType+    {- ^ /@keyPressrelease@/: either 'GI.Gdk.Enums.EventTypeKeyPress' or 'GI.Gdk.Enums.EventTypeKeyRelease' -}+    -> m Bool+    {- ^ __Returns:__ whether all actions necessary for a key event simulation+    were carried out successfully -}+testSimulateKey window x y keyval modifiers keyPressrelease = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let modifiers' = gflagsToWord modifiers+    let keyPressrelease' = (fromIntegral . fromEnum) keyPressrelease+    result <- gdk_test_simulate_key window' x y keyval modifiers' keyPressrelease'+    let result' = (/= 0) result+    touchManagedPtr window+    return result'+++-- function gdk_test_simulate_button+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow to simulate a button event for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x coordinate within @window for the button event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y coordinate within @window for the button event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "button", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Number of the pointer button for the event, usually 1, 2 or 3", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modifiers", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Keyboard modifiers the event is setup with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "button_pressrelease", argType = TInterface (Name {namespace = "Gdk", name = "EventType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "either %GDK_BUTTON_PRESS or %GDK_BUTTON_RELEASE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_test_simulate_button" gdk_test_simulate_button :: +    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Int32 ->                                -- x : TBasicType TInt+    Int32 ->                                -- y : TBasicType TInt+    Word32 ->                               -- button : TBasicType TUInt+    CUInt ->                                -- modifiers : TInterface (Name {namespace = "Gdk", name = "ModifierType"})+    CInt ->                                 -- button_pressrelease : TInterface (Name {namespace = "Gdk", name = "EventType"})+    IO CInt++{- |+This function is intended to be used in GTK+ test programs.+It will warp the mouse pointer to the given (/@x@/,/@y@/) coordinates+within /@window@/ and simulate a button press or release event.+Because the mouse pointer needs to be warped to the target+location, use of this function outside of test programs that+run in their own virtual windowing system (e.g. Xvfb) is not+recommended.++Also, 'GI.Gdk.Functions.testSimulateButton' is a fairly low level function,+for most testing purposes, @/gtk_test_widget_click()/@ is the right+function to call which will generate a button press event followed+by its accompanying button release event.++/Since: 2.14/+-}+testSimulateButton ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Window.IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' to simulate a button event for -}+    -> Int32+    {- ^ /@x@/: x coordinate within /@window@/ for the button event -}+    -> Int32+    {- ^ /@y@/: y coordinate within /@window@/ for the button event -}+    -> Word32+    {- ^ /@button@/: Number of the pointer button for the event, usually 1, 2 or 3 -}+    -> [Gdk.Flags.ModifierType]+    {- ^ /@modifiers@/: Keyboard modifiers the event is setup with -}+    -> Gdk.Enums.EventType+    {- ^ /@buttonPressrelease@/: either 'GI.Gdk.Enums.EventTypeButtonPress' or 'GI.Gdk.Enums.EventTypeButtonRelease' -}+    -> m Bool+    {- ^ __Returns:__ whether all actions necessary for a button event simulation+    were carried out successfully -}+testSimulateButton window x y button modifiers buttonPressrelease = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let modifiers' = gflagsToWord modifiers+    let buttonPressrelease' = (fromIntegral . fromEnum) buttonPressrelease+    result <- gdk_test_simulate_button window' x y button modifiers' buttonPressrelease'+    let result' = (/= 0) result+    touchManagedPtr window+    return result'+++-- function gdk_test_render_sync+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a mapped #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_test_render_sync" gdk_test_render_sync :: +    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Retrieves a pixel from /@window@/ to force the windowing+system to carry out any pending rendering commands.++This function is intended to be used to synchronize with rendering+pipelines, to benchmark windowing system rendering operations.++/Since: 2.14/+-}+testRenderSync ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Window.IsWindow a) =>+    a+    {- ^ /@window@/: a mapped 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+testRenderSync window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_test_render_sync window'+    touchManagedPtr window+    return ()+++-- function gdk_synthesize_window_state+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unset_flags", argType = TInterface (Name {namespace = "Gdk", name = "WindowState"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "set_flags", argType = TInterface (Name {namespace = "Gdk", name = "WindowState"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_synthesize_window_state" gdk_synthesize_window_state :: +    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CUInt ->                                -- unset_flags : TInterface (Name {namespace = "Gdk", name = "WindowState"})+    CUInt ->                                -- set_flags : TInterface (Name {namespace = "Gdk", name = "WindowState"})+    IO ()++{- |+/No description available in the introspection data./+-}+synthesizeWindowState ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Window.IsWindow a) =>+    a+    -> [Gdk.Flags.WindowState]+    -> [Gdk.Flags.WindowState]+    -> m ()+synthesizeWindowState window unsetFlags setFlags = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let unsetFlags' = gflagsToWord unsetFlags+    let setFlags' = gflagsToWord setFlags+    gdk_synthesize_window_state window' unsetFlags' setFlags'+    touchManagedPtr window+    return ()+++-- function gdk_setting_get+-- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the setting.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the value of the setting.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_setting_get" gdk_setting_get :: +    CString ->                              -- name : TBasicType TUTF8+    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})+    IO CInt++{- |+Obtains a desktop-wide setting, such as the double-click time,+for the default screen. See 'GI.Gdk.Objects.Screen.screenGetSetting'.+-}+settingGet ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@name@/: the name of the setting. -}+    -> GValue+    {- ^ /@value@/: location to store the value of the setting. -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the setting existed and a value was stored+  in /@value@/, 'False' otherwise. -}+settingGet name value = liftIO $ do+    name' <- textToCString name+    value' <- unsafeManagedPtrGetPtr value+    result <- gdk_setting_get name' value'+    let result' = (/= 0) result+    touchManagedPtr value+    freeMem name'+    return result'+++-- function gdk_set_show_events+-- Args : [Arg {argCName = "show_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to output event debugging information.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_set_show_events" gdk_set_show_events :: +    CInt ->                                 -- show_events : TBasicType TBoolean+    IO ()++{- |+Sets whether a trace of received events is output.+Note that GTK+ must be compiled with debugging (that is,+configured using the @--enable-debug@ option)+to use this option.+-}+setShowEvents ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Bool+    {- ^ /@showEvents@/: 'True' to output event debugging information. -}+    -> m ()+setShowEvents showEvents = liftIO $ do+    let showEvents' = (fromIntegral . fromEnum) showEvents+    gdk_set_show_events showEvents'+    return ()+++-- function gdk_set_program_class+-- Args : [Arg {argCName = "program_class", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_set_program_class" gdk_set_program_class :: +    CString ->                              -- program_class : TBasicType TUTF8+    IO ()++{- |+Sets the program class. The X11 backend uses the program class to set+the class name part of the @WM_CLASS@ property on+toplevel windows; see the ICCCM.++The program class can still be overridden with the --class command+line option.+-}+setProgramClass ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@programClass@/: a string. -}+    -> m ()+setProgramClass programClass = liftIO $ do+    programClass' <- textToCString programClass+    gdk_set_program_class programClass'+    freeMem programClass'+    return ()+++-- function gdk_set_double_click_time+-- Args : [Arg {argCName = "msec", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "double click time in milliseconds (thousandths of a second)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_set_double_click_time" gdk_set_double_click_time :: +    Word32 ->                               -- msec : TBasicType TUInt+    IO ()++{- |+Set the double click time for the default display. See+'GI.Gdk.Objects.Display.displaySetDoubleClickTime'.+See also 'GI.Gdk.Objects.Display.displaySetDoubleClickDistance'.+Applications should not set this, it is a+global user-configured setting.+-}+setDoubleClickTime ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Word32+    {- ^ /@msec@/: double click time in milliseconds (thousandths of a second) -}+    -> m ()+setDoubleClickTime msec = liftIO $ do+    gdk_set_double_click_time msec+    return ()+++-- function gdk_set_allowed_backends+-- Args : [Arg {argCName = "backends", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a comma-separated list of backends", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_set_allowed_backends" gdk_set_allowed_backends :: +    CString ->                              -- backends : TBasicType TUTF8+    IO ()++{- |+Sets a list of backends that GDK should try to use.++This can be be useful if your application does not+work with certain GDK backends.++By default, GDK tries all included backends.++For example,++=== /C code/+>+>gdk_set_allowed_backends ("wayland,quartz,*");++instructs GDK to try the Wayland backend first,+followed by the Quartz backend, and then all+others.++If the @GDK_BACKEND@ environment variable+is set, it determines what backends are tried in what+order, while still respecting the set of allowed backends+that are specified by this function.++The possible backend names are x11, win32, quartz,+broadway, wayland. You can also include a * in the+list to try all remaining backends.++This call must happen prior to 'GI.Gdk.Objects.Display.displayOpen',+@/gtk_init()/@, @/gtk_init_with_args()/@ or @/gtk_init_check()/@+in order to take effect.++/Since: 3.10/+-}+setAllowedBackends ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@backends@/: a comma-separated list of backends -}+    -> m ()+setAllowedBackends backends = liftIO $ do+    backends' <- textToCString backends+    gdk_set_allowed_backends backends'+    freeMem backends'+    return ()+++-- function gdk_selection_send_notify_for_display+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkDisplay where @requestor is realized", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "requestor", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "window to which to deliver response", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "selection that was requested", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "target that was selected", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "property in which the selection owner stored the data,\n           or %GDK_NONE to indicate that the request was rejected", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "timestamp", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_selection_send_notify_for_display" gdk_selection_send_notify_for_display :: +    Ptr Gdk.Display.Display ->              -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    Ptr Gdk.Window.Window ->                -- requestor : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Atom.Atom ->                    -- selection : TInterface (Name {namespace = "Gdk", name = "Atom"})+    Ptr Gdk.Atom.Atom ->                    -- target : TInterface (Name {namespace = "Gdk", name = "Atom"})+    Ptr Gdk.Atom.Atom ->                    -- property : TInterface (Name {namespace = "Gdk", name = "Atom"})+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO ()++{- |+Send a response to SelectionRequest event.++/Since: 2.2/+-}+selectionSendNotifyForDisplay ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Display.IsDisplay a, Gdk.Window.IsWindow b) =>+    a+    {- ^ /@display@/: the 'GI.Gdk.Objects.Display.Display' where /@requestor@/ is realized -}+    -> b+    {- ^ /@requestor@/: window to which to deliver response -}+    -> Gdk.Atom.Atom+    {- ^ /@selection@/: selection that was requested -}+    -> Gdk.Atom.Atom+    {- ^ /@target@/: target that was selected -}+    -> Gdk.Atom.Atom+    {- ^ /@property@/: property in which the selection owner stored the data,+           or @/GDK_NONE/@ to indicate that the request was rejected -}+    -> Word32+    {- ^ /@time_@/: timestamp -}+    -> m ()+selectionSendNotifyForDisplay display requestor selection target property time_ = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    requestor' <- unsafeManagedPtrCastPtr requestor+    selection' <- unsafeManagedPtrGetPtr selection+    target' <- unsafeManagedPtrGetPtr target+    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_selection_send_notify+-- Args : [Arg {argCName = "requestor", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "window to which to deliver response.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "selection that was requested.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "target that was selected.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "property in which the selection owner stored the\n  data, or %GDK_NONE to indicate that the request\n  was rejected.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "timestamp.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_selection_send_notify" gdk_selection_send_notify :: +    Ptr Gdk.Window.Window ->                -- requestor : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Atom.Atom ->                    -- selection : TInterface (Name {namespace = "Gdk", name = "Atom"})+    Ptr Gdk.Atom.Atom ->                    -- target : TInterface (Name {namespace = "Gdk", name = "Atom"})+    Ptr Gdk.Atom.Atom ->                    -- property : TInterface (Name {namespace = "Gdk", name = "Atom"})+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO ()++{- |+Sends a response to SelectionRequest event.+-}+selectionSendNotify ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Window.IsWindow a) =>+    a+    {- ^ /@requestor@/: window to which to deliver response. -}+    -> Gdk.Atom.Atom+    {- ^ /@selection@/: selection that was requested. -}+    -> Gdk.Atom.Atom+    {- ^ /@target@/: target that was selected. -}+    -> Gdk.Atom.Atom+    {- ^ /@property@/: property in which the selection owner stored the+  data, or @/GDK_NONE/@ to indicate that the request+  was rejected. -}+    -> Word32+    {- ^ /@time_@/: timestamp. -}+    -> m ()+selectionSendNotify requestor selection target property time_ = liftIO $ do+    requestor' <- unsafeManagedPtrCastPtr requestor+    selection' <- unsafeManagedPtrGetPtr selection+    target' <- unsafeManagedPtrGetPtr target+    property' <- unsafeManagedPtrGetPtr property+    gdk_selection_send_notify requestor' selection' target' property' time_+    touchManagedPtr requestor+    touchManagedPtr selection+    touchManagedPtr target+    touchManagedPtr property+    return ()+++-- function gdk_selection_owner_set_for_display+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "owner", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GdkWindow or %NULL to indicate that the owner for\n        the given should be unset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an atom identifying a selection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "timestamp to use when setting the selection\n        If this is older than the timestamp given last time the owner was\n        set for the given selection, the request will be ignored", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "send_event", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if %TRUE, and the new owner is different from the current\n             owner, the current owner will be sent a SelectionClear event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_selection_owner_set_for_display" gdk_selection_owner_set_for_display :: +    Ptr Gdk.Display.Display ->              -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    Ptr Gdk.Window.Window ->                -- owner : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Atom.Atom ->                    -- selection : TInterface (Name {namespace = "Gdk", name = "Atom"})+    Word32 ->                               -- time_ : TBasicType TUInt32+    CInt ->                                 -- send_event : TBasicType TBoolean+    IO CInt++{- |+Sets the 'GI.Gdk.Objects.Window.Window' /@owner@/ as the current owner of the selection /@selection@/.++/Since: 2.2/+-}+selectionOwnerSetForDisplay ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Display.IsDisplay a, Gdk.Window.IsWindow b) =>+    a+    {- ^ /@display@/: the 'GI.Gdk.Objects.Display.Display' -}+    -> Maybe (b)+    {- ^ /@owner@/: a 'GI.Gdk.Objects.Window.Window' or 'Nothing' to indicate that the owner for+        the given should be unset -}+    -> Gdk.Atom.Atom+    {- ^ /@selection@/: an atom identifying a selection -}+    -> Word32+    {- ^ /@time_@/: timestamp to use when setting the selection+        If this is older than the timestamp given last time the owner was+        set for the given selection, the request will be ignored -}+    -> Bool+    {- ^ /@sendEvent@/: if 'True', and the new owner is different from the current+             owner, the current owner will be sent a SelectionClear event -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the selection owner was successfully changed to owner,+   otherwise 'False'. -}+selectionOwnerSetForDisplay display owner selection time_ sendEvent = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    maybeOwner <- case owner of+        Nothing -> return nullPtr+        Just jOwner -> do+            jOwner' <- unsafeManagedPtrCastPtr jOwner+            return jOwner'+    selection' <- unsafeManagedPtrGetPtr selection+    let sendEvent' = (fromIntegral . fromEnum) sendEvent+    result <- gdk_selection_owner_set_for_display display' maybeOwner selection' time_ sendEvent'+    let result' = (/= 0) result+    touchManagedPtr display+    whenJust owner touchManagedPtr+    touchManagedPtr selection+    return result'+++-- function gdk_selection_owner_set+-- Args : [Arg {argCName = "owner", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GdkWindow or %NULL to indicate that the\n  the owner for the given should be unset.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an atom identifying a selection.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "timestamp to use when setting the selection.\n  If this is older than the timestamp given last\n  time the owner was set for the given selection, the\n  request will be ignored.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "send_event", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if %TRUE, and the new owner is different\n  from the current owner, the current owner\n  will be sent a SelectionClear event.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_selection_owner_set" gdk_selection_owner_set :: +    Ptr Gdk.Window.Window ->                -- owner : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Atom.Atom ->                    -- selection : TInterface (Name {namespace = "Gdk", name = "Atom"})+    Word32 ->                               -- time_ : TBasicType TUInt32+    CInt ->                                 -- send_event : TBasicType TBoolean+    IO CInt++{- |+Sets the owner of the given selection.+-}+selectionOwnerSet ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Window.IsWindow a) =>+    Maybe (a)+    {- ^ /@owner@/: a 'GI.Gdk.Objects.Window.Window' or 'Nothing' to indicate that the+  the owner for the given should be unset. -}+    -> Gdk.Atom.Atom+    {- ^ /@selection@/: an atom identifying a selection. -}+    -> Word32+    {- ^ /@time_@/: timestamp to use when setting the selection.+  If this is older than the timestamp given last+  time the owner was set for the given selection, the+  request will be ignored. -}+    -> Bool+    {- ^ /@sendEvent@/: if 'True', and the new owner is different+  from the current owner, the current owner+  will be sent a SelectionClear event. -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the selection owner was successfully+  changed to /@owner@/, otherwise 'False'. -}+selectionOwnerSet owner selection time_ sendEvent = liftIO $ do+    maybeOwner <- case owner of+        Nothing -> return nullPtr+        Just jOwner -> do+            jOwner' <- unsafeManagedPtrCastPtr jOwner+            return jOwner'+    selection' <- unsafeManagedPtrGetPtr selection+    let sendEvent' = (fromIntegral . fromEnum) sendEvent+    result <- gdk_selection_owner_set maybeOwner selection' time_ sendEvent'+    let result' = (/= 0) result+    whenJust owner touchManagedPtr+    touchManagedPtr selection+    return result'+++-- function gdk_selection_owner_get_for_display+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an atom indentifying a selection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_selection_owner_get_for_display" gdk_selection_owner_get_for_display :: +    Ptr Gdk.Display.Display ->              -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    Ptr Gdk.Atom.Atom ->                    -- selection : TInterface (Name {namespace = "Gdk", name = "Atom"})+    IO (Ptr Gdk.Window.Window)++{- |+Determine the owner of the given selection.++Note that the return value may be owned by a different+process if a foreign window was previously created for that+window, but a new foreign window will never be created by this call.++/Since: 2.2/+-}+selectionOwnerGetForDisplay ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Display.IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> Gdk.Atom.Atom+    {- ^ /@selection@/: an atom indentifying a selection -}+    -> m (Maybe Gdk.Window.Window)+    {- ^ __Returns:__ if there is a selection owner+   for this window, and it is a window known to the current+   process, the 'GI.Gdk.Objects.Window.Window' that owns the selection, otherwise+   'Nothing'. -}+selectionOwnerGetForDisplay display selection = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    selection' <- unsafeManagedPtrGetPtr selection+    result <- gdk_selection_owner_get_for_display display' selection'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Gdk.Window.Window) result'+        return result''+    touchManagedPtr display+    touchManagedPtr selection+    return maybeResult+++-- function gdk_selection_owner_get+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an atom indentifying a selection.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_selection_owner_get" gdk_selection_owner_get :: +    Ptr Gdk.Atom.Atom ->                    -- selection : TInterface (Name {namespace = "Gdk", name = "Atom"})+    IO (Ptr Gdk.Window.Window)++{- |+Determines the owner of the given selection.+-}+selectionOwnerGet ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Gdk.Atom.Atom+    {- ^ /@selection@/: an atom indentifying a selection. -}+    -> m (Maybe Gdk.Window.Window)+    {- ^ __Returns:__ if there is a selection owner+  for this window, and it is a window known to the current process,+  the 'GI.Gdk.Objects.Window.Window' that owns the selection, otherwise 'Nothing'. Note+  that the return value may be owned by a different process if a+  foreign window was previously created for that window, but a new+  foreign window will never be created by this call. -}+selectionOwnerGet selection = liftIO $ do+    selection' <- unsafeManagedPtrGetPtr selection+    result <- gdk_selection_owner_get selection'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Gdk.Window.Window) result'+        return result''+    touchManagedPtr selection+    return maybeResult+++-- function gdk_selection_convert+-- Args : [Arg {argCName = "requestor", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an atom identifying the selection to get the\n  contents of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the form in which to retrieve the selection.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the timestamp to use when retrieving the\n  selection. The selection owner may refuse the\n  request if it did not own the selection at\n  the time indicated by the timestamp.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_selection_convert" gdk_selection_convert :: +    Ptr Gdk.Window.Window ->                -- requestor : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Atom.Atom ->                    -- selection : TInterface (Name {namespace = "Gdk", name = "Atom"})+    Ptr Gdk.Atom.Atom ->                    -- target : TInterface (Name {namespace = "Gdk", name = "Atom"})+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO ()++{- |+Retrieves the contents of a selection in a given+form.+-}+selectionConvert ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Window.IsWindow a) =>+    a+    {- ^ /@requestor@/: a 'GI.Gdk.Objects.Window.Window'. -}+    -> Gdk.Atom.Atom+    {- ^ /@selection@/: an atom identifying the selection to get the+  contents of. -}+    -> Gdk.Atom.Atom+    {- ^ /@target@/: the form in which to retrieve the selection. -}+    -> Word32+    {- ^ /@time_@/: the timestamp to use when retrieving the+  selection. The selection owner may refuse the+  request if it did not own the selection at+  the time indicated by the timestamp. -}+    -> m ()+selectionConvert requestor selection target time_ = liftIO $ do+    requestor' <- unsafeManagedPtrCastPtr requestor+    selection' <- unsafeManagedPtrGetPtr selection+    target' <- unsafeManagedPtrGetPtr target+    gdk_selection_convert requestor' selection' target' time_+    touchManagedPtr requestor+    touchManagedPtr selection+    touchManagedPtr target+    return ()+++-- function gdk_query_visual_types+-- Args : [Arg {argCName = "visual_types", argType = TCArray False (-1) 1 (TInterface (Name {namespace = "Gdk", name = "VisualType"})), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return\n    location for the available visual types", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the number of available visual types", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : [Arg {argCName = "count", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the number of available visual types", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- returnType : Nothing+-- 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 (Name {namespace = "Gdk", name = "VisualType"}))+    Ptr Int32 ->                            -- count : TBasicType TInt+    IO ()++{-# DEPRECATED queryVisualTypes ["(Since version 3.22)","Visual selection should be done using","    'GI.Gdk.Objects.Screen.screenGetSystemVisual' and 'GI.Gdk.Objects.Screen.screenGetRgbaVisual'"] #-}+{- |+This function returns the available visual types for the default+screen. It’s equivalent to listing the visuals+('GI.Gdk.Functions.listVisuals') and then looking at the type field in each+visual, removing duplicates.++The array returned by this function should not be freed.+-}+queryVisualTypes ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m ([Gdk.Enums.VisualType])+queryVisualTypes  = liftIO $ do+    visualTypes <- allocMem :: IO (Ptr (Ptr CUInt))+    count <- allocMem :: IO (Ptr Int32)+    gdk_query_visual_types visualTypes count+    count' <- peek count+    visualTypes' <- peek visualTypes+    visualTypes'' <- (unpackStorableArrayWithLength count') visualTypes'+    let visualTypes''' = map (toEnum . fromIntegral) visualTypes''+    freeMem visualTypes+    freeMem count+    return visualTypes'''+++-- function gdk_query_depths+-- Args : [Arg {argCName = "depths", argType = TCArray False (-1) 1 (TBasicType TInt), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return\n    location for available depths", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for number of available depths", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : [Arg {argCName = "count", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for number of available depths", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_query_depths" gdk_query_depths :: +    Ptr (Ptr Int32) ->                      -- depths : TCArray False (-1) 1 (TBasicType TInt)+    Ptr Int32 ->                            -- count : TBasicType TInt+    IO ()++{-# DEPRECATED queryDepths ["(Since version 3.22)","Visual selection should be done using","    'GI.Gdk.Objects.Screen.screenGetSystemVisual' and 'GI.Gdk.Objects.Screen.screenGetRgbaVisual'"] #-}+{- |+This function returns the available bit depths for the default+screen. It’s equivalent to listing the visuals+('GI.Gdk.Functions.listVisuals') and then looking at the depth field in each+visual, removing duplicates.++The array returned by this function should not be freed.+-}+queryDepths ::+    (B.CallStack.HasCallStack, 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_property_get+-- XXX Could not generate function gdk_property_get+-- Error was : Not implemented: "Don't know how to allocate \"actual_property_type\" of type TInterface (Name {namespace = \"Gdk\", name = \"Atom\"})"++-- function gdk_property_delete+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the property to delete", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_property_delete" gdk_property_delete :: +    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Atom.Atom ->                    -- property : TInterface (Name {namespace = "Gdk", name = "Atom"})+    IO ()++{- |+Deletes a property from a window.+-}+propertyDelete ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Window.IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Gdk.Atom.Atom+    {- ^ /@property@/: the property to delete -}+    -> m ()+propertyDelete window property = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    property' <- unsafeManagedPtrGetPtr property+    gdk_property_delete window' property'+    touchManagedPtr window+    touchManagedPtr property+    return ()+++-- function gdk_pre_parse_libgtk_only+-- Args : []+-- Lengths : []+-- returnType : Nothing+-- 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+"] #-}+{- |+Prepare for parsing command line arguments for GDK. This is not+public API and should not be used in application code.+-}+preParseLibgtkOnly ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m ()+preParseLibgtkOnly  = liftIO $ do+    gdk_pre_parse_libgtk_only+    return ()+++-- function gdk_pointer_ungrab+-- Args : [Arg {argCName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a timestamp from a #GdkEvent, or %GDK_CURRENT_TIME if no\n timestamp is available.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- 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 'GI.Gdk.Objects.Device.deviceUngrab', together with 'GI.Gdk.Objects.Device.deviceGrab'","            instead."] #-}+{- |+Ungrabs the pointer on the default display, if it is grabbed by this+application.+-}+pointerUngrab ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Word32+    {- ^ /@time_@/: a timestamp from a 'GI.Gdk.Unions.Event.Event', or 'GI.Gdk.Constants.CURRENT_TIME' if no+ timestamp is available. -}+    -> m ()+pointerUngrab time_ = liftIO $ do+    gdk_pointer_ungrab time_+    return ()+++-- function gdk_pointer_is_grabbed+-- Args : []+-- Lengths : []+-- returnType : Just (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 'GI.Gdk.Objects.Display.displayDeviceIsGrabbed' instead."] #-}+{- |+Returns 'True' if the pointer on the default display is currently+grabbed by this application.++Note that this does not take the inmplicit pointer grab on button+presses into account.+-}+pointerIsGrabbed ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m Bool+    {- ^ __Returns:__ 'True' if the pointer is currently grabbed by this application. -}+pointerIsGrabbed  = liftIO $ do+    result <- gdk_pointer_is_grabbed+    let result' = (/= 0) result+    return result'+++-- function gdk_pointer_grab+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkWindow which will own the grab (the grab window).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "owner_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if %FALSE then all pointer events are reported with respect to\n               @window and are only reported if selected by @event_mask. If %TRUE then pointer\n               events for this application are reported as normal, but pointer events outside\n               this application are reported with respect to @window and only if selected by\n               @event_mask. In either mode, unreported events are discarded.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event_mask", argType = TInterface (Name {namespace = "Gdk", name = "EventMask"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "specifies the event mask, which is used in accordance with\n             @owner_events. Note that only pointer events (i.e. button and motion events)\n             may be selected.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "confine_to", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "If non-%NULL, the pointer will be confined to this\n             window during the grab. If the pointer is outside @confine_to, it will\n             automatically be moved to the closest edge of @confine_to and enter\n             and leave events will be generated as necessary.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cursor", argType = TInterface (Name {namespace = "Gdk", name = "Cursor"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the cursor to display while the grab is active. If this is %NULL then\n         the normal cursors are used for @window and its descendants, and the cursor\n         for @window is used for all other windows.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the timestamp of the event which led to this pointer grab. This usually\n        comes from a #GdkEventButton struct, though %GDK_CURRENT_TIME can be used if\n        the time isn\8217t known.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "GrabStatus"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_pointer_grab" gdk_pointer_grab :: +    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CInt ->                                 -- owner_events : TBasicType TBoolean+    CUInt ->                                -- event_mask : TInterface (Name {namespace = "Gdk", name = "EventMask"})+    Ptr Gdk.Window.Window ->                -- confine_to : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Cursor.Cursor ->                -- cursor : TInterface (Name {namespace = "Gdk", name = "Cursor"})+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO CUInt++{-# DEPRECATED pointerGrab ["(Since version 3.0)","Use 'GI.Gdk.Objects.Device.deviceGrab' instead."] #-}+{- |+Grabs the pointer (usually a mouse) so that all events are passed to this+application until the pointer is ungrabbed with 'GI.Gdk.Functions.pointerUngrab', or+the grab window becomes unviewable.+This overrides any previous pointer grab by this client.++Pointer grabs are used for operations which need complete control over mouse+events, even if the mouse leaves the application.+For example in GTK+ it is used for Drag and Drop, for dragging the handle in+the @/GtkHPaned/@ and @/GtkVPaned/@ widgets.++Note that if the event mask of an X window has selected both button press and+button release events, then a button press event will cause an automatic+pointer grab until the button is released.+X does this automatically since most applications expect to receive button+press and release events in pairs.+It is equivalent to a pointer grab on the window with /@ownerEvents@/ set to+'True'.++If you set up anything at the time you take the grab that needs to be cleaned+up when the grab ends, you should handle the 'GI.Gdk.Structs.EventGrabBroken.EventGrabBroken' events that+are emitted when the grab ends unvoluntarily.+-}+pointerGrab ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Window.IsWindow a, Gdk.Window.IsWindow b, Gdk.Cursor.IsCursor c) =>+    a+    {- ^ /@window@/: the 'GI.Gdk.Objects.Window.Window' which will own the grab (the grab window). -}+    -> Bool+    {- ^ /@ownerEvents@/: if 'False' then all pointer events are reported with respect to+               /@window@/ and are only reported if selected by /@eventMask@/. If 'True' then pointer+               events for this application are reported as normal, but pointer events outside+               this application are reported with respect to /@window@/ and only if selected by+               /@eventMask@/. In either mode, unreported events are discarded. -}+    -> [Gdk.Flags.EventMask]+    {- ^ /@eventMask@/: specifies the event mask, which is used in accordance with+             /@ownerEvents@/. Note that only pointer events (i.e. button and motion events)+             may be selected. -}+    -> Maybe (b)+    {- ^ /@confineTo@/: If non-'Nothing', the pointer will be confined to this+             window during the grab. If the pointer is outside /@confineTo@/, it will+             automatically be moved to the closest edge of /@confineTo@/ and enter+             and leave events will be generated as necessary. -}+    -> Maybe (c)+    {- ^ /@cursor@/: the cursor to display while the grab is active. If this is 'Nothing' then+         the normal cursors are used for /@window@/ and its descendants, and the cursor+         for /@window@/ is used for all other windows. -}+    -> Word32+    {- ^ /@time_@/: the timestamp of the event which led to this pointer grab. This usually+        comes from a 'GI.Gdk.Structs.EventButton.EventButton' struct, though 'GI.Gdk.Constants.CURRENT_TIME' can be used if+        the time isn’t known. -}+    -> m Gdk.Enums.GrabStatus+    {- ^ __Returns:__ 'GI.Gdk.Enums.GrabStatusSuccess' if the grab was successful. -}+pointerGrab window ownerEvents eventMask confineTo cursor time_ = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let ownerEvents' = (fromIntegral . fromEnum) ownerEvents+    let eventMask' = gflagsToWord eventMask+    maybeConfineTo <- case confineTo of+        Nothing -> return nullPtr+        Just jConfineTo -> do+            jConfineTo' <- unsafeManagedPtrCastPtr jConfineTo+            return jConfineTo'+    maybeCursor <- case cursor of+        Nothing -> return nullPtr+        Just jCursor -> do+            jCursor' <- unsafeManagedPtrCastPtr jCursor+            return jCursor'+    result <- gdk_pointer_grab window' ownerEvents' eventMask' maybeConfineTo maybeCursor time_+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr window+    whenJust confineTo touchManagedPtr+    whenJust cursor touchManagedPtr+    return result'+++-- function gdk_pixbuf_get_from_window+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Source window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Source X coordinate within @window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Source Y coordinate within @window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Width in pixels of region to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Height in pixels of region to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_pixbuf_get_from_window" gdk_pixbuf_get_from_window :: +    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Int32 ->                                -- src_x : TBasicType TInt+    Int32 ->                                -- src_y : TBasicType TInt+    Int32 ->                                -- width : TBasicType TInt+    Int32 ->                                -- height : TBasicType TInt+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)++{- |+Transfers image data from a 'GI.Gdk.Objects.Window.Window' and converts it to an RGB(A)+representation inside a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf'. In other words, copies+image data from a server-side drawable to a client-side RGB(A) buffer.+This allows you to efficiently read individual pixels on the client side.++This function will create an RGB pixbuf with 8 bits per channel with+the size specified by the /@width@/ and /@height@/ arguments scaled by the+scale factor of /@window@/. The pixbuf will contain an alpha channel if+the /@window@/ contains one.++If the window is off the screen, then there is no image data in the+obscured\/offscreen regions to be placed in the pixbuf. The contents of+portions of the pixbuf corresponding to the offscreen region are undefined.++If the window you’re obtaining data from is partially obscured by+other windows, then the contents of the pixbuf areas corresponding+to the obscured regions are undefined.++If the window is not mapped (typically because it’s iconified\/minimized+or not on the current workspace), then 'Nothing' will be returned.++If memory can’t be allocated for the return value, 'Nothing' will be returned+instead.++(In short, there are several ways this function can fail, and if it fails+ it returns 'Nothing'; so check the return value.)+-}+pixbufGetFromWindow ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Window.IsWindow a) =>+    a+    {- ^ /@window@/: Source window -}+    -> Int32+    {- ^ /@srcX@/: Source X coordinate within /@window@/ -}+    -> Int32+    {- ^ /@srcY@/: Source Y coordinate within /@window@/ -}+    -> Int32+    {- ^ /@width@/: Width in pixels of region to get -}+    -> Int32+    {- ^ /@height@/: Height in pixels of region to get -}+    -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)+    {- ^ __Returns:__ A newly-created pixbuf with a+    reference count of 1, or 'Nothing' on error -}+pixbufGetFromWindow window srcX srcY width height = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_pixbuf_get_from_window window' srcX srcY width height+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (wrapObject GdkPixbuf.Pixbuf.Pixbuf) result'+        return result''+    touchManagedPtr window+    return maybeResult+++-- function gdk_pixbuf_get_from_surface+-- Args : [Arg {argCName = "surface", argType = TInterface (Name {namespace = "cairo", name = "Surface"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "surface to copy from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Source X coordinate within @surface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Source Y coordinate within @surface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Width in pixels of region to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Height in pixels of region to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_pixbuf_get_from_surface" gdk_pixbuf_get_from_surface :: +    Ptr Cairo.Surface.Surface ->            -- surface : TInterface (Name {namespace = "cairo", name = "Surface"})+    Int32 ->                                -- src_x : TBasicType TInt+    Int32 ->                                -- src_y : TBasicType TInt+    Int32 ->                                -- width : TBasicType TInt+    Int32 ->                                -- height : TBasicType TInt+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)++{- |+Transfers image data from a 'GI.Cairo.Structs.Surface.Surface' and converts it to an RGB(A)+representation inside a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf'. This allows you to efficiently read+individual pixels from cairo surfaces. For @/GdkWindows/@, use+'GI.Gdk.Functions.pixbufGetFromWindow' instead.++This function will create an RGB pixbuf with 8 bits per channel.+The pixbuf will contain an alpha channel if the /@surface@/ contains one.+-}+pixbufGetFromSurface ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Cairo.Surface.Surface+    {- ^ /@surface@/: surface to copy from -}+    -> Int32+    {- ^ /@srcX@/: Source X coordinate within /@surface@/ -}+    -> Int32+    {- ^ /@srcY@/: Source Y coordinate within /@surface@/ -}+    -> Int32+    {- ^ /@width@/: Width in pixels of region to get -}+    -> Int32+    {- ^ /@height@/: Height in pixels of region to get -}+    -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)+    {- ^ __Returns:__ A newly-created pixbuf with a+    reference count of 1, or 'Nothing' on error -}+pixbufGetFromSurface surface srcX srcY width height = liftIO $ do+    surface' <- unsafeManagedPtrGetPtr surface+    result <- gdk_pixbuf_get_from_surface surface' srcX srcY width height+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (wrapObject GdkPixbuf.Pixbuf.Pixbuf) result'+        return result''+    touchManagedPtr surface+    return maybeResult+++-- function gdk_parse_args+-- Args : [Arg {argCName = "argc", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of command line arguments.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the array of command line arguments.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : [Arg {argCName = "argc", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of command line arguments.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_parse_args" gdk_parse_args :: +    Ptr Int32 ->                            -- argc : TBasicType TInt+    Ptr (Ptr CString) ->                    -- argv : TCArray False (-1) 0 (TBasicType TUTF8)+    IO ()++{- |+Parse command line arguments, and store for future+use by calls to 'GI.Gdk.Objects.Display.displayOpen'.++Any arguments used by GDK are removed from the array and /@argc@/ and /@argv@/ are+updated accordingly.++You shouldn’t call this function explicitly if you are using+@/gtk_init()/@, @/gtk_init_check()/@, 'GI.Gdk.Functions.init', or 'GI.Gdk.Functions.initCheck'.++/Since: 2.2/+-}+parseArgs ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    [T.Text]+    {- ^ /@argv@/: the array of command line arguments. -}+    -> 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_pango_context_get_for_screen+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkScreen for which the context is to be created.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "Context"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_pango_context_get_for_screen" gdk_pango_context_get_for_screen :: +    Ptr Gdk.Screen.Screen ->                -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    IO (Ptr Pango.Context.Context)++{- |+Creates a 'GI.Pango.Objects.Context.Context' for /@screen@/.++The context must be freed when you’re finished with it.++When using GTK+, normally you should use @/gtk_widget_get_pango_context()/@+instead of this function, to get the appropriate context for+the widget you intend to render text onto.++The newly created context will have the default font options+(see 'GI.Cairo.Structs.FontOptions.FontOptions') for the screen; if these options+change it will not be updated. Using @/gtk_widget_get_pango_context()/@+is more convenient if you want to keep a context around and track+changes to the screen’s font rendering settings.++/Since: 2.2/+-}+pangoContextGetForScreen ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Screen.IsScreen a) =>+    a+    {- ^ /@screen@/: the 'GI.Gdk.Objects.Screen.Screen' for which the context is to be created. -}+    -> m Pango.Context.Context+    {- ^ __Returns:__ a new 'GI.Pango.Objects.Context.Context' for /@screen@/ -}+pangoContextGetForScreen screen = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    result <- gdk_pango_context_get_for_screen screen'+    checkUnexpectedReturnNULL "pangoContextGetForScreen" result+    result' <- (wrapObject Pango.Context.Context) result+    touchManagedPtr screen+    return result'+++-- function gdk_pango_context_get_for_display+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkDisplay for which the context is to be created", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "Context"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_pango_context_get_for_display" gdk_pango_context_get_for_display :: +    Ptr Gdk.Display.Display ->              -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO (Ptr Pango.Context.Context)++{- |+Creates a 'GI.Pango.Objects.Context.Context' for /@display@/.++The context must be freed when you’re finished with it.++When using GTK+, normally you should use @/gtk_widget_get_pango_context()/@+instead of this function, to get the appropriate context for+the widget you intend to render text onto.++The newly created context will have the default font options+(see 'GI.Cairo.Structs.FontOptions.FontOptions') for the display; if these options+change it will not be updated. Using @/gtk_widget_get_pango_context()/@+is more convenient if you want to keep a context around and track+changes to the font rendering settings.++/Since: 3.22/+-}+pangoContextGetForDisplay ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Display.IsDisplay a) =>+    a+    {- ^ /@display@/: the 'GI.Gdk.Objects.Display.Display' for which the context is to be created -}+    -> m Pango.Context.Context+    {- ^ __Returns:__ a new 'GI.Pango.Objects.Context.Context' for /@display@/ -}+pangoContextGetForDisplay display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_pango_context_get_for_display display'+    checkUnexpectedReturnNULL "pangoContextGetForDisplay" result+    result' <- (wrapObject Pango.Context.Context) result+    touchManagedPtr display+    return result'+++-- function gdk_pango_context_get+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "Context"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_pango_context_get" gdk_pango_context_get :: +    IO (Ptr Pango.Context.Context)++{- |+Creates a 'GI.Pango.Objects.Context.Context' for the default GDK screen.++The context must be freed when you’re finished with it.++When using GTK+, normally you should use @/gtk_widget_get_pango_context()/@+instead of this function, to get the appropriate context for+the widget you intend to render text onto.++The newly created context will have the default font options (see+'GI.Cairo.Structs.FontOptions.FontOptions') for the default screen; if these options+change it will not be updated. Using @/gtk_widget_get_pango_context()/@+is more convenient if you want to keep a context around and track+changes to the screen’s font rendering settings.+-}+pangoContextGet ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m Pango.Context.Context+    {- ^ __Returns:__ a new 'GI.Pango.Objects.Context.Context' for the default display -}+pangoContextGet  = liftIO $ do+    result <- gdk_pango_context_get+    checkUnexpectedReturnNULL "pangoContextGet" result+    result' <- (wrapObject Pango.Context.Context) result+    return result'+++-- function gdk_offscreen_window_set_embedder+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "embedder", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkWindow that @window gets embedded in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_offscreen_window_set_embedder" gdk_offscreen_window_set_embedder :: +    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Window.Window ->                -- embedder : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Sets /@window@/ to be embedded in /@embedder@/.++To fully embed an offscreen window, in addition to calling this+function, it is also necessary to handle the 'GI.Gdk.Objects.Window.Window'::@/pick-embedded-child/@+signal on the /@embedder@/ and the 'GI.Gdk.Objects.Window.Window'::@/to-embedder/@ and+'GI.Gdk.Objects.Window.Window'::@/from-embedder/@ signals on /@window@/.++/Since: 2.18/+-}+offscreenWindowSetEmbedder ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Window.IsWindow a, Gdk.Window.IsWindow b) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> b+    {- ^ /@embedder@/: the 'GI.Gdk.Objects.Window.Window' that /@window@/ gets embedded in -}+    -> m ()+offscreenWindowSetEmbedder window embedder = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    embedder' <- unsafeManagedPtrCastPtr embedder+    gdk_offscreen_window_set_embedder window' embedder'+    touchManagedPtr window+    touchManagedPtr embedder+    return ()+++-- function gdk_offscreen_window_get_surface+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "cairo", name = "Surface"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_offscreen_window_get_surface" gdk_offscreen_window_get_surface :: +    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO (Ptr Cairo.Surface.Surface)++{- |+Gets the offscreen surface that an offscreen window renders into.+If you need to keep this around over window resizes, you need to+add a reference to it.+-}+offscreenWindowGetSurface ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Window.IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m (Maybe Cairo.Surface.Surface)+    {- ^ __Returns:__ The offscreen surface, or+  'Nothing' if not offscreen -}+offscreenWindowGetSurface window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_offscreen_window_get_surface window'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newBoxed Cairo.Surface.Surface) result'+        return result''+    touchManagedPtr window+    return maybeResult+++-- function gdk_offscreen_window_get_embedder+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_offscreen_window_get_embedder" gdk_offscreen_window_get_embedder :: +    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO (Ptr Gdk.Window.Window)++{- |+Gets the window that /@window@/ is embedded in.++/Since: 2.18/+-}+offscreenWindowGetEmbedder ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Window.IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m (Maybe Gdk.Window.Window)+    {- ^ __Returns:__ the embedding 'GI.Gdk.Objects.Window.Window', or+    'Nothing' if /@window@/ is not an mbedded offscreen window -}+offscreenWindowGetEmbedder window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_offscreen_window_get_embedder window'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Gdk.Window.Window) result'+        return result''+    touchManagedPtr window+    return maybeResult+++-- function gdk_notify_startup_complete_with_id+-- Args : [Arg {argCName = "startup_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a startup-notification identifier, for which\n    notification process should be completed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- 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 ()++{- |+Indicates to the GUI environment that the application has+finished loading, using a given identifier.++GTK+ will call this function automatically for @/GtkWindow/@+with custom startup-notification identifier unless+@/gtk_window_set_auto_startup_notification()/@ is called to+disable that feature.++/Since: 2.12/+-}+notifyStartupCompleteWithId ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@startupId@/: a startup-notification identifier, for which+    notification process should be completed -}+    -> m ()+notifyStartupCompleteWithId startupId = liftIO $ do+    startupId' <- textToCString startupId+    gdk_notify_startup_complete_with_id startupId'+    freeMem startupId'+    return ()+++-- function gdk_notify_startup_complete+-- Args : []+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_notify_startup_complete" gdk_notify_startup_complete :: +    IO ()++{- |+Indicates to the GUI environment that the application has finished+loading. If the applications opens windows, this function is+normally called after opening the application’s initial set of+windows.++GTK+ will call this function automatically after opening the first+@/GtkWindow/@ unless @/gtk_window_set_auto_startup_notification()/@ is called+to disable that feature.++/Since: 2.2/+-}+notifyStartupComplete ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m ()+notifyStartupComplete  = liftIO $ do+    gdk_notify_startup_complete+    return ()+++-- function gdk_list_visuals+-- Args : []+-- Lengths : []+-- returnType : Just (TGList (TInterface (Name {namespace = "Gdk", name = "Visual"})))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_list_visuals" gdk_list_visuals :: +    IO (Ptr (GList (Ptr Gdk.Visual.Visual)))++{-# DEPRECATED listVisuals ["(Since version 3.22)","Use gdk_screen_list_visuals (gdk_screen_get_default ())."] #-}+{- |+Lists the available visuals for the default screen.+(See 'GI.Gdk.Objects.Screen.screenListVisuals')+A visual describes a hardware image data format.+For example, a visual might support 24-bit color, or 8-bit color,+and might expect pixels to be in a certain format.++Call @/g_list_free()/@ on the return value when you’re finished with it.+-}+listVisuals ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m [Gdk.Visual.Visual]+    {- ^ __Returns:__ +    a list of visuals; the list must be freed, but not its contents -}+listVisuals  = liftIO $ do+    result <- gdk_list_visuals+    result' <- unpackGList result+    result'' <- mapM (newObject Gdk.Visual.Visual) result'+    g_list_free result+    return result''+++-- function gdk_keyval_to_upper+-- Args : [Arg {argCName = "keyval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keyval_to_upper" gdk_keyval_to_upper :: +    Word32 ->                               -- keyval : TBasicType TUInt+    IO Word32++{- |+Converts a key value to upper case, if applicable.+-}+keyvalToUpper ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Word32+    {- ^ /@keyval@/: a key value. -}+    -> m Word32+    {- ^ __Returns:__ the upper case form of /@keyval@/, or /@keyval@/ itself if it is already+  in upper case or it is not subject to case conversion. -}+keyvalToUpper keyval = liftIO $ do+    result <- gdk_keyval_to_upper keyval+    return result+++-- function gdk_keyval_to_unicode+-- Args : [Arg {argCName = "keyval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GDK key symbol", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUInt32)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keyval_to_unicode" gdk_keyval_to_unicode :: +    Word32 ->                               -- keyval : TBasicType TUInt+    IO Word32++{- |+Convert from a GDK key symbol to the corresponding ISO10646 (Unicode)+character.+-}+keyvalToUnicode ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Word32+    {- ^ /@keyval@/: a GDK key symbol -}+    -> m Word32+    {- ^ __Returns:__ the corresponding unicode character, or 0 if there+              is no corresponding character. -}+keyvalToUnicode keyval = liftIO $ do+    result <- gdk_keyval_to_unicode keyval+    return result+++-- function gdk_keyval_to_lower+-- Args : [Arg {argCName = "keyval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keyval_to_lower" gdk_keyval_to_lower :: +    Word32 ->                               -- keyval : TBasicType TUInt+    IO Word32++{- |+Converts a key value to lower case, if applicable.+-}+keyvalToLower ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Word32+    {- ^ /@keyval@/: a key value. -}+    -> m Word32+    {- ^ __Returns:__ the lower case form of /@keyval@/, or /@keyval@/ itself if it is already+ in lower case or it is not subject to case conversion. -}+keyvalToLower keyval = liftIO $ do+    result <- gdk_keyval_to_lower keyval+    return result+++-- function gdk_keyval_name+-- Args : [Arg {argCName = "keyval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keyval_name" gdk_keyval_name :: +    Word32 ->                               -- keyval : TBasicType TUInt+    IO CString++{- |+Converts a key value into a symbolic name.++The names are the same as those in the+@gdk\/gdkkeysyms.h@ header file+but without the leading “GDK_KEY_”.+-}+keyvalName ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Word32+    {- ^ /@keyval@/: a key value -}+    -> m (Maybe T.Text)+    {- ^ __Returns:__ a string containing the name+    of the key, or 'Nothing' if /@keyval@/ is not a valid key. The string+    should not be modified. -}+keyvalName keyval = liftIO $ do+    result <- gdk_keyval_name keyval+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- cstringToText result'+        return result''+    return maybeResult+++-- function gdk_keyval_is_upper+-- Args : [Arg {argCName = "keyval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keyval_is_upper" gdk_keyval_is_upper :: +    Word32 ->                               -- keyval : TBasicType TUInt+    IO CInt++{- |+Returns 'True' if the given key value is in upper case.+-}+keyvalIsUpper ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Word32+    {- ^ /@keyval@/: a key value. -}+    -> m Bool+    {- ^ __Returns:__ 'True' if /@keyval@/ is in upper case, or if /@keyval@/ is not subject to+ case conversion. -}+keyvalIsUpper keyval = liftIO $ do+    result <- gdk_keyval_is_upper keyval+    let result' = (/= 0) result+    return result'+++-- function gdk_keyval_is_lower+-- Args : [Arg {argCName = "keyval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keyval_is_lower" gdk_keyval_is_lower :: +    Word32 ->                               -- keyval : TBasicType TUInt+    IO CInt++{- |+Returns 'True' if the given key value is in lower case.+-}+keyvalIsLower ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Word32+    {- ^ /@keyval@/: a key value. -}+    -> m Bool+    {- ^ __Returns:__ 'True' if /@keyval@/ is in lower case, or if /@keyval@/ is not+  subject to case conversion. -}+keyvalIsLower keyval = liftIO $ do+    result <- gdk_keyval_is_lower keyval+    let result' = (/= 0) result+    return result'+++-- function gdk_keyval_from_name+-- Args : [Arg {argCName = "keyval_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keyval_from_name" gdk_keyval_from_name :: +    CString ->                              -- keyval_name : TBasicType TUTF8+    IO Word32++{- |+Converts a key name to a key value.++The names are the same as those in the+@gdk\/gdkkeysyms.h@ header file+but without the leading “GDK_KEY_”.+-}+keyvalFromName ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@keyvalName@/: a key name -}+    -> m Word32+    {- ^ __Returns:__ the corresponding key value, or 'GI.Gdk.Constants.KEY_VoidSymbol'+    if the key name is not a valid key -}+keyvalFromName keyvalName = liftIO $ do+    keyvalName' <- textToCString keyvalName+    result <- gdk_keyval_from_name keyvalName'+    freeMem keyvalName'+    return result+++-- function gdk_keyval_convert_case+-- Args : [Arg {argCName = "symbol", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a keyval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "lower", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for lowercase version of @symbol", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "upper", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for uppercase version of @symbol", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keyval_convert_case" gdk_keyval_convert_case :: +    Word32 ->                               -- symbol : TBasicType TUInt+    Ptr Word32 ->                           -- lower : TBasicType TUInt+    Ptr Word32 ->                           -- upper : TBasicType TUInt+    IO ()++{- |+Obtains the upper- and lower-case versions of the keyval /@symbol@/.+Examples of keyvals are 'GI.Gdk.Constants.KEY_a', @/GDK_KEY_Enter/@, 'GI.Gdk.Constants.KEY_F1', etc.+-}+keyvalConvertCase ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Word32+    {- ^ /@symbol@/: a keyval -}+    -> 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_keyboard_ungrab+-- Args : [Arg {argCName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a timestamp from a #GdkEvent, or %GDK_CURRENT_TIME if no\n       timestamp is available.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- 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 'GI.Gdk.Objects.Device.deviceUngrab', together with 'GI.Gdk.Objects.Device.deviceGrab'","            instead."] #-}+{- |+Ungrabs the keyboard on the default display, if it is grabbed by this+application.+-}+keyboardUngrab ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Word32+    {- ^ /@time_@/: a timestamp from a 'GI.Gdk.Unions.Event.Event', or 'GI.Gdk.Constants.CURRENT_TIME' if no+       timestamp is available. -}+    -> m ()+keyboardUngrab time_ = liftIO $ do+    gdk_keyboard_ungrab time_+    return ()+++-- function gdk_keyboard_grab+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkWindow which will own the grab (the grab window).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "owner_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if %FALSE then all keyboard events are reported with respect to\n  @window. If %TRUE then keyboard events for this application are\n  reported as normal, but keyboard events outside this application\n  are reported with respect to @window. Both key press and key\n  release events are always reported, independant of the event mask\n  set by the application.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a timestamp from a #GdkEvent, or %GDK_CURRENT_TIME if no timestamp is\n  available.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "GrabStatus"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keyboard_grab" gdk_keyboard_grab :: +    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CInt ->                                 -- owner_events : TBasicType TBoolean+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO CUInt++{-# DEPRECATED keyboardGrab ["(Since version 3.0)","Use 'GI.Gdk.Objects.Device.deviceGrab' instead."] #-}+{- |+Grabs the keyboard so that all events are passed to this+application until the keyboard is ungrabbed with 'GI.Gdk.Functions.keyboardUngrab'.+This overrides any previous keyboard grab by this client.++If you set up anything at the time you take the grab that needs to be cleaned+up when the grab ends, you should handle the 'GI.Gdk.Structs.EventGrabBroken.EventGrabBroken' events that+are emitted when the grab ends unvoluntarily.+-}+keyboardGrab ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Window.IsWindow a) =>+    a+    {- ^ /@window@/: the 'GI.Gdk.Objects.Window.Window' which will own the grab (the grab window). -}+    -> Bool+    {- ^ /@ownerEvents@/: if 'False' then all keyboard events are reported with respect to+  /@window@/. If 'True' then keyboard events for this application are+  reported as normal, but keyboard events outside this application+  are reported with respect to /@window@/. Both key press and key+  release events are always reported, independant of the event mask+  set by the application. -}+    -> Word32+    {- ^ /@time_@/: a timestamp from a 'GI.Gdk.Unions.Event.Event', or 'GI.Gdk.Constants.CURRENT_TIME' if no timestamp is+  available. -}+    -> m Gdk.Enums.GrabStatus+    {- ^ __Returns:__ 'GI.Gdk.Enums.GrabStatusSuccess' if the grab was successful. -}+keyboardGrab window ownerEvents time_ = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let ownerEvents' = (fromIntegral . fromEnum) ownerEvents+    result <- gdk_keyboard_grab window' ownerEvents' time_+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr window+    return result'+++-- function gdk_init_check+-- Args : [Arg {argCName = "argc", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of command line arguments.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the array of command line arguments.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : [Arg {argCName = "argc", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of command line arguments.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_init_check" gdk_init_check :: +    Ptr Int32 ->                            -- argc : TBasicType TInt+    Ptr (Ptr CString) ->                    -- argv : TCArray False (-1) 0 (TBasicType TUTF8)+    IO CInt++{- |+Initializes the GDK library and connects to the windowing system,+returning 'True' on success.++Any arguments used by GDK are removed from the array and /@argc@/ and /@argv@/+are updated accordingly.++GTK+ initializes GDK in @/gtk_init()/@ and so this function is not usually+needed by GTK+ applications.+-}+initCheck ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    [T.Text]+    {- ^ /@argv@/: the array of command line arguments. -}+    -> m ((Bool, [T.Text]))+    {- ^ __Returns:__ 'True' if initialization succeeded. -}+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_init+-- Args : [Arg {argCName = "argc", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of command line arguments.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the array of command line arguments.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : [Arg {argCName = "argc", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of command line arguments.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_init" gdk_init :: +    Ptr Int32 ->                            -- argc : TBasicType TInt+    Ptr (Ptr CString) ->                    -- argv : TCArray False (-1) 0 (TBasicType TUTF8)+    IO ()++{- |+Initializes the GDK library and connects to the windowing system.+If initialization fails, a warning message is output and the application+terminates with a call to @exit(1)@.++Any arguments used by GDK are removed from the array and /@argc@/ and /@argv@/+are updated accordingly.++GTK+ initializes GDK in @/gtk_init()/@ and so this function is not usually+needed by GTK+ applications.+-}+init ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    [T.Text]+    {- ^ /@argv@/: the array of command line arguments. -}+    -> 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_get_show_events+-- Args : []+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_get_show_events" gdk_get_show_events :: +    IO CInt++{- |+Gets whether event debugging output is enabled.+-}+getShowEvents ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m Bool+    {- ^ __Returns:__ 'True' if event debugging output is enabled. -}+getShowEvents  = liftIO $ do+    result <- gdk_get_show_events+    let result' = (/= 0) result+    return result'+++-- function gdk_get_program_class+-- Args : []+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_get_program_class" gdk_get_program_class :: +    IO CString++{- |+Gets the program class. Unless the program class has explicitly+been set with 'GI.Gdk.Functions.setProgramClass' or with the @--class@+commandline option, the default value is the program name (determined+with 'GI.GLib.Functions.getPrgname') with the first character converted to uppercase.+-}+getProgramClass ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m T.Text+    {- ^ __Returns:__ the program class. -}+getProgramClass  = liftIO $ do+    result <- gdk_get_program_class+    checkUnexpectedReturnNULL "getProgramClass" result+    result' <- cstringToText result+    return result'+++-- function gdk_get_display_arg_name+-- Args : []+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_get_display_arg_name" gdk_get_display_arg_name :: +    IO CString++{- |+Gets the display name specified in the command line arguments passed+to 'GI.Gdk.Functions.init' or 'GI.Gdk.Functions.parseArgs', if any.++/Since: 2.2/+-}+getDisplayArgName ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m (Maybe T.Text)+    {- ^ __Returns:__ the display name, if specified explicitly,+  otherwise 'Nothing' this string is owned by GTK+ and must not be+  modified or freed. -}+getDisplayArgName  = liftIO $ do+    result <- gdk_get_display_arg_name+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- cstringToText result'+        return result''+    return maybeResult+++-- function gdk_get_display+-- Args : []+-- Lengths : []+-- returnType : Just (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."] #-}+{- |+Gets the name of the display, which usually comes from the+@DISPLAY@ environment variable or the+@--display@ command line option.+-}+getDisplay ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m T.Text+    {- ^ __Returns:__ the name of the display. -}+getDisplay  = liftIO $ do+    result <- gdk_get_display+    checkUnexpectedReturnNULL "getDisplay" result+    result' <- cstringToText result+    freeMem result+    return result'+++-- function gdk_get_default_root_window+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_get_default_root_window" gdk_get_default_root_window :: +    IO (Ptr Gdk.Window.Window)++{- |+Obtains the root window (parent all other windows are inside)+for the default display and screen.+-}+getDefaultRootWindow ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m Gdk.Window.Window+    {- ^ __Returns:__ the default root window -}+getDefaultRootWindow  = liftIO $ do+    result <- gdk_get_default_root_window+    checkUnexpectedReturnNULL "getDefaultRootWindow" result+    result' <- (newObject Gdk.Window.Window) result+    return result'+++-- function gdk_flush+-- Args : []+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_flush" gdk_flush :: +    IO ()++{- |+Flushes the output buffers of all display connections and waits+until all requests have been processed.+This is rarely needed by applications.+-}+flush ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m ()+flush  = liftIO $ do+    gdk_flush+    return ()+++-- function gdk_events_pending+-- Args : []+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_events_pending" gdk_events_pending :: +    IO CInt++{- |+Checks if any events are ready to be processed for any display.+-}+eventsPending ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m Bool+    {- ^ __Returns:__ 'True' if any events are pending. -}+eventsPending  = liftIO $ do+    result <- gdk_events_pending+    let result' = (/= 0) result+    return result'+++-- function gdk_events_get_distance+-- Args : [Arg {argCName = "event1", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "first #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event2", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "second #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "distance", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the distance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_events_get_distance" gdk_events_get_distance :: +    Ptr Gdk.Event.Event ->                  -- event1 : TInterface (Name {namespace = "Gdk", name = "Event"})+    Ptr Gdk.Event.Event ->                  -- event2 : TInterface (Name {namespace = "Gdk", name = "Event"})+    Ptr CDouble ->                          -- distance : TBasicType TDouble+    IO CInt++{- |+If both events have X\/Y information, the distance between both coordinates+(as in a straight line going from /@event1@/ to /@event2@/) will be returned.++/Since: 3.0/+-}+eventsGetDistance ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Gdk.Event.Event+    {- ^ /@event1@/: first 'GI.Gdk.Unions.Event.Event' -}+    -> Gdk.Event.Event+    {- ^ /@event2@/: second 'GI.Gdk.Unions.Event.Event' -}+    -> m ((Bool, Double))+    {- ^ __Returns:__ 'True' if the distance could be calculated. -}+eventsGetDistance event1 event2 = liftIO $ do+    event1' <- unsafeManagedPtrGetPtr event1+    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_get_center+-- Args : [Arg {argCName = "event1", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "first #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event2", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "second #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the X coordinate of the center", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the Y coordinate of the center", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_events_get_center" gdk_events_get_center :: +    Ptr Gdk.Event.Event ->                  -- event1 : TInterface (Name {namespace = "Gdk", name = "Event"})+    Ptr Gdk.Event.Event ->                  -- event2 : TInterface (Name {namespace = "Gdk", name = "Event"})+    Ptr CDouble ->                          -- x : TBasicType TDouble+    Ptr CDouble ->                          -- y : TBasicType TDouble+    IO CInt++{- |+If both events contain X\/Y information, the center of both coordinates+will be returned in /@x@/ and /@y@/.++/Since: 3.0/+-}+eventsGetCenter ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Gdk.Event.Event+    {- ^ /@event1@/: first 'GI.Gdk.Unions.Event.Event' -}+    -> Gdk.Event.Event+    {- ^ /@event2@/: second 'GI.Gdk.Unions.Event.Event' -}+    -> m ((Bool, Double, Double))+    {- ^ __Returns:__ 'True' if the center could be calculated. -}+eventsGetCenter event1 event2 = liftIO $ do+    event1' <- unsafeManagedPtrGetPtr event1+    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_angle+-- Args : [Arg {argCName = "event1", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "first #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event2", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "second #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "angle", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the relative angle between both events", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_events_get_angle" gdk_events_get_angle :: +    Ptr Gdk.Event.Event ->                  -- event1 : TInterface (Name {namespace = "Gdk", name = "Event"})+    Ptr Gdk.Event.Event ->                  -- event2 : TInterface (Name {namespace = "Gdk", name = "Event"})+    Ptr CDouble ->                          -- angle : TBasicType TDouble+    IO CInt++{- |+If both events contain X\/Y information, this function will return 'True'+and return in /@angle@/ the relative angle from /@event1@/ to /@event2@/. The rotation+direction for positive angles is from the positive X axis towards the positive+Y axis.++/Since: 3.0/+-}+eventsGetAngle ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Gdk.Event.Event+    {- ^ /@event1@/: first 'GI.Gdk.Unions.Event.Event' -}+    -> Gdk.Event.Event+    {- ^ /@event2@/: second 'GI.Gdk.Unions.Event.Event' -}+    -> m ((Bool, Double))+    {- ^ __Returns:__ 'True' if the angle could be calculated. -}+eventsGetAngle event1 event2 = liftIO $ do+    event1' <- unsafeManagedPtrGetPtr event1+    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_error_trap_push+-- Args : []+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_error_trap_push" gdk_error_trap_push :: +    IO ()++{- |+This function allows X errors to be trapped instead of the normal+behavior of exiting the application. It should only be used if it+is not possible to avoid the X error in any other way. Errors are+ignored on all 'GI.Gdk.Objects.Display.Display' currently known to the+'GI.Gdk.Objects.DisplayManager.DisplayManager'. If you don’t care which error happens and just+want to ignore everything, pop with 'GI.Gdk.Functions.errorTrapPopIgnored'.+If you need the error code, use 'GI.Gdk.Functions.errorTrapPop' which may have+to block and wait for the error to arrive from the X server.++This API exists on all platforms but only does anything on X.++You can use @/gdk_x11_display_error_trap_push()/@ to ignore errors+on only a single display.++== Trapping an X error+++=== /C code/+>+>gdk_error_trap_push ();+>+> // ... Call the X function which may cause an error here ...+>+>+>if (gdk_error_trap_pop ())+> {+>   // ... Handle the error here ...+> }+-}+errorTrapPush ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m ()+errorTrapPush  = liftIO $ do+    gdk_error_trap_push+    return ()+++-- function gdk_error_trap_pop_ignored+-- Args : []+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_error_trap_pop_ignored" gdk_error_trap_pop_ignored :: +    IO ()++{- |+Removes an error trap pushed with 'GI.Gdk.Functions.errorTrapPush', but+without bothering to wait and see whether an error occurred.  If an+error arrives later asynchronously that was triggered while the+trap was pushed, that error will be ignored.++/Since: 3.0/+-}+errorTrapPopIgnored ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m ()+errorTrapPopIgnored  = liftIO $ do+    gdk_error_trap_pop_ignored+    return ()+++-- function gdk_error_trap_pop+-- Args : []+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_error_trap_pop" gdk_error_trap_pop :: +    IO Int32++{- |+Removes an error trap pushed with 'GI.Gdk.Functions.errorTrapPush'.+May block until an error has been definitively received+or not received from the X server. 'GI.Gdk.Functions.errorTrapPopIgnored'+is preferred if you don’t need to know whether an error+occurred, because it never has to block. If you don\'t+need the return value of 'GI.Gdk.Functions.errorTrapPop', use+'GI.Gdk.Functions.errorTrapPopIgnored'.++Prior to GDK 3.0, this function would not automatically+sync for you, so you had to 'GI.Gdk.Functions.flush' if your last+call to Xlib was not a blocking round trip.+-}+errorTrapPop ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m Int32+    {- ^ __Returns:__ X error code or 0 on success -}+errorTrapPop  = liftIO $ do+    result <- gdk_error_trap_pop+    return result+++-- function gdk_drop_reply+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDragContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accepted", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the drop is accepted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the timestamp for this operation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drop_reply" gdk_drop_reply :: +    Ptr Gdk.DragContext.DragContext ->      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})+    CInt ->                                 -- accepted : TBasicType TBoolean+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO ()++{- |+Accepts or rejects a drop.++This function is called by the drag destination in response+to a drop initiated by the drag source.+-}+dropReply ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.DragContext.IsDragContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.DragContext.DragContext' -}+    -> Bool+    {- ^ /@accepted@/: 'True' if the drop is accepted -}+    -> Word32+    {- ^ /@time_@/: the timestamp for this operation -}+    -> m ()+dropReply context accepted time_ = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    let accepted' = (fromIntegral . fromEnum) accepted+    gdk_drop_reply context' accepted' time_+    touchManagedPtr context+    return ()+++-- function gdk_drop_finish+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDragContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "success", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the data was successfully received", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the timestamp for this operation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drop_finish" gdk_drop_finish :: +    Ptr Gdk.DragContext.DragContext ->      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})+    CInt ->                                 -- success : TBasicType TBoolean+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO ()++{- |+Ends the drag operation after a drop.++This function is called by the drag destination.+-}+dropFinish ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.DragContext.IsDragContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.DragContext.DragContext' -}+    -> Bool+    {- ^ /@success@/: 'True' if the data was successfully received -}+    -> Word32+    {- ^ /@time_@/: the timestamp for this operation -}+    -> m ()+dropFinish context success time_ = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    let success' = (fromIntegral . fromEnum) success+    gdk_drop_finish context' success' time_+    touchManagedPtr context+    return ()+++-- function gdk_drag_status+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDragContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action", argType = TInterface (Name {namespace = "Gdk", name = "DragAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the selected action which will be taken when a drop happens,\n   or 0 to indicate that a drop will not be accepted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the timestamp for this operation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_status" gdk_drag_status :: +    Ptr Gdk.DragContext.DragContext ->      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})+    CUInt ->                                -- action : TInterface (Name {namespace = "Gdk", name = "DragAction"})+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO ()++{- |+Selects one of the actions offered by the drag source.++This function is called by the drag destination in response to+'GI.Gdk.Functions.dragMotion' called by the drag source.+-}+dragStatus ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.DragContext.IsDragContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.DragContext.DragContext' -}+    -> [Gdk.Flags.DragAction]+    {- ^ /@action@/: the selected action which will be taken when a drop happens,+   or 0 to indicate that a drop will not be accepted -}+    -> Word32+    {- ^ /@time_@/: the timestamp for this operation -}+    -> m ()+dragStatus context action time_ = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    let action' = gflagsToWord action+    gdk_drag_status context' action' time_+    touchManagedPtr context+    return ()+++-- function gdk_drag_motion+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDragContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new destination window, obtained by\n    gdk_drag_find_window()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "protocol", argType = TInterface (Name {namespace = "Gdk", name = "DragProtocol"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the DND protocol in use, obtained by gdk_drag_find_window()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x_root", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the x position of the pointer in root coordinates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y_root", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the y position of the pointer in root coordinates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "suggested_action", argType = TInterface (Name {namespace = "Gdk", name = "DragAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the suggested action", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "possible_actions", argType = TInterface (Name {namespace = "Gdk", name = "DragAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the possible actions", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the timestamp for this operation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_motion" gdk_drag_motion :: +    Ptr Gdk.DragContext.DragContext ->      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})+    Ptr Gdk.Window.Window ->                -- dest_window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CUInt ->                                -- protocol : TInterface (Name {namespace = "Gdk", name = "DragProtocol"})+    Int32 ->                                -- x_root : TBasicType TInt+    Int32 ->                                -- y_root : TBasicType TInt+    CUInt ->                                -- suggested_action : TInterface (Name {namespace = "Gdk", name = "DragAction"})+    CUInt ->                                -- possible_actions : TInterface (Name {namespace = "Gdk", name = "DragAction"})+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO CInt++{- |+Updates the drag context when the pointer moves or the+set of actions changes.++This function is called by the drag source.++This function does not need to be called in managed drag and drop+operations. See 'GI.Gdk.Objects.DragContext.dragContextManageDnd' for more information.+-}+dragMotion ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.DragContext.IsDragContext a, Gdk.Window.IsWindow b) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.DragContext.DragContext' -}+    -> b+    {- ^ /@destWindow@/: the new destination window, obtained by+    @/gdk_drag_find_window()/@ -}+    -> Gdk.Enums.DragProtocol+    {- ^ /@protocol@/: the DND protocol in use, obtained by @/gdk_drag_find_window()/@ -}+    -> Int32+    {- ^ /@xRoot@/: the x position of the pointer in root coordinates -}+    -> Int32+    {- ^ /@yRoot@/: the y position of the pointer in root coordinates -}+    -> [Gdk.Flags.DragAction]+    {- ^ /@suggestedAction@/: the suggested action -}+    -> [Gdk.Flags.DragAction]+    {- ^ /@possibleActions@/: the possible actions -}+    -> Word32+    {- ^ /@time_@/: the timestamp for this operation -}+    -> m Bool+dragMotion context destWindow protocol xRoot yRoot suggestedAction possibleActions time_ = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    destWindow' <- unsafeManagedPtrCastPtr destWindow+    let protocol' = (fromIntegral . fromEnum) protocol+    let suggestedAction' = gflagsToWord suggestedAction+    let possibleActions' = gflagsToWord possibleActions+    result <- gdk_drag_motion context' destWindow' protocol' xRoot yRoot suggestedAction' possibleActions' time_+    let result' = (/= 0) result+    touchManagedPtr context+    touchManagedPtr destWindow+    return result'+++-- function gdk_drag_get_selection+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDragContext.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Atom"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_get_selection" gdk_drag_get_selection :: +    Ptr Gdk.DragContext.DragContext ->      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})+    IO (Ptr Gdk.Atom.Atom)++{- |+Returns the selection atom for the current source window.+-}+dragGetSelection ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.DragContext.IsDragContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.DragContext.DragContext'. -}+    -> m Gdk.Atom.Atom+    {- ^ __Returns:__ the selection atom, or @/GDK_NONE/@ -}+dragGetSelection context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    result <- gdk_drag_get_selection context'+    checkUnexpectedReturnNULL "dragGetSelection" result+    result' <- (newPtr Gdk.Atom.Atom) result+    touchManagedPtr context+    return result'+++-- function gdk_drag_find_window_for_screen+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDragContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "drag_window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a window which may be at the pointer position, but\n    should be ignored, since it is put up by the drag source as an icon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the screen where the destination window is sought", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x_root", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the x position of the pointer in root coordinates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y_root", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the y position of the pointer in root coordinates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the destination window in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "protocol", argType = TInterface (Name {namespace = "Gdk", name = "DragProtocol"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the DND protocol in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_find_window_for_screen" gdk_drag_find_window_for_screen :: +    Ptr Gdk.DragContext.DragContext ->      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})+    Ptr Gdk.Window.Window ->                -- drag_window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Screen.Screen ->                -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    Int32 ->                                -- x_root : TBasicType TInt+    Int32 ->                                -- y_root : TBasicType TInt+    Ptr (Ptr Gdk.Window.Window) ->          -- dest_window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr CUInt ->                            -- protocol : TInterface (Name {namespace = "Gdk", name = "DragProtocol"})+    IO ()++{- |+Finds the destination window and DND protocol to use at the+given pointer position.++This function is called by the drag source to obtain the+/@destWindow@/ and /@protocol@/ parameters for 'GI.Gdk.Functions.dragMotion'.++/Since: 2.2/+-}+dragFindWindowForScreen ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.DragContext.IsDragContext a, Gdk.Window.IsWindow b, Gdk.Screen.IsScreen c) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.DragContext.DragContext' -}+    -> b+    {- ^ /@dragWindow@/: a window which may be at the pointer position, but+    should be ignored, since it is put up by the drag source as an icon -}+    -> c+    {- ^ /@screen@/: the screen where the destination window is sought -}+    -> Int32+    {- ^ /@xRoot@/: the x position of the pointer in root coordinates -}+    -> Int32+    {- ^ /@yRoot@/: the y position of the pointer in root coordinates -}+    -> m ((Gdk.Window.Window, Gdk.Enums.DragProtocol))+dragFindWindowForScreen context dragWindow screen xRoot yRoot = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    dragWindow' <- unsafeManagedPtrCastPtr dragWindow+    screen' <- unsafeManagedPtrCastPtr screen+    destWindow <- allocMem :: IO (Ptr (Ptr Gdk.Window.Window))+    protocol <- allocMem :: IO (Ptr CUInt)+    gdk_drag_find_window_for_screen context' dragWindow' screen' xRoot yRoot destWindow protocol+    destWindow' <- peek destWindow+    destWindow'' <- (wrapObject Gdk.Window.Window) destWindow'+    protocol' <- peek protocol+    let protocol'' = (toEnum . fromIntegral) protocol'+    touchManagedPtr context+    touchManagedPtr dragWindow+    touchManagedPtr screen+    freeMem destWindow+    freeMem protocol+    return (destWindow'', protocol'')+++-- function gdk_drag_drop_succeeded+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDragContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_drop_succeeded" gdk_drag_drop_succeeded :: +    Ptr Gdk.DragContext.DragContext ->      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})+    IO CInt++{- |+Returns whether the dropped data has been successfully+transferred. This function is intended to be used while+handling a 'GI.Gdk.Enums.EventTypeDropFinished' event, its return value is+meaningless at other times.++/Since: 2.6/+-}+dragDropSucceeded ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.DragContext.IsDragContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.DragContext.DragContext' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the drop was successful. -}+dragDropSucceeded context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    result <- gdk_drag_drop_succeeded context'+    let result' = (/= 0) result+    touchManagedPtr context+    return result'+++-- function gdk_drag_drop_done+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDragContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "success", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the drag was ultimatively successful", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_drop_done" gdk_drag_drop_done :: +    Ptr Gdk.DragContext.DragContext ->      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})+    CInt ->                                 -- success : TBasicType TBoolean+    IO ()++{- |+Inform GDK if the drop ended successfully. Passing 'False'+for /@success@/ may trigger a drag cancellation animation.++This function is called by the drag source, and should+be the last call before dropping the reference to the+/@context@/.++The 'GI.Gdk.Objects.DragContext.DragContext' will only take the first 'GI.Gdk.Functions.dragDropDone'+call as effective, if this function is called multiple times,+all subsequent calls will be ignored.++/Since: 3.20/+-}+dragDropDone ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.DragContext.IsDragContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.DragContext.DragContext' -}+    -> Bool+    {- ^ /@success@/: whether the drag was ultimatively successful -}+    -> m ()+dragDropDone context success = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    let success' = (fromIntegral . fromEnum) success+    gdk_drag_drop_done context' success'+    touchManagedPtr context+    return ()+++-- function gdk_drag_drop+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDragContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the timestamp for this operation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_drop" gdk_drag_drop :: +    Ptr Gdk.DragContext.DragContext ->      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO ()++{- |+Drops on the current destination.++This function is called by the drag source.++This function does not need to be called in managed drag and drop+operations. See 'GI.Gdk.Objects.DragContext.dragContextManageDnd' for more information.+-}+dragDrop ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.DragContext.IsDragContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.DragContext.DragContext' -}+    -> Word32+    {- ^ /@time_@/: the timestamp for this operation -}+    -> m ()+dragDrop context time_ = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    gdk_drag_drop context' time_+    touchManagedPtr context+    return ()+++-- function gdk_drag_begin_from_point+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source window for this drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the device that controls this drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "targets", argType = TGList (TInterface (Name {namespace = "Gdk", name = "Atom"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the offered targets,\n    as list of #GdkAtoms", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x_root", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the x coordinate where the drag nominally started", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y_root", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the y coordinate where the drag nominally started", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "DragContext"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_begin_from_point" gdk_drag_begin_from_point :: +    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Device.Device ->                -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    Ptr (GList (Ptr Gdk.Atom.Atom)) ->      -- targets : TGList (TInterface (Name {namespace = "Gdk", name = "Atom"}))+    Int32 ->                                -- x_root : TBasicType TInt+    Int32 ->                                -- y_root : TBasicType TInt+    IO (Ptr Gdk.DragContext.DragContext)++{- |+Starts a drag and creates a new drag context for it.++This function is called by the drag source.++/Since: 3.20/+-}+dragBeginFromPoint ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Window.IsWindow a, Gdk.Device.IsDevice b) =>+    a+    {- ^ /@window@/: the source window for this drag -}+    -> b+    {- ^ /@device@/: the device that controls this drag -}+    -> [Gdk.Atom.Atom]+    {- ^ /@targets@/: the offered targets,+    as list of @/GdkAtoms/@ -}+    -> Int32+    {- ^ /@xRoot@/: the x coordinate where the drag nominally started -}+    -> Int32+    {- ^ /@yRoot@/: the y coordinate where the drag nominally started -}+    -> m Gdk.DragContext.DragContext+    {- ^ __Returns:__ a newly created 'GI.Gdk.Objects.DragContext.DragContext' -}+dragBeginFromPoint window device targets xRoot yRoot = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    device' <- unsafeManagedPtrCastPtr device+    targets' <- mapM unsafeManagedPtrGetPtr targets+    targets'' <- packGList targets'+    result <- gdk_drag_begin_from_point window' device' targets'' xRoot yRoot+    checkUnexpectedReturnNULL "dragBeginFromPoint" result+    result' <- (wrapObject Gdk.DragContext.DragContext) result+    touchManagedPtr window+    touchManagedPtr device+    mapM_ touchManagedPtr targets+    g_list_free targets''+    return result'+++-- function gdk_drag_begin_for_device+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source window for this drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the device that controls this drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "targets", argType = TGList (TInterface (Name {namespace = "Gdk", name = "Atom"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the offered targets,\n    as list of #GdkAtoms", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "DragContext"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_begin_for_device" gdk_drag_begin_for_device :: +    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Device.Device ->                -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    Ptr (GList (Ptr Gdk.Atom.Atom)) ->      -- targets : TGList (TInterface (Name {namespace = "Gdk", name = "Atom"}))+    IO (Ptr Gdk.DragContext.DragContext)++{- |+Starts a drag and creates a new drag context for it.++This function is called by the drag source.+-}+dragBeginForDevice ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Window.IsWindow a, Gdk.Device.IsDevice b) =>+    a+    {- ^ /@window@/: the source window for this drag -}+    -> b+    {- ^ /@device@/: the device that controls this drag -}+    -> [Gdk.Atom.Atom]+    {- ^ /@targets@/: the offered targets,+    as list of @/GdkAtoms/@ -}+    -> m Gdk.DragContext.DragContext+    {- ^ __Returns:__ a newly created 'GI.Gdk.Objects.DragContext.DragContext' -}+dragBeginForDevice window device targets = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    device' <- unsafeManagedPtrCastPtr device+    targets' <- mapM unsafeManagedPtrGetPtr targets+    targets'' <- packGList targets'+    result <- gdk_drag_begin_for_device window' device' targets''+    checkUnexpectedReturnNULL "dragBeginForDevice" result+    result' <- (wrapObject Gdk.DragContext.DragContext) result+    touchManagedPtr window+    touchManagedPtr device+    mapM_ touchManagedPtr targets+    g_list_free targets''+    return result'+++-- function gdk_drag_begin+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source window for this drag.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "targets", argType = TGList (TInterface (Name {namespace = "Gdk", name = "Atom"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the offered targets,\n    as list of #GdkAtoms", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "DragContext"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_begin" gdk_drag_begin :: +    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr (GList (Ptr Gdk.Atom.Atom)) ->      -- targets : TGList (TInterface (Name {namespace = "Gdk", name = "Atom"}))+    IO (Ptr Gdk.DragContext.DragContext)++{- |+Starts a drag and creates a new drag context for it.+This function assumes that the drag is controlled by the+client pointer device, use 'GI.Gdk.Functions.dragBeginForDevice' to+begin a drag with a different device.++This function is called by the drag source.+-}+dragBegin ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Window.IsWindow a) =>+    a+    {- ^ /@window@/: the source window for this drag. -}+    -> [Gdk.Atom.Atom]+    {- ^ /@targets@/: the offered targets,+    as list of @/GdkAtoms/@ -}+    -> m Gdk.DragContext.DragContext+    {- ^ __Returns:__ a newly created 'GI.Gdk.Objects.DragContext.DragContext' -}+dragBegin window targets = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    targets' <- mapM unsafeManagedPtrGetPtr targets+    targets'' <- packGList targets'+    result <- gdk_drag_begin window' targets''+    checkUnexpectedReturnNULL "dragBegin" result+    result' <- (wrapObject Gdk.DragContext.DragContext) result+    touchManagedPtr window+    mapM_ touchManagedPtr targets+    g_list_free targets''+    return result'+++-- function gdk_drag_abort+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDragContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the timestamp for this operation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_abort" gdk_drag_abort :: +    Ptr Gdk.DragContext.DragContext ->      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO ()++{- |+Aborts a drag without dropping.++This function is called by the drag source.++This function does not need to be called in managed drag and drop+operations. See 'GI.Gdk.Objects.DragContext.dragContextManageDnd' for more information.+-}+dragAbort ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.DragContext.IsDragContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.DragContext.DragContext' -}+    -> Word32+    {- ^ /@time_@/: the timestamp for this operation -}+    -> m ()+dragAbort context time_ = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    gdk_drag_abort context' time_+    touchManagedPtr context+    return ()+++-- function gdk_disable_multidevice+-- Args : []+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_disable_multidevice" gdk_disable_multidevice :: +    IO ()++{- |+Disables multidevice support in GDK. This call must happen prior+to 'GI.Gdk.Objects.Display.displayOpen', @/gtk_init()/@, @/gtk_init_with_args()/@ or+@/gtk_init_check()/@ in order to take effect.++Most common GTK+ applications won’t ever need to call this. Only+applications that do mixed GDK\/Xlib calls could want to disable+multidevice support if such Xlib code deals with input devices in+any way and doesn’t observe the presence of XInput 2.++/Since: 3.0/+-}+disableMultidevice ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m ()+disableMultidevice  = liftIO $ do+    gdk_disable_multidevice+    return ()+++-- function gdk_cairo_surface_create_from_pixbuf+-- Args : [Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkPixbuf", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scale", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the scale of the new surface, or 0 to use same as @window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "for_window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The window this will be drawn to, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "cairo", name = "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 ->          -- pixbuf : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})+    Int32 ->                                -- scale : TBasicType TInt+    Ptr Gdk.Window.Window ->                -- for_window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO (Ptr Cairo.Surface.Surface)++{- |+Creates an image surface with the same contents as+the pixbuf.++/Since: 3.10/+-}+cairoSurfaceCreateFromPixbuf ::+    (B.CallStack.HasCallStack, MonadIO m, GdkPixbuf.Pixbuf.IsPixbuf a, Gdk.Window.IsWindow b) =>+    a+    {- ^ /@pixbuf@/: a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' -}+    -> Int32+    {- ^ /@scale@/: the scale of the new surface, or 0 to use same as /@window@/ -}+    -> Maybe (b)+    {- ^ /@forWindow@/: The window this will be drawn to, or 'Nothing' -}+    -> m Cairo.Surface.Surface+    {- ^ __Returns:__ a new cairo surface, must be freed with @/cairo_surface_destroy()/@ -}+cairoSurfaceCreateFromPixbuf pixbuf scale forWindow = liftIO $ do+    pixbuf' <- unsafeManagedPtrCastPtr pixbuf+    maybeForWindow <- case forWindow of+        Nothing -> return nullPtr+        Just jForWindow -> do+            jForWindow' <- unsafeManagedPtrCastPtr jForWindow+            return jForWindow'+    result <- gdk_cairo_surface_create_from_pixbuf pixbuf' scale maybeForWindow+    checkUnexpectedReturnNULL "cairoSurfaceCreateFromPixbuf" result+    result' <- (wrapBoxed Cairo.Surface.Surface) result+    touchManagedPtr pixbuf+    whenJust forWindow touchManagedPtr+    return result'+++-- function gdk_cairo_set_source_window+-- Args : [Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a cairo context", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X coordinate of location to place upper left corner of @window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y coordinate of location to place upper left corner of @window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cairo_set_source_window" gdk_cairo_set_source_window :: +    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})+    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CDouble ->                              -- x : TBasicType TDouble+    CDouble ->                              -- y : TBasicType TDouble+    IO ()++{- |+Sets the given window as the source pattern for /@cr@/.++The pattern has an extend mode of 'GI.Cairo.Enums.ExtendNone' and is aligned+so that the origin of /@window@/ is /@x@/, /@y@/. The window contains all its+subwindows when rendering.++Note that the contents of /@window@/ are undefined outside of the+visible part of /@window@/, so use this function with care.++/Since: 2.24/+-}+cairoSetSourceWindow ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Window.IsWindow a) =>+    Cairo.Context.Context+    {- ^ /@cr@/: a cairo context -}+    -> a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Double+    {- ^ /@x@/: X coordinate of location to place upper left corner of /@window@/ -}+    -> Double+    {- ^ /@y@/: Y coordinate of location to place upper left corner of /@window@/ -}+    -> m ()+cairoSetSourceWindow cr window x y = liftIO $ do+    cr' <- unsafeManagedPtrGetPtr cr+    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_set_source_rgba+-- Args : [Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a cairo context", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rgba", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRGBA", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cairo_set_source_rgba" gdk_cairo_set_source_rgba :: +    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})+    Ptr Gdk.RGBA.RGBA ->                    -- rgba : TInterface (Name {namespace = "Gdk", name = "RGBA"})+    IO ()++{- |+Sets the specified 'GI.Gdk.Structs.RGBA.RGBA' as the source color of /@cr@/.++/Since: 3.0/+-}+cairoSetSourceRgba ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Cairo.Context.Context+    {- ^ /@cr@/: a cairo context -}+    -> Gdk.RGBA.RGBA+    {- ^ /@rgba@/: a 'GI.Gdk.Structs.RGBA.RGBA' -}+    -> m ()+cairoSetSourceRgba cr rgba = liftIO $ do+    cr' <- unsafeManagedPtrGetPtr cr+    rgba' <- unsafeManagedPtrGetPtr rgba+    gdk_cairo_set_source_rgba cr' rgba'+    touchManagedPtr cr+    touchManagedPtr rgba+    return ()+++-- function gdk_cairo_set_source_pixbuf+-- Args : [Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a cairo context", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkPixbuf", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf_x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X coordinate of location to place upper left corner of @pixbuf", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf_y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y coordinate of location to place upper left corner of @pixbuf", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cairo_set_source_pixbuf" gdk_cairo_set_source_pixbuf :: +    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- pixbuf : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})+    CDouble ->                              -- pixbuf_x : TBasicType TDouble+    CDouble ->                              -- pixbuf_y : TBasicType TDouble+    IO ()++{- |+Sets the given pixbuf as the source pattern for /@cr@/.++The pattern has an extend mode of 'GI.Cairo.Enums.ExtendNone' and is aligned+so that the origin of /@pixbuf@/ is /@pixbufX@/, /@pixbufY@/.++/Since: 2.8/+-}+cairoSetSourcePixbuf ::+    (B.CallStack.HasCallStack, MonadIO m, GdkPixbuf.Pixbuf.IsPixbuf a) =>+    Cairo.Context.Context+    {- ^ /@cr@/: a cairo context -}+    -> a+    {- ^ /@pixbuf@/: a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' -}+    -> Double+    {- ^ /@pixbufX@/: X coordinate of location to place upper left corner of /@pixbuf@/ -}+    -> Double+    {- ^ /@pixbufY@/: Y coordinate of location to place upper left corner of /@pixbuf@/ -}+    -> m ()+cairoSetSourcePixbuf cr pixbuf pixbufX pixbufY = liftIO $ do+    cr' <- unsafeManagedPtrGetPtr cr+    pixbuf' <- unsafeManagedPtrCastPtr pixbuf+    let pixbufX' = realToFrac pixbufX+    let pixbufY' = realToFrac pixbufY+    gdk_cairo_set_source_pixbuf cr' pixbuf' pixbufX' pixbufY'+    touchManagedPtr cr+    touchManagedPtr pixbuf+    return ()+++-- function gdk_cairo_set_source_color+-- Args : [Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a cairo context", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkColor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cairo_set_source_color" gdk_cairo_set_source_color :: +    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})+    Ptr Gdk.Color.Color ->                  -- color : TInterface (Name {namespace = "Gdk", name = "Color"})+    IO ()++{-# DEPRECATED cairoSetSourceColor ["(Since version 3.4)","Use 'GI.Gdk.Functions.cairoSetSourceRgba' instead"] #-}+{- |+Sets the specified 'GI.Gdk.Structs.Color.Color' as the source color of /@cr@/.++/Since: 2.8/+-}+cairoSetSourceColor ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Cairo.Context.Context+    {- ^ /@cr@/: a cairo context -}+    -> Gdk.Color.Color+    {- ^ /@color@/: a 'GI.Gdk.Structs.Color.Color' -}+    -> m ()+cairoSetSourceColor cr color = liftIO $ do+    cr' <- unsafeManagedPtrGetPtr cr+    color' <- unsafeManagedPtrGetPtr color+    gdk_cairo_set_source_color cr' color'+    touchManagedPtr cr+    touchManagedPtr color+    return ()+++-- function gdk_cairo_region_create_from_surface+-- Args : [Arg {argCName = "surface", argType = TInterface (Name {namespace = "cairo", name = "Surface"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a cairo surface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "cairo", name = "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 ->            -- surface : TInterface (Name {namespace = "cairo", name = "Surface"})+    IO (Ptr Cairo.Region.Region)++{- |+Creates region that describes covers the area where the given+/@surface@/ is more than 50% opaque.++This function takes into account device offsets that might be+set with @/cairo_surface_set_device_offset()/@.+-}+cairoRegionCreateFromSurface ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Cairo.Surface.Surface+    {- ^ /@surface@/: a cairo surface -}+    -> m Cairo.Region.Region+    {- ^ __Returns:__ A 'GI.Cairo.Structs.Region.Region'; must be freed with @/cairo_region_destroy()/@ -}+cairoRegionCreateFromSurface surface = liftIO $ do+    surface' <- unsafeManagedPtrGetPtr surface+    result <- gdk_cairo_region_create_from_surface surface'+    checkUnexpectedReturnNULL "cairoRegionCreateFromSurface" result+    result' <- (wrapBoxed Cairo.Region.Region) result+    touchManagedPtr surface+    return result'+++-- function gdk_cairo_region+-- Args : [Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a cairo context", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "region", argType = TInterface (Name {namespace = "cairo", name = "Region"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_region_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cairo_region" gdk_cairo_region :: +    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})+    Ptr Cairo.Region.Region ->              -- region : TInterface (Name {namespace = "cairo", name = "Region"})+    IO ()++{- |+Adds the given region to the current path of /@cr@/.++/Since: 2.8/+-}+cairoRegion ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Cairo.Context.Context+    {- ^ /@cr@/: a cairo context -}+    -> Cairo.Region.Region+    {- ^ /@region@/: a 'GI.Cairo.Structs.Region.Region' -}+    -> m ()+cairoRegion cr region = liftIO $ do+    cr' <- unsafeManagedPtrGetPtr cr+    region' <- unsafeManagedPtrGetPtr region+    gdk_cairo_region cr' region'+    touchManagedPtr cr+    touchManagedPtr region+    return ()+++-- function gdk_cairo_rectangle+-- Args : [Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a cairo context", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rectangle", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cairo_rectangle" gdk_cairo_rectangle :: +    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})+    Ptr Gdk.Rectangle.Rectangle ->          -- rectangle : TInterface (Name {namespace = "Gdk", name = "Rectangle"})+    IO ()++{- |+Adds the given rectangle to the current path of /@cr@/.++/Since: 2.8/+-}+cairoRectangle ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Cairo.Context.Context+    {- ^ /@cr@/: a cairo context -}+    -> Gdk.Rectangle.Rectangle+    {- ^ /@rectangle@/: a 'GI.Gdk.Structs.Rectangle.Rectangle' -}+    -> m ()+cairoRectangle cr rectangle = liftIO $ do+    cr' <- unsafeManagedPtrGetPtr cr+    rectangle' <- unsafeManagedPtrGetPtr rectangle+    gdk_cairo_rectangle cr' rectangle'+    touchManagedPtr cr+    touchManagedPtr rectangle+    return ()+++-- function gdk_cairo_get_drawing_context+-- Args : [Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Cairo context", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "DrawingContext"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cairo_get_drawing_context" gdk_cairo_get_drawing_context :: +    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})+    IO (Ptr Gdk.DrawingContext.DrawingContext)++{- |+Retrieves the 'GI.Gdk.Objects.DrawingContext.DrawingContext' that created the Cairo+context /@cr@/.++/Since: 3.22/+-}+cairoGetDrawingContext ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Cairo.Context.Context+    {- ^ /@cr@/: a Cairo context -}+    -> m (Maybe Gdk.DrawingContext.DrawingContext)+    {- ^ __Returns:__ a 'GI.Gdk.Objects.DrawingContext.DrawingContext', if any is set -}+cairoGetDrawingContext cr = liftIO $ do+    cr' <- unsafeManagedPtrGetPtr cr+    result <- gdk_cairo_get_drawing_context cr'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Gdk.DrawingContext.DrawingContext) result'+        return result''+    touchManagedPtr cr+    return maybeResult+++-- function gdk_cairo_get_clip_rectangle+-- Args : [Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a cairo context", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rect", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the clip, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cairo_get_clip_rectangle" gdk_cairo_get_clip_rectangle :: +    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})+    Ptr Gdk.Rectangle.Rectangle ->          -- rect : TInterface (Name {namespace = "Gdk", name = "Rectangle"})+    IO CInt++{- |+This is a convenience function around @/cairo_clip_extents()/@.+It rounds the clip extents to integer coordinates and returns+a boolean indicating if a clip area exists.+-}+cairoGetClipRectangle ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Cairo.Context.Context+    {- ^ /@cr@/: a cairo context -}+    -> m ((Bool, Gdk.Rectangle.Rectangle))+    {- ^ __Returns:__ 'True' if a clip rectangle exists, 'False' if all of /@cr@/ is+    clipped and all drawing can be skipped -}+cairoGetClipRectangle cr = liftIO $ do+    cr' <- unsafeManagedPtrGetPtr cr+    rect <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)+    result <- gdk_cairo_get_clip_rectangle cr' rect+    let result' = (/= 0) result+    rect' <- (wrapBoxed Gdk.Rectangle.Rectangle) rect+    touchManagedPtr cr+    return (result', rect')+++-- function gdk_cairo_draw_from_gl+-- Args : [Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a cairo context", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The window we're rendering for (not necessarily into)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "source", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The GL ID of the source buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "source_type", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The type of the @source", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer_scale", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The scale-factor that the @source buffer is allocated for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The source x position in @source to start copying from in GL coordinates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The source y position in @source to start copying from in GL coordinates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The width of the region to draw", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The height of the region to draw", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cairo_draw_from_gl" gdk_cairo_draw_from_gl :: +    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})+    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Int32 ->                                -- source : TBasicType TInt+    Int32 ->                                -- source_type : TBasicType TInt+    Int32 ->                                -- buffer_scale : TBasicType TInt+    Int32 ->                                -- x : TBasicType TInt+    Int32 ->                                -- y : TBasicType TInt+    Int32 ->                                -- width : TBasicType TInt+    Int32 ->                                -- height : TBasicType TInt+    IO ()++{- |+This is the main way to draw GL content in GTK+. It takes a render buffer ID+(/@sourceType@/ == @/GL_RENDERBUFFER/@) or a texture id (/@sourceType@/ == @/GL_TEXTURE/@)+and draws it onto /@cr@/ with an OVER operation, respecting the current clip.+The top left corner of the rectangle specified by /@x@/, /@y@/, /@width@/ and /@height@/+will be drawn at the current (0,0) position of the cairo_t.++This will work for *all* cairo_t, as long as /@window@/ is realized, but the+fallback implementation that reads back the pixels from the buffer may be+used in the general case. In the case of direct drawing to a window with+no special effects applied to /@cr@/ it will however use a more efficient+approach.++For @/GL_RENDERBUFFER/@ the code will always fall back to software for buffers+with alpha components, so make sure you use @/GL_TEXTURE/@ if using alpha.++Calling this may change the current GL context.++/Since: 3.16/+-}+cairoDrawFromGl ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Window.IsWindow a) =>+    Cairo.Context.Context+    {- ^ /@cr@/: a cairo context -}+    -> a+    {- ^ /@window@/: The window we\'re rendering for (not necessarily into) -}+    -> Int32+    {- ^ /@source@/: The GL ID of the source buffer -}+    -> Int32+    {- ^ /@sourceType@/: The type of the /@source@/ -}+    -> Int32+    {- ^ /@bufferScale@/: The scale-factor that the /@source@/ buffer is allocated for -}+    -> Int32+    {- ^ /@x@/: The source x position in /@source@/ to start copying from in GL coordinates -}+    -> Int32+    {- ^ /@y@/: The source y position in /@source@/ to start copying from in GL coordinates -}+    -> Int32+    {- ^ /@width@/: The width of the region to draw -}+    -> Int32+    {- ^ /@height@/: The height of the region to draw -}+    -> m ()+cairoDrawFromGl cr window source sourceType bufferScale x y width height = liftIO $ do+    cr' <- unsafeManagedPtrGetPtr cr+    window' <- unsafeManagedPtrCastPtr window+    gdk_cairo_draw_from_gl cr' window' source sourceType bufferScale x y width height+    touchManagedPtr cr+    touchManagedPtr window+    return ()+++-- function gdk_cairo_create+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "cairo", name = "Context"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cairo_create" gdk_cairo_create :: +    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO (Ptr Cairo.Context.Context)++{-# DEPRECATED cairoCreate ["(Since version 3.22)","Use 'GI.Gdk.Objects.Window.windowBeginDrawFrame' and","  'GI.Gdk.Objects.DrawingContext.drawingContextGetCairoContext' instead"] #-}+{- |+Creates a Cairo context for drawing to /@window@/.++Note that calling @/cairo_reset_clip()/@ on the resulting 'GI.Cairo.Structs.Context.Context' will+produce undefined results, so avoid it at all costs.++Typically, this function is used to draw on a 'GI.Gdk.Objects.Window.Window' out of the paint+cycle of the toolkit; this should be avoided, as it breaks various assumptions+and optimizations.++If you are drawing on a native 'GI.Gdk.Objects.Window.Window' in response to a 'GI.Gdk.Enums.EventTypeExpose' event+you should use 'GI.Gdk.Objects.Window.windowBeginDrawFrame' and 'GI.Gdk.Objects.DrawingContext.drawingContextGetCairoContext'+instead. GTK will automatically do this for you when drawing a widget.++/Since: 2.8/+-}+cairoCreate ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Window.IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m Cairo.Context.Context+    {- ^ __Returns:__ A newly created Cairo context. Free with+ @/cairo_destroy()/@ when you are done drawing. -}+cairoCreate window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_cairo_create window'+    checkUnexpectedReturnNULL "cairoCreate" result+    result' <- (wrapBoxed Cairo.Context.Context) result+    touchManagedPtr window+    return result'+++-- function gdk_beep+-- Args : []+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_beep" gdk_beep :: +    IO ()++{- |+Emits a short beep on the default display.+-}+beep ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m ()+beep  = liftIO $ do+    gdk_beep+    return ()+++-- function gdk_add_option_entries_libgtk_only+-- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "GLib", name = "OptionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An option group.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_add_option_entries_libgtk_only" gdk_add_option_entries_libgtk_only :: +    Ptr GLib.OptionGroup.OptionGroup ->     -- group : TInterface (Name {namespace = "GLib", name = "OptionGroup"})+    IO ()++{-# DEPRECATED addOptionEntriesLibgtkOnly ["(Since version 3.16)","This symbol was never meant to be used outside","  of GTK+"] #-}+{- |+Appends gdk option entries to the passed in option group. This is+not public API and must not be used by applications.+-}+addOptionEntriesLibgtkOnly ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GLib.OptionGroup.OptionGroup+    {- ^ /@group@/: An option group. -}+    -> m ()+addOptionEntriesLibgtkOnly group = liftIO $ do+    group' <- unsafeManagedPtrGetPtr group+    gdk_add_option_entries_libgtk_only group'+    touchManagedPtr group+    return ()+++
+ GI/Gdk/Interfaces.hs view
@@ -0,0 +1,41 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Interfaces+    (     module GI.Gdk.Interfaces.DevicePad      ,+++    ) where++import GI.Gdk.Interfaces.DevicePad++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++
+ GI/Gdk/Interfaces/DevicePad.hs view
@@ -0,0 +1,369 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++'GI.Gdk.Interfaces.DevicePad.DevicePad' is an interface implemented by devices of type+'GI.Gdk.Enums.InputSourceTabletPad', it allows querying the features provided+by the pad device.++Tablet pads may contain one or more groups, each containing a subset+of the buttons\/rings\/strips available. 'GI.Gdk.Interfaces.DevicePad.devicePadGetNGroups'+can be used to obtain the number of groups, 'GI.Gdk.Interfaces.DevicePad.devicePadGetNFeatures'+and 'GI.Gdk.Interfaces.DevicePad.devicePadGetFeatureGroup' can be combined to find out the+number of buttons\/rings\/strips the device has, and how are they grouped.++Each of those groups have different modes, which may be used to map+each individual pad feature to multiple actions. Only one mode is+effective (current) for each given group, different groups may have+different current modes. The number of available modes in a group can+be found out through 'GI.Gdk.Interfaces.DevicePad.devicePadGetGroupNModes', and the current+mode for a given group will be notified through the 'GI.Gdk.Structs.EventPadGroupMode.EventPadGroupMode'+event.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Interfaces.DevicePad+    ( ++-- * Exported types+    DevicePad(..)                           ,+    noDevicePad                             ,+    IsDevicePad                             ,+    toDevicePad                             ,+++ -- * Methods+-- ** getFeatureGroup #method:getFeatureGroup#++#if ENABLE_OVERLOADING+    DevicePadGetFeatureGroupMethodInfo      ,+#endif+    devicePadGetFeatureGroup                ,+++-- ** getGroupNModes #method:getGroupNModes#++#if ENABLE_OVERLOADING+    DevicePadGetGroupNModesMethodInfo       ,+#endif+    devicePadGetGroupNModes                 ,+++-- ** getNFeatures #method:getNFeatures#++#if ENABLE_OVERLOADING+    DevicePadGetNFeaturesMethodInfo         ,+#endif+    devicePadGetNFeatures                   ,+++-- ** getNGroups #method:getNGroups#++#if ENABLE_OVERLOADING+    DevicePadGetNGroupsMethodInfo           ,+#endif+    devicePadGetNGroups                     ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import qualified GI.GObject.Objects.Object as GObject.Object+import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Objects.Device as Gdk.Device++-- interface DevicePad +-- | Memory-managed wrapper type.+newtype DevicePad = DevicePad (ManagedPtr DevicePad)+-- | A convenience alias for `Nothing` :: `Maybe` `DevicePad`.+noDevicePad :: Maybe DevicePad+noDevicePad = Nothing++#if ENABLE_OVERLOADING+type instance O.SignalList DevicePad = DevicePadSignalList+type DevicePadSignalList = ('[ '("changed", Gdk.Device.DeviceChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("toolChanged", Gdk.Device.DeviceToolChangedSignalInfo)] :: [(Symbol, *)])++#endif++foreign import ccall "gdk_device_pad_get_type"+    c_gdk_device_pad_get_type :: IO GType++instance GObject DevicePad where+    gobjectType = c_gdk_device_pad_get_type+    ++-- | Type class for types which can be safely cast to `DevicePad`, for instance with `toDevicePad`.+class (GObject o, O.IsDescendantOf DevicePad o) => IsDevicePad o+instance (GObject o, O.IsDescendantOf DevicePad o) => IsDevicePad o++instance O.HasParentTypes DevicePad+type instance O.ParentTypes DevicePad = '[Gdk.Device.Device, GObject.Object.Object]++-- | Cast to `DevicePad`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toDevicePad :: (MonadIO m, IsDevicePad o) => o -> m DevicePad+toDevicePad = liftIO . unsafeCastTo DevicePad++#if ENABLE_OVERLOADING+instance O.HasAttributeList DevicePad+type instance O.AttributeList DevicePad = DevicePadAttributeList+type DevicePadAttributeList = ('[ '("associatedDevice", Gdk.Device.DeviceAssociatedDevicePropertyInfo), '("axes", Gdk.Device.DeviceAxesPropertyInfo), '("deviceManager", Gdk.Device.DeviceDeviceManagerPropertyInfo), '("display", Gdk.Device.DeviceDisplayPropertyInfo), '("hasCursor", Gdk.Device.DeviceHasCursorPropertyInfo), '("inputMode", Gdk.Device.DeviceInputModePropertyInfo), '("inputSource", Gdk.Device.DeviceInputSourcePropertyInfo), '("nAxes", Gdk.Device.DeviceNAxesPropertyInfo), '("name", Gdk.Device.DeviceNamePropertyInfo), '("numTouches", Gdk.Device.DeviceNumTouchesPropertyInfo), '("productId", Gdk.Device.DeviceProductIdPropertyInfo), '("seat", Gdk.Device.DeviceSeatPropertyInfo), '("tool", Gdk.Device.DeviceToolPropertyInfo), '("type", Gdk.Device.DeviceTypePropertyInfo), '("vendorId", Gdk.Device.DeviceVendorIdPropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type family ResolveDevicePadMethod (t :: Symbol) (o :: *) :: * where+    ResolveDevicePadMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveDevicePadMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveDevicePadMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveDevicePadMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveDevicePadMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveDevicePadMethod "grab" o = Gdk.Device.DeviceGrabMethodInfo+    ResolveDevicePadMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveDevicePadMethod "listAxes" o = Gdk.Device.DeviceListAxesMethodInfo+    ResolveDevicePadMethod "listSlaveDevices" o = Gdk.Device.DeviceListSlaveDevicesMethodInfo+    ResolveDevicePadMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveDevicePadMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveDevicePadMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveDevicePadMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveDevicePadMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveDevicePadMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveDevicePadMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveDevicePadMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveDevicePadMethod "ungrab" o = Gdk.Device.DeviceUngrabMethodInfo+    ResolveDevicePadMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveDevicePadMethod "warp" o = Gdk.Device.DeviceWarpMethodInfo+    ResolveDevicePadMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveDevicePadMethod "getAssociatedDevice" o = Gdk.Device.DeviceGetAssociatedDeviceMethodInfo+    ResolveDevicePadMethod "getAxes" o = Gdk.Device.DeviceGetAxesMethodInfo+    ResolveDevicePadMethod "getAxisUse" o = Gdk.Device.DeviceGetAxisUseMethodInfo+    ResolveDevicePadMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveDevicePadMethod "getDeviceType" o = Gdk.Device.DeviceGetDeviceTypeMethodInfo+    ResolveDevicePadMethod "getDisplay" o = Gdk.Device.DeviceGetDisplayMethodInfo+    ResolveDevicePadMethod "getFeatureGroup" o = DevicePadGetFeatureGroupMethodInfo+    ResolveDevicePadMethod "getGroupNModes" o = DevicePadGetGroupNModesMethodInfo+    ResolveDevicePadMethod "getHasCursor" o = Gdk.Device.DeviceGetHasCursorMethodInfo+    ResolveDevicePadMethod "getKey" o = Gdk.Device.DeviceGetKeyMethodInfo+    ResolveDevicePadMethod "getLastEventWindow" o = Gdk.Device.DeviceGetLastEventWindowMethodInfo+    ResolveDevicePadMethod "getMode" o = Gdk.Device.DeviceGetModeMethodInfo+    ResolveDevicePadMethod "getNAxes" o = Gdk.Device.DeviceGetNAxesMethodInfo+    ResolveDevicePadMethod "getNFeatures" o = DevicePadGetNFeaturesMethodInfo+    ResolveDevicePadMethod "getNGroups" o = DevicePadGetNGroupsMethodInfo+    ResolveDevicePadMethod "getNKeys" o = Gdk.Device.DeviceGetNKeysMethodInfo+    ResolveDevicePadMethod "getName" o = Gdk.Device.DeviceGetNameMethodInfo+    ResolveDevicePadMethod "getPosition" o = Gdk.Device.DeviceGetPositionMethodInfo+    ResolveDevicePadMethod "getPositionDouble" o = Gdk.Device.DeviceGetPositionDoubleMethodInfo+    ResolveDevicePadMethod "getProductId" o = Gdk.Device.DeviceGetProductIdMethodInfo+    ResolveDevicePadMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveDevicePadMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveDevicePadMethod "getSeat" o = Gdk.Device.DeviceGetSeatMethodInfo+    ResolveDevicePadMethod "getSource" o = Gdk.Device.DeviceGetSourceMethodInfo+    ResolveDevicePadMethod "getVendorId" o = Gdk.Device.DeviceGetVendorIdMethodInfo+    ResolveDevicePadMethod "getWindowAtPosition" o = Gdk.Device.DeviceGetWindowAtPositionMethodInfo+    ResolveDevicePadMethod "getWindowAtPositionDouble" o = Gdk.Device.DeviceGetWindowAtPositionDoubleMethodInfo+    ResolveDevicePadMethod "setAxisUse" o = Gdk.Device.DeviceSetAxisUseMethodInfo+    ResolveDevicePadMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveDevicePadMethod "setKey" o = Gdk.Device.DeviceSetKeyMethodInfo+    ResolveDevicePadMethod "setMode" o = Gdk.Device.DeviceSetModeMethodInfo+    ResolveDevicePadMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveDevicePadMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveDevicePadMethod t DevicePad, O.MethodInfo info DevicePad p) => OL.IsLabel t (DevicePad -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++-- method DevicePad::get_feature_group+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gdk", name = "DevicePad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevicePad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "feature", argType = TInterface (Name {namespace = "Gdk", name = "DevicePadFeature"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the feature type to get the group from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "feature_idx", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index of the feature to get the group from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_pad_get_feature_group" gdk_device_pad_get_feature_group :: +    Ptr DevicePad ->                        -- pad : TInterface (Name {namespace = "Gdk", name = "DevicePad"})+    CUInt ->                                -- feature : TInterface (Name {namespace = "Gdk", name = "DevicePadFeature"})+    Int32 ->                                -- feature_idx : TBasicType TInt+    IO Int32++{- |+Returns the group the given /@feature@/ and /@idx@/ belong to,+or -1 if feature\/index do not exist in /@pad@/.++/Since: 3.22/+-}+devicePadGetFeatureGroup ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevicePad a) =>+    a+    {- ^ /@pad@/: a 'GI.Gdk.Interfaces.DevicePad.DevicePad' -}+    -> Gdk.Enums.DevicePadFeature+    {- ^ /@feature@/: the feature type to get the group from -}+    -> Int32+    {- ^ /@featureIdx@/: the index of the feature to get the group from -}+    -> m Int32+    {- ^ __Returns:__ The group number of the queried pad feature. -}+devicePadGetFeatureGroup pad feature featureIdx = liftIO $ do+    pad' <- unsafeManagedPtrCastPtr pad+    let feature' = (fromIntegral . fromEnum) feature+    result <- gdk_device_pad_get_feature_group pad' feature' featureIdx+    touchManagedPtr pad+    return result++#if ENABLE_OVERLOADING+data DevicePadGetFeatureGroupMethodInfo+instance (signature ~ (Gdk.Enums.DevicePadFeature -> Int32 -> m Int32), MonadIO m, IsDevicePad a) => O.MethodInfo DevicePadGetFeatureGroupMethodInfo a signature where+    overloadedMethod _ = devicePadGetFeatureGroup++#endif++-- method DevicePad::get_group_n_modes+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gdk", name = "DevicePad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevicePad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_idx", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "group to get the number of available modes from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_pad_get_group_n_modes" gdk_device_pad_get_group_n_modes :: +    Ptr DevicePad ->                        -- pad : TInterface (Name {namespace = "Gdk", name = "DevicePad"})+    Int32 ->                                -- group_idx : TBasicType TInt+    IO Int32++{- |+Returns the number of modes that /@group@/ may have.++/Since: 3.22/+-}+devicePadGetGroupNModes ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevicePad a) =>+    a+    {- ^ /@pad@/: a 'GI.Gdk.Interfaces.DevicePad.DevicePad' -}+    -> Int32+    {- ^ /@groupIdx@/: group to get the number of available modes from -}+    -> m Int32+    {- ^ __Returns:__ The number of modes available in /@group@/. -}+devicePadGetGroupNModes pad groupIdx = liftIO $ do+    pad' <- unsafeManagedPtrCastPtr pad+    result <- gdk_device_pad_get_group_n_modes pad' groupIdx+    touchManagedPtr pad+    return result++#if ENABLE_OVERLOADING+data DevicePadGetGroupNModesMethodInfo+instance (signature ~ (Int32 -> m Int32), MonadIO m, IsDevicePad a) => O.MethodInfo DevicePadGetGroupNModesMethodInfo a signature where+    overloadedMethod _ = devicePadGetGroupNModes++#endif++-- method DevicePad::get_n_features+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gdk", name = "DevicePad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevicePad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "feature", argType = TInterface (Name {namespace = "Gdk", name = "DevicePadFeature"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pad feature", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_pad_get_n_features" gdk_device_pad_get_n_features :: +    Ptr DevicePad ->                        -- pad : TInterface (Name {namespace = "Gdk", name = "DevicePad"})+    CUInt ->                                -- feature : TInterface (Name {namespace = "Gdk", name = "DevicePadFeature"})+    IO Int32++{- |+Returns the number of features a tablet pad has.++/Since: 3.22/+-}+devicePadGetNFeatures ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevicePad a) =>+    a+    {- ^ /@pad@/: a 'GI.Gdk.Interfaces.DevicePad.DevicePad' -}+    -> Gdk.Enums.DevicePadFeature+    {- ^ /@feature@/: a pad feature -}+    -> m Int32+    {- ^ __Returns:__ The amount of elements of type /@feature@/ that this pad has. -}+devicePadGetNFeatures pad feature = liftIO $ do+    pad' <- unsafeManagedPtrCastPtr pad+    let feature' = (fromIntegral . fromEnum) feature+    result <- gdk_device_pad_get_n_features pad' feature'+    touchManagedPtr pad+    return result++#if ENABLE_OVERLOADING+data DevicePadGetNFeaturesMethodInfo+instance (signature ~ (Gdk.Enums.DevicePadFeature -> m Int32), MonadIO m, IsDevicePad a) => O.MethodInfo DevicePadGetNFeaturesMethodInfo a signature where+    overloadedMethod _ = devicePadGetNFeatures++#endif++-- method DevicePad::get_n_groups+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gdk", name = "DevicePad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevicePad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_pad_get_n_groups" gdk_device_pad_get_n_groups :: +    Ptr DevicePad ->                        -- pad : TInterface (Name {namespace = "Gdk", name = "DevicePad"})+    IO Int32++{- |+Returns the number of groups this pad device has. Pads have+at least one group. A pad group is a subcollection of+buttons\/strip\/rings that is affected collectively by a same+current mode.++/Since: 3.22/+-}+devicePadGetNGroups ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevicePad a) =>+    a+    {- ^ /@pad@/: a 'GI.Gdk.Interfaces.DevicePad.DevicePad' -}+    -> m Int32+    {- ^ __Returns:__ The number of button\/ring\/strip groups in the pad. -}+devicePadGetNGroups pad = liftIO $ do+    pad' <- unsafeManagedPtrCastPtr pad+    result <- gdk_device_pad_get_n_groups pad'+    touchManagedPtr pad+    return result++#if ENABLE_OVERLOADING+data DevicePadGetNGroupsMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsDevicePad a) => O.MethodInfo DevicePadGetNGroupsMethodInfo a signature where+    overloadedMethod _ = devicePadGetNGroups++#endif++
+ GI/Gdk/Interfaces/DevicePad.hs-boot view
@@ -0,0 +1,41 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Interfaces.DevicePad where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype DevicePad = DevicePad (ManagedPtr DevicePad)+instance GObject DevicePad where+class (GObject o, O.IsDescendantOf DevicePad o) => IsDevicePad o+instance (GObject o, O.IsDescendantOf DevicePad o) => IsDevicePad o+instance O.HasParentTypes DevicePad+#if ENABLE_OVERLOADING+data DevicePadGetFeatureGroupMethodInfo+#endif+#if ENABLE_OVERLOADING+data DevicePadGetGroupNModesMethodInfo+#endif+#if ENABLE_OVERLOADING+data DevicePadGetNFeaturesMethodInfo+#endif+#if ENABLE_OVERLOADING+data DevicePadGetNGroupsMethodInfo+#endif
+ GI/Gdk/Objects.hs view
@@ -0,0 +1,73 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Objects+    (     module GI.Gdk.Objects.AppLaunchContext  ,+    module GI.Gdk.Objects.Cursor            ,+    module GI.Gdk.Objects.Device            ,+    module GI.Gdk.Objects.DeviceManager     ,+    module GI.Gdk.Objects.DeviceTool        ,+    module GI.Gdk.Objects.Display           ,+    module GI.Gdk.Objects.DisplayManager    ,+    module GI.Gdk.Objects.DragContext       ,+    module GI.Gdk.Objects.DrawingContext    ,+    module GI.Gdk.Objects.FrameClock        ,+    module GI.Gdk.Objects.GLContext         ,+    module GI.Gdk.Objects.Keymap            ,+    module GI.Gdk.Objects.Monitor           ,+    module GI.Gdk.Objects.Screen            ,+    module GI.Gdk.Objects.Seat              ,+    module GI.Gdk.Objects.Visual            ,+    module GI.Gdk.Objects.Window            ,+++    ) where++import GI.Gdk.Objects.AppLaunchContext+import GI.Gdk.Objects.Cursor+import GI.Gdk.Objects.Device+import GI.Gdk.Objects.DeviceManager+import GI.Gdk.Objects.DeviceTool+import GI.Gdk.Objects.Display+import GI.Gdk.Objects.DisplayManager+import GI.Gdk.Objects.DragContext+import GI.Gdk.Objects.DrawingContext+import GI.Gdk.Objects.FrameClock+import GI.Gdk.Objects.GLContext+import GI.Gdk.Objects.Keymap+import GI.Gdk.Objects.Monitor+import GI.Gdk.Objects.Screen+import GI.Gdk.Objects.Seat+import GI.Gdk.Objects.Visual+import GI.Gdk.Objects.Window++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++
+ GI/Gdk/Objects/AppLaunchContext.hs view
@@ -0,0 +1,577 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++GdkAppLaunchContext is an implementation of 'GI.Gio.Objects.AppLaunchContext.AppLaunchContext' that+handles launching an application in a graphical context. It provides+startup notification and allows to launch applications on a specific+screen or workspace.++== Launching an application+++=== /C code/+>+>GdkAppLaunchContext *context;+>+>context = gdk_display_get_app_launch_context (display);+>+>gdk_app_launch_context_set_screen (screen);+>gdk_app_launch_context_set_timestamp (event->time);+>+>if (!g_app_info_launch_default_for_uri ("http://www.gtk.org", context, &error))+>  g_warning ("Launching failed: %s\n", error->message);+>+>g_object_unref (context);++-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Objects.AppLaunchContext+    ( ++-- * Exported types+    AppLaunchContext(..)                    ,+    IsAppLaunchContext                      ,+    toAppLaunchContext                      ,+    noAppLaunchContext                      ,+++ -- * Methods+-- ** new #method:new#++    appLaunchContextNew                     ,+++-- ** setDesktop #method:setDesktop#++#if ENABLE_OVERLOADING+    AppLaunchContextSetDesktopMethodInfo    ,+#endif+    appLaunchContextSetDesktop              ,+++-- ** setDisplay #method:setDisplay#++#if ENABLE_OVERLOADING+    AppLaunchContextSetDisplayMethodInfo    ,+#endif+    appLaunchContextSetDisplay              ,+++-- ** setIcon #method:setIcon#++#if ENABLE_OVERLOADING+    AppLaunchContextSetIconMethodInfo       ,+#endif+    appLaunchContextSetIcon                 ,+++-- ** setIconName #method:setIconName#++#if ENABLE_OVERLOADING+    AppLaunchContextSetIconNameMethodInfo   ,+#endif+    appLaunchContextSetIconName             ,+++-- ** setScreen #method:setScreen#++#if ENABLE_OVERLOADING+    AppLaunchContextSetScreenMethodInfo     ,+#endif+    appLaunchContextSetScreen               ,+++-- ** setTimestamp #method:setTimestamp#++#if ENABLE_OVERLOADING+    AppLaunchContextSetTimestampMethodInfo  ,+#endif+    appLaunchContextSetTimestamp            ,+++++ -- * Properties+-- ** display #attr:display#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    AppLaunchContextDisplayPropertyInfo     ,+#endif+#if ENABLE_OVERLOADING+    appLaunchContextDisplay                 ,+#endif+    constructAppLaunchContextDisplay        ,+    getAppLaunchContextDisplay              ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import qualified GI.GObject.Objects.Object as GObject.Object+import {-# SOURCE #-} qualified GI.Gdk.Objects.Display as Gdk.Display+import {-# SOURCE #-} qualified GI.Gdk.Objects.Screen as Gdk.Screen+import qualified GI.Gio.Interfaces.Icon as Gio.Icon+import qualified GI.Gio.Objects.AppLaunchContext as Gio.AppLaunchContext++-- | Memory-managed wrapper type.+newtype AppLaunchContext = AppLaunchContext (ManagedPtr AppLaunchContext)+foreign import ccall "gdk_app_launch_context_get_type"+    c_gdk_app_launch_context_get_type :: IO GType++instance GObject AppLaunchContext where+    gobjectType = c_gdk_app_launch_context_get_type+    ++-- | Type class for types which can be safely cast to `AppLaunchContext`, for instance with `toAppLaunchContext`.+class (GObject o, O.IsDescendantOf AppLaunchContext o) => IsAppLaunchContext o+instance (GObject o, O.IsDescendantOf AppLaunchContext o) => IsAppLaunchContext o++instance O.HasParentTypes AppLaunchContext+type instance O.ParentTypes AppLaunchContext = '[Gio.AppLaunchContext.AppLaunchContext, GObject.Object.Object]++-- | Cast to `AppLaunchContext`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toAppLaunchContext :: (MonadIO m, IsAppLaunchContext o) => o -> m AppLaunchContext+toAppLaunchContext = liftIO . unsafeCastTo AppLaunchContext++-- | A convenience alias for `Nothing` :: `Maybe` `AppLaunchContext`.+noAppLaunchContext :: Maybe AppLaunchContext+noAppLaunchContext = Nothing++#if ENABLE_OVERLOADING+type family ResolveAppLaunchContextMethod (t :: Symbol) (o :: *) :: * where+    ResolveAppLaunchContextMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveAppLaunchContextMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveAppLaunchContextMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveAppLaunchContextMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveAppLaunchContextMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveAppLaunchContextMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveAppLaunchContextMethod "launchFailed" o = Gio.AppLaunchContext.AppLaunchContextLaunchFailedMethodInfo+    ResolveAppLaunchContextMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveAppLaunchContextMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveAppLaunchContextMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveAppLaunchContextMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveAppLaunchContextMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveAppLaunchContextMethod "setenv" o = Gio.AppLaunchContext.AppLaunchContextSetenvMethodInfo+    ResolveAppLaunchContextMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveAppLaunchContextMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveAppLaunchContextMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveAppLaunchContextMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveAppLaunchContextMethod "unsetenv" o = Gio.AppLaunchContext.AppLaunchContextUnsetenvMethodInfo+    ResolveAppLaunchContextMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveAppLaunchContextMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveAppLaunchContextMethod "getDisplay" o = Gio.AppLaunchContext.AppLaunchContextGetDisplayMethodInfo+    ResolveAppLaunchContextMethod "getEnvironment" o = Gio.AppLaunchContext.AppLaunchContextGetEnvironmentMethodInfo+    ResolveAppLaunchContextMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveAppLaunchContextMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveAppLaunchContextMethod "getStartupNotifyId" o = Gio.AppLaunchContext.AppLaunchContextGetStartupNotifyIdMethodInfo+    ResolveAppLaunchContextMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveAppLaunchContextMethod "setDesktop" o = AppLaunchContextSetDesktopMethodInfo+    ResolveAppLaunchContextMethod "setDisplay" o = AppLaunchContextSetDisplayMethodInfo+    ResolveAppLaunchContextMethod "setIcon" o = AppLaunchContextSetIconMethodInfo+    ResolveAppLaunchContextMethod "setIconName" o = AppLaunchContextSetIconNameMethodInfo+    ResolveAppLaunchContextMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveAppLaunchContextMethod "setScreen" o = AppLaunchContextSetScreenMethodInfo+    ResolveAppLaunchContextMethod "setTimestamp" o = AppLaunchContextSetTimestampMethodInfo+    ResolveAppLaunchContextMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveAppLaunchContextMethod t AppLaunchContext, O.MethodInfo info AppLaunchContext p) => OL.IsLabel t (AppLaunchContext -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++-- VVV Prop "display"+   -- Type: TInterface (Name {namespace = "Gdk", name = "Display"})+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Nothing,Just False)++{- |+Get the value of the “@display@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' appLaunchContext #display+@+-}+getAppLaunchContextDisplay :: (MonadIO m, IsAppLaunchContext o) => o -> m (Maybe Gdk.Display.Display)+getAppLaunchContextDisplay obj = liftIO $ B.Properties.getObjectPropertyObject obj "display" Gdk.Display.Display++{- |+Construct a `GValueConstruct` with valid value for the “@display@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructAppLaunchContextDisplay :: (IsAppLaunchContext o, Gdk.Display.IsDisplay a) => a -> IO (GValueConstruct o)+constructAppLaunchContextDisplay val = B.Properties.constructObjectPropertyObject "display" (Just val)++#if ENABLE_OVERLOADING+data AppLaunchContextDisplayPropertyInfo+instance AttrInfo AppLaunchContextDisplayPropertyInfo where+    type AttrAllowedOps AppLaunchContextDisplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint AppLaunchContextDisplayPropertyInfo = Gdk.Display.IsDisplay+    type AttrBaseTypeConstraint AppLaunchContextDisplayPropertyInfo = IsAppLaunchContext+    type AttrGetType AppLaunchContextDisplayPropertyInfo = (Maybe Gdk.Display.Display)+    type AttrLabel AppLaunchContextDisplayPropertyInfo = "display"+    type AttrOrigin AppLaunchContextDisplayPropertyInfo = AppLaunchContext+    attrGet _ = getAppLaunchContextDisplay+    attrSet _ = undefined+    attrConstruct _ = constructAppLaunchContextDisplay+    attrClear _ = undefined+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList AppLaunchContext+type instance O.AttributeList AppLaunchContext = AppLaunchContextAttributeList+type AppLaunchContextAttributeList = ('[ '("display", AppLaunchContextDisplayPropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+appLaunchContextDisplay :: AttrLabelProxy "display"+appLaunchContextDisplay = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+type instance O.SignalList AppLaunchContext = AppLaunchContextSignalList+type AppLaunchContextSignalList = ('[ '("launchFailed", Gio.AppLaunchContext.AppLaunchContextLaunchFailedSignalInfo), '("launched", Gio.AppLaunchContext.AppLaunchContextLaunchedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method AppLaunchContext::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "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 'GI.Gdk.Objects.Display.displayGetAppLaunchContext' instead"] #-}+{- |+Creates a new 'GI.Gdk.Objects.AppLaunchContext.AppLaunchContext'.++/Since: 2.14/+-}+appLaunchContextNew ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m AppLaunchContext+    {- ^ __Returns:__ a new 'GI.Gdk.Objects.AppLaunchContext.AppLaunchContext' -}+appLaunchContextNew  = liftIO $ do+    result <- gdk_app_launch_context_new+    checkUnexpectedReturnNULL "appLaunchContextNew" result+    result' <- (wrapObject AppLaunchContext) result+    return result'++#if ENABLE_OVERLOADING+#endif++-- method AppLaunchContext::set_desktop+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "AppLaunchContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkAppLaunchContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "desktop", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of a workspace, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_app_launch_context_set_desktop" gdk_app_launch_context_set_desktop :: +    Ptr AppLaunchContext ->                 -- context : TInterface (Name {namespace = "Gdk", name = "AppLaunchContext"})+    Int32 ->                                -- desktop : TBasicType TInt+    IO ()++{- |+Sets the workspace on which applications will be launched when+using this context when running under a window manager that+supports multiple workspaces, as described in the+<http://www.freedesktop.org/Standards/wm-spec Extended Window Manager Hints>.++When the workspace is not specified or /@desktop@/ is set to -1,+it is up to the window manager to pick one, typically it will+be the current workspace.++/Since: 2.14/+-}+appLaunchContextSetDesktop ::+    (B.CallStack.HasCallStack, MonadIO m, IsAppLaunchContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.AppLaunchContext.AppLaunchContext' -}+    -> Int32+    {- ^ /@desktop@/: the number of a workspace, or -1 -}+    -> m ()+appLaunchContextSetDesktop context desktop = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    gdk_app_launch_context_set_desktop context' desktop+    touchManagedPtr context+    return ()++#if ENABLE_OVERLOADING+data AppLaunchContextSetDesktopMethodInfo+instance (signature ~ (Int32 -> m ()), MonadIO m, IsAppLaunchContext a) => O.MethodInfo AppLaunchContextSetDesktopMethodInfo a signature where+    overloadedMethod _ = appLaunchContextSetDesktop++#endif++-- method AppLaunchContext::set_display+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "AppLaunchContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkAppLaunchContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_app_launch_context_set_display" gdk_app_launch_context_set_display :: +    Ptr AppLaunchContext ->                 -- context : TInterface (Name {namespace = "Gdk", name = "AppLaunchContext"})+    Ptr Gdk.Display.Display ->              -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO ()++{-# DEPRECATED appLaunchContextSetDisplay ["(Since version 3.0)","Use 'GI.Gdk.Objects.Display.displayGetAppLaunchContext' instead"] #-}+{- |+Sets the display on which applications will be launched when+using this context. See also 'GI.Gdk.Objects.AppLaunchContext.appLaunchContextSetScreen'.++/Since: 2.14/+-}+appLaunchContextSetDisplay ::+    (B.CallStack.HasCallStack, MonadIO m, IsAppLaunchContext a, Gdk.Display.IsDisplay b) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.AppLaunchContext.AppLaunchContext' -}+    -> b+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m ()+appLaunchContextSetDisplay context display = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    display' <- unsafeManagedPtrCastPtr display+    gdk_app_launch_context_set_display context' display'+    touchManagedPtr context+    touchManagedPtr display+    return ()++#if ENABLE_OVERLOADING+data AppLaunchContextSetDisplayMethodInfo+instance (signature ~ (b -> m ()), MonadIO m, IsAppLaunchContext a, Gdk.Display.IsDisplay b) => O.MethodInfo AppLaunchContextSetDisplayMethodInfo a signature where+    overloadedMethod _ = appLaunchContextSetDisplay++#endif++-- method AppLaunchContext::set_icon+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "AppLaunchContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkAppLaunchContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon", argType = TInterface (Name {namespace = "Gio", name = "Icon"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GIcon, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_app_launch_context_set_icon" gdk_app_launch_context_set_icon :: +    Ptr AppLaunchContext ->                 -- context : TInterface (Name {namespace = "Gdk", name = "AppLaunchContext"})+    Ptr Gio.Icon.Icon ->                    -- icon : TInterface (Name {namespace = "Gio", name = "Icon"})+    IO ()++{- |+Sets the icon for applications that are launched with this+context.++Window Managers can use this information when displaying startup+notification.++See also 'GI.Gdk.Objects.AppLaunchContext.appLaunchContextSetIconName'.++/Since: 2.14/+-}+appLaunchContextSetIcon ::+    (B.CallStack.HasCallStack, MonadIO m, IsAppLaunchContext a, Gio.Icon.IsIcon b) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.AppLaunchContext.AppLaunchContext' -}+    -> Maybe (b)+    {- ^ /@icon@/: a 'GI.Gio.Interfaces.Icon.Icon', or 'Nothing' -}+    -> m ()+appLaunchContextSetIcon context icon = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    maybeIcon <- case icon of+        Nothing -> return nullPtr+        Just jIcon -> do+            jIcon' <- unsafeManagedPtrCastPtr jIcon+            return jIcon'+    gdk_app_launch_context_set_icon context' maybeIcon+    touchManagedPtr context+    whenJust icon touchManagedPtr+    return ()++#if ENABLE_OVERLOADING+data AppLaunchContextSetIconMethodInfo+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsAppLaunchContext a, Gio.Icon.IsIcon b) => O.MethodInfo AppLaunchContextSetIconMethodInfo a signature where+    overloadedMethod _ = appLaunchContextSetIcon++#endif++-- method AppLaunchContext::set_icon_name+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "AppLaunchContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkAppLaunchContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an icon name, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_app_launch_context_set_icon_name" gdk_app_launch_context_set_icon_name :: +    Ptr AppLaunchContext ->                 -- context : TInterface (Name {namespace = "Gdk", name = "AppLaunchContext"})+    CString ->                              -- icon_name : TBasicType TUTF8+    IO ()++{- |+Sets the icon for applications that are launched with this context.+The /@iconName@/ will be interpreted in the same way as the Icon field+in desktop files. See also 'GI.Gdk.Objects.AppLaunchContext.appLaunchContextSetIcon'.++If both /@icon@/ and /@iconName@/ are set, the /@iconName@/ takes priority.+If neither /@icon@/ or /@iconName@/ is set, the icon is taken from either+the file that is passed to launched application or from the 'GI.Gio.Interfaces.AppInfo.AppInfo'+for the launched application itself.++/Since: 2.14/+-}+appLaunchContextSetIconName ::+    (B.CallStack.HasCallStack, MonadIO m, IsAppLaunchContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.AppLaunchContext.AppLaunchContext' -}+    -> Maybe (T.Text)+    {- ^ /@iconName@/: an icon name, or 'Nothing' -}+    -> m ()+appLaunchContextSetIconName context iconName = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    maybeIconName <- case iconName of+        Nothing -> return nullPtr+        Just jIconName -> do+            jIconName' <- textToCString jIconName+            return jIconName'+    gdk_app_launch_context_set_icon_name context' maybeIconName+    touchManagedPtr context+    freeMem maybeIconName+    return ()++#if ENABLE_OVERLOADING+data AppLaunchContextSetIconNameMethodInfo+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsAppLaunchContext a) => O.MethodInfo AppLaunchContextSetIconNameMethodInfo a signature where+    overloadedMethod _ = appLaunchContextSetIconName++#endif++-- method AppLaunchContext::set_screen+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "AppLaunchContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkAppLaunchContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_app_launch_context_set_screen" gdk_app_launch_context_set_screen :: +    Ptr AppLaunchContext ->                 -- context : TInterface (Name {namespace = "Gdk", name = "AppLaunchContext"})+    Ptr Gdk.Screen.Screen ->                -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    IO ()++{- |+Sets the screen on which applications will be launched when+using this context. See also 'GI.Gdk.Objects.AppLaunchContext.appLaunchContextSetDisplay'.++If both /@screen@/ and /@display@/ are set, the /@screen@/ takes priority.+If neither /@screen@/ or /@display@/ are set, the default screen and+display are used.++/Since: 2.14/+-}+appLaunchContextSetScreen ::+    (B.CallStack.HasCallStack, MonadIO m, IsAppLaunchContext a, Gdk.Screen.IsScreen b) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.AppLaunchContext.AppLaunchContext' -}+    -> b+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}+    -> m ()+appLaunchContextSetScreen context screen = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    screen' <- unsafeManagedPtrCastPtr screen+    gdk_app_launch_context_set_screen context' screen'+    touchManagedPtr context+    touchManagedPtr screen+    return ()++#if ENABLE_OVERLOADING+data AppLaunchContextSetScreenMethodInfo+instance (signature ~ (b -> m ()), MonadIO m, IsAppLaunchContext a, Gdk.Screen.IsScreen b) => O.MethodInfo AppLaunchContextSetScreenMethodInfo a signature where+    overloadedMethod _ = appLaunchContextSetScreen++#endif++-- method AppLaunchContext::set_timestamp+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "AppLaunchContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkAppLaunchContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a timestamp", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_app_launch_context_set_timestamp" gdk_app_launch_context_set_timestamp :: +    Ptr AppLaunchContext ->                 -- context : TInterface (Name {namespace = "Gdk", name = "AppLaunchContext"})+    Word32 ->                               -- timestamp : TBasicType TUInt32+    IO ()++{- |+Sets the timestamp of /@context@/. The timestamp should ideally+be taken from the event that triggered the launch.++Window managers can use this information to avoid moving the+focus to the newly launched application when the user is busy+typing in another window. This is also known as \'focus stealing+prevention\'.++/Since: 2.14/+-}+appLaunchContextSetTimestamp ::+    (B.CallStack.HasCallStack, MonadIO m, IsAppLaunchContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.AppLaunchContext.AppLaunchContext' -}+    -> Word32+    {- ^ /@timestamp@/: a timestamp -}+    -> m ()+appLaunchContextSetTimestamp context timestamp = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    gdk_app_launch_context_set_timestamp context' timestamp+    touchManagedPtr context+    return ()++#if ENABLE_OVERLOADING+data AppLaunchContextSetTimestampMethodInfo+instance (signature ~ (Word32 -> m ()), MonadIO m, IsAppLaunchContext a) => O.MethodInfo AppLaunchContextSetTimestampMethodInfo a signature where+    overloadedMethod _ = appLaunchContextSetTimestamp++#endif++
+ GI/Gdk/Objects/AppLaunchContext.hs-boot view
@@ -0,0 +1,50 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Objects.AppLaunchContext where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype AppLaunchContext = AppLaunchContext (ManagedPtr AppLaunchContext)+instance GObject AppLaunchContext where+class (GObject o, O.IsDescendantOf AppLaunchContext o) => IsAppLaunchContext o+instance (GObject o, O.IsDescendantOf AppLaunchContext o) => IsAppLaunchContext o+instance O.HasParentTypes AppLaunchContext+#if ENABLE_OVERLOADING+data AppLaunchContextDisplayPropertyInfo+#endif+#if ENABLE_OVERLOADING+data AppLaunchContextSetDesktopMethodInfo+#endif+#if ENABLE_OVERLOADING+data AppLaunchContextSetDisplayMethodInfo+#endif+#if ENABLE_OVERLOADING+data AppLaunchContextSetIconMethodInfo+#endif+#if ENABLE_OVERLOADING+data AppLaunchContextSetIconNameMethodInfo+#endif+#if ENABLE_OVERLOADING+data AppLaunchContextSetScreenMethodInfo+#endif+#if ENABLE_OVERLOADING+data AppLaunchContextSetTimestampMethodInfo+#endif
+ GI/Gdk/Objects/Cursor.hs view
@@ -0,0 +1,835 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++A 'GI.Gdk.Objects.Cursor.Cursor' represents a cursor. Its contents are private.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Objects.Cursor+    ( ++-- * Exported types+    Cursor(..)                              ,+    IsCursor                                ,+    toCursor                                ,+    noCursor                                ,+++ -- * Methods+-- ** getCursorType #method:getCursorType#++#if ENABLE_OVERLOADING+    CursorGetCursorTypeMethodInfo           ,+#endif+    cursorGetCursorType                     ,+++-- ** getDisplay #method:getDisplay#++#if ENABLE_OVERLOADING+    CursorGetDisplayMethodInfo              ,+#endif+    cursorGetDisplay                        ,+++-- ** getImage #method:getImage#++#if ENABLE_OVERLOADING+    CursorGetImageMethodInfo                ,+#endif+    cursorGetImage                          ,+++-- ** getSurface #method:getSurface#++#if ENABLE_OVERLOADING+    CursorGetSurfaceMethodInfo              ,+#endif+    cursorGetSurface                        ,+++-- ** new #method:new#++    cursorNew                               ,+++-- ** newForDisplay #method:newForDisplay#++    cursorNewForDisplay                     ,+++-- ** newFromName #method:newFromName#++    cursorNewFromName                       ,+++-- ** newFromPixbuf #method:newFromPixbuf#++    cursorNewFromPixbuf                     ,+++-- ** newFromSurface #method:newFromSurface#++    cursorNewFromSurface                    ,+++-- ** ref #method:ref#++#if ENABLE_OVERLOADING+    CursorRefMethodInfo                     ,+#endif+    cursorRef                               ,+++-- ** unref #method:unref#++#if ENABLE_OVERLOADING+    CursorUnrefMethodInfo                   ,+#endif+    cursorUnref                             ,+++++ -- * Properties+-- ** cursorType #attr:cursorType#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    CursorCursorTypePropertyInfo            ,+#endif+    constructCursorCursorType               ,+#if ENABLE_OVERLOADING+    cursorCursorType                        ,+#endif+    getCursorCursorType                     ,+++-- ** display #attr:display#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    CursorDisplayPropertyInfo               ,+#endif+    constructCursorDisplay                  ,+#if ENABLE_OVERLOADING+    cursorDisplay                           ,+#endif+    getCursorDisplay                        ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import qualified GI.Cairo.Structs.Surface as Cairo.Surface+import qualified GI.GObject.Objects.Object as GObject.Object+import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Objects.Display as Gdk.Display+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf++-- | Memory-managed wrapper type.+newtype Cursor = Cursor (ManagedPtr Cursor)+foreign import ccall "gdk_cursor_get_type"+    c_gdk_cursor_get_type :: IO GType++instance GObject Cursor where+    gobjectType = c_gdk_cursor_get_type+    ++-- | Type class for types which can be safely cast to `Cursor`, for instance with `toCursor`.+class (GObject o, O.IsDescendantOf Cursor o) => IsCursor o+instance (GObject o, O.IsDescendantOf Cursor o) => IsCursor o++instance O.HasParentTypes Cursor+type instance O.ParentTypes Cursor = '[GObject.Object.Object]++-- | Cast to `Cursor`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toCursor :: (MonadIO m, IsCursor o) => o -> m Cursor+toCursor = liftIO . unsafeCastTo Cursor++-- | A convenience alias for `Nothing` :: `Maybe` `Cursor`.+noCursor :: Maybe Cursor+noCursor = Nothing++#if ENABLE_OVERLOADING+type family ResolveCursorMethod (t :: Symbol) (o :: *) :: * where+    ResolveCursorMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveCursorMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveCursorMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveCursorMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveCursorMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveCursorMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveCursorMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveCursorMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveCursorMethod "ref" o = CursorRefMethodInfo+    ResolveCursorMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveCursorMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveCursorMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveCursorMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveCursorMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveCursorMethod "unref" o = CursorUnrefMethodInfo+    ResolveCursorMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveCursorMethod "getCursorType" o = CursorGetCursorTypeMethodInfo+    ResolveCursorMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveCursorMethod "getDisplay" o = CursorGetDisplayMethodInfo+    ResolveCursorMethod "getImage" o = CursorGetImageMethodInfo+    ResolveCursorMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveCursorMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveCursorMethod "getSurface" o = CursorGetSurfaceMethodInfo+    ResolveCursorMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveCursorMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveCursorMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveCursorMethod t Cursor, O.MethodInfo info Cursor p) => OL.IsLabel t (Cursor -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++-- VVV Prop "cursor-type"+   -- Type: TInterface (Name {namespace = "Gdk", name = "CursorType"})+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@cursor-type@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' cursor #cursorType+@+-}+getCursorCursorType :: (MonadIO m, IsCursor o) => o -> m Gdk.Enums.CursorType+getCursorCursorType obj = liftIO $ B.Properties.getObjectPropertyEnum obj "cursor-type"++{- |+Construct a `GValueConstruct` with valid value for the “@cursor-type@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructCursorCursorType :: (IsCursor o) => Gdk.Enums.CursorType -> IO (GValueConstruct o)+constructCursorCursorType val = B.Properties.constructObjectPropertyEnum "cursor-type" val++#if ENABLE_OVERLOADING+data CursorCursorTypePropertyInfo+instance AttrInfo CursorCursorTypePropertyInfo where+    type AttrAllowedOps CursorCursorTypePropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint CursorCursorTypePropertyInfo = (~) Gdk.Enums.CursorType+    type AttrBaseTypeConstraint CursorCursorTypePropertyInfo = IsCursor+    type AttrGetType CursorCursorTypePropertyInfo = Gdk.Enums.CursorType+    type AttrLabel CursorCursorTypePropertyInfo = "cursor-type"+    type AttrOrigin CursorCursorTypePropertyInfo = Cursor+    attrGet _ = getCursorCursorType+    attrSet _ = undefined+    attrConstruct _ = constructCursorCursorType+    attrClear _ = undefined+#endif++-- VVV Prop "display"+   -- Type: TInterface (Name {namespace = "Gdk", name = "Display"})+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@display@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' cursor #display+@+-}+getCursorDisplay :: (MonadIO m, IsCursor o) => o -> m Gdk.Display.Display+getCursorDisplay obj = liftIO $ checkUnexpectedNothing "getCursorDisplay" $ B.Properties.getObjectPropertyObject obj "display" Gdk.Display.Display++{- |+Construct a `GValueConstruct` with valid value for the “@display@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructCursorDisplay :: (IsCursor o, Gdk.Display.IsDisplay a) => a -> IO (GValueConstruct o)+constructCursorDisplay val = B.Properties.constructObjectPropertyObject "display" (Just val)++#if ENABLE_OVERLOADING+data CursorDisplayPropertyInfo+instance AttrInfo CursorDisplayPropertyInfo where+    type AttrAllowedOps CursorDisplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint CursorDisplayPropertyInfo = Gdk.Display.IsDisplay+    type AttrBaseTypeConstraint CursorDisplayPropertyInfo = IsCursor+    type AttrGetType CursorDisplayPropertyInfo = Gdk.Display.Display+    type AttrLabel CursorDisplayPropertyInfo = "display"+    type AttrOrigin CursorDisplayPropertyInfo = Cursor+    attrGet _ = getCursorDisplay+    attrSet _ = undefined+    attrConstruct _ = constructCursorDisplay+    attrClear _ = undefined+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList Cursor+type instance O.AttributeList Cursor = CursorAttributeList+type CursorAttributeList = ('[ '("cursorType", CursorCursorTypePropertyInfo), '("display", CursorDisplayPropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+cursorCursorType :: AttrLabelProxy "cursorType"+cursorCursorType = AttrLabelProxy++cursorDisplay :: AttrLabelProxy "display"+cursorDisplay = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+type instance O.SignalList Cursor = CursorSignalList+type CursorSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method Cursor::new+-- method type : Constructor+-- Args : [Arg {argCName = "cursor_type", argType = TInterface (Name {namespace = "Gdk", name = "CursorType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "cursor to create", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Cursor"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cursor_new" gdk_cursor_new :: +    CInt ->                                 -- cursor_type : TInterface (Name {namespace = "Gdk", name = "CursorType"})+    IO (Ptr Cursor)++{-# DEPRECATED cursorNew ["(Since version 3.16)","Use 'GI.Gdk.Objects.Cursor.cursorNewForDisplay' instead."] #-}+{- |+Creates a new cursor from the set of builtin cursors for the default display.+See 'GI.Gdk.Objects.Cursor.cursorNewForDisplay'.++To make the cursor invisible, use 'GI.Gdk.Enums.CursorTypeBlankCursor'.+-}+cursorNew ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Gdk.Enums.CursorType+    {- ^ /@cursorType@/: cursor to create -}+    -> m Cursor+    {- ^ __Returns:__ a new 'GI.Gdk.Objects.Cursor.Cursor' -}+cursorNew cursorType = liftIO $ do+    let cursorType' = (fromIntegral . fromEnum) cursorType+    result <- gdk_cursor_new cursorType'+    checkUnexpectedReturnNULL "cursorNew" result+    result' <- (wrapObject Cursor) result+    return result'++#if ENABLE_OVERLOADING+#endif++-- method Cursor::new_for_display+-- method type : Constructor+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkDisplay for which the cursor will be created", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cursor_type", argType = TInterface (Name {namespace = "Gdk", name = "CursorType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "cursor to create", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Cursor"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cursor_new_for_display" gdk_cursor_new_for_display :: +    Ptr Gdk.Display.Display ->              -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    CInt ->                                 -- cursor_type : TInterface (Name {namespace = "Gdk", name = "CursorType"})+    IO (Ptr Cursor)++{- |+Creates a new cursor from the set of builtin cursors.++/Since: 2.2/+-}+cursorNewForDisplay ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Display.IsDisplay a) =>+    a+    {- ^ /@display@/: the 'GI.Gdk.Objects.Display.Display' for which the cursor will be created -}+    -> Gdk.Enums.CursorType+    {- ^ /@cursorType@/: cursor to create -}+    -> m Cursor+    {- ^ __Returns:__ a new 'GI.Gdk.Objects.Cursor.Cursor' -}+cursorNewForDisplay display cursorType = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    let cursorType' = (fromIntegral . fromEnum) cursorType+    result <- gdk_cursor_new_for_display display' cursorType'+    checkUnexpectedReturnNULL "cursorNewForDisplay" result+    result' <- (wrapObject Cursor) result+    touchManagedPtr display+    return result'++#if ENABLE_OVERLOADING+#endif++-- method Cursor::new_from_name+-- method type : Constructor+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkDisplay for which the cursor will be created", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the cursor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Cursor"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cursor_new_from_name" gdk_cursor_new_from_name :: +    Ptr Gdk.Display.Display ->              -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    CString ->                              -- name : TBasicType TUTF8+    IO (Ptr Cursor)++{- |+Creates a new cursor by looking up /@name@/ in the current cursor+theme.++A recommended set of cursor names that will work across different+platforms can be found in the CSS specification:++* \"none\"+* <<http://developer.gnome.org/gdk/stable/default_cursor.png>> \"default\"+* <<http://developer.gnome.org/gdk/stable/help_cursor.png>> \"help\"+* <<http://developer.gnome.org/gdk/stable/pointer_cursor.png>> \"pointer\"+* <<http://developer.gnome.org/gdk/stable/context_menu_cursor.png>> \"context-menu\"+* <<http://developer.gnome.org/gdk/stable/progress_cursor.png>> \"progress\"+* <<http://developer.gnome.org/gdk/stable/wait_cursor.png>> \"wait\"+* <<http://developer.gnome.org/gdk/stable/cell_cursor.png>> \"cell\"+* <<http://developer.gnome.org/gdk/stable/crosshair_cursor.png>> \"crosshair\"+* <<http://developer.gnome.org/gdk/stable/text_cursor.png>> \"text\"+* <<http://developer.gnome.org/gdk/stable/vertical_text_cursor.png>> \"vertical-text\"+* <<http://developer.gnome.org/gdk/stable/alias_cursor.png>> \"alias\"+* <<http://developer.gnome.org/gdk/stable/copy_cursor.png>> \"copy\"+* <<http://developer.gnome.org/gdk/stable/no_drop_cursor.png>> \"no-drop\"+* <<http://developer.gnome.org/gdk/stable/move_cursor.png>> \"move\"+* <<http://developer.gnome.org/gdk/stable/not_allowed_cursor.png>> \"not-allowed\"+* <<http://developer.gnome.org/gdk/stable/grab_cursor.png>> \"grab\"+* <<http://developer.gnome.org/gdk/stable/grabbing_cursor.png>> \"grabbing\"+* <<http://developer.gnome.org/gdk/stable/all_scroll_cursor.png>> \"all-scroll\"+* <<http://developer.gnome.org/gdk/stable/col_resize_cursor.png>> \"col-resize\"+* <<http://developer.gnome.org/gdk/stable/row_resize_cursor.png>> \"row-resize\"+* <<http://developer.gnome.org/gdk/stable/n_resize_cursor.png>> \"n-resize\"+* <<http://developer.gnome.org/gdk/stable/e_resize_cursor.png>> \"e-resize\"+* <<http://developer.gnome.org/gdk/stable/s_resize_cursor.png>> \"s-resize\"+* <<http://developer.gnome.org/gdk/stable/w_resize_cursor.png>> \"w-resize\"+* <<http://developer.gnome.org/gdk/stable/ne_resize_cursor.png>> \"ne-resize\"+* <<http://developer.gnome.org/gdk/stable/nw_resize_cursor.png>> \"nw-resize\"+* <<http://developer.gnome.org/gdk/stable/sw_resize_cursor.png>> \"sw-resize\"+* <<http://developer.gnome.org/gdk/stable/se_resize_cursor.png>> \"se-resize\"+* <<http://developer.gnome.org/gdk/stable/ew_resize_cursor.png>> \"ew-resize\"+* <<http://developer.gnome.org/gdk/stable/ns_resize_cursor.png>> \"ns-resize\"+* <<http://developer.gnome.org/gdk/stable/nesw_resize_cursor.png>> \"nesw-resize\"+* <<http://developer.gnome.org/gdk/stable/nwse_resize_cursor.png>> \"nwse-resize\"+* <<http://developer.gnome.org/gdk/stable/zoom_in_cursor.png>> \"zoom-in\"+* <<http://developer.gnome.org/gdk/stable/zoom_out_cursor.png>> \"zoom-out\"+++/Since: 2.8/+-}+cursorNewFromName ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Display.IsDisplay a) =>+    a+    {- ^ /@display@/: the 'GI.Gdk.Objects.Display.Display' for which the cursor will be created -}+    -> T.Text+    {- ^ /@name@/: the name of the cursor -}+    -> m (Maybe Cursor)+    {- ^ __Returns:__ a new 'GI.Gdk.Objects.Cursor.Cursor', or 'Nothing' if there is no+  cursor with the given name -}+cursorNewFromName display name = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    name' <- textToCString name+    result <- gdk_cursor_new_from_name display' name'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (wrapObject Cursor) result'+        return result''+    touchManagedPtr display+    freeMem name'+    return maybeResult++#if ENABLE_OVERLOADING+#endif++-- method Cursor::new_from_pixbuf+-- method type : Constructor+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkDisplay for which the cursor will be created", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkPixbuf containing the cursor image", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the horizontal offset of the \8220hotspot\8221 of the cursor.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the vertical offset of the \8220hotspot\8221 of the cursor.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Cursor"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cursor_new_from_pixbuf" gdk_cursor_new_from_pixbuf :: +    Ptr Gdk.Display.Display ->              -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- pixbuf : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})+    Int32 ->                                -- x : TBasicType TInt+    Int32 ->                                -- y : TBasicType TInt+    IO (Ptr Cursor)++{- |+Creates a new cursor from a pixbuf.++Not all GDK backends support RGBA cursors. If they are not+supported, a monochrome approximation will be displayed.+The functions 'GI.Gdk.Objects.Display.displaySupportsCursorAlpha' and+'GI.Gdk.Objects.Display.displaySupportsCursorColor' can be used to determine+whether RGBA cursors are supported;+'GI.Gdk.Objects.Display.displayGetDefaultCursorSize' and+'GI.Gdk.Objects.Display.displayGetMaximalCursorSize' give information about+cursor sizes.++If /@x@/ or /@y@/ are @-1@, the pixbuf must have+options named “x_hot” and “y_hot”, resp., containing+integer values between @0@ and the width resp. height of+the pixbuf. (Since: 3.0)++On the X backend, support for RGBA cursors requires a+sufficently new version of the X Render extension.++/Since: 2.4/+-}+cursorNewFromPixbuf ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Display.IsDisplay a, GdkPixbuf.Pixbuf.IsPixbuf b) =>+    a+    {- ^ /@display@/: the 'GI.Gdk.Objects.Display.Display' for which the cursor will be created -}+    -> b+    {- ^ /@pixbuf@/: the 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' containing the cursor image -}+    -> Int32+    {- ^ /@x@/: the horizontal offset of the “hotspot” of the cursor. -}+    -> Int32+    {- ^ /@y@/: the vertical offset of the “hotspot” of the cursor. -}+    -> m Cursor+    {- ^ __Returns:__ a new 'GI.Gdk.Objects.Cursor.Cursor'. -}+cursorNewFromPixbuf display pixbuf x y = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    pixbuf' <- unsafeManagedPtrCastPtr pixbuf+    result <- gdk_cursor_new_from_pixbuf display' pixbuf' x y+    checkUnexpectedReturnNULL "cursorNewFromPixbuf" result+    result' <- (wrapObject Cursor) result+    touchManagedPtr display+    touchManagedPtr pixbuf+    return result'++#if ENABLE_OVERLOADING+#endif++-- method Cursor::new_from_surface+-- method type : Constructor+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkDisplay for which the cursor will be created", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "surface", argType = TInterface (Name {namespace = "cairo", name = "Surface"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the cairo image surface containing the cursor pixel data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the horizontal offset of the \8220hotspot\8221 of the cursor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the vertical offset of the \8220hotspot\8221 of the cursor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Cursor"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cursor_new_from_surface" gdk_cursor_new_from_surface :: +    Ptr Gdk.Display.Display ->              -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    Ptr Cairo.Surface.Surface ->            -- surface : TInterface (Name {namespace = "cairo", name = "Surface"})+    CDouble ->                              -- x : TBasicType TDouble+    CDouble ->                              -- y : TBasicType TDouble+    IO (Ptr Cursor)++{- |+Creates a new cursor from a cairo image surface.++Not all GDK backends support RGBA cursors. If they are not+supported, a monochrome approximation will be displayed.+The functions 'GI.Gdk.Objects.Display.displaySupportsCursorAlpha' and+'GI.Gdk.Objects.Display.displaySupportsCursorColor' can be used to determine+whether RGBA cursors are supported;+'GI.Gdk.Objects.Display.displayGetDefaultCursorSize' and+'GI.Gdk.Objects.Display.displayGetMaximalCursorSize' give information about+cursor sizes.++On the X backend, support for RGBA cursors requires a+sufficently new version of the X Render extension.++/Since: 3.10/+-}+cursorNewFromSurface ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Display.IsDisplay a) =>+    a+    {- ^ /@display@/: the 'GI.Gdk.Objects.Display.Display' for which the cursor will be created -}+    -> Cairo.Surface.Surface+    {- ^ /@surface@/: the cairo image surface containing the cursor pixel data -}+    -> Double+    {- ^ /@x@/: the horizontal offset of the “hotspot” of the cursor -}+    -> Double+    {- ^ /@y@/: the vertical offset of the “hotspot” of the cursor -}+    -> m Cursor+    {- ^ __Returns:__ a new 'GI.Gdk.Objects.Cursor.Cursor'. -}+cursorNewFromSurface display surface x y = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    surface' <- unsafeManagedPtrGetPtr surface+    let x' = realToFrac x+    let y' = realToFrac y+    result <- gdk_cursor_new_from_surface display' surface' x' y'+    checkUnexpectedReturnNULL "cursorNewFromSurface" result+    result' <- (wrapObject Cursor) result+    touchManagedPtr display+    touchManagedPtr surface+    return result'++#if ENABLE_OVERLOADING+#endif++-- method Cursor::get_cursor_type+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "cursor", argType = TInterface (Name {namespace = "Gdk", name = "Cursor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkCursor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "CursorType"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cursor_get_cursor_type" gdk_cursor_get_cursor_type :: +    Ptr Cursor ->                           -- cursor : TInterface (Name {namespace = "Gdk", name = "Cursor"})+    IO CInt++{- |+Returns the cursor type for this cursor.++/Since: 2.22/+-}+cursorGetCursorType ::+    (B.CallStack.HasCallStack, MonadIO m, IsCursor a) =>+    a+    {- ^ /@cursor@/: a 'GI.Gdk.Objects.Cursor.Cursor' -}+    -> m Gdk.Enums.CursorType+    {- ^ __Returns:__ a 'GI.Gdk.Enums.CursorType' -}+cursorGetCursorType cursor = liftIO $ do+    cursor' <- unsafeManagedPtrCastPtr cursor+    result <- gdk_cursor_get_cursor_type cursor'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr cursor+    return result'++#if ENABLE_OVERLOADING+data CursorGetCursorTypeMethodInfo+instance (signature ~ (m Gdk.Enums.CursorType), MonadIO m, IsCursor a) => O.MethodInfo CursorGetCursorTypeMethodInfo a signature where+    overloadedMethod _ = cursorGetCursorType++#endif++-- method Cursor::get_display+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "cursor", argType = TInterface (Name {namespace = "Gdk", name = "Cursor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkCursor.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Display"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cursor_get_display" gdk_cursor_get_display :: +    Ptr Cursor ->                           -- cursor : TInterface (Name {namespace = "Gdk", name = "Cursor"})+    IO (Ptr Gdk.Display.Display)++{- |+Returns the display on which the 'GI.Gdk.Objects.Cursor.Cursor' is defined.++/Since: 2.2/+-}+cursorGetDisplay ::+    (B.CallStack.HasCallStack, MonadIO m, IsCursor a) =>+    a+    {- ^ /@cursor@/: a 'GI.Gdk.Objects.Cursor.Cursor'. -}+    -> m Gdk.Display.Display+    {- ^ __Returns:__ the 'GI.Gdk.Objects.Display.Display' associated to /@cursor@/ -}+cursorGetDisplay cursor = liftIO $ do+    cursor' <- unsafeManagedPtrCastPtr cursor+    result <- gdk_cursor_get_display cursor'+    checkUnexpectedReturnNULL "cursorGetDisplay" result+    result' <- (newObject Gdk.Display.Display) result+    touchManagedPtr cursor+    return result'++#if ENABLE_OVERLOADING+data CursorGetDisplayMethodInfo+instance (signature ~ (m Gdk.Display.Display), MonadIO m, IsCursor a) => O.MethodInfo CursorGetDisplayMethodInfo a signature where+    overloadedMethod _ = cursorGetDisplay++#endif++-- method Cursor::get_image+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "cursor", argType = TInterface (Name {namespace = "Gdk", name = "Cursor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkCursor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cursor_get_image" gdk_cursor_get_image :: +    Ptr Cursor ->                           -- cursor : TInterface (Name {namespace = "Gdk", name = "Cursor"})+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)++{- |+Returns a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' with the image used to display the cursor.++Note that depending on the capabilities of the windowing system and+on the cursor, GDK may not be able to obtain the image data. In this+case, 'Nothing' is returned.++/Since: 2.8/+-}+cursorGetImage ::+    (B.CallStack.HasCallStack, MonadIO m, IsCursor a) =>+    a+    {- ^ /@cursor@/: a 'GI.Gdk.Objects.Cursor.Cursor' -}+    -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)+    {- ^ __Returns:__ a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' representing+  /@cursor@/, or 'Nothing' -}+cursorGetImage cursor = liftIO $ do+    cursor' <- unsafeManagedPtrCastPtr cursor+    result <- gdk_cursor_get_image cursor'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (wrapObject GdkPixbuf.Pixbuf.Pixbuf) result'+        return result''+    touchManagedPtr cursor+    return maybeResult++#if ENABLE_OVERLOADING+data CursorGetImageMethodInfo+instance (signature ~ (m (Maybe GdkPixbuf.Pixbuf.Pixbuf)), MonadIO m, IsCursor a) => O.MethodInfo CursorGetImageMethodInfo a signature where+    overloadedMethod _ = cursorGetImage++#endif++-- method Cursor::get_surface+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "cursor", argType = TInterface (Name {namespace = "Gdk", name = "Cursor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkCursor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x_hot", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Location to store the hotspot x position,\n  or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y_hot", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Location to store the hotspot y position,\n  or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "cairo", name = "Surface"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cursor_get_surface" gdk_cursor_get_surface :: +    Ptr Cursor ->                           -- cursor : TInterface (Name {namespace = "Gdk", name = "Cursor"})+    Ptr CDouble ->                          -- x_hot : TBasicType TDouble+    Ptr CDouble ->                          -- y_hot : TBasicType TDouble+    IO (Ptr Cairo.Surface.Surface)++{- |+Returns a cairo image surface with the image used to display the cursor.++Note that depending on the capabilities of the windowing system and+on the cursor, GDK may not be able to obtain the image data. In this+case, 'Nothing' is returned.++/Since: 3.10/+-}+cursorGetSurface ::+    (B.CallStack.HasCallStack, MonadIO m, IsCursor a) =>+    a+    {- ^ /@cursor@/: a 'GI.Gdk.Objects.Cursor.Cursor' -}+    -> m ((Maybe Cairo.Surface.Surface, Double, Double))+    {- ^ __Returns:__ a 'GI.Cairo.Structs.Surface.Surface'+  representing /@cursor@/, or 'Nothing' -}+cursorGetSurface cursor = liftIO $ do+    cursor' <- unsafeManagedPtrCastPtr cursor+    xHot <- allocMem :: IO (Ptr CDouble)+    yHot <- allocMem :: IO (Ptr CDouble)+    result <- gdk_cursor_get_surface cursor' xHot yHot+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (wrapBoxed Cairo.Surface.Surface) result'+        return result''+    xHot' <- peek xHot+    let xHot'' = realToFrac xHot'+    yHot' <- peek yHot+    let yHot'' = realToFrac yHot'+    touchManagedPtr cursor+    freeMem xHot+    freeMem yHot+    return (maybeResult, xHot'', yHot'')++#if ENABLE_OVERLOADING+data CursorGetSurfaceMethodInfo+instance (signature ~ (m ((Maybe Cairo.Surface.Surface, Double, Double))), MonadIO m, IsCursor a) => O.MethodInfo CursorGetSurfaceMethodInfo a signature where+    overloadedMethod _ = cursorGetSurface++#endif++-- method Cursor::ref+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "cursor", argType = TInterface (Name {namespace = "Gdk", name = "Cursor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkCursor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Cursor"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cursor_ref" gdk_cursor_ref :: +    Ptr Cursor ->                           -- cursor : TInterface (Name {namespace = "Gdk", name = "Cursor"})+    IO (Ptr Cursor)++{-# DEPRECATED cursorRef ["(Since version 3.0)","Use 'GI.GObject.Objects.Object.objectRef' instead"] #-}+{- |+Adds a reference to /@cursor@/.+-}+cursorRef ::+    (B.CallStack.HasCallStack, MonadIO m, IsCursor a) =>+    a+    {- ^ /@cursor@/: a 'GI.Gdk.Objects.Cursor.Cursor' -}+    -> m Cursor+    {- ^ __Returns:__ Same /@cursor@/ that was passed in -}+cursorRef cursor = liftIO $ do+    cursor' <- unsafeManagedPtrCastPtr cursor+    result <- gdk_cursor_ref cursor'+    checkUnexpectedReturnNULL "cursorRef" result+    result' <- (wrapObject Cursor) result+    touchManagedPtr cursor+    return result'++#if ENABLE_OVERLOADING+data CursorRefMethodInfo+instance (signature ~ (m Cursor), MonadIO m, IsCursor a) => O.MethodInfo CursorRefMethodInfo a signature where+    overloadedMethod _ = cursorRef++#endif++-- method Cursor::unref+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "cursor", argType = TInterface (Name {namespace = "Gdk", name = "Cursor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkCursor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_cursor_unref" gdk_cursor_unref :: +    Ptr Cursor ->                           -- cursor : TInterface (Name {namespace = "Gdk", name = "Cursor"})+    IO ()++{-# DEPRECATED cursorUnref ["(Since version 3.0)","Use 'GI.GObject.Objects.Object.objectUnref' instead"] #-}+{- |+Removes a reference from /@cursor@/, deallocating the cursor+if no references remain.+-}+cursorUnref ::+    (B.CallStack.HasCallStack, MonadIO m, IsCursor a) =>+    a+    {- ^ /@cursor@/: a 'GI.Gdk.Objects.Cursor.Cursor' -}+    -> m ()+cursorUnref cursor = liftIO $ do+    cursor' <- unsafeManagedPtrCastPtr cursor+    gdk_cursor_unref cursor'+    touchManagedPtr cursor+    return ()++#if ENABLE_OVERLOADING+data CursorUnrefMethodInfo+instance (signature ~ (m ()), MonadIO m, IsCursor a) => O.MethodInfo CursorUnrefMethodInfo a signature where+    overloadedMethod _ = cursorUnref++#endif++
+ GI/Gdk/Objects/Cursor.hs-boot view
@@ -0,0 +1,53 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Objects.Cursor where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype Cursor = Cursor (ManagedPtr Cursor)+instance GObject Cursor where+class (GObject o, O.IsDescendantOf Cursor o) => IsCursor o+instance (GObject o, O.IsDescendantOf Cursor o) => IsCursor o+instance O.HasParentTypes Cursor+#if ENABLE_OVERLOADING+data CursorCursorTypePropertyInfo+#endif+#if ENABLE_OVERLOADING+data CursorDisplayPropertyInfo+#endif+#if ENABLE_OVERLOADING+data CursorGetCursorTypeMethodInfo+#endif+#if ENABLE_OVERLOADING+data CursorGetDisplayMethodInfo+#endif+#if ENABLE_OVERLOADING+data CursorGetImageMethodInfo+#endif+#if ENABLE_OVERLOADING+data CursorGetSurfaceMethodInfo+#endif+#if ENABLE_OVERLOADING+data CursorRefMethodInfo+#endif+#if ENABLE_OVERLOADING+data CursorUnrefMethodInfo+#endif
+ GI/Gdk/Objects/Device.hs view
@@ -0,0 +1,2755 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++The 'GI.Gdk.Objects.Device.Device' object represents a single input device, such+as a keyboard, a mouse, a touchpad, etc.++See the 'GI.Gdk.Objects.DeviceManager.DeviceManager' documentation for more information+about the various kinds of master and slave devices, and their+relationships.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Objects.Device+    ( ++-- * Exported types+    Device(..)                              ,+    IsDevice                                ,+    toDevice                                ,+    noDevice                                ,+++ -- * Methods+-- ** getAssociatedDevice #method:getAssociatedDevice#++#if ENABLE_OVERLOADING+    DeviceGetAssociatedDeviceMethodInfo     ,+#endif+    deviceGetAssociatedDevice               ,+++-- ** getAxes #method:getAxes#++#if ENABLE_OVERLOADING+    DeviceGetAxesMethodInfo                 ,+#endif+    deviceGetAxes                           ,+++-- ** getAxisUse #method:getAxisUse#++#if ENABLE_OVERLOADING+    DeviceGetAxisUseMethodInfo              ,+#endif+    deviceGetAxisUse                        ,+++-- ** getDeviceType #method:getDeviceType#++#if ENABLE_OVERLOADING+    DeviceGetDeviceTypeMethodInfo           ,+#endif+    deviceGetDeviceType                     ,+++-- ** getDisplay #method:getDisplay#++#if ENABLE_OVERLOADING+    DeviceGetDisplayMethodInfo              ,+#endif+    deviceGetDisplay                        ,+++-- ** getHasCursor #method:getHasCursor#++#if ENABLE_OVERLOADING+    DeviceGetHasCursorMethodInfo            ,+#endif+    deviceGetHasCursor                      ,+++-- ** getKey #method:getKey#++#if ENABLE_OVERLOADING+    DeviceGetKeyMethodInfo                  ,+#endif+    deviceGetKey                            ,+++-- ** getLastEventWindow #method:getLastEventWindow#++#if ENABLE_OVERLOADING+    DeviceGetLastEventWindowMethodInfo      ,+#endif+    deviceGetLastEventWindow                ,+++-- ** getMode #method:getMode#++#if ENABLE_OVERLOADING+    DeviceGetModeMethodInfo                 ,+#endif+    deviceGetMode                           ,+++-- ** getNAxes #method:getNAxes#++#if ENABLE_OVERLOADING+    DeviceGetNAxesMethodInfo                ,+#endif+    deviceGetNAxes                          ,+++-- ** getNKeys #method:getNKeys#++#if ENABLE_OVERLOADING+    DeviceGetNKeysMethodInfo                ,+#endif+    deviceGetNKeys                          ,+++-- ** getName #method:getName#++#if ENABLE_OVERLOADING+    DeviceGetNameMethodInfo                 ,+#endif+    deviceGetName                           ,+++-- ** getPosition #method:getPosition#++#if ENABLE_OVERLOADING+    DeviceGetPositionMethodInfo             ,+#endif+    deviceGetPosition                       ,+++-- ** getPositionDouble #method:getPositionDouble#++#if ENABLE_OVERLOADING+    DeviceGetPositionDoubleMethodInfo       ,+#endif+    deviceGetPositionDouble                 ,+++-- ** getProductId #method:getProductId#++#if ENABLE_OVERLOADING+    DeviceGetProductIdMethodInfo            ,+#endif+    deviceGetProductId                      ,+++-- ** getSeat #method:getSeat#++#if ENABLE_OVERLOADING+    DeviceGetSeatMethodInfo                 ,+#endif+    deviceGetSeat                           ,+++-- ** getSource #method:getSource#++#if ENABLE_OVERLOADING+    DeviceGetSourceMethodInfo               ,+#endif+    deviceGetSource                         ,+++-- ** getVendorId #method:getVendorId#++#if ENABLE_OVERLOADING+    DeviceGetVendorIdMethodInfo             ,+#endif+    deviceGetVendorId                       ,+++-- ** getWindowAtPosition #method:getWindowAtPosition#++#if ENABLE_OVERLOADING+    DeviceGetWindowAtPositionMethodInfo     ,+#endif+    deviceGetWindowAtPosition               ,+++-- ** getWindowAtPositionDouble #method:getWindowAtPositionDouble#++#if ENABLE_OVERLOADING+    DeviceGetWindowAtPositionDoubleMethodInfo,+#endif+    deviceGetWindowAtPositionDouble         ,+++-- ** grab #method:grab#++#if ENABLE_OVERLOADING+    DeviceGrabMethodInfo                    ,+#endif+    deviceGrab                              ,+++-- ** grabInfoLibgtkOnly #method:grabInfoLibgtkOnly#++    deviceGrabInfoLibgtkOnly                ,+++-- ** listAxes #method:listAxes#++#if ENABLE_OVERLOADING+    DeviceListAxesMethodInfo                ,+#endif+    deviceListAxes                          ,+++-- ** listSlaveDevices #method:listSlaveDevices#++#if ENABLE_OVERLOADING+    DeviceListSlaveDevicesMethodInfo        ,+#endif+    deviceListSlaveDevices                  ,+++-- ** setAxisUse #method:setAxisUse#++#if ENABLE_OVERLOADING+    DeviceSetAxisUseMethodInfo              ,+#endif+    deviceSetAxisUse                        ,+++-- ** setKey #method:setKey#++#if ENABLE_OVERLOADING+    DeviceSetKeyMethodInfo                  ,+#endif+    deviceSetKey                            ,+++-- ** setMode #method:setMode#++#if ENABLE_OVERLOADING+    DeviceSetModeMethodInfo                 ,+#endif+    deviceSetMode                           ,+++-- ** ungrab #method:ungrab#++#if ENABLE_OVERLOADING+    DeviceUngrabMethodInfo                  ,+#endif+    deviceUngrab                            ,+++-- ** warp #method:warp#++#if ENABLE_OVERLOADING+    DeviceWarpMethodInfo                    ,+#endif+    deviceWarp                              ,+++++ -- * Properties+-- ** associatedDevice #attr:associatedDevice#+{- | Associated pointer or keyboard with this device, if any. Devices of type @/GDK_DEVICE_TYPE_MASTER/@+always come in keyboard\/pointer pairs. Other device types will have a 'Nothing' associated device.++/Since: 3.0/+-}+#if ENABLE_OVERLOADING+    DeviceAssociatedDevicePropertyInfo      ,+#endif+#if ENABLE_OVERLOADING+    deviceAssociatedDevice                  ,+#endif+    getDeviceAssociatedDevice               ,+++-- ** axes #attr:axes#+{- | The axes currently available for this device.++/Since: 3.22/+-}+#if ENABLE_OVERLOADING+    DeviceAxesPropertyInfo                  ,+#endif+#if ENABLE_OVERLOADING+    deviceAxes                              ,+#endif+    getDeviceAxes                           ,+++-- ** deviceManager #attr:deviceManager#+{- | The 'GI.Gdk.Objects.DeviceManager.DeviceManager' the 'GI.Gdk.Objects.Device.Device' pertains to.++/Since: 3.0/+-}+#if ENABLE_OVERLOADING+    DeviceDeviceManagerPropertyInfo         ,+#endif+    constructDeviceDeviceManager            ,+#if ENABLE_OVERLOADING+    deviceDeviceManager                     ,+#endif+    getDeviceDeviceManager                  ,+++-- ** display #attr:display#+{- | The 'GI.Gdk.Objects.Display.Display' the 'GI.Gdk.Objects.Device.Device' pertains to.++/Since: 3.0/+-}+#if ENABLE_OVERLOADING+    DeviceDisplayPropertyInfo               ,+#endif+    constructDeviceDisplay                  ,+#if ENABLE_OVERLOADING+    deviceDisplay                           ,+#endif+    getDeviceDisplay                        ,+++-- ** hasCursor #attr:hasCursor#+{- | Whether the device is represented by a cursor on the screen. Devices of type+'GI.Gdk.Enums.DeviceTypeMaster' will have 'True' here.++/Since: 3.0/+-}+#if ENABLE_OVERLOADING+    DeviceHasCursorPropertyInfo             ,+#endif+    constructDeviceHasCursor                ,+#if ENABLE_OVERLOADING+    deviceHasCursor                         ,+#endif+    getDeviceHasCursor                      ,+++-- ** inputMode #attr:inputMode#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    DeviceInputModePropertyInfo             ,+#endif+    constructDeviceInputMode                ,+#if ENABLE_OVERLOADING+    deviceInputMode                         ,+#endif+    getDeviceInputMode                      ,+    setDeviceInputMode                      ,+++-- ** inputSource #attr:inputSource#+{- | Source type for the device.++/Since: 3.0/+-}+#if ENABLE_OVERLOADING+    DeviceInputSourcePropertyInfo           ,+#endif+    constructDeviceInputSource              ,+#if ENABLE_OVERLOADING+    deviceInputSource                       ,+#endif+    getDeviceInputSource                    ,+++-- ** nAxes #attr:nAxes#+{- | Number of axes in the device.++/Since: 3.0/+-}+#if ENABLE_OVERLOADING+    DeviceNAxesPropertyInfo                 ,+#endif+#if ENABLE_OVERLOADING+    deviceNAxes                             ,+#endif+    getDeviceNAxes                          ,+++-- ** name #attr:name#+{- | The device name.++/Since: 3.0/+-}+#if ENABLE_OVERLOADING+    DeviceNamePropertyInfo                  ,+#endif+    constructDeviceName                     ,+#if ENABLE_OVERLOADING+    deviceName                              ,+#endif+    getDeviceName                           ,+++-- ** numTouches #attr:numTouches#+{- | The maximal number of concurrent touches on a touch device.+Will be 0 if the device is not a touch device or if the number+of touches is unknown.++/Since: 3.20/+-}+#if ENABLE_OVERLOADING+    DeviceNumTouchesPropertyInfo            ,+#endif+    constructDeviceNumTouches               ,+#if ENABLE_OVERLOADING+    deviceNumTouches                        ,+#endif+    getDeviceNumTouches                     ,+++-- ** productId #attr:productId#+{- | Product ID of this device, see 'GI.Gdk.Objects.Device.deviceGetProductId'.++/Since: 3.16/+-}+#if ENABLE_OVERLOADING+    DeviceProductIdPropertyInfo             ,+#endif+    constructDeviceProductId                ,+#if ENABLE_OVERLOADING+    deviceProductId                         ,+#endif+    getDeviceProductId                      ,+++-- ** seat #attr:seat#+{- | 'GI.Gdk.Objects.Seat.Seat' of this device.++/Since: 3.20/+-}+#if ENABLE_OVERLOADING+    DeviceSeatPropertyInfo                  ,+#endif+    clearDeviceSeat                         ,+    constructDeviceSeat                     ,+#if ENABLE_OVERLOADING+    deviceSeat                              ,+#endif+    getDeviceSeat                           ,+    setDeviceSeat                           ,+++-- ** tool #attr:tool#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    DeviceToolPropertyInfo                  ,+#endif+#if ENABLE_OVERLOADING+    deviceTool                              ,+#endif+    getDeviceTool                           ,+++-- ** type #attr:type#+{- | Device role in the device manager.++/Since: 3.0/+-}+#if ENABLE_OVERLOADING+    DeviceTypePropertyInfo                  ,+#endif+    constructDeviceType                     ,+#if ENABLE_OVERLOADING+    deviceType                              ,+#endif+    getDeviceType                           ,+++-- ** vendorId #attr:vendorId#+{- | Vendor ID of this device, see 'GI.Gdk.Objects.Device.deviceGetVendorId'.++/Since: 3.16/+-}+#if ENABLE_OVERLOADING+    DeviceVendorIdPropertyInfo              ,+#endif+    constructDeviceVendorId                 ,+#if ENABLE_OVERLOADING+    deviceVendorId                          ,+#endif+    getDeviceVendorId                       ,+++++ -- * Signals+-- ** changed #signal:changed#++    C_DeviceChangedCallback                 ,+    DeviceChangedCallback                   ,+#if ENABLE_OVERLOADING+    DeviceChangedSignalInfo                 ,+#endif+    afterDeviceChanged                      ,+    genClosure_DeviceChanged                ,+    mk_DeviceChangedCallback                ,+    noDeviceChangedCallback                 ,+    onDeviceChanged                         ,+    wrap_DeviceChangedCallback              ,+++-- ** toolChanged #signal:toolChanged#++    C_DeviceToolChangedCallback             ,+    DeviceToolChangedCallback               ,+#if ENABLE_OVERLOADING+    DeviceToolChangedSignalInfo             ,+#endif+    afterDeviceToolChanged                  ,+    genClosure_DeviceToolChanged            ,+    mk_DeviceToolChangedCallback            ,+    noDeviceToolChangedCallback             ,+    onDeviceToolChanged                     ,+    wrap_DeviceToolChangedCallback          ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import qualified GI.GObject.Objects.Object as GObject.Object+import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Flags as Gdk.Flags+import {-# SOURCE #-} qualified GI.Gdk.Objects.Cursor as Gdk.Cursor+import {-# SOURCE #-} qualified GI.Gdk.Objects.DeviceManager as Gdk.DeviceManager+import {-# SOURCE #-} qualified GI.Gdk.Objects.DeviceTool as Gdk.DeviceTool+import {-# SOURCE #-} qualified GI.Gdk.Objects.Display as Gdk.Display+import {-# SOURCE #-} qualified GI.Gdk.Objects.Screen as Gdk.Screen+import {-# SOURCE #-} qualified GI.Gdk.Objects.Seat as Gdk.Seat+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window+import {-# SOURCE #-} qualified GI.Gdk.Structs.Atom as Gdk.Atom++-- | Memory-managed wrapper type.+newtype Device = Device (ManagedPtr Device)+foreign import ccall "gdk_device_get_type"+    c_gdk_device_get_type :: IO GType++instance GObject Device where+    gobjectType = c_gdk_device_get_type+    ++-- | Type class for types which can be safely cast to `Device`, for instance with `toDevice`.+class (GObject o, O.IsDescendantOf Device o) => IsDevice o+instance (GObject o, O.IsDescendantOf Device o) => IsDevice o++instance O.HasParentTypes Device+type instance O.ParentTypes Device = '[GObject.Object.Object]++-- | Cast to `Device`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toDevice :: (MonadIO m, IsDevice o) => o -> m Device+toDevice = liftIO . unsafeCastTo Device++-- | A convenience alias for `Nothing` :: `Maybe` `Device`.+noDevice :: Maybe Device+noDevice = Nothing++#if ENABLE_OVERLOADING+type family ResolveDeviceMethod (t :: Symbol) (o :: *) :: * where+    ResolveDeviceMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveDeviceMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveDeviceMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveDeviceMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveDeviceMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveDeviceMethod "grab" o = DeviceGrabMethodInfo+    ResolveDeviceMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveDeviceMethod "listAxes" o = DeviceListAxesMethodInfo+    ResolveDeviceMethod "listSlaveDevices" o = DeviceListSlaveDevicesMethodInfo+    ResolveDeviceMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveDeviceMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveDeviceMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveDeviceMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveDeviceMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveDeviceMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveDeviceMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveDeviceMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveDeviceMethod "ungrab" o = DeviceUngrabMethodInfo+    ResolveDeviceMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveDeviceMethod "warp" o = DeviceWarpMethodInfo+    ResolveDeviceMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveDeviceMethod "getAssociatedDevice" o = DeviceGetAssociatedDeviceMethodInfo+    ResolveDeviceMethod "getAxes" o = DeviceGetAxesMethodInfo+    ResolveDeviceMethod "getAxisUse" o = DeviceGetAxisUseMethodInfo+    ResolveDeviceMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveDeviceMethod "getDeviceType" o = DeviceGetDeviceTypeMethodInfo+    ResolveDeviceMethod "getDisplay" o = DeviceGetDisplayMethodInfo+    ResolveDeviceMethod "getHasCursor" o = DeviceGetHasCursorMethodInfo+    ResolveDeviceMethod "getKey" o = DeviceGetKeyMethodInfo+    ResolveDeviceMethod "getLastEventWindow" o = DeviceGetLastEventWindowMethodInfo+    ResolveDeviceMethod "getMode" o = DeviceGetModeMethodInfo+    ResolveDeviceMethod "getNAxes" o = DeviceGetNAxesMethodInfo+    ResolveDeviceMethod "getNKeys" o = DeviceGetNKeysMethodInfo+    ResolveDeviceMethod "getName" o = DeviceGetNameMethodInfo+    ResolveDeviceMethod "getPosition" o = DeviceGetPositionMethodInfo+    ResolveDeviceMethod "getPositionDouble" o = DeviceGetPositionDoubleMethodInfo+    ResolveDeviceMethod "getProductId" o = DeviceGetProductIdMethodInfo+    ResolveDeviceMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveDeviceMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveDeviceMethod "getSeat" o = DeviceGetSeatMethodInfo+    ResolveDeviceMethod "getSource" o = DeviceGetSourceMethodInfo+    ResolveDeviceMethod "getVendorId" o = DeviceGetVendorIdMethodInfo+    ResolveDeviceMethod "getWindowAtPosition" o = DeviceGetWindowAtPositionMethodInfo+    ResolveDeviceMethod "getWindowAtPositionDouble" o = DeviceGetWindowAtPositionDoubleMethodInfo+    ResolveDeviceMethod "setAxisUse" o = DeviceSetAxisUseMethodInfo+    ResolveDeviceMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveDeviceMethod "setKey" o = DeviceSetKeyMethodInfo+    ResolveDeviceMethod "setMode" o = DeviceSetModeMethodInfo+    ResolveDeviceMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveDeviceMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveDeviceMethod t Device, O.MethodInfo info Device p) => OL.IsLabel t (Device -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++-- signal Device::changed+{- |+The ::changed signal is emitted either when the 'GI.Gdk.Objects.Device.Device'+has changed the number of either axes or keys. For example+In X this will normally happen when the slave device routing+events through the master device changes (for example, user+switches from the USB mouse to a tablet), in that case the+master device will change to reflect the new slave device+axes and keys.+-}+type DeviceChangedCallback =+    IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `DeviceChangedCallback`@.+noDeviceChangedCallback :: Maybe DeviceChangedCallback+noDeviceChangedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_DeviceChangedCallback =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_DeviceChangedCallback`.+foreign import ccall "wrapper"+    mk_DeviceChangedCallback :: C_DeviceChangedCallback -> IO (FunPtr C_DeviceChangedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_DeviceChanged :: MonadIO m => DeviceChangedCallback -> m (GClosure C_DeviceChangedCallback)+genClosure_DeviceChanged cb = liftIO $ do+    let cb' = wrap_DeviceChangedCallback cb+    mk_DeviceChangedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `DeviceChangedCallback` into a `C_DeviceChangedCallback`.+wrap_DeviceChangedCallback ::+    DeviceChangedCallback ->+    C_DeviceChangedCallback+wrap_DeviceChangedCallback _cb _ _ = do+    _cb +++{- |+Connect a signal handler for the “@changed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' device #changed callback+@+-}+onDeviceChanged :: (IsDevice a, MonadIO m) => a -> DeviceChangedCallback -> m SignalHandlerId+onDeviceChanged obj cb = liftIO $ do+    let cb' = wrap_DeviceChangedCallback cb+    cb'' <- mk_DeviceChangedCallback cb'+    connectSignalFunPtr obj "changed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@changed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' device #changed callback+@+-}+afterDeviceChanged :: (IsDevice a, MonadIO m) => a -> DeviceChangedCallback -> m SignalHandlerId+afterDeviceChanged obj cb = liftIO $ do+    let cb' = wrap_DeviceChangedCallback cb+    cb'' <- mk_DeviceChangedCallback cb'+    connectSignalFunPtr obj "changed" cb'' SignalConnectAfter+++-- signal Device::tool-changed+{- |+The ::tool-changed signal is emitted on pen\/eraser+@/GdkDevices/@ whenever tools enter or leave proximity.++/Since: 3.22/+-}+type DeviceToolChangedCallback =+    Gdk.DeviceTool.DeviceTool+    {- ^ /@tool@/: The new current tool -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `DeviceToolChangedCallback`@.+noDeviceToolChangedCallback :: Maybe DeviceToolChangedCallback+noDeviceToolChangedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_DeviceToolChangedCallback =+    Ptr () ->                               -- object+    Ptr Gdk.DeviceTool.DeviceTool ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_DeviceToolChangedCallback`.+foreign import ccall "wrapper"+    mk_DeviceToolChangedCallback :: C_DeviceToolChangedCallback -> IO (FunPtr C_DeviceToolChangedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_DeviceToolChanged :: MonadIO m => DeviceToolChangedCallback -> m (GClosure C_DeviceToolChangedCallback)+genClosure_DeviceToolChanged cb = liftIO $ do+    let cb' = wrap_DeviceToolChangedCallback cb+    mk_DeviceToolChangedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `DeviceToolChangedCallback` into a `C_DeviceToolChangedCallback`.+wrap_DeviceToolChangedCallback ::+    DeviceToolChangedCallback ->+    C_DeviceToolChangedCallback+wrap_DeviceToolChangedCallback _cb _ tool _ = do+    tool' <- (newObject Gdk.DeviceTool.DeviceTool) tool+    _cb  tool'+++{- |+Connect a signal handler for the “@tool-changed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' device #toolChanged callback+@+-}+onDeviceToolChanged :: (IsDevice a, MonadIO m) => a -> DeviceToolChangedCallback -> m SignalHandlerId+onDeviceToolChanged obj cb = liftIO $ do+    let cb' = wrap_DeviceToolChangedCallback cb+    cb'' <- mk_DeviceToolChangedCallback cb'+    connectSignalFunPtr obj "tool-changed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@tool-changed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' device #toolChanged callback+@+-}+afterDeviceToolChanged :: (IsDevice a, MonadIO m) => a -> DeviceToolChangedCallback -> m SignalHandlerId+afterDeviceToolChanged obj cb = liftIO $ do+    let cb' = wrap_DeviceToolChangedCallback cb+    cb'' <- mk_DeviceToolChangedCallback cb'+    connectSignalFunPtr obj "tool-changed" cb'' SignalConnectAfter+++-- VVV Prop "associated-device"+   -- Type: TInterface (Name {namespace = "Gdk", name = "Device"})+   -- Flags: [PropertyReadable]+   -- Nullable: (Just True,Nothing)++{- |+Get the value of the “@associated-device@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' device #associatedDevice+@+-}+getDeviceAssociatedDevice :: (MonadIO m, IsDevice o) => o -> m (Maybe Device)+getDeviceAssociatedDevice obj = liftIO $ B.Properties.getObjectPropertyObject obj "associated-device" Device++#if ENABLE_OVERLOADING+data DeviceAssociatedDevicePropertyInfo+instance AttrInfo DeviceAssociatedDevicePropertyInfo where+    type AttrAllowedOps DeviceAssociatedDevicePropertyInfo = '[ 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint DeviceAssociatedDevicePropertyInfo = (~) ()+    type AttrBaseTypeConstraint DeviceAssociatedDevicePropertyInfo = IsDevice+    type AttrGetType DeviceAssociatedDevicePropertyInfo = (Maybe Device)+    type AttrLabel DeviceAssociatedDevicePropertyInfo = "associated-device"+    type AttrOrigin DeviceAssociatedDevicePropertyInfo = Device+    attrGet _ = getDeviceAssociatedDevice+    attrSet _ = undefined+    attrConstruct _ = undefined+    attrClear _ = undefined+#endif++-- VVV Prop "axes"+   -- Type: TInterface (Name {namespace = "Gdk", name = "AxisFlags"})+   -- Flags: [PropertyReadable]+   -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@axes@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' device #axes+@+-}+getDeviceAxes :: (MonadIO m, IsDevice o) => o -> m [Gdk.Flags.AxisFlags]+getDeviceAxes obj = liftIO $ B.Properties.getObjectPropertyFlags obj "axes"++#if ENABLE_OVERLOADING+data DeviceAxesPropertyInfo+instance AttrInfo DeviceAxesPropertyInfo where+    type AttrAllowedOps DeviceAxesPropertyInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint DeviceAxesPropertyInfo = (~) ()+    type AttrBaseTypeConstraint DeviceAxesPropertyInfo = IsDevice+    type AttrGetType DeviceAxesPropertyInfo = [Gdk.Flags.AxisFlags]+    type AttrLabel DeviceAxesPropertyInfo = "axes"+    type AttrOrigin DeviceAxesPropertyInfo = Device+    attrGet _ = getDeviceAxes+    attrSet _ = undefined+    attrConstruct _ = undefined+    attrClear _ = undefined+#endif++-- VVV Prop "device-manager"+   -- Type: TInterface (Name {namespace = "Gdk", name = "DeviceManager"})+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@device-manager@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' device #deviceManager+@+-}+getDeviceDeviceManager :: (MonadIO m, IsDevice o) => o -> m (Maybe Gdk.DeviceManager.DeviceManager)+getDeviceDeviceManager obj = liftIO $ B.Properties.getObjectPropertyObject obj "device-manager" Gdk.DeviceManager.DeviceManager++{- |+Construct a `GValueConstruct` with valid value for the “@device-manager@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructDeviceDeviceManager :: (IsDevice o, Gdk.DeviceManager.IsDeviceManager a) => a -> IO (GValueConstruct o)+constructDeviceDeviceManager val = B.Properties.constructObjectPropertyObject "device-manager" (Just val)++#if ENABLE_OVERLOADING+data DeviceDeviceManagerPropertyInfo+instance AttrInfo DeviceDeviceManagerPropertyInfo where+    type AttrAllowedOps DeviceDeviceManagerPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint DeviceDeviceManagerPropertyInfo = Gdk.DeviceManager.IsDeviceManager+    type AttrBaseTypeConstraint DeviceDeviceManagerPropertyInfo = IsDevice+    type AttrGetType DeviceDeviceManagerPropertyInfo = (Maybe Gdk.DeviceManager.DeviceManager)+    type AttrLabel DeviceDeviceManagerPropertyInfo = "device-manager"+    type AttrOrigin DeviceDeviceManagerPropertyInfo = Device+    attrGet _ = getDeviceDeviceManager+    attrSet _ = undefined+    attrConstruct _ = constructDeviceDeviceManager+    attrClear _ = undefined+#endif++-- VVV Prop "display"+   -- Type: TInterface (Name {namespace = "Gdk", name = "Display"})+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@display@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' device #display+@+-}+getDeviceDisplay :: (MonadIO m, IsDevice o) => o -> m Gdk.Display.Display+getDeviceDisplay obj = liftIO $ checkUnexpectedNothing "getDeviceDisplay" $ B.Properties.getObjectPropertyObject obj "display" Gdk.Display.Display++{- |+Construct a `GValueConstruct` with valid value for the “@display@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructDeviceDisplay :: (IsDevice o, Gdk.Display.IsDisplay a) => a -> IO (GValueConstruct o)+constructDeviceDisplay val = B.Properties.constructObjectPropertyObject "display" (Just val)++#if ENABLE_OVERLOADING+data DeviceDisplayPropertyInfo+instance AttrInfo DeviceDisplayPropertyInfo where+    type AttrAllowedOps DeviceDisplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint DeviceDisplayPropertyInfo = Gdk.Display.IsDisplay+    type AttrBaseTypeConstraint DeviceDisplayPropertyInfo = IsDevice+    type AttrGetType DeviceDisplayPropertyInfo = Gdk.Display.Display+    type AttrLabel DeviceDisplayPropertyInfo = "display"+    type AttrOrigin DeviceDisplayPropertyInfo = Device+    attrGet _ = getDeviceDisplay+    attrSet _ = undefined+    attrConstruct _ = constructDeviceDisplay+    attrClear _ = undefined+#endif++-- VVV Prop "has-cursor"+   -- Type: TBasicType TBoolean+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@has-cursor@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' device #hasCursor+@+-}+getDeviceHasCursor :: (MonadIO m, IsDevice o) => o -> m Bool+getDeviceHasCursor obj = liftIO $ B.Properties.getObjectPropertyBool obj "has-cursor"++{- |+Construct a `GValueConstruct` with valid value for the “@has-cursor@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructDeviceHasCursor :: (IsDevice o) => Bool -> IO (GValueConstruct o)+constructDeviceHasCursor val = B.Properties.constructObjectPropertyBool "has-cursor" val++#if ENABLE_OVERLOADING+data DeviceHasCursorPropertyInfo+instance AttrInfo DeviceHasCursorPropertyInfo where+    type AttrAllowedOps DeviceHasCursorPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint DeviceHasCursorPropertyInfo = (~) Bool+    type AttrBaseTypeConstraint DeviceHasCursorPropertyInfo = IsDevice+    type AttrGetType DeviceHasCursorPropertyInfo = Bool+    type AttrLabel DeviceHasCursorPropertyInfo = "has-cursor"+    type AttrOrigin DeviceHasCursorPropertyInfo = Device+    attrGet _ = getDeviceHasCursor+    attrSet _ = undefined+    attrConstruct _ = constructDeviceHasCursor+    attrClear _ = undefined+#endif++-- VVV Prop "input-mode"+   -- Type: TInterface (Name {namespace = "Gdk", name = "InputMode"})+   -- Flags: [PropertyReadable,PropertyWritable]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@input-mode@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' device #inputMode+@+-}+getDeviceInputMode :: (MonadIO m, IsDevice o) => o -> m Gdk.Enums.InputMode+getDeviceInputMode obj = liftIO $ B.Properties.getObjectPropertyEnum obj "input-mode"++{- |+Set the value of the “@input-mode@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' device [ #inputMode 'Data.GI.Base.Attributes.:=' value ]+@+-}+setDeviceInputMode :: (MonadIO m, IsDevice o) => o -> Gdk.Enums.InputMode -> m ()+setDeviceInputMode obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "input-mode" val++{- |+Construct a `GValueConstruct` with valid value for the “@input-mode@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructDeviceInputMode :: (IsDevice o) => Gdk.Enums.InputMode -> IO (GValueConstruct o)+constructDeviceInputMode val = B.Properties.constructObjectPropertyEnum "input-mode" val++#if ENABLE_OVERLOADING+data DeviceInputModePropertyInfo+instance AttrInfo DeviceInputModePropertyInfo where+    type AttrAllowedOps DeviceInputModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint DeviceInputModePropertyInfo = (~) Gdk.Enums.InputMode+    type AttrBaseTypeConstraint DeviceInputModePropertyInfo = IsDevice+    type AttrGetType DeviceInputModePropertyInfo = Gdk.Enums.InputMode+    type AttrLabel DeviceInputModePropertyInfo = "input-mode"+    type AttrOrigin DeviceInputModePropertyInfo = Device+    attrGet _ = getDeviceInputMode+    attrSet _ = setDeviceInputMode+    attrConstruct _ = constructDeviceInputMode+    attrClear _ = undefined+#endif++-- VVV Prop "input-source"+   -- Type: TInterface (Name {namespace = "Gdk", name = "InputSource"})+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@input-source@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' device #inputSource+@+-}+getDeviceInputSource :: (MonadIO m, IsDevice o) => o -> m Gdk.Enums.InputSource+getDeviceInputSource obj = liftIO $ B.Properties.getObjectPropertyEnum obj "input-source"++{- |+Construct a `GValueConstruct` with valid value for the “@input-source@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructDeviceInputSource :: (IsDevice o) => Gdk.Enums.InputSource -> IO (GValueConstruct o)+constructDeviceInputSource val = B.Properties.constructObjectPropertyEnum "input-source" val++#if ENABLE_OVERLOADING+data DeviceInputSourcePropertyInfo+instance AttrInfo DeviceInputSourcePropertyInfo where+    type AttrAllowedOps DeviceInputSourcePropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint DeviceInputSourcePropertyInfo = (~) Gdk.Enums.InputSource+    type AttrBaseTypeConstraint DeviceInputSourcePropertyInfo = IsDevice+    type AttrGetType DeviceInputSourcePropertyInfo = Gdk.Enums.InputSource+    type AttrLabel DeviceInputSourcePropertyInfo = "input-source"+    type AttrOrigin DeviceInputSourcePropertyInfo = Device+    attrGet _ = getDeviceInputSource+    attrSet _ = undefined+    attrConstruct _ = constructDeviceInputSource+    attrClear _ = undefined+#endif++-- VVV Prop "n-axes"+   -- Type: TBasicType TUInt+   -- Flags: [PropertyReadable]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@n-axes@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' device #nAxes+@+-}+getDeviceNAxes :: (MonadIO m, IsDevice o) => o -> m Word32+getDeviceNAxes obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "n-axes"++#if ENABLE_OVERLOADING+data DeviceNAxesPropertyInfo+instance AttrInfo DeviceNAxesPropertyInfo where+    type AttrAllowedOps DeviceNAxesPropertyInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint DeviceNAxesPropertyInfo = (~) ()+    type AttrBaseTypeConstraint DeviceNAxesPropertyInfo = IsDevice+    type AttrGetType DeviceNAxesPropertyInfo = Word32+    type AttrLabel DeviceNAxesPropertyInfo = "n-axes"+    type AttrOrigin DeviceNAxesPropertyInfo = Device+    attrGet _ = getDeviceNAxes+    attrSet _ = undefined+    attrConstruct _ = undefined+    attrClear _ = undefined+#endif++-- VVV Prop "name"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@name@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' device #name+@+-}+getDeviceName :: (MonadIO m, IsDevice o) => o -> m T.Text+getDeviceName obj = liftIO $ checkUnexpectedNothing "getDeviceName" $ B.Properties.getObjectPropertyString obj "name"++{- |+Construct a `GValueConstruct` with valid value for the “@name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructDeviceName :: (IsDevice o) => T.Text -> IO (GValueConstruct o)+constructDeviceName val = B.Properties.constructObjectPropertyString "name" (Just val)++#if ENABLE_OVERLOADING+data DeviceNamePropertyInfo+instance AttrInfo DeviceNamePropertyInfo where+    type AttrAllowedOps DeviceNamePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint DeviceNamePropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint DeviceNamePropertyInfo = IsDevice+    type AttrGetType DeviceNamePropertyInfo = T.Text+    type AttrLabel DeviceNamePropertyInfo = "name"+    type AttrOrigin DeviceNamePropertyInfo = Device+    attrGet _ = getDeviceName+    attrSet _ = undefined+    attrConstruct _ = constructDeviceName+    attrClear _ = undefined+#endif++-- VVV Prop "num-touches"+   -- Type: TBasicType TUInt+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@num-touches@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' device #numTouches+@+-}+getDeviceNumTouches :: (MonadIO m, IsDevice o) => o -> m Word32+getDeviceNumTouches obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "num-touches"++{- |+Construct a `GValueConstruct` with valid value for the “@num-touches@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructDeviceNumTouches :: (IsDevice o) => Word32 -> IO (GValueConstruct o)+constructDeviceNumTouches val = B.Properties.constructObjectPropertyUInt32 "num-touches" val++#if ENABLE_OVERLOADING+data DeviceNumTouchesPropertyInfo+instance AttrInfo DeviceNumTouchesPropertyInfo where+    type AttrAllowedOps DeviceNumTouchesPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint DeviceNumTouchesPropertyInfo = (~) Word32+    type AttrBaseTypeConstraint DeviceNumTouchesPropertyInfo = IsDevice+    type AttrGetType DeviceNumTouchesPropertyInfo = Word32+    type AttrLabel DeviceNumTouchesPropertyInfo = "num-touches"+    type AttrOrigin DeviceNumTouchesPropertyInfo = Device+    attrGet _ = getDeviceNumTouches+    attrSet _ = undefined+    attrConstruct _ = constructDeviceNumTouches+    attrClear _ = undefined+#endif++-- VVV Prop "product-id"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Just True,Nothing)++{- |+Get the value of the “@product-id@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' device #productId+@+-}+getDeviceProductId :: (MonadIO m, IsDevice o) => o -> m (Maybe T.Text)+getDeviceProductId obj = liftIO $ B.Properties.getObjectPropertyString obj "product-id"++{- |+Construct a `GValueConstruct` with valid value for the “@product-id@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructDeviceProductId :: (IsDevice o) => T.Text -> IO (GValueConstruct o)+constructDeviceProductId val = B.Properties.constructObjectPropertyString "product-id" (Just val)++#if ENABLE_OVERLOADING+data DeviceProductIdPropertyInfo+instance AttrInfo DeviceProductIdPropertyInfo where+    type AttrAllowedOps DeviceProductIdPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint DeviceProductIdPropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint DeviceProductIdPropertyInfo = IsDevice+    type AttrGetType DeviceProductIdPropertyInfo = (Maybe T.Text)+    type AttrLabel DeviceProductIdPropertyInfo = "product-id"+    type AttrOrigin DeviceProductIdPropertyInfo = Device+    attrGet _ = getDeviceProductId+    attrSet _ = undefined+    attrConstruct _ = constructDeviceProductId+    attrClear _ = undefined+#endif++-- VVV Prop "seat"+   -- Type: TInterface (Name {namespace = "Gdk", name = "Seat"})+   -- Flags: [PropertyReadable,PropertyWritable]+   -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@seat@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' device #seat+@+-}+getDeviceSeat :: (MonadIO m, IsDevice o) => o -> m Gdk.Seat.Seat+getDeviceSeat obj = liftIO $ checkUnexpectedNothing "getDeviceSeat" $ B.Properties.getObjectPropertyObject obj "seat" Gdk.Seat.Seat++{- |+Set the value of the “@seat@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' device [ #seat 'Data.GI.Base.Attributes.:=' value ]+@+-}+setDeviceSeat :: (MonadIO m, IsDevice o, Gdk.Seat.IsSeat a) => o -> a -> m ()+setDeviceSeat obj val = liftIO $ B.Properties.setObjectPropertyObject obj "seat" (Just val)++{- |+Construct a `GValueConstruct` with valid value for the “@seat@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructDeviceSeat :: (IsDevice o, Gdk.Seat.IsSeat a) => a -> IO (GValueConstruct o)+constructDeviceSeat val = B.Properties.constructObjectPropertyObject "seat" (Just val)++{- |+Set the value of the “@seat@” property to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #seat+@+-}+clearDeviceSeat :: (MonadIO m, IsDevice o) => o -> m ()+clearDeviceSeat obj = liftIO $ B.Properties.setObjectPropertyObject obj "seat" (Nothing :: Maybe Gdk.Seat.Seat)++#if ENABLE_OVERLOADING+data DeviceSeatPropertyInfo+instance AttrInfo DeviceSeatPropertyInfo where+    type AttrAllowedOps DeviceSeatPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint DeviceSeatPropertyInfo = Gdk.Seat.IsSeat+    type AttrBaseTypeConstraint DeviceSeatPropertyInfo = IsDevice+    type AttrGetType DeviceSeatPropertyInfo = Gdk.Seat.Seat+    type AttrLabel DeviceSeatPropertyInfo = "seat"+    type AttrOrigin DeviceSeatPropertyInfo = Device+    attrGet _ = getDeviceSeat+    attrSet _ = setDeviceSeat+    attrConstruct _ = constructDeviceSeat+    attrClear _ = clearDeviceSeat+#endif++-- VVV Prop "tool"+   -- Type: TInterface (Name {namespace = "Gdk", name = "DeviceTool"})+   -- Flags: [PropertyReadable]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@tool@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' device #tool+@+-}+getDeviceTool :: (MonadIO m, IsDevice o) => o -> m (Maybe Gdk.DeviceTool.DeviceTool)+getDeviceTool obj = liftIO $ B.Properties.getObjectPropertyObject obj "tool" Gdk.DeviceTool.DeviceTool++#if ENABLE_OVERLOADING+data DeviceToolPropertyInfo+instance AttrInfo DeviceToolPropertyInfo where+    type AttrAllowedOps DeviceToolPropertyInfo = '[ 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint DeviceToolPropertyInfo = (~) ()+    type AttrBaseTypeConstraint DeviceToolPropertyInfo = IsDevice+    type AttrGetType DeviceToolPropertyInfo = (Maybe Gdk.DeviceTool.DeviceTool)+    type AttrLabel DeviceToolPropertyInfo = "tool"+    type AttrOrigin DeviceToolPropertyInfo = Device+    attrGet _ = getDeviceTool+    attrSet _ = undefined+    attrConstruct _ = undefined+    attrClear _ = undefined+#endif++-- VVV Prop "type"+   -- Type: TInterface (Name {namespace = "Gdk", name = "DeviceType"})+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@type@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' device #type+@+-}+getDeviceType :: (MonadIO m, IsDevice o) => o -> m Gdk.Enums.DeviceType+getDeviceType obj = liftIO $ B.Properties.getObjectPropertyEnum obj "type"++{- |+Construct a `GValueConstruct` with valid value for the “@type@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructDeviceType :: (IsDevice o) => Gdk.Enums.DeviceType -> IO (GValueConstruct o)+constructDeviceType val = B.Properties.constructObjectPropertyEnum "type" val++#if ENABLE_OVERLOADING+data DeviceTypePropertyInfo+instance AttrInfo DeviceTypePropertyInfo where+    type AttrAllowedOps DeviceTypePropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint DeviceTypePropertyInfo = (~) Gdk.Enums.DeviceType+    type AttrBaseTypeConstraint DeviceTypePropertyInfo = IsDevice+    type AttrGetType DeviceTypePropertyInfo = Gdk.Enums.DeviceType+    type AttrLabel DeviceTypePropertyInfo = "type"+    type AttrOrigin DeviceTypePropertyInfo = Device+    attrGet _ = getDeviceType+    attrSet _ = undefined+    attrConstruct _ = constructDeviceType+    attrClear _ = undefined+#endif++-- VVV Prop "vendor-id"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Just True,Nothing)++{- |+Get the value of the “@vendor-id@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' device #vendorId+@+-}+getDeviceVendorId :: (MonadIO m, IsDevice o) => o -> m (Maybe T.Text)+getDeviceVendorId obj = liftIO $ B.Properties.getObjectPropertyString obj "vendor-id"++{- |+Construct a `GValueConstruct` with valid value for the “@vendor-id@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructDeviceVendorId :: (IsDevice o) => T.Text -> IO (GValueConstruct o)+constructDeviceVendorId val = B.Properties.constructObjectPropertyString "vendor-id" (Just val)++#if ENABLE_OVERLOADING+data DeviceVendorIdPropertyInfo+instance AttrInfo DeviceVendorIdPropertyInfo where+    type AttrAllowedOps DeviceVendorIdPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint DeviceVendorIdPropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint DeviceVendorIdPropertyInfo = IsDevice+    type AttrGetType DeviceVendorIdPropertyInfo = (Maybe T.Text)+    type AttrLabel DeviceVendorIdPropertyInfo = "vendor-id"+    type AttrOrigin DeviceVendorIdPropertyInfo = Device+    attrGet _ = getDeviceVendorId+    attrSet _ = undefined+    attrConstruct _ = constructDeviceVendorId+    attrClear _ = undefined+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList Device+type instance O.AttributeList Device = DeviceAttributeList+type DeviceAttributeList = ('[ '("associatedDevice", DeviceAssociatedDevicePropertyInfo), '("axes", DeviceAxesPropertyInfo), '("deviceManager", DeviceDeviceManagerPropertyInfo), '("display", DeviceDisplayPropertyInfo), '("hasCursor", DeviceHasCursorPropertyInfo), '("inputMode", DeviceInputModePropertyInfo), '("inputSource", DeviceInputSourcePropertyInfo), '("nAxes", DeviceNAxesPropertyInfo), '("name", DeviceNamePropertyInfo), '("numTouches", DeviceNumTouchesPropertyInfo), '("productId", DeviceProductIdPropertyInfo), '("seat", DeviceSeatPropertyInfo), '("tool", DeviceToolPropertyInfo), '("type", DeviceTypePropertyInfo), '("vendorId", DeviceVendorIdPropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+deviceAssociatedDevice :: AttrLabelProxy "associatedDevice"+deviceAssociatedDevice = AttrLabelProxy++deviceAxes :: AttrLabelProxy "axes"+deviceAxes = AttrLabelProxy++deviceDeviceManager :: AttrLabelProxy "deviceManager"+deviceDeviceManager = AttrLabelProxy++deviceDisplay :: AttrLabelProxy "display"+deviceDisplay = AttrLabelProxy++deviceHasCursor :: AttrLabelProxy "hasCursor"+deviceHasCursor = AttrLabelProxy++deviceInputMode :: AttrLabelProxy "inputMode"+deviceInputMode = AttrLabelProxy++deviceInputSource :: AttrLabelProxy "inputSource"+deviceInputSource = AttrLabelProxy++deviceNAxes :: AttrLabelProxy "nAxes"+deviceNAxes = AttrLabelProxy++deviceName :: AttrLabelProxy "name"+deviceName = AttrLabelProxy++deviceNumTouches :: AttrLabelProxy "numTouches"+deviceNumTouches = AttrLabelProxy++deviceProductId :: AttrLabelProxy "productId"+deviceProductId = AttrLabelProxy++deviceSeat :: AttrLabelProxy "seat"+deviceSeat = AttrLabelProxy++deviceTool :: AttrLabelProxy "tool"+deviceTool = AttrLabelProxy++deviceType :: AttrLabelProxy "type"+deviceType = AttrLabelProxy++deviceVendorId :: AttrLabelProxy "vendorId"+deviceVendorId = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+data DeviceChangedSignalInfo+instance SignalInfo DeviceChangedSignalInfo where+    type HaskellCallbackType DeviceChangedSignalInfo = DeviceChangedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_DeviceChangedCallback cb+        cb'' <- mk_DeviceChangedCallback cb'+        connectSignalFunPtr obj "changed" cb'' connectMode++data DeviceToolChangedSignalInfo+instance SignalInfo DeviceToolChangedSignalInfo where+    type HaskellCallbackType DeviceToolChangedSignalInfo = DeviceToolChangedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_DeviceToolChangedCallback cb+        cb'' <- mk_DeviceToolChangedCallback cb'+        connectSignalFunPtr obj "tool-changed" cb'' connectMode++type instance O.SignalList Device = DeviceSignalList+type DeviceSignalList = ('[ '("changed", DeviceChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("toolChanged", DeviceToolChangedSignalInfo)] :: [(Symbol, *)])++#endif++-- method Device::get_associated_device+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Device"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_associated_device" gdk_device_get_associated_device :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    IO (Ptr Device)++{- |+Returns the associated device to /@device@/, if /@device@/ is of type+'GI.Gdk.Enums.DeviceTypeMaster', it will return the paired pointer or+keyboard.++If /@device@/ is of type 'GI.Gdk.Enums.DeviceTypeSlave', it will return+the master device to which /@device@/ is attached to.++If /@device@/ is of type 'GI.Gdk.Enums.DeviceTypeFloating', 'Nothing' will be+returned, as there is no associated device.++/Since: 3.0/+-}+deviceGetAssociatedDevice ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}+    -> m (Maybe Device)+    {- ^ __Returns:__ The associated device, or+  'Nothing' -}+deviceGetAssociatedDevice device = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    result <- gdk_device_get_associated_device device'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Device) result'+        return result''+    touchManagedPtr device+    return maybeResult++#if ENABLE_OVERLOADING+data DeviceGetAssociatedDeviceMethodInfo+instance (signature ~ (m (Maybe Device)), MonadIO m, IsDevice a) => O.MethodInfo DeviceGetAssociatedDeviceMethodInfo a signature where+    overloadedMethod _ = deviceGetAssociatedDevice++#endif++-- method Device::get_axes+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "AxisFlags"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_axes" gdk_device_get_axes :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    IO CUInt++{- |+Returns the axes currently available on the device.++/Since: 3.22/+-}+deviceGetAxes ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}+    -> m [Gdk.Flags.AxisFlags]+deviceGetAxes device = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    result <- gdk_device_get_axes device'+    let result' = wordToGFlags result+    touchManagedPtr device+    return result'++#if ENABLE_OVERLOADING+data DeviceGetAxesMethodInfo+instance (signature ~ (m [Gdk.Flags.AxisFlags]), MonadIO m, IsDevice a) => O.MethodInfo DeviceGetAxesMethodInfo a signature where+    overloadedMethod _ = deviceGetAxes++#endif++-- method Device::get_axis_use+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer #GdkDevice.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index_", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index of the axis.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "AxisUse"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_axis_use" gdk_device_get_axis_use :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    Word32 ->                               -- index_ : TBasicType TUInt+    IO CUInt++{- |+Returns the axis use for /@index_@/.++/Since: 2.20/+-}+deviceGetAxisUse ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: a pointer 'GI.Gdk.Objects.Device.Device'. -}+    -> Word32+    {- ^ /@index_@/: the index of the axis. -}+    -> m Gdk.Enums.AxisUse+    {- ^ __Returns:__ a 'GI.Gdk.Enums.AxisUse' specifying how the axis is used. -}+deviceGetAxisUse device index_ = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    result <- gdk_device_get_axis_use device' index_+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr device+    return result'++#if ENABLE_OVERLOADING+data DeviceGetAxisUseMethodInfo+instance (signature ~ (Word32 -> m Gdk.Enums.AxisUse), MonadIO m, IsDevice a) => O.MethodInfo DeviceGetAxisUseMethodInfo a signature where+    overloadedMethod _ = deviceGetAxisUse++#endif++-- method Device::get_device_type+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "DeviceType"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_device_type" gdk_device_get_device_type :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    IO CUInt++{- |+Returns the device type for /@device@/.++/Since: 3.0/+-}+deviceGetDeviceType ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}+    -> m Gdk.Enums.DeviceType+    {- ^ __Returns:__ the 'GI.Gdk.Enums.DeviceType' for /@device@/. -}+deviceGetDeviceType device = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    result <- gdk_device_get_device_type device'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr device+    return result'++#if ENABLE_OVERLOADING+data DeviceGetDeviceTypeMethodInfo+instance (signature ~ (m Gdk.Enums.DeviceType), MonadIO m, IsDevice a) => O.MethodInfo DeviceGetDeviceTypeMethodInfo a signature where+    overloadedMethod _ = deviceGetDeviceType++#endif++-- method Device::get_display+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Display"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_display" gdk_device_get_display :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    IO (Ptr Gdk.Display.Display)++{- |+Returns the 'GI.Gdk.Objects.Display.Display' to which /@device@/ pertains.++/Since: 3.0/+-}+deviceGetDisplay ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}+    -> m Gdk.Display.Display+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Display.Display'. This memory is owned+         by GTK+, and must not be freed or unreffed. -}+deviceGetDisplay device = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    result <- gdk_device_get_display device'+    checkUnexpectedReturnNULL "deviceGetDisplay" result+    result' <- (newObject Gdk.Display.Display) result+    touchManagedPtr device+    return result'++#if ENABLE_OVERLOADING+data DeviceGetDisplayMethodInfo+instance (signature ~ (m Gdk.Display.Display), MonadIO m, IsDevice a) => O.MethodInfo DeviceGetDisplayMethodInfo a signature where+    overloadedMethod _ = deviceGetDisplay++#endif++-- method Device::get_has_cursor+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_has_cursor" gdk_device_get_has_cursor :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    IO CInt++{- |+Determines whether the pointer follows device motion.+This is not meaningful for keyboard devices, which don\'t have a pointer.++/Since: 2.20/+-}+deviceGetHasCursor ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the pointer follows device motion -}+deviceGetHasCursor device = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    result <- gdk_device_get_has_cursor device'+    let result' = (/= 0) result+    touchManagedPtr device+    return result'++#if ENABLE_OVERLOADING+data DeviceGetHasCursorMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsDevice a) => O.MethodInfo DeviceGetHasCursorMethodInfo a signature where+    overloadedMethod _ = deviceGetHasCursor++#endif++-- method Device::get_key+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index_", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index of the macro button to get.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keyval", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return value for the keyval.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "modifiers", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return value for modifiers.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_key" gdk_device_get_key :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    Word32 ->                               -- index_ : TBasicType TUInt+    Ptr Word32 ->                           -- keyval : TBasicType TUInt+    Ptr CUInt ->                            -- modifiers : TInterface (Name {namespace = "Gdk", name = "ModifierType"})+    IO CInt++{- |+If /@index_@/ has a valid keyval, this function will return 'True'+and fill in /@keyval@/ and /@modifiers@/ with the keyval settings.++/Since: 2.20/+-}+deviceGetKey ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device'. -}+    -> Word32+    {- ^ /@index_@/: the index of the macro button to get. -}+    -> m ((Bool, Word32, [Gdk.Flags.ModifierType]))+    {- ^ __Returns:__ 'True' if keyval is set for /@index@/. -}+deviceGetKey device index_ = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    keyval <- allocMem :: IO (Ptr Word32)+    modifiers <- allocMem :: IO (Ptr CUInt)+    result <- gdk_device_get_key device' index_ keyval modifiers+    let result' = (/= 0) result+    keyval' <- peek keyval+    modifiers' <- peek modifiers+    let modifiers'' = wordToGFlags modifiers'+    touchManagedPtr device+    freeMem keyval+    freeMem modifiers+    return (result', keyval', modifiers'')++#if ENABLE_OVERLOADING+data DeviceGetKeyMethodInfo+instance (signature ~ (Word32 -> m ((Bool, Word32, [Gdk.Flags.ModifierType]))), MonadIO m, IsDevice a) => O.MethodInfo DeviceGetKeyMethodInfo a signature where+    overloadedMethod _ = deviceGetKey++#endif++-- method Device::get_last_event_window+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice, with a source other than %GDK_SOURCE_KEYBOARD", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_last_event_window" gdk_device_get_last_event_window :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    IO (Ptr Gdk.Window.Window)++{- |+Gets information about which window the given pointer device is in, based on events+that have been received so far from the display server. If another application+has a pointer grab, or this application has a grab with owner_events = 'False',+'Nothing' may be returned even if the pointer is physically over one of this+application\'s windows.++/Since: 3.12/+-}+deviceGetLastEventWindow ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device', with a source other than 'GI.Gdk.Enums.InputSourceKeyboard' -}+    -> m (Maybe Gdk.Window.Window)+    {- ^ __Returns:__ the last window the device -}+deviceGetLastEventWindow device = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    result <- gdk_device_get_last_event_window device'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Gdk.Window.Window) result'+        return result''+    touchManagedPtr device+    return maybeResult++#if ENABLE_OVERLOADING+data DeviceGetLastEventWindowMethodInfo+instance (signature ~ (m (Maybe Gdk.Window.Window)), MonadIO m, IsDevice a) => O.MethodInfo DeviceGetLastEventWindowMethodInfo a signature where+    overloadedMethod _ = deviceGetLastEventWindow++#endif++-- method Device::get_mode+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "InputMode"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_mode" gdk_device_get_mode :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    IO CUInt++{- |+Determines the mode of the device.++/Since: 2.20/+-}+deviceGetMode ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}+    -> m Gdk.Enums.InputMode+    {- ^ __Returns:__ a 'GI.Gdk.Enums.InputSource' -}+deviceGetMode device = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    result <- gdk_device_get_mode device'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr device+    return result'++#if ENABLE_OVERLOADING+data DeviceGetModeMethodInfo+instance (signature ~ (m Gdk.Enums.InputMode), MonadIO m, IsDevice a) => O.MethodInfo DeviceGetModeMethodInfo a signature where+    overloadedMethod _ = deviceGetMode++#endif++-- method Device::get_n_axes+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_n_axes" gdk_device_get_n_axes :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    IO Int32++{- |+Returns the number of axes the device currently has.++/Since: 3.0/+-}+deviceGetNAxes ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: a pointer 'GI.Gdk.Objects.Device.Device' -}+    -> m Int32+    {- ^ __Returns:__ the number of axes. -}+deviceGetNAxes device = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    result <- gdk_device_get_n_axes device'+    touchManagedPtr device+    return result++#if ENABLE_OVERLOADING+data DeviceGetNAxesMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsDevice a) => O.MethodInfo DeviceGetNAxesMethodInfo a signature where+    overloadedMethod _ = deviceGetNAxes++#endif++-- method Device::get_n_keys+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_n_keys" gdk_device_get_n_keys :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    IO Int32++{- |+Returns the number of keys the device currently has.++/Since: 2.24/+-}+deviceGetNKeys ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}+    -> m Int32+    {- ^ __Returns:__ the number of keys. -}+deviceGetNKeys device = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    result <- gdk_device_get_n_keys device'+    touchManagedPtr device+    return result++#if ENABLE_OVERLOADING+data DeviceGetNKeysMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsDevice a) => O.MethodInfo DeviceGetNKeysMethodInfo a signature where+    overloadedMethod _ = deviceGetNKeys++#endif++-- method Device::get_name+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_name" gdk_device_get_name :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    IO CString++{- |+Determines the name of the device.++/Since: 2.20/+-}+deviceGetName ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}+    -> m T.Text+    {- ^ __Returns:__ a name -}+deviceGetName device = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    result <- gdk_device_get_name device'+    checkUnexpectedReturnNULL "deviceGetName" result+    result' <- cstringToText result+    touchManagedPtr device+    return result'++#if ENABLE_OVERLOADING+data DeviceGetNameMethodInfo+instance (signature ~ (m T.Text), MonadIO m, IsDevice a) => O.MethodInfo DeviceGetNameMethodInfo a signature where+    overloadedMethod _ = deviceGetName++#endif++-- method Device::get_position+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer device to query status about.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the #GdkScreen\n         the @device is on, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store root window X coordinate of @device, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store root window Y coordinate of @device, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_position" gdk_device_get_position :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    Ptr (Ptr Gdk.Screen.Screen) ->          -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    Ptr Int32 ->                            -- x : TBasicType TInt+    Ptr Int32 ->                            -- y : TBasicType TInt+    IO ()++{- |+Gets the current location of /@device@/. As a slave device+coordinates are those of its master pointer, This function+may not be called on devices of type 'GI.Gdk.Enums.DeviceTypeSlave',+unless there is an ongoing grab on them, see 'GI.Gdk.Objects.Device.deviceGrab'.++/Since: 3.0/+-}+deviceGetPosition ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: pointer device to query status about. -}+    -> m ((Gdk.Screen.Screen, Int32, Int32))+deviceGetPosition device = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    screen <- allocMem :: IO (Ptr (Ptr Gdk.Screen.Screen))+    x <- allocMem :: IO (Ptr Int32)+    y <- allocMem :: IO (Ptr Int32)+    gdk_device_get_position device' screen x y+    screen' <- peek screen+    screen'' <- (newObject Gdk.Screen.Screen) screen'+    x' <- peek x+    y' <- peek y+    touchManagedPtr device+    freeMem screen+    freeMem x+    freeMem y+    return (screen'', x', y')++#if ENABLE_OVERLOADING+data DeviceGetPositionMethodInfo+instance (signature ~ (m ((Gdk.Screen.Screen, Int32, Int32))), MonadIO m, IsDevice a) => O.MethodInfo DeviceGetPositionMethodInfo a signature where+    overloadedMethod _ = deviceGetPosition++#endif++-- method Device::get_position_double+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer device to query status about.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the #GdkScreen\n         the @device is on, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store root window X coordinate of @device, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store root window Y coordinate of @device, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_position_double" gdk_device_get_position_double :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    Ptr (Ptr Gdk.Screen.Screen) ->          -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    Ptr CDouble ->                          -- x : TBasicType TDouble+    Ptr CDouble ->                          -- y : TBasicType TDouble+    IO ()++{- |+Gets the current location of /@device@/ in double precision. As a slave device\'s+coordinates are those of its master pointer, this function+may not be called on devices of type 'GI.Gdk.Enums.DeviceTypeSlave',+unless there is an ongoing grab on them. See 'GI.Gdk.Objects.Device.deviceGrab'.++/Since: 3.10/+-}+deviceGetPositionDouble ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: pointer device to query status about. -}+    -> m ((Gdk.Screen.Screen, Double, Double))+deviceGetPositionDouble device = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    screen <- allocMem :: IO (Ptr (Ptr Gdk.Screen.Screen))+    x <- allocMem :: IO (Ptr CDouble)+    y <- allocMem :: IO (Ptr CDouble)+    gdk_device_get_position_double device' screen x y+    screen' <- peek screen+    screen'' <- (newObject Gdk.Screen.Screen) screen'+    x' <- peek x+    let x'' = realToFrac x'+    y' <- peek y+    let y'' = realToFrac y'+    touchManagedPtr device+    freeMem screen+    freeMem x+    freeMem y+    return (screen'', x'', y'')++#if ENABLE_OVERLOADING+data DeviceGetPositionDoubleMethodInfo+instance (signature ~ (m ((Gdk.Screen.Screen, Double, Double))), MonadIO m, IsDevice a) => O.MethodInfo DeviceGetPositionDoubleMethodInfo a signature where+    overloadedMethod _ = deviceGetPositionDouble++#endif++-- method Device::get_product_id+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a slave #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_product_id" gdk_device_get_product_id :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    IO CString++{- |+Returns the product ID of this device, or 'Nothing' if this information couldn\'t+be obtained. This ID is retrieved from the device, and is thus constant for+it. See 'GI.Gdk.Objects.Device.deviceGetVendorId' for more information.++/Since: 3.16/+-}+deviceGetProductId ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: a slave 'GI.Gdk.Objects.Device.Device' -}+    -> m (Maybe T.Text)+    {- ^ __Returns:__ the product ID, or 'Nothing' -}+deviceGetProductId device = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    result <- gdk_device_get_product_id device'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- cstringToText result'+        return result''+    touchManagedPtr device+    return maybeResult++#if ENABLE_OVERLOADING+data DeviceGetProductIdMethodInfo+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsDevice a) => O.MethodInfo DeviceGetProductIdMethodInfo a signature where+    overloadedMethod _ = deviceGetProductId++#endif++-- method Device::get_seat+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Seat"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_seat" gdk_device_get_seat :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    IO (Ptr Gdk.Seat.Seat)++{- |+Returns the 'GI.Gdk.Objects.Seat.Seat' the device belongs to.++/Since: 3.20/+-}+deviceGetSeat ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: A 'GI.Gdk.Objects.Device.Device' -}+    -> m Gdk.Seat.Seat+    {- ^ __Returns:__ A 'GI.Gdk.Objects.Seat.Seat'. This memory is owned by GTK+ and+         must not be freed. -}+deviceGetSeat device = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    result <- gdk_device_get_seat device'+    checkUnexpectedReturnNULL "deviceGetSeat" result+    result' <- (newObject Gdk.Seat.Seat) result+    touchManagedPtr device+    return result'++#if ENABLE_OVERLOADING+data DeviceGetSeatMethodInfo+instance (signature ~ (m Gdk.Seat.Seat), MonadIO m, IsDevice a) => O.MethodInfo DeviceGetSeatMethodInfo a signature where+    overloadedMethod _ = deviceGetSeat++#endif++-- method Device::get_source+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "InputSource"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_source" gdk_device_get_source :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    IO CUInt++{- |+Determines the type of the device.++/Since: 2.20/+-}+deviceGetSource ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}+    -> m Gdk.Enums.InputSource+    {- ^ __Returns:__ a 'GI.Gdk.Enums.InputSource' -}+deviceGetSource device = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    result <- gdk_device_get_source device'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr device+    return result'++#if ENABLE_OVERLOADING+data DeviceGetSourceMethodInfo+instance (signature ~ (m Gdk.Enums.InputSource), MonadIO m, IsDevice a) => O.MethodInfo DeviceGetSourceMethodInfo a signature where+    overloadedMethod _ = deviceGetSource++#endif++-- method Device::get_vendor_id+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a slave #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_vendor_id" gdk_device_get_vendor_id :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    IO CString++{- |+Returns the vendor ID of this device, or 'Nothing' if this information couldn\'t+be obtained. This ID is retrieved from the device, and is thus constant for+it.++This function, together with 'GI.Gdk.Objects.Device.deviceGetProductId', can be used to eg.+compose 'GI.Gio.Objects.Settings.Settings' paths to store settings for this device.+++=== /C code/+>+> static GSettings *+> get_device_settings (GdkDevice *device)+> {+>   const gchar *vendor, *product;+>   GSettings *settings;+>   GdkDevice *device;+>   gchar *path;+>+>   vendor = gdk_device_get_vendor_id (device);+>   product = gdk_device_get_product_id (device);+>+>   path = g_strdup_printf ("/org/example/app/devices/%s:%s/", vendor, product);+>   settings = g_settings_new_with_path (DEVICE_SCHEMA, path);+>   g_free (path);+>+>   return settings;+> }+++/Since: 3.16/+-}+deviceGetVendorId ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: a slave 'GI.Gdk.Objects.Device.Device' -}+    -> m (Maybe T.Text)+    {- ^ __Returns:__ the vendor ID, or 'Nothing' -}+deviceGetVendorId device = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    result <- gdk_device_get_vendor_id device'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- cstringToText result'+        return result''+    touchManagedPtr device+    return maybeResult++#if ENABLE_OVERLOADING+data DeviceGetVendorIdMethodInfo+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsDevice a) => O.MethodInfo DeviceGetVendorIdMethodInfo a signature where+    overloadedMethod _ = deviceGetVendorId++#endif++-- method Device::get_window_at_position+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer #GdkDevice to query info to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "win_x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the X coordinate of the device location,\n        relative to the window origin, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "win_y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the Y coordinate of the device location,\n        relative to the window origin, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_get_window_at_position" gdk_device_get_window_at_position :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    Ptr Int32 ->                            -- win_x : TBasicType TInt+    Ptr Int32 ->                            -- win_y : TBasicType TInt+    IO (Ptr Gdk.Window.Window)++{- |+Obtains the window underneath /@device@/, returning the location of the device in /@winX@/ and /@winY@/. Returns+'Nothing' if the window tree under /@device@/ is not known to GDK (for example, belongs to another application).++As a slave device coordinates are those of its master pointer, This+function may not be called on devices of type 'GI.Gdk.Enums.DeviceTypeSlave',+unless there is an ongoing grab on them, see 'GI.Gdk.Objects.Device.deviceGrab'.++/Since: 3.0/+-}+deviceGetWindowAtPosition ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: pointer 'GI.Gdk.Objects.Device.Device' to query info to. -}+    -> m ((Maybe Gdk.Window.Window, Int32, Int32))+    {- ^ __Returns:__ the 'GI.Gdk.Objects.Window.Window' under the+device position, or 'Nothing'. -}+deviceGetWindowAtPosition device = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    winX <- allocMem :: IO (Ptr Int32)+    winY <- allocMem :: IO (Ptr Int32)+    result <- gdk_device_get_window_at_position device' winX winY+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Gdk.Window.Window) result'+        return result''+    winX' <- peek winX+    winY' <- peek winY+    touchManagedPtr device+    freeMem winX+    freeMem winY+    return (maybeResult, winX', winY')++#if ENABLE_OVERLOADING+data DeviceGetWindowAtPositionMethodInfo+instance (signature ~ (m ((Maybe Gdk.Window.Window, Int32, Int32))), MonadIO m, IsDevice a) => O.MethodInfo DeviceGetWindowAtPositionMethodInfo a signature where+    overloadedMethod _ = deviceGetWindowAtPosition++#endif++-- method Device::get_window_at_position_double+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer #GdkDevice to query info to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "win_x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the X coordinate of the device location,\n        relative to the window origin, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "win_y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the Y coordinate of the device location,\n        relative to the window origin, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "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 ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    Ptr CDouble ->                          -- win_x : TBasicType TDouble+    Ptr CDouble ->                          -- win_y : TBasicType TDouble+    IO (Ptr Gdk.Window.Window)++{- |+Obtains the window underneath /@device@/, returning the location of the device in /@winX@/ and /@winY@/ in+double precision. Returns 'Nothing' if the window tree under /@device@/ is not known to GDK (for example,+belongs to another application).++As a slave device coordinates are those of its master pointer, This+function may not be called on devices of type 'GI.Gdk.Enums.DeviceTypeSlave',+unless there is an ongoing grab on them, see 'GI.Gdk.Objects.Device.deviceGrab'.++/Since: 3.0/+-}+deviceGetWindowAtPositionDouble ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: pointer 'GI.Gdk.Objects.Device.Device' to query info to. -}+    -> m ((Maybe Gdk.Window.Window, Double, Double))+    {- ^ __Returns:__ the 'GI.Gdk.Objects.Window.Window' under the+  device position, or 'Nothing'. -}+deviceGetWindowAtPositionDouble device = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    winX <- allocMem :: IO (Ptr CDouble)+    winY <- allocMem :: IO (Ptr CDouble)+    result <- gdk_device_get_window_at_position_double device' winX winY+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Gdk.Window.Window) result'+        return result''+    winX' <- peek winX+    let winX'' = realToFrac winX'+    winY' <- peek winY+    let winY'' = realToFrac winY'+    touchManagedPtr device+    freeMem winX+    freeMem winY+    return (maybeResult, winX'', winY'')++#if ENABLE_OVERLOADING+data DeviceGetWindowAtPositionDoubleMethodInfo+instance (signature ~ (m ((Maybe Gdk.Window.Window, Double, Double))), MonadIO m, IsDevice a) => O.MethodInfo DeviceGetWindowAtPositionDoubleMethodInfo a signature where+    overloadedMethod _ = deviceGetWindowAtPositionDouble++#endif++-- method Device::grab+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice. To get the device you can use gtk_get_current_event_device()\n  or gdk_event_get_device() if the grab is in reaction to an event. Also, you can use\n  gdk_device_manager_get_client_pointer() but only in code that isn\8217t triggered by a\n  #GdkEvent and there aren\8217t other means to get a meaningful #GdkDevice to operate on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkWindow which will own the grab (the grab window)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "grab_ownership", argType = TInterface (Name {namespace = "Gdk", name = "GrabOwnership"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "specifies the grab ownership.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "owner_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if %FALSE then all device events are reported with respect to\n               @window and are only reported if selected by @event_mask. If\n               %TRUE then pointer events for this application are reported\n               as normal, but pointer events outside this application are\n               reported with respect to @window and only if selected by\n               @event_mask. In either mode, unreported events are discarded.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event_mask", argType = TInterface (Name {namespace = "Gdk", name = "EventMask"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "specifies the event mask, which is used in accordance with\n             @owner_events.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cursor", argType = TInterface (Name {namespace = "Gdk", name = "Cursor"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the cursor to display while the grab is active if the device is\n         a pointer. If this is %NULL then the normal cursors are used for\n         @window and its descendants, and the cursor for @window is used\n         elsewhere.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the timestamp of the event which led to this pointer grab. This\n        usually comes from the #GdkEvent struct, though %GDK_CURRENT_TIME\n        can be used if the time isn\8217t known.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "GrabStatus"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_grab" gdk_device_grab :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CUInt ->                                -- grab_ownership : TInterface (Name {namespace = "Gdk", name = "GrabOwnership"})+    CInt ->                                 -- owner_events : TBasicType TBoolean+    CUInt ->                                -- event_mask : TInterface (Name {namespace = "Gdk", name = "EventMask"})+    Ptr Gdk.Cursor.Cursor ->                -- cursor : TInterface (Name {namespace = "Gdk", name = "Cursor"})+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO CUInt++{-# DEPRECATED deviceGrab ["(Since version 3.20.)","Use 'GI.Gdk.Objects.Seat.seatGrab' instead."] #-}+{- |+Grabs the device so that all events coming from this device are passed to+this application until the device is ungrabbed with 'GI.Gdk.Objects.Device.deviceUngrab',+or the window becomes unviewable. This overrides any previous grab on the device+by this client.++Note that /@device@/ and /@window@/ need to be on the same display.++Device grabs are used for operations which need complete control over the+given device events (either pointer or keyboard). For example in GTK+ this+is used for Drag and Drop operations, popup menus and such.++Note that if the event mask of an X window has selected both button press+and button release events, then a button press event will cause an automatic+pointer grab until the button is released. X does this automatically since+most applications expect to receive button press and release events in pairs.+It is equivalent to a pointer grab on the window with /@ownerEvents@/ set to+'True'.++If you set up anything at the time you take the grab that needs to be+cleaned up when the grab ends, you should handle the 'GI.Gdk.Structs.EventGrabBroken.EventGrabBroken'+events that are emitted when the grab ends unvoluntarily.++/Since: 3.0/+-}+deviceGrab ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a, Gdk.Window.IsWindow b, Gdk.Cursor.IsCursor c) =>+    a+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device'. To get the device you can use @/gtk_get_current_event_device()/@+  or 'GI.Gdk.Unions.Event.eventGetDevice' if the grab is in reaction to an event. Also, you can use+  'GI.Gdk.Objects.DeviceManager.deviceManagerGetClientPointer' but only in code that isn’t triggered by a+  'GI.Gdk.Unions.Event.Event' and there aren’t other means to get a meaningful 'GI.Gdk.Objects.Device.Device' to operate on. -}+    -> b+    {- ^ /@window@/: the 'GI.Gdk.Objects.Window.Window' which will own the grab (the grab window) -}+    -> Gdk.Enums.GrabOwnership+    {- ^ /@grabOwnership@/: specifies the grab ownership. -}+    -> Bool+    {- ^ /@ownerEvents@/: if 'False' then all device events are reported with respect to+               /@window@/ and are only reported if selected by /@eventMask@/. If+               'True' then pointer events for this application are reported+               as normal, but pointer events outside this application are+               reported with respect to /@window@/ and only if selected by+               /@eventMask@/. In either mode, unreported events are discarded. -}+    -> [Gdk.Flags.EventMask]+    {- ^ /@eventMask@/: specifies the event mask, which is used in accordance with+             /@ownerEvents@/. -}+    -> Maybe (c)+    {- ^ /@cursor@/: the cursor to display while the grab is active if the device is+         a pointer. If this is 'Nothing' then the normal cursors are used for+         /@window@/ and its descendants, and the cursor for /@window@/ is used+         elsewhere. -}+    -> Word32+    {- ^ /@time_@/: the timestamp of the event which led to this pointer grab. This+        usually comes from the 'GI.Gdk.Unions.Event.Event' struct, though 'GI.Gdk.Constants.CURRENT_TIME'+        can be used if the time isn’t known. -}+    -> m Gdk.Enums.GrabStatus+    {- ^ __Returns:__ 'GI.Gdk.Enums.GrabStatusSuccess' if the grab was successful. -}+deviceGrab device window grabOwnership ownerEvents eventMask cursor time_ = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    window' <- unsafeManagedPtrCastPtr window+    let grabOwnership' = (fromIntegral . fromEnum) grabOwnership+    let ownerEvents' = (fromIntegral . fromEnum) ownerEvents+    let eventMask' = gflagsToWord eventMask+    maybeCursor <- case cursor of+        Nothing -> return nullPtr+        Just jCursor -> do+            jCursor' <- unsafeManagedPtrCastPtr jCursor+            return jCursor'+    result <- gdk_device_grab device' window' grabOwnership' ownerEvents' eventMask' maybeCursor time_+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr device+    touchManagedPtr window+    whenJust cursor touchManagedPtr+    return result'++#if ENABLE_OVERLOADING+data DeviceGrabMethodInfo+instance (signature ~ (b -> Gdk.Enums.GrabOwnership -> Bool -> [Gdk.Flags.EventMask] -> Maybe (c) -> Word32 -> m Gdk.Enums.GrabStatus), MonadIO m, IsDevice a, Gdk.Window.IsWindow b, Gdk.Cursor.IsCursor c) => O.MethodInfo DeviceGrabMethodInfo a signature where+    overloadedMethod _ = deviceGrab++#endif++-- method Device::list_axes+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TGList (TInterface (Name {namespace = "Gdk", name = "Atom"})))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_list_axes" gdk_device_list_axes :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    IO (Ptr (GList (Ptr Gdk.Atom.Atom)))++{- |+Returns a 'GI.GLib.Structs.List.List' of @/GdkAtoms/@, containing the labels for+the axes that /@device@/ currently has.++/Since: 3.0/+-}+deviceListAxes ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: a pointer 'GI.Gdk.Objects.Device.Device' -}+    -> m [Gdk.Atom.Atom]+    {- ^ __Returns:__ +    A 'GI.GLib.Structs.List.List' of @/GdkAtoms/@, free with @/g_list_free()/@. -}+deviceListAxes device = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    result <- gdk_device_list_axes device'+    result' <- unpackGList result+    result'' <- mapM (newPtr Gdk.Atom.Atom) result'+    g_list_free result+    touchManagedPtr device+    return result''++#if ENABLE_OVERLOADING+data DeviceListAxesMethodInfo+instance (signature ~ (m [Gdk.Atom.Atom]), MonadIO m, IsDevice a) => O.MethodInfo DeviceListAxesMethodInfo a signature where+    overloadedMethod _ = deviceListAxes++#endif++-- method Device::list_slave_devices+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TGList (TInterface (Name {namespace = "Gdk", name = "Device"})))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_list_slave_devices" gdk_device_list_slave_devices :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    IO (Ptr (GList (Ptr Device)))++{- |+If the device if of type 'GI.Gdk.Enums.DeviceTypeMaster', it will return+the list of slave devices attached to it, otherwise it will return+'Nothing'+-}+deviceListSlaveDevices ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}+    -> m [Device]+    {- ^ __Returns:__ +         the list of slave devices, or 'Nothing'. The list must be+         freed with @/g_list_free()/@, the contents of the list are+         owned by GTK+ and should not be freed. -}+deviceListSlaveDevices device = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    result <- gdk_device_list_slave_devices device'+    result' <- unpackGList result+    result'' <- mapM (newObject Device) result'+    g_list_free result+    touchManagedPtr device+    return result''++#if ENABLE_OVERLOADING+data DeviceListSlaveDevicesMethodInfo+instance (signature ~ (m [Device]), MonadIO m, IsDevice a) => O.MethodInfo DeviceListSlaveDevicesMethodInfo a signature where+    overloadedMethod _ = deviceListSlaveDevices++#endif++-- method Device::set_axis_use+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index_", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index of the axis", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use", argType = TInterface (Name {namespace = "Gdk", name = "AxisUse"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "specifies how the axis is used", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_set_axis_use" gdk_device_set_axis_use :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    Word32 ->                               -- index_ : TBasicType TUInt+    CUInt ->                                -- use : TInterface (Name {namespace = "Gdk", name = "AxisUse"})+    IO ()++{- |+Specifies how an axis of a device is used.+-}+deviceSetAxisUse ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: a pointer 'GI.Gdk.Objects.Device.Device' -}+    -> Word32+    {- ^ /@index_@/: the index of the axis -}+    -> Gdk.Enums.AxisUse+    {- ^ /@use@/: specifies how the axis is used -}+    -> m ()+deviceSetAxisUse device index_ use = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    let use' = (fromIntegral . fromEnum) use+    gdk_device_set_axis_use device' index_ use'+    touchManagedPtr device+    return ()++#if ENABLE_OVERLOADING+data DeviceSetAxisUseMethodInfo+instance (signature ~ (Word32 -> Gdk.Enums.AxisUse -> m ()), MonadIO m, IsDevice a) => O.MethodInfo DeviceSetAxisUseMethodInfo a signature where+    overloadedMethod _ = deviceSetAxisUse++#endif++-- method Device::set_key+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index_", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index of the macro button to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keyval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the keyval to generate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modifiers", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the modifiers to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_set_key" gdk_device_set_key :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    Word32 ->                               -- index_ : TBasicType TUInt+    Word32 ->                               -- keyval : TBasicType TUInt+    CUInt ->                                -- modifiers : TInterface (Name {namespace = "Gdk", name = "ModifierType"})+    IO ()++{- |+Specifies the X key event to generate when a macro button of a device+is pressed.+-}+deviceSetKey ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}+    -> Word32+    {- ^ /@index_@/: the index of the macro button to set -}+    -> Word32+    {- ^ /@keyval@/: the keyval to generate -}+    -> [Gdk.Flags.ModifierType]+    {- ^ /@modifiers@/: the modifiers to set -}+    -> m ()+deviceSetKey device index_ keyval modifiers = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    let modifiers' = gflagsToWord modifiers+    gdk_device_set_key device' index_ keyval modifiers'+    touchManagedPtr device+    return ()++#if ENABLE_OVERLOADING+data DeviceSetKeyMethodInfo+instance (signature ~ (Word32 -> Word32 -> [Gdk.Flags.ModifierType] -> m ()), MonadIO m, IsDevice a) => O.MethodInfo DeviceSetKeyMethodInfo a signature where+    overloadedMethod _ = deviceSetKey++#endif++-- method Device::set_mode+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gdk", name = "InputMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the input mode.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_set_mode" gdk_device_set_mode :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    CUInt ->                                -- mode : TInterface (Name {namespace = "Gdk", name = "InputMode"})+    IO CInt++{- |+Sets a the mode of an input device. The mode controls if the+device is active and whether the device’s range is mapped to the+entire screen or to a single window.++Note: This is only meaningful for floating devices, master devices (and+slaves connected to these) drive the pointer cursor, which is not limited+by the input mode.+-}+deviceSetMode ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device'. -}+    -> Gdk.Enums.InputMode+    {- ^ /@mode@/: the input mode. -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the mode was successfully changed. -}+deviceSetMode device mode = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    let mode' = (fromIntegral . fromEnum) mode+    result <- gdk_device_set_mode device' mode'+    let result' = (/= 0) result+    touchManagedPtr device+    return result'++#if ENABLE_OVERLOADING+data DeviceSetModeMethodInfo+instance (signature ~ (Gdk.Enums.InputMode -> m Bool), MonadIO m, IsDevice a) => O.MethodInfo DeviceSetModeMethodInfo a signature where+    overloadedMethod _ = deviceSetMode++#endif++-- method Device::ungrab+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a timestap (e.g. %GDK_CURRENT_TIME).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_ungrab" gdk_device_ungrab :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO ()++{-# DEPRECATED deviceUngrab ["(Since version 3.20.)","Use 'GI.Gdk.Objects.Seat.seatUngrab' instead."] #-}+{- |+Release any grab on /@device@/.++/Since: 3.0/+-}+deviceUngrab ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>+    a+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}+    -> Word32+    {- ^ /@time_@/: a timestap (e.g. 'GI.Gdk.Constants.CURRENT_TIME'). -}+    -> m ()+deviceUngrab device time_ = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    gdk_device_ungrab device' time_+    touchManagedPtr device+    return ()++#if ENABLE_OVERLOADING+data DeviceUngrabMethodInfo+instance (signature ~ (Word32 -> m ()), MonadIO m, IsDevice a) => O.MethodInfo DeviceUngrabMethodInfo a signature where+    overloadedMethod _ = deviceUngrab++#endif++-- method Device::warp+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the device to warp.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the screen to warp @device to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the X coordinate of the destination.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the Y coordinate of the destination.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_warp" gdk_device_warp :: +    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    Ptr Gdk.Screen.Screen ->                -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    Int32 ->                                -- x : TBasicType TInt+    Int32 ->                                -- y : TBasicType TInt+    IO ()++{- |+Warps /@device@/ in /@display@/ to the point /@x@/,/@y@/ on+the screen /@screen@/, unless the device is confined+to a window by a grab, in which case it will be moved+as far as allowed by the grab. Warping the pointer+creates events as if the user had moved the mouse+instantaneously to the destination.++Note that the pointer should normally be under the+control of the user. This function was added to cover+some rare use cases like keyboard navigation support+for the color picker in the @/GtkColorSelectionDialog/@.++/Since: 3.0/+-}+deviceWarp ::+    (B.CallStack.HasCallStack, MonadIO m, IsDevice a, Gdk.Screen.IsScreen b) =>+    a+    {- ^ /@device@/: the device to warp. -}+    -> b+    {- ^ /@screen@/: the screen to warp /@device@/ to. -}+    -> Int32+    {- ^ /@x@/: the X coordinate of the destination. -}+    -> Int32+    {- ^ /@y@/: the Y coordinate of the destination. -}+    -> m ()+deviceWarp device screen x y = liftIO $ do+    device' <- unsafeManagedPtrCastPtr device+    screen' <- unsafeManagedPtrCastPtr screen+    gdk_device_warp device' screen' x y+    touchManagedPtr device+    touchManagedPtr screen+    return ()++#if ENABLE_OVERLOADING+data DeviceWarpMethodInfo+instance (signature ~ (b -> Int32 -> Int32 -> m ()), MonadIO m, IsDevice a, Gdk.Screen.IsScreen b) => O.MethodInfo DeviceWarpMethodInfo a signature where+    overloadedMethod _ = deviceWarp++#endif++-- method Device::grab_info_libgtk_only+-- method type : MemberFunction+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the display for which to get the grab information", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "device to get the grab information from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "grab_window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store current grab window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "owner_events", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store boolean indicating whether\n  the @owner_events flag to gdk_keyboard_grab() or\n  gdk_pointer_grab() was %TRUE.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_grab_info_libgtk_only" gdk_device_grab_info_libgtk_only :: +    Ptr Gdk.Display.Display ->              -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    Ptr (Ptr Gdk.Window.Window) ->          -- grab_window : TInterface (Name {namespace = "Gdk", name = "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+"] #-}+{- |+Determines information about the current keyboard grab.+This is not public API and must not be used by applications.+-}+deviceGrabInfoLibgtkOnly ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Display.IsDisplay a, IsDevice b) =>+    a+    {- ^ /@display@/: the display for which to get the grab information -}+    -> b+    {- ^ /@device@/: device to get the grab information from -}+    -> m ((Bool, Gdk.Window.Window, Bool))+    {- ^ __Returns:__ 'True' if this application currently has the+ keyboard grabbed. -}+deviceGrabInfoLibgtkOnly display device = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    device' <- unsafeManagedPtrCastPtr device+    grabWindow <- allocMem :: IO (Ptr (Ptr Gdk.Window.Window))+    ownerEvents <- allocMem :: IO (Ptr CInt)+    result <- gdk_device_grab_info_libgtk_only display' device' grabWindow ownerEvents+    let result' = (/= 0) result+    grabWindow' <- peek grabWindow+    grabWindow'' <- (newObject Gdk.Window.Window) grabWindow'+    ownerEvents' <- peek ownerEvents+    let ownerEvents'' = (/= 0) ownerEvents'+    touchManagedPtr display+    touchManagedPtr device+    freeMem grabWindow+    freeMem ownerEvents+    return (result', grabWindow'', ownerEvents'')++#if ENABLE_OVERLOADING+#endif++
+ GI/Gdk/Objects/Device.hs-boot view
@@ -0,0 +1,164 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Objects.Device where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype Device = Device (ManagedPtr Device)+instance GObject Device where+class (GObject o, O.IsDescendantOf Device o) => IsDevice o+instance (GObject o, O.IsDescendantOf Device o) => IsDevice o+instance O.HasParentTypes Device+#if ENABLE_OVERLOADING+data DeviceAssociatedDevicePropertyInfo+#endif+#if ENABLE_OVERLOADING+data DeviceAxesPropertyInfo+#endif+#if ENABLE_OVERLOADING+data DeviceDeviceManagerPropertyInfo+#endif+#if ENABLE_OVERLOADING+data DeviceDisplayPropertyInfo+#endif+#if ENABLE_OVERLOADING+data DeviceHasCursorPropertyInfo+#endif+#if ENABLE_OVERLOADING+data DeviceInputModePropertyInfo+#endif+#if ENABLE_OVERLOADING+data DeviceInputSourcePropertyInfo+#endif+#if ENABLE_OVERLOADING+data DeviceNAxesPropertyInfo+#endif+#if ENABLE_OVERLOADING+data DeviceNamePropertyInfo+#endif+#if ENABLE_OVERLOADING+data DeviceNumTouchesPropertyInfo+#endif+#if ENABLE_OVERLOADING+data DeviceProductIdPropertyInfo+#endif+#if ENABLE_OVERLOADING+data DeviceSeatPropertyInfo+#endif+#if ENABLE_OVERLOADING+data DeviceToolPropertyInfo+#endif+#if ENABLE_OVERLOADING+data DeviceTypePropertyInfo+#endif+#if ENABLE_OVERLOADING+data DeviceVendorIdPropertyInfo+#endif+#if ENABLE_OVERLOADING+data DeviceChangedSignalInfo+#endif+#if ENABLE_OVERLOADING+data DeviceToolChangedSignalInfo+#endif+#if ENABLE_OVERLOADING+data DeviceGetAssociatedDeviceMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceGetAxesMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceGetAxisUseMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceGetDeviceTypeMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceGetDisplayMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceGetHasCursorMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceGetKeyMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceGetLastEventWindowMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceGetModeMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceGetNAxesMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceGetNKeysMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceGetNameMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceGetPositionMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceGetPositionDoubleMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceGetProductIdMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceGetSeatMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceGetSourceMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceGetVendorIdMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceGetWindowAtPositionMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceGetWindowAtPositionDoubleMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceGrabMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceListAxesMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceListSlaveDevicesMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceSetAxisUseMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceSetKeyMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceSetModeMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceUngrabMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceWarpMethodInfo+#endif
+ GI/Gdk/Objects/DeviceManager.hs view
@@ -0,0 +1,749 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++In addition to a single pointer and keyboard for user interface input,+GDK contains support for a variety of input devices, including graphics+tablets, touchscreens and multiple pointers\/keyboards interacting+simultaneously with the user interface. Such input devices often have+additional features, such as sub-pixel positioning information and+additional device-dependent information.++In order to query the device hierarchy and be aware of changes in the+device hierarchy (such as virtual devices being created or removed, or+physical devices being plugged or unplugged), GDK provides+'GI.Gdk.Objects.DeviceManager.DeviceManager'.++By default, and if the platform supports it, GDK is aware of multiple+keyboard\/pointer pairs and multitouch devices. This behavior can be+changed by calling 'GI.Gdk.Functions.disableMultidevice' before 'GI.Gdk.Objects.Display.displayOpen'.+There should rarely be a need to do that though, since GDK defaults+to a compatibility mode in which it will emit just one enter\/leave+event pair for all devices on a window. To enable per-device+enter\/leave events and other multi-pointer interaction features,+'GI.Gdk.Objects.Window.windowSetSupportMultidevice' must be called on+@/GdkWindows/@ (or @/gtk_widget_set_support_multidevice()/@ on widgets).+window. See the 'GI.Gdk.Objects.Window.windowSetSupportMultidevice' documentation+for more information.++On X11, multi-device support is implemented through XInput 2.+Unless 'GI.Gdk.Functions.disableMultidevice' is called, the XInput 2+'GI.Gdk.Objects.DeviceManager.DeviceManager' implementation will be used as the input source.+Otherwise either the core or XInput 1 implementations will be used.++For simple applications that don’t have any special interest in+input devices, the so-called “client pointer”+provides a reasonable approximation to a simple setup with a single+pointer and keyboard. The device that has been set as the client+pointer can be accessed via 'GI.Gdk.Objects.DeviceManager.deviceManagerGetClientPointer'.++Conceptually, in multidevice mode there are 2 device types. Virtual+devices (or master devices) are represented by the pointer cursors+and keyboard foci that are seen on the screen. Physical devices (or+slave devices) represent the hardware that is controlling the virtual+devices, and thus have no visible cursor on the screen.++Virtual devices are always paired, so there is a keyboard device for every+pointer device. Associations between devices may be inspected through+'GI.Gdk.Objects.Device.deviceGetAssociatedDevice'.++There may be several virtual devices, and several physical devices could+be controlling each of these virtual devices. Physical devices may also+be “floating”, which means they are not attached to any virtual device.++= Master and slave devices++>+>carlos@sacarino:~$ xinput list+>⎡ Virtual core pointer                          id=2    [master pointer  (3)]+>⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]+>⎜   ↳ Wacom ISDv4 E6 Pen stylus                 id=10   [slave  pointer  (2)]+>⎜   ↳ Wacom ISDv4 E6 Finger touch               id=11   [slave  pointer  (2)]+>⎜   ↳ SynPS/2 Synaptics TouchPad                id=13   [slave  pointer  (2)]+>⎜   ↳ TPPS/2 IBM TrackPoint                     id=14   [slave  pointer  (2)]+>⎜   ↳ Wacom ISDv4 E6 Pen eraser                 id=16   [slave  pointer  (2)]+>⎣ Virtual core keyboard                         id=3    [master keyboard (2)]+>    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]+>    ↳ Power Button                              id=6    [slave  keyboard (3)]+>    ↳ Video Bus                                 id=7    [slave  keyboard (3)]+>    ↳ Sleep Button                              id=8    [slave  keyboard (3)]+>    ↳ Integrated Camera                         id=9    [slave  keyboard (3)]+>    ↳ AT Translated Set 2 keyboard              id=12   [slave  keyboard (3)]+>    ↳ ThinkPad Extra Buttons                    id=15   [slave  keyboard (3)]+++By default, GDK will automatically listen for events coming from all+master devices, setting the 'GI.Gdk.Objects.Device.Device' for all events coming from input+devices. Events containing device information are @/GDK_MOTION_NOTIFY/@,+@/GDK_BUTTON_PRESS/@, @/GDK_2BUTTON_PRESS/@, @/GDK_3BUTTON_PRESS/@,+@/GDK_BUTTON_RELEASE/@, @/GDK_SCROLL/@, @/GDK_KEY_PRESS/@, @/GDK_KEY_RELEASE/@,+@/GDK_ENTER_NOTIFY/@, @/GDK_LEAVE_NOTIFY/@, @/GDK_FOCUS_CHANGE/@,+@/GDK_PROXIMITY_IN/@, @/GDK_PROXIMITY_OUT/@, @/GDK_DRAG_ENTER/@, @/GDK_DRAG_LEAVE/@,+@/GDK_DRAG_MOTION/@, @/GDK_DRAG_STATUS/@, @/GDK_DROP_START/@, @/GDK_DROP_FINISHED/@+and @/GDK_GRAB_BROKEN/@. When dealing with an event on a master device,+it is possible to get the source (slave) device that the event originated+from via 'GI.Gdk.Unions.Event.eventGetSourceDevice'.++On a standard session, all physical devices are connected by default to+the \"Virtual Core Pointer\/Keyboard\" master devices, hence routing all events+through these. This behavior is only modified by device grabs, where the+slave device is temporarily detached for as long as the grab is held, and+more permanently by user modifications to the device hierarchy.++On certain application specific setups, it may make sense+to detach a physical device from its master pointer, and mapping it to+an specific window. This can be achieved by the combination of+'GI.Gdk.Objects.Device.deviceGrab' and 'GI.Gdk.Objects.Device.deviceSetMode'.++In order to listen for events coming from devices+other than a virtual device, 'GI.Gdk.Objects.Window.windowSetDeviceEvents' must be+called. Generally, this function can be used to modify the event mask+for any given device.++Input devices may also provide additional information besides X\/Y.+For example, graphics tablets may also provide pressure and X\/Y tilt+information. This information is device-dependent, and may be+queried through @/gdk_device_get_axis()/@. In multidevice mode, virtual+devices will change axes in order to always represent the physical+device that is routing events through it. Whenever the physical device+changes, the 'GI.Gdk.Objects.Device.Device':@/n-axes/@ property will be notified, and+'GI.Gdk.Objects.Device.deviceListAxes' will return the new device axes.++Devices may also have associated “keys” or+macro buttons. Such keys can be globally set to map into normal X+keyboard events. The mapping is set using 'GI.Gdk.Objects.Device.deviceSetKey'.++In GTK+ 3.20, a new 'GI.Gdk.Objects.Seat.Seat' object has been introduced that+supersedes 'GI.Gdk.Objects.DeviceManager.DeviceManager' and should be preferred in newly+written code.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Objects.DeviceManager+    ( ++-- * Exported types+    DeviceManager(..)                       ,+    IsDeviceManager                         ,+    toDeviceManager                         ,+    noDeviceManager                         ,+++ -- * Methods+-- ** getClientPointer #method:getClientPointer#++#if ENABLE_OVERLOADING+    DeviceManagerGetClientPointerMethodInfo ,+#endif+    deviceManagerGetClientPointer           ,+++-- ** getDisplay #method:getDisplay#++#if ENABLE_OVERLOADING+    DeviceManagerGetDisplayMethodInfo       ,+#endif+    deviceManagerGetDisplay                 ,+++-- ** listDevices #method:listDevices#++#if ENABLE_OVERLOADING+    DeviceManagerListDevicesMethodInfo      ,+#endif+    deviceManagerListDevices                ,+++++ -- * Properties+-- ** display #attr:display#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    DeviceManagerDisplayPropertyInfo        ,+#endif+    constructDeviceManagerDisplay           ,+#if ENABLE_OVERLOADING+    deviceManagerDisplay                    ,+#endif+    getDeviceManagerDisplay                 ,+++++ -- * Signals+-- ** deviceAdded #signal:deviceAdded#++    C_DeviceManagerDeviceAddedCallback      ,+    DeviceManagerDeviceAddedCallback        ,+#if ENABLE_OVERLOADING+    DeviceManagerDeviceAddedSignalInfo      ,+#endif+    afterDeviceManagerDeviceAdded           ,+    genClosure_DeviceManagerDeviceAdded     ,+    mk_DeviceManagerDeviceAddedCallback     ,+    noDeviceManagerDeviceAddedCallback      ,+    onDeviceManagerDeviceAdded              ,+    wrap_DeviceManagerDeviceAddedCallback   ,+++-- ** deviceChanged #signal:deviceChanged#++    C_DeviceManagerDeviceChangedCallback    ,+    DeviceManagerDeviceChangedCallback      ,+#if ENABLE_OVERLOADING+    DeviceManagerDeviceChangedSignalInfo    ,+#endif+    afterDeviceManagerDeviceChanged         ,+    genClosure_DeviceManagerDeviceChanged   ,+    mk_DeviceManagerDeviceChangedCallback   ,+    noDeviceManagerDeviceChangedCallback    ,+    onDeviceManagerDeviceChanged            ,+    wrap_DeviceManagerDeviceChangedCallback ,+++-- ** deviceRemoved #signal:deviceRemoved#++    C_DeviceManagerDeviceRemovedCallback    ,+    DeviceManagerDeviceRemovedCallback      ,+#if ENABLE_OVERLOADING+    DeviceManagerDeviceRemovedSignalInfo    ,+#endif+    afterDeviceManagerDeviceRemoved         ,+    genClosure_DeviceManagerDeviceRemoved   ,+    mk_DeviceManagerDeviceRemovedCallback   ,+    noDeviceManagerDeviceRemovedCallback    ,+    onDeviceManagerDeviceRemoved            ,+    wrap_DeviceManagerDeviceRemovedCallback ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import qualified GI.GObject.Objects.Object as GObject.Object+import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Objects.Device as Gdk.Device+import {-# SOURCE #-} qualified GI.Gdk.Objects.Display as Gdk.Display++-- | Memory-managed wrapper type.+newtype DeviceManager = DeviceManager (ManagedPtr DeviceManager)+foreign import ccall "gdk_device_manager_get_type"+    c_gdk_device_manager_get_type :: IO GType++instance GObject DeviceManager where+    gobjectType = c_gdk_device_manager_get_type+    ++-- | Type class for types which can be safely cast to `DeviceManager`, for instance with `toDeviceManager`.+class (GObject o, O.IsDescendantOf DeviceManager o) => IsDeviceManager o+instance (GObject o, O.IsDescendantOf DeviceManager o) => IsDeviceManager o++instance O.HasParentTypes DeviceManager+type instance O.ParentTypes DeviceManager = '[GObject.Object.Object]++-- | Cast to `DeviceManager`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toDeviceManager :: (MonadIO m, IsDeviceManager o) => o -> m DeviceManager+toDeviceManager = liftIO . unsafeCastTo DeviceManager++-- | A convenience alias for `Nothing` :: `Maybe` `DeviceManager`.+noDeviceManager :: Maybe DeviceManager+noDeviceManager = Nothing++#if ENABLE_OVERLOADING+type family ResolveDeviceManagerMethod (t :: Symbol) (o :: *) :: * where+    ResolveDeviceManagerMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveDeviceManagerMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveDeviceManagerMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveDeviceManagerMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveDeviceManagerMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveDeviceManagerMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveDeviceManagerMethod "listDevices" o = DeviceManagerListDevicesMethodInfo+    ResolveDeviceManagerMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveDeviceManagerMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveDeviceManagerMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveDeviceManagerMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveDeviceManagerMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveDeviceManagerMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveDeviceManagerMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveDeviceManagerMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveDeviceManagerMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveDeviceManagerMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveDeviceManagerMethod "getClientPointer" o = DeviceManagerGetClientPointerMethodInfo+    ResolveDeviceManagerMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveDeviceManagerMethod "getDisplay" o = DeviceManagerGetDisplayMethodInfo+    ResolveDeviceManagerMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveDeviceManagerMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveDeviceManagerMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveDeviceManagerMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveDeviceManagerMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveDeviceManagerMethod t DeviceManager, O.MethodInfo info DeviceManager p) => OL.IsLabel t (DeviceManager -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++-- signal DeviceManager::device-added+{- |+The ::device-added signal is emitted either when a new master+pointer is created, or when a slave (Hardware) input device+is plugged in.+-}+type DeviceManagerDeviceAddedCallback =+    Gdk.Device.Device+    {- ^ /@device@/: the newly added 'GI.Gdk.Objects.Device.Device'. -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `DeviceManagerDeviceAddedCallback`@.+noDeviceManagerDeviceAddedCallback :: Maybe DeviceManagerDeviceAddedCallback+noDeviceManagerDeviceAddedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_DeviceManagerDeviceAddedCallback =+    Ptr () ->                               -- object+    Ptr Gdk.Device.Device ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_DeviceManagerDeviceAddedCallback`.+foreign import ccall "wrapper"+    mk_DeviceManagerDeviceAddedCallback :: C_DeviceManagerDeviceAddedCallback -> IO (FunPtr C_DeviceManagerDeviceAddedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_DeviceManagerDeviceAdded :: MonadIO m => DeviceManagerDeviceAddedCallback -> m (GClosure C_DeviceManagerDeviceAddedCallback)+genClosure_DeviceManagerDeviceAdded cb = liftIO $ do+    let cb' = wrap_DeviceManagerDeviceAddedCallback cb+    mk_DeviceManagerDeviceAddedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `DeviceManagerDeviceAddedCallback` into a `C_DeviceManagerDeviceAddedCallback`.+wrap_DeviceManagerDeviceAddedCallback ::+    DeviceManagerDeviceAddedCallback ->+    C_DeviceManagerDeviceAddedCallback+wrap_DeviceManagerDeviceAddedCallback _cb _ device _ = do+    device' <- (newObject Gdk.Device.Device) device+    _cb  device'+++{- |+Connect a signal handler for the “@device-added@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' deviceManager #deviceAdded callback+@+-}+onDeviceManagerDeviceAdded :: (IsDeviceManager a, MonadIO m) => a -> DeviceManagerDeviceAddedCallback -> m SignalHandlerId+onDeviceManagerDeviceAdded obj cb = liftIO $ do+    let cb' = wrap_DeviceManagerDeviceAddedCallback cb+    cb'' <- mk_DeviceManagerDeviceAddedCallback cb'+    connectSignalFunPtr obj "device-added" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@device-added@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' deviceManager #deviceAdded callback+@+-}+afterDeviceManagerDeviceAdded :: (IsDeviceManager a, MonadIO m) => a -> DeviceManagerDeviceAddedCallback -> m SignalHandlerId+afterDeviceManagerDeviceAdded obj cb = liftIO $ do+    let cb' = wrap_DeviceManagerDeviceAddedCallback cb+    cb'' <- mk_DeviceManagerDeviceAddedCallback cb'+    connectSignalFunPtr obj "device-added" cb'' SignalConnectAfter+++-- signal DeviceManager::device-changed+{- |+The ::device-changed signal is emitted whenever a device+has changed in the hierarchy, either slave devices being+disconnected from their master device or connected to+another one, or master devices being added or removed+a slave device.++If a slave device is detached from all master devices+('GI.Gdk.Objects.Device.deviceGetAssociatedDevice' returns 'Nothing'), its+'GI.Gdk.Enums.DeviceType' will change to 'GI.Gdk.Enums.DeviceTypeFloating',+if it\'s attached, it will change to 'GI.Gdk.Enums.DeviceTypeSlave'.+-}+type DeviceManagerDeviceChangedCallback =+    Gdk.Device.Device+    {- ^ /@device@/: the 'GI.Gdk.Objects.Device.Device' that changed. -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `DeviceManagerDeviceChangedCallback`@.+noDeviceManagerDeviceChangedCallback :: Maybe DeviceManagerDeviceChangedCallback+noDeviceManagerDeviceChangedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_DeviceManagerDeviceChangedCallback =+    Ptr () ->                               -- object+    Ptr Gdk.Device.Device ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_DeviceManagerDeviceChangedCallback`.+foreign import ccall "wrapper"+    mk_DeviceManagerDeviceChangedCallback :: C_DeviceManagerDeviceChangedCallback -> IO (FunPtr C_DeviceManagerDeviceChangedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_DeviceManagerDeviceChanged :: MonadIO m => DeviceManagerDeviceChangedCallback -> m (GClosure C_DeviceManagerDeviceChangedCallback)+genClosure_DeviceManagerDeviceChanged cb = liftIO $ do+    let cb' = wrap_DeviceManagerDeviceChangedCallback cb+    mk_DeviceManagerDeviceChangedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `DeviceManagerDeviceChangedCallback` into a `C_DeviceManagerDeviceChangedCallback`.+wrap_DeviceManagerDeviceChangedCallback ::+    DeviceManagerDeviceChangedCallback ->+    C_DeviceManagerDeviceChangedCallback+wrap_DeviceManagerDeviceChangedCallback _cb _ device _ = do+    device' <- (newObject Gdk.Device.Device) device+    _cb  device'+++{- |+Connect a signal handler for the “@device-changed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' deviceManager #deviceChanged callback+@+-}+onDeviceManagerDeviceChanged :: (IsDeviceManager a, MonadIO m) => a -> DeviceManagerDeviceChangedCallback -> m SignalHandlerId+onDeviceManagerDeviceChanged obj cb = liftIO $ do+    let cb' = wrap_DeviceManagerDeviceChangedCallback cb+    cb'' <- mk_DeviceManagerDeviceChangedCallback cb'+    connectSignalFunPtr obj "device-changed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@device-changed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' deviceManager #deviceChanged callback+@+-}+afterDeviceManagerDeviceChanged :: (IsDeviceManager a, MonadIO m) => a -> DeviceManagerDeviceChangedCallback -> m SignalHandlerId+afterDeviceManagerDeviceChanged obj cb = liftIO $ do+    let cb' = wrap_DeviceManagerDeviceChangedCallback cb+    cb'' <- mk_DeviceManagerDeviceChangedCallback cb'+    connectSignalFunPtr obj "device-changed" cb'' SignalConnectAfter+++-- signal DeviceManager::device-removed+{- |+The ::device-removed signal is emitted either when a master+pointer is removed, or when a slave (Hardware) input device+is unplugged.+-}+type DeviceManagerDeviceRemovedCallback =+    Gdk.Device.Device+    {- ^ /@device@/: the just removed 'GI.Gdk.Objects.Device.Device'. -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `DeviceManagerDeviceRemovedCallback`@.+noDeviceManagerDeviceRemovedCallback :: Maybe DeviceManagerDeviceRemovedCallback+noDeviceManagerDeviceRemovedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_DeviceManagerDeviceRemovedCallback =+    Ptr () ->                               -- object+    Ptr Gdk.Device.Device ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_DeviceManagerDeviceRemovedCallback`.+foreign import ccall "wrapper"+    mk_DeviceManagerDeviceRemovedCallback :: C_DeviceManagerDeviceRemovedCallback -> IO (FunPtr C_DeviceManagerDeviceRemovedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_DeviceManagerDeviceRemoved :: MonadIO m => DeviceManagerDeviceRemovedCallback -> m (GClosure C_DeviceManagerDeviceRemovedCallback)+genClosure_DeviceManagerDeviceRemoved cb = liftIO $ do+    let cb' = wrap_DeviceManagerDeviceRemovedCallback cb+    mk_DeviceManagerDeviceRemovedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `DeviceManagerDeviceRemovedCallback` into a `C_DeviceManagerDeviceRemovedCallback`.+wrap_DeviceManagerDeviceRemovedCallback ::+    DeviceManagerDeviceRemovedCallback ->+    C_DeviceManagerDeviceRemovedCallback+wrap_DeviceManagerDeviceRemovedCallback _cb _ device _ = do+    device' <- (newObject Gdk.Device.Device) device+    _cb  device'+++{- |+Connect a signal handler for the “@device-removed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' deviceManager #deviceRemoved callback+@+-}+onDeviceManagerDeviceRemoved :: (IsDeviceManager a, MonadIO m) => a -> DeviceManagerDeviceRemovedCallback -> m SignalHandlerId+onDeviceManagerDeviceRemoved obj cb = liftIO $ do+    let cb' = wrap_DeviceManagerDeviceRemovedCallback cb+    cb'' <- mk_DeviceManagerDeviceRemovedCallback cb'+    connectSignalFunPtr obj "device-removed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@device-removed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' deviceManager #deviceRemoved callback+@+-}+afterDeviceManagerDeviceRemoved :: (IsDeviceManager a, MonadIO m) => a -> DeviceManagerDeviceRemovedCallback -> m SignalHandlerId+afterDeviceManagerDeviceRemoved obj cb = liftIO $ do+    let cb' = wrap_DeviceManagerDeviceRemovedCallback cb+    cb'' <- mk_DeviceManagerDeviceRemovedCallback cb'+    connectSignalFunPtr obj "device-removed" cb'' SignalConnectAfter+++-- VVV Prop "display"+   -- Type: TInterface (Name {namespace = "Gdk", name = "Display"})+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Just True,Nothing)++{- |+Get the value of the “@display@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' deviceManager #display+@+-}+getDeviceManagerDisplay :: (MonadIO m, IsDeviceManager o) => o -> m (Maybe Gdk.Display.Display)+getDeviceManagerDisplay obj = liftIO $ B.Properties.getObjectPropertyObject obj "display" Gdk.Display.Display++{- |+Construct a `GValueConstruct` with valid value for the “@display@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructDeviceManagerDisplay :: (IsDeviceManager o, Gdk.Display.IsDisplay a) => a -> IO (GValueConstruct o)+constructDeviceManagerDisplay val = B.Properties.constructObjectPropertyObject "display" (Just val)++#if ENABLE_OVERLOADING+data DeviceManagerDisplayPropertyInfo+instance AttrInfo DeviceManagerDisplayPropertyInfo where+    type AttrAllowedOps DeviceManagerDisplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint DeviceManagerDisplayPropertyInfo = Gdk.Display.IsDisplay+    type AttrBaseTypeConstraint DeviceManagerDisplayPropertyInfo = IsDeviceManager+    type AttrGetType DeviceManagerDisplayPropertyInfo = (Maybe Gdk.Display.Display)+    type AttrLabel DeviceManagerDisplayPropertyInfo = "display"+    type AttrOrigin DeviceManagerDisplayPropertyInfo = DeviceManager+    attrGet _ = getDeviceManagerDisplay+    attrSet _ = undefined+    attrConstruct _ = constructDeviceManagerDisplay+    attrClear _ = undefined+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList DeviceManager+type instance O.AttributeList DeviceManager = DeviceManagerAttributeList+type DeviceManagerAttributeList = ('[ '("display", DeviceManagerDisplayPropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+deviceManagerDisplay :: AttrLabelProxy "display"+deviceManagerDisplay = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+data DeviceManagerDeviceAddedSignalInfo+instance SignalInfo DeviceManagerDeviceAddedSignalInfo where+    type HaskellCallbackType DeviceManagerDeviceAddedSignalInfo = DeviceManagerDeviceAddedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_DeviceManagerDeviceAddedCallback cb+        cb'' <- mk_DeviceManagerDeviceAddedCallback cb'+        connectSignalFunPtr obj "device-added" cb'' connectMode++data DeviceManagerDeviceChangedSignalInfo+instance SignalInfo DeviceManagerDeviceChangedSignalInfo where+    type HaskellCallbackType DeviceManagerDeviceChangedSignalInfo = DeviceManagerDeviceChangedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_DeviceManagerDeviceChangedCallback cb+        cb'' <- mk_DeviceManagerDeviceChangedCallback cb'+        connectSignalFunPtr obj "device-changed" cb'' connectMode++data DeviceManagerDeviceRemovedSignalInfo+instance SignalInfo DeviceManagerDeviceRemovedSignalInfo where+    type HaskellCallbackType DeviceManagerDeviceRemovedSignalInfo = DeviceManagerDeviceRemovedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_DeviceManagerDeviceRemovedCallback cb+        cb'' <- mk_DeviceManagerDeviceRemovedCallback cb'+        connectSignalFunPtr obj "device-removed" cb'' connectMode++type instance O.SignalList DeviceManager = DeviceManagerSignalList+type DeviceManagerSignalList = ('[ '("deviceAdded", DeviceManagerDeviceAddedSignalInfo), '("deviceChanged", DeviceManagerDeviceChangedSignalInfo), '("deviceRemoved", DeviceManagerDeviceRemovedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method DeviceManager::get_client_pointer+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device_manager", argType = TInterface (Name {namespace = "Gdk", name = "DeviceManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDeviceManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Device"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_manager_get_client_pointer" gdk_device_manager_get_client_pointer :: +    Ptr DeviceManager ->                    -- device_manager : TInterface (Name {namespace = "Gdk", name = "DeviceManager"})+    IO (Ptr Gdk.Device.Device)++{-# DEPRECATED deviceManagerGetClientPointer ["(Since version 3.20)","Use 'GI.Gdk.Objects.Seat.seatGetPointer' instead."] #-}+{- |+Returns the client pointer, that is, the master pointer that acts as the core pointer+for this application. In X11, window managers may change this depending on the interaction+pattern under the presence of several pointers.++You should use this function seldomly, only in code that isn’t triggered by a 'GI.Gdk.Unions.Event.Event'+and there aren’t other means to get a meaningful 'GI.Gdk.Objects.Device.Device' to operate on.++/Since: 3.0/+-}+deviceManagerGetClientPointer ::+    (B.CallStack.HasCallStack, MonadIO m, IsDeviceManager a) =>+    a+    {- ^ /@deviceManager@/: a 'GI.Gdk.Objects.DeviceManager.DeviceManager' -}+    -> m Gdk.Device.Device+    {- ^ __Returns:__ The client pointer. This memory is+         owned by GDK and must not be freed or unreferenced. -}+deviceManagerGetClientPointer deviceManager = liftIO $ do+    deviceManager' <- unsafeManagedPtrCastPtr deviceManager+    result <- gdk_device_manager_get_client_pointer deviceManager'+    checkUnexpectedReturnNULL "deviceManagerGetClientPointer" result+    result' <- (newObject Gdk.Device.Device) result+    touchManagedPtr deviceManager+    return result'++#if ENABLE_OVERLOADING+data DeviceManagerGetClientPointerMethodInfo+instance (signature ~ (m Gdk.Device.Device), MonadIO m, IsDeviceManager a) => O.MethodInfo DeviceManagerGetClientPointerMethodInfo a signature where+    overloadedMethod _ = deviceManagerGetClientPointer++#endif++-- method DeviceManager::get_display+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device_manager", argType = TInterface (Name {namespace = "Gdk", name = "DeviceManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDeviceManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Display"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_manager_get_display" gdk_device_manager_get_display :: +    Ptr DeviceManager ->                    -- device_manager : TInterface (Name {namespace = "Gdk", name = "DeviceManager"})+    IO (Ptr Gdk.Display.Display)++{- |+Gets the 'GI.Gdk.Objects.Display.Display' associated to /@deviceManager@/.++/Since: 3.0/+-}+deviceManagerGetDisplay ::+    (B.CallStack.HasCallStack, MonadIO m, IsDeviceManager a) =>+    a+    {- ^ /@deviceManager@/: a 'GI.Gdk.Objects.DeviceManager.DeviceManager' -}+    -> m (Maybe Gdk.Display.Display)+    {- ^ __Returns:__ the 'GI.Gdk.Objects.Display.Display' to which+         /@deviceManager@/ is associated to, or 'Nothing'. This memory is+         owned by GDK and must not be freed or unreferenced. -}+deviceManagerGetDisplay deviceManager = liftIO $ do+    deviceManager' <- unsafeManagedPtrCastPtr deviceManager+    result <- gdk_device_manager_get_display deviceManager'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Gdk.Display.Display) result'+        return result''+    touchManagedPtr deviceManager+    return maybeResult++#if ENABLE_OVERLOADING+data DeviceManagerGetDisplayMethodInfo+instance (signature ~ (m (Maybe Gdk.Display.Display)), MonadIO m, IsDeviceManager a) => O.MethodInfo DeviceManagerGetDisplayMethodInfo a signature where+    overloadedMethod _ = deviceManagerGetDisplay++#endif++-- method DeviceManager::list_devices+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "device_manager", argType = TInterface (Name {namespace = "Gdk", name = "DeviceManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDeviceManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Gdk", name = "DeviceType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "device type to get.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TGList (TInterface (Name {namespace = "Gdk", name = "Device"})))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_manager_list_devices" gdk_device_manager_list_devices :: +    Ptr DeviceManager ->                    -- device_manager : TInterface (Name {namespace = "Gdk", name = "DeviceManager"})+    CUInt ->                                -- type : TInterface (Name {namespace = "Gdk", name = "DeviceType"})+    IO (Ptr (GList (Ptr Gdk.Device.Device)))++{-# DEPRECATED deviceManagerListDevices ["(Since version 3.20)",", use 'GI.Gdk.Objects.Seat.seatGetPointer', 'GI.Gdk.Objects.Seat.seatGetKeyboard'","            and 'GI.Gdk.Objects.Seat.seatGetSlaves' instead."] #-}+{- |+Returns the list of devices of type /@type@/ currently attached to+/@deviceManager@/.++/Since: 3.0/+-}+deviceManagerListDevices ::+    (B.CallStack.HasCallStack, MonadIO m, IsDeviceManager a) =>+    a+    {- ^ /@deviceManager@/: a 'GI.Gdk.Objects.DeviceManager.DeviceManager' -}+    -> Gdk.Enums.DeviceType+    {- ^ /@type@/: device type to get. -}+    -> m [Gdk.Device.Device]+    {- ^ __Returns:__ a list of+         @/GdkDevices/@. The returned list must be+         freed with g_list_free (). The list elements are owned by+         GTK+ and must not be freed or unreffed. -}+deviceManagerListDevices deviceManager type_ = liftIO $ do+    deviceManager' <- unsafeManagedPtrCastPtr deviceManager+    let type_' = (fromIntegral . fromEnum) type_+    result <- gdk_device_manager_list_devices deviceManager' type_'+    result' <- unpackGList result+    result'' <- mapM (newObject Gdk.Device.Device) result'+    g_list_free result+    touchManagedPtr deviceManager+    return result''++#if ENABLE_OVERLOADING+data DeviceManagerListDevicesMethodInfo+instance (signature ~ (Gdk.Enums.DeviceType -> m [Gdk.Device.Device]), MonadIO m, IsDeviceManager a) => O.MethodInfo DeviceManagerListDevicesMethodInfo a signature where+    overloadedMethod _ = deviceManagerListDevices++#endif++
+ GI/Gdk/Objects/DeviceManager.hs-boot view
@@ -0,0 +1,50 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Objects.DeviceManager where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype DeviceManager = DeviceManager (ManagedPtr DeviceManager)+instance GObject DeviceManager where+class (GObject o, O.IsDescendantOf DeviceManager o) => IsDeviceManager o+instance (GObject o, O.IsDescendantOf DeviceManager o) => IsDeviceManager o+instance O.HasParentTypes DeviceManager+#if ENABLE_OVERLOADING+data DeviceManagerDisplayPropertyInfo+#endif+#if ENABLE_OVERLOADING+data DeviceManagerDeviceAddedSignalInfo+#endif+#if ENABLE_OVERLOADING+data DeviceManagerDeviceChangedSignalInfo+#endif+#if ENABLE_OVERLOADING+data DeviceManagerDeviceRemovedSignalInfo+#endif+#if ENABLE_OVERLOADING+data DeviceManagerGetClientPointerMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceManagerGetDisplayMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceManagerListDevicesMethodInfo+#endif
+ GI/Gdk/Objects/DeviceTool.hs view
@@ -0,0 +1,487 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++/No description available in the introspection data./+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Objects.DeviceTool+    ( ++-- * Exported types+    DeviceTool(..)                          ,+    IsDeviceTool                            ,+    toDeviceTool                            ,+    noDeviceTool                            ,+++ -- * Methods+-- ** getHardwareId #method:getHardwareId#++#if ENABLE_OVERLOADING+    DeviceToolGetHardwareIdMethodInfo       ,+#endif+    deviceToolGetHardwareId                 ,+++-- ** getSerial #method:getSerial#++#if ENABLE_OVERLOADING+    DeviceToolGetSerialMethodInfo           ,+#endif+    deviceToolGetSerial                     ,+++-- ** getToolType #method:getToolType#++#if ENABLE_OVERLOADING+    DeviceToolGetToolTypeMethodInfo         ,+#endif+    deviceToolGetToolType                   ,+++++ -- * Properties+-- ** axes #attr:axes#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    DeviceToolAxesPropertyInfo              ,+#endif+    constructDeviceToolAxes                 ,+#if ENABLE_OVERLOADING+    deviceToolAxes                          ,+#endif+    getDeviceToolAxes                       ,+++-- ** hardwareId #attr:hardwareId#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    DeviceToolHardwareIdPropertyInfo        ,+#endif+    constructDeviceToolHardwareId           ,+#if ENABLE_OVERLOADING+    deviceToolHardwareId                    ,+#endif+    getDeviceToolHardwareId                 ,+++-- ** serial #attr:serial#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    DeviceToolSerialPropertyInfo            ,+#endif+    constructDeviceToolSerial               ,+#if ENABLE_OVERLOADING+    deviceToolSerial                        ,+#endif+    getDeviceToolSerial                     ,+++-- ** toolType #attr:toolType#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    DeviceToolToolTypePropertyInfo          ,+#endif+    constructDeviceToolToolType             ,+#if ENABLE_OVERLOADING+    deviceToolToolType                      ,+#endif+    getDeviceToolToolType                   ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import qualified GI.GObject.Objects.Object as GObject.Object+import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Flags as Gdk.Flags++-- | Memory-managed wrapper type.+newtype DeviceTool = DeviceTool (ManagedPtr DeviceTool)+foreign import ccall "gdk_device_tool_get_type"+    c_gdk_device_tool_get_type :: IO GType++instance GObject DeviceTool where+    gobjectType = c_gdk_device_tool_get_type+    ++-- | Type class for types which can be safely cast to `DeviceTool`, for instance with `toDeviceTool`.+class (GObject o, O.IsDescendantOf DeviceTool o) => IsDeviceTool o+instance (GObject o, O.IsDescendantOf DeviceTool o) => IsDeviceTool o++instance O.HasParentTypes DeviceTool+type instance O.ParentTypes DeviceTool = '[GObject.Object.Object]++-- | Cast to `DeviceTool`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toDeviceTool :: (MonadIO m, IsDeviceTool o) => o -> m DeviceTool+toDeviceTool = liftIO . unsafeCastTo DeviceTool++-- | A convenience alias for `Nothing` :: `Maybe` `DeviceTool`.+noDeviceTool :: Maybe DeviceTool+noDeviceTool = Nothing++#if ENABLE_OVERLOADING+type family ResolveDeviceToolMethod (t :: Symbol) (o :: *) :: * where+    ResolveDeviceToolMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveDeviceToolMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveDeviceToolMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveDeviceToolMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveDeviceToolMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveDeviceToolMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveDeviceToolMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveDeviceToolMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveDeviceToolMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveDeviceToolMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveDeviceToolMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveDeviceToolMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveDeviceToolMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveDeviceToolMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveDeviceToolMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveDeviceToolMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveDeviceToolMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveDeviceToolMethod "getHardwareId" o = DeviceToolGetHardwareIdMethodInfo+    ResolveDeviceToolMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveDeviceToolMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveDeviceToolMethod "getSerial" o = DeviceToolGetSerialMethodInfo+    ResolveDeviceToolMethod "getToolType" o = DeviceToolGetToolTypeMethodInfo+    ResolveDeviceToolMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveDeviceToolMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveDeviceToolMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveDeviceToolMethod t DeviceTool, O.MethodInfo info DeviceTool p) => OL.IsLabel t (DeviceTool -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++-- VVV Prop "axes"+   -- Type: TInterface (Name {namespace = "Gdk", name = "AxisFlags"})+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@axes@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' deviceTool #axes+@+-}+getDeviceToolAxes :: (MonadIO m, IsDeviceTool o) => o -> m [Gdk.Flags.AxisFlags]+getDeviceToolAxes obj = liftIO $ B.Properties.getObjectPropertyFlags obj "axes"++{- |+Construct a `GValueConstruct` with valid value for the “@axes@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructDeviceToolAxes :: (IsDeviceTool o) => [Gdk.Flags.AxisFlags] -> IO (GValueConstruct o)+constructDeviceToolAxes val = B.Properties.constructObjectPropertyFlags "axes" val++#if ENABLE_OVERLOADING+data DeviceToolAxesPropertyInfo+instance AttrInfo DeviceToolAxesPropertyInfo where+    type AttrAllowedOps DeviceToolAxesPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint DeviceToolAxesPropertyInfo = (~) [Gdk.Flags.AxisFlags]+    type AttrBaseTypeConstraint DeviceToolAxesPropertyInfo = IsDeviceTool+    type AttrGetType DeviceToolAxesPropertyInfo = [Gdk.Flags.AxisFlags]+    type AttrLabel DeviceToolAxesPropertyInfo = "axes"+    type AttrOrigin DeviceToolAxesPropertyInfo = DeviceTool+    attrGet _ = getDeviceToolAxes+    attrSet _ = undefined+    attrConstruct _ = constructDeviceToolAxes+    attrClear _ = undefined+#endif++-- VVV Prop "hardware-id"+   -- Type: TBasicType TUInt64+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@hardware-id@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' deviceTool #hardwareId+@+-}+getDeviceToolHardwareId :: (MonadIO m, IsDeviceTool o) => o -> m Word64+getDeviceToolHardwareId obj = liftIO $ B.Properties.getObjectPropertyUInt64 obj "hardware-id"++{- |+Construct a `GValueConstruct` with valid value for the “@hardware-id@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructDeviceToolHardwareId :: (IsDeviceTool o) => Word64 -> IO (GValueConstruct o)+constructDeviceToolHardwareId val = B.Properties.constructObjectPropertyUInt64 "hardware-id" val++#if ENABLE_OVERLOADING+data DeviceToolHardwareIdPropertyInfo+instance AttrInfo DeviceToolHardwareIdPropertyInfo where+    type AttrAllowedOps DeviceToolHardwareIdPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint DeviceToolHardwareIdPropertyInfo = (~) Word64+    type AttrBaseTypeConstraint DeviceToolHardwareIdPropertyInfo = IsDeviceTool+    type AttrGetType DeviceToolHardwareIdPropertyInfo = Word64+    type AttrLabel DeviceToolHardwareIdPropertyInfo = "hardware-id"+    type AttrOrigin DeviceToolHardwareIdPropertyInfo = DeviceTool+    attrGet _ = getDeviceToolHardwareId+    attrSet _ = undefined+    attrConstruct _ = constructDeviceToolHardwareId+    attrClear _ = undefined+#endif++-- VVV Prop "serial"+   -- Type: TBasicType TUInt64+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@serial@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' deviceTool #serial+@+-}+getDeviceToolSerial :: (MonadIO m, IsDeviceTool o) => o -> m Word64+getDeviceToolSerial obj = liftIO $ B.Properties.getObjectPropertyUInt64 obj "serial"++{- |+Construct a `GValueConstruct` with valid value for the “@serial@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructDeviceToolSerial :: (IsDeviceTool o) => Word64 -> IO (GValueConstruct o)+constructDeviceToolSerial val = B.Properties.constructObjectPropertyUInt64 "serial" val++#if ENABLE_OVERLOADING+data DeviceToolSerialPropertyInfo+instance AttrInfo DeviceToolSerialPropertyInfo where+    type AttrAllowedOps DeviceToolSerialPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint DeviceToolSerialPropertyInfo = (~) Word64+    type AttrBaseTypeConstraint DeviceToolSerialPropertyInfo = IsDeviceTool+    type AttrGetType DeviceToolSerialPropertyInfo = Word64+    type AttrLabel DeviceToolSerialPropertyInfo = "serial"+    type AttrOrigin DeviceToolSerialPropertyInfo = DeviceTool+    attrGet _ = getDeviceToolSerial+    attrSet _ = undefined+    attrConstruct _ = constructDeviceToolSerial+    attrClear _ = undefined+#endif++-- VVV Prop "tool-type"+   -- Type: TInterface (Name {namespace = "Gdk", name = "DeviceToolType"})+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@tool-type@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' deviceTool #toolType+@+-}+getDeviceToolToolType :: (MonadIO m, IsDeviceTool o) => o -> m Gdk.Enums.DeviceToolType+getDeviceToolToolType obj = liftIO $ B.Properties.getObjectPropertyEnum obj "tool-type"++{- |+Construct a `GValueConstruct` with valid value for the “@tool-type@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructDeviceToolToolType :: (IsDeviceTool o) => Gdk.Enums.DeviceToolType -> IO (GValueConstruct o)+constructDeviceToolToolType val = B.Properties.constructObjectPropertyEnum "tool-type" val++#if ENABLE_OVERLOADING+data DeviceToolToolTypePropertyInfo+instance AttrInfo DeviceToolToolTypePropertyInfo where+    type AttrAllowedOps DeviceToolToolTypePropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint DeviceToolToolTypePropertyInfo = (~) Gdk.Enums.DeviceToolType+    type AttrBaseTypeConstraint DeviceToolToolTypePropertyInfo = IsDeviceTool+    type AttrGetType DeviceToolToolTypePropertyInfo = Gdk.Enums.DeviceToolType+    type AttrLabel DeviceToolToolTypePropertyInfo = "tool-type"+    type AttrOrigin DeviceToolToolTypePropertyInfo = DeviceTool+    attrGet _ = getDeviceToolToolType+    attrSet _ = undefined+    attrConstruct _ = constructDeviceToolToolType+    attrClear _ = undefined+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList DeviceTool+type instance O.AttributeList DeviceTool = DeviceToolAttributeList+type DeviceToolAttributeList = ('[ '("axes", DeviceToolAxesPropertyInfo), '("hardwareId", DeviceToolHardwareIdPropertyInfo), '("serial", DeviceToolSerialPropertyInfo), '("toolType", DeviceToolToolTypePropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+deviceToolAxes :: AttrLabelProxy "axes"+deviceToolAxes = AttrLabelProxy++deviceToolHardwareId :: AttrLabelProxy "hardwareId"+deviceToolHardwareId = AttrLabelProxy++deviceToolSerial :: AttrLabelProxy "serial"+deviceToolSerial = AttrLabelProxy++deviceToolToolType :: AttrLabelProxy "toolType"+deviceToolToolType = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+type instance O.SignalList DeviceTool = DeviceToolSignalList+type DeviceToolSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method DeviceTool::get_hardware_id+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "tool", argType = TInterface (Name {namespace = "Gdk", name = "DeviceTool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDeviceTool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUInt64)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_tool_get_hardware_id" gdk_device_tool_get_hardware_id :: +    Ptr DeviceTool ->                       -- tool : TInterface (Name {namespace = "Gdk", name = "DeviceTool"})+    IO Word64++{- |+Gets the hardware ID of this tool, or 0 if it\'s not known. When+non-zero, the identificator is unique for the given tool model,+meaning that two identical tools will share the same /@hardwareId@/,+but will have different serial numbers (see 'GI.Gdk.Objects.DeviceTool.deviceToolGetSerial').++This is a more concrete (and device specific) method to identify+a 'GI.Gdk.Objects.DeviceTool.DeviceTool' than 'GI.Gdk.Objects.DeviceTool.deviceToolGetToolType', as a tablet+may support multiple devices with the same 'GI.Gdk.Enums.DeviceToolType',+but having different hardware identificators.++/Since: 3.22/+-}+deviceToolGetHardwareId ::+    (B.CallStack.HasCallStack, MonadIO m, IsDeviceTool a) =>+    a+    {- ^ /@tool@/: a 'GI.Gdk.Objects.DeviceTool.DeviceTool' -}+    -> m Word64+    {- ^ __Returns:__ The hardware identificator of this tool. -}+deviceToolGetHardwareId tool = liftIO $ do+    tool' <- unsafeManagedPtrCastPtr tool+    result <- gdk_device_tool_get_hardware_id tool'+    touchManagedPtr tool+    return result++#if ENABLE_OVERLOADING+data DeviceToolGetHardwareIdMethodInfo+instance (signature ~ (m Word64), MonadIO m, IsDeviceTool a) => O.MethodInfo DeviceToolGetHardwareIdMethodInfo a signature where+    overloadedMethod _ = deviceToolGetHardwareId++#endif++-- method DeviceTool::get_serial+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "tool", argType = TInterface (Name {namespace = "Gdk", name = "DeviceTool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDeviceTool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUInt64)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_tool_get_serial" gdk_device_tool_get_serial :: +    Ptr DeviceTool ->                       -- tool : TInterface (Name {namespace = "Gdk", name = "DeviceTool"})+    IO Word64++{- |+Gets the serial of this tool, this value can be used to identify a+physical tool (eg. a tablet pen) across program executions.++/Since: 3.22/+-}+deviceToolGetSerial ::+    (B.CallStack.HasCallStack, MonadIO m, IsDeviceTool a) =>+    a+    {- ^ /@tool@/: a 'GI.Gdk.Objects.DeviceTool.DeviceTool' -}+    -> m Word64+    {- ^ __Returns:__ The serial ID for this tool -}+deviceToolGetSerial tool = liftIO $ do+    tool' <- unsafeManagedPtrCastPtr tool+    result <- gdk_device_tool_get_serial tool'+    touchManagedPtr tool+    return result++#if ENABLE_OVERLOADING+data DeviceToolGetSerialMethodInfo+instance (signature ~ (m Word64), MonadIO m, IsDeviceTool a) => O.MethodInfo DeviceToolGetSerialMethodInfo a signature where+    overloadedMethod _ = deviceToolGetSerial++#endif++-- method DeviceTool::get_tool_type+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "tool", argType = TInterface (Name {namespace = "Gdk", name = "DeviceTool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDeviceTool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "DeviceToolType"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_device_tool_get_tool_type" gdk_device_tool_get_tool_type :: +    Ptr DeviceTool ->                       -- tool : TInterface (Name {namespace = "Gdk", name = "DeviceTool"})+    IO CUInt++{- |+Gets the 'GI.Gdk.Enums.DeviceToolType' of the tool.++/Since: 3.22/+-}+deviceToolGetToolType ::+    (B.CallStack.HasCallStack, MonadIO m, IsDeviceTool a) =>+    a+    {- ^ /@tool@/: a 'GI.Gdk.Objects.DeviceTool.DeviceTool' -}+    -> m Gdk.Enums.DeviceToolType+    {- ^ __Returns:__ The physical type for this tool. This can be used to figure out what+sort of pen is being used, such as an airbrush or a pencil. -}+deviceToolGetToolType tool = liftIO $ do+    tool' <- unsafeManagedPtrCastPtr tool+    result <- gdk_device_tool_get_tool_type tool'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr tool+    return result'++#if ENABLE_OVERLOADING+data DeviceToolGetToolTypeMethodInfo+instance (signature ~ (m Gdk.Enums.DeviceToolType), MonadIO m, IsDeviceTool a) => O.MethodInfo DeviceToolGetToolTypeMethodInfo a signature where+    overloadedMethod _ = deviceToolGetToolType++#endif++
+ GI/Gdk/Objects/DeviceTool.hs-boot view
@@ -0,0 +1,50 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Objects.DeviceTool where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype DeviceTool = DeviceTool (ManagedPtr DeviceTool)+instance GObject DeviceTool where+class (GObject o, O.IsDescendantOf DeviceTool o) => IsDeviceTool o+instance (GObject o, O.IsDescendantOf DeviceTool o) => IsDeviceTool o+instance O.HasParentTypes DeviceTool+#if ENABLE_OVERLOADING+data DeviceToolAxesPropertyInfo+#endif+#if ENABLE_OVERLOADING+data DeviceToolHardwareIdPropertyInfo+#endif+#if ENABLE_OVERLOADING+data DeviceToolSerialPropertyInfo+#endif+#if ENABLE_OVERLOADING+data DeviceToolToolTypePropertyInfo+#endif+#if ENABLE_OVERLOADING+data DeviceToolGetHardwareIdMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceToolGetSerialMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeviceToolGetToolTypeMethodInfo+#endif
+ GI/Gdk/Objects/Display.hs view
@@ -0,0 +1,3127 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++'GI.Gdk.Objects.Display.Display' objects purpose are two fold:++* To manage and provide information about input devices (pointers and keyboards)+* To manage and provide information about the available @/GdkScreens/@+++GdkDisplay objects are the GDK representation of an X Display,+which can be described as a workstation consisting of+a keyboard, a pointing device (such as a mouse) and one or more+screens.+It is used to open and keep track of various GdkScreen objects+currently instantiated by the application. It is also used to+access the keyboard(s) and mouse pointer(s) of the display.++Most of the input device handling has been factored out into+the separate 'GI.Gdk.Objects.DeviceManager.DeviceManager' object. Every display has a+device manager, which you can obtain using+'GI.Gdk.Objects.Display.displayGetDeviceManager'.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Objects.Display+    ( ++-- * Exported types+    Display(..)                             ,+    IsDisplay                               ,+    toDisplay                               ,+    noDisplay                               ,+++ -- * Methods+-- ** beep #method:beep#++#if ENABLE_OVERLOADING+    DisplayBeepMethodInfo                   ,+#endif+    displayBeep                             ,+++-- ** close #method:close#++#if ENABLE_OVERLOADING+    DisplayCloseMethodInfo                  ,+#endif+    displayClose                            ,+++-- ** deviceIsGrabbed #method:deviceIsGrabbed#++#if ENABLE_OVERLOADING+    DisplayDeviceIsGrabbedMethodInfo        ,+#endif+    displayDeviceIsGrabbed                  ,+++-- ** flush #method:flush#++#if ENABLE_OVERLOADING+    DisplayFlushMethodInfo                  ,+#endif+    displayFlush                            ,+++-- ** getAppLaunchContext #method:getAppLaunchContext#++#if ENABLE_OVERLOADING+    DisplayGetAppLaunchContextMethodInfo    ,+#endif+    displayGetAppLaunchContext              ,+++-- ** getDefault #method:getDefault#++    displayGetDefault                       ,+++-- ** getDefaultCursorSize #method:getDefaultCursorSize#++#if ENABLE_OVERLOADING+    DisplayGetDefaultCursorSizeMethodInfo   ,+#endif+    displayGetDefaultCursorSize             ,+++-- ** getDefaultGroup #method:getDefaultGroup#++#if ENABLE_OVERLOADING+    DisplayGetDefaultGroupMethodInfo        ,+#endif+    displayGetDefaultGroup                  ,+++-- ** getDefaultScreen #method:getDefaultScreen#++#if ENABLE_OVERLOADING+    DisplayGetDefaultScreenMethodInfo       ,+#endif+    displayGetDefaultScreen                 ,+++-- ** getDefaultSeat #method:getDefaultSeat#++#if ENABLE_OVERLOADING+    DisplayGetDefaultSeatMethodInfo         ,+#endif+    displayGetDefaultSeat                   ,+++-- ** getDeviceManager #method:getDeviceManager#++#if ENABLE_OVERLOADING+    DisplayGetDeviceManagerMethodInfo       ,+#endif+    displayGetDeviceManager                 ,+++-- ** getEvent #method:getEvent#++#if ENABLE_OVERLOADING+    DisplayGetEventMethodInfo               ,+#endif+    displayGetEvent                         ,+++-- ** getMaximalCursorSize #method:getMaximalCursorSize#++#if ENABLE_OVERLOADING+    DisplayGetMaximalCursorSizeMethodInfo   ,+#endif+    displayGetMaximalCursorSize             ,+++-- ** getMonitor #method:getMonitor#++#if ENABLE_OVERLOADING+    DisplayGetMonitorMethodInfo             ,+#endif+    displayGetMonitor                       ,+++-- ** getMonitorAtPoint #method:getMonitorAtPoint#++#if ENABLE_OVERLOADING+    DisplayGetMonitorAtPointMethodInfo      ,+#endif+    displayGetMonitorAtPoint                ,+++-- ** getMonitorAtWindow #method:getMonitorAtWindow#++#if ENABLE_OVERLOADING+    DisplayGetMonitorAtWindowMethodInfo     ,+#endif+    displayGetMonitorAtWindow               ,+++-- ** getNMonitors #method:getNMonitors#++#if ENABLE_OVERLOADING+    DisplayGetNMonitorsMethodInfo           ,+#endif+    displayGetNMonitors                     ,+++-- ** getNScreens #method:getNScreens#++#if ENABLE_OVERLOADING+    DisplayGetNScreensMethodInfo            ,+#endif+    displayGetNScreens                      ,+++-- ** getName #method:getName#++#if ENABLE_OVERLOADING+    DisplayGetNameMethodInfo                ,+#endif+    displayGetName                          ,+++-- ** getPointer #method:getPointer#++#if ENABLE_OVERLOADING+    DisplayGetPointerMethodInfo             ,+#endif+    displayGetPointer                       ,+++-- ** getPrimaryMonitor #method:getPrimaryMonitor#++#if ENABLE_OVERLOADING+    DisplayGetPrimaryMonitorMethodInfo      ,+#endif+    displayGetPrimaryMonitor                ,+++-- ** getScreen #method:getScreen#++#if ENABLE_OVERLOADING+    DisplayGetScreenMethodInfo              ,+#endif+    displayGetScreen                        ,+++-- ** getWindowAtPointer #method:getWindowAtPointer#++#if ENABLE_OVERLOADING+    DisplayGetWindowAtPointerMethodInfo     ,+#endif+    displayGetWindowAtPointer               ,+++-- ** hasPending #method:hasPending#++#if ENABLE_OVERLOADING+    DisplayHasPendingMethodInfo             ,+#endif+    displayHasPending                       ,+++-- ** isClosed #method:isClosed#++#if ENABLE_OVERLOADING+    DisplayIsClosedMethodInfo               ,+#endif+    displayIsClosed                         ,+++-- ** keyboardUngrab #method:keyboardUngrab#++#if ENABLE_OVERLOADING+    DisplayKeyboardUngrabMethodInfo         ,+#endif+    displayKeyboardUngrab                   ,+++-- ** listDevices #method:listDevices#++#if ENABLE_OVERLOADING+    DisplayListDevicesMethodInfo            ,+#endif+    displayListDevices                      ,+++-- ** listSeats #method:listSeats#++#if ENABLE_OVERLOADING+    DisplayListSeatsMethodInfo              ,+#endif+    displayListSeats                        ,+++-- ** notifyStartupComplete #method:notifyStartupComplete#++#if ENABLE_OVERLOADING+    DisplayNotifyStartupCompleteMethodInfo  ,+#endif+    displayNotifyStartupComplete            ,+++-- ** open #method:open#++    displayOpen                             ,+++-- ** openDefaultLibgtkOnly #method:openDefaultLibgtkOnly#++    displayOpenDefaultLibgtkOnly            ,+++-- ** peekEvent #method:peekEvent#++#if ENABLE_OVERLOADING+    DisplayPeekEventMethodInfo              ,+#endif+    displayPeekEvent                        ,+++-- ** pointerIsGrabbed #method:pointerIsGrabbed#++#if ENABLE_OVERLOADING+    DisplayPointerIsGrabbedMethodInfo       ,+#endif+    displayPointerIsGrabbed                 ,+++-- ** pointerUngrab #method:pointerUngrab#++#if ENABLE_OVERLOADING+    DisplayPointerUngrabMethodInfo          ,+#endif+    displayPointerUngrab                    ,+++-- ** putEvent #method:putEvent#++#if ENABLE_OVERLOADING+    DisplayPutEventMethodInfo               ,+#endif+    displayPutEvent                         ,+++-- ** requestSelectionNotification #method:requestSelectionNotification#++#if ENABLE_OVERLOADING+    DisplayRequestSelectionNotificationMethodInfo,+#endif+    displayRequestSelectionNotification     ,+++-- ** setDoubleClickDistance #method:setDoubleClickDistance#++#if ENABLE_OVERLOADING+    DisplaySetDoubleClickDistanceMethodInfo ,+#endif+    displaySetDoubleClickDistance           ,+++-- ** setDoubleClickTime #method:setDoubleClickTime#++#if ENABLE_OVERLOADING+    DisplaySetDoubleClickTimeMethodInfo     ,+#endif+    displaySetDoubleClickTime               ,+++-- ** storeClipboard #method:storeClipboard#++#if ENABLE_OVERLOADING+    DisplayStoreClipboardMethodInfo         ,+#endif+    displayStoreClipboard                   ,+++-- ** supportsClipboardPersistence #method:supportsClipboardPersistence#++#if ENABLE_OVERLOADING+    DisplaySupportsClipboardPersistenceMethodInfo,+#endif+    displaySupportsClipboardPersistence     ,+++-- ** supportsComposite #method:supportsComposite#++#if ENABLE_OVERLOADING+    DisplaySupportsCompositeMethodInfo      ,+#endif+    displaySupportsComposite                ,+++-- ** supportsCursorAlpha #method:supportsCursorAlpha#++#if ENABLE_OVERLOADING+    DisplaySupportsCursorAlphaMethodInfo    ,+#endif+    displaySupportsCursorAlpha              ,+++-- ** supportsCursorColor #method:supportsCursorColor#++#if ENABLE_OVERLOADING+    DisplaySupportsCursorColorMethodInfo    ,+#endif+    displaySupportsCursorColor              ,+++-- ** supportsInputShapes #method:supportsInputShapes#++#if ENABLE_OVERLOADING+    DisplaySupportsInputShapesMethodInfo    ,+#endif+    displaySupportsInputShapes              ,+++-- ** supportsSelectionNotification #method:supportsSelectionNotification#++#if ENABLE_OVERLOADING+    DisplaySupportsSelectionNotificationMethodInfo,+#endif+    displaySupportsSelectionNotification    ,+++-- ** supportsShapes #method:supportsShapes#++#if ENABLE_OVERLOADING+    DisplaySupportsShapesMethodInfo         ,+#endif+    displaySupportsShapes                   ,+++-- ** sync #method:sync#++#if ENABLE_OVERLOADING+    DisplaySyncMethodInfo                   ,+#endif+    displaySync                             ,+++-- ** warpPointer #method:warpPointer#++#if ENABLE_OVERLOADING+    DisplayWarpPointerMethodInfo            ,+#endif+    displayWarpPointer                      ,+++++ -- * Signals+-- ** closed #signal:closed#++    C_DisplayClosedCallback                 ,+    DisplayClosedCallback                   ,+#if ENABLE_OVERLOADING+    DisplayClosedSignalInfo                 ,+#endif+    afterDisplayClosed                      ,+    genClosure_DisplayClosed                ,+    mk_DisplayClosedCallback                ,+    noDisplayClosedCallback                 ,+    onDisplayClosed                         ,+    wrap_DisplayClosedCallback              ,+++-- ** monitorAdded #signal:monitorAdded#++    C_DisplayMonitorAddedCallback           ,+    DisplayMonitorAddedCallback             ,+#if ENABLE_OVERLOADING+    DisplayMonitorAddedSignalInfo           ,+#endif+    afterDisplayMonitorAdded                ,+    genClosure_DisplayMonitorAdded          ,+    mk_DisplayMonitorAddedCallback          ,+    noDisplayMonitorAddedCallback           ,+    onDisplayMonitorAdded                   ,+    wrap_DisplayMonitorAddedCallback        ,+++-- ** monitorRemoved #signal:monitorRemoved#++    C_DisplayMonitorRemovedCallback         ,+    DisplayMonitorRemovedCallback           ,+#if ENABLE_OVERLOADING+    DisplayMonitorRemovedSignalInfo         ,+#endif+    afterDisplayMonitorRemoved              ,+    genClosure_DisplayMonitorRemoved        ,+    mk_DisplayMonitorRemovedCallback        ,+    noDisplayMonitorRemovedCallback         ,+    onDisplayMonitorRemoved                 ,+    wrap_DisplayMonitorRemovedCallback      ,+++-- ** opened #signal:opened#++    C_DisplayOpenedCallback                 ,+    DisplayOpenedCallback                   ,+#if ENABLE_OVERLOADING+    DisplayOpenedSignalInfo                 ,+#endif+    afterDisplayOpened                      ,+    genClosure_DisplayOpened                ,+    mk_DisplayOpenedCallback                ,+    noDisplayOpenedCallback                 ,+    onDisplayOpened                         ,+    wrap_DisplayOpenedCallback              ,+++-- ** seatAdded #signal:seatAdded#++    C_DisplaySeatAddedCallback              ,+    DisplaySeatAddedCallback                ,+#if ENABLE_OVERLOADING+    DisplaySeatAddedSignalInfo              ,+#endif+    afterDisplaySeatAdded                   ,+    genClosure_DisplaySeatAdded             ,+    mk_DisplaySeatAddedCallback             ,+    noDisplaySeatAddedCallback              ,+    onDisplaySeatAdded                      ,+    wrap_DisplaySeatAddedCallback           ,+++-- ** seatRemoved #signal:seatRemoved#++    C_DisplaySeatRemovedCallback            ,+    DisplaySeatRemovedCallback              ,+#if ENABLE_OVERLOADING+    DisplaySeatRemovedSignalInfo            ,+#endif+    afterDisplaySeatRemoved                 ,+    genClosure_DisplaySeatRemoved           ,+    mk_DisplaySeatRemovedCallback           ,+    noDisplaySeatRemovedCallback            ,+    onDisplaySeatRemoved                    ,+    wrap_DisplaySeatRemovedCallback         ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import qualified GI.GObject.Objects.Object as GObject.Object+import {-# SOURCE #-} qualified GI.Gdk.Flags as Gdk.Flags+import {-# SOURCE #-} qualified GI.Gdk.Objects.AppLaunchContext as Gdk.AppLaunchContext+import {-# SOURCE #-} qualified GI.Gdk.Objects.Device as Gdk.Device+import {-# SOURCE #-} qualified GI.Gdk.Objects.DeviceManager as Gdk.DeviceManager+import {-# SOURCE #-} qualified GI.Gdk.Objects.Monitor as Gdk.Monitor+import {-# SOURCE #-} qualified GI.Gdk.Objects.Screen as Gdk.Screen+import {-# SOURCE #-} qualified GI.Gdk.Objects.Seat as Gdk.Seat+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window+import {-# SOURCE #-} qualified GI.Gdk.Structs.Atom as Gdk.Atom+import {-# SOURCE #-} qualified GI.Gdk.Unions.Event as Gdk.Event++-- | Memory-managed wrapper type.+newtype Display = Display (ManagedPtr Display)+foreign import ccall "gdk_display_get_type"+    c_gdk_display_get_type :: IO GType++instance GObject Display where+    gobjectType = c_gdk_display_get_type+    ++-- | Type class for types which can be safely cast to `Display`, for instance with `toDisplay`.+class (GObject o, O.IsDescendantOf Display o) => IsDisplay o+instance (GObject o, O.IsDescendantOf Display o) => IsDisplay o++instance O.HasParentTypes Display+type instance O.ParentTypes Display = '[GObject.Object.Object]++-- | Cast to `Display`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toDisplay :: (MonadIO m, IsDisplay o) => o -> m Display+toDisplay = liftIO . unsafeCastTo Display++-- | A convenience alias for `Nothing` :: `Maybe` `Display`.+noDisplay :: Maybe Display+noDisplay = Nothing++#if ENABLE_OVERLOADING+type family ResolveDisplayMethod (t :: Symbol) (o :: *) :: * where+    ResolveDisplayMethod "beep" o = DisplayBeepMethodInfo+    ResolveDisplayMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveDisplayMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveDisplayMethod "close" o = DisplayCloseMethodInfo+    ResolveDisplayMethod "deviceIsGrabbed" o = DisplayDeviceIsGrabbedMethodInfo+    ResolveDisplayMethod "flush" o = DisplayFlushMethodInfo+    ResolveDisplayMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveDisplayMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveDisplayMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveDisplayMethod "hasPending" o = DisplayHasPendingMethodInfo+    ResolveDisplayMethod "isClosed" o = DisplayIsClosedMethodInfo+    ResolveDisplayMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveDisplayMethod "keyboardUngrab" o = DisplayKeyboardUngrabMethodInfo+    ResolveDisplayMethod "listDevices" o = DisplayListDevicesMethodInfo+    ResolveDisplayMethod "listSeats" o = DisplayListSeatsMethodInfo+    ResolveDisplayMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveDisplayMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveDisplayMethod "notifyStartupComplete" o = DisplayNotifyStartupCompleteMethodInfo+    ResolveDisplayMethod "peekEvent" o = DisplayPeekEventMethodInfo+    ResolveDisplayMethod "pointerIsGrabbed" o = DisplayPointerIsGrabbedMethodInfo+    ResolveDisplayMethod "pointerUngrab" o = DisplayPointerUngrabMethodInfo+    ResolveDisplayMethod "putEvent" o = DisplayPutEventMethodInfo+    ResolveDisplayMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveDisplayMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveDisplayMethod "requestSelectionNotification" o = DisplayRequestSelectionNotificationMethodInfo+    ResolveDisplayMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveDisplayMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveDisplayMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveDisplayMethod "storeClipboard" o = DisplayStoreClipboardMethodInfo+    ResolveDisplayMethod "supportsClipboardPersistence" o = DisplaySupportsClipboardPersistenceMethodInfo+    ResolveDisplayMethod "supportsComposite" o = DisplaySupportsCompositeMethodInfo+    ResolveDisplayMethod "supportsCursorAlpha" o = DisplaySupportsCursorAlphaMethodInfo+    ResolveDisplayMethod "supportsCursorColor" o = DisplaySupportsCursorColorMethodInfo+    ResolveDisplayMethod "supportsInputShapes" o = DisplaySupportsInputShapesMethodInfo+    ResolveDisplayMethod "supportsSelectionNotification" o = DisplaySupportsSelectionNotificationMethodInfo+    ResolveDisplayMethod "supportsShapes" o = DisplaySupportsShapesMethodInfo+    ResolveDisplayMethod "sync" o = DisplaySyncMethodInfo+    ResolveDisplayMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveDisplayMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveDisplayMethod "warpPointer" o = DisplayWarpPointerMethodInfo+    ResolveDisplayMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveDisplayMethod "getAppLaunchContext" o = DisplayGetAppLaunchContextMethodInfo+    ResolveDisplayMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveDisplayMethod "getDefaultCursorSize" o = DisplayGetDefaultCursorSizeMethodInfo+    ResolveDisplayMethod "getDefaultGroup" o = DisplayGetDefaultGroupMethodInfo+    ResolveDisplayMethod "getDefaultScreen" o = DisplayGetDefaultScreenMethodInfo+    ResolveDisplayMethod "getDefaultSeat" o = DisplayGetDefaultSeatMethodInfo+    ResolveDisplayMethod "getDeviceManager" o = DisplayGetDeviceManagerMethodInfo+    ResolveDisplayMethod "getEvent" o = DisplayGetEventMethodInfo+    ResolveDisplayMethod "getMaximalCursorSize" o = DisplayGetMaximalCursorSizeMethodInfo+    ResolveDisplayMethod "getMonitor" o = DisplayGetMonitorMethodInfo+    ResolveDisplayMethod "getMonitorAtPoint" o = DisplayGetMonitorAtPointMethodInfo+    ResolveDisplayMethod "getMonitorAtWindow" o = DisplayGetMonitorAtWindowMethodInfo+    ResolveDisplayMethod "getNMonitors" o = DisplayGetNMonitorsMethodInfo+    ResolveDisplayMethod "getNScreens" o = DisplayGetNScreensMethodInfo+    ResolveDisplayMethod "getName" o = DisplayGetNameMethodInfo+    ResolveDisplayMethod "getPointer" o = DisplayGetPointerMethodInfo+    ResolveDisplayMethod "getPrimaryMonitor" o = DisplayGetPrimaryMonitorMethodInfo+    ResolveDisplayMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveDisplayMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveDisplayMethod "getScreen" o = DisplayGetScreenMethodInfo+    ResolveDisplayMethod "getWindowAtPointer" o = DisplayGetWindowAtPointerMethodInfo+    ResolveDisplayMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveDisplayMethod "setDoubleClickDistance" o = DisplaySetDoubleClickDistanceMethodInfo+    ResolveDisplayMethod "setDoubleClickTime" o = DisplaySetDoubleClickTimeMethodInfo+    ResolveDisplayMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveDisplayMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveDisplayMethod t Display, O.MethodInfo info Display p) => OL.IsLabel t (Display -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++-- signal Display::closed+{- |+The ::closed signal is emitted when the connection to the windowing+system for /@display@/ is closed.++/Since: 2.2/+-}+type DisplayClosedCallback =+    Bool+    {- ^ /@isError@/: 'True' if the display was closed due to an error -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `DisplayClosedCallback`@.+noDisplayClosedCallback :: Maybe DisplayClosedCallback+noDisplayClosedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_DisplayClosedCallback =+    Ptr () ->                               -- object+    CInt ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_DisplayClosedCallback`.+foreign import ccall "wrapper"+    mk_DisplayClosedCallback :: C_DisplayClosedCallback -> IO (FunPtr C_DisplayClosedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_DisplayClosed :: MonadIO m => DisplayClosedCallback -> m (GClosure C_DisplayClosedCallback)+genClosure_DisplayClosed cb = liftIO $ do+    let cb' = wrap_DisplayClosedCallback cb+    mk_DisplayClosedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `DisplayClosedCallback` into a `C_DisplayClosedCallback`.+wrap_DisplayClosedCallback ::+    DisplayClosedCallback ->+    C_DisplayClosedCallback+wrap_DisplayClosedCallback _cb _ isError _ = do+    let isError' = (/= 0) isError+    _cb  isError'+++{- |+Connect a signal handler for the “@closed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' display #closed callback+@+-}+onDisplayClosed :: (IsDisplay a, MonadIO m) => a -> DisplayClosedCallback -> m SignalHandlerId+onDisplayClosed obj cb = liftIO $ do+    let cb' = wrap_DisplayClosedCallback cb+    cb'' <- mk_DisplayClosedCallback cb'+    connectSignalFunPtr obj "closed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@closed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' display #closed callback+@+-}+afterDisplayClosed :: (IsDisplay a, MonadIO m) => a -> DisplayClosedCallback -> m SignalHandlerId+afterDisplayClosed obj cb = liftIO $ do+    let cb' = wrap_DisplayClosedCallback cb+    cb'' <- mk_DisplayClosedCallback cb'+    connectSignalFunPtr obj "closed" cb'' SignalConnectAfter+++-- signal Display::monitor-added+{- |+The ::monitor-added signal is emitted whenever a monitor is+added.++/Since: 3.22/+-}+type DisplayMonitorAddedCallback =+    Gdk.Monitor.Monitor+    {- ^ /@monitor@/: the monitor that was just added -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `DisplayMonitorAddedCallback`@.+noDisplayMonitorAddedCallback :: Maybe DisplayMonitorAddedCallback+noDisplayMonitorAddedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_DisplayMonitorAddedCallback =+    Ptr () ->                               -- object+    Ptr Gdk.Monitor.Monitor ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_DisplayMonitorAddedCallback`.+foreign import ccall "wrapper"+    mk_DisplayMonitorAddedCallback :: C_DisplayMonitorAddedCallback -> IO (FunPtr C_DisplayMonitorAddedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_DisplayMonitorAdded :: MonadIO m => DisplayMonitorAddedCallback -> m (GClosure C_DisplayMonitorAddedCallback)+genClosure_DisplayMonitorAdded cb = liftIO $ do+    let cb' = wrap_DisplayMonitorAddedCallback cb+    mk_DisplayMonitorAddedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `DisplayMonitorAddedCallback` into a `C_DisplayMonitorAddedCallback`.+wrap_DisplayMonitorAddedCallback ::+    DisplayMonitorAddedCallback ->+    C_DisplayMonitorAddedCallback+wrap_DisplayMonitorAddedCallback _cb _ monitor _ = do+    monitor' <- (newObject Gdk.Monitor.Monitor) monitor+    _cb  monitor'+++{- |+Connect a signal handler for the “@monitor-added@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' display #monitorAdded callback+@+-}+onDisplayMonitorAdded :: (IsDisplay a, MonadIO m) => a -> DisplayMonitorAddedCallback -> m SignalHandlerId+onDisplayMonitorAdded obj cb = liftIO $ do+    let cb' = wrap_DisplayMonitorAddedCallback cb+    cb'' <- mk_DisplayMonitorAddedCallback cb'+    connectSignalFunPtr obj "monitor-added" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@monitor-added@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' display #monitorAdded callback+@+-}+afterDisplayMonitorAdded :: (IsDisplay a, MonadIO m) => a -> DisplayMonitorAddedCallback -> m SignalHandlerId+afterDisplayMonitorAdded obj cb = liftIO $ do+    let cb' = wrap_DisplayMonitorAddedCallback cb+    cb'' <- mk_DisplayMonitorAddedCallback cb'+    connectSignalFunPtr obj "monitor-added" cb'' SignalConnectAfter+++-- signal Display::monitor-removed+{- |+The ::monitor-removed signal is emitted whenever a monitor is+removed.++/Since: 3.22/+-}+type DisplayMonitorRemovedCallback =+    Gdk.Monitor.Monitor+    {- ^ /@monitor@/: the monitor that was just removed -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `DisplayMonitorRemovedCallback`@.+noDisplayMonitorRemovedCallback :: Maybe DisplayMonitorRemovedCallback+noDisplayMonitorRemovedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_DisplayMonitorRemovedCallback =+    Ptr () ->                               -- object+    Ptr Gdk.Monitor.Monitor ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_DisplayMonitorRemovedCallback`.+foreign import ccall "wrapper"+    mk_DisplayMonitorRemovedCallback :: C_DisplayMonitorRemovedCallback -> IO (FunPtr C_DisplayMonitorRemovedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_DisplayMonitorRemoved :: MonadIO m => DisplayMonitorRemovedCallback -> m (GClosure C_DisplayMonitorRemovedCallback)+genClosure_DisplayMonitorRemoved cb = liftIO $ do+    let cb' = wrap_DisplayMonitorRemovedCallback cb+    mk_DisplayMonitorRemovedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `DisplayMonitorRemovedCallback` into a `C_DisplayMonitorRemovedCallback`.+wrap_DisplayMonitorRemovedCallback ::+    DisplayMonitorRemovedCallback ->+    C_DisplayMonitorRemovedCallback+wrap_DisplayMonitorRemovedCallback _cb _ monitor _ = do+    monitor' <- (newObject Gdk.Monitor.Monitor) monitor+    _cb  monitor'+++{- |+Connect a signal handler for the “@monitor-removed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' display #monitorRemoved callback+@+-}+onDisplayMonitorRemoved :: (IsDisplay a, MonadIO m) => a -> DisplayMonitorRemovedCallback -> m SignalHandlerId+onDisplayMonitorRemoved obj cb = liftIO $ do+    let cb' = wrap_DisplayMonitorRemovedCallback cb+    cb'' <- mk_DisplayMonitorRemovedCallback cb'+    connectSignalFunPtr obj "monitor-removed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@monitor-removed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' display #monitorRemoved callback+@+-}+afterDisplayMonitorRemoved :: (IsDisplay a, MonadIO m) => a -> DisplayMonitorRemovedCallback -> m SignalHandlerId+afterDisplayMonitorRemoved obj cb = liftIO $ do+    let cb' = wrap_DisplayMonitorRemovedCallback cb+    cb'' <- mk_DisplayMonitorRemovedCallback cb'+    connectSignalFunPtr obj "monitor-removed" cb'' SignalConnectAfter+++-- signal Display::opened+{- |+The ::opened signal is emitted when the connection to the windowing+system for /@display@/ is opened.+-}+type DisplayOpenedCallback =+    IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `DisplayOpenedCallback`@.+noDisplayOpenedCallback :: Maybe DisplayOpenedCallback+noDisplayOpenedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_DisplayOpenedCallback =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_DisplayOpenedCallback`.+foreign import ccall "wrapper"+    mk_DisplayOpenedCallback :: C_DisplayOpenedCallback -> IO (FunPtr C_DisplayOpenedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_DisplayOpened :: MonadIO m => DisplayOpenedCallback -> m (GClosure C_DisplayOpenedCallback)+genClosure_DisplayOpened cb = liftIO $ do+    let cb' = wrap_DisplayOpenedCallback cb+    mk_DisplayOpenedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `DisplayOpenedCallback` into a `C_DisplayOpenedCallback`.+wrap_DisplayOpenedCallback ::+    DisplayOpenedCallback ->+    C_DisplayOpenedCallback+wrap_DisplayOpenedCallback _cb _ _ = do+    _cb +++{- |+Connect a signal handler for the “@opened@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' display #opened callback+@+-}+onDisplayOpened :: (IsDisplay a, MonadIO m) => a -> DisplayOpenedCallback -> m SignalHandlerId+onDisplayOpened obj cb = liftIO $ do+    let cb' = wrap_DisplayOpenedCallback cb+    cb'' <- mk_DisplayOpenedCallback cb'+    connectSignalFunPtr obj "opened" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@opened@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' display #opened callback+@+-}+afterDisplayOpened :: (IsDisplay a, MonadIO m) => a -> DisplayOpenedCallback -> m SignalHandlerId+afterDisplayOpened obj cb = liftIO $ do+    let cb' = wrap_DisplayOpenedCallback cb+    cb'' <- mk_DisplayOpenedCallback cb'+    connectSignalFunPtr obj "opened" cb'' SignalConnectAfter+++-- signal Display::seat-added+{- |+The ::seat-added signal is emitted whenever a new seat is made+known to the windowing system.++/Since: 3.20/+-}+type DisplaySeatAddedCallback =+    Gdk.Seat.Seat+    {- ^ /@seat@/: the seat that was just added -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `DisplaySeatAddedCallback`@.+noDisplaySeatAddedCallback :: Maybe DisplaySeatAddedCallback+noDisplaySeatAddedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_DisplaySeatAddedCallback =+    Ptr () ->                               -- object+    Ptr Gdk.Seat.Seat ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_DisplaySeatAddedCallback`.+foreign import ccall "wrapper"+    mk_DisplaySeatAddedCallback :: C_DisplaySeatAddedCallback -> IO (FunPtr C_DisplaySeatAddedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_DisplaySeatAdded :: MonadIO m => DisplaySeatAddedCallback -> m (GClosure C_DisplaySeatAddedCallback)+genClosure_DisplaySeatAdded cb = liftIO $ do+    let cb' = wrap_DisplaySeatAddedCallback cb+    mk_DisplaySeatAddedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `DisplaySeatAddedCallback` into a `C_DisplaySeatAddedCallback`.+wrap_DisplaySeatAddedCallback ::+    DisplaySeatAddedCallback ->+    C_DisplaySeatAddedCallback+wrap_DisplaySeatAddedCallback _cb _ seat _ = do+    seat' <- (newObject Gdk.Seat.Seat) seat+    _cb  seat'+++{- |+Connect a signal handler for the “@seat-added@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' display #seatAdded callback+@+-}+onDisplaySeatAdded :: (IsDisplay a, MonadIO m) => a -> DisplaySeatAddedCallback -> m SignalHandlerId+onDisplaySeatAdded obj cb = liftIO $ do+    let cb' = wrap_DisplaySeatAddedCallback cb+    cb'' <- mk_DisplaySeatAddedCallback cb'+    connectSignalFunPtr obj "seat-added" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@seat-added@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' display #seatAdded callback+@+-}+afterDisplaySeatAdded :: (IsDisplay a, MonadIO m) => a -> DisplaySeatAddedCallback -> m SignalHandlerId+afterDisplaySeatAdded obj cb = liftIO $ do+    let cb' = wrap_DisplaySeatAddedCallback cb+    cb'' <- mk_DisplaySeatAddedCallback cb'+    connectSignalFunPtr obj "seat-added" cb'' SignalConnectAfter+++-- signal Display::seat-removed+{- |+The ::seat-removed signal is emitted whenever a seat is removed+by the windowing system.++/Since: 3.20/+-}+type DisplaySeatRemovedCallback =+    Gdk.Seat.Seat+    {- ^ /@seat@/: the seat that was just removed -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `DisplaySeatRemovedCallback`@.+noDisplaySeatRemovedCallback :: Maybe DisplaySeatRemovedCallback+noDisplaySeatRemovedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_DisplaySeatRemovedCallback =+    Ptr () ->                               -- object+    Ptr Gdk.Seat.Seat ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_DisplaySeatRemovedCallback`.+foreign import ccall "wrapper"+    mk_DisplaySeatRemovedCallback :: C_DisplaySeatRemovedCallback -> IO (FunPtr C_DisplaySeatRemovedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_DisplaySeatRemoved :: MonadIO m => DisplaySeatRemovedCallback -> m (GClosure C_DisplaySeatRemovedCallback)+genClosure_DisplaySeatRemoved cb = liftIO $ do+    let cb' = wrap_DisplaySeatRemovedCallback cb+    mk_DisplaySeatRemovedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `DisplaySeatRemovedCallback` into a `C_DisplaySeatRemovedCallback`.+wrap_DisplaySeatRemovedCallback ::+    DisplaySeatRemovedCallback ->+    C_DisplaySeatRemovedCallback+wrap_DisplaySeatRemovedCallback _cb _ seat _ = do+    seat' <- (newObject Gdk.Seat.Seat) seat+    _cb  seat'+++{- |+Connect a signal handler for the “@seat-removed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' display #seatRemoved callback+@+-}+onDisplaySeatRemoved :: (IsDisplay a, MonadIO m) => a -> DisplaySeatRemovedCallback -> m SignalHandlerId+onDisplaySeatRemoved obj cb = liftIO $ do+    let cb' = wrap_DisplaySeatRemovedCallback cb+    cb'' <- mk_DisplaySeatRemovedCallback cb'+    connectSignalFunPtr obj "seat-removed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@seat-removed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' display #seatRemoved callback+@+-}+afterDisplaySeatRemoved :: (IsDisplay a, MonadIO m) => a -> DisplaySeatRemovedCallback -> m SignalHandlerId+afterDisplaySeatRemoved obj cb = liftIO $ do+    let cb' = wrap_DisplaySeatRemovedCallback cb+    cb'' <- mk_DisplaySeatRemovedCallback cb'+    connectSignalFunPtr obj "seat-removed" cb'' SignalConnectAfter+++#if ENABLE_OVERLOADING+instance O.HasAttributeList Display+type instance O.AttributeList Display = DisplayAttributeList+type DisplayAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+data DisplayClosedSignalInfo+instance SignalInfo DisplayClosedSignalInfo where+    type HaskellCallbackType DisplayClosedSignalInfo = DisplayClosedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_DisplayClosedCallback cb+        cb'' <- mk_DisplayClosedCallback cb'+        connectSignalFunPtr obj "closed" cb'' connectMode++data DisplayMonitorAddedSignalInfo+instance SignalInfo DisplayMonitorAddedSignalInfo where+    type HaskellCallbackType DisplayMonitorAddedSignalInfo = DisplayMonitorAddedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_DisplayMonitorAddedCallback cb+        cb'' <- mk_DisplayMonitorAddedCallback cb'+        connectSignalFunPtr obj "monitor-added" cb'' connectMode++data DisplayMonitorRemovedSignalInfo+instance SignalInfo DisplayMonitorRemovedSignalInfo where+    type HaskellCallbackType DisplayMonitorRemovedSignalInfo = DisplayMonitorRemovedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_DisplayMonitorRemovedCallback cb+        cb'' <- mk_DisplayMonitorRemovedCallback cb'+        connectSignalFunPtr obj "monitor-removed" cb'' connectMode++data DisplayOpenedSignalInfo+instance SignalInfo DisplayOpenedSignalInfo where+    type HaskellCallbackType DisplayOpenedSignalInfo = DisplayOpenedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_DisplayOpenedCallback cb+        cb'' <- mk_DisplayOpenedCallback cb'+        connectSignalFunPtr obj "opened" cb'' connectMode++data DisplaySeatAddedSignalInfo+instance SignalInfo DisplaySeatAddedSignalInfo where+    type HaskellCallbackType DisplaySeatAddedSignalInfo = DisplaySeatAddedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_DisplaySeatAddedCallback cb+        cb'' <- mk_DisplaySeatAddedCallback cb'+        connectSignalFunPtr obj "seat-added" cb'' connectMode++data DisplaySeatRemovedSignalInfo+instance SignalInfo DisplaySeatRemovedSignalInfo where+    type HaskellCallbackType DisplaySeatRemovedSignalInfo = DisplaySeatRemovedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_DisplaySeatRemovedCallback cb+        cb'' <- mk_DisplaySeatRemovedCallback cb'+        connectSignalFunPtr obj "seat-removed" cb'' connectMode++type instance O.SignalList Display = DisplaySignalList+type DisplaySignalList = ('[ '("closed", DisplayClosedSignalInfo), '("monitorAdded", DisplayMonitorAddedSignalInfo), '("monitorRemoved", DisplayMonitorRemovedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("opened", DisplayOpenedSignalInfo), '("seatAdded", DisplaySeatAddedSignalInfo), '("seatRemoved", DisplaySeatRemovedSignalInfo)] :: [(Symbol, *)])++#endif++-- method Display::beep+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_beep" gdk_display_beep :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO ()++{- |+Emits a short beep on /@display@/++/Since: 2.2/+-}+displayBeep ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m ()+displayBeep display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    gdk_display_beep display'+    touchManagedPtr display+    return ()++#if ENABLE_OVERLOADING+data DisplayBeepMethodInfo+instance (signature ~ (m ()), MonadIO m, IsDisplay a) => O.MethodInfo DisplayBeepMethodInfo a signature where+    overloadedMethod _ = displayBeep++#endif++-- method Display::close+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_close" gdk_display_close :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO ()++{- |+Closes the connection to the windowing system for the given display,+and cleans up associated resources.++/Since: 2.2/+-}+displayClose ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m ()+displayClose display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    gdk_display_close display'+    touchManagedPtr display+    return ()++#if ENABLE_OVERLOADING+data DisplayCloseMethodInfo+instance (signature ~ (m ()), MonadIO m, IsDisplay a) => O.MethodInfo DisplayCloseMethodInfo a signature where+    overloadedMethod _ = displayClose++#endif++-- method Display::device_is_grabbed+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_device_is_grabbed" gdk_display_device_is_grabbed :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    Ptr Gdk.Device.Device ->                -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    IO CInt++{- |+Returns 'True' if there is an ongoing grab on /@device@/ for /@display@/.+-}+displayDeviceIsGrabbed ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a, Gdk.Device.IsDevice b) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> b+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if there is a grab in effect for /@device@/. -}+displayDeviceIsGrabbed display device = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    device' <- unsafeManagedPtrCastPtr device+    result <- gdk_display_device_is_grabbed display' device'+    let result' = (/= 0) result+    touchManagedPtr display+    touchManagedPtr device+    return result'++#if ENABLE_OVERLOADING+data DisplayDeviceIsGrabbedMethodInfo+instance (signature ~ (b -> m Bool), MonadIO m, IsDisplay a, Gdk.Device.IsDevice b) => O.MethodInfo DisplayDeviceIsGrabbedMethodInfo a signature where+    overloadedMethod _ = displayDeviceIsGrabbed++#endif++-- method Display::flush+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_flush" gdk_display_flush :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO ()++{- |+Flushes any requests queued for the windowing system; this happens automatically+when the main loop blocks waiting for new events, but if your application+is drawing without returning control to the main loop, you may need+to call this function explicitly. A common case where this function+needs to be called is when an application is executing drawing commands+from a thread other than the thread where the main loop is running.++This is most useful for X11. On windowing systems where requests are+handled synchronously, this function will do nothing.++/Since: 2.4/+-}+displayFlush ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m ()+displayFlush display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    gdk_display_flush display'+    touchManagedPtr display+    return ()++#if ENABLE_OVERLOADING+data DisplayFlushMethodInfo+instance (signature ~ (m ()), MonadIO m, IsDisplay a) => O.MethodInfo DisplayFlushMethodInfo a signature where+    overloadedMethod _ = displayFlush++#endif++-- method Display::get_app_launch_context+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "AppLaunchContext"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_app_launch_context" gdk_display_get_app_launch_context :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO (Ptr Gdk.AppLaunchContext.AppLaunchContext)++{- |+Returns a 'GI.Gdk.Objects.AppLaunchContext.AppLaunchContext' suitable for launching+applications on the given display.++/Since: 3.0/+-}+displayGetAppLaunchContext ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m Gdk.AppLaunchContext.AppLaunchContext+    {- ^ __Returns:__ a new 'GI.Gdk.Objects.AppLaunchContext.AppLaunchContext' for /@display@/.+    Free with 'GI.GObject.Objects.Object.objectUnref' when done -}+displayGetAppLaunchContext display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_get_app_launch_context display'+    checkUnexpectedReturnNULL "displayGetAppLaunchContext" result+    result' <- (wrapObject Gdk.AppLaunchContext.AppLaunchContext) result+    touchManagedPtr display+    return result'++#if ENABLE_OVERLOADING+data DisplayGetAppLaunchContextMethodInfo+instance (signature ~ (m Gdk.AppLaunchContext.AppLaunchContext), MonadIO m, IsDisplay a) => O.MethodInfo DisplayGetAppLaunchContextMethodInfo a signature where+    overloadedMethod _ = displayGetAppLaunchContext++#endif++-- method Display::get_default_cursor_size+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_default_cursor_size" gdk_display_get_default_cursor_size :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO Word32++{- |+Returns the default size to use for cursors on /@display@/.++/Since: 2.4/+-}+displayGetDefaultCursorSize ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m Word32+    {- ^ __Returns:__ the default cursor size. -}+displayGetDefaultCursorSize display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_get_default_cursor_size display'+    touchManagedPtr display+    return result++#if ENABLE_OVERLOADING+data DisplayGetDefaultCursorSizeMethodInfo+instance (signature ~ (m Word32), MonadIO m, IsDisplay a) => O.MethodInfo DisplayGetDefaultCursorSizeMethodInfo a signature where+    overloadedMethod _ = displayGetDefaultCursorSize++#endif++-- method Display::get_default_group+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_default_group" gdk_display_get_default_group :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO (Ptr Gdk.Window.Window)++{- |+Returns the default group leader window for all toplevel windows+on /@display@/. This window is implicitly created by GDK.+See 'GI.Gdk.Objects.Window.windowSetGroup'.++/Since: 2.4/+-}+displayGetDefaultGroup ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m Gdk.Window.Window+    {- ^ __Returns:__ The default group leader window+for /@display@/ -}+displayGetDefaultGroup display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_get_default_group display'+    checkUnexpectedReturnNULL "displayGetDefaultGroup" result+    result' <- (newObject Gdk.Window.Window) result+    touchManagedPtr display+    return result'++#if ENABLE_OVERLOADING+data DisplayGetDefaultGroupMethodInfo+instance (signature ~ (m Gdk.Window.Window), MonadIO m, IsDisplay a) => O.MethodInfo DisplayGetDefaultGroupMethodInfo a signature where+    overloadedMethod _ = displayGetDefaultGroup++#endif++-- method Display::get_default_screen+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Screen"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_default_screen" gdk_display_get_default_screen :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO (Ptr Gdk.Screen.Screen)++{- |+Get the default 'GI.Gdk.Objects.Screen.Screen' for /@display@/.++/Since: 2.2/+-}+displayGetDefaultScreen ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m Gdk.Screen.Screen+    {- ^ __Returns:__ the default 'GI.Gdk.Objects.Screen.Screen' object for /@display@/ -}+displayGetDefaultScreen display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_get_default_screen display'+    checkUnexpectedReturnNULL "displayGetDefaultScreen" result+    result' <- (newObject Gdk.Screen.Screen) result+    touchManagedPtr display+    return result'++#if ENABLE_OVERLOADING+data DisplayGetDefaultScreenMethodInfo+instance (signature ~ (m Gdk.Screen.Screen), MonadIO m, IsDisplay a) => O.MethodInfo DisplayGetDefaultScreenMethodInfo a signature where+    overloadedMethod _ = displayGetDefaultScreen++#endif++-- method Display::get_default_seat+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Seat"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_default_seat" gdk_display_get_default_seat :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO (Ptr Gdk.Seat.Seat)++{- |+Returns the default 'GI.Gdk.Objects.Seat.Seat' for this display.++/Since: 3.20/+-}+displayGetDefaultSeat ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m Gdk.Seat.Seat+    {- ^ __Returns:__ the default seat. -}+displayGetDefaultSeat display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_get_default_seat display'+    checkUnexpectedReturnNULL "displayGetDefaultSeat" result+    result' <- (newObject Gdk.Seat.Seat) result+    touchManagedPtr display+    return result'++#if ENABLE_OVERLOADING+data DisplayGetDefaultSeatMethodInfo+instance (signature ~ (m Gdk.Seat.Seat), MonadIO m, IsDisplay a) => O.MethodInfo DisplayGetDefaultSeatMethodInfo a signature where+    overloadedMethod _ = displayGetDefaultSeat++#endif++-- method Display::get_device_manager+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "DeviceManager"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_device_manager" gdk_display_get_device_manager :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO (Ptr Gdk.DeviceManager.DeviceManager)++{-# DEPRECATED displayGetDeviceManager ["(Since version 3.20.)","Use 'GI.Gdk.Objects.Display.displayGetDefaultSeat' and 'GI.Gdk.Objects.Seat.Seat' operations."] #-}+{- |+Returns the 'GI.Gdk.Objects.DeviceManager.DeviceManager' associated to /@display@/.++/Since: 3.0/+-}+displayGetDeviceManager ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display'. -}+    -> m (Maybe Gdk.DeviceManager.DeviceManager)+    {- ^ __Returns:__ A 'GI.Gdk.Objects.DeviceManager.DeviceManager', or+         'Nothing'. This memory is owned by GDK and must not be freed+         or unreferenced. -}+displayGetDeviceManager display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_get_device_manager display'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Gdk.DeviceManager.DeviceManager) result'+        return result''+    touchManagedPtr display+    return maybeResult++#if ENABLE_OVERLOADING+data DisplayGetDeviceManagerMethodInfo+instance (signature ~ (m (Maybe Gdk.DeviceManager.DeviceManager)), MonadIO m, IsDisplay a) => O.MethodInfo DisplayGetDeviceManagerMethodInfo a signature where+    overloadedMethod _ = displayGetDeviceManager++#endif++-- method Display::get_event+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Event"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_event" gdk_display_get_event :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO (Ptr Gdk.Event.Event)++{- |+Gets the next 'GI.Gdk.Unions.Event.Event' to be processed for /@display@/, fetching events from the+windowing system if necessary.++/Since: 2.2/+-}+displayGetEvent ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m (Maybe Gdk.Event.Event)+    {- ^ __Returns:__ the next 'GI.Gdk.Unions.Event.Event' to be processed, or 'Nothing'+if no events are pending. The returned 'GI.Gdk.Unions.Event.Event' should be freed+with 'GI.Gdk.Unions.Event.eventFree'. -}+displayGetEvent display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_get_event display'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (wrapBoxed Gdk.Event.Event) result'+        return result''+    touchManagedPtr display+    return maybeResult++#if ENABLE_OVERLOADING+data DisplayGetEventMethodInfo+instance (signature ~ (m (Maybe Gdk.Event.Event)), MonadIO m, IsDisplay a) => O.MethodInfo DisplayGetEventMethodInfo a signature where+    overloadedMethod _ = displayGetEvent++#endif++-- method Display::get_maximal_cursor_size+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the return location for the maximal cursor width", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "height", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the return location for the maximal cursor height", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_maximal_cursor_size" gdk_display_get_maximal_cursor_size :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    Ptr Word32 ->                           -- width : TBasicType TUInt+    Ptr Word32 ->                           -- height : TBasicType TUInt+    IO ()++{- |+Gets the maximal size to use for cursors on /@display@/.++/Since: 2.4/+-}+displayGetMaximalCursorSize ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m ((Word32, Word32))+displayGetMaximalCursorSize display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    width <- allocMem :: IO (Ptr Word32)+    height <- allocMem :: IO (Ptr Word32)+    gdk_display_get_maximal_cursor_size display' width height+    width' <- peek width+    height' <- peek height+    touchManagedPtr display+    freeMem width+    freeMem height+    return (width', height')++#if ENABLE_OVERLOADING+data DisplayGetMaximalCursorSizeMethodInfo+instance (signature ~ (m ((Word32, Word32))), MonadIO m, IsDisplay a) => O.MethodInfo DisplayGetMaximalCursorSizeMethodInfo a signature where+    overloadedMethod _ = displayGetMaximalCursorSize++#endif++-- method Display::get_monitor+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "monitor_num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of the monitor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Monitor"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_monitor" gdk_display_get_monitor :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    Int32 ->                                -- monitor_num : TBasicType TInt+    IO (Ptr Gdk.Monitor.Monitor)++{- |+Gets a monitor associated with this display.++/Since: 3.22/+-}+displayGetMonitor ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> Int32+    {- ^ /@monitorNum@/: number of the monitor -}+    -> m (Maybe Gdk.Monitor.Monitor)+    {- ^ __Returns:__ the 'GI.Gdk.Objects.Monitor.Monitor', or 'Nothing' if+   /@monitorNum@/ is not a valid monitor number -}+displayGetMonitor display monitorNum = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_get_monitor display' monitorNum+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Gdk.Monitor.Monitor) result'+        return result''+    touchManagedPtr display+    return maybeResult++#if ENABLE_OVERLOADING+data DisplayGetMonitorMethodInfo+instance (signature ~ (Int32 -> m (Maybe Gdk.Monitor.Monitor)), MonadIO m, IsDisplay a) => O.MethodInfo DisplayGetMonitorMethodInfo a signature where+    overloadedMethod _ = displayGetMonitor++#endif++-- method Display::get_monitor_at_point+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the x coordinate of the point", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the y coordinate of the point", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Monitor"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_monitor_at_point" gdk_display_get_monitor_at_point :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    Int32 ->                                -- x : TBasicType TInt+    Int32 ->                                -- y : TBasicType TInt+    IO (Ptr Gdk.Monitor.Monitor)++{- |+Gets the monitor in which the point (/@x@/, /@y@/) is located,+or a nearby monitor if the point is not in any monitor.++/Since: 3.22/+-}+displayGetMonitorAtPoint ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> Int32+    {- ^ /@x@/: the x coordinate of the point -}+    -> Int32+    {- ^ /@y@/: the y coordinate of the point -}+    -> m Gdk.Monitor.Monitor+    {- ^ __Returns:__ the monitor containing the point -}+displayGetMonitorAtPoint display x y = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_get_monitor_at_point display' x y+    checkUnexpectedReturnNULL "displayGetMonitorAtPoint" result+    result' <- (newObject Gdk.Monitor.Monitor) result+    touchManagedPtr display+    return result'++#if ENABLE_OVERLOADING+data DisplayGetMonitorAtPointMethodInfo+instance (signature ~ (Int32 -> Int32 -> m Gdk.Monitor.Monitor), MonadIO m, IsDisplay a) => O.MethodInfo DisplayGetMonitorAtPointMethodInfo a signature where+    overloadedMethod _ = displayGetMonitorAtPoint++#endif++-- method Display::get_monitor_at_window+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Monitor"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_monitor_at_window" gdk_display_get_monitor_at_window :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO (Ptr Gdk.Monitor.Monitor)++{- |+Gets the monitor in which the largest area of /@window@/+resides, or a monitor close to /@window@/ if it is outside+of all monitors.++/Since: 3.22/+-}+displayGetMonitorAtWindow ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a, Gdk.Window.IsWindow b) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> b+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m Gdk.Monitor.Monitor+    {- ^ __Returns:__ the monitor with the largest overlap with /@window@/ -}+displayGetMonitorAtWindow display window = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_display_get_monitor_at_window display' window'+    checkUnexpectedReturnNULL "displayGetMonitorAtWindow" result+    result' <- (newObject Gdk.Monitor.Monitor) result+    touchManagedPtr display+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data DisplayGetMonitorAtWindowMethodInfo+instance (signature ~ (b -> m Gdk.Monitor.Monitor), MonadIO m, IsDisplay a, Gdk.Window.IsWindow b) => O.MethodInfo DisplayGetMonitorAtWindowMethodInfo a signature where+    overloadedMethod _ = displayGetMonitorAtWindow++#endif++-- method Display::get_n_monitors+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_n_monitors" gdk_display_get_n_monitors :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO Int32++{- |+Gets the number of monitors that belong to /@display@/.++The returned number is valid until the next emission of the+'GI.Gdk.Objects.Display.Display'::@/monitor-added/@ or 'GI.Gdk.Objects.Display.Display'::@/monitor-removed/@ signal.++/Since: 3.22/+-}+displayGetNMonitors ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m Int32+    {- ^ __Returns:__ the number of monitors -}+displayGetNMonitors display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_get_n_monitors display'+    touchManagedPtr display+    return result++#if ENABLE_OVERLOADING+data DisplayGetNMonitorsMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsDisplay a) => O.MethodInfo DisplayGetNMonitorsMethodInfo a signature where+    overloadedMethod _ = displayGetNMonitors++#endif++-- method Display::get_n_screens+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_n_screens" gdk_display_get_n_screens :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO Int32++{-# DEPRECATED displayGetNScreens ["(Since version 3.10)","The number of screens is always 1."] #-}+{- |+Gets the number of screen managed by the /@display@/.++/Since: 2.2/+-}+displayGetNScreens ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m Int32+    {- ^ __Returns:__ number of screens. -}+displayGetNScreens display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_get_n_screens display'+    touchManagedPtr display+    return result++#if ENABLE_OVERLOADING+data DisplayGetNScreensMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsDisplay a) => O.MethodInfo DisplayGetNScreensMethodInfo a signature where+    overloadedMethod _ = displayGetNScreens++#endif++-- method Display::get_name+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_name" gdk_display_get_name :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO CString++{- |+Gets the name of the display.++/Since: 2.2/+-}+displayGetName ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m T.Text+    {- ^ __Returns:__ a string representing the display name. This string is owned+by GDK and should not be modified or freed. -}+displayGetName display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_get_name display'+    checkUnexpectedReturnNULL "displayGetName" result+    result' <- cstringToText result+    touchManagedPtr display+    return result'++#if ENABLE_OVERLOADING+data DisplayGetNameMethodInfo+instance (signature ~ (m T.Text), MonadIO m, IsDisplay a) => O.MethodInfo DisplayGetNameMethodInfo a signature where+    overloadedMethod _ = displayGetName++#endif++-- method Display::get_pointer+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the screen that the\n         cursor is on, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store root window X coordinate of pointer, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store root window Y coordinate of pointer, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "mask", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store current modifier mask, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_pointer" gdk_display_get_pointer :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    Ptr (Ptr Gdk.Screen.Screen) ->          -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    Ptr Int32 ->                            -- x : TBasicType TInt+    Ptr Int32 ->                            -- y : TBasicType TInt+    Ptr CUInt ->                            -- mask : TInterface (Name {namespace = "Gdk", name = "ModifierType"})+    IO ()++{-# DEPRECATED displayGetPointer ["(Since version 3.0)","Use 'GI.Gdk.Objects.Device.deviceGetPosition' instead."] #-}+{- |+Gets the current location of the pointer and the current modifier+mask for a given display.++/Since: 2.2/+-}+displayGetPointer ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m ((Gdk.Screen.Screen, Int32, Int32, [Gdk.Flags.ModifierType]))+displayGetPointer display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    screen <- allocMem :: IO (Ptr (Ptr Gdk.Screen.Screen))+    x <- allocMem :: IO (Ptr Int32)+    y <- allocMem :: IO (Ptr Int32)+    mask <- allocMem :: IO (Ptr CUInt)+    gdk_display_get_pointer display' screen x y mask+    screen' <- peek screen+    screen'' <- (newObject Gdk.Screen.Screen) screen'+    x' <- peek x+    y' <- peek y+    mask' <- peek mask+    let mask'' = wordToGFlags mask'+    touchManagedPtr display+    freeMem screen+    freeMem x+    freeMem y+    freeMem mask+    return (screen'', x', y', mask'')++#if ENABLE_OVERLOADING+data DisplayGetPointerMethodInfo+instance (signature ~ (m ((Gdk.Screen.Screen, Int32, Int32, [Gdk.Flags.ModifierType]))), MonadIO m, IsDisplay a) => O.MethodInfo DisplayGetPointerMethodInfo a signature where+    overloadedMethod _ = displayGetPointer++#endif++-- method Display::get_primary_monitor+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Monitor"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_primary_monitor" gdk_display_get_primary_monitor :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO (Ptr Gdk.Monitor.Monitor)++{- |+Gets the primary monitor for the display.++The primary monitor is considered the monitor where the “main desktop”+lives. While normal application windows typically allow the window+manager to place the windows, specialized desktop applications+such as panels should place themselves on the primary monitor.++/Since: 3.22/+-}+displayGetPrimaryMonitor ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m (Maybe Gdk.Monitor.Monitor)+    {- ^ __Returns:__ the primary monitor, or 'Nothing' if no primary+    monitor is configured by the user -}+displayGetPrimaryMonitor display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_get_primary_monitor display'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Gdk.Monitor.Monitor) result'+        return result''+    touchManagedPtr display+    return maybeResult++#if ENABLE_OVERLOADING+data DisplayGetPrimaryMonitorMethodInfo+instance (signature ~ (m (Maybe Gdk.Monitor.Monitor)), MonadIO m, IsDisplay a) => O.MethodInfo DisplayGetPrimaryMonitorMethodInfo a signature where+    overloadedMethod _ = displayGetPrimaryMonitor++#endif++-- method Display::get_screen+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "screen_num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the screen number", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Screen"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_screen" gdk_display_get_screen :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    Int32 ->                                -- screen_num : TBasicType TInt+    IO (Ptr Gdk.Screen.Screen)++{-# DEPRECATED displayGetScreen ["(Since version 3.20)","There is only one screen; use 'GI.Gdk.Objects.Display.displayGetDefaultScreen' to get it."] #-}+{- |+Returns a screen object for one of the screens of the display.++/Since: 2.2/+-}+displayGetScreen ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> Int32+    {- ^ /@screenNum@/: the screen number -}+    -> m Gdk.Screen.Screen+    {- ^ __Returns:__ the 'GI.Gdk.Objects.Screen.Screen' object -}+displayGetScreen display screenNum = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_get_screen display' screenNum+    checkUnexpectedReturnNULL "displayGetScreen" result+    result' <- (newObject Gdk.Screen.Screen) result+    touchManagedPtr display+    return result'++#if ENABLE_OVERLOADING+data DisplayGetScreenMethodInfo+instance (signature ~ (Int32 -> m Gdk.Screen.Screen), MonadIO m, IsDisplay a) => O.MethodInfo DisplayGetScreenMethodInfo a signature where+    overloadedMethod _ = displayGetScreen++#endif++-- method Display::get_window_at_pointer+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "win_x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for x coordinate of the pointer location relative\n   to the window origin, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "win_y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for y coordinate of the pointer location relative\n &    to the window origin, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_window_at_pointer" gdk_display_get_window_at_pointer :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    Ptr Int32 ->                            -- win_x : TBasicType TInt+    Ptr Int32 ->                            -- win_y : TBasicType TInt+    IO (Ptr Gdk.Window.Window)++{-# DEPRECATED displayGetWindowAtPointer ["(Since version 3.0)","Use 'GI.Gdk.Objects.Device.deviceGetWindowAtPosition' instead."] #-}+{- |+Obtains the window underneath the mouse pointer, returning the location+of the pointer in that window in /@winX@/, /@winY@/ for /@screen@/. Returns 'Nothing'+if the window under the mouse pointer is not known to GDK (for example,+belongs to another application).++/Since: 2.2/+-}+displayGetWindowAtPointer ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m ((Maybe Gdk.Window.Window, Int32, Int32))+    {- ^ __Returns:__ the window under the mouse+  pointer, or 'Nothing' -}+displayGetWindowAtPointer display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    winX <- allocMem :: IO (Ptr Int32)+    winY <- allocMem :: IO (Ptr Int32)+    result <- gdk_display_get_window_at_pointer display' winX winY+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Gdk.Window.Window) result'+        return result''+    winX' <- peek winX+    winY' <- peek winY+    touchManagedPtr display+    freeMem winX+    freeMem winY+    return (maybeResult, winX', winY')++#if ENABLE_OVERLOADING+data DisplayGetWindowAtPointerMethodInfo+instance (signature ~ (m ((Maybe Gdk.Window.Window, Int32, Int32))), MonadIO m, IsDisplay a) => O.MethodInfo DisplayGetWindowAtPointerMethodInfo a signature where+    overloadedMethod _ = displayGetWindowAtPointer++#endif++-- method Display::has_pending+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_has_pending" gdk_display_has_pending :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO CInt++{- |+Returns whether the display has events that are waiting+to be processed.++/Since: 3.0/+-}+displayHasPending ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if there are events ready to be processed. -}+displayHasPending display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_has_pending display'+    let result' = (/= 0) result+    touchManagedPtr display+    return result'++#if ENABLE_OVERLOADING+data DisplayHasPendingMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsDisplay a) => O.MethodInfo DisplayHasPendingMethodInfo a signature where+    overloadedMethod _ = displayHasPending++#endif++-- method Display::is_closed+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_is_closed" gdk_display_is_closed :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO CInt++{- |+Finds out if the display has been closed.++/Since: 2.22/+-}+displayIsClosed ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the display is closed. -}+displayIsClosed display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_is_closed display'+    let result' = (/= 0) result+    touchManagedPtr display+    return result'++#if ENABLE_OVERLOADING+data DisplayIsClosedMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsDisplay a) => O.MethodInfo DisplayIsClosedMethodInfo a signature where+    overloadedMethod _ = displayIsClosed++#endif++-- method Display::keyboard_ungrab+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a timestap (e.g #GDK_CURRENT_TIME).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_keyboard_ungrab" gdk_display_keyboard_ungrab :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO ()++{-# DEPRECATED displayKeyboardUngrab ["(Since version 3.0)","Use 'GI.Gdk.Objects.Device.deviceUngrab', together with 'GI.Gdk.Objects.Device.deviceGrab'","            instead."] #-}+{- |+Release any keyboard grab++/Since: 2.2/+-}+displayKeyboardUngrab ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display'. -}+    -> Word32+    {- ^ /@time_@/: a timestap (e.g 'GI.Gdk.Constants.CURRENT_TIME'). -}+    -> m ()+displayKeyboardUngrab display time_ = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    gdk_display_keyboard_ungrab display' time_+    touchManagedPtr display+    return ()++#if ENABLE_OVERLOADING+data DisplayKeyboardUngrabMethodInfo+instance (signature ~ (Word32 -> m ()), MonadIO m, IsDisplay a) => O.MethodInfo DisplayKeyboardUngrabMethodInfo a signature where+    overloadedMethod _ = displayKeyboardUngrab++#endif++-- method Display::list_devices+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TGList (TInterface (Name {namespace = "Gdk", name = "Device"})))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_list_devices" gdk_display_list_devices :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO (Ptr (GList (Ptr Gdk.Device.Device)))++{-# DEPRECATED displayListDevices ["(Since version 3.0)","Use 'GI.Gdk.Objects.DeviceManager.deviceManagerListDevices' instead."] #-}+{- |+Returns the list of available input devices attached to /@display@/.+The list is statically allocated and should not be freed.++/Since: 2.2/+-}+displayListDevices ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m [Gdk.Device.Device]+    {- ^ __Returns:__ +    a list of 'GI.Gdk.Objects.Device.Device' -}+displayListDevices display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_list_devices display'+    result' <- unpackGList result+    result'' <- mapM (newObject Gdk.Device.Device) result'+    touchManagedPtr display+    return result''++#if ENABLE_OVERLOADING+data DisplayListDevicesMethodInfo+instance (signature ~ (m [Gdk.Device.Device]), MonadIO m, IsDisplay a) => O.MethodInfo DisplayListDevicesMethodInfo a signature where+    overloadedMethod _ = displayListDevices++#endif++-- method Display::list_seats+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TGList (TInterface (Name {namespace = "Gdk", name = "Seat"})))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_list_seats" gdk_display_list_seats :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO (Ptr (GList (Ptr Gdk.Seat.Seat)))++{- |+Returns the list of seats known to /@display@/.++/Since: 3.20/+-}+displayListSeats ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m [Gdk.Seat.Seat]+    {- ^ __Returns:__ the+         list of seats known to the 'GI.Gdk.Objects.Display.Display' -}+displayListSeats display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_list_seats display'+    result' <- unpackGList result+    result'' <- mapM (newObject Gdk.Seat.Seat) result'+    g_list_free result+    touchManagedPtr display+    return result''++#if ENABLE_OVERLOADING+data DisplayListSeatsMethodInfo+instance (signature ~ (m [Gdk.Seat.Seat]), MonadIO m, IsDisplay a) => O.MethodInfo DisplayListSeatsMethodInfo a signature where+    overloadedMethod _ = displayListSeats++#endif++-- method Display::notify_startup_complete+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "startup_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a startup-notification identifier, for which\n    notification process should be completed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_notify_startup_complete" gdk_display_notify_startup_complete :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    CString ->                              -- startup_id : TBasicType TUTF8+    IO ()++{- |+Indicates to the GUI environment that the application has+finished loading, using a given identifier.++GTK+ will call this function automatically for @/GtkWindow/@+with custom startup-notification identifier unless+@/gtk_window_set_auto_startup_notification()/@ is called to+disable that feature.++/Since: 3.0/+-}+displayNotifyStartupComplete ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> T.Text+    {- ^ /@startupId@/: a startup-notification identifier, for which+    notification process should be completed -}+    -> m ()+displayNotifyStartupComplete display startupId = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    startupId' <- textToCString startupId+    gdk_display_notify_startup_complete display' startupId'+    touchManagedPtr display+    freeMem startupId'+    return ()++#if ENABLE_OVERLOADING+data DisplayNotifyStartupCompleteMethodInfo+instance (signature ~ (T.Text -> m ()), MonadIO m, IsDisplay a) => O.MethodInfo DisplayNotifyStartupCompleteMethodInfo a signature where+    overloadedMethod _ = displayNotifyStartupComplete++#endif++-- method Display::peek_event+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Event"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_peek_event" gdk_display_peek_event :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO (Ptr Gdk.Event.Event)++{- |+Gets a copy of the first 'GI.Gdk.Unions.Event.Event' in the /@display@/’s event queue, without+removing the event from the queue.  (Note that this function will+not get more events from the windowing system.  It only checks the events+that have already been moved to the GDK event queue.)++/Since: 2.2/+-}+displayPeekEvent ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m (Maybe Gdk.Event.Event)+    {- ^ __Returns:__ a copy of the first 'GI.Gdk.Unions.Event.Event' on the event+queue, or 'Nothing' if no events are in the queue. The returned+'GI.Gdk.Unions.Event.Event' should be freed with 'GI.Gdk.Unions.Event.eventFree'. -}+displayPeekEvent display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_peek_event display'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (wrapBoxed Gdk.Event.Event) result'+        return result''+    touchManagedPtr display+    return maybeResult++#if ENABLE_OVERLOADING+data DisplayPeekEventMethodInfo+instance (signature ~ (m (Maybe Gdk.Event.Event)), MonadIO m, IsDisplay a) => O.MethodInfo DisplayPeekEventMethodInfo a signature where+    overloadedMethod _ = displayPeekEvent++#endif++-- method Display::pointer_is_grabbed+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_pointer_is_grabbed" gdk_display_pointer_is_grabbed :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO CInt++{-# DEPRECATED displayPointerIsGrabbed ["(Since version 3.0)","Use 'GI.Gdk.Objects.Display.displayDeviceIsGrabbed' instead."] #-}+{- |+Test if the pointer is grabbed.++/Since: 2.2/+-}+displayPointerIsGrabbed ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if an active X pointer grab is in effect -}+displayPointerIsGrabbed display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_pointer_is_grabbed display'+    let result' = (/= 0) result+    touchManagedPtr display+    return result'++#if ENABLE_OVERLOADING+data DisplayPointerIsGrabbedMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsDisplay a) => O.MethodInfo DisplayPointerIsGrabbedMethodInfo a signature where+    overloadedMethod _ = displayPointerIsGrabbed++#endif++-- method Display::pointer_ungrab+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a timestap (e.g. %GDK_CURRENT_TIME).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_pointer_ungrab" gdk_display_pointer_ungrab :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    Word32 ->                               -- time_ : TBasicType TUInt32+    IO ()++{-# DEPRECATED displayPointerUngrab ["(Since version 3.0)","Use 'GI.Gdk.Objects.Device.deviceUngrab', together with 'GI.Gdk.Objects.Device.deviceGrab'","            instead."] #-}+{- |+Release any pointer grab.++/Since: 2.2/+-}+displayPointerUngrab ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display'. -}+    -> Word32+    {- ^ /@time_@/: a timestap (e.g. 'GI.Gdk.Constants.CURRENT_TIME'). -}+    -> m ()+displayPointerUngrab display time_ = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    gdk_display_pointer_ungrab display' time_+    touchManagedPtr display+    return ()++#if ENABLE_OVERLOADING+data DisplayPointerUngrabMethodInfo+instance (signature ~ (Word32 -> m ()), MonadIO m, IsDisplay a) => O.MethodInfo DisplayPointerUngrabMethodInfo a signature where+    overloadedMethod _ = displayPointerUngrab++#endif++-- method Display::put_event+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_put_event" gdk_display_put_event :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    Ptr Gdk.Event.Event ->                  -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    IO ()++{- |+Appends a copy of the given event onto the front of the event+queue for /@display@/.++/Since: 2.2/+-}+displayPutEvent ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> Gdk.Event.Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event'. -}+    -> m ()+displayPutEvent display event = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    event' <- unsafeManagedPtrGetPtr event+    gdk_display_put_event display' event'+    touchManagedPtr display+    touchManagedPtr event+    return ()++#if ENABLE_OVERLOADING+data DisplayPutEventMethodInfo+instance (signature ~ (Gdk.Event.Event -> m ()), MonadIO m, IsDisplay a) => O.MethodInfo DisplayPutEventMethodInfo a signature where+    overloadedMethod _ = displayPutEvent++#endif++-- method Display::request_selection_notification+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkAtom naming the selection for which\n            ownership change notification is requested", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_request_selection_notification" gdk_display_request_selection_notification :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    Ptr Gdk.Atom.Atom ->                    -- selection : TInterface (Name {namespace = "Gdk", name = "Atom"})+    IO CInt++{- |+Request 'GI.Gdk.Structs.EventOwnerChange.EventOwnerChange' events for ownership changes+of the selection named by the given atom.++/Since: 2.6/+-}+displayRequestSelectionNotification ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> Gdk.Atom.Atom+    {- ^ /@selection@/: the 'GI.Gdk.Structs.Atom.Atom' naming the selection for which+            ownership change notification is requested -}+    -> m Bool+    {- ^ __Returns:__ whether 'GI.Gdk.Structs.EventOwnerChange.EventOwnerChange' events will+              be sent. -}+displayRequestSelectionNotification display selection = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    selection' <- unsafeManagedPtrGetPtr selection+    result <- gdk_display_request_selection_notification display' selection'+    let result' = (/= 0) result+    touchManagedPtr display+    touchManagedPtr selection+    return result'++#if ENABLE_OVERLOADING+data DisplayRequestSelectionNotificationMethodInfo+instance (signature ~ (Gdk.Atom.Atom -> m Bool), MonadIO m, IsDisplay a) => O.MethodInfo DisplayRequestSelectionNotificationMethodInfo a signature where+    overloadedMethod _ = displayRequestSelectionNotification++#endif++-- method Display::set_double_click_distance+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "distance", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "distance in pixels", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_set_double_click_distance" gdk_display_set_double_click_distance :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    Word32 ->                               -- distance : TBasicType TUInt+    IO ()++{- |+Sets the double click distance (two clicks within this distance+count as a double click and result in a @/GDK_2BUTTON_PRESS/@ event).+See also 'GI.Gdk.Objects.Display.displaySetDoubleClickTime'.+Applications should not set this, it is a global+user-configured setting.++/Since: 2.4/+-}+displaySetDoubleClickDistance ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> Word32+    {- ^ /@distance@/: distance in pixels -}+    -> m ()+displaySetDoubleClickDistance display distance = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    gdk_display_set_double_click_distance display' distance+    touchManagedPtr display+    return ()++#if ENABLE_OVERLOADING+data DisplaySetDoubleClickDistanceMethodInfo+instance (signature ~ (Word32 -> m ()), MonadIO m, IsDisplay a) => O.MethodInfo DisplaySetDoubleClickDistanceMethodInfo a signature where+    overloadedMethod _ = displaySetDoubleClickDistance++#endif++-- method Display::set_double_click_time+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msec", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "double click time in milliseconds (thousandths of a second)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_set_double_click_time" gdk_display_set_double_click_time :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    Word32 ->                               -- msec : TBasicType TUInt+    IO ()++{- |+Sets the double click time (two clicks within this time interval+count as a double click and result in a @/GDK_2BUTTON_PRESS/@ event).+Applications should not set this, it is a global+user-configured setting.++/Since: 2.2/+-}+displaySetDoubleClickTime ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> Word32+    {- ^ /@msec@/: double click time in milliseconds (thousandths of a second) -}+    -> m ()+displaySetDoubleClickTime display msec = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    gdk_display_set_double_click_time display' msec+    touchManagedPtr display+    return ()++#if ENABLE_OVERLOADING+data DisplaySetDoubleClickTimeMethodInfo+instance (signature ~ (Word32 -> m ()), MonadIO m, IsDisplay a) => O.MethodInfo DisplaySetDoubleClickTimeMethodInfo a signature where+    overloadedMethod _ = displaySetDoubleClickTime++#endif++-- method Display::store_clipboard+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clipboard_window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow belonging to the clipboard owner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a timestamp", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "targets", argType = TCArray False (-1) 4 (TInterface (Name {namespace = "Gdk", name = "Atom"})), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an array of targets\n                   that should be saved, or %NULL\n                   if all available targets should be saved.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of the @targets array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : [Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of the @targets array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_store_clipboard" gdk_display_store_clipboard :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    Ptr Gdk.Window.Window ->                -- clipboard_window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Word32 ->                               -- time_ : TBasicType TUInt32+    Ptr (Ptr Gdk.Atom.Atom) ->              -- targets : TCArray False (-1) 4 (TInterface (Name {namespace = "Gdk", name = "Atom"}))+    Int32 ->                                -- n_targets : TBasicType TInt+    IO ()++{- |+Issues a request to the clipboard manager to store the+clipboard data. On X11, this is a special program that works+according to the+<http://www.freedesktop.org/Standards/clipboard-manager-spec FreeDesktop Clipboard Specification>.++/Since: 2.6/+-}+displayStoreClipboard ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a, Gdk.Window.IsWindow b) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> b+    {- ^ /@clipboardWindow@/: a 'GI.Gdk.Objects.Window.Window' belonging to the clipboard owner -}+    -> Word32+    {- ^ /@time_@/: a timestamp -}+    -> Maybe ([Gdk.Atom.Atom])+    {- ^ /@targets@/: an array of targets+                   that should be saved, or 'Nothing'+                   if all available targets should be saved. -}+    -> m ()+displayStoreClipboard display clipboardWindow time_ targets = liftIO $ do+    let nTargets = case targets of+            Nothing -> 0+            Just jTargets -> fromIntegral $ length jTargets+    display' <- unsafeManagedPtrCastPtr display+    clipboardWindow' <- unsafeManagedPtrCastPtr clipboardWindow+    maybeTargets <- case targets of+        Nothing -> return nullPtr+        Just jTargets -> do+            jTargets' <- mapM unsafeManagedPtrGetPtr jTargets+            jTargets'' <- packPtrArray jTargets'+            return jTargets''+    gdk_display_store_clipboard display' clipboardWindow' time_ maybeTargets nTargets+    touchManagedPtr display+    touchManagedPtr clipboardWindow+    whenJust targets (mapM_ touchManagedPtr)+    freeMem maybeTargets+    return ()++#if ENABLE_OVERLOADING+data DisplayStoreClipboardMethodInfo+instance (signature ~ (b -> Word32 -> Maybe ([Gdk.Atom.Atom]) -> m ()), MonadIO m, IsDisplay a, Gdk.Window.IsWindow b) => O.MethodInfo DisplayStoreClipboardMethodInfo a signature where+    overloadedMethod _ = displayStoreClipboard++#endif++-- method Display::supports_clipboard_persistence+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_supports_clipboard_persistence" gdk_display_supports_clipboard_persistence :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO CInt++{- |+Returns whether the speicifed display supports clipboard+persistance; i.e. if it’s possible to store the clipboard data after an+application has quit. On X11 this checks if a clipboard daemon is+running.++/Since: 2.6/+-}+displaySupportsClipboardPersistence ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the display supports clipboard persistance. -}+displaySupportsClipboardPersistence display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_supports_clipboard_persistence display'+    let result' = (/= 0) result+    touchManagedPtr display+    return result'++#if ENABLE_OVERLOADING+data DisplaySupportsClipboardPersistenceMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsDisplay a) => O.MethodInfo DisplaySupportsClipboardPersistenceMethodInfo a signature where+    overloadedMethod _ = displaySupportsClipboardPersistence++#endif++-- method Display::supports_composite+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_supports_composite" gdk_display_supports_composite :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO CInt++{-# DEPRECATED displaySupportsComposite ["(Since version 3.16)","Compositing is an outdated technology that","  only ever worked on X11."] #-}+{- |+Returns 'True' if 'GI.Gdk.Objects.Window.windowSetComposited' can be used+to redirect drawing on the window using compositing.++Currently this only works on X11 with XComposite and+XDamage extensions available.++/Since: 2.12/+-}+displaySupportsComposite ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if windows may be composited. -}+displaySupportsComposite display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_supports_composite display'+    let result' = (/= 0) result+    touchManagedPtr display+    return result'++#if ENABLE_OVERLOADING+data DisplaySupportsCompositeMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsDisplay a) => O.MethodInfo DisplaySupportsCompositeMethodInfo a signature where+    overloadedMethod _ = displaySupportsComposite++#endif++-- method Display::supports_cursor_alpha+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_supports_cursor_alpha" gdk_display_supports_cursor_alpha :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO CInt++{- |+Returns 'True' if cursors can use an 8bit alpha channel+on /@display@/. Otherwise, cursors are restricted to bilevel+alpha (i.e. a mask).++/Since: 2.4/+-}+displaySupportsCursorAlpha ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m Bool+    {- ^ __Returns:__ whether cursors can have alpha channels. -}+displaySupportsCursorAlpha display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_supports_cursor_alpha display'+    let result' = (/= 0) result+    touchManagedPtr display+    return result'++#if ENABLE_OVERLOADING+data DisplaySupportsCursorAlphaMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsDisplay a) => O.MethodInfo DisplaySupportsCursorAlphaMethodInfo a signature where+    overloadedMethod _ = displaySupportsCursorAlpha++#endif++-- method Display::supports_cursor_color+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_supports_cursor_color" gdk_display_supports_cursor_color :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO CInt++{- |+Returns 'True' if multicolored cursors are supported+on /@display@/. Otherwise, cursors have only a forground+and a background color.++/Since: 2.4/+-}+displaySupportsCursorColor ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m Bool+    {- ^ __Returns:__ whether cursors can have multiple colors. -}+displaySupportsCursorColor display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_supports_cursor_color display'+    let result' = (/= 0) result+    touchManagedPtr display+    return result'++#if ENABLE_OVERLOADING+data DisplaySupportsCursorColorMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsDisplay a) => O.MethodInfo DisplaySupportsCursorColorMethodInfo a signature where+    overloadedMethod _ = displaySupportsCursorColor++#endif++-- method Display::supports_input_shapes+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_supports_input_shapes" gdk_display_supports_input_shapes :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO CInt++{- |+Returns 'True' if @/gdk_window_input_shape_combine_mask()/@ can+be used to modify the input shape of windows on /@display@/.++/Since: 2.10/+-}+displaySupportsInputShapes ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if windows with modified input shape are supported -}+displaySupportsInputShapes display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_supports_input_shapes display'+    let result' = (/= 0) result+    touchManagedPtr display+    return result'++#if ENABLE_OVERLOADING+data DisplaySupportsInputShapesMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsDisplay a) => O.MethodInfo DisplaySupportsInputShapesMethodInfo a signature where+    overloadedMethod _ = displaySupportsInputShapes++#endif++-- method Display::supports_selection_notification+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_supports_selection_notification" gdk_display_supports_selection_notification :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO CInt++{- |+Returns whether 'GI.Gdk.Structs.EventOwnerChange.EventOwnerChange' events will be+sent when the owner of a selection changes.++/Since: 2.6/+-}+displaySupportsSelectionNotification ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m Bool+    {- ^ __Returns:__ whether 'GI.Gdk.Structs.EventOwnerChange.EventOwnerChange' events will+              be sent. -}+displaySupportsSelectionNotification display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_supports_selection_notification display'+    let result' = (/= 0) result+    touchManagedPtr display+    return result'++#if ENABLE_OVERLOADING+data DisplaySupportsSelectionNotificationMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsDisplay a) => O.MethodInfo DisplaySupportsSelectionNotificationMethodInfo a signature where+    overloadedMethod _ = displaySupportsSelectionNotification++#endif++-- method Display::supports_shapes+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_supports_shapes" gdk_display_supports_shapes :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO CInt++{- |+Returns 'True' if @/gdk_window_shape_combine_mask()/@ can+be used to create shaped windows on /@display@/.++/Since: 2.10/+-}+displaySupportsShapes ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if shaped windows are supported -}+displaySupportsShapes display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_display_supports_shapes display'+    let result' = (/= 0) result+    touchManagedPtr display+    return result'++#if ENABLE_OVERLOADING+data DisplaySupportsShapesMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsDisplay a) => O.MethodInfo DisplaySupportsShapesMethodInfo a signature where+    overloadedMethod _ = displaySupportsShapes++#endif++-- method Display::sync+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_sync" gdk_display_sync :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO ()++{- |+Flushes any requests queued for the windowing system and waits until all+requests have been handled. This is often used for making sure that the+display is synchronized with the current state of the program. Calling+'GI.Gdk.Objects.Display.displaySync' before 'GI.Gdk.Functions.errorTrapPop' makes sure that any errors+generated from earlier requests are handled before the error trap is+removed.++This is most useful for X11. On windowing systems where requests are+handled synchronously, this function will do nothing.++/Since: 2.2/+-}+displaySync ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m ()+displaySync display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    gdk_display_sync display'+    touchManagedPtr display+    return ()++#if ENABLE_OVERLOADING+data DisplaySyncMethodInfo+instance (signature ~ (m ()), MonadIO m, IsDisplay a) => O.MethodInfo DisplaySyncMethodInfo a signature where+    overloadedMethod _ = displaySync++#endif++-- method Display::warp_pointer+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the screen of @display to warp the pointer to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the x coordinate of the destination", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the y coordinate of the destination", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_warp_pointer" gdk_display_warp_pointer :: +    Ptr Display ->                          -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    Ptr Gdk.Screen.Screen ->                -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    Int32 ->                                -- x : TBasicType TInt+    Int32 ->                                -- y : TBasicType TInt+    IO ()++{-# DEPRECATED displayWarpPointer ["(Since version 3.0)","Use 'GI.Gdk.Objects.Device.deviceWarp' instead."] #-}+{- |+Warps the pointer of /@display@/ to the point /@x@/,/@y@/ on+the screen /@screen@/, unless the pointer is confined+to a window by a grab, in which case it will be moved+as far as allowed by the grab. Warping the pointer+creates events as if the user had moved the mouse+instantaneously to the destination.++Note that the pointer should normally be under the+control of the user. This function was added to cover+some rare use cases like keyboard navigation support+for the color picker in the @/GtkColorSelectionDialog/@.++/Since: 2.8/+-}+displayWarpPointer ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplay a, Gdk.Screen.IsScreen b) =>+    a+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> b+    {- ^ /@screen@/: the screen of /@display@/ to warp the pointer to -}+    -> Int32+    {- ^ /@x@/: the x coordinate of the destination -}+    -> Int32+    {- ^ /@y@/: the y coordinate of the destination -}+    -> m ()+displayWarpPointer display screen x y = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    screen' <- unsafeManagedPtrCastPtr screen+    gdk_display_warp_pointer display' screen' x y+    touchManagedPtr display+    touchManagedPtr screen+    return ()++#if ENABLE_OVERLOADING+data DisplayWarpPointerMethodInfo+instance (signature ~ (b -> Int32 -> Int32 -> m ()), MonadIO m, IsDisplay a, Gdk.Screen.IsScreen b) => O.MethodInfo DisplayWarpPointerMethodInfo a signature where+    overloadedMethod _ = displayWarpPointer++#endif++-- method Display::get_default+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Display"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_get_default" gdk_display_get_default :: +    IO (Ptr Display)++{- |+Gets the default 'GI.Gdk.Objects.Display.Display'. This is a convenience+function for:+@gdk_display_manager_get_default_display (gdk_display_manager_get ())@.++/Since: 2.2/+-}+displayGetDefault ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m (Maybe Display)+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Display.Display', or 'Nothing' if+  there is no default display. -}+displayGetDefault  = liftIO $ do+    result <- gdk_display_get_default+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Display) result'+        return result''+    return maybeResult++#if ENABLE_OVERLOADING+#endif++-- method Display::open+-- method type : MemberFunction+-- Args : [Arg {argCName = "display_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the display to open", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Display"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_open" gdk_display_open :: +    CString ->                              -- display_name : TBasicType TUTF8+    IO (Ptr Display)++{- |+Opens a display.++/Since: 2.2/+-}+displayOpen ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@displayName@/: the name of the display to open -}+    -> m (Maybe Display)+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Display.Display', or 'Nothing' if the+    display could not be opened -}+displayOpen displayName = liftIO $ do+    displayName' <- textToCString displayName+    result <- gdk_display_open displayName'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Display) result'+        return result''+    freeMem displayName'+    return maybeResult++#if ENABLE_OVERLOADING+#endif++-- method Display::open_default_libgtk_only+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "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+"] #-}+{- |+Opens the default display specified by command line arguments or+environment variables, sets it as the default display, and returns+it. 'GI.Gdk.Functions.parseArgs' must have been called first. If the default+display has previously been set, simply returns that. An internal+function that should not be used by applications.+-}+displayOpenDefaultLibgtkOnly ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m (Maybe Display)+    {- ^ __Returns:__ the default display, if it+  could be opened, otherwise 'Nothing'. -}+displayOpenDefaultLibgtkOnly  = liftIO $ do+    result <- gdk_display_open_default_libgtk_only+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Display) result'+        return result''+    return maybeResult++#if ENABLE_OVERLOADING+#endif++
+ GI/Gdk/Objects/Display.hs-boot view
@@ -0,0 +1,182 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Objects.Display where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype Display = Display (ManagedPtr Display)+instance GObject Display where+class (GObject o, O.IsDescendantOf Display o) => IsDisplay o+instance (GObject o, O.IsDescendantOf Display o) => IsDisplay o+instance O.HasParentTypes Display+#if ENABLE_OVERLOADING+data DisplayClosedSignalInfo+#endif+#if ENABLE_OVERLOADING+data DisplayMonitorAddedSignalInfo+#endif+#if ENABLE_OVERLOADING+data DisplayMonitorRemovedSignalInfo+#endif+#if ENABLE_OVERLOADING+data DisplayOpenedSignalInfo+#endif+#if ENABLE_OVERLOADING+data DisplaySeatAddedSignalInfo+#endif+#if ENABLE_OVERLOADING+data DisplaySeatRemovedSignalInfo+#endif+#if ENABLE_OVERLOADING+data DisplayBeepMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayCloseMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayDeviceIsGrabbedMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayFlushMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayGetAppLaunchContextMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayGetDefaultCursorSizeMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayGetDefaultGroupMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayGetDefaultScreenMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayGetDefaultSeatMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayGetDeviceManagerMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayGetEventMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayGetMaximalCursorSizeMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayGetMonitorMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayGetMonitorAtPointMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayGetMonitorAtWindowMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayGetNMonitorsMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayGetNScreensMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayGetNameMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayGetPointerMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayGetPrimaryMonitorMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayGetScreenMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayGetWindowAtPointerMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayHasPendingMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayIsClosedMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayKeyboardUngrabMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayListDevicesMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayListSeatsMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayNotifyStartupCompleteMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayPeekEventMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayPointerIsGrabbedMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayPointerUngrabMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayPutEventMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayRequestSelectionNotificationMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplaySetDoubleClickDistanceMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplaySetDoubleClickTimeMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayStoreClipboardMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplaySupportsClipboardPersistenceMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplaySupportsCompositeMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplaySupportsCursorAlphaMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplaySupportsCursorColorMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplaySupportsInputShapesMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplaySupportsSelectionNotificationMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplaySupportsShapesMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplaySyncMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayWarpPointerMethodInfo+#endif
+ GI/Gdk/Objects/DisplayManager.hs view
@@ -0,0 +1,574 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++The purpose of the 'GI.Gdk.Objects.DisplayManager.DisplayManager' singleton object is to offer+notification when displays appear or disappear or the default display+changes.++You can use 'GI.Gdk.Objects.DisplayManager.displayManagerGet' to obtain the 'GI.Gdk.Objects.DisplayManager.DisplayManager'+singleton, but that should be rarely necessary. Typically, initializing+GTK+ opens a display that you can work with without ever accessing the+'GI.Gdk.Objects.DisplayManager.DisplayManager'.++The GDK library can be built with support for multiple backends.+The 'GI.Gdk.Objects.DisplayManager.DisplayManager' object determines which backend is used+at runtime.++When writing backend-specific code that is supposed to work with+multiple GDK backends, you have to consider both compile time and+runtime. At compile time, use the @/GDK_WINDOWING_X11/@, @/GDK_WINDOWING_WIN32/@+macros, etc. to find out which backends are present in the GDK library+you are building your application against. At runtime, use type-check+macros like @/GDK_IS_X11_DISPLAY()/@ to find out which backend is in use:++## Backend-specific code ## {@/backend/@-specific}+++=== /C code/+>+>#ifdef GDK_WINDOWING_X11+>  if (GDK_IS_X11_DISPLAY (display))+>    {+>      // make X11-specific calls here+>    }+>  else+>#endif+>#ifdef GDK_WINDOWING_QUARTZ+>  if (GDK_IS_QUARTZ_DISPLAY (display))+>    {+>      // make Quartz-specific calls here+>    }+>  else+>#endif+>  g_error ("Unsupported GDK backend");++-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Objects.DisplayManager+    ( ++-- * Exported types+    DisplayManager(..)                      ,+    IsDisplayManager                        ,+    toDisplayManager                        ,+    noDisplayManager                        ,+++ -- * Methods+-- ** get #method:get#++    displayManagerGet                       ,+++-- ** getDefaultDisplay #method:getDefaultDisplay#++#if ENABLE_OVERLOADING+    DisplayManagerGetDefaultDisplayMethodInfo,+#endif+    displayManagerGetDefaultDisplay         ,+++-- ** listDisplays #method:listDisplays#++#if ENABLE_OVERLOADING+    DisplayManagerListDisplaysMethodInfo    ,+#endif+    displayManagerListDisplays              ,+++-- ** openDisplay #method:openDisplay#++#if ENABLE_OVERLOADING+    DisplayManagerOpenDisplayMethodInfo     ,+#endif+    displayManagerOpenDisplay               ,+++-- ** setDefaultDisplay #method:setDefaultDisplay#++#if ENABLE_OVERLOADING+    DisplayManagerSetDefaultDisplayMethodInfo,+#endif+    displayManagerSetDefaultDisplay         ,+++++ -- * Properties+-- ** defaultDisplay #attr:defaultDisplay#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    DisplayManagerDefaultDisplayPropertyInfo,+#endif+    constructDisplayManagerDefaultDisplay   ,+#if ENABLE_OVERLOADING+    displayManagerDefaultDisplay            ,+#endif+    getDisplayManagerDefaultDisplay         ,+    setDisplayManagerDefaultDisplay         ,+++++ -- * Signals+-- ** displayOpened #signal:displayOpened#++    C_DisplayManagerDisplayOpenedCallback   ,+    DisplayManagerDisplayOpenedCallback     ,+#if ENABLE_OVERLOADING+    DisplayManagerDisplayOpenedSignalInfo   ,+#endif+    afterDisplayManagerDisplayOpened        ,+    genClosure_DisplayManagerDisplayOpened  ,+    mk_DisplayManagerDisplayOpenedCallback  ,+    noDisplayManagerDisplayOpenedCallback   ,+    onDisplayManagerDisplayOpened           ,+    wrap_DisplayManagerDisplayOpenedCallback,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import qualified GI.GObject.Objects.Object as GObject.Object+import {-# SOURCE #-} qualified GI.Gdk.Objects.Display as Gdk.Display++-- | Memory-managed wrapper type.+newtype DisplayManager = DisplayManager (ManagedPtr DisplayManager)+foreign import ccall "gdk_display_manager_get_type"+    c_gdk_display_manager_get_type :: IO GType++instance GObject DisplayManager where+    gobjectType = c_gdk_display_manager_get_type+    ++-- | Type class for types which can be safely cast to `DisplayManager`, for instance with `toDisplayManager`.+class (GObject o, O.IsDescendantOf DisplayManager o) => IsDisplayManager o+instance (GObject o, O.IsDescendantOf DisplayManager o) => IsDisplayManager o++instance O.HasParentTypes DisplayManager+type instance O.ParentTypes DisplayManager = '[GObject.Object.Object]++-- | Cast to `DisplayManager`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toDisplayManager :: (MonadIO m, IsDisplayManager o) => o -> m DisplayManager+toDisplayManager = liftIO . unsafeCastTo DisplayManager++-- | A convenience alias for `Nothing` :: `Maybe` `DisplayManager`.+noDisplayManager :: Maybe DisplayManager+noDisplayManager = Nothing++#if ENABLE_OVERLOADING+type family ResolveDisplayManagerMethod (t :: Symbol) (o :: *) :: * where+    ResolveDisplayManagerMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveDisplayManagerMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveDisplayManagerMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveDisplayManagerMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveDisplayManagerMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveDisplayManagerMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveDisplayManagerMethod "listDisplays" o = DisplayManagerListDisplaysMethodInfo+    ResolveDisplayManagerMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveDisplayManagerMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveDisplayManagerMethod "openDisplay" o = DisplayManagerOpenDisplayMethodInfo+    ResolveDisplayManagerMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveDisplayManagerMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveDisplayManagerMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveDisplayManagerMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveDisplayManagerMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveDisplayManagerMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveDisplayManagerMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveDisplayManagerMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveDisplayManagerMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveDisplayManagerMethod "getDefaultDisplay" o = DisplayManagerGetDefaultDisplayMethodInfo+    ResolveDisplayManagerMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveDisplayManagerMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveDisplayManagerMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveDisplayManagerMethod "setDefaultDisplay" o = DisplayManagerSetDefaultDisplayMethodInfo+    ResolveDisplayManagerMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveDisplayManagerMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveDisplayManagerMethod t DisplayManager, O.MethodInfo info DisplayManager p) => OL.IsLabel t (DisplayManager -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++-- signal DisplayManager::display-opened+{- |+The ::display-opened signal is emitted when a display is opened.++/Since: 2.2/+-}+type DisplayManagerDisplayOpenedCallback =+    Gdk.Display.Display+    {- ^ /@display@/: the opened display -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `DisplayManagerDisplayOpenedCallback`@.+noDisplayManagerDisplayOpenedCallback :: Maybe DisplayManagerDisplayOpenedCallback+noDisplayManagerDisplayOpenedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_DisplayManagerDisplayOpenedCallback =+    Ptr () ->                               -- object+    Ptr Gdk.Display.Display ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_DisplayManagerDisplayOpenedCallback`.+foreign import ccall "wrapper"+    mk_DisplayManagerDisplayOpenedCallback :: C_DisplayManagerDisplayOpenedCallback -> IO (FunPtr C_DisplayManagerDisplayOpenedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_DisplayManagerDisplayOpened :: MonadIO m => DisplayManagerDisplayOpenedCallback -> m (GClosure C_DisplayManagerDisplayOpenedCallback)+genClosure_DisplayManagerDisplayOpened cb = liftIO $ do+    let cb' = wrap_DisplayManagerDisplayOpenedCallback cb+    mk_DisplayManagerDisplayOpenedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `DisplayManagerDisplayOpenedCallback` into a `C_DisplayManagerDisplayOpenedCallback`.+wrap_DisplayManagerDisplayOpenedCallback ::+    DisplayManagerDisplayOpenedCallback ->+    C_DisplayManagerDisplayOpenedCallback+wrap_DisplayManagerDisplayOpenedCallback _cb _ display _ = do+    display' <- (newObject Gdk.Display.Display) display+    _cb  display'+++{- |+Connect a signal handler for the “@display-opened@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' displayManager #displayOpened callback+@+-}+onDisplayManagerDisplayOpened :: (IsDisplayManager a, MonadIO m) => a -> DisplayManagerDisplayOpenedCallback -> m SignalHandlerId+onDisplayManagerDisplayOpened obj cb = liftIO $ do+    let cb' = wrap_DisplayManagerDisplayOpenedCallback cb+    cb'' <- mk_DisplayManagerDisplayOpenedCallback cb'+    connectSignalFunPtr obj "display-opened" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@display-opened@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' displayManager #displayOpened callback+@+-}+afterDisplayManagerDisplayOpened :: (IsDisplayManager a, MonadIO m) => a -> DisplayManagerDisplayOpenedCallback -> m SignalHandlerId+afterDisplayManagerDisplayOpened obj cb = liftIO $ do+    let cb' = wrap_DisplayManagerDisplayOpenedCallback cb+    cb'' <- mk_DisplayManagerDisplayOpenedCallback cb'+    connectSignalFunPtr obj "display-opened" cb'' SignalConnectAfter+++-- VVV Prop "default-display"+   -- Type: TInterface (Name {namespace = "Gdk", name = "Display"})+   -- Flags: [PropertyReadable,PropertyWritable]+   -- Nullable: (Just True,Just False)++{- |+Get the value of the “@default-display@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' displayManager #defaultDisplay+@+-}+getDisplayManagerDefaultDisplay :: (MonadIO m, IsDisplayManager o) => o -> m (Maybe Gdk.Display.Display)+getDisplayManagerDefaultDisplay obj = liftIO $ B.Properties.getObjectPropertyObject obj "default-display" Gdk.Display.Display++{- |+Set the value of the “@default-display@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' displayManager [ #defaultDisplay 'Data.GI.Base.Attributes.:=' value ]+@+-}+setDisplayManagerDefaultDisplay :: (MonadIO m, IsDisplayManager o, Gdk.Display.IsDisplay a) => o -> a -> m ()+setDisplayManagerDefaultDisplay obj val = liftIO $ B.Properties.setObjectPropertyObject obj "default-display" (Just val)++{- |+Construct a `GValueConstruct` with valid value for the “@default-display@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructDisplayManagerDefaultDisplay :: (IsDisplayManager o, Gdk.Display.IsDisplay a) => a -> IO (GValueConstruct o)+constructDisplayManagerDefaultDisplay val = B.Properties.constructObjectPropertyObject "default-display" (Just val)++#if ENABLE_OVERLOADING+data DisplayManagerDefaultDisplayPropertyInfo+instance AttrInfo DisplayManagerDefaultDisplayPropertyInfo where+    type AttrAllowedOps DisplayManagerDefaultDisplayPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint DisplayManagerDefaultDisplayPropertyInfo = Gdk.Display.IsDisplay+    type AttrBaseTypeConstraint DisplayManagerDefaultDisplayPropertyInfo = IsDisplayManager+    type AttrGetType DisplayManagerDefaultDisplayPropertyInfo = (Maybe Gdk.Display.Display)+    type AttrLabel DisplayManagerDefaultDisplayPropertyInfo = "default-display"+    type AttrOrigin DisplayManagerDefaultDisplayPropertyInfo = DisplayManager+    attrGet _ = getDisplayManagerDefaultDisplay+    attrSet _ = setDisplayManagerDefaultDisplay+    attrConstruct _ = constructDisplayManagerDefaultDisplay+    attrClear _ = undefined+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList DisplayManager+type instance O.AttributeList DisplayManager = DisplayManagerAttributeList+type DisplayManagerAttributeList = ('[ '("defaultDisplay", DisplayManagerDefaultDisplayPropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+displayManagerDefaultDisplay :: AttrLabelProxy "defaultDisplay"+displayManagerDefaultDisplay = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+data DisplayManagerDisplayOpenedSignalInfo+instance SignalInfo DisplayManagerDisplayOpenedSignalInfo where+    type HaskellCallbackType DisplayManagerDisplayOpenedSignalInfo = DisplayManagerDisplayOpenedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_DisplayManagerDisplayOpenedCallback cb+        cb'' <- mk_DisplayManagerDisplayOpenedCallback cb'+        connectSignalFunPtr obj "display-opened" cb'' connectMode++type instance O.SignalList DisplayManager = DisplayManagerSignalList+type DisplayManagerSignalList = ('[ '("displayOpened", DisplayManagerDisplayOpenedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method DisplayManager::get_default_display+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gdk", name = "DisplayManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplayManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Display"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_manager_get_default_display" gdk_display_manager_get_default_display :: +    Ptr DisplayManager ->                   -- manager : TInterface (Name {namespace = "Gdk", name = "DisplayManager"})+    IO (Ptr Gdk.Display.Display)++{- |+Gets the default 'GI.Gdk.Objects.Display.Display'.++/Since: 2.2/+-}+displayManagerGetDefaultDisplay ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplayManager a) =>+    a+    {- ^ /@manager@/: a 'GI.Gdk.Objects.DisplayManager.DisplayManager' -}+    -> m (Maybe Gdk.Display.Display)+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Display.Display', or 'Nothing' if+    there is no default display. -}+displayManagerGetDefaultDisplay manager = liftIO $ do+    manager' <- unsafeManagedPtrCastPtr manager+    result <- gdk_display_manager_get_default_display manager'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Gdk.Display.Display) result'+        return result''+    touchManagedPtr manager+    return maybeResult++#if ENABLE_OVERLOADING+data DisplayManagerGetDefaultDisplayMethodInfo+instance (signature ~ (m (Maybe Gdk.Display.Display)), MonadIO m, IsDisplayManager a) => O.MethodInfo DisplayManagerGetDefaultDisplayMethodInfo a signature where+    overloadedMethod _ = displayManagerGetDefaultDisplay++#endif++-- method DisplayManager::list_displays+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gdk", name = "DisplayManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplayManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TGSList (TInterface (Name {namespace = "Gdk", name = "Display"})))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_manager_list_displays" gdk_display_manager_list_displays :: +    Ptr DisplayManager ->                   -- manager : TInterface (Name {namespace = "Gdk", name = "DisplayManager"})+    IO (Ptr (GSList (Ptr Gdk.Display.Display)))++{- |+List all currently open displays.++/Since: 2.2/+-}+displayManagerListDisplays ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplayManager a) =>+    a+    {- ^ /@manager@/: a 'GI.Gdk.Objects.DisplayManager.DisplayManager' -}+    -> m [Gdk.Display.Display]+    {- ^ __Returns:__ a newly+    allocated 'GI.GLib.Structs.SList.SList' of 'GI.Gdk.Objects.Display.Display' objects. Free with @/g_slist_free()/@+    when you are done with it. -}+displayManagerListDisplays manager = liftIO $ do+    manager' <- unsafeManagedPtrCastPtr manager+    result <- gdk_display_manager_list_displays manager'+    result' <- unpackGSList result+    result'' <- mapM (newObject Gdk.Display.Display) result'+    g_slist_free result+    touchManagedPtr manager+    return result''++#if ENABLE_OVERLOADING+data DisplayManagerListDisplaysMethodInfo+instance (signature ~ (m [Gdk.Display.Display]), MonadIO m, IsDisplayManager a) => O.MethodInfo DisplayManagerListDisplaysMethodInfo a signature where+    overloadedMethod _ = displayManagerListDisplays++#endif++-- method DisplayManager::open_display+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gdk", name = "DisplayManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplayManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the display to open", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Display"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_manager_open_display" gdk_display_manager_open_display :: +    Ptr DisplayManager ->                   -- manager : TInterface (Name {namespace = "Gdk", name = "DisplayManager"})+    CString ->                              -- name : TBasicType TUTF8+    IO (Ptr Gdk.Display.Display)++{- |+Opens a display.++/Since: 3.0/+-}+displayManagerOpenDisplay ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplayManager a) =>+    a+    {- ^ /@manager@/: a 'GI.Gdk.Objects.DisplayManager.DisplayManager' -}+    -> T.Text+    {- ^ /@name@/: the name of the display to open -}+    -> m (Maybe Gdk.Display.Display)+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Display.Display', or 'Nothing' if the+    display could not be opened -}+displayManagerOpenDisplay manager name = liftIO $ do+    manager' <- unsafeManagedPtrCastPtr manager+    name' <- textToCString name+    result <- gdk_display_manager_open_display manager' name'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Gdk.Display.Display) result'+        return result''+    touchManagedPtr manager+    freeMem name'+    return maybeResult++#if ENABLE_OVERLOADING+data DisplayManagerOpenDisplayMethodInfo+instance (signature ~ (T.Text -> m (Maybe Gdk.Display.Display)), MonadIO m, IsDisplayManager a) => O.MethodInfo DisplayManagerOpenDisplayMethodInfo a signature where+    overloadedMethod _ = displayManagerOpenDisplay++#endif++-- method DisplayManager::set_default_display+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gdk", name = "DisplayManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplayManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_manager_set_default_display" gdk_display_manager_set_default_display :: +    Ptr DisplayManager ->                   -- manager : TInterface (Name {namespace = "Gdk", name = "DisplayManager"})+    Ptr Gdk.Display.Display ->              -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO ()++{- |+Sets /@display@/ as the default display.++/Since: 2.2/+-}+displayManagerSetDefaultDisplay ::+    (B.CallStack.HasCallStack, MonadIO m, IsDisplayManager a, Gdk.Display.IsDisplay b) =>+    a+    {- ^ /@manager@/: a 'GI.Gdk.Objects.DisplayManager.DisplayManager' -}+    -> b+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}+    -> m ()+displayManagerSetDefaultDisplay manager display = liftIO $ do+    manager' <- unsafeManagedPtrCastPtr manager+    display' <- unsafeManagedPtrCastPtr display+    gdk_display_manager_set_default_display manager' display'+    touchManagedPtr manager+    touchManagedPtr display+    return ()++#if ENABLE_OVERLOADING+data DisplayManagerSetDefaultDisplayMethodInfo+instance (signature ~ (b -> m ()), MonadIO m, IsDisplayManager a, Gdk.Display.IsDisplay b) => O.MethodInfo DisplayManagerSetDefaultDisplayMethodInfo a signature where+    overloadedMethod _ = displayManagerSetDefaultDisplay++#endif++-- method DisplayManager::get+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "DisplayManager"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_display_manager_get" gdk_display_manager_get :: +    IO (Ptr DisplayManager)++{- |+Gets the singleton 'GI.Gdk.Objects.DisplayManager.DisplayManager' object.++When called for the first time, this function consults the+@GDK_BACKEND@ environment variable to find out which+of the supported GDK backends to use (in case GDK has been compiled+with multiple backends). Applications can use 'GI.Gdk.Functions.setAllowedBackends'+to limit what backends can be used.++/Since: 2.2/+-}+displayManagerGet ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m DisplayManager+    {- ^ __Returns:__ The global 'GI.Gdk.Objects.DisplayManager.DisplayManager' singleton;+    'GI.Gdk.Functions.parseArgs', 'GI.Gdk.Functions.init', or 'GI.Gdk.Functions.initCheck' must have+    been called first. -}+displayManagerGet  = liftIO $ do+    result <- gdk_display_manager_get+    checkUnexpectedReturnNULL "displayManagerGet" result+    result' <- (newObject DisplayManager) result+    return result'++#if ENABLE_OVERLOADING+#endif++
+ GI/Gdk/Objects/DisplayManager.hs-boot view
@@ -0,0 +1,47 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Objects.DisplayManager where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype DisplayManager = DisplayManager (ManagedPtr DisplayManager)+instance GObject DisplayManager where+class (GObject o, O.IsDescendantOf DisplayManager o) => IsDisplayManager o+instance (GObject o, O.IsDescendantOf DisplayManager o) => IsDisplayManager o+instance O.HasParentTypes DisplayManager+#if ENABLE_OVERLOADING+data DisplayManagerDefaultDisplayPropertyInfo+#endif+#if ENABLE_OVERLOADING+data DisplayManagerDisplayOpenedSignalInfo+#endif+#if ENABLE_OVERLOADING+data DisplayManagerGetDefaultDisplayMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayManagerListDisplaysMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayManagerOpenDisplayMethodInfo+#endif+#if ENABLE_OVERLOADING+data DisplayManagerSetDefaultDisplayMethodInfo+#endif
+ GI/Gdk/Objects/DragContext.hs view
@@ -0,0 +1,1117 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++/No description available in the introspection data./+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Objects.DragContext+    ( ++-- * Exported types+    DragContext(..)                         ,+    IsDragContext                           ,+    toDragContext                           ,+    noDragContext                           ,+++ -- * Methods+-- ** getActions #method:getActions#++#if ENABLE_OVERLOADING+    DragContextGetActionsMethodInfo         ,+#endif+    dragContextGetActions                   ,+++-- ** getDestWindow #method:getDestWindow#++#if ENABLE_OVERLOADING+    DragContextGetDestWindowMethodInfo      ,+#endif+    dragContextGetDestWindow                ,+++-- ** getDevice #method:getDevice#++#if ENABLE_OVERLOADING+    DragContextGetDeviceMethodInfo          ,+#endif+    dragContextGetDevice                    ,+++-- ** getDragWindow #method:getDragWindow#++#if ENABLE_OVERLOADING+    DragContextGetDragWindowMethodInfo      ,+#endif+    dragContextGetDragWindow                ,+++-- ** getProtocol #method:getProtocol#++#if ENABLE_OVERLOADING+    DragContextGetProtocolMethodInfo        ,+#endif+    dragContextGetProtocol                  ,+++-- ** getSelectedAction #method:getSelectedAction#++#if ENABLE_OVERLOADING+    DragContextGetSelectedActionMethodInfo  ,+#endif+    dragContextGetSelectedAction            ,+++-- ** getSourceWindow #method:getSourceWindow#++#if ENABLE_OVERLOADING+    DragContextGetSourceWindowMethodInfo    ,+#endif+    dragContextGetSourceWindow              ,+++-- ** getSuggestedAction #method:getSuggestedAction#++#if ENABLE_OVERLOADING+    DragContextGetSuggestedActionMethodInfo ,+#endif+    dragContextGetSuggestedAction           ,+++-- ** listTargets #method:listTargets#++#if ENABLE_OVERLOADING+    DragContextListTargetsMethodInfo        ,+#endif+    dragContextListTargets                  ,+++-- ** manageDnd #method:manageDnd#++#if ENABLE_OVERLOADING+    DragContextManageDndMethodInfo          ,+#endif+    dragContextManageDnd                    ,+++-- ** setDevice #method:setDevice#++#if ENABLE_OVERLOADING+    DragContextSetDeviceMethodInfo          ,+#endif+    dragContextSetDevice                    ,+++-- ** setHotspot #method:setHotspot#++#if ENABLE_OVERLOADING+    DragContextSetHotspotMethodInfo         ,+#endif+    dragContextSetHotspot                   ,+++++ -- * Signals+-- ** actionChanged #signal:actionChanged#++    C_DragContextActionChangedCallback      ,+    DragContextActionChangedCallback        ,+#if ENABLE_OVERLOADING+    DragContextActionChangedSignalInfo      ,+#endif+    afterDragContextActionChanged           ,+    genClosure_DragContextActionChanged     ,+    mk_DragContextActionChangedCallback     ,+    noDragContextActionChangedCallback      ,+    onDragContextActionChanged              ,+    wrap_DragContextActionChangedCallback   ,+++-- ** cancel #signal:cancel#++    C_DragContextCancelCallback             ,+    DragContextCancelCallback               ,+#if ENABLE_OVERLOADING+    DragContextCancelSignalInfo             ,+#endif+    afterDragContextCancel                  ,+    genClosure_DragContextCancel            ,+    mk_DragContextCancelCallback            ,+    noDragContextCancelCallback             ,+    onDragContextCancel                     ,+    wrap_DragContextCancelCallback          ,+++-- ** dndFinished #signal:dndFinished#++    C_DragContextDndFinishedCallback        ,+    DragContextDndFinishedCallback          ,+#if ENABLE_OVERLOADING+    DragContextDndFinishedSignalInfo        ,+#endif+    afterDragContextDndFinished             ,+    genClosure_DragContextDndFinished       ,+    mk_DragContextDndFinishedCallback       ,+    noDragContextDndFinishedCallback        ,+    onDragContextDndFinished                ,+    wrap_DragContextDndFinishedCallback     ,+++-- ** dropPerformed #signal:dropPerformed#++    C_DragContextDropPerformedCallback      ,+    DragContextDropPerformedCallback        ,+#if ENABLE_OVERLOADING+    DragContextDropPerformedSignalInfo      ,+#endif+    afterDragContextDropPerformed           ,+    genClosure_DragContextDropPerformed     ,+    mk_DragContextDropPerformedCallback     ,+    noDragContextDropPerformedCallback      ,+    onDragContextDropPerformed              ,+    wrap_DragContextDropPerformedCallback   ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import qualified GI.GObject.Objects.Object as GObject.Object+import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Flags as Gdk.Flags+import {-# SOURCE #-} qualified GI.Gdk.Objects.Device as Gdk.Device+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window+import {-# SOURCE #-} qualified GI.Gdk.Structs.Atom as Gdk.Atom++-- | Memory-managed wrapper type.+newtype DragContext = DragContext (ManagedPtr DragContext)+foreign import ccall "gdk_drag_context_get_type"+    c_gdk_drag_context_get_type :: IO GType++instance GObject DragContext where+    gobjectType = c_gdk_drag_context_get_type+    ++-- | Type class for types which can be safely cast to `DragContext`, for instance with `toDragContext`.+class (GObject o, O.IsDescendantOf DragContext o) => IsDragContext o+instance (GObject o, O.IsDescendantOf DragContext o) => IsDragContext o++instance O.HasParentTypes DragContext+type instance O.ParentTypes DragContext = '[GObject.Object.Object]++-- | Cast to `DragContext`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toDragContext :: (MonadIO m, IsDragContext o) => o -> m DragContext+toDragContext = liftIO . unsafeCastTo DragContext++-- | A convenience alias for `Nothing` :: `Maybe` `DragContext`.+noDragContext :: Maybe DragContext+noDragContext = Nothing++#if ENABLE_OVERLOADING+type family ResolveDragContextMethod (t :: Symbol) (o :: *) :: * where+    ResolveDragContextMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveDragContextMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveDragContextMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveDragContextMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveDragContextMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveDragContextMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveDragContextMethod "listTargets" o = DragContextListTargetsMethodInfo+    ResolveDragContextMethod "manageDnd" o = DragContextManageDndMethodInfo+    ResolveDragContextMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveDragContextMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveDragContextMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveDragContextMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveDragContextMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveDragContextMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveDragContextMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveDragContextMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveDragContextMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveDragContextMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveDragContextMethod "getActions" o = DragContextGetActionsMethodInfo+    ResolveDragContextMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveDragContextMethod "getDestWindow" o = DragContextGetDestWindowMethodInfo+    ResolveDragContextMethod "getDevice" o = DragContextGetDeviceMethodInfo+    ResolveDragContextMethod "getDragWindow" o = DragContextGetDragWindowMethodInfo+    ResolveDragContextMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveDragContextMethod "getProtocol" o = DragContextGetProtocolMethodInfo+    ResolveDragContextMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveDragContextMethod "getSelectedAction" o = DragContextGetSelectedActionMethodInfo+    ResolveDragContextMethod "getSourceWindow" o = DragContextGetSourceWindowMethodInfo+    ResolveDragContextMethod "getSuggestedAction" o = DragContextGetSuggestedActionMethodInfo+    ResolveDragContextMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveDragContextMethod "setDevice" o = DragContextSetDeviceMethodInfo+    ResolveDragContextMethod "setHotspot" o = DragContextSetHotspotMethodInfo+    ResolveDragContextMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveDragContextMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveDragContextMethod t DragContext, O.MethodInfo info DragContext p) => OL.IsLabel t (DragContext -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++-- signal DragContext::action-changed+{- |+A new action is being chosen for the drag and drop operation.++This signal will only be emitted if the 'GI.Gdk.Objects.DragContext.DragContext' manages+the drag and drop operation. See 'GI.Gdk.Objects.DragContext.dragContextManageDnd'+for more information.++/Since: 3.20/+-}+type DragContextActionChangedCallback =+    [Gdk.Flags.DragAction]+    {- ^ /@action@/: The action currently chosen -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `DragContextActionChangedCallback`@.+noDragContextActionChangedCallback :: Maybe DragContextActionChangedCallback+noDragContextActionChangedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_DragContextActionChangedCallback =+    Ptr () ->                               -- object+    CUInt ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_DragContextActionChangedCallback`.+foreign import ccall "wrapper"+    mk_DragContextActionChangedCallback :: C_DragContextActionChangedCallback -> IO (FunPtr C_DragContextActionChangedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_DragContextActionChanged :: MonadIO m => DragContextActionChangedCallback -> m (GClosure C_DragContextActionChangedCallback)+genClosure_DragContextActionChanged cb = liftIO $ do+    let cb' = wrap_DragContextActionChangedCallback cb+    mk_DragContextActionChangedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `DragContextActionChangedCallback` into a `C_DragContextActionChangedCallback`.+wrap_DragContextActionChangedCallback ::+    DragContextActionChangedCallback ->+    C_DragContextActionChangedCallback+wrap_DragContextActionChangedCallback _cb _ action _ = do+    let action' = wordToGFlags action+    _cb  action'+++{- |+Connect a signal handler for the “@action-changed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' dragContext #actionChanged callback+@+-}+onDragContextActionChanged :: (IsDragContext a, MonadIO m) => a -> DragContextActionChangedCallback -> m SignalHandlerId+onDragContextActionChanged obj cb = liftIO $ do+    let cb' = wrap_DragContextActionChangedCallback cb+    cb'' <- mk_DragContextActionChangedCallback cb'+    connectSignalFunPtr obj "action-changed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@action-changed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' dragContext #actionChanged callback+@+-}+afterDragContextActionChanged :: (IsDragContext a, MonadIO m) => a -> DragContextActionChangedCallback -> m SignalHandlerId+afterDragContextActionChanged obj cb = liftIO $ do+    let cb' = wrap_DragContextActionChangedCallback cb+    cb'' <- mk_DragContextActionChangedCallback cb'+    connectSignalFunPtr obj "action-changed" cb'' SignalConnectAfter+++-- signal DragContext::cancel+{- |+The drag and drop operation was cancelled.++This signal will only be emitted if the 'GI.Gdk.Objects.DragContext.DragContext' manages+the drag and drop operation. See 'GI.Gdk.Objects.DragContext.dragContextManageDnd'+for more information.++/Since: 3.20/+-}+type DragContextCancelCallback =+    Gdk.Enums.DragCancelReason+    {- ^ /@reason@/: The reason the context was cancelled -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `DragContextCancelCallback`@.+noDragContextCancelCallback :: Maybe DragContextCancelCallback+noDragContextCancelCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_DragContextCancelCallback =+    Ptr () ->                               -- object+    CUInt ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_DragContextCancelCallback`.+foreign import ccall "wrapper"+    mk_DragContextCancelCallback :: C_DragContextCancelCallback -> IO (FunPtr C_DragContextCancelCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_DragContextCancel :: MonadIO m => DragContextCancelCallback -> m (GClosure C_DragContextCancelCallback)+genClosure_DragContextCancel cb = liftIO $ do+    let cb' = wrap_DragContextCancelCallback cb+    mk_DragContextCancelCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `DragContextCancelCallback` into a `C_DragContextCancelCallback`.+wrap_DragContextCancelCallback ::+    DragContextCancelCallback ->+    C_DragContextCancelCallback+wrap_DragContextCancelCallback _cb _ reason _ = do+    let reason' = (toEnum . fromIntegral) reason+    _cb  reason'+++{- |+Connect a signal handler for the “@cancel@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' dragContext #cancel callback+@+-}+onDragContextCancel :: (IsDragContext a, MonadIO m) => a -> DragContextCancelCallback -> m SignalHandlerId+onDragContextCancel obj cb = liftIO $ do+    let cb' = wrap_DragContextCancelCallback cb+    cb'' <- mk_DragContextCancelCallback cb'+    connectSignalFunPtr obj "cancel" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@cancel@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' dragContext #cancel callback+@+-}+afterDragContextCancel :: (IsDragContext a, MonadIO m) => a -> DragContextCancelCallback -> m SignalHandlerId+afterDragContextCancel obj cb = liftIO $ do+    let cb' = wrap_DragContextCancelCallback cb+    cb'' <- mk_DragContextCancelCallback cb'+    connectSignalFunPtr obj "cancel" cb'' SignalConnectAfter+++-- signal DragContext::dnd-finished+{- |+The drag and drop operation was finished, the drag destination+finished reading all data. The drag source can now free all+miscellaneous data.++This signal will only be emitted if the 'GI.Gdk.Objects.DragContext.DragContext' manages+the drag and drop operation. See 'GI.Gdk.Objects.DragContext.dragContextManageDnd'+for more information.++/Since: 3.20/+-}+type DragContextDndFinishedCallback =+    IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `DragContextDndFinishedCallback`@.+noDragContextDndFinishedCallback :: Maybe DragContextDndFinishedCallback+noDragContextDndFinishedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_DragContextDndFinishedCallback =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_DragContextDndFinishedCallback`.+foreign import ccall "wrapper"+    mk_DragContextDndFinishedCallback :: C_DragContextDndFinishedCallback -> IO (FunPtr C_DragContextDndFinishedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_DragContextDndFinished :: MonadIO m => DragContextDndFinishedCallback -> m (GClosure C_DragContextDndFinishedCallback)+genClosure_DragContextDndFinished cb = liftIO $ do+    let cb' = wrap_DragContextDndFinishedCallback cb+    mk_DragContextDndFinishedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `DragContextDndFinishedCallback` into a `C_DragContextDndFinishedCallback`.+wrap_DragContextDndFinishedCallback ::+    DragContextDndFinishedCallback ->+    C_DragContextDndFinishedCallback+wrap_DragContextDndFinishedCallback _cb _ _ = do+    _cb +++{- |+Connect a signal handler for the “@dnd-finished@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' dragContext #dndFinished callback+@+-}+onDragContextDndFinished :: (IsDragContext a, MonadIO m) => a -> DragContextDndFinishedCallback -> m SignalHandlerId+onDragContextDndFinished obj cb = liftIO $ do+    let cb' = wrap_DragContextDndFinishedCallback cb+    cb'' <- mk_DragContextDndFinishedCallback cb'+    connectSignalFunPtr obj "dnd-finished" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@dnd-finished@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' dragContext #dndFinished callback+@+-}+afterDragContextDndFinished :: (IsDragContext a, MonadIO m) => a -> DragContextDndFinishedCallback -> m SignalHandlerId+afterDragContextDndFinished obj cb = liftIO $ do+    let cb' = wrap_DragContextDndFinishedCallback cb+    cb'' <- mk_DragContextDndFinishedCallback cb'+    connectSignalFunPtr obj "dnd-finished" cb'' SignalConnectAfter+++-- signal DragContext::drop-performed+{- |+The drag and drop operation was performed on an accepting client.++This signal will only be emitted if the 'GI.Gdk.Objects.DragContext.DragContext' manages+the drag and drop operation. See 'GI.Gdk.Objects.DragContext.dragContextManageDnd'+for more information.++/Since: 3.20/+-}+type DragContextDropPerformedCallback =+    Int32+    {- ^ /@time@/: the time at which the drop happened. -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `DragContextDropPerformedCallback`@.+noDragContextDropPerformedCallback :: Maybe DragContextDropPerformedCallback+noDragContextDropPerformedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_DragContextDropPerformedCallback =+    Ptr () ->                               -- object+    Int32 ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_DragContextDropPerformedCallback`.+foreign import ccall "wrapper"+    mk_DragContextDropPerformedCallback :: C_DragContextDropPerformedCallback -> IO (FunPtr C_DragContextDropPerformedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_DragContextDropPerformed :: MonadIO m => DragContextDropPerformedCallback -> m (GClosure C_DragContextDropPerformedCallback)+genClosure_DragContextDropPerformed cb = liftIO $ do+    let cb' = wrap_DragContextDropPerformedCallback cb+    mk_DragContextDropPerformedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `DragContextDropPerformedCallback` into a `C_DragContextDropPerformedCallback`.+wrap_DragContextDropPerformedCallback ::+    DragContextDropPerformedCallback ->+    C_DragContextDropPerformedCallback+wrap_DragContextDropPerformedCallback _cb _ time _ = do+    _cb  time+++{- |+Connect a signal handler for the “@drop-performed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' dragContext #dropPerformed callback+@+-}+onDragContextDropPerformed :: (IsDragContext a, MonadIO m) => a -> DragContextDropPerformedCallback -> m SignalHandlerId+onDragContextDropPerformed obj cb = liftIO $ do+    let cb' = wrap_DragContextDropPerformedCallback cb+    cb'' <- mk_DragContextDropPerformedCallback cb'+    connectSignalFunPtr obj "drop-performed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@drop-performed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' dragContext #dropPerformed callback+@+-}+afterDragContextDropPerformed :: (IsDragContext a, MonadIO m) => a -> DragContextDropPerformedCallback -> m SignalHandlerId+afterDragContextDropPerformed obj cb = liftIO $ do+    let cb' = wrap_DragContextDropPerformedCallback cb+    cb'' <- mk_DragContextDropPerformedCallback cb'+    connectSignalFunPtr obj "drop-performed" cb'' SignalConnectAfter+++#if ENABLE_OVERLOADING+instance O.HasAttributeList DragContext+type instance O.AttributeList DragContext = DragContextAttributeList+type DragContextAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+data DragContextActionChangedSignalInfo+instance SignalInfo DragContextActionChangedSignalInfo where+    type HaskellCallbackType DragContextActionChangedSignalInfo = DragContextActionChangedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_DragContextActionChangedCallback cb+        cb'' <- mk_DragContextActionChangedCallback cb'+        connectSignalFunPtr obj "action-changed" cb'' connectMode++data DragContextCancelSignalInfo+instance SignalInfo DragContextCancelSignalInfo where+    type HaskellCallbackType DragContextCancelSignalInfo = DragContextCancelCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_DragContextCancelCallback cb+        cb'' <- mk_DragContextCancelCallback cb'+        connectSignalFunPtr obj "cancel" cb'' connectMode++data DragContextDndFinishedSignalInfo+instance SignalInfo DragContextDndFinishedSignalInfo where+    type HaskellCallbackType DragContextDndFinishedSignalInfo = DragContextDndFinishedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_DragContextDndFinishedCallback cb+        cb'' <- mk_DragContextDndFinishedCallback cb'+        connectSignalFunPtr obj "dnd-finished" cb'' connectMode++data DragContextDropPerformedSignalInfo+instance SignalInfo DragContextDropPerformedSignalInfo where+    type HaskellCallbackType DragContextDropPerformedSignalInfo = DragContextDropPerformedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_DragContextDropPerformedCallback cb+        cb'' <- mk_DragContextDropPerformedCallback cb'+        connectSignalFunPtr obj "drop-performed" cb'' connectMode++type instance O.SignalList DragContext = DragContextSignalList+type DragContextSignalList = ('[ '("actionChanged", DragContextActionChangedSignalInfo), '("cancel", DragContextCancelSignalInfo), '("dndFinished", DragContextDndFinishedSignalInfo), '("dropPerformed", DragContextDropPerformedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method DragContext::get_actions+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDragContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "DragAction"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_context_get_actions" gdk_drag_context_get_actions :: +    Ptr DragContext ->                      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})+    IO CUInt++{- |+Determines the bitmask of actions proposed by the source if+'GI.Gdk.Objects.DragContext.dragContextGetSuggestedAction' returns 'GI.Gdk.Flags.DragActionAsk'.++/Since: 2.22/+-}+dragContextGetActions ::+    (B.CallStack.HasCallStack, MonadIO m, IsDragContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.DragContext.DragContext' -}+    -> m [Gdk.Flags.DragAction]+    {- ^ __Returns:__ the 'GI.Gdk.Flags.DragAction' flags -}+dragContextGetActions context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    result <- gdk_drag_context_get_actions context'+    let result' = wordToGFlags result+    touchManagedPtr context+    return result'++#if ENABLE_OVERLOADING+data DragContextGetActionsMethodInfo+instance (signature ~ (m [Gdk.Flags.DragAction]), MonadIO m, IsDragContext a) => O.MethodInfo DragContextGetActionsMethodInfo a signature where+    overloadedMethod _ = dragContextGetActions++#endif++-- method DragContext::get_dest_window+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDragContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_context_get_dest_window" gdk_drag_context_get_dest_window :: +    Ptr DragContext ->                      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})+    IO (Ptr Gdk.Window.Window)++{- |+Returns the destination window for the DND operation.++/Since: 3.0/+-}+dragContextGetDestWindow ::+    (B.CallStack.HasCallStack, MonadIO m, IsDragContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.DragContext.DragContext' -}+    -> m Gdk.Window.Window+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Window.Window' -}+dragContextGetDestWindow context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    result <- gdk_drag_context_get_dest_window context'+    checkUnexpectedReturnNULL "dragContextGetDestWindow" result+    result' <- (newObject Gdk.Window.Window) result+    touchManagedPtr context+    return result'++#if ENABLE_OVERLOADING+data DragContextGetDestWindowMethodInfo+instance (signature ~ (m Gdk.Window.Window), MonadIO m, IsDragContext a) => O.MethodInfo DragContextGetDestWindowMethodInfo a signature where+    overloadedMethod _ = dragContextGetDestWindow++#endif++-- method DragContext::get_device+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDragContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Device"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_context_get_device" gdk_drag_context_get_device :: +    Ptr DragContext ->                      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})+    IO (Ptr Gdk.Device.Device)++{- |+Returns the 'GI.Gdk.Objects.Device.Device' associated to the drag context.+-}+dragContextGetDevice ::+    (B.CallStack.HasCallStack, MonadIO m, IsDragContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.DragContext.DragContext' -}+    -> m Gdk.Device.Device+    {- ^ __Returns:__ The 'GI.Gdk.Objects.Device.Device' associated to /@context@/. -}+dragContextGetDevice context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    result <- gdk_drag_context_get_device context'+    checkUnexpectedReturnNULL "dragContextGetDevice" result+    result' <- (newObject Gdk.Device.Device) result+    touchManagedPtr context+    return result'++#if ENABLE_OVERLOADING+data DragContextGetDeviceMethodInfo+instance (signature ~ (m Gdk.Device.Device), MonadIO m, IsDragContext a) => O.MethodInfo DragContextGetDeviceMethodInfo a signature where+    overloadedMethod _ = dragContextGetDevice++#endif++-- method DragContext::get_drag_window+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDragContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_context_get_drag_window" gdk_drag_context_get_drag_window :: +    Ptr DragContext ->                      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})+    IO (Ptr Gdk.Window.Window)++{- |+Returns the window on which the drag icon should be rendered+during the drag operation. Note that the window may not be+available until the drag operation has begun. GDK will move+the window in accordance with the ongoing drag operation.+The window is owned by /@context@/ and will be destroyed when+the drag operation is over.++/Since: 3.20/+-}+dragContextGetDragWindow ::+    (B.CallStack.HasCallStack, MonadIO m, IsDragContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.DragContext.DragContext' -}+    -> m (Maybe Gdk.Window.Window)+    {- ^ __Returns:__ the drag window, or 'Nothing' -}+dragContextGetDragWindow context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    result <- gdk_drag_context_get_drag_window context'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Gdk.Window.Window) result'+        return result''+    touchManagedPtr context+    return maybeResult++#if ENABLE_OVERLOADING+data DragContextGetDragWindowMethodInfo+instance (signature ~ (m (Maybe Gdk.Window.Window)), MonadIO m, IsDragContext a) => O.MethodInfo DragContextGetDragWindowMethodInfo a signature where+    overloadedMethod _ = dragContextGetDragWindow++#endif++-- method DragContext::get_protocol+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDragContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "DragProtocol"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_context_get_protocol" gdk_drag_context_get_protocol :: +    Ptr DragContext ->                      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})+    IO CUInt++{- |+Returns the drag protocol that is used by this context.++/Since: 3.0/+-}+dragContextGetProtocol ::+    (B.CallStack.HasCallStack, MonadIO m, IsDragContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.DragContext.DragContext' -}+    -> m Gdk.Enums.DragProtocol+    {- ^ __Returns:__ the drag protocol -}+dragContextGetProtocol context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    result <- gdk_drag_context_get_protocol context'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr context+    return result'++#if ENABLE_OVERLOADING+data DragContextGetProtocolMethodInfo+instance (signature ~ (m Gdk.Enums.DragProtocol), MonadIO m, IsDragContext a) => O.MethodInfo DragContextGetProtocolMethodInfo a signature where+    overloadedMethod _ = dragContextGetProtocol++#endif++-- method DragContext::get_selected_action+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDragContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "DragAction"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_context_get_selected_action" gdk_drag_context_get_selected_action :: +    Ptr DragContext ->                      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})+    IO CUInt++{- |+Determines the action chosen by the drag destination.++/Since: 2.22/+-}+dragContextGetSelectedAction ::+    (B.CallStack.HasCallStack, MonadIO m, IsDragContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.DragContext.DragContext' -}+    -> m [Gdk.Flags.DragAction]+    {- ^ __Returns:__ a 'GI.Gdk.Flags.DragAction' value -}+dragContextGetSelectedAction context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    result <- gdk_drag_context_get_selected_action context'+    let result' = wordToGFlags result+    touchManagedPtr context+    return result'++#if ENABLE_OVERLOADING+data DragContextGetSelectedActionMethodInfo+instance (signature ~ (m [Gdk.Flags.DragAction]), MonadIO m, IsDragContext a) => O.MethodInfo DragContextGetSelectedActionMethodInfo a signature where+    overloadedMethod _ = dragContextGetSelectedAction++#endif++-- method DragContext::get_source_window+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDragContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_context_get_source_window" gdk_drag_context_get_source_window :: +    Ptr DragContext ->                      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})+    IO (Ptr Gdk.Window.Window)++{- |+Returns the 'GI.Gdk.Objects.Window.Window' where the DND operation started.++/Since: 2.22/+-}+dragContextGetSourceWindow ::+    (B.CallStack.HasCallStack, MonadIO m, IsDragContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.DragContext.DragContext' -}+    -> m Gdk.Window.Window+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Window.Window' -}+dragContextGetSourceWindow context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    result <- gdk_drag_context_get_source_window context'+    checkUnexpectedReturnNULL "dragContextGetSourceWindow" result+    result' <- (newObject Gdk.Window.Window) result+    touchManagedPtr context+    return result'++#if ENABLE_OVERLOADING+data DragContextGetSourceWindowMethodInfo+instance (signature ~ (m Gdk.Window.Window), MonadIO m, IsDragContext a) => O.MethodInfo DragContextGetSourceWindowMethodInfo a signature where+    overloadedMethod _ = dragContextGetSourceWindow++#endif++-- method DragContext::get_suggested_action+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDragContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "DragAction"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_context_get_suggested_action" gdk_drag_context_get_suggested_action :: +    Ptr DragContext ->                      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})+    IO CUInt++{- |+Determines the suggested drag action of the context.++/Since: 2.22/+-}+dragContextGetSuggestedAction ::+    (B.CallStack.HasCallStack, MonadIO m, IsDragContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.DragContext.DragContext' -}+    -> m [Gdk.Flags.DragAction]+    {- ^ __Returns:__ a 'GI.Gdk.Flags.DragAction' value -}+dragContextGetSuggestedAction context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    result <- gdk_drag_context_get_suggested_action context'+    let result' = wordToGFlags result+    touchManagedPtr context+    return result'++#if ENABLE_OVERLOADING+data DragContextGetSuggestedActionMethodInfo+instance (signature ~ (m [Gdk.Flags.DragAction]), MonadIO m, IsDragContext a) => O.MethodInfo DragContextGetSuggestedActionMethodInfo a signature where+    overloadedMethod _ = dragContextGetSuggestedAction++#endif++-- method DragContext::list_targets+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDragContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TGList (TInterface (Name {namespace = "Gdk", name = "Atom"})))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_context_list_targets" gdk_drag_context_list_targets :: +    Ptr DragContext ->                      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})+    IO (Ptr (GList (Ptr Gdk.Atom.Atom)))++{- |+Retrieves the list of targets of the context.++/Since: 2.22/+-}+dragContextListTargets ::+    (B.CallStack.HasCallStack, MonadIO m, IsDragContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.DragContext.DragContext' -}+    -> m [Gdk.Atom.Atom]+    {- ^ __Returns:__ a 'GI.GLib.Structs.List.List' of targets -}+dragContextListTargets context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    result <- gdk_drag_context_list_targets context'+    result' <- unpackGList result+    result'' <- mapM (newPtr Gdk.Atom.Atom) result'+    touchManagedPtr context+    return result''++#if ENABLE_OVERLOADING+data DragContextListTargetsMethodInfo+instance (signature ~ (m [Gdk.Atom.Atom]), MonadIO m, IsDragContext a) => O.MethodInfo DragContextListTargetsMethodInfo a signature where+    overloadedMethod _ = dragContextListTargets++#endif++-- method DragContext::manage_dnd+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDragContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ipc_window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Window to use for IPC messaging/events", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "actions", argType = TInterface (Name {namespace = "Gdk", name = "DragAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the actions supported by the drag source", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_context_manage_dnd" gdk_drag_context_manage_dnd :: +    Ptr DragContext ->                      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})+    Ptr Gdk.Window.Window ->                -- ipc_window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CUInt ->                                -- actions : TInterface (Name {namespace = "Gdk", name = "DragAction"})+    IO CInt++{- |+Requests the drag and drop operation to be managed by /@context@/.+When a drag and drop operation becomes managed, the 'GI.Gdk.Objects.DragContext.DragContext'+will internally handle all input and source-side 'GI.Gdk.Structs.EventDND.EventDND' events+as required by the windowing system.++Once the drag and drop operation is managed, the drag context will+emit the following signals:++* The 'GI.Gdk.Objects.DragContext.DragContext'::@/action-changed/@ signal whenever the final action+to be performed by the drag and drop operation changes.+* The 'GI.Gdk.Objects.DragContext.DragContext'::@/drop-performed/@ signal after the user performs+the drag and drop gesture (typically by releasing the mouse button).+* The 'GI.Gdk.Objects.DragContext.DragContext'::@/dnd-finished/@ signal after the drag and drop+operation concludes (after all @/GdkSelection/@ transfers happen).+* The 'GI.Gdk.Objects.DragContext.DragContext'::@/cancel/@ signal if the drag and drop operation is+finished but doesn\'t happen over an accepting destination, or is+cancelled through other means.+++/Since: 3.20/+-}+dragContextManageDnd ::+    (B.CallStack.HasCallStack, MonadIO m, IsDragContext a, Gdk.Window.IsWindow b) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.DragContext.DragContext' -}+    -> b+    {- ^ /@ipcWindow@/: Window to use for IPC messaging\/events -}+    -> [Gdk.Flags.DragAction]+    {- ^ /@actions@/: the actions supported by the drag source -}+    -> m Bool+    {- ^ __Returns:__ @/TRUE/@ if the drag and drop operation is managed. -}+dragContextManageDnd context ipcWindow actions = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    ipcWindow' <- unsafeManagedPtrCastPtr ipcWindow+    let actions' = gflagsToWord actions+    result <- gdk_drag_context_manage_dnd context' ipcWindow' actions'+    let result' = (/= 0) result+    touchManagedPtr context+    touchManagedPtr ipcWindow+    return result'++#if ENABLE_OVERLOADING+data DragContextManageDndMethodInfo+instance (signature ~ (b -> [Gdk.Flags.DragAction] -> m Bool), MonadIO m, IsDragContext a, Gdk.Window.IsWindow b) => O.MethodInfo DragContextManageDndMethodInfo a signature where+    overloadedMethod _ = dragContextManageDnd++#endif++-- method DragContext::set_device+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDragContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_context_set_device" gdk_drag_context_set_device :: +    Ptr DragContext ->                      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})+    Ptr Gdk.Device.Device ->                -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    IO ()++{- |+Associates a 'GI.Gdk.Objects.Device.Device' to /@context@/, so all Drag and Drop events+for /@context@/ are emitted as if they came from this device.+-}+dragContextSetDevice ::+    (B.CallStack.HasCallStack, MonadIO m, IsDragContext a, Gdk.Device.IsDevice b) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.DragContext.DragContext' -}+    -> b+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}+    -> m ()+dragContextSetDevice context device = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    device' <- unsafeManagedPtrCastPtr device+    gdk_drag_context_set_device context' device'+    touchManagedPtr context+    touchManagedPtr device+    return ()++#if ENABLE_OVERLOADING+data DragContextSetDeviceMethodInfo+instance (signature ~ (b -> m ()), MonadIO m, IsDragContext a, Gdk.Device.IsDevice b) => O.MethodInfo DragContextSetDeviceMethodInfo a signature where+    overloadedMethod _ = dragContextSetDevice++#endif++-- method DragContext::set_hotspot+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDragContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hot_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x coordinate of the drag window hotspot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hot_y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y coordinate of the drag window hotspot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drag_context_set_hotspot" gdk_drag_context_set_hotspot :: +    Ptr DragContext ->                      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})+    Int32 ->                                -- hot_x : TBasicType TInt+    Int32 ->                                -- hot_y : TBasicType TInt+    IO ()++{- |+Sets the position of the drag window that will be kept+under the cursor hotspot. Initially, the hotspot is at the+top left corner of the drag window.++/Since: 3.20/+-}+dragContextSetHotspot ::+    (B.CallStack.HasCallStack, MonadIO m, IsDragContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.DragContext.DragContext' -}+    -> Int32+    {- ^ /@hotX@/: x coordinate of the drag window hotspot -}+    -> Int32+    {- ^ /@hotY@/: y coordinate of the drag window hotspot -}+    -> m ()+dragContextSetHotspot context hotX hotY = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    gdk_drag_context_set_hotspot context' hotX hotY+    touchManagedPtr context+    return ()++#if ENABLE_OVERLOADING+data DragContextSetHotspotMethodInfo+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsDragContext a) => O.MethodInfo DragContextSetHotspotMethodInfo a signature where+    overloadedMethod _ = dragContextSetHotspot++#endif++
+ GI/Gdk/Objects/DragContext.hs-boot view
@@ -0,0 +1,77 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Objects.DragContext where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype DragContext = DragContext (ManagedPtr DragContext)+instance GObject DragContext where+class (GObject o, O.IsDescendantOf DragContext o) => IsDragContext o+instance (GObject o, O.IsDescendantOf DragContext o) => IsDragContext o+instance O.HasParentTypes DragContext+#if ENABLE_OVERLOADING+data DragContextActionChangedSignalInfo+#endif+#if ENABLE_OVERLOADING+data DragContextCancelSignalInfo+#endif+#if ENABLE_OVERLOADING+data DragContextDndFinishedSignalInfo+#endif+#if ENABLE_OVERLOADING+data DragContextDropPerformedSignalInfo+#endif+#if ENABLE_OVERLOADING+data DragContextGetActionsMethodInfo+#endif+#if ENABLE_OVERLOADING+data DragContextGetDestWindowMethodInfo+#endif+#if ENABLE_OVERLOADING+data DragContextGetDeviceMethodInfo+#endif+#if ENABLE_OVERLOADING+data DragContextGetDragWindowMethodInfo+#endif+#if ENABLE_OVERLOADING+data DragContextGetProtocolMethodInfo+#endif+#if ENABLE_OVERLOADING+data DragContextGetSelectedActionMethodInfo+#endif+#if ENABLE_OVERLOADING+data DragContextGetSourceWindowMethodInfo+#endif+#if ENABLE_OVERLOADING+data DragContextGetSuggestedActionMethodInfo+#endif+#if ENABLE_OVERLOADING+data DragContextListTargetsMethodInfo+#endif+#if ENABLE_OVERLOADING+data DragContextManageDndMethodInfo+#endif+#if ENABLE_OVERLOADING+data DragContextSetDeviceMethodInfo+#endif+#if ENABLE_OVERLOADING+data DragContextSetHotspotMethodInfo+#endif
+ GI/Gdk/Objects/DrawingContext.hs view
@@ -0,0 +1,443 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++'GI.Gdk.Objects.DrawingContext.DrawingContext' is an object that represents the current drawing+state of a 'GI.Gdk.Objects.Window.Window'.++It\'s possible to use a 'GI.Gdk.Objects.DrawingContext.DrawingContext' to draw on a 'GI.Gdk.Objects.Window.Window'+via rendering API like Cairo or OpenGL.++A 'GI.Gdk.Objects.DrawingContext.DrawingContext' can only be created by calling 'GI.Gdk.Objects.Window.windowBeginDrawFrame'+and will be valid until a call to 'GI.Gdk.Objects.Window.windowEndDrawFrame'.++'GI.Gdk.Objects.DrawingContext.DrawingContext' is available since GDK 3.22+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Objects.DrawingContext+    ( ++-- * Exported types+    DrawingContext(..)                      ,+    IsDrawingContext                        ,+    toDrawingContext                        ,+    noDrawingContext                        ,+++ -- * Methods+-- ** getCairoContext #method:getCairoContext#++#if ENABLE_OVERLOADING+    DrawingContextGetCairoContextMethodInfo ,+#endif+    drawingContextGetCairoContext           ,+++-- ** getClip #method:getClip#++#if ENABLE_OVERLOADING+    DrawingContextGetClipMethodInfo         ,+#endif+    drawingContextGetClip                   ,+++-- ** getWindow #method:getWindow#++#if ENABLE_OVERLOADING+    DrawingContextGetWindowMethodInfo       ,+#endif+    drawingContextGetWindow                 ,+++-- ** isValid #method:isValid#++#if ENABLE_OVERLOADING+    DrawingContextIsValidMethodInfo         ,+#endif+    drawingContextIsValid                   ,+++++ -- * Properties+-- ** clip #attr:clip#+{- | The clip region applied to the drawing context.++/Since: 3.22/+-}+#if ENABLE_OVERLOADING+    DrawingContextClipPropertyInfo          ,+#endif+    constructDrawingContextClip             ,+#if ENABLE_OVERLOADING+    drawingContextClip                      ,+#endif+    getDrawingContextClip                   ,+++-- ** window #attr:window#+{- | The 'GI.Gdk.Objects.Window.Window' that created the drawing context.++/Since: 3.22/+-}+#if ENABLE_OVERLOADING+    DrawingContextWindowPropertyInfo        ,+#endif+    constructDrawingContextWindow           ,+#if ENABLE_OVERLOADING+    drawingContextWindow                    ,+#endif+    getDrawingContextWindow                 ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import qualified GI.Cairo.Structs.Context as Cairo.Context+import qualified GI.Cairo.Structs.Region as Cairo.Region+import qualified GI.GObject.Objects.Object as GObject.Object+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window++-- | Memory-managed wrapper type.+newtype DrawingContext = DrawingContext (ManagedPtr DrawingContext)+foreign import ccall "gdk_drawing_context_get_type"+    c_gdk_drawing_context_get_type :: IO GType++instance GObject DrawingContext where+    gobjectType = c_gdk_drawing_context_get_type+    ++-- | Type class for types which can be safely cast to `DrawingContext`, for instance with `toDrawingContext`.+class (GObject o, O.IsDescendantOf DrawingContext o) => IsDrawingContext o+instance (GObject o, O.IsDescendantOf DrawingContext o) => IsDrawingContext o++instance O.HasParentTypes DrawingContext+type instance O.ParentTypes DrawingContext = '[GObject.Object.Object]++-- | Cast to `DrawingContext`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toDrawingContext :: (MonadIO m, IsDrawingContext o) => o -> m DrawingContext+toDrawingContext = liftIO . unsafeCastTo DrawingContext++-- | A convenience alias for `Nothing` :: `Maybe` `DrawingContext`.+noDrawingContext :: Maybe DrawingContext+noDrawingContext = Nothing++#if ENABLE_OVERLOADING+type family ResolveDrawingContextMethod (t :: Symbol) (o :: *) :: * where+    ResolveDrawingContextMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveDrawingContextMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveDrawingContextMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveDrawingContextMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveDrawingContextMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveDrawingContextMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveDrawingContextMethod "isValid" o = DrawingContextIsValidMethodInfo+    ResolveDrawingContextMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveDrawingContextMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveDrawingContextMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveDrawingContextMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveDrawingContextMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveDrawingContextMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveDrawingContextMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveDrawingContextMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveDrawingContextMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveDrawingContextMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveDrawingContextMethod "getCairoContext" o = DrawingContextGetCairoContextMethodInfo+    ResolveDrawingContextMethod "getClip" o = DrawingContextGetClipMethodInfo+    ResolveDrawingContextMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveDrawingContextMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveDrawingContextMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveDrawingContextMethod "getWindow" o = DrawingContextGetWindowMethodInfo+    ResolveDrawingContextMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveDrawingContextMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveDrawingContextMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveDrawingContextMethod t DrawingContext, O.MethodInfo info DrawingContext p) => OL.IsLabel t (DrawingContext -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++-- VVV Prop "clip"+   -- Type: TInterface (Name {namespace = "cairo", name = "Region"})+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@clip@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' drawingContext #clip+@+-}+getDrawingContextClip :: (MonadIO m, IsDrawingContext o) => o -> m (Maybe Cairo.Region.Region)+getDrawingContextClip obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "clip" Cairo.Region.Region++{- |+Construct a `GValueConstruct` with valid value for the “@clip@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructDrawingContextClip :: (IsDrawingContext o) => Cairo.Region.Region -> IO (GValueConstruct o)+constructDrawingContextClip val = B.Properties.constructObjectPropertyBoxed "clip" (Just val)++#if ENABLE_OVERLOADING+data DrawingContextClipPropertyInfo+instance AttrInfo DrawingContextClipPropertyInfo where+    type AttrAllowedOps DrawingContextClipPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint DrawingContextClipPropertyInfo = (~) Cairo.Region.Region+    type AttrBaseTypeConstraint DrawingContextClipPropertyInfo = IsDrawingContext+    type AttrGetType DrawingContextClipPropertyInfo = (Maybe Cairo.Region.Region)+    type AttrLabel DrawingContextClipPropertyInfo = "clip"+    type AttrOrigin DrawingContextClipPropertyInfo = DrawingContext+    attrGet _ = getDrawingContextClip+    attrSet _ = undefined+    attrConstruct _ = constructDrawingContextClip+    attrClear _ = undefined+#endif++-- VVV Prop "window"+   -- Type: TInterface (Name {namespace = "Gdk", name = "Window"})+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@window@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' drawingContext #window+@+-}+getDrawingContextWindow :: (MonadIO m, IsDrawingContext o) => o -> m Gdk.Window.Window+getDrawingContextWindow obj = liftIO $ checkUnexpectedNothing "getDrawingContextWindow" $ B.Properties.getObjectPropertyObject obj "window" Gdk.Window.Window++{- |+Construct a `GValueConstruct` with valid value for the “@window@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructDrawingContextWindow :: (IsDrawingContext o, Gdk.Window.IsWindow a) => a -> IO (GValueConstruct o)+constructDrawingContextWindow val = B.Properties.constructObjectPropertyObject "window" (Just val)++#if ENABLE_OVERLOADING+data DrawingContextWindowPropertyInfo+instance AttrInfo DrawingContextWindowPropertyInfo where+    type AttrAllowedOps DrawingContextWindowPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint DrawingContextWindowPropertyInfo = Gdk.Window.IsWindow+    type AttrBaseTypeConstraint DrawingContextWindowPropertyInfo = IsDrawingContext+    type AttrGetType DrawingContextWindowPropertyInfo = Gdk.Window.Window+    type AttrLabel DrawingContextWindowPropertyInfo = "window"+    type AttrOrigin DrawingContextWindowPropertyInfo = DrawingContext+    attrGet _ = getDrawingContextWindow+    attrSet _ = undefined+    attrConstruct _ = constructDrawingContextWindow+    attrClear _ = undefined+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList DrawingContext+type instance O.AttributeList DrawingContext = DrawingContextAttributeList+type DrawingContextAttributeList = ('[ '("clip", DrawingContextClipPropertyInfo), '("window", DrawingContextWindowPropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+drawingContextClip :: AttrLabelProxy "clip"+drawingContextClip = AttrLabelProxy++drawingContextWindow :: AttrLabelProxy "window"+drawingContextWindow = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+type instance O.SignalList DrawingContext = DrawingContextSignalList+type DrawingContextSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method DrawingContext::get_cairo_context+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DrawingContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "cairo", name = "Context"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drawing_context_get_cairo_context" gdk_drawing_context_get_cairo_context :: +    Ptr DrawingContext ->                   -- context : TInterface (Name {namespace = "Gdk", name = "DrawingContext"})+    IO (Ptr Cairo.Context.Context)++{- |+Retrieves a Cairo context to be used to draw on the 'GI.Gdk.Objects.Window.Window'+that created the 'GI.Gdk.Objects.DrawingContext.DrawingContext'.++The returned context is guaranteed to be valid as long as the+'GI.Gdk.Objects.DrawingContext.DrawingContext' is valid, that is between a call to+'GI.Gdk.Objects.Window.windowBeginDrawFrame' and 'GI.Gdk.Objects.Window.windowEndDrawFrame'.++/Since: 3.22/+-}+drawingContextGetCairoContext ::+    (B.CallStack.HasCallStack, MonadIO m, IsDrawingContext a) =>+    a+    -> m Cairo.Context.Context+    {- ^ __Returns:__ a Cairo context to be used to draw+  the contents of the 'GI.Gdk.Objects.Window.Window'. The context is owned by the+  'GI.Gdk.Objects.DrawingContext.DrawingContext' and should not be destroyed -}+drawingContextGetCairoContext context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    result <- gdk_drawing_context_get_cairo_context context'+    checkUnexpectedReturnNULL "drawingContextGetCairoContext" result+    result' <- (newBoxed Cairo.Context.Context) result+    touchManagedPtr context+    return result'++#if ENABLE_OVERLOADING+data DrawingContextGetCairoContextMethodInfo+instance (signature ~ (m Cairo.Context.Context), MonadIO m, IsDrawingContext a) => O.MethodInfo DrawingContextGetCairoContextMethodInfo a signature where+    overloadedMethod _ = drawingContextGetCairoContext++#endif++-- method DrawingContext::get_clip+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DrawingContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDrawingContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "cairo", name = "Region"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drawing_context_get_clip" gdk_drawing_context_get_clip :: +    Ptr DrawingContext ->                   -- context : TInterface (Name {namespace = "Gdk", name = "DrawingContext"})+    IO (Ptr Cairo.Region.Region)++{- |+Retrieves a copy of the clip region used when creating the /@context@/.++/Since: 3.22/+-}+drawingContextGetClip ::+    (B.CallStack.HasCallStack, MonadIO m, IsDrawingContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.DrawingContext.DrawingContext' -}+    -> m (Maybe Cairo.Region.Region)+    {- ^ __Returns:__ a Cairo region -}+drawingContextGetClip context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    result <- gdk_drawing_context_get_clip context'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (wrapBoxed Cairo.Region.Region) result'+        return result''+    touchManagedPtr context+    return maybeResult++#if ENABLE_OVERLOADING+data DrawingContextGetClipMethodInfo+instance (signature ~ (m (Maybe Cairo.Region.Region)), MonadIO m, IsDrawingContext a) => O.MethodInfo DrawingContextGetClipMethodInfo a signature where+    overloadedMethod _ = drawingContextGetClip++#endif++-- method DrawingContext::get_window+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DrawingContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDrawingContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drawing_context_get_window" gdk_drawing_context_get_window :: +    Ptr DrawingContext ->                   -- context : TInterface (Name {namespace = "Gdk", name = "DrawingContext"})+    IO (Ptr Gdk.Window.Window)++{- |+Retrieves the window that created the drawing /@context@/.++/Since: 3.22/+-}+drawingContextGetWindow ::+    (B.CallStack.HasCallStack, MonadIO m, IsDrawingContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.DrawingContext.DrawingContext' -}+    -> m Gdk.Window.Window+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Window.Window' -}+drawingContextGetWindow context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    result <- gdk_drawing_context_get_window context'+    checkUnexpectedReturnNULL "drawingContextGetWindow" result+    result' <- (newObject Gdk.Window.Window) result+    touchManagedPtr context+    return result'++#if ENABLE_OVERLOADING+data DrawingContextGetWindowMethodInfo+instance (signature ~ (m Gdk.Window.Window), MonadIO m, IsDrawingContext a) => O.MethodInfo DrawingContextGetWindowMethodInfo a signature where+    overloadedMethod _ = drawingContextGetWindow++#endif++-- method DrawingContext::is_valid+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DrawingContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDrawingContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_drawing_context_is_valid" gdk_drawing_context_is_valid :: +    Ptr DrawingContext ->                   -- context : TInterface (Name {namespace = "Gdk", name = "DrawingContext"})+    IO CInt++{- |+Checks whether the given 'GI.Gdk.Objects.DrawingContext.DrawingContext' is valid.++/Since: 3.22/+-}+drawingContextIsValid ::+    (B.CallStack.HasCallStack, MonadIO m, IsDrawingContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.DrawingContext.DrawingContext' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the context is valid -}+drawingContextIsValid context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    result <- gdk_drawing_context_is_valid context'+    let result' = (/= 0) result+    touchManagedPtr context+    return result'++#if ENABLE_OVERLOADING+data DrawingContextIsValidMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsDrawingContext a) => O.MethodInfo DrawingContextIsValidMethodInfo a signature where+    overloadedMethod _ = drawingContextIsValid++#endif++
+ GI/Gdk/Objects/DrawingContext.hs-boot view
@@ -0,0 +1,47 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Objects.DrawingContext where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype DrawingContext = DrawingContext (ManagedPtr DrawingContext)+instance GObject DrawingContext where+class (GObject o, O.IsDescendantOf DrawingContext o) => IsDrawingContext o+instance (GObject o, O.IsDescendantOf DrawingContext o) => IsDrawingContext o+instance O.HasParentTypes DrawingContext+#if ENABLE_OVERLOADING+data DrawingContextClipPropertyInfo+#endif+#if ENABLE_OVERLOADING+data DrawingContextWindowPropertyInfo+#endif+#if ENABLE_OVERLOADING+data DrawingContextGetCairoContextMethodInfo+#endif+#if ENABLE_OVERLOADING+data DrawingContextGetClipMethodInfo+#endif+#if ENABLE_OVERLOADING+data DrawingContextGetWindowMethodInfo+#endif+#if ENABLE_OVERLOADING+data DrawingContextIsValidMethodInfo+#endif
+ GI/Gdk/Objects/FrameClock.hs view
@@ -0,0 +1,1263 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++A 'GI.Gdk.Objects.FrameClock.FrameClock' tells the application when to update and repaint a+window. This may be synced to the vertical refresh rate of the+monitor, for example. Even when the frame clock uses a simple timer+rather than a hardware-based vertical sync, the frame clock helps+because it ensures everything paints at the same time (reducing the+total number of frames). The frame clock can also automatically+stop painting when it knows the frames will not be visible, or+scale back animation framerates.++'GI.Gdk.Objects.FrameClock.FrameClock' is designed to be compatible with an OpenGL-based+implementation or with mozRequestAnimationFrame in Firefox,+for example.++A frame clock is idle until someone requests a frame with+'GI.Gdk.Objects.FrameClock.frameClockRequestPhase'. At some later point that makes+sense for the synchronization being implemented, the clock will+process a frame and emit signals for each phase that has been+requested. (See the signals of the 'GI.Gdk.Objects.FrameClock.FrameClock' class for+documentation of the phases. 'GI.Gdk.Flags.FrameClockPhaseUpdate' and the+'GI.Gdk.Objects.FrameClock.FrameClock'::@/update/@ signal are most interesting for application+writers, and are used to update the animations, using the frame time+given by 'GI.Gdk.Objects.FrameClock.frameClockGetFrameTime'.++The frame time is reported in microseconds and generally in the same+timescale as 'GI.GLib.Functions.getMonotonicTime', however, it is not the same+as 'GI.GLib.Functions.getMonotonicTime'. The frame time does not advance during+the time a frame is being painted, and outside of a frame, an attempt+is made so that all calls to 'GI.Gdk.Objects.FrameClock.frameClockGetFrameTime' that+are called at a “similar” time get the same value. This means that+if different animations are timed by looking at the difference in+time between an initial value from 'GI.Gdk.Objects.FrameClock.frameClockGetFrameTime'+and the value inside the 'GI.Gdk.Objects.FrameClock.FrameClock'::@/update/@ signal of the clock,+they will stay exactly synchronized.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Objects.FrameClock+    ( ++-- * Exported types+    FrameClock(..)                          ,+    IsFrameClock                            ,+    toFrameClock                            ,+    noFrameClock                            ,+++ -- * Methods+-- ** beginUpdating #method:beginUpdating#++#if ENABLE_OVERLOADING+    FrameClockBeginUpdatingMethodInfo       ,+#endif+    frameClockBeginUpdating                 ,+++-- ** endUpdating #method:endUpdating#++#if ENABLE_OVERLOADING+    FrameClockEndUpdatingMethodInfo         ,+#endif+    frameClockEndUpdating                   ,+++-- ** getCurrentTimings #method:getCurrentTimings#++#if ENABLE_OVERLOADING+    FrameClockGetCurrentTimingsMethodInfo   ,+#endif+    frameClockGetCurrentTimings             ,+++-- ** getFrameCounter #method:getFrameCounter#++#if ENABLE_OVERLOADING+    FrameClockGetFrameCounterMethodInfo     ,+#endif+    frameClockGetFrameCounter               ,+++-- ** getFrameTime #method:getFrameTime#++#if ENABLE_OVERLOADING+    FrameClockGetFrameTimeMethodInfo        ,+#endif+    frameClockGetFrameTime                  ,+++-- ** getHistoryStart #method:getHistoryStart#++#if ENABLE_OVERLOADING+    FrameClockGetHistoryStartMethodInfo     ,+#endif+    frameClockGetHistoryStart               ,+++-- ** getRefreshInfo #method:getRefreshInfo#++#if ENABLE_OVERLOADING+    FrameClockGetRefreshInfoMethodInfo      ,+#endif+    frameClockGetRefreshInfo                ,+++-- ** getTimings #method:getTimings#++#if ENABLE_OVERLOADING+    FrameClockGetTimingsMethodInfo          ,+#endif+    frameClockGetTimings                    ,+++-- ** requestPhase #method:requestPhase#++#if ENABLE_OVERLOADING+    FrameClockRequestPhaseMethodInfo        ,+#endif+    frameClockRequestPhase                  ,+++++ -- * Signals+-- ** afterPaint #signal:afterPaint#++    C_FrameClockAfterPaintCallback          ,+    FrameClockAfterPaintCallback            ,+#if ENABLE_OVERLOADING+    FrameClockAfterPaintSignalInfo          ,+#endif+    afterFrameClockAfterPaint               ,+    genClosure_FrameClockAfterPaint         ,+    mk_FrameClockAfterPaintCallback         ,+    noFrameClockAfterPaintCallback          ,+    onFrameClockAfterPaint                  ,+    wrap_FrameClockAfterPaintCallback       ,+++-- ** beforePaint #signal:beforePaint#++    C_FrameClockBeforePaintCallback         ,+    FrameClockBeforePaintCallback           ,+#if ENABLE_OVERLOADING+    FrameClockBeforePaintSignalInfo         ,+#endif+    afterFrameClockBeforePaint              ,+    genClosure_FrameClockBeforePaint        ,+    mk_FrameClockBeforePaintCallback        ,+    noFrameClockBeforePaintCallback         ,+    onFrameClockBeforePaint                 ,+    wrap_FrameClockBeforePaintCallback      ,+++-- ** flushEvents #signal:flushEvents#++    C_FrameClockFlushEventsCallback         ,+    FrameClockFlushEventsCallback           ,+#if ENABLE_OVERLOADING+    FrameClockFlushEventsSignalInfo         ,+#endif+    afterFrameClockFlushEvents              ,+    genClosure_FrameClockFlushEvents        ,+    mk_FrameClockFlushEventsCallback        ,+    noFrameClockFlushEventsCallback         ,+    onFrameClockFlushEvents                 ,+    wrap_FrameClockFlushEventsCallback      ,+++-- ** layout #signal:layout#++    C_FrameClockLayoutCallback              ,+    FrameClockLayoutCallback                ,+#if ENABLE_OVERLOADING+    FrameClockLayoutSignalInfo              ,+#endif+    afterFrameClockLayout                   ,+    genClosure_FrameClockLayout             ,+    mk_FrameClockLayoutCallback             ,+    noFrameClockLayoutCallback              ,+    onFrameClockLayout                      ,+    wrap_FrameClockLayoutCallback           ,+++-- ** paint #signal:paint#++    C_FrameClockPaintCallback               ,+    FrameClockPaintCallback                 ,+#if ENABLE_OVERLOADING+    FrameClockPaintSignalInfo               ,+#endif+    afterFrameClockPaint                    ,+    genClosure_FrameClockPaint              ,+    mk_FrameClockPaintCallback              ,+    noFrameClockPaintCallback               ,+    onFrameClockPaint                       ,+    wrap_FrameClockPaintCallback            ,+++-- ** resumeEvents #signal:resumeEvents#++    C_FrameClockResumeEventsCallback        ,+    FrameClockResumeEventsCallback          ,+#if ENABLE_OVERLOADING+    FrameClockResumeEventsSignalInfo        ,+#endif+    afterFrameClockResumeEvents             ,+    genClosure_FrameClockResumeEvents       ,+    mk_FrameClockResumeEventsCallback       ,+    noFrameClockResumeEventsCallback        ,+    onFrameClockResumeEvents                ,+    wrap_FrameClockResumeEventsCallback     ,+++-- ** update #signal:update#++    C_FrameClockUpdateCallback              ,+    FrameClockUpdateCallback                ,+#if ENABLE_OVERLOADING+    FrameClockUpdateSignalInfo              ,+#endif+    afterFrameClockUpdate                   ,+    genClosure_FrameClockUpdate             ,+    mk_FrameClockUpdateCallback             ,+    noFrameClockUpdateCallback              ,+    onFrameClockUpdate                      ,+    wrap_FrameClockUpdateCallback           ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import qualified GI.GObject.Objects.Object as GObject.Object+import {-# SOURCE #-} qualified GI.Gdk.Flags as Gdk.Flags+import {-# SOURCE #-} qualified GI.Gdk.Structs.FrameTimings as Gdk.FrameTimings++-- | Memory-managed wrapper type.+newtype FrameClock = FrameClock (ManagedPtr FrameClock)+foreign import ccall "gdk_frame_clock_get_type"+    c_gdk_frame_clock_get_type :: IO GType++instance GObject FrameClock where+    gobjectType = c_gdk_frame_clock_get_type+    ++-- | Type class for types which can be safely cast to `FrameClock`, for instance with `toFrameClock`.+class (GObject o, O.IsDescendantOf FrameClock o) => IsFrameClock o+instance (GObject o, O.IsDescendantOf FrameClock o) => IsFrameClock o++instance O.HasParentTypes FrameClock+type instance O.ParentTypes FrameClock = '[GObject.Object.Object]++-- | Cast to `FrameClock`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toFrameClock :: (MonadIO m, IsFrameClock o) => o -> m FrameClock+toFrameClock = liftIO . unsafeCastTo FrameClock++-- | A convenience alias for `Nothing` :: `Maybe` `FrameClock`.+noFrameClock :: Maybe FrameClock+noFrameClock = Nothing++#if ENABLE_OVERLOADING+type family ResolveFrameClockMethod (t :: Symbol) (o :: *) :: * where+    ResolveFrameClockMethod "beginUpdating" o = FrameClockBeginUpdatingMethodInfo+    ResolveFrameClockMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveFrameClockMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveFrameClockMethod "endUpdating" o = FrameClockEndUpdatingMethodInfo+    ResolveFrameClockMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveFrameClockMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveFrameClockMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveFrameClockMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveFrameClockMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveFrameClockMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveFrameClockMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveFrameClockMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveFrameClockMethod "requestPhase" o = FrameClockRequestPhaseMethodInfo+    ResolveFrameClockMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveFrameClockMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveFrameClockMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveFrameClockMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveFrameClockMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveFrameClockMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveFrameClockMethod "getCurrentTimings" o = FrameClockGetCurrentTimingsMethodInfo+    ResolveFrameClockMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveFrameClockMethod "getFrameCounter" o = FrameClockGetFrameCounterMethodInfo+    ResolveFrameClockMethod "getFrameTime" o = FrameClockGetFrameTimeMethodInfo+    ResolveFrameClockMethod "getHistoryStart" o = FrameClockGetHistoryStartMethodInfo+    ResolveFrameClockMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveFrameClockMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveFrameClockMethod "getRefreshInfo" o = FrameClockGetRefreshInfoMethodInfo+    ResolveFrameClockMethod "getTimings" o = FrameClockGetTimingsMethodInfo+    ResolveFrameClockMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveFrameClockMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveFrameClockMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveFrameClockMethod t FrameClock, O.MethodInfo info FrameClock p) => OL.IsLabel t (FrameClock -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++-- signal FrameClock::after-paint+{- |+This signal ends processing of the frame. Applications+should generally not handle this signal.+-}+type FrameClockAfterPaintCallback =+    IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `FrameClockAfterPaintCallback`@.+noFrameClockAfterPaintCallback :: Maybe FrameClockAfterPaintCallback+noFrameClockAfterPaintCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_FrameClockAfterPaintCallback =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_FrameClockAfterPaintCallback`.+foreign import ccall "wrapper"+    mk_FrameClockAfterPaintCallback :: C_FrameClockAfterPaintCallback -> IO (FunPtr C_FrameClockAfterPaintCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_FrameClockAfterPaint :: MonadIO m => FrameClockAfterPaintCallback -> m (GClosure C_FrameClockAfterPaintCallback)+genClosure_FrameClockAfterPaint cb = liftIO $ do+    let cb' = wrap_FrameClockAfterPaintCallback cb+    mk_FrameClockAfterPaintCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `FrameClockAfterPaintCallback` into a `C_FrameClockAfterPaintCallback`.+wrap_FrameClockAfterPaintCallback ::+    FrameClockAfterPaintCallback ->+    C_FrameClockAfterPaintCallback+wrap_FrameClockAfterPaintCallback _cb _ _ = do+    _cb +++{- |+Connect a signal handler for the “@after-paint@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' frameClock #afterPaint callback+@+-}+onFrameClockAfterPaint :: (IsFrameClock a, MonadIO m) => a -> FrameClockAfterPaintCallback -> m SignalHandlerId+onFrameClockAfterPaint obj cb = liftIO $ do+    let cb' = wrap_FrameClockAfterPaintCallback cb+    cb'' <- mk_FrameClockAfterPaintCallback cb'+    connectSignalFunPtr obj "after-paint" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@after-paint@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' frameClock #afterPaint callback+@+-}+afterFrameClockAfterPaint :: (IsFrameClock a, MonadIO m) => a -> FrameClockAfterPaintCallback -> m SignalHandlerId+afterFrameClockAfterPaint obj cb = liftIO $ do+    let cb' = wrap_FrameClockAfterPaintCallback cb+    cb'' <- mk_FrameClockAfterPaintCallback cb'+    connectSignalFunPtr obj "after-paint" cb'' SignalConnectAfter+++-- signal FrameClock::before-paint+{- |+This signal begins processing of the frame. Applications+should generally not handle this signal.+-}+type FrameClockBeforePaintCallback =+    IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `FrameClockBeforePaintCallback`@.+noFrameClockBeforePaintCallback :: Maybe FrameClockBeforePaintCallback+noFrameClockBeforePaintCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_FrameClockBeforePaintCallback =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_FrameClockBeforePaintCallback`.+foreign import ccall "wrapper"+    mk_FrameClockBeforePaintCallback :: C_FrameClockBeforePaintCallback -> IO (FunPtr C_FrameClockBeforePaintCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_FrameClockBeforePaint :: MonadIO m => FrameClockBeforePaintCallback -> m (GClosure C_FrameClockBeforePaintCallback)+genClosure_FrameClockBeforePaint cb = liftIO $ do+    let cb' = wrap_FrameClockBeforePaintCallback cb+    mk_FrameClockBeforePaintCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `FrameClockBeforePaintCallback` into a `C_FrameClockBeforePaintCallback`.+wrap_FrameClockBeforePaintCallback ::+    FrameClockBeforePaintCallback ->+    C_FrameClockBeforePaintCallback+wrap_FrameClockBeforePaintCallback _cb _ _ = do+    _cb +++{- |+Connect a signal handler for the “@before-paint@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' frameClock #beforePaint callback+@+-}+onFrameClockBeforePaint :: (IsFrameClock a, MonadIO m) => a -> FrameClockBeforePaintCallback -> m SignalHandlerId+onFrameClockBeforePaint obj cb = liftIO $ do+    let cb' = wrap_FrameClockBeforePaintCallback cb+    cb'' <- mk_FrameClockBeforePaintCallback cb'+    connectSignalFunPtr obj "before-paint" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@before-paint@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' frameClock #beforePaint callback+@+-}+afterFrameClockBeforePaint :: (IsFrameClock a, MonadIO m) => a -> FrameClockBeforePaintCallback -> m SignalHandlerId+afterFrameClockBeforePaint obj cb = liftIO $ do+    let cb' = wrap_FrameClockBeforePaintCallback cb+    cb'' <- mk_FrameClockBeforePaintCallback cb'+    connectSignalFunPtr obj "before-paint" cb'' SignalConnectAfter+++-- signal FrameClock::flush-events+{- |+This signal is used to flush pending motion events that+are being batched up and compressed together. Applications+should not handle this signal.+-}+type FrameClockFlushEventsCallback =+    IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `FrameClockFlushEventsCallback`@.+noFrameClockFlushEventsCallback :: Maybe FrameClockFlushEventsCallback+noFrameClockFlushEventsCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_FrameClockFlushEventsCallback =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_FrameClockFlushEventsCallback`.+foreign import ccall "wrapper"+    mk_FrameClockFlushEventsCallback :: C_FrameClockFlushEventsCallback -> IO (FunPtr C_FrameClockFlushEventsCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_FrameClockFlushEvents :: MonadIO m => FrameClockFlushEventsCallback -> m (GClosure C_FrameClockFlushEventsCallback)+genClosure_FrameClockFlushEvents cb = liftIO $ do+    let cb' = wrap_FrameClockFlushEventsCallback cb+    mk_FrameClockFlushEventsCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `FrameClockFlushEventsCallback` into a `C_FrameClockFlushEventsCallback`.+wrap_FrameClockFlushEventsCallback ::+    FrameClockFlushEventsCallback ->+    C_FrameClockFlushEventsCallback+wrap_FrameClockFlushEventsCallback _cb _ _ = do+    _cb +++{- |+Connect a signal handler for the “@flush-events@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' frameClock #flushEvents callback+@+-}+onFrameClockFlushEvents :: (IsFrameClock a, MonadIO m) => a -> FrameClockFlushEventsCallback -> m SignalHandlerId+onFrameClockFlushEvents obj cb = liftIO $ do+    let cb' = wrap_FrameClockFlushEventsCallback cb+    cb'' <- mk_FrameClockFlushEventsCallback cb'+    connectSignalFunPtr obj "flush-events" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@flush-events@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' frameClock #flushEvents callback+@+-}+afterFrameClockFlushEvents :: (IsFrameClock a, MonadIO m) => a -> FrameClockFlushEventsCallback -> m SignalHandlerId+afterFrameClockFlushEvents obj cb = liftIO $ do+    let cb' = wrap_FrameClockFlushEventsCallback cb+    cb'' <- mk_FrameClockFlushEventsCallback cb'+    connectSignalFunPtr obj "flush-events" cb'' SignalConnectAfter+++-- signal FrameClock::layout+{- |+This signal is emitted as the second step of toolkit and+application processing of the frame. Any work to update+sizes and positions of application elements should be+performed. GTK+ normally handles this internally.+-}+type FrameClockLayoutCallback =+    IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `FrameClockLayoutCallback`@.+noFrameClockLayoutCallback :: Maybe FrameClockLayoutCallback+noFrameClockLayoutCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_FrameClockLayoutCallback =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_FrameClockLayoutCallback`.+foreign import ccall "wrapper"+    mk_FrameClockLayoutCallback :: C_FrameClockLayoutCallback -> IO (FunPtr C_FrameClockLayoutCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_FrameClockLayout :: MonadIO m => FrameClockLayoutCallback -> m (GClosure C_FrameClockLayoutCallback)+genClosure_FrameClockLayout cb = liftIO $ do+    let cb' = wrap_FrameClockLayoutCallback cb+    mk_FrameClockLayoutCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `FrameClockLayoutCallback` into a `C_FrameClockLayoutCallback`.+wrap_FrameClockLayoutCallback ::+    FrameClockLayoutCallback ->+    C_FrameClockLayoutCallback+wrap_FrameClockLayoutCallback _cb _ _ = do+    _cb +++{- |+Connect a signal handler for the “@layout@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' frameClock #layout callback+@+-}+onFrameClockLayout :: (IsFrameClock a, MonadIO m) => a -> FrameClockLayoutCallback -> m SignalHandlerId+onFrameClockLayout obj cb = liftIO $ do+    let cb' = wrap_FrameClockLayoutCallback cb+    cb'' <- mk_FrameClockLayoutCallback cb'+    connectSignalFunPtr obj "layout" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@layout@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' frameClock #layout callback+@+-}+afterFrameClockLayout :: (IsFrameClock a, MonadIO m) => a -> FrameClockLayoutCallback -> m SignalHandlerId+afterFrameClockLayout obj cb = liftIO $ do+    let cb' = wrap_FrameClockLayoutCallback cb+    cb'' <- mk_FrameClockLayoutCallback cb'+    connectSignalFunPtr obj "layout" cb'' SignalConnectAfter+++-- signal FrameClock::paint+{- |+This signal is emitted as the third step of toolkit and+application processing of the frame. The frame is+repainted. GDK normally handles this internally and+produces expose events, which are turned into GTK++@/GtkWidget::draw/@ signals.+-}+type FrameClockPaintCallback =+    IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `FrameClockPaintCallback`@.+noFrameClockPaintCallback :: Maybe FrameClockPaintCallback+noFrameClockPaintCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_FrameClockPaintCallback =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_FrameClockPaintCallback`.+foreign import ccall "wrapper"+    mk_FrameClockPaintCallback :: C_FrameClockPaintCallback -> IO (FunPtr C_FrameClockPaintCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_FrameClockPaint :: MonadIO m => FrameClockPaintCallback -> m (GClosure C_FrameClockPaintCallback)+genClosure_FrameClockPaint cb = liftIO $ do+    let cb' = wrap_FrameClockPaintCallback cb+    mk_FrameClockPaintCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `FrameClockPaintCallback` into a `C_FrameClockPaintCallback`.+wrap_FrameClockPaintCallback ::+    FrameClockPaintCallback ->+    C_FrameClockPaintCallback+wrap_FrameClockPaintCallback _cb _ _ = do+    _cb +++{- |+Connect a signal handler for the “@paint@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' frameClock #paint callback+@+-}+onFrameClockPaint :: (IsFrameClock a, MonadIO m) => a -> FrameClockPaintCallback -> m SignalHandlerId+onFrameClockPaint obj cb = liftIO $ do+    let cb' = wrap_FrameClockPaintCallback cb+    cb'' <- mk_FrameClockPaintCallback cb'+    connectSignalFunPtr obj "paint" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@paint@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' frameClock #paint callback+@+-}+afterFrameClockPaint :: (IsFrameClock a, MonadIO m) => a -> FrameClockPaintCallback -> m SignalHandlerId+afterFrameClockPaint obj cb = liftIO $ do+    let cb' = wrap_FrameClockPaintCallback cb+    cb'' <- mk_FrameClockPaintCallback cb'+    connectSignalFunPtr obj "paint" cb'' SignalConnectAfter+++-- signal FrameClock::resume-events+{- |+This signal is emitted after processing of the frame is+finished, and is handled internally by GTK+ to resume normal+event processing. Applications should not handle this signal.+-}+type FrameClockResumeEventsCallback =+    IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `FrameClockResumeEventsCallback`@.+noFrameClockResumeEventsCallback :: Maybe FrameClockResumeEventsCallback+noFrameClockResumeEventsCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_FrameClockResumeEventsCallback =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_FrameClockResumeEventsCallback`.+foreign import ccall "wrapper"+    mk_FrameClockResumeEventsCallback :: C_FrameClockResumeEventsCallback -> IO (FunPtr C_FrameClockResumeEventsCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_FrameClockResumeEvents :: MonadIO m => FrameClockResumeEventsCallback -> m (GClosure C_FrameClockResumeEventsCallback)+genClosure_FrameClockResumeEvents cb = liftIO $ do+    let cb' = wrap_FrameClockResumeEventsCallback cb+    mk_FrameClockResumeEventsCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `FrameClockResumeEventsCallback` into a `C_FrameClockResumeEventsCallback`.+wrap_FrameClockResumeEventsCallback ::+    FrameClockResumeEventsCallback ->+    C_FrameClockResumeEventsCallback+wrap_FrameClockResumeEventsCallback _cb _ _ = do+    _cb +++{- |+Connect a signal handler for the “@resume-events@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' frameClock #resumeEvents callback+@+-}+onFrameClockResumeEvents :: (IsFrameClock a, MonadIO m) => a -> FrameClockResumeEventsCallback -> m SignalHandlerId+onFrameClockResumeEvents obj cb = liftIO $ do+    let cb' = wrap_FrameClockResumeEventsCallback cb+    cb'' <- mk_FrameClockResumeEventsCallback cb'+    connectSignalFunPtr obj "resume-events" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@resume-events@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' frameClock #resumeEvents callback+@+-}+afterFrameClockResumeEvents :: (IsFrameClock a, MonadIO m) => a -> FrameClockResumeEventsCallback -> m SignalHandlerId+afterFrameClockResumeEvents obj cb = liftIO $ do+    let cb' = wrap_FrameClockResumeEventsCallback cb+    cb'' <- mk_FrameClockResumeEventsCallback cb'+    connectSignalFunPtr obj "resume-events" cb'' SignalConnectAfter+++-- signal FrameClock::update+{- |+This signal is emitted as the first step of toolkit and+application processing of the frame. Animations should+be updated using 'GI.Gdk.Objects.FrameClock.frameClockGetFrameTime'.+Applications can connect directly to this signal, or+use @/gtk_widget_add_tick_callback()/@ as a more convenient+interface.+-}+type FrameClockUpdateCallback =+    IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `FrameClockUpdateCallback`@.+noFrameClockUpdateCallback :: Maybe FrameClockUpdateCallback+noFrameClockUpdateCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_FrameClockUpdateCallback =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_FrameClockUpdateCallback`.+foreign import ccall "wrapper"+    mk_FrameClockUpdateCallback :: C_FrameClockUpdateCallback -> IO (FunPtr C_FrameClockUpdateCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_FrameClockUpdate :: MonadIO m => FrameClockUpdateCallback -> m (GClosure C_FrameClockUpdateCallback)+genClosure_FrameClockUpdate cb = liftIO $ do+    let cb' = wrap_FrameClockUpdateCallback cb+    mk_FrameClockUpdateCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `FrameClockUpdateCallback` into a `C_FrameClockUpdateCallback`.+wrap_FrameClockUpdateCallback ::+    FrameClockUpdateCallback ->+    C_FrameClockUpdateCallback+wrap_FrameClockUpdateCallback _cb _ _ = do+    _cb +++{- |+Connect a signal handler for the “@update@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' frameClock #update callback+@+-}+onFrameClockUpdate :: (IsFrameClock a, MonadIO m) => a -> FrameClockUpdateCallback -> m SignalHandlerId+onFrameClockUpdate obj cb = liftIO $ do+    let cb' = wrap_FrameClockUpdateCallback cb+    cb'' <- mk_FrameClockUpdateCallback cb'+    connectSignalFunPtr obj "update" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@update@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' frameClock #update callback+@+-}+afterFrameClockUpdate :: (IsFrameClock a, MonadIO m) => a -> FrameClockUpdateCallback -> m SignalHandlerId+afterFrameClockUpdate obj cb = liftIO $ do+    let cb' = wrap_FrameClockUpdateCallback cb+    cb'' <- mk_FrameClockUpdateCallback cb'+    connectSignalFunPtr obj "update" cb'' SignalConnectAfter+++#if ENABLE_OVERLOADING+instance O.HasAttributeList FrameClock+type instance O.AttributeList FrameClock = FrameClockAttributeList+type FrameClockAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+data FrameClockAfterPaintSignalInfo+instance SignalInfo FrameClockAfterPaintSignalInfo where+    type HaskellCallbackType FrameClockAfterPaintSignalInfo = FrameClockAfterPaintCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_FrameClockAfterPaintCallback cb+        cb'' <- mk_FrameClockAfterPaintCallback cb'+        connectSignalFunPtr obj "after-paint" cb'' connectMode++data FrameClockBeforePaintSignalInfo+instance SignalInfo FrameClockBeforePaintSignalInfo where+    type HaskellCallbackType FrameClockBeforePaintSignalInfo = FrameClockBeforePaintCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_FrameClockBeforePaintCallback cb+        cb'' <- mk_FrameClockBeforePaintCallback cb'+        connectSignalFunPtr obj "before-paint" cb'' connectMode++data FrameClockFlushEventsSignalInfo+instance SignalInfo FrameClockFlushEventsSignalInfo where+    type HaskellCallbackType FrameClockFlushEventsSignalInfo = FrameClockFlushEventsCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_FrameClockFlushEventsCallback cb+        cb'' <- mk_FrameClockFlushEventsCallback cb'+        connectSignalFunPtr obj "flush-events" cb'' connectMode++data FrameClockLayoutSignalInfo+instance SignalInfo FrameClockLayoutSignalInfo where+    type HaskellCallbackType FrameClockLayoutSignalInfo = FrameClockLayoutCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_FrameClockLayoutCallback cb+        cb'' <- mk_FrameClockLayoutCallback cb'+        connectSignalFunPtr obj "layout" cb'' connectMode++data FrameClockPaintSignalInfo+instance SignalInfo FrameClockPaintSignalInfo where+    type HaskellCallbackType FrameClockPaintSignalInfo = FrameClockPaintCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_FrameClockPaintCallback cb+        cb'' <- mk_FrameClockPaintCallback cb'+        connectSignalFunPtr obj "paint" cb'' connectMode++data FrameClockResumeEventsSignalInfo+instance SignalInfo FrameClockResumeEventsSignalInfo where+    type HaskellCallbackType FrameClockResumeEventsSignalInfo = FrameClockResumeEventsCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_FrameClockResumeEventsCallback cb+        cb'' <- mk_FrameClockResumeEventsCallback cb'+        connectSignalFunPtr obj "resume-events" cb'' connectMode++data FrameClockUpdateSignalInfo+instance SignalInfo FrameClockUpdateSignalInfo where+    type HaskellCallbackType FrameClockUpdateSignalInfo = FrameClockUpdateCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_FrameClockUpdateCallback cb+        cb'' <- mk_FrameClockUpdateCallback cb'+        connectSignalFunPtr obj "update" cb'' connectMode++type instance O.SignalList FrameClock = FrameClockSignalList+type FrameClockSignalList = ('[ '("afterPaint", FrameClockAfterPaintSignalInfo), '("beforePaint", FrameClockBeforePaintSignalInfo), '("flushEvents", FrameClockFlushEventsSignalInfo), '("layout", FrameClockLayoutSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("paint", FrameClockPaintSignalInfo), '("resumeEvents", FrameClockResumeEventsSignalInfo), '("update", FrameClockUpdateSignalInfo)] :: [(Symbol, *)])++#endif++-- method FrameClock::begin_updating+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "frame_clock", argType = TInterface (Name {namespace = "Gdk", name = "FrameClock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkFrameClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_clock_begin_updating" gdk_frame_clock_begin_updating :: +    Ptr FrameClock ->                       -- frame_clock : TInterface (Name {namespace = "Gdk", name = "FrameClock"})+    IO ()++{- |+Starts updates for an animation. Until a matching call to+'GI.Gdk.Objects.FrameClock.frameClockEndUpdating' is made, the frame clock will continually+request a new frame with the 'GI.Gdk.Flags.FrameClockPhaseUpdate' phase.+This function may be called multiple times and frames will be+requested until 'GI.Gdk.Objects.FrameClock.frameClockEndUpdating' is called the same+number of times.++/Since: 3.8/+-}+frameClockBeginUpdating ::+    (B.CallStack.HasCallStack, MonadIO m, IsFrameClock a) =>+    a+    {- ^ /@frameClock@/: a 'GI.Gdk.Objects.FrameClock.FrameClock' -}+    -> m ()+frameClockBeginUpdating frameClock = liftIO $ do+    frameClock' <- unsafeManagedPtrCastPtr frameClock+    gdk_frame_clock_begin_updating frameClock'+    touchManagedPtr frameClock+    return ()++#if ENABLE_OVERLOADING+data FrameClockBeginUpdatingMethodInfo+instance (signature ~ (m ()), MonadIO m, IsFrameClock a) => O.MethodInfo FrameClockBeginUpdatingMethodInfo a signature where+    overloadedMethod _ = frameClockBeginUpdating++#endif++-- method FrameClock::end_updating+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "frame_clock", argType = TInterface (Name {namespace = "Gdk", name = "FrameClock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkFrameClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_clock_end_updating" gdk_frame_clock_end_updating :: +    Ptr FrameClock ->                       -- frame_clock : TInterface (Name {namespace = "Gdk", name = "FrameClock"})+    IO ()++{- |+Stops updates for an animation. See the documentation for+'GI.Gdk.Objects.FrameClock.frameClockBeginUpdating'.++/Since: 3.8/+-}+frameClockEndUpdating ::+    (B.CallStack.HasCallStack, MonadIO m, IsFrameClock a) =>+    a+    {- ^ /@frameClock@/: a 'GI.Gdk.Objects.FrameClock.FrameClock' -}+    -> m ()+frameClockEndUpdating frameClock = liftIO $ do+    frameClock' <- unsafeManagedPtrCastPtr frameClock+    gdk_frame_clock_end_updating frameClock'+    touchManagedPtr frameClock+    return ()++#if ENABLE_OVERLOADING+data FrameClockEndUpdatingMethodInfo+instance (signature ~ (m ()), MonadIO m, IsFrameClock a) => O.MethodInfo FrameClockEndUpdatingMethodInfo a signature where+    overloadedMethod _ = frameClockEndUpdating++#endif++-- method FrameClock::get_current_timings+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "frame_clock", argType = TInterface (Name {namespace = "Gdk", name = "FrameClock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkFrameClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "FrameTimings"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_clock_get_current_timings" gdk_frame_clock_get_current_timings :: +    Ptr FrameClock ->                       -- frame_clock : TInterface (Name {namespace = "Gdk", name = "FrameClock"})+    IO (Ptr Gdk.FrameTimings.FrameTimings)++{- |+Gets the frame timings for the current frame.++/Since: 3.8/+-}+frameClockGetCurrentTimings ::+    (B.CallStack.HasCallStack, MonadIO m, IsFrameClock a) =>+    a+    {- ^ /@frameClock@/: a 'GI.Gdk.Objects.FrameClock.FrameClock' -}+    -> m (Maybe Gdk.FrameTimings.FrameTimings)+    {- ^ __Returns:__ the 'GI.Gdk.Structs.FrameTimings.FrameTimings' for the+ frame currently being processed, or even no frame is being+ processed, for the previous frame. Before any frames have been+ processed, returns 'Nothing'. -}+frameClockGetCurrentTimings frameClock = liftIO $ do+    frameClock' <- unsafeManagedPtrCastPtr frameClock+    result <- gdk_frame_clock_get_current_timings frameClock'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newBoxed Gdk.FrameTimings.FrameTimings) result'+        return result''+    touchManagedPtr frameClock+    return maybeResult++#if ENABLE_OVERLOADING+data FrameClockGetCurrentTimingsMethodInfo+instance (signature ~ (m (Maybe Gdk.FrameTimings.FrameTimings)), MonadIO m, IsFrameClock a) => O.MethodInfo FrameClockGetCurrentTimingsMethodInfo a signature where+    overloadedMethod _ = frameClockGetCurrentTimings++#endif++-- method FrameClock::get_frame_counter+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "frame_clock", argType = TInterface (Name {namespace = "Gdk", name = "FrameClock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkFrameClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt64)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_clock_get_frame_counter" gdk_frame_clock_get_frame_counter :: +    Ptr FrameClock ->                       -- frame_clock : TInterface (Name {namespace = "Gdk", name = "FrameClock"})+    IO Int64++{- |+A 'GI.Gdk.Objects.FrameClock.FrameClock' maintains a 64-bit counter that increments for+each frame drawn.++/Since: 3.8/+-}+frameClockGetFrameCounter ::+    (B.CallStack.HasCallStack, MonadIO m, IsFrameClock a) =>+    a+    {- ^ /@frameClock@/: a 'GI.Gdk.Objects.FrameClock.FrameClock' -}+    -> m Int64+    {- ^ __Returns:__ inside frame processing, the value of the frame counter+ for the current frame. Outside of frame processing, the frame+  counter for the last frame. -}+frameClockGetFrameCounter frameClock = liftIO $ do+    frameClock' <- unsafeManagedPtrCastPtr frameClock+    result <- gdk_frame_clock_get_frame_counter frameClock'+    touchManagedPtr frameClock+    return result++#if ENABLE_OVERLOADING+data FrameClockGetFrameCounterMethodInfo+instance (signature ~ (m Int64), MonadIO m, IsFrameClock a) => O.MethodInfo FrameClockGetFrameCounterMethodInfo a signature where+    overloadedMethod _ = frameClockGetFrameCounter++#endif++-- method FrameClock::get_frame_time+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "frame_clock", argType = TInterface (Name {namespace = "Gdk", name = "FrameClock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkFrameClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt64)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_clock_get_frame_time" gdk_frame_clock_get_frame_time :: +    Ptr FrameClock ->                       -- frame_clock : TInterface (Name {namespace = "Gdk", name = "FrameClock"})+    IO Int64++{- |+Gets the time that should currently be used for animations.  Inside+the processing of a frame, it’s the time used to compute the+animation position of everything in a frame. Outside of a frame, it\'s+the time of the conceptual “previous frame,” which may be either+the actual previous frame time, or if that’s too old, an updated+time.++/Since: 3.8/+-}+frameClockGetFrameTime ::+    (B.CallStack.HasCallStack, MonadIO m, IsFrameClock a) =>+    a+    {- ^ /@frameClock@/: a 'GI.Gdk.Objects.FrameClock.FrameClock' -}+    -> m Int64+    {- ^ __Returns:__ a timestamp in microseconds, in the timescale of+ of 'GI.GLib.Functions.getMonotonicTime'. -}+frameClockGetFrameTime frameClock = liftIO $ do+    frameClock' <- unsafeManagedPtrCastPtr frameClock+    result <- gdk_frame_clock_get_frame_time frameClock'+    touchManagedPtr frameClock+    return result++#if ENABLE_OVERLOADING+data FrameClockGetFrameTimeMethodInfo+instance (signature ~ (m Int64), MonadIO m, IsFrameClock a) => O.MethodInfo FrameClockGetFrameTimeMethodInfo a signature where+    overloadedMethod _ = frameClockGetFrameTime++#endif++-- method FrameClock::get_history_start+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "frame_clock", argType = TInterface (Name {namespace = "Gdk", name = "FrameClock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkFrameClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt64)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_clock_get_history_start" gdk_frame_clock_get_history_start :: +    Ptr FrameClock ->                       -- frame_clock : TInterface (Name {namespace = "Gdk", name = "FrameClock"})+    IO Int64++{- |+'GI.Gdk.Objects.FrameClock.FrameClock' internally keeps a history of 'GI.Gdk.Structs.FrameTimings.FrameTimings'+objects for recent frames that can be retrieved with+'GI.Gdk.Objects.FrameClock.frameClockGetTimings'. The set of stored frames+is the set from the counter values given by+'GI.Gdk.Objects.FrameClock.frameClockGetHistoryStart' and+'GI.Gdk.Objects.FrameClock.frameClockGetFrameCounter', inclusive.++/Since: 3.8/+-}+frameClockGetHistoryStart ::+    (B.CallStack.HasCallStack, MonadIO m, IsFrameClock a) =>+    a+    {- ^ /@frameClock@/: a 'GI.Gdk.Objects.FrameClock.FrameClock' -}+    -> m Int64+    {- ^ __Returns:__ the frame counter value for the oldest frame+ that is available in the internal frame history of the+ 'GI.Gdk.Objects.FrameClock.FrameClock'. -}+frameClockGetHistoryStart frameClock = liftIO $ do+    frameClock' <- unsafeManagedPtrCastPtr frameClock+    result <- gdk_frame_clock_get_history_start frameClock'+    touchManagedPtr frameClock+    return result++#if ENABLE_OVERLOADING+data FrameClockGetHistoryStartMethodInfo+instance (signature ~ (m Int64), MonadIO m, IsFrameClock a) => O.MethodInfo FrameClockGetHistoryStartMethodInfo a signature where+    overloadedMethod _ = frameClockGetHistoryStart++#endif++-- method FrameClock::get_refresh_info+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "frame_clock", argType = TInterface (Name {namespace = "Gdk", name = "FrameClock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkFrameClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "base_time", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "base time for determining a presentaton time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "refresh_interval_return", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a location to store the\ndetermined refresh interval, or %NULL. A default refresh interval of\n1/60th of a second will be stored if no history is present.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "presentation_time_return", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a location to store the next\n candidate presentation time after the given base time.\n 0 will be will be stored if no history is present.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_clock_get_refresh_info" gdk_frame_clock_get_refresh_info :: +    Ptr FrameClock ->                       -- frame_clock : TInterface (Name {namespace = "Gdk", name = "FrameClock"})+    Int64 ->                                -- base_time : TBasicType TInt64+    Ptr Int64 ->                            -- refresh_interval_return : TBasicType TInt64+    Ptr Int64 ->                            -- presentation_time_return : TBasicType TInt64+    IO ()++{- |+Using the frame history stored in the frame clock, finds the last+known presentation time and refresh interval, and assuming that+presentation times are separated by the refresh interval,+predicts a presentation time that is a multiple of the refresh+interval after the last presentation time, and later than /@baseTime@/.++/Since: 3.8/+-}+frameClockGetRefreshInfo ::+    (B.CallStack.HasCallStack, MonadIO m, IsFrameClock a) =>+    a+    {- ^ /@frameClock@/: a 'GI.Gdk.Objects.FrameClock.FrameClock' -}+    -> Int64+    {- ^ /@baseTime@/: base time for determining a presentaton time -}+    -> m ((Int64, Int64))+frameClockGetRefreshInfo frameClock baseTime = liftIO $ do+    frameClock' <- unsafeManagedPtrCastPtr frameClock+    refreshIntervalReturn <- allocMem :: IO (Ptr Int64)+    presentationTimeReturn <- allocMem :: IO (Ptr Int64)+    gdk_frame_clock_get_refresh_info frameClock' baseTime refreshIntervalReturn presentationTimeReturn+    refreshIntervalReturn' <- peek refreshIntervalReturn+    presentationTimeReturn' <- peek presentationTimeReturn+    touchManagedPtr frameClock+    freeMem refreshIntervalReturn+    freeMem presentationTimeReturn+    return (refreshIntervalReturn', presentationTimeReturn')++#if ENABLE_OVERLOADING+data FrameClockGetRefreshInfoMethodInfo+instance (signature ~ (Int64 -> m ((Int64, Int64))), MonadIO m, IsFrameClock a) => O.MethodInfo FrameClockGetRefreshInfoMethodInfo a signature where+    overloadedMethod _ = frameClockGetRefreshInfo++#endif++-- method FrameClock::get_timings+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "frame_clock", argType = TInterface (Name {namespace = "Gdk", name = "FrameClock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkFrameClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "frame_counter", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the frame counter value identifying the frame to\n be received.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "FrameTimings"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_clock_get_timings" gdk_frame_clock_get_timings :: +    Ptr FrameClock ->                       -- frame_clock : TInterface (Name {namespace = "Gdk", name = "FrameClock"})+    Int64 ->                                -- frame_counter : TBasicType TInt64+    IO (Ptr Gdk.FrameTimings.FrameTimings)++{- |+Retrieves a 'GI.Gdk.Structs.FrameTimings.FrameTimings' object holding timing information+for the current frame or a recent frame. The 'GI.Gdk.Structs.FrameTimings.FrameTimings'+object may not yet be complete: see 'GI.Gdk.Structs.FrameTimings.frameTimingsGetComplete'.++/Since: 3.8/+-}+frameClockGetTimings ::+    (B.CallStack.HasCallStack, MonadIO m, IsFrameClock a) =>+    a+    {- ^ /@frameClock@/: a 'GI.Gdk.Objects.FrameClock.FrameClock' -}+    -> Int64+    {- ^ /@frameCounter@/: the frame counter value identifying the frame to+ be received. -}+    -> m (Maybe Gdk.FrameTimings.FrameTimings)+    {- ^ __Returns:__ the 'GI.Gdk.Structs.FrameTimings.FrameTimings' object for+ the specified frame, or 'Nothing' if it is not available. See+ 'GI.Gdk.Objects.FrameClock.frameClockGetHistoryStart'. -}+frameClockGetTimings frameClock frameCounter = liftIO $ do+    frameClock' <- unsafeManagedPtrCastPtr frameClock+    result <- gdk_frame_clock_get_timings frameClock' frameCounter+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newBoxed Gdk.FrameTimings.FrameTimings) result'+        return result''+    touchManagedPtr frameClock+    return maybeResult++#if ENABLE_OVERLOADING+data FrameClockGetTimingsMethodInfo+instance (signature ~ (Int64 -> m (Maybe Gdk.FrameTimings.FrameTimings)), MonadIO m, IsFrameClock a) => O.MethodInfo FrameClockGetTimingsMethodInfo a signature where+    overloadedMethod _ = frameClockGetTimings++#endif++-- method FrameClock::request_phase+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "frame_clock", argType = TInterface (Name {namespace = "Gdk", name = "FrameClock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkFrameClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "phase", argType = TInterface (Name {namespace = "Gdk", name = "FrameClockPhase"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the phase that is requested", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_clock_request_phase" gdk_frame_clock_request_phase :: +    Ptr FrameClock ->                       -- frame_clock : TInterface (Name {namespace = "Gdk", name = "FrameClock"})+    CUInt ->                                -- phase : TInterface (Name {namespace = "Gdk", name = "FrameClockPhase"})+    IO ()++{- |+Asks the frame clock to run a particular phase. The signal+corresponding the requested phase will be emitted the next+time the frame clock processes. Multiple calls to+'GI.Gdk.Objects.FrameClock.frameClockRequestPhase' will be combined together+and only one frame processed. If you are displaying animated+content and want to continually request the+'GI.Gdk.Flags.FrameClockPhaseUpdate' phase for a period of time,+you should use 'GI.Gdk.Objects.FrameClock.frameClockBeginUpdating' instead, since+this allows GTK+ to adjust system parameters to get maximally+smooth animations.++/Since: 3.8/+-}+frameClockRequestPhase ::+    (B.CallStack.HasCallStack, MonadIO m, IsFrameClock a) =>+    a+    {- ^ /@frameClock@/: a 'GI.Gdk.Objects.FrameClock.FrameClock' -}+    -> [Gdk.Flags.FrameClockPhase]+    {- ^ /@phase@/: the phase that is requested -}+    -> m ()+frameClockRequestPhase frameClock phase = liftIO $ do+    frameClock' <- unsafeManagedPtrCastPtr frameClock+    let phase' = gflagsToWord phase+    gdk_frame_clock_request_phase frameClock' phase'+    touchManagedPtr frameClock+    return ()++#if ENABLE_OVERLOADING+data FrameClockRequestPhaseMethodInfo+instance (signature ~ ([Gdk.Flags.FrameClockPhase] -> m ()), MonadIO m, IsFrameClock a) => O.MethodInfo FrameClockRequestPhaseMethodInfo a signature where+    overloadedMethod _ = frameClockRequestPhase++#endif++
+ GI/Gdk/Objects/FrameClock.hs-boot view
@@ -0,0 +1,77 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Objects.FrameClock where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype FrameClock = FrameClock (ManagedPtr FrameClock)+instance GObject FrameClock where+class (GObject o, O.IsDescendantOf FrameClock o) => IsFrameClock o+instance (GObject o, O.IsDescendantOf FrameClock o) => IsFrameClock o+instance O.HasParentTypes FrameClock+#if ENABLE_OVERLOADING+data FrameClockAfterPaintSignalInfo+#endif+#if ENABLE_OVERLOADING+data FrameClockBeforePaintSignalInfo+#endif+#if ENABLE_OVERLOADING+data FrameClockFlushEventsSignalInfo+#endif+#if ENABLE_OVERLOADING+data FrameClockLayoutSignalInfo+#endif+#if ENABLE_OVERLOADING+data FrameClockPaintSignalInfo+#endif+#if ENABLE_OVERLOADING+data FrameClockResumeEventsSignalInfo+#endif+#if ENABLE_OVERLOADING+data FrameClockUpdateSignalInfo+#endif+#if ENABLE_OVERLOADING+data FrameClockBeginUpdatingMethodInfo+#endif+#if ENABLE_OVERLOADING+data FrameClockEndUpdatingMethodInfo+#endif+#if ENABLE_OVERLOADING+data FrameClockGetCurrentTimingsMethodInfo+#endif+#if ENABLE_OVERLOADING+data FrameClockGetFrameCounterMethodInfo+#endif+#if ENABLE_OVERLOADING+data FrameClockGetFrameTimeMethodInfo+#endif+#if ENABLE_OVERLOADING+data FrameClockGetHistoryStartMethodInfo+#endif+#if ENABLE_OVERLOADING+data FrameClockGetRefreshInfoMethodInfo+#endif+#if ENABLE_OVERLOADING+data FrameClockGetTimingsMethodInfo+#endif+#if ENABLE_OVERLOADING+data FrameClockRequestPhaseMethodInfo+#endif
+ GI/Gdk/Objects/GLContext.hs view
@@ -0,0 +1,1184 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++'GI.Gdk.Objects.GLContext.GLContext' is an object representing the platform-specific+OpenGL drawing context.++@/GdkGLContexts/@ are created for a 'GI.Gdk.Objects.Window.Window' using+'GI.Gdk.Objects.Window.windowCreateGlContext', and the context will match+the 'GI.Gdk.Objects.Visual.Visual' of the window.++A 'GI.Gdk.Objects.GLContext.GLContext' is not tied to any particular normal framebuffer.+For instance, it cannot draw to the 'GI.Gdk.Objects.Window.Window' back buffer. The GDK+repaint system is in full control of the painting to that. Instead,+you can create render buffers or textures and use 'GI.Gdk.Functions.cairoDrawFromGl'+in the draw function of your widget to draw them. Then GDK will handle+the integration of your rendering with that of other widgets.++Support for 'GI.Gdk.Objects.GLContext.GLContext' is platform-specific, context creation+can fail, returning 'Nothing' context.++A 'GI.Gdk.Objects.GLContext.GLContext' has to be made \"current\" in order to start using+it, otherwise any OpenGL call will be ignored.++== Creating a new OpenGL context ++In order to create a new 'GI.Gdk.Objects.GLContext.GLContext' instance you need a+'GI.Gdk.Objects.Window.Window', which you typically get during the realize call+of a widget.++A 'GI.Gdk.Objects.GLContext.GLContext' is not realized until either 'GI.Gdk.Objects.GLContext.gLContextMakeCurrent',+or until it is realized using 'GI.Gdk.Objects.GLContext.gLContextRealize'. It is possible to+specify details of the GL context like the OpenGL version to be used, or+whether the GL context should have extra state validation enabled after+calling 'GI.Gdk.Objects.Window.windowCreateGlContext' by calling 'GI.Gdk.Objects.GLContext.gLContextRealize'.+If the realization fails you have the option to change the settings of the+'GI.Gdk.Objects.GLContext.GLContext' and try again.++== Using a GdkGLContext ++You will need to make the 'GI.Gdk.Objects.GLContext.GLContext' the current context+before issuing OpenGL calls; the system sends OpenGL commands to+whichever context is current. It is possible to have multiple+contexts, so you always need to ensure that the one which you+want to draw with is the current one before issuing commands:+++=== /C code/+>+>  gdk_gl_context_make_current (context);+++You can now perform your drawing using OpenGL commands.++You can check which 'GI.Gdk.Objects.GLContext.GLContext' is the current one by using+'GI.Gdk.Objects.GLContext.gLContextGetCurrent'; you can also unset any 'GI.Gdk.Objects.GLContext.GLContext'+that is currently set by calling 'GI.Gdk.Objects.GLContext.gLContextClearCurrent'.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Objects.GLContext+    ( ++-- * Exported types+    GLContext(..)                           ,+    IsGLContext                             ,+    toGLContext                             ,+    noGLContext                             ,+++ -- * Methods+-- ** clearCurrent #method:clearCurrent#++    gLContextClearCurrent                   ,+++-- ** getCurrent #method:getCurrent#++    gLContextGetCurrent                     ,+++-- ** getDebugEnabled #method:getDebugEnabled#++#if ENABLE_OVERLOADING+    GLContextGetDebugEnabledMethodInfo      ,+#endif+    gLContextGetDebugEnabled                ,+++-- ** getDisplay #method:getDisplay#++#if ENABLE_OVERLOADING+    GLContextGetDisplayMethodInfo           ,+#endif+    gLContextGetDisplay                     ,+++-- ** getForwardCompatible #method:getForwardCompatible#++#if ENABLE_OVERLOADING+    GLContextGetForwardCompatibleMethodInfo ,+#endif+    gLContextGetForwardCompatible           ,+++-- ** getRequiredVersion #method:getRequiredVersion#++#if ENABLE_OVERLOADING+    GLContextGetRequiredVersionMethodInfo   ,+#endif+    gLContextGetRequiredVersion             ,+++-- ** getSharedContext #method:getSharedContext#++#if ENABLE_OVERLOADING+    GLContextGetSharedContextMethodInfo     ,+#endif+    gLContextGetSharedContext               ,+++-- ** getUseEs #method:getUseEs#++#if ENABLE_OVERLOADING+    GLContextGetUseEsMethodInfo             ,+#endif+    gLContextGetUseEs                       ,+++-- ** getVersion #method:getVersion#++#if ENABLE_OVERLOADING+    GLContextGetVersionMethodInfo           ,+#endif+    gLContextGetVersion                     ,+++-- ** getWindow #method:getWindow#++#if ENABLE_OVERLOADING+    GLContextGetWindowMethodInfo            ,+#endif+    gLContextGetWindow                      ,+++-- ** isLegacy #method:isLegacy#++#if ENABLE_OVERLOADING+    GLContextIsLegacyMethodInfo             ,+#endif+    gLContextIsLegacy                       ,+++-- ** makeCurrent #method:makeCurrent#++#if ENABLE_OVERLOADING+    GLContextMakeCurrentMethodInfo          ,+#endif+    gLContextMakeCurrent                    ,+++-- ** realize #method:realize#++#if ENABLE_OVERLOADING+    GLContextRealizeMethodInfo              ,+#endif+    gLContextRealize                        ,+++-- ** setDebugEnabled #method:setDebugEnabled#++#if ENABLE_OVERLOADING+    GLContextSetDebugEnabledMethodInfo      ,+#endif+    gLContextSetDebugEnabled                ,+++-- ** setForwardCompatible #method:setForwardCompatible#++#if ENABLE_OVERLOADING+    GLContextSetForwardCompatibleMethodInfo ,+#endif+    gLContextSetForwardCompatible           ,+++-- ** setRequiredVersion #method:setRequiredVersion#++#if ENABLE_OVERLOADING+    GLContextSetRequiredVersionMethodInfo   ,+#endif+    gLContextSetRequiredVersion             ,+++-- ** setUseEs #method:setUseEs#++#if ENABLE_OVERLOADING+    GLContextSetUseEsMethodInfo             ,+#endif+    gLContextSetUseEs                       ,+++++ -- * Properties+-- ** display #attr:display#+{- | The 'GI.Gdk.Objects.Display.Display' used to create the 'GI.Gdk.Objects.GLContext.GLContext'.++/Since: 3.16/+-}+#if ENABLE_OVERLOADING+    GLContextDisplayPropertyInfo            ,+#endif+    constructGLContextDisplay               ,+#if ENABLE_OVERLOADING+    gLContextDisplay                        ,+#endif+    getGLContextDisplay                     ,+++-- ** sharedContext #attr:sharedContext#+{- | The 'GI.Gdk.Objects.GLContext.GLContext' that this context is sharing data with, or 'Nothing'++/Since: 3.16/+-}+#if ENABLE_OVERLOADING+    GLContextSharedContextPropertyInfo      ,+#endif+    constructGLContextSharedContext         ,+#if ENABLE_OVERLOADING+    gLContextSharedContext                  ,+#endif+    getGLContextSharedContext               ,+++-- ** window #attr:window#+{- | The 'GI.Gdk.Objects.Window.Window' the gl context is bound to.++/Since: 3.16/+-}+#if ENABLE_OVERLOADING+    GLContextWindowPropertyInfo             ,+#endif+    constructGLContextWindow                ,+#if ENABLE_OVERLOADING+    gLContextWindow                         ,+#endif+    getGLContextWindow                      ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import qualified GI.GObject.Objects.Object as GObject.Object+import {-# SOURCE #-} qualified GI.Gdk.Objects.Display as Gdk.Display+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window++-- | Memory-managed wrapper type.+newtype GLContext = GLContext (ManagedPtr GLContext)+foreign import ccall "gdk_gl_context_get_type"+    c_gdk_gl_context_get_type :: IO GType++instance GObject GLContext where+    gobjectType = c_gdk_gl_context_get_type+    ++-- | Type class for types which can be safely cast to `GLContext`, for instance with `toGLContext`.+class (GObject o, O.IsDescendantOf GLContext o) => IsGLContext o+instance (GObject o, O.IsDescendantOf GLContext o) => IsGLContext o++instance O.HasParentTypes GLContext+type instance O.ParentTypes GLContext = '[GObject.Object.Object]++-- | Cast to `GLContext`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toGLContext :: (MonadIO m, IsGLContext o) => o -> m GLContext+toGLContext = liftIO . unsafeCastTo GLContext++-- | A convenience alias for `Nothing` :: `Maybe` `GLContext`.+noGLContext :: Maybe GLContext+noGLContext = Nothing++#if ENABLE_OVERLOADING+type family ResolveGLContextMethod (t :: Symbol) (o :: *) :: * where+    ResolveGLContextMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveGLContextMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveGLContextMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveGLContextMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveGLContextMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveGLContextMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveGLContextMethod "isLegacy" o = GLContextIsLegacyMethodInfo+    ResolveGLContextMethod "makeCurrent" o = GLContextMakeCurrentMethodInfo+    ResolveGLContextMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveGLContextMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveGLContextMethod "realize" o = GLContextRealizeMethodInfo+    ResolveGLContextMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveGLContextMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveGLContextMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveGLContextMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveGLContextMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveGLContextMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveGLContextMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveGLContextMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveGLContextMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveGLContextMethod "getDebugEnabled" o = GLContextGetDebugEnabledMethodInfo+    ResolveGLContextMethod "getDisplay" o = GLContextGetDisplayMethodInfo+    ResolveGLContextMethod "getForwardCompatible" o = GLContextGetForwardCompatibleMethodInfo+    ResolveGLContextMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveGLContextMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveGLContextMethod "getRequiredVersion" o = GLContextGetRequiredVersionMethodInfo+    ResolveGLContextMethod "getSharedContext" o = GLContextGetSharedContextMethodInfo+    ResolveGLContextMethod "getUseEs" o = GLContextGetUseEsMethodInfo+    ResolveGLContextMethod "getVersion" o = GLContextGetVersionMethodInfo+    ResolveGLContextMethod "getWindow" o = GLContextGetWindowMethodInfo+    ResolveGLContextMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveGLContextMethod "setDebugEnabled" o = GLContextSetDebugEnabledMethodInfo+    ResolveGLContextMethod "setForwardCompatible" o = GLContextSetForwardCompatibleMethodInfo+    ResolveGLContextMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveGLContextMethod "setRequiredVersion" o = GLContextSetRequiredVersionMethodInfo+    ResolveGLContextMethod "setUseEs" o = GLContextSetUseEsMethodInfo+    ResolveGLContextMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveGLContextMethod t GLContext, O.MethodInfo info GLContext p) => OL.IsLabel t (GLContext -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++-- VVV Prop "display"+   -- Type: TInterface (Name {namespace = "Gdk", name = "Display"})+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Just True,Nothing)++{- |+Get the value of the “@display@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' gLContext #display+@+-}+getGLContextDisplay :: (MonadIO m, IsGLContext o) => o -> m (Maybe Gdk.Display.Display)+getGLContextDisplay obj = liftIO $ B.Properties.getObjectPropertyObject obj "display" Gdk.Display.Display++{- |+Construct a `GValueConstruct` with valid value for the “@display@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructGLContextDisplay :: (IsGLContext o, Gdk.Display.IsDisplay a) => a -> IO (GValueConstruct o)+constructGLContextDisplay val = B.Properties.constructObjectPropertyObject "display" (Just val)++#if ENABLE_OVERLOADING+data GLContextDisplayPropertyInfo+instance AttrInfo GLContextDisplayPropertyInfo where+    type AttrAllowedOps GLContextDisplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint GLContextDisplayPropertyInfo = Gdk.Display.IsDisplay+    type AttrBaseTypeConstraint GLContextDisplayPropertyInfo = IsGLContext+    type AttrGetType GLContextDisplayPropertyInfo = (Maybe Gdk.Display.Display)+    type AttrLabel GLContextDisplayPropertyInfo = "display"+    type AttrOrigin GLContextDisplayPropertyInfo = GLContext+    attrGet _ = getGLContextDisplay+    attrSet _ = undefined+    attrConstruct _ = constructGLContextDisplay+    attrClear _ = undefined+#endif++-- VVV Prop "shared-context"+   -- Type: TInterface (Name {namespace = "Gdk", name = "GLContext"})+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Just True,Nothing)++{- |+Get the value of the “@shared-context@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' gLContext #sharedContext+@+-}+getGLContextSharedContext :: (MonadIO m, IsGLContext o) => o -> m (Maybe GLContext)+getGLContextSharedContext obj = liftIO $ B.Properties.getObjectPropertyObject obj "shared-context" GLContext++{- |+Construct a `GValueConstruct` with valid value for the “@shared-context@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructGLContextSharedContext :: (IsGLContext o, IsGLContext a) => a -> IO (GValueConstruct o)+constructGLContextSharedContext val = B.Properties.constructObjectPropertyObject "shared-context" (Just val)++#if ENABLE_OVERLOADING+data GLContextSharedContextPropertyInfo+instance AttrInfo GLContextSharedContextPropertyInfo where+    type AttrAllowedOps GLContextSharedContextPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint GLContextSharedContextPropertyInfo = IsGLContext+    type AttrBaseTypeConstraint GLContextSharedContextPropertyInfo = IsGLContext+    type AttrGetType GLContextSharedContextPropertyInfo = (Maybe GLContext)+    type AttrLabel GLContextSharedContextPropertyInfo = "shared-context"+    type AttrOrigin GLContextSharedContextPropertyInfo = GLContext+    attrGet _ = getGLContextSharedContext+    attrSet _ = undefined+    attrConstruct _ = constructGLContextSharedContext+    attrClear _ = undefined+#endif++-- VVV Prop "window"+   -- Type: TInterface (Name {namespace = "Gdk", name = "Window"})+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Just True,Nothing)++{- |+Get the value of the “@window@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' gLContext #window+@+-}+getGLContextWindow :: (MonadIO m, IsGLContext o) => o -> m (Maybe Gdk.Window.Window)+getGLContextWindow obj = liftIO $ B.Properties.getObjectPropertyObject obj "window" Gdk.Window.Window++{- |+Construct a `GValueConstruct` with valid value for the “@window@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructGLContextWindow :: (IsGLContext o, Gdk.Window.IsWindow a) => a -> IO (GValueConstruct o)+constructGLContextWindow val = B.Properties.constructObjectPropertyObject "window" (Just val)++#if ENABLE_OVERLOADING+data GLContextWindowPropertyInfo+instance AttrInfo GLContextWindowPropertyInfo where+    type AttrAllowedOps GLContextWindowPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint GLContextWindowPropertyInfo = Gdk.Window.IsWindow+    type AttrBaseTypeConstraint GLContextWindowPropertyInfo = IsGLContext+    type AttrGetType GLContextWindowPropertyInfo = (Maybe Gdk.Window.Window)+    type AttrLabel GLContextWindowPropertyInfo = "window"+    type AttrOrigin GLContextWindowPropertyInfo = GLContext+    attrGet _ = getGLContextWindow+    attrSet _ = undefined+    attrConstruct _ = constructGLContextWindow+    attrClear _ = undefined+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList GLContext+type instance O.AttributeList GLContext = GLContextAttributeList+type GLContextAttributeList = ('[ '("display", GLContextDisplayPropertyInfo), '("sharedContext", GLContextSharedContextPropertyInfo), '("window", GLContextWindowPropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+gLContextDisplay :: AttrLabelProxy "display"+gLContextDisplay = AttrLabelProxy++gLContextSharedContext :: AttrLabelProxy "sharedContext"+gLContextSharedContext = AttrLabelProxy++gLContextWindow :: AttrLabelProxy "window"+gLContextWindow = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+type instance O.SignalList GLContext = GLContextSignalList+type GLContextSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method GLContext::get_debug_enabled+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "GLContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkGLContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_get_debug_enabled" gdk_gl_context_get_debug_enabled :: +    Ptr GLContext ->                        -- context : TInterface (Name {namespace = "Gdk", name = "GLContext"})+    IO CInt++{- |+Retrieves the value set using 'GI.Gdk.Objects.GLContext.gLContextSetDebugEnabled'.++/Since: 3.16/+-}+gLContextGetDebugEnabled ::+    (B.CallStack.HasCallStack, MonadIO m, IsGLContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.GLContext.GLContext' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if debugging is enabled -}+gLContextGetDebugEnabled context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    result <- gdk_gl_context_get_debug_enabled context'+    let result' = (/= 0) result+    touchManagedPtr context+    return result'++#if ENABLE_OVERLOADING+data GLContextGetDebugEnabledMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsGLContext a) => O.MethodInfo GLContextGetDebugEnabledMethodInfo a signature where+    overloadedMethod _ = gLContextGetDebugEnabled++#endif++-- method GLContext::get_display+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "GLContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkGLContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Display"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_get_display" gdk_gl_context_get_display :: +    Ptr GLContext ->                        -- context : TInterface (Name {namespace = "Gdk", name = "GLContext"})+    IO (Ptr Gdk.Display.Display)++{- |+Retrieves the 'GI.Gdk.Objects.Display.Display' the /@context@/ is created for++/Since: 3.16/+-}+gLContextGetDisplay ::+    (B.CallStack.HasCallStack, MonadIO m, IsGLContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.GLContext.GLContext' -}+    -> m (Maybe Gdk.Display.Display)+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Display.Display' or 'Nothing' -}+gLContextGetDisplay context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    result <- gdk_gl_context_get_display context'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Gdk.Display.Display) result'+        return result''+    touchManagedPtr context+    return maybeResult++#if ENABLE_OVERLOADING+data GLContextGetDisplayMethodInfo+instance (signature ~ (m (Maybe Gdk.Display.Display)), MonadIO m, IsGLContext a) => O.MethodInfo GLContextGetDisplayMethodInfo a signature where+    overloadedMethod _ = gLContextGetDisplay++#endif++-- method GLContext::get_forward_compatible+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "GLContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkGLContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_get_forward_compatible" gdk_gl_context_get_forward_compatible :: +    Ptr GLContext ->                        -- context : TInterface (Name {namespace = "Gdk", name = "GLContext"})+    IO CInt++{- |+Retrieves the value set using 'GI.Gdk.Objects.GLContext.gLContextSetForwardCompatible'.++/Since: 3.16/+-}+gLContextGetForwardCompatible ::+    (B.CallStack.HasCallStack, MonadIO m, IsGLContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.GLContext.GLContext' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the context should be forward compatible -}+gLContextGetForwardCompatible context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    result <- gdk_gl_context_get_forward_compatible context'+    let result' = (/= 0) result+    touchManagedPtr context+    return result'++#if ENABLE_OVERLOADING+data GLContextGetForwardCompatibleMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsGLContext a) => O.MethodInfo GLContextGetForwardCompatibleMethodInfo a signature where+    overloadedMethod _ = gLContextGetForwardCompatible++#endif++-- method GLContext::get_required_version+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "GLContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkGLContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "major", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "return location for the major version to request", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "minor", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "return location for the minor version to request", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_get_required_version" gdk_gl_context_get_required_version :: +    Ptr GLContext ->                        -- context : TInterface (Name {namespace = "Gdk", name = "GLContext"})+    Ptr Int32 ->                            -- major : TBasicType TInt+    Ptr Int32 ->                            -- minor : TBasicType TInt+    IO ()++{- |+Retrieves the major and minor version requested by calling+'GI.Gdk.Objects.GLContext.gLContextSetRequiredVersion'.++/Since: 3.16/+-}+gLContextGetRequiredVersion ::+    (B.CallStack.HasCallStack, MonadIO m, IsGLContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.GLContext.GLContext' -}+    -> m ((Int32, Int32))+gLContextGetRequiredVersion context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    major <- allocMem :: IO (Ptr Int32)+    minor <- allocMem :: IO (Ptr Int32)+    gdk_gl_context_get_required_version context' major minor+    major' <- peek major+    minor' <- peek minor+    touchManagedPtr context+    freeMem major+    freeMem minor+    return (major', minor')++#if ENABLE_OVERLOADING+data GLContextGetRequiredVersionMethodInfo+instance (signature ~ (m ((Int32, Int32))), MonadIO m, IsGLContext a) => O.MethodInfo GLContextGetRequiredVersionMethodInfo a signature where+    overloadedMethod _ = gLContextGetRequiredVersion++#endif++-- method GLContext::get_shared_context+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "GLContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkGLContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "GLContext"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_get_shared_context" gdk_gl_context_get_shared_context :: +    Ptr GLContext ->                        -- context : TInterface (Name {namespace = "Gdk", name = "GLContext"})+    IO (Ptr GLContext)++{- |+Retrieves the 'GI.Gdk.Objects.GLContext.GLContext' that this /@context@/ share data with.++/Since: 3.16/+-}+gLContextGetSharedContext ::+    (B.CallStack.HasCallStack, MonadIO m, IsGLContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.GLContext.GLContext' -}+    -> m (Maybe GLContext)+    {- ^ __Returns:__ a 'GI.Gdk.Objects.GLContext.GLContext' or 'Nothing' -}+gLContextGetSharedContext context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    result <- gdk_gl_context_get_shared_context context'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject GLContext) result'+        return result''+    touchManagedPtr context+    return maybeResult++#if ENABLE_OVERLOADING+data GLContextGetSharedContextMethodInfo+instance (signature ~ (m (Maybe GLContext)), MonadIO m, IsGLContext a) => O.MethodInfo GLContextGetSharedContextMethodInfo a signature where+    overloadedMethod _ = gLContextGetSharedContext++#endif++-- method GLContext::get_use_es+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "GLContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkGLContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_get_use_es" gdk_gl_context_get_use_es :: +    Ptr GLContext ->                        -- context : TInterface (Name {namespace = "Gdk", name = "GLContext"})+    IO CInt++{- |+Checks whether the /@context@/ is using an OpenGL or OpenGL ES profile.++/Since: 3.22/+-}+gLContextGetUseEs ::+    (B.CallStack.HasCallStack, MonadIO m, IsGLContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.GLContext.GLContext' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the 'GI.Gdk.Objects.GLContext.GLContext' is using an OpenGL ES profile -}+gLContextGetUseEs context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    result <- gdk_gl_context_get_use_es context'+    let result' = (/= 0) result+    touchManagedPtr context+    return result'++#if ENABLE_OVERLOADING+data GLContextGetUseEsMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsGLContext a) => O.MethodInfo GLContextGetUseEsMethodInfo a signature where+    overloadedMethod _ = gLContextGetUseEs++#endif++-- method GLContext::get_version+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "GLContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkGLContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "major", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the major version", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "minor", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the minor version", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_get_version" gdk_gl_context_get_version :: +    Ptr GLContext ->                        -- context : TInterface (Name {namespace = "Gdk", name = "GLContext"})+    Ptr Int32 ->                            -- major : TBasicType TInt+    Ptr Int32 ->                            -- minor : TBasicType TInt+    IO ()++{- |+Retrieves the OpenGL version of the /@context@/.++The /@context@/ must be realized prior to calling this function.++/Since: 3.16/+-}+gLContextGetVersion ::+    (B.CallStack.HasCallStack, MonadIO m, IsGLContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.GLContext.GLContext' -}+    -> m ((Int32, Int32))+gLContextGetVersion context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    major <- allocMem :: IO (Ptr Int32)+    minor <- allocMem :: IO (Ptr Int32)+    gdk_gl_context_get_version context' major minor+    major' <- peek major+    minor' <- peek minor+    touchManagedPtr context+    freeMem major+    freeMem minor+    return (major', minor')++#if ENABLE_OVERLOADING+data GLContextGetVersionMethodInfo+instance (signature ~ (m ((Int32, Int32))), MonadIO m, IsGLContext a) => O.MethodInfo GLContextGetVersionMethodInfo a signature where+    overloadedMethod _ = gLContextGetVersion++#endif++-- method GLContext::get_window+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "GLContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkGLContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_get_window" gdk_gl_context_get_window :: +    Ptr GLContext ->                        -- context : TInterface (Name {namespace = "Gdk", name = "GLContext"})+    IO (Ptr Gdk.Window.Window)++{- |+Retrieves the 'GI.Gdk.Objects.Window.Window' used by the /@context@/.++/Since: 3.16/+-}+gLContextGetWindow ::+    (B.CallStack.HasCallStack, MonadIO m, IsGLContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.GLContext.GLContext' -}+    -> m (Maybe Gdk.Window.Window)+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Window.Window' or 'Nothing' -}+gLContextGetWindow context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    result <- gdk_gl_context_get_window context'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Gdk.Window.Window) result'+        return result''+    touchManagedPtr context+    return maybeResult++#if ENABLE_OVERLOADING+data GLContextGetWindowMethodInfo+instance (signature ~ (m (Maybe Gdk.Window.Window)), MonadIO m, IsGLContext a) => O.MethodInfo GLContextGetWindowMethodInfo a signature where+    overloadedMethod _ = gLContextGetWindow++#endif++-- method GLContext::is_legacy+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "GLContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkGLContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_is_legacy" gdk_gl_context_is_legacy :: +    Ptr GLContext ->                        -- context : TInterface (Name {namespace = "Gdk", name = "GLContext"})+    IO CInt++{- |+Whether the 'GI.Gdk.Objects.GLContext.GLContext' is in legacy mode or not.++The 'GI.Gdk.Objects.GLContext.GLContext' must be realized before calling this function.++When realizing a GL context, GDK will try to use the OpenGL 3.2 core+profile; this profile removes all the OpenGL API that was deprecated+prior to the 3.2 version of the specification. If the realization is+successful, this function will return 'False'.++If the underlying OpenGL implementation does not support core profiles,+GDK will fall back to a pre-3.2 compatibility profile, and this function+will return 'True'.++You can use the value returned by this function to decide which kind+of OpenGL API to use, or whether to do extension discovery, or what+kind of shader programs to load.++/Since: 3.20/+-}+gLContextIsLegacy ::+    (B.CallStack.HasCallStack, MonadIO m, IsGLContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.GLContext.GLContext' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the GL context is in legacy mode -}+gLContextIsLegacy context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    result <- gdk_gl_context_is_legacy context'+    let result' = (/= 0) result+    touchManagedPtr context+    return result'++#if ENABLE_OVERLOADING+data GLContextIsLegacyMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsGLContext a) => O.MethodInfo GLContextIsLegacyMethodInfo a signature where+    overloadedMethod _ = gLContextIsLegacy++#endif++-- method GLContext::make_current+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "GLContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkGLContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_make_current" gdk_gl_context_make_current :: +    Ptr GLContext ->                        -- context : TInterface (Name {namespace = "Gdk", name = "GLContext"})+    IO ()++{- |+Makes the /@context@/ the current one.++/Since: 3.16/+-}+gLContextMakeCurrent ::+    (B.CallStack.HasCallStack, MonadIO m, IsGLContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.GLContext.GLContext' -}+    -> m ()+gLContextMakeCurrent context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    gdk_gl_context_make_current context'+    touchManagedPtr context+    return ()++#if ENABLE_OVERLOADING+data GLContextMakeCurrentMethodInfo+instance (signature ~ (m ()), MonadIO m, IsGLContext a) => O.MethodInfo GLContextMakeCurrentMethodInfo a signature where+    overloadedMethod _ = gLContextMakeCurrent++#endif++-- method GLContext::realize+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "GLContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkGLContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "gdk_gl_context_realize" gdk_gl_context_realize :: +    Ptr GLContext ->                        -- context : TInterface (Name {namespace = "Gdk", name = "GLContext"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Realizes the given 'GI.Gdk.Objects.GLContext.GLContext'.++It is safe to call this function on a realized 'GI.Gdk.Objects.GLContext.GLContext'.++/Since: 3.16/+-}+gLContextRealize ::+    (B.CallStack.HasCallStack, MonadIO m, IsGLContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.GLContext.GLContext' -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+gLContextRealize context = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    onException (do+        _ <- propagateGError $ gdk_gl_context_realize context'+        touchManagedPtr context+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data GLContextRealizeMethodInfo+instance (signature ~ (m ()), MonadIO m, IsGLContext a) => O.MethodInfo GLContextRealizeMethodInfo a signature where+    overloadedMethod _ = gLContextRealize++#endif++-- method GLContext::set_debug_enabled+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "GLContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkGLContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to enable debugging in the context", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_set_debug_enabled" gdk_gl_context_set_debug_enabled :: +    Ptr GLContext ->                        -- context : TInterface (Name {namespace = "Gdk", name = "GLContext"})+    CInt ->                                 -- enabled : TBasicType TBoolean+    IO ()++{- |+Sets whether the 'GI.Gdk.Objects.GLContext.GLContext' should perform extra validations and+run time checking. This is useful during development, but has+additional overhead.++The 'GI.Gdk.Objects.GLContext.GLContext' must not be realized or made current prior to+calling this function.++/Since: 3.16/+-}+gLContextSetDebugEnabled ::+    (B.CallStack.HasCallStack, MonadIO m, IsGLContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.GLContext.GLContext' -}+    -> Bool+    {- ^ /@enabled@/: whether to enable debugging in the context -}+    -> m ()+gLContextSetDebugEnabled context enabled = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    let enabled' = (fromIntegral . fromEnum) enabled+    gdk_gl_context_set_debug_enabled context' enabled'+    touchManagedPtr context+    return ()++#if ENABLE_OVERLOADING+data GLContextSetDebugEnabledMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, IsGLContext a) => O.MethodInfo GLContextSetDebugEnabledMethodInfo a signature where+    overloadedMethod _ = gLContextSetDebugEnabled++#endif++-- method GLContext::set_forward_compatible+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "GLContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkGLContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "compatible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the context should be forward compatible", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_set_forward_compatible" gdk_gl_context_set_forward_compatible :: +    Ptr GLContext ->                        -- context : TInterface (Name {namespace = "Gdk", name = "GLContext"})+    CInt ->                                 -- compatible : TBasicType TBoolean+    IO ()++{- |+Sets whether the 'GI.Gdk.Objects.GLContext.GLContext' should be forward compatible.++Forward compatibile contexts must not support OpenGL functionality that+has been marked as deprecated in the requested version; non-forward+compatible contexts, on the other hand, must support both deprecated and+non deprecated functionality.++The 'GI.Gdk.Objects.GLContext.GLContext' must not be realized or made current prior to calling+this function.++/Since: 3.16/+-}+gLContextSetForwardCompatible ::+    (B.CallStack.HasCallStack, MonadIO m, IsGLContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.GLContext.GLContext' -}+    -> Bool+    {- ^ /@compatible@/: whether the context should be forward compatible -}+    -> m ()+gLContextSetForwardCompatible context compatible = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    let compatible' = (fromIntegral . fromEnum) compatible+    gdk_gl_context_set_forward_compatible context' compatible'+    touchManagedPtr context+    return ()++#if ENABLE_OVERLOADING+data GLContextSetForwardCompatibleMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, IsGLContext a) => O.MethodInfo GLContextSetForwardCompatibleMethodInfo a signature where+    overloadedMethod _ = gLContextSetForwardCompatible++#endif++-- method GLContext::set_required_version+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "GLContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkGLContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "major", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the major version to request", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minor", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minor version to request", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_set_required_version" gdk_gl_context_set_required_version :: +    Ptr GLContext ->                        -- context : TInterface (Name {namespace = "Gdk", name = "GLContext"})+    Int32 ->                                -- major : TBasicType TInt+    Int32 ->                                -- minor : TBasicType TInt+    IO ()++{- |+Sets the major and minor version of OpenGL to request.++Setting /@major@/ and /@minor@/ to zero will use the default values.++The 'GI.Gdk.Objects.GLContext.GLContext' must not be realized or made current prior to calling+this function.++/Since: 3.16/+-}+gLContextSetRequiredVersion ::+    (B.CallStack.HasCallStack, MonadIO m, IsGLContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.GLContext.GLContext' -}+    -> Int32+    {- ^ /@major@/: the major version to request -}+    -> Int32+    {- ^ /@minor@/: the minor version to request -}+    -> m ()+gLContextSetRequiredVersion context major minor = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    gdk_gl_context_set_required_version context' major minor+    touchManagedPtr context+    return ()++#if ENABLE_OVERLOADING+data GLContextSetRequiredVersionMethodInfo+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsGLContext a) => O.MethodInfo GLContextSetRequiredVersionMethodInfo a signature where+    overloadedMethod _ = gLContextSetRequiredVersion++#endif++-- method GLContext::set_use_es+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "GLContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkGLContext:", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_es", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the context should use OpenGL ES instead of OpenGL,\n  or -1 to allow auto-detection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_set_use_es" gdk_gl_context_set_use_es :: +    Ptr GLContext ->                        -- context : TInterface (Name {namespace = "Gdk", name = "GLContext"})+    Int32 ->                                -- use_es : TBasicType TInt+    IO ()++{- |+Requests that GDK create a OpenGL ES context instead of an OpenGL one,+if the platform and windowing system allows it.++The /@context@/ must not have been realized.++By default, GDK will attempt to automatically detect whether the+underlying GL implementation is OpenGL or OpenGL ES once the /@context@/+is realized.++You should check the return value of 'GI.Gdk.Objects.GLContext.gLContextGetUseEs' after+calling 'GI.Gdk.Objects.GLContext.gLContextRealize' to decide whether to use the OpenGL or+OpenGL ES API, extensions, or shaders.++/Since: 3.22/+-}+gLContextSetUseEs ::+    (B.CallStack.HasCallStack, MonadIO m, IsGLContext a) =>+    a+    {- ^ /@context@/: a 'GI.Gdk.Objects.GLContext.GLContext': -}+    -> Int32+    {- ^ /@useEs@/: whether the context should use OpenGL ES instead of OpenGL,+  or -1 to allow auto-detection -}+    -> m ()+gLContextSetUseEs context useEs = liftIO $ do+    context' <- unsafeManagedPtrCastPtr context+    gdk_gl_context_set_use_es context' useEs+    touchManagedPtr context+    return ()++#if ENABLE_OVERLOADING+data GLContextSetUseEsMethodInfo+instance (signature ~ (Int32 -> m ()), MonadIO m, IsGLContext a) => O.MethodInfo GLContextSetUseEsMethodInfo a signature where+    overloadedMethod _ = gLContextSetUseEs++#endif++-- method GLContext::clear_current+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_clear_current" gdk_gl_context_clear_current :: +    IO ()++{- |+Clears the current 'GI.Gdk.Objects.GLContext.GLContext'.++Any OpenGL call after this function returns will be ignored+until 'GI.Gdk.Objects.GLContext.gLContextMakeCurrent' is called.++/Since: 3.16/+-}+gLContextClearCurrent ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m ()+gLContextClearCurrent  = liftIO $ do+    gdk_gl_context_clear_current+    return ()++#if ENABLE_OVERLOADING+#endif++-- method GLContext::get_current+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "GLContext"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_gl_context_get_current" gdk_gl_context_get_current :: +    IO (Ptr GLContext)++{- |+Retrieves the current 'GI.Gdk.Objects.GLContext.GLContext'.++/Since: 3.16/+-}+gLContextGetCurrent ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m (Maybe GLContext)+    {- ^ __Returns:__ the current 'GI.Gdk.Objects.GLContext.GLContext', or 'Nothing' -}+gLContextGetCurrent  = liftIO $ do+    result <- gdk_gl_context_get_current+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject GLContext) result'+        return result''+    return maybeResult++#if ENABLE_OVERLOADING+#endif++
+ GI/Gdk/Objects/GLContext.hs-boot view
@@ -0,0 +1,83 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Objects.GLContext where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype GLContext = GLContext (ManagedPtr GLContext)+instance GObject GLContext where+class (GObject o, O.IsDescendantOf GLContext o) => IsGLContext o+instance (GObject o, O.IsDescendantOf GLContext o) => IsGLContext o+instance O.HasParentTypes GLContext+#if ENABLE_OVERLOADING+data GLContextDisplayPropertyInfo+#endif+#if ENABLE_OVERLOADING+data GLContextSharedContextPropertyInfo+#endif+#if ENABLE_OVERLOADING+data GLContextWindowPropertyInfo+#endif+#if ENABLE_OVERLOADING+data GLContextGetDebugEnabledMethodInfo+#endif+#if ENABLE_OVERLOADING+data GLContextGetDisplayMethodInfo+#endif+#if ENABLE_OVERLOADING+data GLContextGetForwardCompatibleMethodInfo+#endif+#if ENABLE_OVERLOADING+data GLContextGetRequiredVersionMethodInfo+#endif+#if ENABLE_OVERLOADING+data GLContextGetSharedContextMethodInfo+#endif+#if ENABLE_OVERLOADING+data GLContextGetUseEsMethodInfo+#endif+#if ENABLE_OVERLOADING+data GLContextGetVersionMethodInfo+#endif+#if ENABLE_OVERLOADING+data GLContextGetWindowMethodInfo+#endif+#if ENABLE_OVERLOADING+data GLContextIsLegacyMethodInfo+#endif+#if ENABLE_OVERLOADING+data GLContextMakeCurrentMethodInfo+#endif+#if ENABLE_OVERLOADING+data GLContextRealizeMethodInfo+#endif+#if ENABLE_OVERLOADING+data GLContextSetDebugEnabledMethodInfo+#endif+#if ENABLE_OVERLOADING+data GLContextSetForwardCompatibleMethodInfo+#endif+#if ENABLE_OVERLOADING+data GLContextSetRequiredVersionMethodInfo+#endif+#if ENABLE_OVERLOADING+data GLContextSetUseEsMethodInfo+#endif
+ GI/Gdk/Objects/Keymap.hs view
@@ -0,0 +1,1252 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++A 'GI.Gdk.Objects.Keymap.Keymap' defines the translation from keyboard state+(including a hardware key, a modifier mask, and active keyboard group)+to a keyval. This translation has two phases. The first phase is+to determine the effective keyboard group and level for the keyboard+state; the second phase is to look up the keycode\/group\/level triplet+in the keymap and see what keyval it corresponds to.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Objects.Keymap+    ( ++-- * Exported types+    Keymap(..)                              ,+    IsKeymap                                ,+    toKeymap                                ,+    noKeymap                                ,+++ -- * Methods+-- ** addVirtualModifiers #method:addVirtualModifiers#++#if ENABLE_OVERLOADING+    KeymapAddVirtualModifiersMethodInfo     ,+#endif+    keymapAddVirtualModifiers               ,+++-- ** getCapsLockState #method:getCapsLockState#++#if ENABLE_OVERLOADING+    KeymapGetCapsLockStateMethodInfo        ,+#endif+    keymapGetCapsLockState                  ,+++-- ** getDefault #method:getDefault#++    keymapGetDefault                        ,+++-- ** getDirection #method:getDirection#++#if ENABLE_OVERLOADING+    KeymapGetDirectionMethodInfo            ,+#endif+    keymapGetDirection                      ,+++-- ** getEntriesForKeycode #method:getEntriesForKeycode#++#if ENABLE_OVERLOADING+    KeymapGetEntriesForKeycodeMethodInfo    ,+#endif+    keymapGetEntriesForKeycode              ,+++-- ** getEntriesForKeyval #method:getEntriesForKeyval#++#if ENABLE_OVERLOADING+    KeymapGetEntriesForKeyvalMethodInfo     ,+#endif+    keymapGetEntriesForKeyval               ,+++-- ** getForDisplay #method:getForDisplay#++    keymapGetForDisplay                     ,+++-- ** getModifierMask #method:getModifierMask#++#if ENABLE_OVERLOADING+    KeymapGetModifierMaskMethodInfo         ,+#endif+    keymapGetModifierMask                   ,+++-- ** getModifierState #method:getModifierState#++#if ENABLE_OVERLOADING+    KeymapGetModifierStateMethodInfo        ,+#endif+    keymapGetModifierState                  ,+++-- ** getNumLockState #method:getNumLockState#++#if ENABLE_OVERLOADING+    KeymapGetNumLockStateMethodInfo         ,+#endif+    keymapGetNumLockState                   ,+++-- ** getScrollLockState #method:getScrollLockState#++#if ENABLE_OVERLOADING+    KeymapGetScrollLockStateMethodInfo      ,+#endif+    keymapGetScrollLockState                ,+++-- ** haveBidiLayouts #method:haveBidiLayouts#++#if ENABLE_OVERLOADING+    KeymapHaveBidiLayoutsMethodInfo         ,+#endif+    keymapHaveBidiLayouts                   ,+++-- ** lookupKey #method:lookupKey#++#if ENABLE_OVERLOADING+    KeymapLookupKeyMethodInfo               ,+#endif+    keymapLookupKey                         ,+++-- ** mapVirtualModifiers #method:mapVirtualModifiers#++#if ENABLE_OVERLOADING+    KeymapMapVirtualModifiersMethodInfo     ,+#endif+    keymapMapVirtualModifiers               ,+++-- ** translateKeyboardState #method:translateKeyboardState#++#if ENABLE_OVERLOADING+    KeymapTranslateKeyboardStateMethodInfo  ,+#endif+    keymapTranslateKeyboardState            ,+++++ -- * Signals+-- ** directionChanged #signal:directionChanged#++    C_KeymapDirectionChangedCallback        ,+    KeymapDirectionChangedCallback          ,+#if ENABLE_OVERLOADING+    KeymapDirectionChangedSignalInfo        ,+#endif+    afterKeymapDirectionChanged             ,+    genClosure_KeymapDirectionChanged       ,+    mk_KeymapDirectionChangedCallback       ,+    noKeymapDirectionChangedCallback        ,+    onKeymapDirectionChanged                ,+    wrap_KeymapDirectionChangedCallback     ,+++-- ** keysChanged #signal:keysChanged#++    C_KeymapKeysChangedCallback             ,+    KeymapKeysChangedCallback               ,+#if ENABLE_OVERLOADING+    KeymapKeysChangedSignalInfo             ,+#endif+    afterKeymapKeysChanged                  ,+    genClosure_KeymapKeysChanged            ,+    mk_KeymapKeysChangedCallback            ,+    noKeymapKeysChangedCallback             ,+    onKeymapKeysChanged                     ,+    wrap_KeymapKeysChangedCallback          ,+++-- ** stateChanged #signal:stateChanged#++    C_KeymapStateChangedCallback            ,+    KeymapStateChangedCallback              ,+#if ENABLE_OVERLOADING+    KeymapStateChangedSignalInfo            ,+#endif+    afterKeymapStateChanged                 ,+    genClosure_KeymapStateChanged           ,+    mk_KeymapStateChangedCallback           ,+    noKeymapStateChangedCallback            ,+    onKeymapStateChanged                    ,+    wrap_KeymapStateChangedCallback         ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import qualified GI.GObject.Objects.Object as GObject.Object+import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Flags as Gdk.Flags+import {-# SOURCE #-} qualified GI.Gdk.Objects.Display as Gdk.Display+import {-# SOURCE #-} qualified GI.Gdk.Structs.KeymapKey as Gdk.KeymapKey+import qualified GI.Pango.Enums as Pango.Enums++-- | Memory-managed wrapper type.+newtype Keymap = Keymap (ManagedPtr Keymap)+foreign import ccall "gdk_keymap_get_type"+    c_gdk_keymap_get_type :: IO GType++instance GObject Keymap where+    gobjectType = c_gdk_keymap_get_type+    ++-- | Type class for types which can be safely cast to `Keymap`, for instance with `toKeymap`.+class (GObject o, O.IsDescendantOf Keymap o) => IsKeymap o+instance (GObject o, O.IsDescendantOf Keymap o) => IsKeymap o++instance O.HasParentTypes Keymap+type instance O.ParentTypes Keymap = '[GObject.Object.Object]++-- | Cast to `Keymap`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toKeymap :: (MonadIO m, IsKeymap o) => o -> m Keymap+toKeymap = liftIO . unsafeCastTo Keymap++-- | A convenience alias for `Nothing` :: `Maybe` `Keymap`.+noKeymap :: Maybe Keymap+noKeymap = Nothing++#if ENABLE_OVERLOADING+type family ResolveKeymapMethod (t :: Symbol) (o :: *) :: * where+    ResolveKeymapMethod "addVirtualModifiers" o = KeymapAddVirtualModifiersMethodInfo+    ResolveKeymapMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveKeymapMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveKeymapMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveKeymapMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveKeymapMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveKeymapMethod "haveBidiLayouts" o = KeymapHaveBidiLayoutsMethodInfo+    ResolveKeymapMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveKeymapMethod "lookupKey" o = KeymapLookupKeyMethodInfo+    ResolveKeymapMethod "mapVirtualModifiers" o = KeymapMapVirtualModifiersMethodInfo+    ResolveKeymapMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveKeymapMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveKeymapMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveKeymapMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveKeymapMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveKeymapMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveKeymapMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveKeymapMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveKeymapMethod "translateKeyboardState" o = KeymapTranslateKeyboardStateMethodInfo+    ResolveKeymapMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveKeymapMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveKeymapMethod "getCapsLockState" o = KeymapGetCapsLockStateMethodInfo+    ResolveKeymapMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveKeymapMethod "getDirection" o = KeymapGetDirectionMethodInfo+    ResolveKeymapMethod "getEntriesForKeycode" o = KeymapGetEntriesForKeycodeMethodInfo+    ResolveKeymapMethod "getEntriesForKeyval" o = KeymapGetEntriesForKeyvalMethodInfo+    ResolveKeymapMethod "getModifierMask" o = KeymapGetModifierMaskMethodInfo+    ResolveKeymapMethod "getModifierState" o = KeymapGetModifierStateMethodInfo+    ResolveKeymapMethod "getNumLockState" o = KeymapGetNumLockStateMethodInfo+    ResolveKeymapMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveKeymapMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveKeymapMethod "getScrollLockState" o = KeymapGetScrollLockStateMethodInfo+    ResolveKeymapMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveKeymapMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveKeymapMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveKeymapMethod t Keymap, O.MethodInfo info Keymap p) => OL.IsLabel t (Keymap -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++-- signal Keymap::direction-changed+{- |+The ::direction-changed signal gets emitted when the direction of+the keymap changes.++/Since: 2.0/+-}+type KeymapDirectionChangedCallback =+    IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `KeymapDirectionChangedCallback`@.+noKeymapDirectionChangedCallback :: Maybe KeymapDirectionChangedCallback+noKeymapDirectionChangedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_KeymapDirectionChangedCallback =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_KeymapDirectionChangedCallback`.+foreign import ccall "wrapper"+    mk_KeymapDirectionChangedCallback :: C_KeymapDirectionChangedCallback -> IO (FunPtr C_KeymapDirectionChangedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_KeymapDirectionChanged :: MonadIO m => KeymapDirectionChangedCallback -> m (GClosure C_KeymapDirectionChangedCallback)+genClosure_KeymapDirectionChanged cb = liftIO $ do+    let cb' = wrap_KeymapDirectionChangedCallback cb+    mk_KeymapDirectionChangedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `KeymapDirectionChangedCallback` into a `C_KeymapDirectionChangedCallback`.+wrap_KeymapDirectionChangedCallback ::+    KeymapDirectionChangedCallback ->+    C_KeymapDirectionChangedCallback+wrap_KeymapDirectionChangedCallback _cb _ _ = do+    _cb +++{- |+Connect a signal handler for the “@direction-changed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' keymap #directionChanged callback+@+-}+onKeymapDirectionChanged :: (IsKeymap a, MonadIO m) => a -> KeymapDirectionChangedCallback -> m SignalHandlerId+onKeymapDirectionChanged obj cb = liftIO $ do+    let cb' = wrap_KeymapDirectionChangedCallback cb+    cb'' <- mk_KeymapDirectionChangedCallback cb'+    connectSignalFunPtr obj "direction-changed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@direction-changed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' keymap #directionChanged callback+@+-}+afterKeymapDirectionChanged :: (IsKeymap a, MonadIO m) => a -> KeymapDirectionChangedCallback -> m SignalHandlerId+afterKeymapDirectionChanged obj cb = liftIO $ do+    let cb' = wrap_KeymapDirectionChangedCallback cb+    cb'' <- mk_KeymapDirectionChangedCallback cb'+    connectSignalFunPtr obj "direction-changed" cb'' SignalConnectAfter+++-- signal Keymap::keys-changed+{- |+The ::keys-changed signal is emitted when the mapping represented by+/@keymap@/ changes.++/Since: 2.2/+-}+type KeymapKeysChangedCallback =+    IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `KeymapKeysChangedCallback`@.+noKeymapKeysChangedCallback :: Maybe KeymapKeysChangedCallback+noKeymapKeysChangedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_KeymapKeysChangedCallback =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_KeymapKeysChangedCallback`.+foreign import ccall "wrapper"+    mk_KeymapKeysChangedCallback :: C_KeymapKeysChangedCallback -> IO (FunPtr C_KeymapKeysChangedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_KeymapKeysChanged :: MonadIO m => KeymapKeysChangedCallback -> m (GClosure C_KeymapKeysChangedCallback)+genClosure_KeymapKeysChanged cb = liftIO $ do+    let cb' = wrap_KeymapKeysChangedCallback cb+    mk_KeymapKeysChangedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `KeymapKeysChangedCallback` into a `C_KeymapKeysChangedCallback`.+wrap_KeymapKeysChangedCallback ::+    KeymapKeysChangedCallback ->+    C_KeymapKeysChangedCallback+wrap_KeymapKeysChangedCallback _cb _ _ = do+    _cb +++{- |+Connect a signal handler for the “@keys-changed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' keymap #keysChanged callback+@+-}+onKeymapKeysChanged :: (IsKeymap a, MonadIO m) => a -> KeymapKeysChangedCallback -> m SignalHandlerId+onKeymapKeysChanged obj cb = liftIO $ do+    let cb' = wrap_KeymapKeysChangedCallback cb+    cb'' <- mk_KeymapKeysChangedCallback cb'+    connectSignalFunPtr obj "keys-changed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@keys-changed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' keymap #keysChanged callback+@+-}+afterKeymapKeysChanged :: (IsKeymap a, MonadIO m) => a -> KeymapKeysChangedCallback -> m SignalHandlerId+afterKeymapKeysChanged obj cb = liftIO $ do+    let cb' = wrap_KeymapKeysChangedCallback cb+    cb'' <- mk_KeymapKeysChangedCallback cb'+    connectSignalFunPtr obj "keys-changed" cb'' SignalConnectAfter+++-- signal Keymap::state-changed+{- |+The ::state-changed signal is emitted when the state of the+keyboard changes, e.g when Caps Lock is turned on or off.+See 'GI.Gdk.Objects.Keymap.keymapGetCapsLockState'.++/Since: 2.16/+-}+type KeymapStateChangedCallback =+    IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `KeymapStateChangedCallback`@.+noKeymapStateChangedCallback :: Maybe KeymapStateChangedCallback+noKeymapStateChangedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_KeymapStateChangedCallback =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_KeymapStateChangedCallback`.+foreign import ccall "wrapper"+    mk_KeymapStateChangedCallback :: C_KeymapStateChangedCallback -> IO (FunPtr C_KeymapStateChangedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_KeymapStateChanged :: MonadIO m => KeymapStateChangedCallback -> m (GClosure C_KeymapStateChangedCallback)+genClosure_KeymapStateChanged cb = liftIO $ do+    let cb' = wrap_KeymapStateChangedCallback cb+    mk_KeymapStateChangedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `KeymapStateChangedCallback` into a `C_KeymapStateChangedCallback`.+wrap_KeymapStateChangedCallback ::+    KeymapStateChangedCallback ->+    C_KeymapStateChangedCallback+wrap_KeymapStateChangedCallback _cb _ _ = do+    _cb +++{- |+Connect a signal handler for the “@state-changed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' keymap #stateChanged callback+@+-}+onKeymapStateChanged :: (IsKeymap a, MonadIO m) => a -> KeymapStateChangedCallback -> m SignalHandlerId+onKeymapStateChanged obj cb = liftIO $ do+    let cb' = wrap_KeymapStateChangedCallback cb+    cb'' <- mk_KeymapStateChangedCallback cb'+    connectSignalFunPtr obj "state-changed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@state-changed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' keymap #stateChanged callback+@+-}+afterKeymapStateChanged :: (IsKeymap a, MonadIO m) => a -> KeymapStateChangedCallback -> m SignalHandlerId+afterKeymapStateChanged obj cb = liftIO $ do+    let cb' = wrap_KeymapStateChangedCallback cb+    cb'' <- mk_KeymapStateChangedCallback cb'+    connectSignalFunPtr obj "state-changed" cb'' SignalConnectAfter+++#if ENABLE_OVERLOADING+instance O.HasAttributeList Keymap+type instance O.AttributeList Keymap = KeymapAttributeList+type KeymapAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+data KeymapDirectionChangedSignalInfo+instance SignalInfo KeymapDirectionChangedSignalInfo where+    type HaskellCallbackType KeymapDirectionChangedSignalInfo = KeymapDirectionChangedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_KeymapDirectionChangedCallback cb+        cb'' <- mk_KeymapDirectionChangedCallback cb'+        connectSignalFunPtr obj "direction-changed" cb'' connectMode++data KeymapKeysChangedSignalInfo+instance SignalInfo KeymapKeysChangedSignalInfo where+    type HaskellCallbackType KeymapKeysChangedSignalInfo = KeymapKeysChangedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_KeymapKeysChangedCallback cb+        cb'' <- mk_KeymapKeysChangedCallback cb'+        connectSignalFunPtr obj "keys-changed" cb'' connectMode++data KeymapStateChangedSignalInfo+instance SignalInfo KeymapStateChangedSignalInfo where+    type HaskellCallbackType KeymapStateChangedSignalInfo = KeymapStateChangedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_KeymapStateChangedCallback cb+        cb'' <- mk_KeymapStateChangedCallback cb'+        connectSignalFunPtr obj "state-changed" cb'' connectMode++type instance O.SignalList Keymap = KeymapSignalList+type KeymapSignalList = ('[ '("directionChanged", KeymapDirectionChangedSignalInfo), '("keysChanged", KeymapKeysChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("stateChanged", KeymapStateChangedSignalInfo)] :: [(Symbol, *)])++#endif++-- method Keymap::add_virtual_modifiers+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "keymap", argType = TInterface (Name {namespace = "Gdk", name = "Keymap"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkKeymap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to the modifier mask to change", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_add_virtual_modifiers" gdk_keymap_add_virtual_modifiers :: +    Ptr Keymap ->                           -- keymap : TInterface (Name {namespace = "Gdk", name = "Keymap"})+    Ptr CUInt ->                            -- state : TInterface (Name {namespace = "Gdk", name = "ModifierType"})+    IO ()++{- |+Maps the non-virtual modifiers (i.e Mod2, Mod3, ...) which are set+in /@state@/ to the virtual modifiers (i.e. Super, Hyper and Meta) and+set the corresponding bits in /@state@/.++GDK already does this before delivering key events, but for+compatibility reasons, it only sets the first virtual modifier+it finds, whereas this function sets all matching virtual modifiers.++This function is useful when matching key events against+accelerators.++/Since: 2.20/+-}+keymapAddVirtualModifiers ::+    (B.CallStack.HasCallStack, MonadIO m, IsKeymap a) =>+    a+    {- ^ /@keymap@/: a 'GI.Gdk.Objects.Keymap.Keymap' -}+    -> [Gdk.Flags.ModifierType]+    {- ^ /@state@/: pointer to the modifier mask to change -}+    -> m ([Gdk.Flags.ModifierType])+keymapAddVirtualModifiers keymap state = liftIO $ do+    keymap' <- unsafeManagedPtrCastPtr keymap+    let state' = gflagsToWord state+    state'' <- allocMem :: IO (Ptr CUInt)+    poke state'' state'+    gdk_keymap_add_virtual_modifiers keymap' state''+    state''' <- peek state''+    let state'''' = wordToGFlags state'''+    touchManagedPtr keymap+    freeMem state''+    return state''''++#if ENABLE_OVERLOADING+data KeymapAddVirtualModifiersMethodInfo+instance (signature ~ ([Gdk.Flags.ModifierType] -> m ([Gdk.Flags.ModifierType])), MonadIO m, IsKeymap a) => O.MethodInfo KeymapAddVirtualModifiersMethodInfo a signature where+    overloadedMethod _ = keymapAddVirtualModifiers++#endif++-- method Keymap::get_caps_lock_state+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "keymap", argType = TInterface (Name {namespace = "Gdk", name = "Keymap"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkKeymap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_get_caps_lock_state" gdk_keymap_get_caps_lock_state :: +    Ptr Keymap ->                           -- keymap : TInterface (Name {namespace = "Gdk", name = "Keymap"})+    IO CInt++{- |+Returns whether the Caps Lock modifer is locked.++/Since: 2.16/+-}+keymapGetCapsLockState ::+    (B.CallStack.HasCallStack, MonadIO m, IsKeymap a) =>+    a+    {- ^ /@keymap@/: a 'GI.Gdk.Objects.Keymap.Keymap' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if Caps Lock is on -}+keymapGetCapsLockState keymap = liftIO $ do+    keymap' <- unsafeManagedPtrCastPtr keymap+    result <- gdk_keymap_get_caps_lock_state keymap'+    let result' = (/= 0) result+    touchManagedPtr keymap+    return result'++#if ENABLE_OVERLOADING+data KeymapGetCapsLockStateMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsKeymap a) => O.MethodInfo KeymapGetCapsLockStateMethodInfo a signature where+    overloadedMethod _ = keymapGetCapsLockState++#endif++-- method Keymap::get_direction+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "keymap", argType = TInterface (Name {namespace = "Gdk", name = "Keymap"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkKeymap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "Direction"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_get_direction" gdk_keymap_get_direction :: +    Ptr Keymap ->                           -- keymap : TInterface (Name {namespace = "Gdk", name = "Keymap"})+    IO CUInt++{- |+Returns the direction of effective layout of the keymap.+-}+keymapGetDirection ::+    (B.CallStack.HasCallStack, MonadIO m, IsKeymap a) =>+    a+    {- ^ /@keymap@/: a 'GI.Gdk.Objects.Keymap.Keymap' -}+    -> m Pango.Enums.Direction+    {- ^ __Returns:__ 'GI.Pango.Enums.DirectionLtr' or 'GI.Pango.Enums.DirectionRtl'+  if it can determine the direction. 'GI.Pango.Enums.DirectionNeutral'+  otherwise. -}+keymapGetDirection keymap = liftIO $ do+    keymap' <- unsafeManagedPtrCastPtr keymap+    result <- gdk_keymap_get_direction keymap'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr keymap+    return result'++#if ENABLE_OVERLOADING+data KeymapGetDirectionMethodInfo+instance (signature ~ (m Pango.Enums.Direction), MonadIO m, IsKeymap a) => O.MethodInfo KeymapGetDirectionMethodInfo a signature where+    overloadedMethod _ = keymapGetDirection++#endif++-- method Keymap::get_entries_for_keycode+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "keymap", argType = TInterface (Name {namespace = "Gdk", name = "Keymap"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkKeymap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hardware_keycode", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a keycode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keys", argType = TCArray False (-1) 4 (TInterface (Name {namespace = "Gdk", name = "KeymapKey"})), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return\n    location for array of #GdkKeymapKey, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "keyvals", argType = TCArray False (-1) 4 (TBasicType TUInt), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return\n    location for array of keyvals, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "n_entries", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @keys and @keyvals", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : [Arg {argCName = "n_entries", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @keys and @keyvals", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "n_entries", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @keys and @keyvals", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_get_entries_for_keycode" gdk_keymap_get_entries_for_keycode :: +    Ptr Keymap ->                           -- keymap : TInterface (Name {namespace = "Gdk", name = "Keymap"})+    Word32 ->                               -- hardware_keycode : TBasicType TUInt+    Ptr (Ptr Gdk.KeymapKey.KeymapKey) ->    -- keys : TCArray False (-1) 4 (TInterface (Name {namespace = "Gdk", name = "KeymapKey"}))+    Ptr (Ptr Word32) ->                     -- keyvals : TCArray False (-1) 4 (TBasicType TUInt)+    Ptr Int32 ->                            -- n_entries : TBasicType TInt+    IO CInt++{- |+Returns the keyvals bound to /@hardwareKeycode@/.+The Nth 'GI.Gdk.Structs.KeymapKey.KeymapKey' in /@keys@/ is bound to the Nth+keyval in /@keyvals@/. Free the returned arrays with 'GI.GLib.Functions.free'.+When a keycode is pressed by the user, the keyval from+this list of entries is selected by considering the effective+keyboard group and level. See 'GI.Gdk.Objects.Keymap.keymapTranslateKeyboardState'.+-}+keymapGetEntriesForKeycode ::+    (B.CallStack.HasCallStack, MonadIO m, IsKeymap a) =>+    a+    {- ^ /@keymap@/: a 'GI.Gdk.Objects.Keymap.Keymap' -}+    -> Word32+    {- ^ /@hardwareKeycode@/: a keycode -}+    -> m ((Bool, [Gdk.KeymapKey.KeymapKey], [Word32]))+    {- ^ __Returns:__ 'True' if there were any entries -}+keymapGetEntriesForKeycode keymap hardwareKeycode = liftIO $ do+    keymap' <- unsafeManagedPtrCastPtr keymap+    keys <- allocMem :: IO (Ptr (Ptr Gdk.KeymapKey.KeymapKey))+    keyvals <- allocMem :: IO (Ptr (Ptr Word32))+    nEntries <- allocMem :: IO (Ptr Int32)+    result <- gdk_keymap_get_entries_for_keycode keymap' hardwareKeycode keys keyvals nEntries+    nEntries' <- peek nEntries+    let result' = (/= 0) result+    keys' <- peek keys+    keys'' <- (unpackBlockArrayWithLength 12 nEntries') keys'+    keys''' <- mapM (wrapPtr Gdk.KeymapKey.KeymapKey) keys''+    freeMem keys'+    keyvals' <- peek keyvals+    keyvals'' <- (unpackStorableArrayWithLength nEntries') keyvals'+    freeMem keyvals'+    touchManagedPtr keymap+    freeMem keys+    freeMem keyvals+    freeMem nEntries+    return (result', keys''', keyvals'')++#if ENABLE_OVERLOADING+data KeymapGetEntriesForKeycodeMethodInfo+instance (signature ~ (Word32 -> m ((Bool, [Gdk.KeymapKey.KeymapKey], [Word32]))), MonadIO m, IsKeymap a) => O.MethodInfo KeymapGetEntriesForKeycodeMethodInfo a signature where+    overloadedMethod _ = keymapGetEntriesForKeycode++#endif++-- method Keymap::get_entries_for_keyval+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "keymap", argType = TInterface (Name {namespace = "Gdk", name = "Keymap"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkKeymap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keyval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a keyval, such as %GDK_KEY_a, %GDK_KEY_Up, %GDK_KEY_Return, etc.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keys", argType = TCArray False (-1) 3 (TInterface (Name {namespace = "Gdk", name = "KeymapKey"})), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location\n    for an array of #GdkKeymapKey", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "n_keys", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for number of elements in returned array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : [Arg {argCName = "n_keys", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for number of elements in returned array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_get_entries_for_keyval" gdk_keymap_get_entries_for_keyval :: +    Ptr Keymap ->                           -- keymap : TInterface (Name {namespace = "Gdk", name = "Keymap"})+    Word32 ->                               -- keyval : TBasicType TUInt+    Ptr (Ptr Gdk.KeymapKey.KeymapKey) ->    -- keys : TCArray False (-1) 3 (TInterface (Name {namespace = "Gdk", name = "KeymapKey"}))+    Ptr Int32 ->                            -- n_keys : TBasicType TInt+    IO CInt++{- |+Obtains a list of keycode\/group\/level combinations that will+generate /@keyval@/. Groups and levels are two kinds of keyboard mode;+in general, the level determines whether the top or bottom symbol+on a key is used, and the group determines whether the left or+right symbol is used. On US keyboards, the shift key changes the+keyboard level, and there are no groups. A group switch key might+convert a keyboard between Hebrew to English modes, for example.+'GI.Gdk.Structs.EventKey.EventKey' contains a @/group/@ field that indicates the active+keyboard group. The level is computed from the modifier mask.+The returned array should be freed+with 'GI.GLib.Functions.free'.+-}+keymapGetEntriesForKeyval ::+    (B.CallStack.HasCallStack, MonadIO m, IsKeymap a) =>+    a+    {- ^ /@keymap@/: a 'GI.Gdk.Objects.Keymap.Keymap' -}+    -> Word32+    {- ^ /@keyval@/: a keyval, such as 'GI.Gdk.Constants.KEY_a', 'GI.Gdk.Constants.KEY_Up', 'GI.Gdk.Constants.KEY_Return', etc. -}+    -> m ((Bool, [Gdk.KeymapKey.KeymapKey]))+    {- ^ __Returns:__ 'True' if keys were found and returned -}+keymapGetEntriesForKeyval keymap keyval = liftIO $ do+    keymap' <- unsafeManagedPtrCastPtr keymap+    keys <- allocMem :: IO (Ptr (Ptr Gdk.KeymapKey.KeymapKey))+    nKeys <- allocMem :: IO (Ptr Int32)+    result <- gdk_keymap_get_entries_for_keyval keymap' keyval keys nKeys+    nKeys' <- peek nKeys+    let result' = (/= 0) result+    keys' <- peek keys+    keys'' <- (unpackBlockArrayWithLength 12 nKeys') keys'+    keys''' <- mapM (wrapPtr Gdk.KeymapKey.KeymapKey) keys''+    freeMem keys'+    touchManagedPtr keymap+    freeMem keys+    freeMem nKeys+    return (result', keys''')++#if ENABLE_OVERLOADING+data KeymapGetEntriesForKeyvalMethodInfo+instance (signature ~ (Word32 -> m ((Bool, [Gdk.KeymapKey.KeymapKey]))), MonadIO m, IsKeymap a) => O.MethodInfo KeymapGetEntriesForKeyvalMethodInfo a signature where+    overloadedMethod _ = keymapGetEntriesForKeyval++#endif++-- method Keymap::get_modifier_mask+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "keymap", argType = TInterface (Name {namespace = "Gdk", name = "Keymap"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkKeymap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "intent", argType = TInterface (Name {namespace = "Gdk", name = "ModifierIntent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the use case for the modifier mask", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "ModifierType"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_get_modifier_mask" gdk_keymap_get_modifier_mask :: +    Ptr Keymap ->                           -- keymap : TInterface (Name {namespace = "Gdk", name = "Keymap"})+    CUInt ->                                -- intent : TInterface (Name {namespace = "Gdk", name = "ModifierIntent"})+    IO CUInt++{- |+Returns the modifier mask the /@keymap@/’s windowing system backend+uses for a particular purpose.++Note that this function always returns real hardware modifiers, not+virtual ones (e.g. it will return @/GDK_MOD1_MASK/@ rather than+@/GDK_META_MASK/@ if the backend maps MOD1 to META), so there are use+cases where the return value of this function has to be transformed+by 'GI.Gdk.Objects.Keymap.keymapAddVirtualModifiers' in order to contain the+expected result.++/Since: 3.4/+-}+keymapGetModifierMask ::+    (B.CallStack.HasCallStack, MonadIO m, IsKeymap a) =>+    a+    {- ^ /@keymap@/: a 'GI.Gdk.Objects.Keymap.Keymap' -}+    -> Gdk.Enums.ModifierIntent+    {- ^ /@intent@/: the use case for the modifier mask -}+    -> m [Gdk.Flags.ModifierType]+    {- ^ __Returns:__ the modifier mask used for /@intent@/. -}+keymapGetModifierMask keymap intent = liftIO $ do+    keymap' <- unsafeManagedPtrCastPtr keymap+    let intent' = (fromIntegral . fromEnum) intent+    result <- gdk_keymap_get_modifier_mask keymap' intent'+    let result' = wordToGFlags result+    touchManagedPtr keymap+    return result'++#if ENABLE_OVERLOADING+data KeymapGetModifierMaskMethodInfo+instance (signature ~ (Gdk.Enums.ModifierIntent -> m [Gdk.Flags.ModifierType]), MonadIO m, IsKeymap a) => O.MethodInfo KeymapGetModifierMaskMethodInfo a signature where+    overloadedMethod _ = keymapGetModifierMask++#endif++-- method Keymap::get_modifier_state+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "keymap", argType = TInterface (Name {namespace = "Gdk", name = "Keymap"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkKeymap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_get_modifier_state" gdk_keymap_get_modifier_state :: +    Ptr Keymap ->                           -- keymap : TInterface (Name {namespace = "Gdk", name = "Keymap"})+    IO Word32++{- |+Returns the current modifier state.++/Since: 3.4/+-}+keymapGetModifierState ::+    (B.CallStack.HasCallStack, MonadIO m, IsKeymap a) =>+    a+    {- ^ /@keymap@/: a 'GI.Gdk.Objects.Keymap.Keymap' -}+    -> m Word32+    {- ^ __Returns:__ the current modifier state. -}+keymapGetModifierState keymap = liftIO $ do+    keymap' <- unsafeManagedPtrCastPtr keymap+    result <- gdk_keymap_get_modifier_state keymap'+    touchManagedPtr keymap+    return result++#if ENABLE_OVERLOADING+data KeymapGetModifierStateMethodInfo+instance (signature ~ (m Word32), MonadIO m, IsKeymap a) => O.MethodInfo KeymapGetModifierStateMethodInfo a signature where+    overloadedMethod _ = keymapGetModifierState++#endif++-- method Keymap::get_num_lock_state+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "keymap", argType = TInterface (Name {namespace = "Gdk", name = "Keymap"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkKeymap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_get_num_lock_state" gdk_keymap_get_num_lock_state :: +    Ptr Keymap ->                           -- keymap : TInterface (Name {namespace = "Gdk", name = "Keymap"})+    IO CInt++{- |+Returns whether the Num Lock modifer is locked.++/Since: 3.0/+-}+keymapGetNumLockState ::+    (B.CallStack.HasCallStack, MonadIO m, IsKeymap a) =>+    a+    {- ^ /@keymap@/: a 'GI.Gdk.Objects.Keymap.Keymap' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if Num Lock is on -}+keymapGetNumLockState keymap = liftIO $ do+    keymap' <- unsafeManagedPtrCastPtr keymap+    result <- gdk_keymap_get_num_lock_state keymap'+    let result' = (/= 0) result+    touchManagedPtr keymap+    return result'++#if ENABLE_OVERLOADING+data KeymapGetNumLockStateMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsKeymap a) => O.MethodInfo KeymapGetNumLockStateMethodInfo a signature where+    overloadedMethod _ = keymapGetNumLockState++#endif++-- method Keymap::get_scroll_lock_state+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "keymap", argType = TInterface (Name {namespace = "Gdk", name = "Keymap"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkKeymap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_get_scroll_lock_state" gdk_keymap_get_scroll_lock_state :: +    Ptr Keymap ->                           -- keymap : TInterface (Name {namespace = "Gdk", name = "Keymap"})+    IO CInt++{- |+Returns whether the Scroll Lock modifer is locked.++/Since: 3.18/+-}+keymapGetScrollLockState ::+    (B.CallStack.HasCallStack, MonadIO m, IsKeymap a) =>+    a+    {- ^ /@keymap@/: a 'GI.Gdk.Objects.Keymap.Keymap' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if Scroll Lock is on -}+keymapGetScrollLockState keymap = liftIO $ do+    keymap' <- unsafeManagedPtrCastPtr keymap+    result <- gdk_keymap_get_scroll_lock_state keymap'+    let result' = (/= 0) result+    touchManagedPtr keymap+    return result'++#if ENABLE_OVERLOADING+data KeymapGetScrollLockStateMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsKeymap a) => O.MethodInfo KeymapGetScrollLockStateMethodInfo a signature where+    overloadedMethod _ = keymapGetScrollLockState++#endif++-- method Keymap::have_bidi_layouts+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "keymap", argType = TInterface (Name {namespace = "Gdk", name = "Keymap"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkKeymap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_have_bidi_layouts" gdk_keymap_have_bidi_layouts :: +    Ptr Keymap ->                           -- keymap : TInterface (Name {namespace = "Gdk", name = "Keymap"})+    IO CInt++{- |+Determines if keyboard layouts for both right-to-left and left-to-right+languages are in use.++/Since: 2.12/+-}+keymapHaveBidiLayouts ::+    (B.CallStack.HasCallStack, MonadIO m, IsKeymap a) =>+    a+    {- ^ /@keymap@/: a 'GI.Gdk.Objects.Keymap.Keymap' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if there are layouts in both directions, 'False' otherwise -}+keymapHaveBidiLayouts keymap = liftIO $ do+    keymap' <- unsafeManagedPtrCastPtr keymap+    result <- gdk_keymap_have_bidi_layouts keymap'+    let result' = (/= 0) result+    touchManagedPtr keymap+    return result'++#if ENABLE_OVERLOADING+data KeymapHaveBidiLayoutsMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsKeymap a) => O.MethodInfo KeymapHaveBidiLayoutsMethodInfo a signature where+    overloadedMethod _ = keymapHaveBidiLayouts++#endif++-- method Keymap::lookup_key+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "keymap", argType = TInterface (Name {namespace = "Gdk", name = "Keymap"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkKeymap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TInterface (Name {namespace = "Gdk", name = "KeymapKey"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkKeymapKey with keycode, group, and level initialized", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_lookup_key" gdk_keymap_lookup_key :: +    Ptr Keymap ->                           -- keymap : TInterface (Name {namespace = "Gdk", name = "Keymap"})+    Ptr Gdk.KeymapKey.KeymapKey ->          -- key : TInterface (Name {namespace = "Gdk", name = "KeymapKey"})+    IO Word32++{- |+Looks up the keyval mapped to a keycode\/group\/level triplet.+If no keyval is bound to /@key@/, returns 0. For normal user input,+you want to use 'GI.Gdk.Objects.Keymap.keymapTranslateKeyboardState' instead of+this function, since the effective group\/level may not be+the same as the current keyboard state.+-}+keymapLookupKey ::+    (B.CallStack.HasCallStack, MonadIO m, IsKeymap a) =>+    a+    {- ^ /@keymap@/: a 'GI.Gdk.Objects.Keymap.Keymap' -}+    -> Gdk.KeymapKey.KeymapKey+    {- ^ /@key@/: a 'GI.Gdk.Structs.KeymapKey.KeymapKey' with keycode, group, and level initialized -}+    -> m Word32+    {- ^ __Returns:__ a keyval, or 0 if none was mapped to the given /@key@/ -}+keymapLookupKey keymap key = liftIO $ do+    keymap' <- unsafeManagedPtrCastPtr keymap+    key' <- unsafeManagedPtrGetPtr key+    result <- gdk_keymap_lookup_key keymap' key'+    touchManagedPtr keymap+    touchManagedPtr key+    return result++#if ENABLE_OVERLOADING+data KeymapLookupKeyMethodInfo+instance (signature ~ (Gdk.KeymapKey.KeymapKey -> m Word32), MonadIO m, IsKeymap a) => O.MethodInfo KeymapLookupKeyMethodInfo a signature where+    overloadedMethod _ = keymapLookupKey++#endif++-- method Keymap::map_virtual_modifiers+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "keymap", argType = TInterface (Name {namespace = "Gdk", name = "Keymap"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkKeymap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to the modifier state to map", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_map_virtual_modifiers" gdk_keymap_map_virtual_modifiers :: +    Ptr Keymap ->                           -- keymap : TInterface (Name {namespace = "Gdk", name = "Keymap"})+    Ptr CUInt ->                            -- state : TInterface (Name {namespace = "Gdk", name = "ModifierType"})+    IO CInt++{- |+Maps the virtual modifiers (i.e. Super, Hyper and Meta) which+are set in /@state@/ to their non-virtual counterparts (i.e. Mod2,+Mod3,...) and set the corresponding bits in /@state@/.++This function is useful when matching key events against+accelerators.++/Since: 2.20/+-}+keymapMapVirtualModifiers ::+    (B.CallStack.HasCallStack, MonadIO m, IsKeymap a) =>+    a+    {- ^ /@keymap@/: a 'GI.Gdk.Objects.Keymap.Keymap' -}+    -> [Gdk.Flags.ModifierType]+    {- ^ /@state@/: pointer to the modifier state to map -}+    -> m ((Bool, [Gdk.Flags.ModifierType]))+    {- ^ __Returns:__ 'False' if two virtual modifiers were mapped to the+    same non-virtual modifier. Note that 'False' is also returned+    if a virtual modifier is mapped to a non-virtual modifier that+    was already set in /@state@/. -}+keymapMapVirtualModifiers keymap state = liftIO $ do+    keymap' <- unsafeManagedPtrCastPtr keymap+    let state' = gflagsToWord state+    state'' <- allocMem :: IO (Ptr CUInt)+    poke state'' state'+    result <- gdk_keymap_map_virtual_modifiers keymap' state''+    let result' = (/= 0) result+    state''' <- peek state''+    let state'''' = wordToGFlags state'''+    touchManagedPtr keymap+    freeMem state''+    return (result', state'''')++#if ENABLE_OVERLOADING+data KeymapMapVirtualModifiersMethodInfo+instance (signature ~ ([Gdk.Flags.ModifierType] -> m ((Bool, [Gdk.Flags.ModifierType]))), MonadIO m, IsKeymap a) => O.MethodInfo KeymapMapVirtualModifiersMethodInfo a signature where+    overloadedMethod _ = keymapMapVirtualModifiers++#endif++-- method Keymap::translate_keyboard_state+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "keymap", argType = TInterface (Name {namespace = "Gdk", name = "Keymap"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkKeymap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hardware_keycode", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a keycode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a modifier state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "active keyboard group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keyval", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for keyval, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "effective_group", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for effective\n    group, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "level", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for level, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "consumed_modifiers", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for modifiers\n    that were used to determine the group or level, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_translate_keyboard_state" gdk_keymap_translate_keyboard_state :: +    Ptr Keymap ->                           -- keymap : TInterface (Name {namespace = "Gdk", name = "Keymap"})+    Word32 ->                               -- hardware_keycode : TBasicType TUInt+    CUInt ->                                -- state : TInterface (Name {namespace = "Gdk", name = "ModifierType"})+    Int32 ->                                -- group : TBasicType TInt+    Ptr Word32 ->                           -- keyval : TBasicType TUInt+    Ptr Int32 ->                            -- effective_group : TBasicType TInt+    Ptr Int32 ->                            -- level : TBasicType TInt+    Ptr CUInt ->                            -- consumed_modifiers : TInterface (Name {namespace = "Gdk", name = "ModifierType"})+    IO CInt++{- |+Translates the contents of a 'GI.Gdk.Structs.EventKey.EventKey' into a keyval, effective+group, and level. Modifiers that affected the translation and+are thus unavailable for application use are returned in+/@consumedModifiers@/.+See [Groups][key-group-explanation] for an explanation of+groups and levels. The /@effectiveGroup@/ is the group that was+actually used for the translation; some keys such as Enter are not+affected by the active keyboard group. The /@level@/ is derived from+/@state@/. For convenience, 'GI.Gdk.Structs.EventKey.EventKey' already contains the translated+keyval, so this function isn’t as useful as you might think.++/@consumedModifiers@/ gives modifiers that should be masked outfrom /@state@/+when comparing this key press to a hot key. For instance, on a US keyboard,+the @plus@ symbol is shifted, so when comparing a key press to a+@\<Control>plus@ accelerator @\<Shift>@ should be masked out.+++=== /C code/+>+>// We want to ignore irrelevant modifiers like ScrollLock+>#define ALL_ACCELS_MASK (GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK)+>gdk_keymap_translate_keyboard_state (keymap, event->hardware_keycode,+>                                     event->state, event->group,+>                                     &keyval, NULL, NULL, &consumed);+>if (keyval == GDK_PLUS &&+>    (event->state & ~consumed & ALL_ACCELS_MASK) == GDK_CONTROL_MASK)+>  // Control was pressed+++An older interpretation /@consumedModifiers@/ was that it contained+all modifiers that might affect the translation of the key;+this allowed accelerators to be stored with irrelevant consumed+modifiers, by doing:++=== /C code/+>+>// XXX Don’t do this XXX+>if (keyval == accel_keyval &&+>    (event->state & ~consumed & ALL_ACCELS_MASK) == (accel_mods & ~consumed))+>  // Accelerator was pressed+++However, this did not work if multi-modifier combinations were+used in the keymap, since, for instance, @\<Control>@ would be+masked out even if only @\<Control>\<Alt>@ was used in the keymap.+To support this usage as well as well as possible, all single+modifier combinations that could affect the key for any combination+of modifiers will be returned in /@consumedModifiers@/; multi-modifier+combinations are returned only when actually found in /@state@/. When+you store accelerators, you should always store them with consumed+modifiers removed. Store @\<Control>plus@, not @\<Control>\<Shift>plus@,+-}+keymapTranslateKeyboardState ::+    (B.CallStack.HasCallStack, MonadIO m, IsKeymap a) =>+    a+    {- ^ /@keymap@/: a 'GI.Gdk.Objects.Keymap.Keymap' -}+    -> Word32+    {- ^ /@hardwareKeycode@/: a keycode -}+    -> [Gdk.Flags.ModifierType]+    {- ^ /@state@/: a modifier state -}+    -> Int32+    {- ^ /@group@/: active keyboard group -}+    -> m ((Bool, Word32, Int32, Int32, [Gdk.Flags.ModifierType]))+    {- ^ __Returns:__ 'True' if there was a keyval bound to the keycode\/state\/group -}+keymapTranslateKeyboardState keymap hardwareKeycode state group = liftIO $ do+    keymap' <- unsafeManagedPtrCastPtr keymap+    let state' = gflagsToWord state+    keyval <- allocMem :: IO (Ptr Word32)+    effectiveGroup <- allocMem :: IO (Ptr Int32)+    level <- allocMem :: IO (Ptr Int32)+    consumedModifiers <- allocMem :: IO (Ptr CUInt)+    result <- gdk_keymap_translate_keyboard_state keymap' hardwareKeycode state' group keyval effectiveGroup level consumedModifiers+    let result' = (/= 0) result+    keyval' <- peek keyval+    effectiveGroup' <- peek effectiveGroup+    level' <- peek level+    consumedModifiers' <- peek consumedModifiers+    let consumedModifiers'' = wordToGFlags consumedModifiers'+    touchManagedPtr keymap+    freeMem keyval+    freeMem effectiveGroup+    freeMem level+    freeMem consumedModifiers+    return (result', keyval', effectiveGroup', level', consumedModifiers'')++#if ENABLE_OVERLOADING+data KeymapTranslateKeyboardStateMethodInfo+instance (signature ~ (Word32 -> [Gdk.Flags.ModifierType] -> Int32 -> m ((Bool, Word32, Int32, Int32, [Gdk.Flags.ModifierType]))), MonadIO m, IsKeymap a) => O.MethodInfo KeymapTranslateKeyboardStateMethodInfo a signature where+    overloadedMethod _ = keymapTranslateKeyboardState++#endif++-- method Keymap::get_default+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Keymap"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_get_default" gdk_keymap_get_default :: +    IO (Ptr Keymap)++{-# DEPRECATED keymapGetDefault ["(Since version 3.22)","Use 'GI.Gdk.Objects.Keymap.keymapGetForDisplay' instead"] #-}+{- |+Returns the 'GI.Gdk.Objects.Keymap.Keymap' attached to the default display.+-}+keymapGetDefault ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m Keymap+    {- ^ __Returns:__ the 'GI.Gdk.Objects.Keymap.Keymap' attached to the default display. -}+keymapGetDefault  = liftIO $ do+    result <- gdk_keymap_get_default+    checkUnexpectedReturnNULL "keymapGetDefault" result+    result' <- (newObject Keymap) result+    return result'++#if ENABLE_OVERLOADING+#endif++-- method Keymap::get_for_display+-- method type : MemberFunction+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkDisplay.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Keymap"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_keymap_get_for_display" gdk_keymap_get_for_display :: +    Ptr Gdk.Display.Display ->              -- display : TInterface (Name {namespace = "Gdk", name = "Display"})+    IO (Ptr Keymap)++{- |+Returns the 'GI.Gdk.Objects.Keymap.Keymap' attached to /@display@/.++/Since: 2.2/+-}+keymapGetForDisplay ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Display.IsDisplay a) =>+    a+    {- ^ /@display@/: the 'GI.Gdk.Objects.Display.Display'. -}+    -> m Keymap+    {- ^ __Returns:__ the 'GI.Gdk.Objects.Keymap.Keymap' attached to /@display@/. -}+keymapGetForDisplay display = liftIO $ do+    display' <- unsafeManagedPtrCastPtr display+    result <- gdk_keymap_get_for_display display'+    checkUnexpectedReturnNULL "keymapGetForDisplay" result+    result' <- (newObject Keymap) result+    touchManagedPtr display+    return result'++#if ENABLE_OVERLOADING+#endif++
+ GI/Gdk/Objects/Keymap.hs-boot view
@@ -0,0 +1,77 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Objects.Keymap where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype Keymap = Keymap (ManagedPtr Keymap)+instance GObject Keymap where+class (GObject o, O.IsDescendantOf Keymap o) => IsKeymap o+instance (GObject o, O.IsDescendantOf Keymap o) => IsKeymap o+instance O.HasParentTypes Keymap+#if ENABLE_OVERLOADING+data KeymapDirectionChangedSignalInfo+#endif+#if ENABLE_OVERLOADING+data KeymapKeysChangedSignalInfo+#endif+#if ENABLE_OVERLOADING+data KeymapStateChangedSignalInfo+#endif+#if ENABLE_OVERLOADING+data KeymapAddVirtualModifiersMethodInfo+#endif+#if ENABLE_OVERLOADING+data KeymapGetCapsLockStateMethodInfo+#endif+#if ENABLE_OVERLOADING+data KeymapGetDirectionMethodInfo+#endif+#if ENABLE_OVERLOADING+data KeymapGetEntriesForKeycodeMethodInfo+#endif+#if ENABLE_OVERLOADING+data KeymapGetEntriesForKeyvalMethodInfo+#endif+#if ENABLE_OVERLOADING+data KeymapGetModifierMaskMethodInfo+#endif+#if ENABLE_OVERLOADING+data KeymapGetModifierStateMethodInfo+#endif+#if ENABLE_OVERLOADING+data KeymapGetNumLockStateMethodInfo+#endif+#if ENABLE_OVERLOADING+data KeymapGetScrollLockStateMethodInfo+#endif+#if ENABLE_OVERLOADING+data KeymapHaveBidiLayoutsMethodInfo+#endif+#if ENABLE_OVERLOADING+data KeymapLookupKeyMethodInfo+#endif+#if ENABLE_OVERLOADING+data KeymapMapVirtualModifiersMethodInfo+#endif+#if ENABLE_OVERLOADING+data KeymapTranslateKeyboardStateMethodInfo+#endif
+ GI/Gdk/Objects/Monitor.hs view
@@ -0,0 +1,1224 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++GdkMonitor objects represent the individual outputs that are+associated with a 'GI.Gdk.Objects.Display.Display'. GdkDisplay has APIs to enumerate+monitors with 'GI.Gdk.Objects.Display.displayGetNMonitors' and 'GI.Gdk.Objects.Display.displayGetMonitor', and+to find particular monitors with 'GI.Gdk.Objects.Display.displayGetPrimaryMonitor' or+'GI.Gdk.Objects.Display.displayGetMonitorAtWindow'.++GdkMonitor was introduced in GTK+ 3.22 and supersedes earlier+APIs in GdkScreen to obtain monitor-related information.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Objects.Monitor+    ( ++-- * Exported types+    Monitor(..)                             ,+    IsMonitor                               ,+    toMonitor                               ,+    noMonitor                               ,+++ -- * Methods+-- ** getDisplay #method:getDisplay#++#if ENABLE_OVERLOADING+    MonitorGetDisplayMethodInfo             ,+#endif+    monitorGetDisplay                       ,+++-- ** getGeometry #method:getGeometry#++#if ENABLE_OVERLOADING+    MonitorGetGeometryMethodInfo            ,+#endif+    monitorGetGeometry                      ,+++-- ** getHeightMm #method:getHeightMm#++#if ENABLE_OVERLOADING+    MonitorGetHeightMmMethodInfo            ,+#endif+    monitorGetHeightMm                      ,+++-- ** getManufacturer #method:getManufacturer#++#if ENABLE_OVERLOADING+    MonitorGetManufacturerMethodInfo        ,+#endif+    monitorGetManufacturer                  ,+++-- ** getModel #method:getModel#++#if ENABLE_OVERLOADING+    MonitorGetModelMethodInfo               ,+#endif+    monitorGetModel                         ,+++-- ** getRefreshRate #method:getRefreshRate#++#if ENABLE_OVERLOADING+    MonitorGetRefreshRateMethodInfo         ,+#endif+    monitorGetRefreshRate                   ,+++-- ** getScaleFactor #method:getScaleFactor#++#if ENABLE_OVERLOADING+    MonitorGetScaleFactorMethodInfo         ,+#endif+    monitorGetScaleFactor                   ,+++-- ** getSubpixelLayout #method:getSubpixelLayout#++#if ENABLE_OVERLOADING+    MonitorGetSubpixelLayoutMethodInfo      ,+#endif+    monitorGetSubpixelLayout                ,+++-- ** getWidthMm #method:getWidthMm#++#if ENABLE_OVERLOADING+    MonitorGetWidthMmMethodInfo             ,+#endif+    monitorGetWidthMm                       ,+++-- ** getWorkarea #method:getWorkarea#++#if ENABLE_OVERLOADING+    MonitorGetWorkareaMethodInfo            ,+#endif+    monitorGetWorkarea                      ,+++-- ** isPrimary #method:isPrimary#++#if ENABLE_OVERLOADING+    MonitorIsPrimaryMethodInfo              ,+#endif+    monitorIsPrimary                        ,+++++ -- * Properties+-- ** display #attr:display#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    MonitorDisplayPropertyInfo              ,+#endif+    constructMonitorDisplay                 ,+    getMonitorDisplay                       ,+#if ENABLE_OVERLOADING+    monitorDisplay                          ,+#endif+++-- ** geometry #attr:geometry#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    MonitorGeometryPropertyInfo             ,+#endif+    getMonitorGeometry                      ,+#if ENABLE_OVERLOADING+    monitorGeometry                         ,+#endif+++-- ** heightMm #attr:heightMm#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    MonitorHeightMmPropertyInfo             ,+#endif+    getMonitorHeightMm                      ,+#if ENABLE_OVERLOADING+    monitorHeightMm                         ,+#endif+++-- ** manufacturer #attr:manufacturer#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    MonitorManufacturerPropertyInfo         ,+#endif+    getMonitorManufacturer                  ,+#if ENABLE_OVERLOADING+    monitorManufacturer                     ,+#endif+++-- ** model #attr:model#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    MonitorModelPropertyInfo                ,+#endif+    getMonitorModel                         ,+#if ENABLE_OVERLOADING+    monitorModel                            ,+#endif+++-- ** refreshRate #attr:refreshRate#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    MonitorRefreshRatePropertyInfo          ,+#endif+    getMonitorRefreshRate                   ,+#if ENABLE_OVERLOADING+    monitorRefreshRate                      ,+#endif+++-- ** scaleFactor #attr:scaleFactor#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    MonitorScaleFactorPropertyInfo          ,+#endif+    getMonitorScaleFactor                   ,+#if ENABLE_OVERLOADING+    monitorScaleFactor                      ,+#endif+++-- ** subpixelLayout #attr:subpixelLayout#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    MonitorSubpixelLayoutPropertyInfo       ,+#endif+    getMonitorSubpixelLayout                ,+#if ENABLE_OVERLOADING+    monitorSubpixelLayout                   ,+#endif+++-- ** widthMm #attr:widthMm#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    MonitorWidthMmPropertyInfo              ,+#endif+    getMonitorWidthMm                       ,+#if ENABLE_OVERLOADING+    monitorWidthMm                          ,+#endif+++-- ** workarea #attr:workarea#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    MonitorWorkareaPropertyInfo             ,+#endif+    getMonitorWorkarea                      ,+#if ENABLE_OVERLOADING+    monitorWorkarea                         ,+#endif+++++ -- * Signals+-- ** invalidate #signal:invalidate#++    C_MonitorInvalidateCallback             ,+    MonitorInvalidateCallback               ,+#if ENABLE_OVERLOADING+    MonitorInvalidateSignalInfo             ,+#endif+    afterMonitorInvalidate                  ,+    genClosure_MonitorInvalidate            ,+    mk_MonitorInvalidateCallback            ,+    noMonitorInvalidateCallback             ,+    onMonitorInvalidate                     ,+    wrap_MonitorInvalidateCallback          ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import qualified GI.GObject.Objects.Object as GObject.Object+import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Objects.Display as Gdk.Display+import {-# SOURCE #-} qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle++-- | Memory-managed wrapper type.+newtype Monitor = Monitor (ManagedPtr Monitor)+foreign import ccall "gdk_monitor_get_type"+    c_gdk_monitor_get_type :: IO GType++instance GObject Monitor where+    gobjectType = c_gdk_monitor_get_type+    ++-- | Type class for types which can be safely cast to `Monitor`, for instance with `toMonitor`.+class (GObject o, O.IsDescendantOf Monitor o) => IsMonitor o+instance (GObject o, O.IsDescendantOf Monitor o) => IsMonitor o++instance O.HasParentTypes Monitor+type instance O.ParentTypes Monitor = '[GObject.Object.Object]++-- | Cast to `Monitor`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toMonitor :: (MonadIO m, IsMonitor o) => o -> m Monitor+toMonitor = liftIO . unsafeCastTo Monitor++-- | A convenience alias for `Nothing` :: `Maybe` `Monitor`.+noMonitor :: Maybe Monitor+noMonitor = Nothing++#if ENABLE_OVERLOADING+type family ResolveMonitorMethod (t :: Symbol) (o :: *) :: * where+    ResolveMonitorMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveMonitorMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveMonitorMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveMonitorMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveMonitorMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveMonitorMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveMonitorMethod "isPrimary" o = MonitorIsPrimaryMethodInfo+    ResolveMonitorMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveMonitorMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveMonitorMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveMonitorMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveMonitorMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveMonitorMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveMonitorMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveMonitorMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveMonitorMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveMonitorMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveMonitorMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveMonitorMethod "getDisplay" o = MonitorGetDisplayMethodInfo+    ResolveMonitorMethod "getGeometry" o = MonitorGetGeometryMethodInfo+    ResolveMonitorMethod "getHeightMm" o = MonitorGetHeightMmMethodInfo+    ResolveMonitorMethod "getManufacturer" o = MonitorGetManufacturerMethodInfo+    ResolveMonitorMethod "getModel" o = MonitorGetModelMethodInfo+    ResolveMonitorMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveMonitorMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveMonitorMethod "getRefreshRate" o = MonitorGetRefreshRateMethodInfo+    ResolveMonitorMethod "getScaleFactor" o = MonitorGetScaleFactorMethodInfo+    ResolveMonitorMethod "getSubpixelLayout" o = MonitorGetSubpixelLayoutMethodInfo+    ResolveMonitorMethod "getWidthMm" o = MonitorGetWidthMmMethodInfo+    ResolveMonitorMethod "getWorkarea" o = MonitorGetWorkareaMethodInfo+    ResolveMonitorMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveMonitorMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveMonitorMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveMonitorMethod t Monitor, O.MethodInfo info Monitor p) => OL.IsLabel t (Monitor -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++-- signal Monitor::invalidate+{- |+/No description available in the introspection data./+-}+type MonitorInvalidateCallback =+    IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `MonitorInvalidateCallback`@.+noMonitorInvalidateCallback :: Maybe MonitorInvalidateCallback+noMonitorInvalidateCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_MonitorInvalidateCallback =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_MonitorInvalidateCallback`.+foreign import ccall "wrapper"+    mk_MonitorInvalidateCallback :: C_MonitorInvalidateCallback -> IO (FunPtr C_MonitorInvalidateCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_MonitorInvalidate :: MonadIO m => MonitorInvalidateCallback -> m (GClosure C_MonitorInvalidateCallback)+genClosure_MonitorInvalidate cb = liftIO $ do+    let cb' = wrap_MonitorInvalidateCallback cb+    mk_MonitorInvalidateCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `MonitorInvalidateCallback` into a `C_MonitorInvalidateCallback`.+wrap_MonitorInvalidateCallback ::+    MonitorInvalidateCallback ->+    C_MonitorInvalidateCallback+wrap_MonitorInvalidateCallback _cb _ _ = do+    _cb +++{- |+Connect a signal handler for the “@invalidate@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' monitor #invalidate callback+@+-}+onMonitorInvalidate :: (IsMonitor a, MonadIO m) => a -> MonitorInvalidateCallback -> m SignalHandlerId+onMonitorInvalidate obj cb = liftIO $ do+    let cb' = wrap_MonitorInvalidateCallback cb+    cb'' <- mk_MonitorInvalidateCallback cb'+    connectSignalFunPtr obj "invalidate" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@invalidate@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' monitor #invalidate callback+@+-}+afterMonitorInvalidate :: (IsMonitor a, MonadIO m) => a -> MonitorInvalidateCallback -> m SignalHandlerId+afterMonitorInvalidate obj cb = liftIO $ do+    let cb' = wrap_MonitorInvalidateCallback cb+    cb'' <- mk_MonitorInvalidateCallback cb'+    connectSignalFunPtr obj "invalidate" cb'' SignalConnectAfter+++-- VVV Prop "display"+   -- Type: TInterface (Name {namespace = "Gdk", name = "Display"})+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@display@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' monitor #display+@+-}+getMonitorDisplay :: (MonadIO m, IsMonitor o) => o -> m Gdk.Display.Display+getMonitorDisplay obj = liftIO $ checkUnexpectedNothing "getMonitorDisplay" $ B.Properties.getObjectPropertyObject obj "display" Gdk.Display.Display++{- |+Construct a `GValueConstruct` with valid value for the “@display@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructMonitorDisplay :: (IsMonitor o, Gdk.Display.IsDisplay a) => a -> IO (GValueConstruct o)+constructMonitorDisplay val = B.Properties.constructObjectPropertyObject "display" (Just val)++#if ENABLE_OVERLOADING+data MonitorDisplayPropertyInfo+instance AttrInfo MonitorDisplayPropertyInfo where+    type AttrAllowedOps MonitorDisplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint MonitorDisplayPropertyInfo = Gdk.Display.IsDisplay+    type AttrBaseTypeConstraint MonitorDisplayPropertyInfo = IsMonitor+    type AttrGetType MonitorDisplayPropertyInfo = Gdk.Display.Display+    type AttrLabel MonitorDisplayPropertyInfo = "display"+    type AttrOrigin MonitorDisplayPropertyInfo = Monitor+    attrGet _ = getMonitorDisplay+    attrSet _ = undefined+    attrConstruct _ = constructMonitorDisplay+    attrClear _ = undefined+#endif++-- VVV Prop "geometry"+   -- Type: TInterface (Name {namespace = "Gdk", name = "Rectangle"})+   -- Flags: [PropertyReadable]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@geometry@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' monitor #geometry+@+-}+getMonitorGeometry :: (MonadIO m, IsMonitor o) => o -> m (Maybe Gdk.Rectangle.Rectangle)+getMonitorGeometry obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "geometry" Gdk.Rectangle.Rectangle++#if ENABLE_OVERLOADING+data MonitorGeometryPropertyInfo+instance AttrInfo MonitorGeometryPropertyInfo where+    type AttrAllowedOps MonitorGeometryPropertyInfo = '[ 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint MonitorGeometryPropertyInfo = (~) ()+    type AttrBaseTypeConstraint MonitorGeometryPropertyInfo = IsMonitor+    type AttrGetType MonitorGeometryPropertyInfo = (Maybe Gdk.Rectangle.Rectangle)+    type AttrLabel MonitorGeometryPropertyInfo = "geometry"+    type AttrOrigin MonitorGeometryPropertyInfo = Monitor+    attrGet _ = getMonitorGeometry+    attrSet _ = undefined+    attrConstruct _ = undefined+    attrClear _ = undefined+#endif++-- VVV Prop "height-mm"+   -- Type: TBasicType TInt+   -- Flags: [PropertyReadable]+   -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@height-mm@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' monitor #heightMm+@+-}+getMonitorHeightMm :: (MonadIO m, IsMonitor o) => o -> m Int32+getMonitorHeightMm obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "height-mm"++#if ENABLE_OVERLOADING+data MonitorHeightMmPropertyInfo+instance AttrInfo MonitorHeightMmPropertyInfo where+    type AttrAllowedOps MonitorHeightMmPropertyInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint MonitorHeightMmPropertyInfo = (~) ()+    type AttrBaseTypeConstraint MonitorHeightMmPropertyInfo = IsMonitor+    type AttrGetType MonitorHeightMmPropertyInfo = Int32+    type AttrLabel MonitorHeightMmPropertyInfo = "height-mm"+    type AttrOrigin MonitorHeightMmPropertyInfo = Monitor+    attrGet _ = getMonitorHeightMm+    attrSet _ = undefined+    attrConstruct _ = undefined+    attrClear _ = undefined+#endif++-- VVV Prop "manufacturer"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable]+   -- Nullable: (Just True,Nothing)++{- |+Get the value of the “@manufacturer@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' monitor #manufacturer+@+-}+getMonitorManufacturer :: (MonadIO m, IsMonitor o) => o -> m (Maybe T.Text)+getMonitorManufacturer obj = liftIO $ B.Properties.getObjectPropertyString obj "manufacturer"++#if ENABLE_OVERLOADING+data MonitorManufacturerPropertyInfo+instance AttrInfo MonitorManufacturerPropertyInfo where+    type AttrAllowedOps MonitorManufacturerPropertyInfo = '[ 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint MonitorManufacturerPropertyInfo = (~) ()+    type AttrBaseTypeConstraint MonitorManufacturerPropertyInfo = IsMonitor+    type AttrGetType MonitorManufacturerPropertyInfo = (Maybe T.Text)+    type AttrLabel MonitorManufacturerPropertyInfo = "manufacturer"+    type AttrOrigin MonitorManufacturerPropertyInfo = Monitor+    attrGet _ = getMonitorManufacturer+    attrSet _ = undefined+    attrConstruct _ = undefined+    attrClear _ = undefined+#endif++-- VVV Prop "model"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable]+   -- Nullable: (Just True,Nothing)++{- |+Get the value of the “@model@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' monitor #model+@+-}+getMonitorModel :: (MonadIO m, IsMonitor o) => o -> m (Maybe T.Text)+getMonitorModel obj = liftIO $ B.Properties.getObjectPropertyString obj "model"++#if ENABLE_OVERLOADING+data MonitorModelPropertyInfo+instance AttrInfo MonitorModelPropertyInfo where+    type AttrAllowedOps MonitorModelPropertyInfo = '[ 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint MonitorModelPropertyInfo = (~) ()+    type AttrBaseTypeConstraint MonitorModelPropertyInfo = IsMonitor+    type AttrGetType MonitorModelPropertyInfo = (Maybe T.Text)+    type AttrLabel MonitorModelPropertyInfo = "model"+    type AttrOrigin MonitorModelPropertyInfo = Monitor+    attrGet _ = getMonitorModel+    attrSet _ = undefined+    attrConstruct _ = undefined+    attrClear _ = undefined+#endif++-- VVV Prop "refresh-rate"+   -- Type: TBasicType TInt+   -- Flags: [PropertyReadable]+   -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@refresh-rate@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' monitor #refreshRate+@+-}+getMonitorRefreshRate :: (MonadIO m, IsMonitor o) => o -> m Int32+getMonitorRefreshRate obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "refresh-rate"++#if ENABLE_OVERLOADING+data MonitorRefreshRatePropertyInfo+instance AttrInfo MonitorRefreshRatePropertyInfo where+    type AttrAllowedOps MonitorRefreshRatePropertyInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint MonitorRefreshRatePropertyInfo = (~) ()+    type AttrBaseTypeConstraint MonitorRefreshRatePropertyInfo = IsMonitor+    type AttrGetType MonitorRefreshRatePropertyInfo = Int32+    type AttrLabel MonitorRefreshRatePropertyInfo = "refresh-rate"+    type AttrOrigin MonitorRefreshRatePropertyInfo = Monitor+    attrGet _ = getMonitorRefreshRate+    attrSet _ = undefined+    attrConstruct _ = undefined+    attrClear _ = undefined+#endif++-- VVV Prop "scale-factor"+   -- Type: TBasicType TInt+   -- Flags: [PropertyReadable]+   -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@scale-factor@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' monitor #scaleFactor+@+-}+getMonitorScaleFactor :: (MonadIO m, IsMonitor o) => o -> m Int32+getMonitorScaleFactor obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "scale-factor"++#if ENABLE_OVERLOADING+data MonitorScaleFactorPropertyInfo+instance AttrInfo MonitorScaleFactorPropertyInfo where+    type AttrAllowedOps MonitorScaleFactorPropertyInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint MonitorScaleFactorPropertyInfo = (~) ()+    type AttrBaseTypeConstraint MonitorScaleFactorPropertyInfo = IsMonitor+    type AttrGetType MonitorScaleFactorPropertyInfo = Int32+    type AttrLabel MonitorScaleFactorPropertyInfo = "scale-factor"+    type AttrOrigin MonitorScaleFactorPropertyInfo = Monitor+    attrGet _ = getMonitorScaleFactor+    attrSet _ = undefined+    attrConstruct _ = undefined+    attrClear _ = undefined+#endif++-- VVV Prop "subpixel-layout"+   -- Type: TInterface (Name {namespace = "Gdk", name = "SubpixelLayout"})+   -- Flags: [PropertyReadable]+   -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@subpixel-layout@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' monitor #subpixelLayout+@+-}+getMonitorSubpixelLayout :: (MonadIO m, IsMonitor o) => o -> m Gdk.Enums.SubpixelLayout+getMonitorSubpixelLayout obj = liftIO $ B.Properties.getObjectPropertyEnum obj "subpixel-layout"++#if ENABLE_OVERLOADING+data MonitorSubpixelLayoutPropertyInfo+instance AttrInfo MonitorSubpixelLayoutPropertyInfo where+    type AttrAllowedOps MonitorSubpixelLayoutPropertyInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint MonitorSubpixelLayoutPropertyInfo = (~) ()+    type AttrBaseTypeConstraint MonitorSubpixelLayoutPropertyInfo = IsMonitor+    type AttrGetType MonitorSubpixelLayoutPropertyInfo = Gdk.Enums.SubpixelLayout+    type AttrLabel MonitorSubpixelLayoutPropertyInfo = "subpixel-layout"+    type AttrOrigin MonitorSubpixelLayoutPropertyInfo = Monitor+    attrGet _ = getMonitorSubpixelLayout+    attrSet _ = undefined+    attrConstruct _ = undefined+    attrClear _ = undefined+#endif++-- VVV Prop "width-mm"+   -- Type: TBasicType TInt+   -- Flags: [PropertyReadable]+   -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@width-mm@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' monitor #widthMm+@+-}+getMonitorWidthMm :: (MonadIO m, IsMonitor o) => o -> m Int32+getMonitorWidthMm obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "width-mm"++#if ENABLE_OVERLOADING+data MonitorWidthMmPropertyInfo+instance AttrInfo MonitorWidthMmPropertyInfo where+    type AttrAllowedOps MonitorWidthMmPropertyInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint MonitorWidthMmPropertyInfo = (~) ()+    type AttrBaseTypeConstraint MonitorWidthMmPropertyInfo = IsMonitor+    type AttrGetType MonitorWidthMmPropertyInfo = Int32+    type AttrLabel MonitorWidthMmPropertyInfo = "width-mm"+    type AttrOrigin MonitorWidthMmPropertyInfo = Monitor+    attrGet _ = getMonitorWidthMm+    attrSet _ = undefined+    attrConstruct _ = undefined+    attrClear _ = undefined+#endif++-- VVV Prop "workarea"+   -- Type: TInterface (Name {namespace = "Gdk", name = "Rectangle"})+   -- Flags: [PropertyReadable]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@workarea@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' monitor #workarea+@+-}+getMonitorWorkarea :: (MonadIO m, IsMonitor o) => o -> m (Maybe Gdk.Rectangle.Rectangle)+getMonitorWorkarea obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "workarea" Gdk.Rectangle.Rectangle++#if ENABLE_OVERLOADING+data MonitorWorkareaPropertyInfo+instance AttrInfo MonitorWorkareaPropertyInfo where+    type AttrAllowedOps MonitorWorkareaPropertyInfo = '[ 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint MonitorWorkareaPropertyInfo = (~) ()+    type AttrBaseTypeConstraint MonitorWorkareaPropertyInfo = IsMonitor+    type AttrGetType MonitorWorkareaPropertyInfo = (Maybe Gdk.Rectangle.Rectangle)+    type AttrLabel MonitorWorkareaPropertyInfo = "workarea"+    type AttrOrigin MonitorWorkareaPropertyInfo = Monitor+    attrGet _ = getMonitorWorkarea+    attrSet _ = undefined+    attrConstruct _ = undefined+    attrClear _ = undefined+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList Monitor+type instance O.AttributeList Monitor = MonitorAttributeList+type MonitorAttributeList = ('[ '("display", MonitorDisplayPropertyInfo), '("geometry", MonitorGeometryPropertyInfo), '("heightMm", MonitorHeightMmPropertyInfo), '("manufacturer", MonitorManufacturerPropertyInfo), '("model", MonitorModelPropertyInfo), '("refreshRate", MonitorRefreshRatePropertyInfo), '("scaleFactor", MonitorScaleFactorPropertyInfo), '("subpixelLayout", MonitorSubpixelLayoutPropertyInfo), '("widthMm", MonitorWidthMmPropertyInfo), '("workarea", MonitorWorkareaPropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+monitorDisplay :: AttrLabelProxy "display"+monitorDisplay = AttrLabelProxy++monitorGeometry :: AttrLabelProxy "geometry"+monitorGeometry = AttrLabelProxy++monitorHeightMm :: AttrLabelProxy "heightMm"+monitorHeightMm = AttrLabelProxy++monitorManufacturer :: AttrLabelProxy "manufacturer"+monitorManufacturer = AttrLabelProxy++monitorModel :: AttrLabelProxy "model"+monitorModel = AttrLabelProxy++monitorRefreshRate :: AttrLabelProxy "refreshRate"+monitorRefreshRate = AttrLabelProxy++monitorScaleFactor :: AttrLabelProxy "scaleFactor"+monitorScaleFactor = AttrLabelProxy++monitorSubpixelLayout :: AttrLabelProxy "subpixelLayout"+monitorSubpixelLayout = AttrLabelProxy++monitorWidthMm :: AttrLabelProxy "widthMm"+monitorWidthMm = AttrLabelProxy++monitorWorkarea :: AttrLabelProxy "workarea"+monitorWorkarea = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+data MonitorInvalidateSignalInfo+instance SignalInfo MonitorInvalidateSignalInfo where+    type HaskellCallbackType MonitorInvalidateSignalInfo = MonitorInvalidateCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_MonitorInvalidateCallback cb+        cb'' <- mk_MonitorInvalidateCallback cb'+        connectSignalFunPtr obj "invalidate" cb'' connectMode++type instance O.SignalList Monitor = MonitorSignalList+type MonitorSignalList = ('[ '("invalidate", MonitorInvalidateSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method Monitor::get_display+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "monitor", argType = TInterface (Name {namespace = "Gdk", name = "Monitor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkMonitor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Display"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_monitor_get_display" gdk_monitor_get_display :: +    Ptr Monitor ->                          -- monitor : TInterface (Name {namespace = "Gdk", name = "Monitor"})+    IO (Ptr Gdk.Display.Display)++{- |+Gets the display that this monitor belongs to.++/Since: 3.22/+-}+monitorGetDisplay ::+    (B.CallStack.HasCallStack, MonadIO m, IsMonitor a) =>+    a+    {- ^ /@monitor@/: a 'GI.Gdk.Objects.Monitor.Monitor' -}+    -> m Gdk.Display.Display+    {- ^ __Returns:__ the display -}+monitorGetDisplay monitor = liftIO $ do+    monitor' <- unsafeManagedPtrCastPtr monitor+    result <- gdk_monitor_get_display monitor'+    checkUnexpectedReturnNULL "monitorGetDisplay" result+    result' <- (newObject Gdk.Display.Display) result+    touchManagedPtr monitor+    return result'++#if ENABLE_OVERLOADING+data MonitorGetDisplayMethodInfo+instance (signature ~ (m Gdk.Display.Display), MonadIO m, IsMonitor a) => O.MethodInfo MonitorGetDisplayMethodInfo a signature where+    overloadedMethod _ = monitorGetDisplay++#endif++-- method Monitor::get_geometry+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "monitor", argType = TInterface (Name {namespace = "Gdk", name = "Monitor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkMonitor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "geometry", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRectangle to be filled with the monitor geometry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_monitor_get_geometry" gdk_monitor_get_geometry :: +    Ptr Monitor ->                          -- monitor : TInterface (Name {namespace = "Gdk", name = "Monitor"})+    Ptr Gdk.Rectangle.Rectangle ->          -- geometry : TInterface (Name {namespace = "Gdk", name = "Rectangle"})+    IO ()++{- |+Retrieves the size and position of an individual monitor within the+display coordinate space. The returned geometry is in  ”application pixels”,+not in ”device pixels” (see 'GI.Gdk.Objects.Monitor.monitorGetScaleFactor').++/Since: 3.22/+-}+monitorGetGeometry ::+    (B.CallStack.HasCallStack, MonadIO m, IsMonitor a) =>+    a+    {- ^ /@monitor@/: a 'GI.Gdk.Objects.Monitor.Monitor' -}+    -> m (Gdk.Rectangle.Rectangle)+monitorGetGeometry monitor = liftIO $ do+    monitor' <- unsafeManagedPtrCastPtr monitor+    geometry <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)+    gdk_monitor_get_geometry monitor' geometry+    geometry' <- (wrapBoxed Gdk.Rectangle.Rectangle) geometry+    touchManagedPtr monitor+    return geometry'++#if ENABLE_OVERLOADING+data MonitorGetGeometryMethodInfo+instance (signature ~ (m (Gdk.Rectangle.Rectangle)), MonadIO m, IsMonitor a) => O.MethodInfo MonitorGetGeometryMethodInfo a signature where+    overloadedMethod _ = monitorGetGeometry++#endif++-- method Monitor::get_height_mm+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "monitor", argType = TInterface (Name {namespace = "Gdk", name = "Monitor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkMonitor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_monitor_get_height_mm" gdk_monitor_get_height_mm :: +    Ptr Monitor ->                          -- monitor : TInterface (Name {namespace = "Gdk", name = "Monitor"})+    IO Int32++{- |+Gets the height in millimeters of the monitor.++/Since: 3.22/+-}+monitorGetHeightMm ::+    (B.CallStack.HasCallStack, MonadIO m, IsMonitor a) =>+    a+    {- ^ /@monitor@/: a 'GI.Gdk.Objects.Monitor.Monitor' -}+    -> m Int32+    {- ^ __Returns:__ the physical height of the monitor -}+monitorGetHeightMm monitor = liftIO $ do+    monitor' <- unsafeManagedPtrCastPtr monitor+    result <- gdk_monitor_get_height_mm monitor'+    touchManagedPtr monitor+    return result++#if ENABLE_OVERLOADING+data MonitorGetHeightMmMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsMonitor a) => O.MethodInfo MonitorGetHeightMmMethodInfo a signature where+    overloadedMethod _ = monitorGetHeightMm++#endif++-- method Monitor::get_manufacturer+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "monitor", argType = TInterface (Name {namespace = "Gdk", name = "Monitor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkMonitor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_monitor_get_manufacturer" gdk_monitor_get_manufacturer :: +    Ptr Monitor ->                          -- monitor : TInterface (Name {namespace = "Gdk", name = "Monitor"})+    IO CString++{- |+Gets the name of the monitor\'s manufacturer, if available.+-}+monitorGetManufacturer ::+    (B.CallStack.HasCallStack, MonadIO m, IsMonitor a) =>+    a+    {- ^ /@monitor@/: a 'GI.Gdk.Objects.Monitor.Monitor' -}+    -> m (Maybe T.Text)+    {- ^ __Returns:__ the name of the manufacturer, or 'Nothing' -}+monitorGetManufacturer monitor = liftIO $ do+    monitor' <- unsafeManagedPtrCastPtr monitor+    result <- gdk_monitor_get_manufacturer monitor'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- cstringToText result'+        return result''+    touchManagedPtr monitor+    return maybeResult++#if ENABLE_OVERLOADING+data MonitorGetManufacturerMethodInfo+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsMonitor a) => O.MethodInfo MonitorGetManufacturerMethodInfo a signature where+    overloadedMethod _ = monitorGetManufacturer++#endif++-- method Monitor::get_model+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "monitor", argType = TInterface (Name {namespace = "Gdk", name = "Monitor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkMonitor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_monitor_get_model" gdk_monitor_get_model :: +    Ptr Monitor ->                          -- monitor : TInterface (Name {namespace = "Gdk", name = "Monitor"})+    IO CString++{- |+Gets the a string identifying the monitor model, if available.+-}+monitorGetModel ::+    (B.CallStack.HasCallStack, MonadIO m, IsMonitor a) =>+    a+    {- ^ /@monitor@/: a 'GI.Gdk.Objects.Monitor.Monitor' -}+    -> m (Maybe T.Text)+    {- ^ __Returns:__ the monitor model, or 'Nothing' -}+monitorGetModel monitor = liftIO $ do+    monitor' <- unsafeManagedPtrCastPtr monitor+    result <- gdk_monitor_get_model monitor'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- cstringToText result'+        return result''+    touchManagedPtr monitor+    return maybeResult++#if ENABLE_OVERLOADING+data MonitorGetModelMethodInfo+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsMonitor a) => O.MethodInfo MonitorGetModelMethodInfo a signature where+    overloadedMethod _ = monitorGetModel++#endif++-- method Monitor::get_refresh_rate+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "monitor", argType = TInterface (Name {namespace = "Gdk", name = "Monitor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkMonitor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_monitor_get_refresh_rate" gdk_monitor_get_refresh_rate :: +    Ptr Monitor ->                          -- monitor : TInterface (Name {namespace = "Gdk", name = "Monitor"})+    IO Int32++{- |+Gets the refresh rate of the monitor, if available.++The value is in milli-Hertz, so a refresh rate of 60Hz+is returned as 60000.++/Since: 3.22/+-}+monitorGetRefreshRate ::+    (B.CallStack.HasCallStack, MonadIO m, IsMonitor a) =>+    a+    {- ^ /@monitor@/: a 'GI.Gdk.Objects.Monitor.Monitor' -}+    -> m Int32+    {- ^ __Returns:__ the refresh rate in milli-Hertz, or 0 -}+monitorGetRefreshRate monitor = liftIO $ do+    monitor' <- unsafeManagedPtrCastPtr monitor+    result <- gdk_monitor_get_refresh_rate monitor'+    touchManagedPtr monitor+    return result++#if ENABLE_OVERLOADING+data MonitorGetRefreshRateMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsMonitor a) => O.MethodInfo MonitorGetRefreshRateMethodInfo a signature where+    overloadedMethod _ = monitorGetRefreshRate++#endif++-- method Monitor::get_scale_factor+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "monitor", argType = TInterface (Name {namespace = "Gdk", name = "Monitor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkMonitor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_monitor_get_scale_factor" gdk_monitor_get_scale_factor :: +    Ptr Monitor ->                          -- monitor : TInterface (Name {namespace = "Gdk", name = "Monitor"})+    IO Int32++{- |+Gets the internal scale factor that maps from monitor coordinates+to the actual device pixels. On traditional systems this is 1, but+on very high density outputs this can be a higher value (often 2).++This can be used if you want to create pixel based data for a+particular monitor, but most of the time you’re drawing to a window+where it is better to use 'GI.Gdk.Objects.Window.windowGetScaleFactor' instead.++/Since: 3.22/+-}+monitorGetScaleFactor ::+    (B.CallStack.HasCallStack, MonadIO m, IsMonitor a) =>+    a+    {- ^ /@monitor@/: a 'GI.Gdk.Objects.Monitor.Monitor' -}+    -> m Int32+    {- ^ __Returns:__ the scale factor -}+monitorGetScaleFactor monitor = liftIO $ do+    monitor' <- unsafeManagedPtrCastPtr monitor+    result <- gdk_monitor_get_scale_factor monitor'+    touchManagedPtr monitor+    return result++#if ENABLE_OVERLOADING+data MonitorGetScaleFactorMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsMonitor a) => O.MethodInfo MonitorGetScaleFactorMethodInfo a signature where+    overloadedMethod _ = monitorGetScaleFactor++#endif++-- method Monitor::get_subpixel_layout+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "monitor", argType = TInterface (Name {namespace = "Gdk", name = "Monitor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkMonitor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "SubpixelLayout"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_monitor_get_subpixel_layout" gdk_monitor_get_subpixel_layout :: +    Ptr Monitor ->                          -- monitor : TInterface (Name {namespace = "Gdk", name = "Monitor"})+    IO CUInt++{- |+Gets information about the layout of red, green and blue+primaries for each pixel in this monitor, if available.++/Since: 3.22/+-}+monitorGetSubpixelLayout ::+    (B.CallStack.HasCallStack, MonadIO m, IsMonitor a) =>+    a+    {- ^ /@monitor@/: a 'GI.Gdk.Objects.Monitor.Monitor' -}+    -> m Gdk.Enums.SubpixelLayout+    {- ^ __Returns:__ the subpixel layout -}+monitorGetSubpixelLayout monitor = liftIO $ do+    monitor' <- unsafeManagedPtrCastPtr monitor+    result <- gdk_monitor_get_subpixel_layout monitor'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr monitor+    return result'++#if ENABLE_OVERLOADING+data MonitorGetSubpixelLayoutMethodInfo+instance (signature ~ (m Gdk.Enums.SubpixelLayout), MonadIO m, IsMonitor a) => O.MethodInfo MonitorGetSubpixelLayoutMethodInfo a signature where+    overloadedMethod _ = monitorGetSubpixelLayout++#endif++-- method Monitor::get_width_mm+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "monitor", argType = TInterface (Name {namespace = "Gdk", name = "Monitor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkMonitor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_monitor_get_width_mm" gdk_monitor_get_width_mm :: +    Ptr Monitor ->                          -- monitor : TInterface (Name {namespace = "Gdk", name = "Monitor"})+    IO Int32++{- |+Gets the width in millimeters of the monitor.++/Since: 3.22/+-}+monitorGetWidthMm ::+    (B.CallStack.HasCallStack, MonadIO m, IsMonitor a) =>+    a+    {- ^ /@monitor@/: a 'GI.Gdk.Objects.Monitor.Monitor' -}+    -> m Int32+    {- ^ __Returns:__ the physical width of the monitor -}+monitorGetWidthMm monitor = liftIO $ do+    monitor' <- unsafeManagedPtrCastPtr monitor+    result <- gdk_monitor_get_width_mm monitor'+    touchManagedPtr monitor+    return result++#if ENABLE_OVERLOADING+data MonitorGetWidthMmMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsMonitor a) => O.MethodInfo MonitorGetWidthMmMethodInfo a signature where+    overloadedMethod _ = monitorGetWidthMm++#endif++-- method Monitor::get_workarea+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "monitor", argType = TInterface (Name {namespace = "Gdk", name = "Monitor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkMonitor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "workarea", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRectangle to be filled with\n    the monitor workarea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_monitor_get_workarea" gdk_monitor_get_workarea :: +    Ptr Monitor ->                          -- monitor : TInterface (Name {namespace = "Gdk", name = "Monitor"})+    Ptr Gdk.Rectangle.Rectangle ->          -- workarea : TInterface (Name {namespace = "Gdk", name = "Rectangle"})+    IO ()++{- |+Retrieves the size and position of the “work area” on a monitor+within the display coordinate space. The returned geometry is in+”application pixels”, not in ”device pixels” (see+'GI.Gdk.Objects.Monitor.monitorGetScaleFactor').++The work area should be considered when positioning menus and+similar popups, to avoid placing them below panels, docks or other+desktop components.++Note that not all backends may have a concept of workarea. This+function will return the monitor geometry if a workarea is not+available, or does not apply.++/Since: 3.22/+-}+monitorGetWorkarea ::+    (B.CallStack.HasCallStack, MonadIO m, IsMonitor a) =>+    a+    {- ^ /@monitor@/: a 'GI.Gdk.Objects.Monitor.Monitor' -}+    -> m (Gdk.Rectangle.Rectangle)+monitorGetWorkarea monitor = liftIO $ do+    monitor' <- unsafeManagedPtrCastPtr monitor+    workarea <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)+    gdk_monitor_get_workarea monitor' workarea+    workarea' <- (wrapBoxed Gdk.Rectangle.Rectangle) workarea+    touchManagedPtr monitor+    return workarea'++#if ENABLE_OVERLOADING+data MonitorGetWorkareaMethodInfo+instance (signature ~ (m (Gdk.Rectangle.Rectangle)), MonadIO m, IsMonitor a) => O.MethodInfo MonitorGetWorkareaMethodInfo a signature where+    overloadedMethod _ = monitorGetWorkarea++#endif++-- method Monitor::is_primary+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "monitor", argType = TInterface (Name {namespace = "Gdk", name = "Monitor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkMonitor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_monitor_is_primary" gdk_monitor_is_primary :: +    Ptr Monitor ->                          -- monitor : TInterface (Name {namespace = "Gdk", name = "Monitor"})+    IO CInt++{- |+Gets whether this monitor should be considered primary+(see 'GI.Gdk.Objects.Display.displayGetPrimaryMonitor').++/Since: 3.22/+-}+monitorIsPrimary ::+    (B.CallStack.HasCallStack, MonadIO m, IsMonitor a) =>+    a+    {- ^ /@monitor@/: a 'GI.Gdk.Objects.Monitor.Monitor' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if /@monitor@/ is primary -}+monitorIsPrimary monitor = liftIO $ do+    monitor' <- unsafeManagedPtrCastPtr monitor+    result <- gdk_monitor_is_primary monitor'+    let result' = (/= 0) result+    touchManagedPtr monitor+    return result'++#if ENABLE_OVERLOADING+data MonitorIsPrimaryMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsMonitor a) => O.MethodInfo MonitorIsPrimaryMethodInfo a signature where+    overloadedMethod _ = monitorIsPrimary++#endif++
+ GI/Gdk/Objects/Monitor.hs-boot view
@@ -0,0 +1,95 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Objects.Monitor where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype Monitor = Monitor (ManagedPtr Monitor)+instance GObject Monitor where+class (GObject o, O.IsDescendantOf Monitor o) => IsMonitor o+instance (GObject o, O.IsDescendantOf Monitor o) => IsMonitor o+instance O.HasParentTypes Monitor+#if ENABLE_OVERLOADING+data MonitorDisplayPropertyInfo+#endif+#if ENABLE_OVERLOADING+data MonitorGeometryPropertyInfo+#endif+#if ENABLE_OVERLOADING+data MonitorHeightMmPropertyInfo+#endif+#if ENABLE_OVERLOADING+data MonitorManufacturerPropertyInfo+#endif+#if ENABLE_OVERLOADING+data MonitorModelPropertyInfo+#endif+#if ENABLE_OVERLOADING+data MonitorRefreshRatePropertyInfo+#endif+#if ENABLE_OVERLOADING+data MonitorScaleFactorPropertyInfo+#endif+#if ENABLE_OVERLOADING+data MonitorSubpixelLayoutPropertyInfo+#endif+#if ENABLE_OVERLOADING+data MonitorWidthMmPropertyInfo+#endif+#if ENABLE_OVERLOADING+data MonitorWorkareaPropertyInfo+#endif+#if ENABLE_OVERLOADING+data MonitorInvalidateSignalInfo+#endif+#if ENABLE_OVERLOADING+data MonitorGetDisplayMethodInfo+#endif+#if ENABLE_OVERLOADING+data MonitorGetGeometryMethodInfo+#endif+#if ENABLE_OVERLOADING+data MonitorGetHeightMmMethodInfo+#endif+#if ENABLE_OVERLOADING+data MonitorGetManufacturerMethodInfo+#endif+#if ENABLE_OVERLOADING+data MonitorGetModelMethodInfo+#endif+#if ENABLE_OVERLOADING+data MonitorGetRefreshRateMethodInfo+#endif+#if ENABLE_OVERLOADING+data MonitorGetScaleFactorMethodInfo+#endif+#if ENABLE_OVERLOADING+data MonitorGetSubpixelLayoutMethodInfo+#endif+#if ENABLE_OVERLOADING+data MonitorGetWidthMmMethodInfo+#endif+#if ENABLE_OVERLOADING+data MonitorGetWorkareaMethodInfo+#endif+#if ENABLE_OVERLOADING+data MonitorIsPrimaryMethodInfo+#endif
+ GI/Gdk/Objects/Screen.hs view
@@ -0,0 +1,2312 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++'GI.Gdk.Objects.Screen.Screen' objects are the GDK representation of the screen on+which windows can be displayed and on which the pointer moves.+X originally identified screens with physical screens, but+nowadays it is more common to have a single 'GI.Gdk.Objects.Screen.Screen' which+combines several physical monitors (see 'GI.Gdk.Objects.Screen.screenGetNMonitors').++GdkScreen is used throughout GDK and GTK+ to specify which screen+the top level windows are to be displayed on. it is also used to+query the screen specification and default settings such as+the default visual ('GI.Gdk.Objects.Screen.screenGetSystemVisual'), the dimensions+of the physical monitors ('GI.Gdk.Objects.Screen.screenGetMonitorGeometry'), etc.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Objects.Screen+    ( ++-- * Exported types+    Screen(..)                              ,+    IsScreen                                ,+    toScreen                                ,+    noScreen                                ,+++ -- * Methods+-- ** getActiveWindow #method:getActiveWindow#++#if ENABLE_OVERLOADING+    ScreenGetActiveWindowMethodInfo         ,+#endif+    screenGetActiveWindow                   ,+++-- ** getDefault #method:getDefault#++    screenGetDefault                        ,+++-- ** getDisplay #method:getDisplay#++#if ENABLE_OVERLOADING+    ScreenGetDisplayMethodInfo              ,+#endif+    screenGetDisplay                        ,+++-- ** getFontOptions #method:getFontOptions#++#if ENABLE_OVERLOADING+    ScreenGetFontOptionsMethodInfo          ,+#endif+    screenGetFontOptions                    ,+++-- ** getHeight #method:getHeight#++#if ENABLE_OVERLOADING+    ScreenGetHeightMethodInfo               ,+#endif+    screenGetHeight                         ,+++-- ** getHeightMm #method:getHeightMm#++#if ENABLE_OVERLOADING+    ScreenGetHeightMmMethodInfo             ,+#endif+    screenGetHeightMm                       ,+++-- ** getMonitorAtPoint #method:getMonitorAtPoint#++#if ENABLE_OVERLOADING+    ScreenGetMonitorAtPointMethodInfo       ,+#endif+    screenGetMonitorAtPoint                 ,+++-- ** getMonitorAtWindow #method:getMonitorAtWindow#++#if ENABLE_OVERLOADING+    ScreenGetMonitorAtWindowMethodInfo      ,+#endif+    screenGetMonitorAtWindow                ,+++-- ** getMonitorGeometry #method:getMonitorGeometry#++#if ENABLE_OVERLOADING+    ScreenGetMonitorGeometryMethodInfo      ,+#endif+    screenGetMonitorGeometry                ,+++-- ** getMonitorHeightMm #method:getMonitorHeightMm#++#if ENABLE_OVERLOADING+    ScreenGetMonitorHeightMmMethodInfo      ,+#endif+    screenGetMonitorHeightMm                ,+++-- ** getMonitorPlugName #method:getMonitorPlugName#++#if ENABLE_OVERLOADING+    ScreenGetMonitorPlugNameMethodInfo      ,+#endif+    screenGetMonitorPlugName                ,+++-- ** getMonitorScaleFactor #method:getMonitorScaleFactor#++#if ENABLE_OVERLOADING+    ScreenGetMonitorScaleFactorMethodInfo   ,+#endif+    screenGetMonitorScaleFactor             ,+++-- ** getMonitorWidthMm #method:getMonitorWidthMm#++#if ENABLE_OVERLOADING+    ScreenGetMonitorWidthMmMethodInfo       ,+#endif+    screenGetMonitorWidthMm                 ,+++-- ** getMonitorWorkarea #method:getMonitorWorkarea#++#if ENABLE_OVERLOADING+    ScreenGetMonitorWorkareaMethodInfo      ,+#endif+    screenGetMonitorWorkarea                ,+++-- ** getNMonitors #method:getNMonitors#++#if ENABLE_OVERLOADING+    ScreenGetNMonitorsMethodInfo            ,+#endif+    screenGetNMonitors                      ,+++-- ** getNumber #method:getNumber#++#if ENABLE_OVERLOADING+    ScreenGetNumberMethodInfo               ,+#endif+    screenGetNumber                         ,+++-- ** getPrimaryMonitor #method:getPrimaryMonitor#++#if ENABLE_OVERLOADING+    ScreenGetPrimaryMonitorMethodInfo       ,+#endif+    screenGetPrimaryMonitor                 ,+++-- ** getResolution #method:getResolution#++#if ENABLE_OVERLOADING+    ScreenGetResolutionMethodInfo           ,+#endif+    screenGetResolution                     ,+++-- ** getRgbaVisual #method:getRgbaVisual#++#if ENABLE_OVERLOADING+    ScreenGetRgbaVisualMethodInfo           ,+#endif+    screenGetRgbaVisual                     ,+++-- ** getRootWindow #method:getRootWindow#++#if ENABLE_OVERLOADING+    ScreenGetRootWindowMethodInfo           ,+#endif+    screenGetRootWindow                     ,+++-- ** getSetting #method:getSetting#++#if ENABLE_OVERLOADING+    ScreenGetSettingMethodInfo              ,+#endif+    screenGetSetting                        ,+++-- ** getSystemVisual #method:getSystemVisual#++#if ENABLE_OVERLOADING+    ScreenGetSystemVisualMethodInfo         ,+#endif+    screenGetSystemVisual                   ,+++-- ** getToplevelWindows #method:getToplevelWindows#++#if ENABLE_OVERLOADING+    ScreenGetToplevelWindowsMethodInfo      ,+#endif+    screenGetToplevelWindows                ,+++-- ** getWidth #method:getWidth#++#if ENABLE_OVERLOADING+    ScreenGetWidthMethodInfo                ,+#endif+    screenGetWidth                          ,+++-- ** getWidthMm #method:getWidthMm#++#if ENABLE_OVERLOADING+    ScreenGetWidthMmMethodInfo              ,+#endif+    screenGetWidthMm                        ,+++-- ** getWindowStack #method:getWindowStack#++#if ENABLE_OVERLOADING+    ScreenGetWindowStackMethodInfo          ,+#endif+    screenGetWindowStack                    ,+++-- ** height #method:height#++    screenHeight                            ,+++-- ** heightMm #method:heightMm#++    screenHeightMm                          ,+++-- ** isComposited #method:isComposited#++#if ENABLE_OVERLOADING+    ScreenIsCompositedMethodInfo            ,+#endif+    screenIsComposited                      ,+++-- ** listVisuals #method:listVisuals#++#if ENABLE_OVERLOADING+    ScreenListVisualsMethodInfo             ,+#endif+    screenListVisuals                       ,+++-- ** makeDisplayName #method:makeDisplayName#++#if ENABLE_OVERLOADING+    ScreenMakeDisplayNameMethodInfo         ,+#endif+    screenMakeDisplayName                   ,+++-- ** setFontOptions #method:setFontOptions#++#if ENABLE_OVERLOADING+    ScreenSetFontOptionsMethodInfo          ,+#endif+    screenSetFontOptions                    ,+++-- ** setResolution #method:setResolution#++#if ENABLE_OVERLOADING+    ScreenSetResolutionMethodInfo           ,+#endif+    screenSetResolution                     ,+++-- ** width #method:width#++    screenWidth                             ,+++-- ** widthMm #method:widthMm#++    screenWidthMm                           ,+++++ -- * Properties+-- ** fontOptions #attr:fontOptions#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    ScreenFontOptionsPropertyInfo           ,+#endif+    constructScreenFontOptions              ,+    getScreenFontOptions                    ,+#if ENABLE_OVERLOADING+    screenFontOptions                       ,+#endif+    setScreenFontOptions                    ,+++-- ** resolution #attr:resolution#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    ScreenResolutionPropertyInfo            ,+#endif+    constructScreenResolution               ,+    getScreenResolution                     ,+#if ENABLE_OVERLOADING+    screenResolution                        ,+#endif+    setScreenResolution                     ,+++++ -- * Signals+-- ** compositedChanged #signal:compositedChanged#++    C_ScreenCompositedChangedCallback       ,+    ScreenCompositedChangedCallback         ,+#if ENABLE_OVERLOADING+    ScreenCompositedChangedSignalInfo       ,+#endif+    afterScreenCompositedChanged            ,+    genClosure_ScreenCompositedChanged      ,+    mk_ScreenCompositedChangedCallback      ,+    noScreenCompositedChangedCallback       ,+    onScreenCompositedChanged               ,+    wrap_ScreenCompositedChangedCallback    ,+++-- ** monitorsChanged #signal:monitorsChanged#++    C_ScreenMonitorsChangedCallback         ,+    ScreenMonitorsChangedCallback           ,+#if ENABLE_OVERLOADING+    ScreenMonitorsChangedSignalInfo         ,+#endif+    afterScreenMonitorsChanged              ,+    genClosure_ScreenMonitorsChanged        ,+    mk_ScreenMonitorsChangedCallback        ,+    noScreenMonitorsChangedCallback         ,+    onScreenMonitorsChanged                 ,+    wrap_ScreenMonitorsChangedCallback      ,+++-- ** sizeChanged #signal:sizeChanged#++    C_ScreenSizeChangedCallback             ,+    ScreenSizeChangedCallback               ,+#if ENABLE_OVERLOADING+    ScreenSizeChangedSignalInfo             ,+#endif+    afterScreenSizeChanged                  ,+    genClosure_ScreenSizeChanged            ,+    mk_ScreenSizeChangedCallback            ,+    noScreenSizeChangedCallback             ,+    onScreenSizeChanged                     ,+    wrap_ScreenSizeChangedCallback          ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import qualified GI.Cairo.Structs.FontOptions as Cairo.FontOptions+import qualified GI.GObject.Objects.Object as GObject.Object+import {-# SOURCE #-} qualified GI.Gdk.Objects.Display as Gdk.Display+import {-# SOURCE #-} qualified GI.Gdk.Objects.Visual as Gdk.Visual+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window+import {-# SOURCE #-} qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle++-- | Memory-managed wrapper type.+newtype Screen = Screen (ManagedPtr Screen)+foreign import ccall "gdk_screen_get_type"+    c_gdk_screen_get_type :: IO GType++instance GObject Screen where+    gobjectType = c_gdk_screen_get_type+    ++-- | Type class for types which can be safely cast to `Screen`, for instance with `toScreen`.+class (GObject o, O.IsDescendantOf Screen o) => IsScreen o+instance (GObject o, O.IsDescendantOf Screen o) => IsScreen o++instance O.HasParentTypes Screen+type instance O.ParentTypes Screen = '[GObject.Object.Object]++-- | Cast to `Screen`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toScreen :: (MonadIO m, IsScreen o) => o -> m Screen+toScreen = liftIO . unsafeCastTo Screen++-- | A convenience alias for `Nothing` :: `Maybe` `Screen`.+noScreen :: Maybe Screen+noScreen = Nothing++#if ENABLE_OVERLOADING+type family ResolveScreenMethod (t :: Symbol) (o :: *) :: * where+    ResolveScreenMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveScreenMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveScreenMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveScreenMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveScreenMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveScreenMethod "isComposited" o = ScreenIsCompositedMethodInfo+    ResolveScreenMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveScreenMethod "listVisuals" o = ScreenListVisualsMethodInfo+    ResolveScreenMethod "makeDisplayName" o = ScreenMakeDisplayNameMethodInfo+    ResolveScreenMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveScreenMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveScreenMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveScreenMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveScreenMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveScreenMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveScreenMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveScreenMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveScreenMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveScreenMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveScreenMethod "getActiveWindow" o = ScreenGetActiveWindowMethodInfo+    ResolveScreenMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveScreenMethod "getDisplay" o = ScreenGetDisplayMethodInfo+    ResolveScreenMethod "getFontOptions" o = ScreenGetFontOptionsMethodInfo+    ResolveScreenMethod "getHeight" o = ScreenGetHeightMethodInfo+    ResolveScreenMethod "getHeightMm" o = ScreenGetHeightMmMethodInfo+    ResolveScreenMethod "getMonitorAtPoint" o = ScreenGetMonitorAtPointMethodInfo+    ResolveScreenMethod "getMonitorAtWindow" o = ScreenGetMonitorAtWindowMethodInfo+    ResolveScreenMethod "getMonitorGeometry" o = ScreenGetMonitorGeometryMethodInfo+    ResolveScreenMethod "getMonitorHeightMm" o = ScreenGetMonitorHeightMmMethodInfo+    ResolveScreenMethod "getMonitorPlugName" o = ScreenGetMonitorPlugNameMethodInfo+    ResolveScreenMethod "getMonitorScaleFactor" o = ScreenGetMonitorScaleFactorMethodInfo+    ResolveScreenMethod "getMonitorWidthMm" o = ScreenGetMonitorWidthMmMethodInfo+    ResolveScreenMethod "getMonitorWorkarea" o = ScreenGetMonitorWorkareaMethodInfo+    ResolveScreenMethod "getNMonitors" o = ScreenGetNMonitorsMethodInfo+    ResolveScreenMethod "getNumber" o = ScreenGetNumberMethodInfo+    ResolveScreenMethod "getPrimaryMonitor" o = ScreenGetPrimaryMonitorMethodInfo+    ResolveScreenMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveScreenMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveScreenMethod "getResolution" o = ScreenGetResolutionMethodInfo+    ResolveScreenMethod "getRgbaVisual" o = ScreenGetRgbaVisualMethodInfo+    ResolveScreenMethod "getRootWindow" o = ScreenGetRootWindowMethodInfo+    ResolveScreenMethod "getSetting" o = ScreenGetSettingMethodInfo+    ResolveScreenMethod "getSystemVisual" o = ScreenGetSystemVisualMethodInfo+    ResolveScreenMethod "getToplevelWindows" o = ScreenGetToplevelWindowsMethodInfo+    ResolveScreenMethod "getWidth" o = ScreenGetWidthMethodInfo+    ResolveScreenMethod "getWidthMm" o = ScreenGetWidthMmMethodInfo+    ResolveScreenMethod "getWindowStack" o = ScreenGetWindowStackMethodInfo+    ResolveScreenMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveScreenMethod "setFontOptions" o = ScreenSetFontOptionsMethodInfo+    ResolveScreenMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveScreenMethod "setResolution" o = ScreenSetResolutionMethodInfo+    ResolveScreenMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveScreenMethod t Screen, O.MethodInfo info Screen p) => OL.IsLabel t (Screen -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++-- signal Screen::composited-changed+{- |+The ::composited-changed signal is emitted when the composited+status of the screen changes++/Since: 2.10/+-}+type ScreenCompositedChangedCallback =+    IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `ScreenCompositedChangedCallback`@.+noScreenCompositedChangedCallback :: Maybe ScreenCompositedChangedCallback+noScreenCompositedChangedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_ScreenCompositedChangedCallback =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_ScreenCompositedChangedCallback`.+foreign import ccall "wrapper"+    mk_ScreenCompositedChangedCallback :: C_ScreenCompositedChangedCallback -> IO (FunPtr C_ScreenCompositedChangedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_ScreenCompositedChanged :: MonadIO m => ScreenCompositedChangedCallback -> m (GClosure C_ScreenCompositedChangedCallback)+genClosure_ScreenCompositedChanged cb = liftIO $ do+    let cb' = wrap_ScreenCompositedChangedCallback cb+    mk_ScreenCompositedChangedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `ScreenCompositedChangedCallback` into a `C_ScreenCompositedChangedCallback`.+wrap_ScreenCompositedChangedCallback ::+    ScreenCompositedChangedCallback ->+    C_ScreenCompositedChangedCallback+wrap_ScreenCompositedChangedCallback _cb _ _ = do+    _cb +++{- |+Connect a signal handler for the “@composited-changed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' screen #compositedChanged callback+@+-}+onScreenCompositedChanged :: (IsScreen a, MonadIO m) => a -> ScreenCompositedChangedCallback -> m SignalHandlerId+onScreenCompositedChanged obj cb = liftIO $ do+    let cb' = wrap_ScreenCompositedChangedCallback cb+    cb'' <- mk_ScreenCompositedChangedCallback cb'+    connectSignalFunPtr obj "composited-changed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@composited-changed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' screen #compositedChanged callback+@+-}+afterScreenCompositedChanged :: (IsScreen a, MonadIO m) => a -> ScreenCompositedChangedCallback -> m SignalHandlerId+afterScreenCompositedChanged obj cb = liftIO $ do+    let cb' = wrap_ScreenCompositedChangedCallback cb+    cb'' <- mk_ScreenCompositedChangedCallback cb'+    connectSignalFunPtr obj "composited-changed" cb'' SignalConnectAfter+++-- signal Screen::monitors-changed+{- |+The ::monitors-changed signal is emitted when the number, size+or position of the monitors attached to the screen change.++Only for X11 and OS X for now. A future implementation for Win32+may be a possibility.++/Since: 2.14/+-}+type ScreenMonitorsChangedCallback =+    IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `ScreenMonitorsChangedCallback`@.+noScreenMonitorsChangedCallback :: Maybe ScreenMonitorsChangedCallback+noScreenMonitorsChangedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_ScreenMonitorsChangedCallback =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_ScreenMonitorsChangedCallback`.+foreign import ccall "wrapper"+    mk_ScreenMonitorsChangedCallback :: C_ScreenMonitorsChangedCallback -> IO (FunPtr C_ScreenMonitorsChangedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_ScreenMonitorsChanged :: MonadIO m => ScreenMonitorsChangedCallback -> m (GClosure C_ScreenMonitorsChangedCallback)+genClosure_ScreenMonitorsChanged cb = liftIO $ do+    let cb' = wrap_ScreenMonitorsChangedCallback cb+    mk_ScreenMonitorsChangedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `ScreenMonitorsChangedCallback` into a `C_ScreenMonitorsChangedCallback`.+wrap_ScreenMonitorsChangedCallback ::+    ScreenMonitorsChangedCallback ->+    C_ScreenMonitorsChangedCallback+wrap_ScreenMonitorsChangedCallback _cb _ _ = do+    _cb +++{- |+Connect a signal handler for the “@monitors-changed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' screen #monitorsChanged callback+@+-}+onScreenMonitorsChanged :: (IsScreen a, MonadIO m) => a -> ScreenMonitorsChangedCallback -> m SignalHandlerId+onScreenMonitorsChanged obj cb = liftIO $ do+    let cb' = wrap_ScreenMonitorsChangedCallback cb+    cb'' <- mk_ScreenMonitorsChangedCallback cb'+    connectSignalFunPtr obj "monitors-changed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@monitors-changed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' screen #monitorsChanged callback+@+-}+afterScreenMonitorsChanged :: (IsScreen a, MonadIO m) => a -> ScreenMonitorsChangedCallback -> m SignalHandlerId+afterScreenMonitorsChanged obj cb = liftIO $ do+    let cb' = wrap_ScreenMonitorsChangedCallback cb+    cb'' <- mk_ScreenMonitorsChangedCallback cb'+    connectSignalFunPtr obj "monitors-changed" cb'' SignalConnectAfter+++-- signal Screen::size-changed+{- |+The ::size-changed signal is emitted when the pixel width or+height of a screen changes.++/Since: 2.2/+-}+type ScreenSizeChangedCallback =+    IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `ScreenSizeChangedCallback`@.+noScreenSizeChangedCallback :: Maybe ScreenSizeChangedCallback+noScreenSizeChangedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_ScreenSizeChangedCallback =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_ScreenSizeChangedCallback`.+foreign import ccall "wrapper"+    mk_ScreenSizeChangedCallback :: C_ScreenSizeChangedCallback -> IO (FunPtr C_ScreenSizeChangedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_ScreenSizeChanged :: MonadIO m => ScreenSizeChangedCallback -> m (GClosure C_ScreenSizeChangedCallback)+genClosure_ScreenSizeChanged cb = liftIO $ do+    let cb' = wrap_ScreenSizeChangedCallback cb+    mk_ScreenSizeChangedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `ScreenSizeChangedCallback` into a `C_ScreenSizeChangedCallback`.+wrap_ScreenSizeChangedCallback ::+    ScreenSizeChangedCallback ->+    C_ScreenSizeChangedCallback+wrap_ScreenSizeChangedCallback _cb _ _ = do+    _cb +++{- |+Connect a signal handler for the “@size-changed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' screen #sizeChanged callback+@+-}+onScreenSizeChanged :: (IsScreen a, MonadIO m) => a -> ScreenSizeChangedCallback -> m SignalHandlerId+onScreenSizeChanged obj cb = liftIO $ do+    let cb' = wrap_ScreenSizeChangedCallback cb+    cb'' <- mk_ScreenSizeChangedCallback cb'+    connectSignalFunPtr obj "size-changed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@size-changed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' screen #sizeChanged callback+@+-}+afterScreenSizeChanged :: (IsScreen a, MonadIO m) => a -> ScreenSizeChangedCallback -> m SignalHandlerId+afterScreenSizeChanged obj cb = liftIO $ do+    let cb' = wrap_ScreenSizeChangedCallback cb+    cb'' <- mk_ScreenSizeChangedCallback cb'+    connectSignalFunPtr obj "size-changed" cb'' SignalConnectAfter+++-- VVV Prop "font-options"+   -- Type: TBasicType TPtr+   -- Flags: [PropertyReadable,PropertyWritable]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@font-options@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' screen #fontOptions+@+-}+getScreenFontOptions :: (MonadIO m, IsScreen o) => o -> m (Ptr ())+getScreenFontOptions obj = liftIO $ B.Properties.getObjectPropertyPtr obj "font-options"++{- |+Set the value of the “@font-options@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' screen [ #fontOptions 'Data.GI.Base.Attributes.:=' value ]+@+-}+setScreenFontOptions :: (MonadIO m, IsScreen o) => o -> Ptr () -> m ()+setScreenFontOptions obj val = liftIO $ B.Properties.setObjectPropertyPtr obj "font-options" val++{- |+Construct a `GValueConstruct` with valid value for the “@font-options@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructScreenFontOptions :: (IsScreen o) => Ptr () -> IO (GValueConstruct o)+constructScreenFontOptions val = B.Properties.constructObjectPropertyPtr "font-options" val++#if ENABLE_OVERLOADING+data ScreenFontOptionsPropertyInfo+instance AttrInfo ScreenFontOptionsPropertyInfo where+    type AttrAllowedOps ScreenFontOptionsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint ScreenFontOptionsPropertyInfo = (~) (Ptr ())+    type AttrBaseTypeConstraint ScreenFontOptionsPropertyInfo = IsScreen+    type AttrGetType ScreenFontOptionsPropertyInfo = (Ptr ())+    type AttrLabel ScreenFontOptionsPropertyInfo = "font-options"+    type AttrOrigin ScreenFontOptionsPropertyInfo = Screen+    attrGet _ = getScreenFontOptions+    attrSet _ = setScreenFontOptions+    attrConstruct _ = constructScreenFontOptions+    attrClear _ = undefined+#endif++-- VVV Prop "resolution"+   -- Type: TBasicType TDouble+   -- Flags: [PropertyReadable,PropertyWritable]+   -- Nullable: (Just False,Just False)++{- |+Get the value of the “@resolution@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' screen #resolution+@+-}+getScreenResolution :: (MonadIO m, IsScreen o) => o -> m Double+getScreenResolution obj = liftIO $ B.Properties.getObjectPropertyDouble obj "resolution"++{- |+Set the value of the “@resolution@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' screen [ #resolution 'Data.GI.Base.Attributes.:=' value ]+@+-}+setScreenResolution :: (MonadIO m, IsScreen o) => o -> Double -> m ()+setScreenResolution obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "resolution" val++{- |+Construct a `GValueConstruct` with valid value for the “@resolution@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructScreenResolution :: (IsScreen o) => Double -> IO (GValueConstruct o)+constructScreenResolution val = B.Properties.constructObjectPropertyDouble "resolution" val++#if ENABLE_OVERLOADING+data ScreenResolutionPropertyInfo+instance AttrInfo ScreenResolutionPropertyInfo where+    type AttrAllowedOps ScreenResolutionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint ScreenResolutionPropertyInfo = (~) Double+    type AttrBaseTypeConstraint ScreenResolutionPropertyInfo = IsScreen+    type AttrGetType ScreenResolutionPropertyInfo = Double+    type AttrLabel ScreenResolutionPropertyInfo = "resolution"+    type AttrOrigin ScreenResolutionPropertyInfo = Screen+    attrGet _ = getScreenResolution+    attrSet _ = setScreenResolution+    attrConstruct _ = constructScreenResolution+    attrClear _ = undefined+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList Screen+type instance O.AttributeList Screen = ScreenAttributeList+type ScreenAttributeList = ('[ '("fontOptions", ScreenFontOptionsPropertyInfo), '("resolution", ScreenResolutionPropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+screenFontOptions :: AttrLabelProxy "fontOptions"+screenFontOptions = AttrLabelProxy++screenResolution :: AttrLabelProxy "resolution"+screenResolution = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+data ScreenCompositedChangedSignalInfo+instance SignalInfo ScreenCompositedChangedSignalInfo where+    type HaskellCallbackType ScreenCompositedChangedSignalInfo = ScreenCompositedChangedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_ScreenCompositedChangedCallback cb+        cb'' <- mk_ScreenCompositedChangedCallback cb'+        connectSignalFunPtr obj "composited-changed" cb'' connectMode++data ScreenMonitorsChangedSignalInfo+instance SignalInfo ScreenMonitorsChangedSignalInfo where+    type HaskellCallbackType ScreenMonitorsChangedSignalInfo = ScreenMonitorsChangedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_ScreenMonitorsChangedCallback cb+        cb'' <- mk_ScreenMonitorsChangedCallback cb'+        connectSignalFunPtr obj "monitors-changed" cb'' connectMode++data ScreenSizeChangedSignalInfo+instance SignalInfo ScreenSizeChangedSignalInfo where+    type HaskellCallbackType ScreenSizeChangedSignalInfo = ScreenSizeChangedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_ScreenSizeChangedCallback cb+        cb'' <- mk_ScreenSizeChangedCallback cb'+        connectSignalFunPtr obj "size-changed" cb'' connectMode++type instance O.SignalList Screen = ScreenSignalList+type ScreenSignalList = ('[ '("compositedChanged", ScreenCompositedChangedSignalInfo), '("monitorsChanged", ScreenMonitorsChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("sizeChanged", ScreenSizeChangedSignalInfo)] :: [(Symbol, *)])++#endif++-- method Screen::get_active_window+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_active_window" gdk_screen_get_active_window :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    IO (Ptr Gdk.Window.Window)++{-# DEPRECATED screenGetActiveWindow ["(Since version 3.22)"] #-}+{- |+Returns the screen’s currently active window.++On X11, this is done by inspecting the _NET_ACTIVE_WINDOW property+on the root window, as described in the+<http://www.freedesktop.org/Standards/wm-spec Extended Window Manager Hints>.+If there is no currently currently active+window, or the window manager does not support the+_NET_ACTIVE_WINDOW hint, this function returns 'Nothing'.++On other platforms, this function may return 'Nothing', depending on whether+it is implementable on that platform.++The returned window should be unrefed using 'GI.GObject.Objects.Object.objectUnref' when+no longer needed.++/Since: 2.10/+-}+screenGetActiveWindow ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}+    -> m (Maybe Gdk.Window.Window)+    {- ^ __Returns:__ the currently active window,+  or 'Nothing'. -}+screenGetActiveWindow screen = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    result <- gdk_screen_get_active_window screen'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (wrapObject Gdk.Window.Window) result'+        return result''+    touchManagedPtr screen+    return maybeResult++#if ENABLE_OVERLOADING+data ScreenGetActiveWindowMethodInfo+instance (signature ~ (m (Maybe Gdk.Window.Window)), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetActiveWindowMethodInfo a signature where+    overloadedMethod _ = screenGetActiveWindow++#endif++-- method Screen::get_display+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Display"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_display" gdk_screen_get_display :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    IO (Ptr Gdk.Display.Display)++{- |+Gets the display to which the /@screen@/ belongs.++/Since: 2.2/+-}+screenGetDisplay ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}+    -> m Gdk.Display.Display+    {- ^ __Returns:__ the display to which /@screen@/ belongs -}+screenGetDisplay screen = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    result <- gdk_screen_get_display screen'+    checkUnexpectedReturnNULL "screenGetDisplay" result+    result' <- (newObject Gdk.Display.Display) result+    touchManagedPtr screen+    return result'++#if ENABLE_OVERLOADING+data ScreenGetDisplayMethodInfo+instance (signature ~ (m Gdk.Display.Display), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetDisplayMethodInfo a signature where+    overloadedMethod _ = screenGetDisplay++#endif++-- method Screen::get_font_options+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "cairo", name = "FontOptions"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_font_options" gdk_screen_get_font_options :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    IO (Ptr Cairo.FontOptions.FontOptions)++{- |+Gets any options previously set with 'GI.Gdk.Objects.Screen.screenSetFontOptions'.++/Since: 2.10/+-}+screenGetFontOptions ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}+    -> m (Maybe Cairo.FontOptions.FontOptions)+    {- ^ __Returns:__ the current font options, or 'Nothing' if no+ default font options have been set. -}+screenGetFontOptions screen = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    result <- gdk_screen_get_font_options screen'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newBoxed Cairo.FontOptions.FontOptions) result'+        return result''+    touchManagedPtr screen+    return maybeResult++#if ENABLE_OVERLOADING+data ScreenGetFontOptionsMethodInfo+instance (signature ~ (m (Maybe Cairo.FontOptions.FontOptions)), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetFontOptionsMethodInfo a signature where+    overloadedMethod _ = screenGetFontOptions++#endif++-- method Screen::get_height+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_height" gdk_screen_get_height :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    IO Int32++{-# DEPRECATED screenGetHeight ["(Since version 3.22)","Use per-monitor information instead"] #-}+{- |+Gets the height of /@screen@/ in pixels. The returned size is in+”application pixels”, not in ”device pixels” (see+'GI.Gdk.Objects.Screen.screenGetMonitorScaleFactor').++/Since: 2.2/+-}+screenGetHeight ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}+    -> m Int32+    {- ^ __Returns:__ the height of /@screen@/ in pixels. -}+screenGetHeight screen = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    result <- gdk_screen_get_height screen'+    touchManagedPtr screen+    return result++#if ENABLE_OVERLOADING+data ScreenGetHeightMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetHeightMethodInfo a signature where+    overloadedMethod _ = screenGetHeight++#endif++-- method Screen::get_height_mm+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_height_mm" gdk_screen_get_height_mm :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    IO Int32++{-# DEPRECATED screenGetHeightMm ["(Since version 3.22)","Use per-monitor information instead"] #-}+{- |+Returns the height of /@screen@/ in millimeters.++Note that this value is somewhat ill-defined when the screen+has multiple monitors of different resolution. It is recommended+to use the monitor dimensions instead.++/Since: 2.2/+-}+screenGetHeightMm ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}+    -> m Int32+    {- ^ __Returns:__ the heigth of /@screen@/ in millimeters. -}+screenGetHeightMm screen = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    result <- gdk_screen_get_height_mm screen'+    touchManagedPtr screen+    return result++#if ENABLE_OVERLOADING+data ScreenGetHeightMmMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetHeightMmMethodInfo a signature where+    overloadedMethod _ = screenGetHeightMm++#endif++-- method Screen::get_monitor_at_point+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the x coordinate in the virtual screen.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the y coordinate in the virtual screen.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_monitor_at_point" gdk_screen_get_monitor_at_point :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    Int32 ->                                -- x : TBasicType TInt+    Int32 ->                                -- y : TBasicType TInt+    IO Int32++{-# DEPRECATED screenGetMonitorAtPoint ["(Since version 3.22)","Use 'GI.Gdk.Objects.Display.displayGetMonitorAtPoint' instead"] #-}+{- |+Returns the monitor number in which the point (/@x@/,/@y@/) is located.++/Since: 2.2/+-}+screenGetMonitorAtPoint ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen'. -}+    -> Int32+    {- ^ /@x@/: the x coordinate in the virtual screen. -}+    -> Int32+    {- ^ /@y@/: the y coordinate in the virtual screen. -}+    -> m Int32+    {- ^ __Returns:__ the monitor number in which the point (/@x@/,/@y@/) lies, or+  a monitor close to (/@x@/,/@y@/) if the point is not in any monitor. -}+screenGetMonitorAtPoint screen x y = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    result <- gdk_screen_get_monitor_at_point screen' x y+    touchManagedPtr screen+    return result++#if ENABLE_OVERLOADING+data ScreenGetMonitorAtPointMethodInfo+instance (signature ~ (Int32 -> Int32 -> m Int32), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetMonitorAtPointMethodInfo a signature where+    overloadedMethod _ = screenGetMonitorAtPoint++#endif++-- method Screen::get_monitor_at_window+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_monitor_at_window" gdk_screen_get_monitor_at_window :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO Int32++{-# DEPRECATED screenGetMonitorAtWindow ["(Since version 3.22)","Use 'GI.Gdk.Objects.Display.displayGetMonitorAtWindow' instead"] #-}+{- |+Returns the number of the monitor in which the largest area of the+bounding rectangle of /@window@/ resides.++/Since: 2.2/+-}+screenGetMonitorAtWindow ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a, Gdk.Window.IsWindow b) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen'. -}+    -> b+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m Int32+    {- ^ __Returns:__ the monitor number in which most of /@window@/ is located,+    or if /@window@/ does not intersect any monitors, a monitor,+    close to /@window@/. -}+screenGetMonitorAtWindow screen window = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_screen_get_monitor_at_window screen' window'+    touchManagedPtr screen+    touchManagedPtr window+    return result++#if ENABLE_OVERLOADING+data ScreenGetMonitorAtWindowMethodInfo+instance (signature ~ (b -> m Int32), MonadIO m, IsScreen a, Gdk.Window.IsWindow b) => O.MethodInfo ScreenGetMonitorAtWindowMethodInfo a signature where+    overloadedMethod _ = screenGetMonitorAtWindow++#endif++-- method Screen::get_monitor_geometry+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "monitor_num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the monitor number", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRectangle to be filled with\n    the monitor geometry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_monitor_geometry" gdk_screen_get_monitor_geometry :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    Int32 ->                                -- monitor_num : TBasicType TInt+    Ptr Gdk.Rectangle.Rectangle ->          -- dest : TInterface (Name {namespace = "Gdk", name = "Rectangle"})+    IO ()++{-# DEPRECATED screenGetMonitorGeometry ["(Since version 3.22)","Use 'GI.Gdk.Objects.Monitor.monitorGetGeometry' instead"] #-}+{- |+Retrieves the 'GI.Gdk.Structs.Rectangle.Rectangle' representing the size and position of+the individual monitor within the entire screen area. The returned+geometry is in ”application pixels”, not in ”device pixels” (see+'GI.Gdk.Objects.Screen.screenGetMonitorScaleFactor').++Monitor numbers start at 0. To obtain the number of monitors of+/@screen@/, use 'GI.Gdk.Objects.Screen.screenGetNMonitors'.++Note that the size of the entire screen area can be retrieved via+'GI.Gdk.Objects.Screen.screenGetWidth' and 'GI.Gdk.Objects.Screen.screenGetHeight'.++/Since: 2.2/+-}+screenGetMonitorGeometry ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}+    -> Int32+    {- ^ /@monitorNum@/: the monitor number -}+    -> m (Gdk.Rectangle.Rectangle)+screenGetMonitorGeometry screen monitorNum = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    dest <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)+    gdk_screen_get_monitor_geometry screen' monitorNum dest+    dest' <- (wrapBoxed Gdk.Rectangle.Rectangle) dest+    touchManagedPtr screen+    return dest'++#if ENABLE_OVERLOADING+data ScreenGetMonitorGeometryMethodInfo+instance (signature ~ (Int32 -> m (Gdk.Rectangle.Rectangle)), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetMonitorGeometryMethodInfo a signature where+    overloadedMethod _ = screenGetMonitorGeometry++#endif++-- method Screen::get_monitor_height_mm+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "monitor_num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of the monitor, between 0 and gdk_screen_get_n_monitors (screen)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_monitor_height_mm" gdk_screen_get_monitor_height_mm :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    Int32 ->                                -- monitor_num : TBasicType TInt+    IO Int32++{-# DEPRECATED screenGetMonitorHeightMm ["(Since version 3.22)","Use 'GI.Gdk.Objects.Monitor.monitorGetHeightMm' instead"] #-}+{- |+Gets the height in millimeters of the specified monitor.++/Since: 2.14/+-}+screenGetMonitorHeightMm ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}+    -> Int32+    {- ^ /@monitorNum@/: number of the monitor, between 0 and gdk_screen_get_n_monitors (screen) -}+    -> m Int32+    {- ^ __Returns:__ the height of the monitor, or -1 if not available -}+screenGetMonitorHeightMm screen monitorNum = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    result <- gdk_screen_get_monitor_height_mm screen' monitorNum+    touchManagedPtr screen+    return result++#if ENABLE_OVERLOADING+data ScreenGetMonitorHeightMmMethodInfo+instance (signature ~ (Int32 -> m Int32), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetMonitorHeightMmMethodInfo a signature where+    overloadedMethod _ = screenGetMonitorHeightMm++#endif++-- method Screen::get_monitor_plug_name+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "monitor_num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of the monitor, between 0 and gdk_screen_get_n_monitors (screen)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_monitor_plug_name" gdk_screen_get_monitor_plug_name :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    Int32 ->                                -- monitor_num : TBasicType TInt+    IO CString++{-# DEPRECATED screenGetMonitorPlugName ["(Since version 3.22)","Use 'GI.Gdk.Objects.Monitor.monitorGetModel' instead"] #-}+{- |+Returns the output name of the specified monitor.+Usually something like VGA, DVI, or TV, not the actual+product name of the display device.++/Since: 2.14/+-}+screenGetMonitorPlugName ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}+    -> Int32+    {- ^ /@monitorNum@/: number of the monitor, between 0 and gdk_screen_get_n_monitors (screen) -}+    -> m (Maybe T.Text)+    {- ^ __Returns:__ a newly-allocated string containing the name+  of the monitor, or 'Nothing' if the name cannot be determined -}+screenGetMonitorPlugName screen monitorNum = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    result <- gdk_screen_get_monitor_plug_name screen' monitorNum+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- cstringToText result'+        freeMem result'+        return result''+    touchManagedPtr screen+    return maybeResult++#if ENABLE_OVERLOADING+data ScreenGetMonitorPlugNameMethodInfo+instance (signature ~ (Int32 -> m (Maybe T.Text)), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetMonitorPlugNameMethodInfo a signature where+    overloadedMethod _ = screenGetMonitorPlugName++#endif++-- method Screen::get_monitor_scale_factor+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "screen to get scale factor for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "monitor_num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of the monitor, between 0 and gdk_screen_get_n_monitors (screen)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_monitor_scale_factor" gdk_screen_get_monitor_scale_factor :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    Int32 ->                                -- monitor_num : TBasicType TInt+    IO Int32++{-# DEPRECATED screenGetMonitorScaleFactor ["(Since version 3.22)","Use 'GI.Gdk.Objects.Monitor.monitorGetScaleFactor' instead"] #-}+{- |+Returns the internal scale factor that maps from monitor coordinates+to the actual device pixels. On traditional systems this is 1, but+on very high density outputs this can be a higher value (often 2).++This can be used if you want to create pixel based data for a+particular monitor, but most of the time you’re drawing to a window+where it is better to use 'GI.Gdk.Objects.Window.windowGetScaleFactor' instead.++/Since: 3.10/+-}+screenGetMonitorScaleFactor ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: screen to get scale factor for -}+    -> Int32+    {- ^ /@monitorNum@/: number of the monitor, between 0 and gdk_screen_get_n_monitors (screen) -}+    -> m Int32+    {- ^ __Returns:__ the scale factor -}+screenGetMonitorScaleFactor screen monitorNum = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    result <- gdk_screen_get_monitor_scale_factor screen' monitorNum+    touchManagedPtr screen+    return result++#if ENABLE_OVERLOADING+data ScreenGetMonitorScaleFactorMethodInfo+instance (signature ~ (Int32 -> m Int32), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetMonitorScaleFactorMethodInfo a signature where+    overloadedMethod _ = screenGetMonitorScaleFactor++#endif++-- method Screen::get_monitor_width_mm+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "monitor_num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of the monitor, between 0 and gdk_screen_get_n_monitors (screen)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_monitor_width_mm" gdk_screen_get_monitor_width_mm :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    Int32 ->                                -- monitor_num : TBasicType TInt+    IO Int32++{-# DEPRECATED screenGetMonitorWidthMm ["(Since version 3.22)","Use 'GI.Gdk.Objects.Monitor.monitorGetWidthMm' instead"] #-}+{- |+Gets the width in millimeters of the specified monitor, if available.++/Since: 2.14/+-}+screenGetMonitorWidthMm ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}+    -> Int32+    {- ^ /@monitorNum@/: number of the monitor, between 0 and gdk_screen_get_n_monitors (screen) -}+    -> m Int32+    {- ^ __Returns:__ the width of the monitor, or -1 if not available -}+screenGetMonitorWidthMm screen monitorNum = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    result <- gdk_screen_get_monitor_width_mm screen' monitorNum+    touchManagedPtr screen+    return result++#if ENABLE_OVERLOADING+data ScreenGetMonitorWidthMmMethodInfo+instance (signature ~ (Int32 -> m Int32), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetMonitorWidthMmMethodInfo a signature where+    overloadedMethod _ = screenGetMonitorWidthMm++#endif++-- method Screen::get_monitor_workarea+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "monitor_num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the monitor number", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRectangle to be filled with\n    the monitor workarea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_monitor_workarea" gdk_screen_get_monitor_workarea :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    Int32 ->                                -- monitor_num : TBasicType TInt+    Ptr Gdk.Rectangle.Rectangle ->          -- dest : TInterface (Name {namespace = "Gdk", name = "Rectangle"})+    IO ()++{-# DEPRECATED screenGetMonitorWorkarea ["(Since version 3.22)","Use 'GI.Gdk.Objects.Monitor.monitorGetWorkarea' instead"] #-}+{- |+Retrieves the 'GI.Gdk.Structs.Rectangle.Rectangle' representing the size and position of+the “work area” on a monitor within the entire screen area. The returned+geometry is in ”application pixels”, not in ”device pixels” (see+'GI.Gdk.Objects.Screen.screenGetMonitorScaleFactor').++The work area should be considered when positioning menus and+similar popups, to avoid placing them below panels, docks or other+desktop components.++Note that not all backends may have a concept of workarea. This+function will return the monitor geometry if a workarea is not+available, or does not apply.++Monitor numbers start at 0. To obtain the number of monitors of+/@screen@/, use 'GI.Gdk.Objects.Screen.screenGetNMonitors'.++/Since: 3.4/+-}+screenGetMonitorWorkarea ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}+    -> Int32+    {- ^ /@monitorNum@/: the monitor number -}+    -> m (Gdk.Rectangle.Rectangle)+screenGetMonitorWorkarea screen monitorNum = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    dest <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)+    gdk_screen_get_monitor_workarea screen' monitorNum dest+    dest' <- (wrapBoxed Gdk.Rectangle.Rectangle) dest+    touchManagedPtr screen+    return dest'++#if ENABLE_OVERLOADING+data ScreenGetMonitorWorkareaMethodInfo+instance (signature ~ (Int32 -> m (Gdk.Rectangle.Rectangle)), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetMonitorWorkareaMethodInfo a signature where+    overloadedMethod _ = screenGetMonitorWorkarea++#endif++-- method Screen::get_n_monitors+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_n_monitors" gdk_screen_get_n_monitors :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    IO Int32++{-# DEPRECATED screenGetNMonitors ["(Since version 3.22)","Use 'GI.Gdk.Objects.Display.displayGetNMonitors' instead"] #-}+{- |+Returns the number of monitors which /@screen@/ consists of.++/Since: 2.2/+-}+screenGetNMonitors ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}+    -> m Int32+    {- ^ __Returns:__ number of monitors which /@screen@/ consists of -}+screenGetNMonitors screen = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    result <- gdk_screen_get_n_monitors screen'+    touchManagedPtr screen+    return result++#if ENABLE_OVERLOADING+data ScreenGetNMonitorsMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetNMonitorsMethodInfo a signature where+    overloadedMethod _ = screenGetNMonitors++#endif++-- method Screen::get_number+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_number" gdk_screen_get_number :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    IO Int32++{-# DEPRECATED screenGetNumber ["(Since version 3.22)"] #-}+{- |+Gets the index of /@screen@/ among the screens in the display+to which it belongs. (See 'GI.Gdk.Objects.Screen.screenGetDisplay')++/Since: 2.2/+-}+screenGetNumber ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}+    -> m Int32+    {- ^ __Returns:__ the index -}+screenGetNumber screen = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    result <- gdk_screen_get_number screen'+    touchManagedPtr screen+    return result++#if ENABLE_OVERLOADING+data ScreenGetNumberMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetNumberMethodInfo a signature where+    overloadedMethod _ = screenGetNumber++#endif++-- method Screen::get_primary_monitor+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_primary_monitor" gdk_screen_get_primary_monitor :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    IO Int32++{-# DEPRECATED screenGetPrimaryMonitor ["(Since version 3.22)","Use 'GI.Gdk.Objects.Display.displayGetPrimaryMonitor' instead"] #-}+{- |+Gets the primary monitor for /@screen@/.  The primary monitor+is considered the monitor where the “main desktop” lives.+While normal application windows typically allow the window+manager to place the windows, specialized desktop applications+such as panels should place themselves on the primary monitor.++If no primary monitor is configured by the user, the return value+will be 0, defaulting to the first monitor.++/Since: 2.20/+-}+screenGetPrimaryMonitor ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen'. -}+    -> m Int32+    {- ^ __Returns:__ An integer index for the primary monitor, or 0 if none is configured. -}+screenGetPrimaryMonitor screen = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    result <- gdk_screen_get_primary_monitor screen'+    touchManagedPtr screen+    return result++#if ENABLE_OVERLOADING+data ScreenGetPrimaryMonitorMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetPrimaryMonitorMethodInfo a signature where+    overloadedMethod _ = screenGetPrimaryMonitor++#endif++-- method Screen::get_resolution+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TDouble)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_resolution" gdk_screen_get_resolution :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    IO CDouble++{- |+Gets the resolution for font handling on the screen; see+'GI.Gdk.Objects.Screen.screenSetResolution' for full details.++/Since: 2.10/+-}+screenGetResolution ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}+    -> m Double+    {- ^ __Returns:__ the current resolution, or -1 if no resolution+has been set. -}+screenGetResolution screen = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    result <- gdk_screen_get_resolution screen'+    let result' = realToFrac result+    touchManagedPtr screen+    return result'++#if ENABLE_OVERLOADING+data ScreenGetResolutionMethodInfo+instance (signature ~ (m Double), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetResolutionMethodInfo a signature where+    overloadedMethod _ = screenGetResolution++#endif++-- method Screen::get_rgba_visual+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Visual"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_rgba_visual" gdk_screen_get_rgba_visual :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    IO (Ptr Gdk.Visual.Visual)++{- |+Gets a visual to use for creating windows with an alpha channel.+The windowing system on which GTK+ is running+may not support this capability, in which case 'Nothing' will+be returned. Even if a non-'Nothing' value is returned, its+possible that the window’s alpha channel won’t be honored+when displaying the window on the screen: in particular, for+X an appropriate windowing manager and compositing manager+must be running to provide appropriate display.++This functionality is not implemented in the Windows backend.++For setting an overall opacity for a top-level window, see+'GI.Gdk.Objects.Window.windowSetOpacity'.++/Since: 2.8/+-}+screenGetRgbaVisual ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}+    -> m (Maybe Gdk.Visual.Visual)+    {- ^ __Returns:__ a visual to use for windows+    with an alpha channel or 'Nothing' if the capability is not+    available. -}+screenGetRgbaVisual screen = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    result <- gdk_screen_get_rgba_visual screen'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Gdk.Visual.Visual) result'+        return result''+    touchManagedPtr screen+    return maybeResult++#if ENABLE_OVERLOADING+data ScreenGetRgbaVisualMethodInfo+instance (signature ~ (m (Maybe Gdk.Visual.Visual)), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetRgbaVisualMethodInfo a signature where+    overloadedMethod _ = screenGetRgbaVisual++#endif++-- method Screen::get_root_window+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_root_window" gdk_screen_get_root_window :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    IO (Ptr Gdk.Window.Window)++{- |+Gets the root window of /@screen@/.++/Since: 2.2/+-}+screenGetRootWindow ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}+    -> m Gdk.Window.Window+    {- ^ __Returns:__ the root window -}+screenGetRootWindow screen = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    result <- gdk_screen_get_root_window screen'+    checkUnexpectedReturnNULL "screenGetRootWindow" result+    result' <- (newObject Gdk.Window.Window) result+    touchManagedPtr screen+    return result'++#if ENABLE_OVERLOADING+data ScreenGetRootWindowMethodInfo+instance (signature ~ (m Gdk.Window.Window), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetRootWindowMethodInfo a signature where+    overloadedMethod _ = screenGetRootWindow++#endif++-- method Screen::get_setting+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkScreen where the setting is located", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the setting", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the value of the setting", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_setting" gdk_screen_get_setting :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    CString ->                              -- name : TBasicType TUTF8+    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})+    IO CInt++{- |+Retrieves a desktop-wide setting such as double-click time+for the 'GI.Gdk.Objects.Screen.Screen' /@screen@/.++FIXME needs a list of valid settings here, or a link to+more information.++/Since: 2.2/+-}+screenGetSetting ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: the 'GI.Gdk.Objects.Screen.Screen' where the setting is located -}+    -> T.Text+    {- ^ /@name@/: the name of the setting -}+    -> GValue+    {- ^ /@value@/: location to store the value of the setting -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the setting existed and a value was stored+  in /@value@/, 'False' otherwise. -}+screenGetSetting screen name value = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    name' <- textToCString name+    value' <- unsafeManagedPtrGetPtr value+    result <- gdk_screen_get_setting screen' name' value'+    let result' = (/= 0) result+    touchManagedPtr screen+    touchManagedPtr value+    freeMem name'+    return result'++#if ENABLE_OVERLOADING+data ScreenGetSettingMethodInfo+instance (signature ~ (T.Text -> GValue -> m Bool), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetSettingMethodInfo a signature where+    overloadedMethod _ = screenGetSetting++#endif++-- method Screen::get_system_visual+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Visual"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_system_visual" gdk_screen_get_system_visual :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    IO (Ptr Gdk.Visual.Visual)++{- |+Get the system’s default visual for /@screen@/.+This is the visual for the root window of the display.+The return value should not be freed.++/Since: 2.2/+-}+screenGetSystemVisual ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen'. -}+    -> m Gdk.Visual.Visual+    {- ^ __Returns:__ the system visual -}+screenGetSystemVisual screen = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    result <- gdk_screen_get_system_visual screen'+    checkUnexpectedReturnNULL "screenGetSystemVisual" result+    result' <- (newObject Gdk.Visual.Visual) result+    touchManagedPtr screen+    return result'++#if ENABLE_OVERLOADING+data ScreenGetSystemVisualMethodInfo+instance (signature ~ (m Gdk.Visual.Visual), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetSystemVisualMethodInfo a signature where+    overloadedMethod _ = screenGetSystemVisual++#endif++-- method Screen::get_toplevel_windows+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GdkScreen where the toplevels are located.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TGList (TInterface (Name {namespace = "Gdk", name = "Window"})))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_toplevel_windows" gdk_screen_get_toplevel_windows :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    IO (Ptr (GList (Ptr Gdk.Window.Window)))++{- |+Obtains a list of all toplevel windows known to GDK on the screen /@screen@/.+A toplevel window is a child of the root window (see+'GI.Gdk.Functions.getDefaultRootWindow').++The returned list should be freed with @/g_list_free()/@, but+its elements need not be freed.++/Since: 2.2/+-}+screenGetToplevelWindows ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: The 'GI.Gdk.Objects.Screen.Screen' where the toplevels are located. -}+    -> m [Gdk.Window.Window]+    {- ^ __Returns:__ +    list of toplevel windows, free with @/g_list_free()/@ -}+screenGetToplevelWindows screen = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    result <- gdk_screen_get_toplevel_windows screen'+    result' <- unpackGList result+    result'' <- mapM (newObject Gdk.Window.Window) result'+    g_list_free result+    touchManagedPtr screen+    return result''++#if ENABLE_OVERLOADING+data ScreenGetToplevelWindowsMethodInfo+instance (signature ~ (m [Gdk.Window.Window]), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetToplevelWindowsMethodInfo a signature where+    overloadedMethod _ = screenGetToplevelWindows++#endif++-- method Screen::get_width+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_width" gdk_screen_get_width :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    IO Int32++{-# DEPRECATED screenGetWidth ["(Since version 3.22)","Use per-monitor information instead"] #-}+{- |+Gets the width of /@screen@/ in pixels. The returned size is in+”application pixels”, not in ”device pixels” (see+'GI.Gdk.Objects.Screen.screenGetMonitorScaleFactor').++/Since: 2.2/+-}+screenGetWidth ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}+    -> m Int32+    {- ^ __Returns:__ the width of /@screen@/ in pixels. -}+screenGetWidth screen = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    result <- gdk_screen_get_width screen'+    touchManagedPtr screen+    return result++#if ENABLE_OVERLOADING+data ScreenGetWidthMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetWidthMethodInfo a signature where+    overloadedMethod _ = screenGetWidth++#endif++-- method Screen::get_width_mm+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_width_mm" gdk_screen_get_width_mm :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    IO Int32++{-# DEPRECATED screenGetWidthMm ["(Since version 3.22)","Use per-monitor information instead"] #-}+{- |+Gets the width of /@screen@/ in millimeters.++Note that this value is somewhat ill-defined when the screen+has multiple monitors of different resolution. It is recommended+to use the monitor dimensions instead.++/Since: 2.2/+-}+screenGetWidthMm ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}+    -> m Int32+    {- ^ __Returns:__ the width of /@screen@/ in millimeters. -}+screenGetWidthMm screen = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    result <- gdk_screen_get_width_mm screen'+    touchManagedPtr screen+    return result++#if ENABLE_OVERLOADING+data ScreenGetWidthMmMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetWidthMmMethodInfo a signature where+    overloadedMethod _ = screenGetWidthMm++#endif++-- method Screen::get_window_stack+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TGList (TInterface (Name {namespace = "Gdk", name = "Window"})))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_window_stack" gdk_screen_get_window_stack :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    IO (Ptr (GList (Ptr Gdk.Window.Window)))++{- |+Returns a 'GI.GLib.Structs.List.List' of @/GdkWindows/@ representing the current+window stack.++On X11, this is done by inspecting the _NET_CLIENT_LIST_STACKING+property on the root window, as described in the+<http://www.freedesktop.org/Standards/wm-spec Extended Window Manager Hints>.+If the window manager does not support the+_NET_CLIENT_LIST_STACKING hint, this function returns 'Nothing'.++On other platforms, this function may return 'Nothing', depending on whether+it is implementable on that platform.++The returned list is newly allocated and owns references to the+windows it contains, so it should be freed using @/g_list_free()/@ and+its windows unrefed using 'GI.GObject.Objects.Object.objectUnref' when no longer needed.++/Since: 2.10/+-}+screenGetWindowStack ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}+    -> m [Gdk.Window.Window]+    {- ^ __Returns:__ a+    list of @/GdkWindows/@ for the current window stack, or 'Nothing'. -}+screenGetWindowStack screen = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    result <- gdk_screen_get_window_stack screen'+    result' <- unpackGList result+    result'' <- mapM (wrapObject Gdk.Window.Window) result'+    g_list_free result+    touchManagedPtr screen+    return result''++#if ENABLE_OVERLOADING+data ScreenGetWindowStackMethodInfo+instance (signature ~ (m [Gdk.Window.Window]), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetWindowStackMethodInfo a signature where+    overloadedMethod _ = screenGetWindowStack++#endif++-- method Screen::is_composited+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_is_composited" gdk_screen_is_composited :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    IO CInt++{- |+Returns whether windows with an RGBA visual can reasonably+be expected to have their alpha channel drawn correctly on+the screen.++On X11 this function returns whether a compositing manager is+compositing /@screen@/.++/Since: 2.10/+-}+screenIsComposited ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}+    -> m Bool+    {- ^ __Returns:__ Whether windows with RGBA visuals can reasonably be+expected to have their alpha channels drawn correctly on the screen. -}+screenIsComposited screen = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    result <- gdk_screen_is_composited screen'+    let result' = (/= 0) result+    touchManagedPtr screen+    return result'++#if ENABLE_OVERLOADING+data ScreenIsCompositedMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsScreen a) => O.MethodInfo ScreenIsCompositedMethodInfo a signature where+    overloadedMethod _ = screenIsComposited++#endif++-- method Screen::list_visuals+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the relevant #GdkScreen.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TGList (TInterface (Name {namespace = "Gdk", name = "Visual"})))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_list_visuals" gdk_screen_list_visuals :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    IO (Ptr (GList (Ptr Gdk.Visual.Visual)))++{- |+Lists the available visuals for the specified /@screen@/.+A visual describes a hardware image data format.+For example, a visual might support 24-bit color, or 8-bit color,+and might expect pixels to be in a certain format.++Call @/g_list_free()/@ on the return value when you’re finished with it.++/Since: 2.2/+-}+screenListVisuals ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: the relevant 'GI.Gdk.Objects.Screen.Screen'. -}+    -> m [Gdk.Visual.Visual]+    {- ^ __Returns:__ +    a list of visuals; the list must be freed, but not its contents -}+screenListVisuals screen = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    result <- gdk_screen_list_visuals screen'+    result' <- unpackGList result+    result'' <- mapM (newObject Gdk.Visual.Visual) result'+    g_list_free result+    touchManagedPtr screen+    return result''++#if ENABLE_OVERLOADING+data ScreenListVisualsMethodInfo+instance (signature ~ (m [Gdk.Visual.Visual]), MonadIO m, IsScreen a) => O.MethodInfo ScreenListVisualsMethodInfo a signature where+    overloadedMethod _ = screenListVisuals++#endif++-- method Screen::make_display_name+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_make_display_name" gdk_screen_make_display_name :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    IO CString++{-# DEPRECATED screenMakeDisplayName ["(Since version 3.22)"] #-}+{- |+Determines the name to pass to 'GI.Gdk.Objects.Display.displayOpen' to get+a 'GI.Gdk.Objects.Display.Display' with this screen as the default screen.++/Since: 2.2/+-}+screenMakeDisplayName ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}+    -> m T.Text+    {- ^ __Returns:__ a newly allocated string, free with 'GI.GLib.Functions.free' -}+screenMakeDisplayName screen = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    result <- gdk_screen_make_display_name screen'+    checkUnexpectedReturnNULL "screenMakeDisplayName" result+    result' <- cstringToText result+    freeMem result+    touchManagedPtr screen+    return result'++#if ENABLE_OVERLOADING+data ScreenMakeDisplayNameMethodInfo+instance (signature ~ (m T.Text), MonadIO m, IsScreen a) => O.MethodInfo ScreenMakeDisplayNameMethodInfo a signature where+    overloadedMethod _ = screenMakeDisplayName++#endif++-- method Screen::set_font_options+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "options", argType = TInterface (Name {namespace = "cairo", name = "FontOptions"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #cairo_font_options_t, or %NULL to unset any\n  previously set default font options.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_set_font_options" gdk_screen_set_font_options :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    Ptr Cairo.FontOptions.FontOptions ->    -- options : TInterface (Name {namespace = "cairo", name = "FontOptions"})+    IO ()++{- |+Sets the default font options for the screen. These+options will be set on any 'GI.Pango.Objects.Context.Context'’s newly created+with 'GI.Gdk.Functions.pangoContextGetForScreen'. Changing the+default set of font options does not affect contexts that+have already been created.++/Since: 2.10/+-}+screenSetFontOptions ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}+    -> Maybe (Cairo.FontOptions.FontOptions)+    {- ^ /@options@/: a 'GI.Cairo.Structs.FontOptions.FontOptions', or 'Nothing' to unset any+  previously set default font options. -}+    -> m ()+screenSetFontOptions screen options = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    maybeOptions <- case options of+        Nothing -> return nullPtr+        Just jOptions -> do+            jOptions' <- unsafeManagedPtrGetPtr jOptions+            return jOptions'+    gdk_screen_set_font_options screen' maybeOptions+    touchManagedPtr screen+    whenJust options touchManagedPtr+    return ()++#if ENABLE_OVERLOADING+data ScreenSetFontOptionsMethodInfo+instance (signature ~ (Maybe (Cairo.FontOptions.FontOptions) -> m ()), MonadIO m, IsScreen a) => O.MethodInfo ScreenSetFontOptionsMethodInfo a signature where+    overloadedMethod _ = screenSetFontOptions++#endif++-- method Screen::set_resolution+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dpi", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the resolution in \8220dots per inch\8221. (Physical inches aren\8217t actually\n  involved; the terminology is conventional.)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_set_resolution" gdk_screen_set_resolution :: +    Ptr Screen ->                           -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    CDouble ->                              -- dpi : TBasicType TDouble+    IO ()++{- |+Sets the resolution for font handling on the screen. This is a+scale factor between points specified in a 'GI.Pango.Structs.FontDescription.FontDescription'+and cairo units. The default value is 96, meaning that a 10 point+font will be 13 units high. (10 * 96. \/ 72. = 13.3).++/Since: 2.10/+-}+screenSetResolution ::+    (B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>+    a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}+    -> Double+    {- ^ /@dpi@/: the resolution in “dots per inch”. (Physical inches aren’t actually+  involved; the terminology is conventional.) -}+    -> m ()+screenSetResolution screen dpi = liftIO $ do+    screen' <- unsafeManagedPtrCastPtr screen+    let dpi' = realToFrac dpi+    gdk_screen_set_resolution screen' dpi'+    touchManagedPtr screen+    return ()++#if ENABLE_OVERLOADING+data ScreenSetResolutionMethodInfo+instance (signature ~ (Double -> m ()), MonadIO m, IsScreen a) => O.MethodInfo ScreenSetResolutionMethodInfo a signature where+    overloadedMethod _ = screenSetResolution++#endif++-- method Screen::get_default+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Screen"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_get_default" gdk_screen_get_default :: +    IO (Ptr Screen)++{- |+Gets the default screen for the default display. (See+gdk_display_get_default ()).++/Since: 2.2/+-}+screenGetDefault ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m (Maybe Screen)+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Screen.Screen', or 'Nothing' if+    there is no default display. -}+screenGetDefault  = liftIO $ do+    result <- gdk_screen_get_default+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Screen) result'+        return result''+    return maybeResult++#if ENABLE_OVERLOADING+#endif++-- method Screen::height+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_height" gdk_screen_height :: +    IO Int32++{-# DEPRECATED screenHeight ["(Since version 3.22)","Use per-monitor information"] #-}+{- |+Gets the height of the default screen in pixels. The returned+size is in ”application pixels”, not in ”device pixels” (see+'GI.Gdk.Objects.Screen.screenGetMonitorScaleFactor').+-}+screenHeight ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m Int32+    {- ^ __Returns:__ the height of the default screen in pixels. -}+screenHeight  = liftIO $ do+    result <- gdk_screen_height+    return result++#if ENABLE_OVERLOADING+#endif++-- method Screen::height_mm+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_height_mm" gdk_screen_height_mm :: +    IO Int32++{-# DEPRECATED screenHeightMm ["(Since version 3.22)","Use per-monitor information"] #-}+{- |+Returns the height of the default screen in millimeters.+Note that on many X servers this value will not be correct.+-}+screenHeightMm ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m Int32+    {- ^ __Returns:__ the height of the default screen in millimeters,+though it is not always correct. -}+screenHeightMm  = liftIO $ do+    result <- gdk_screen_height_mm+    return result++#if ENABLE_OVERLOADING+#endif++-- method Screen::width+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_width" gdk_screen_width :: +    IO Int32++{-# DEPRECATED screenWidth ["(Since version 3.22)","Use per-monitor information"] #-}+{- |+Gets the width of the default screen in pixels. The returned+size is in ”application pixels”, not in ”device pixels” (see+'GI.Gdk.Objects.Screen.screenGetMonitorScaleFactor').+-}+screenWidth ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m Int32+    {- ^ __Returns:__ the width of the default screen in pixels. -}+screenWidth  = liftIO $ do+    result <- gdk_screen_width+    return result++#if ENABLE_OVERLOADING+#endif++-- method Screen::width_mm+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_screen_width_mm" gdk_screen_width_mm :: +    IO Int32++{-# DEPRECATED screenWidthMm ["(Since version 3.22)","Use per-monitor information"] #-}+{- |+Returns the width of the default screen in millimeters.+Note that on many X servers this value will not be correct.+-}+screenWidthMm ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m Int32+    {- ^ __Returns:__ the width of the default screen in millimeters,+though it is not always correct. -}+screenWidthMm  = liftIO $ do+    result <- gdk_screen_width_mm+    return result++#if ENABLE_OVERLOADING+#endif++
+ GI/Gdk/Objects/Screen.hs-boot view
@@ -0,0 +1,134 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Objects.Screen where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype Screen = Screen (ManagedPtr Screen)+instance GObject Screen where+class (GObject o, O.IsDescendantOf Screen o) => IsScreen o+instance (GObject o, O.IsDescendantOf Screen o) => IsScreen o+instance O.HasParentTypes Screen+#if ENABLE_OVERLOADING+data ScreenFontOptionsPropertyInfo+#endif+#if ENABLE_OVERLOADING+data ScreenResolutionPropertyInfo+#endif+#if ENABLE_OVERLOADING+data ScreenCompositedChangedSignalInfo+#endif+#if ENABLE_OVERLOADING+data ScreenMonitorsChangedSignalInfo+#endif+#if ENABLE_OVERLOADING+data ScreenSizeChangedSignalInfo+#endif+#if ENABLE_OVERLOADING+data ScreenGetActiveWindowMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenGetDisplayMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenGetFontOptionsMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenGetHeightMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenGetHeightMmMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenGetMonitorAtPointMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenGetMonitorAtWindowMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenGetMonitorGeometryMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenGetMonitorHeightMmMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenGetMonitorPlugNameMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenGetMonitorScaleFactorMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenGetMonitorWidthMmMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenGetMonitorWorkareaMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenGetNMonitorsMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenGetNumberMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenGetPrimaryMonitorMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenGetResolutionMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenGetRgbaVisualMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenGetRootWindowMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenGetSettingMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenGetSystemVisualMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenGetToplevelWindowsMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenGetWidthMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenGetWidthMmMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenGetWindowStackMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenIsCompositedMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenListVisualsMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenMakeDisplayNameMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenSetFontOptionsMethodInfo+#endif+#if ENABLE_OVERLOADING+data ScreenSetResolutionMethodInfo+#endif
+ GI/Gdk/Objects/Seat.hs view
@@ -0,0 +1,989 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++The 'GI.Gdk.Objects.Seat.Seat' object represents a collection of input devices+that belong to a user.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Objects.Seat+    ( ++-- * Exported types+    Seat(..)                                ,+    IsSeat                                  ,+    toSeat                                  ,+    noSeat                                  ,+++ -- * Methods+-- ** getCapabilities #method:getCapabilities#++#if ENABLE_OVERLOADING+    SeatGetCapabilitiesMethodInfo           ,+#endif+    seatGetCapabilities                     ,+++-- ** getDisplay #method:getDisplay#++#if ENABLE_OVERLOADING+    SeatGetDisplayMethodInfo                ,+#endif+    seatGetDisplay                          ,+++-- ** getKeyboard #method:getKeyboard#++#if ENABLE_OVERLOADING+    SeatGetKeyboardMethodInfo               ,+#endif+    seatGetKeyboard                         ,+++-- ** getPointer #method:getPointer#++#if ENABLE_OVERLOADING+    SeatGetPointerMethodInfo                ,+#endif+    seatGetPointer                          ,+++-- ** getSlaves #method:getSlaves#++#if ENABLE_OVERLOADING+    SeatGetSlavesMethodInfo                 ,+#endif+    seatGetSlaves                           ,+++-- ** grab #method:grab#++#if ENABLE_OVERLOADING+    SeatGrabMethodInfo                      ,+#endif+    seatGrab                                ,+++-- ** ungrab #method:ungrab#++#if ENABLE_OVERLOADING+    SeatUngrabMethodInfo                    ,+#endif+    seatUngrab                              ,+++++ -- * Properties+-- ** display #attr:display#+{- | 'GI.Gdk.Objects.Display.Display' of this seat.++/Since: 3.20/+-}+#if ENABLE_OVERLOADING+    SeatDisplayPropertyInfo                 ,+#endif+    constructSeatDisplay                    ,+    getSeatDisplay                          ,+#if ENABLE_OVERLOADING+    seatDisplay                             ,+#endif+++++ -- * Signals+-- ** deviceAdded #signal:deviceAdded#++    C_SeatDeviceAddedCallback               ,+    SeatDeviceAddedCallback                 ,+#if ENABLE_OVERLOADING+    SeatDeviceAddedSignalInfo               ,+#endif+    afterSeatDeviceAdded                    ,+    genClosure_SeatDeviceAdded              ,+    mk_SeatDeviceAddedCallback              ,+    noSeatDeviceAddedCallback               ,+    onSeatDeviceAdded                       ,+    wrap_SeatDeviceAddedCallback            ,+++-- ** deviceRemoved #signal:deviceRemoved#++    C_SeatDeviceRemovedCallback             ,+    SeatDeviceRemovedCallback               ,+#if ENABLE_OVERLOADING+    SeatDeviceRemovedSignalInfo             ,+#endif+    afterSeatDeviceRemoved                  ,+    genClosure_SeatDeviceRemoved            ,+    mk_SeatDeviceRemovedCallback            ,+    noSeatDeviceRemovedCallback             ,+    onSeatDeviceRemoved                     ,+    wrap_SeatDeviceRemovedCallback          ,+++-- ** toolAdded #signal:toolAdded#++    C_SeatToolAddedCallback                 ,+    SeatToolAddedCallback                   ,+#if ENABLE_OVERLOADING+    SeatToolAddedSignalInfo                 ,+#endif+    afterSeatToolAdded                      ,+    genClosure_SeatToolAdded                ,+    mk_SeatToolAddedCallback                ,+    noSeatToolAddedCallback                 ,+    onSeatToolAdded                         ,+    wrap_SeatToolAddedCallback              ,+++-- ** toolRemoved #signal:toolRemoved#++    C_SeatToolRemovedCallback               ,+    SeatToolRemovedCallback                 ,+#if ENABLE_OVERLOADING+    SeatToolRemovedSignalInfo               ,+#endif+    afterSeatToolRemoved                    ,+    genClosure_SeatToolRemoved              ,+    mk_SeatToolRemovedCallback              ,+    noSeatToolRemovedCallback               ,+    onSeatToolRemoved                       ,+    wrap_SeatToolRemovedCallback            ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import qualified GI.GObject.Objects.Object as GObject.Object+import qualified GI.Gdk.Callbacks as Gdk.Callbacks+import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Flags as Gdk.Flags+import {-# SOURCE #-} qualified GI.Gdk.Objects.Cursor as Gdk.Cursor+import {-# SOURCE #-} qualified GI.Gdk.Objects.Device as Gdk.Device+import {-# SOURCE #-} qualified GI.Gdk.Objects.DeviceTool as Gdk.DeviceTool+import {-# SOURCE #-} qualified GI.Gdk.Objects.Display as Gdk.Display+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window+import {-# SOURCE #-} qualified GI.Gdk.Unions.Event as Gdk.Event++-- | Memory-managed wrapper type.+newtype Seat = Seat (ManagedPtr Seat)+foreign import ccall "gdk_seat_get_type"+    c_gdk_seat_get_type :: IO GType++instance GObject Seat where+    gobjectType = c_gdk_seat_get_type+    ++-- | Type class for types which can be safely cast to `Seat`, for instance with `toSeat`.+class (GObject o, O.IsDescendantOf Seat o) => IsSeat o+instance (GObject o, O.IsDescendantOf Seat o) => IsSeat o++instance O.HasParentTypes Seat+type instance O.ParentTypes Seat = '[GObject.Object.Object]++-- | Cast to `Seat`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toSeat :: (MonadIO m, IsSeat o) => o -> m Seat+toSeat = liftIO . unsafeCastTo Seat++-- | A convenience alias for `Nothing` :: `Maybe` `Seat`.+noSeat :: Maybe Seat+noSeat = Nothing++#if ENABLE_OVERLOADING+type family ResolveSeatMethod (t :: Symbol) (o :: *) :: * where+    ResolveSeatMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveSeatMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveSeatMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveSeatMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveSeatMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveSeatMethod "grab" o = SeatGrabMethodInfo+    ResolveSeatMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveSeatMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveSeatMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveSeatMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveSeatMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveSeatMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveSeatMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveSeatMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveSeatMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveSeatMethod "ungrab" o = SeatUngrabMethodInfo+    ResolveSeatMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveSeatMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveSeatMethod "getCapabilities" o = SeatGetCapabilitiesMethodInfo+    ResolveSeatMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveSeatMethod "getDisplay" o = SeatGetDisplayMethodInfo+    ResolveSeatMethod "getKeyboard" o = SeatGetKeyboardMethodInfo+    ResolveSeatMethod "getPointer" o = SeatGetPointerMethodInfo+    ResolveSeatMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveSeatMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveSeatMethod "getSlaves" o = SeatGetSlavesMethodInfo+    ResolveSeatMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveSeatMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveSeatMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveSeatMethod t Seat, O.MethodInfo info Seat p) => OL.IsLabel t (Seat -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++-- signal Seat::device-added+{- |+The ::device-added signal is emitted when a new input+device is related to this seat.++/Since: 3.20/+-}+type SeatDeviceAddedCallback =+    Gdk.Device.Device+    {- ^ /@device@/: the newly added 'GI.Gdk.Objects.Device.Device'. -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `SeatDeviceAddedCallback`@.+noSeatDeviceAddedCallback :: Maybe SeatDeviceAddedCallback+noSeatDeviceAddedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_SeatDeviceAddedCallback =+    Ptr () ->                               -- object+    Ptr Gdk.Device.Device ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_SeatDeviceAddedCallback`.+foreign import ccall "wrapper"+    mk_SeatDeviceAddedCallback :: C_SeatDeviceAddedCallback -> IO (FunPtr C_SeatDeviceAddedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_SeatDeviceAdded :: MonadIO m => SeatDeviceAddedCallback -> m (GClosure C_SeatDeviceAddedCallback)+genClosure_SeatDeviceAdded cb = liftIO $ do+    let cb' = wrap_SeatDeviceAddedCallback cb+    mk_SeatDeviceAddedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `SeatDeviceAddedCallback` into a `C_SeatDeviceAddedCallback`.+wrap_SeatDeviceAddedCallback ::+    SeatDeviceAddedCallback ->+    C_SeatDeviceAddedCallback+wrap_SeatDeviceAddedCallback _cb _ device _ = do+    device' <- (newObject Gdk.Device.Device) device+    _cb  device'+++{- |+Connect a signal handler for the “@device-added@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' seat #deviceAdded callback+@+-}+onSeatDeviceAdded :: (IsSeat a, MonadIO m) => a -> SeatDeviceAddedCallback -> m SignalHandlerId+onSeatDeviceAdded obj cb = liftIO $ do+    let cb' = wrap_SeatDeviceAddedCallback cb+    cb'' <- mk_SeatDeviceAddedCallback cb'+    connectSignalFunPtr obj "device-added" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@device-added@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' seat #deviceAdded callback+@+-}+afterSeatDeviceAdded :: (IsSeat a, MonadIO m) => a -> SeatDeviceAddedCallback -> m SignalHandlerId+afterSeatDeviceAdded obj cb = liftIO $ do+    let cb' = wrap_SeatDeviceAddedCallback cb+    cb'' <- mk_SeatDeviceAddedCallback cb'+    connectSignalFunPtr obj "device-added" cb'' SignalConnectAfter+++-- signal Seat::device-removed+{- |+The ::device-removed signal is emitted when an+input device is removed (e.g. unplugged).++/Since: 3.20/+-}+type SeatDeviceRemovedCallback =+    Gdk.Device.Device+    {- ^ /@device@/: the just removed 'GI.Gdk.Objects.Device.Device'. -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `SeatDeviceRemovedCallback`@.+noSeatDeviceRemovedCallback :: Maybe SeatDeviceRemovedCallback+noSeatDeviceRemovedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_SeatDeviceRemovedCallback =+    Ptr () ->                               -- object+    Ptr Gdk.Device.Device ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_SeatDeviceRemovedCallback`.+foreign import ccall "wrapper"+    mk_SeatDeviceRemovedCallback :: C_SeatDeviceRemovedCallback -> IO (FunPtr C_SeatDeviceRemovedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_SeatDeviceRemoved :: MonadIO m => SeatDeviceRemovedCallback -> m (GClosure C_SeatDeviceRemovedCallback)+genClosure_SeatDeviceRemoved cb = liftIO $ do+    let cb' = wrap_SeatDeviceRemovedCallback cb+    mk_SeatDeviceRemovedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `SeatDeviceRemovedCallback` into a `C_SeatDeviceRemovedCallback`.+wrap_SeatDeviceRemovedCallback ::+    SeatDeviceRemovedCallback ->+    C_SeatDeviceRemovedCallback+wrap_SeatDeviceRemovedCallback _cb _ device _ = do+    device' <- (newObject Gdk.Device.Device) device+    _cb  device'+++{- |+Connect a signal handler for the “@device-removed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' seat #deviceRemoved callback+@+-}+onSeatDeviceRemoved :: (IsSeat a, MonadIO m) => a -> SeatDeviceRemovedCallback -> m SignalHandlerId+onSeatDeviceRemoved obj cb = liftIO $ do+    let cb' = wrap_SeatDeviceRemovedCallback cb+    cb'' <- mk_SeatDeviceRemovedCallback cb'+    connectSignalFunPtr obj "device-removed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@device-removed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' seat #deviceRemoved callback+@+-}+afterSeatDeviceRemoved :: (IsSeat a, MonadIO m) => a -> SeatDeviceRemovedCallback -> m SignalHandlerId+afterSeatDeviceRemoved obj cb = liftIO $ do+    let cb' = wrap_SeatDeviceRemovedCallback cb+    cb'' <- mk_SeatDeviceRemovedCallback cb'+    connectSignalFunPtr obj "device-removed" cb'' SignalConnectAfter+++-- signal Seat::tool-added+{- |+The ::tool-added signal is emitted whenever a new tool+is made known to the seat. The tool may later be assigned+to a device (i.e. on proximity with a tablet). The device+will emit the 'GI.Gdk.Objects.Device.Device'::@/tool-changed/@ signal accordingly.++A same tool may be used by several devices.++/Since: 3.22/+-}+type SeatToolAddedCallback =+    Gdk.DeviceTool.DeviceTool+    {- ^ /@tool@/: the new 'GI.Gdk.Objects.DeviceTool.DeviceTool' known to the seat -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `SeatToolAddedCallback`@.+noSeatToolAddedCallback :: Maybe SeatToolAddedCallback+noSeatToolAddedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_SeatToolAddedCallback =+    Ptr () ->                               -- object+    Ptr Gdk.DeviceTool.DeviceTool ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_SeatToolAddedCallback`.+foreign import ccall "wrapper"+    mk_SeatToolAddedCallback :: C_SeatToolAddedCallback -> IO (FunPtr C_SeatToolAddedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_SeatToolAdded :: MonadIO m => SeatToolAddedCallback -> m (GClosure C_SeatToolAddedCallback)+genClosure_SeatToolAdded cb = liftIO $ do+    let cb' = wrap_SeatToolAddedCallback cb+    mk_SeatToolAddedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `SeatToolAddedCallback` into a `C_SeatToolAddedCallback`.+wrap_SeatToolAddedCallback ::+    SeatToolAddedCallback ->+    C_SeatToolAddedCallback+wrap_SeatToolAddedCallback _cb _ tool _ = do+    tool' <- (newObject Gdk.DeviceTool.DeviceTool) tool+    _cb  tool'+++{- |+Connect a signal handler for the “@tool-added@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' seat #toolAdded callback+@+-}+onSeatToolAdded :: (IsSeat a, MonadIO m) => a -> SeatToolAddedCallback -> m SignalHandlerId+onSeatToolAdded obj cb = liftIO $ do+    let cb' = wrap_SeatToolAddedCallback cb+    cb'' <- mk_SeatToolAddedCallback cb'+    connectSignalFunPtr obj "tool-added" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@tool-added@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' seat #toolAdded callback+@+-}+afterSeatToolAdded :: (IsSeat a, MonadIO m) => a -> SeatToolAddedCallback -> m SignalHandlerId+afterSeatToolAdded obj cb = liftIO $ do+    let cb' = wrap_SeatToolAddedCallback cb+    cb'' <- mk_SeatToolAddedCallback cb'+    connectSignalFunPtr obj "tool-added" cb'' SignalConnectAfter+++-- signal Seat::tool-removed+{- |+This signal is emitted whenever a tool is no longer known+to this /@seat@/.++/Since: 3.22/+-}+type SeatToolRemovedCallback =+    Gdk.DeviceTool.DeviceTool+    {- ^ /@tool@/: the just removed 'GI.Gdk.Objects.DeviceTool.DeviceTool' -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `SeatToolRemovedCallback`@.+noSeatToolRemovedCallback :: Maybe SeatToolRemovedCallback+noSeatToolRemovedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_SeatToolRemovedCallback =+    Ptr () ->                               -- object+    Ptr Gdk.DeviceTool.DeviceTool ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_SeatToolRemovedCallback`.+foreign import ccall "wrapper"+    mk_SeatToolRemovedCallback :: C_SeatToolRemovedCallback -> IO (FunPtr C_SeatToolRemovedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_SeatToolRemoved :: MonadIO m => SeatToolRemovedCallback -> m (GClosure C_SeatToolRemovedCallback)+genClosure_SeatToolRemoved cb = liftIO $ do+    let cb' = wrap_SeatToolRemovedCallback cb+    mk_SeatToolRemovedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `SeatToolRemovedCallback` into a `C_SeatToolRemovedCallback`.+wrap_SeatToolRemovedCallback ::+    SeatToolRemovedCallback ->+    C_SeatToolRemovedCallback+wrap_SeatToolRemovedCallback _cb _ tool _ = do+    tool' <- (newObject Gdk.DeviceTool.DeviceTool) tool+    _cb  tool'+++{- |+Connect a signal handler for the “@tool-removed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' seat #toolRemoved callback+@+-}+onSeatToolRemoved :: (IsSeat a, MonadIO m) => a -> SeatToolRemovedCallback -> m SignalHandlerId+onSeatToolRemoved obj cb = liftIO $ do+    let cb' = wrap_SeatToolRemovedCallback cb+    cb'' <- mk_SeatToolRemovedCallback cb'+    connectSignalFunPtr obj "tool-removed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@tool-removed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' seat #toolRemoved callback+@+-}+afterSeatToolRemoved :: (IsSeat a, MonadIO m) => a -> SeatToolRemovedCallback -> m SignalHandlerId+afterSeatToolRemoved obj cb = liftIO $ do+    let cb' = wrap_SeatToolRemovedCallback cb+    cb'' <- mk_SeatToolRemovedCallback cb'+    connectSignalFunPtr obj "tool-removed" cb'' SignalConnectAfter+++-- VVV Prop "display"+   -- Type: TInterface (Name {namespace = "Gdk", name = "Display"})+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@display@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' seat #display+@+-}+getSeatDisplay :: (MonadIO m, IsSeat o) => o -> m Gdk.Display.Display+getSeatDisplay obj = liftIO $ checkUnexpectedNothing "getSeatDisplay" $ B.Properties.getObjectPropertyObject obj "display" Gdk.Display.Display++{- |+Construct a `GValueConstruct` with valid value for the “@display@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructSeatDisplay :: (IsSeat o, Gdk.Display.IsDisplay a) => a -> IO (GValueConstruct o)+constructSeatDisplay val = B.Properties.constructObjectPropertyObject "display" (Just val)++#if ENABLE_OVERLOADING+data SeatDisplayPropertyInfo+instance AttrInfo SeatDisplayPropertyInfo where+    type AttrAllowedOps SeatDisplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint SeatDisplayPropertyInfo = Gdk.Display.IsDisplay+    type AttrBaseTypeConstraint SeatDisplayPropertyInfo = IsSeat+    type AttrGetType SeatDisplayPropertyInfo = Gdk.Display.Display+    type AttrLabel SeatDisplayPropertyInfo = "display"+    type AttrOrigin SeatDisplayPropertyInfo = Seat+    attrGet _ = getSeatDisplay+    attrSet _ = undefined+    attrConstruct _ = constructSeatDisplay+    attrClear _ = undefined+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList Seat+type instance O.AttributeList Seat = SeatAttributeList+type SeatAttributeList = ('[ '("display", SeatDisplayPropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+seatDisplay :: AttrLabelProxy "display"+seatDisplay = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+data SeatDeviceAddedSignalInfo+instance SignalInfo SeatDeviceAddedSignalInfo where+    type HaskellCallbackType SeatDeviceAddedSignalInfo = SeatDeviceAddedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_SeatDeviceAddedCallback cb+        cb'' <- mk_SeatDeviceAddedCallback cb'+        connectSignalFunPtr obj "device-added" cb'' connectMode++data SeatDeviceRemovedSignalInfo+instance SignalInfo SeatDeviceRemovedSignalInfo where+    type HaskellCallbackType SeatDeviceRemovedSignalInfo = SeatDeviceRemovedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_SeatDeviceRemovedCallback cb+        cb'' <- mk_SeatDeviceRemovedCallback cb'+        connectSignalFunPtr obj "device-removed" cb'' connectMode++data SeatToolAddedSignalInfo+instance SignalInfo SeatToolAddedSignalInfo where+    type HaskellCallbackType SeatToolAddedSignalInfo = SeatToolAddedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_SeatToolAddedCallback cb+        cb'' <- mk_SeatToolAddedCallback cb'+        connectSignalFunPtr obj "tool-added" cb'' connectMode++data SeatToolRemovedSignalInfo+instance SignalInfo SeatToolRemovedSignalInfo where+    type HaskellCallbackType SeatToolRemovedSignalInfo = SeatToolRemovedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_SeatToolRemovedCallback cb+        cb'' <- mk_SeatToolRemovedCallback cb'+        connectSignalFunPtr obj "tool-removed" cb'' connectMode++type instance O.SignalList Seat = SeatSignalList+type SeatSignalList = ('[ '("deviceAdded", SeatDeviceAddedSignalInfo), '("deviceRemoved", SeatDeviceRemovedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("toolAdded", SeatToolAddedSignalInfo), '("toolRemoved", SeatToolRemovedSignalInfo)] :: [(Symbol, *)])++#endif++-- method Seat::get_capabilities+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "seat", argType = TInterface (Name {namespace = "Gdk", name = "Seat"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkSeat", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "SeatCapabilities"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_seat_get_capabilities" gdk_seat_get_capabilities :: +    Ptr Seat ->                             -- seat : TInterface (Name {namespace = "Gdk", name = "Seat"})+    IO CUInt++{- |+Returns the capabilities this 'GI.Gdk.Objects.Seat.Seat' currently has.++/Since: 3.20/+-}+seatGetCapabilities ::+    (B.CallStack.HasCallStack, MonadIO m, IsSeat a) =>+    a+    {- ^ /@seat@/: a 'GI.Gdk.Objects.Seat.Seat' -}+    -> m [Gdk.Flags.SeatCapabilities]+    {- ^ __Returns:__ the seat capabilities -}+seatGetCapabilities seat = liftIO $ do+    seat' <- unsafeManagedPtrCastPtr seat+    result <- gdk_seat_get_capabilities seat'+    let result' = wordToGFlags result+    touchManagedPtr seat+    return result'++#if ENABLE_OVERLOADING+data SeatGetCapabilitiesMethodInfo+instance (signature ~ (m [Gdk.Flags.SeatCapabilities]), MonadIO m, IsSeat a) => O.MethodInfo SeatGetCapabilitiesMethodInfo a signature where+    overloadedMethod _ = seatGetCapabilities++#endif++-- method Seat::get_display+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "seat", argType = TInterface (Name {namespace = "Gdk", name = "Seat"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkSeat", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Display"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_seat_get_display" gdk_seat_get_display :: +    Ptr Seat ->                             -- seat : TInterface (Name {namespace = "Gdk", name = "Seat"})+    IO (Ptr Gdk.Display.Display)++{- |+Returns the 'GI.Gdk.Objects.Display.Display' this seat belongs to.+-}+seatGetDisplay ::+    (B.CallStack.HasCallStack, MonadIO m, IsSeat a) =>+    a+    {- ^ /@seat@/: a 'GI.Gdk.Objects.Seat.Seat' -}+    -> m Gdk.Display.Display+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Display.Display'. This object is owned by GTK++         and must not be freed. -}+seatGetDisplay seat = liftIO $ do+    seat' <- unsafeManagedPtrCastPtr seat+    result <- gdk_seat_get_display seat'+    checkUnexpectedReturnNULL "seatGetDisplay" result+    result' <- (newObject Gdk.Display.Display) result+    touchManagedPtr seat+    return result'++#if ENABLE_OVERLOADING+data SeatGetDisplayMethodInfo+instance (signature ~ (m Gdk.Display.Display), MonadIO m, IsSeat a) => O.MethodInfo SeatGetDisplayMethodInfo a signature where+    overloadedMethod _ = seatGetDisplay++#endif++-- method Seat::get_keyboard+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "seat", argType = TInterface (Name {namespace = "Gdk", name = "Seat"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkSeat", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Device"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_seat_get_keyboard" gdk_seat_get_keyboard :: +    Ptr Seat ->                             -- seat : TInterface (Name {namespace = "Gdk", name = "Seat"})+    IO (Ptr Gdk.Device.Device)++{- |+Returns the master device that routes keyboard events.++/Since: 3.20/+-}+seatGetKeyboard ::+    (B.CallStack.HasCallStack, MonadIO m, IsSeat a) =>+    a+    {- ^ /@seat@/: a 'GI.Gdk.Objects.Seat.Seat' -}+    -> m (Maybe Gdk.Device.Device)+    {- ^ __Returns:__ a master 'GI.Gdk.Objects.Device.Device' with keyboard+         capabilities. This object is owned by GTK+ and must not be freed. -}+seatGetKeyboard seat = liftIO $ do+    seat' <- unsafeManagedPtrCastPtr seat+    result <- gdk_seat_get_keyboard seat'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Gdk.Device.Device) result'+        return result''+    touchManagedPtr seat+    return maybeResult++#if ENABLE_OVERLOADING+data SeatGetKeyboardMethodInfo+instance (signature ~ (m (Maybe Gdk.Device.Device)), MonadIO m, IsSeat a) => O.MethodInfo SeatGetKeyboardMethodInfo a signature where+    overloadedMethod _ = seatGetKeyboard++#endif++-- method Seat::get_pointer+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "seat", argType = TInterface (Name {namespace = "Gdk", name = "Seat"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkSeat", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Device"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_seat_get_pointer" gdk_seat_get_pointer :: +    Ptr Seat ->                             -- seat : TInterface (Name {namespace = "Gdk", name = "Seat"})+    IO (Ptr Gdk.Device.Device)++{- |+Returns the master device that routes pointer events.++/Since: 3.20/+-}+seatGetPointer ::+    (B.CallStack.HasCallStack, MonadIO m, IsSeat a) =>+    a+    {- ^ /@seat@/: a 'GI.Gdk.Objects.Seat.Seat' -}+    -> m (Maybe Gdk.Device.Device)+    {- ^ __Returns:__ a master 'GI.Gdk.Objects.Device.Device' with pointer+         capabilities. This object is owned by GTK+ and must not be freed. -}+seatGetPointer seat = liftIO $ do+    seat' <- unsafeManagedPtrCastPtr seat+    result <- gdk_seat_get_pointer seat'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Gdk.Device.Device) result'+        return result''+    touchManagedPtr seat+    return maybeResult++#if ENABLE_OVERLOADING+data SeatGetPointerMethodInfo+instance (signature ~ (m (Maybe Gdk.Device.Device)), MonadIO m, IsSeat a) => O.MethodInfo SeatGetPointerMethodInfo a signature where+    overloadedMethod _ = seatGetPointer++#endif++-- method Seat::get_slaves+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "seat", argType = TInterface (Name {namespace = "Gdk", name = "Seat"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkSeat", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "capabilities", argType = TInterface (Name {namespace = "Gdk", name = "SeatCapabilities"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "capabilities to get devices for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TGList (TInterface (Name {namespace = "Gdk", name = "Device"})))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_seat_get_slaves" gdk_seat_get_slaves :: +    Ptr Seat ->                             -- seat : TInterface (Name {namespace = "Gdk", name = "Seat"})+    CUInt ->                                -- capabilities : TInterface (Name {namespace = "Gdk", name = "SeatCapabilities"})+    IO (Ptr (GList (Ptr Gdk.Device.Device)))++{- |+Returns the slave devices that match the given capabilities.++/Since: 3.20/+-}+seatGetSlaves ::+    (B.CallStack.HasCallStack, MonadIO m, IsSeat a) =>+    a+    {- ^ /@seat@/: a 'GI.Gdk.Objects.Seat.Seat' -}+    -> [Gdk.Flags.SeatCapabilities]+    {- ^ /@capabilities@/: capabilities to get devices for -}+    -> m [Gdk.Device.Device]+    {- ^ __Returns:__ A list of @/GdkDevices/@.+         The list must be freed with @/g_list_free()/@, the elements are owned+         by GDK and must not be freed. -}+seatGetSlaves seat capabilities = liftIO $ do+    seat' <- unsafeManagedPtrCastPtr seat+    let capabilities' = gflagsToWord capabilities+    result <- gdk_seat_get_slaves seat' capabilities'+    result' <- unpackGList result+    result'' <- mapM (newObject Gdk.Device.Device) result'+    g_list_free result+    touchManagedPtr seat+    return result''++#if ENABLE_OVERLOADING+data SeatGetSlavesMethodInfo+instance (signature ~ ([Gdk.Flags.SeatCapabilities] -> m [Gdk.Device.Device]), MonadIO m, IsSeat a) => O.MethodInfo SeatGetSlavesMethodInfo a signature where+    overloadedMethod _ = seatGetSlaves++#endif++-- method Seat::grab+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "seat", argType = TInterface (Name {namespace = "Gdk", name = "Seat"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkSeat", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkWindow which will own the grab", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "capabilities", argType = TInterface (Name {namespace = "Gdk", name = "SeatCapabilities"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "capabilities that will be grabbed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "owner_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if %FALSE then all device events are reported with respect to\n               @window and are only reported if selected by @event_mask. If\n               %TRUE then pointer events for this application are reported\n               as normal, but pointer events outside this application are\n               reported with respect to @window and only if selected by\n               @event_mask. In either mode, unreported events are discarded.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cursor", argType = TInterface (Name {namespace = "Gdk", name = "Cursor"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the cursor to display while the grab is active. If\n         this is %NULL then the normal cursors are used for\n         @window and its descendants, and the cursor for @window is used\n         elsewhere.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the event that is triggering the grab, or %NULL if none\n        is available.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "prepare_func", argType = TInterface (Name {namespace = "Gdk", name = "SeatGrabPrepareFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "function to\n               prepare the window to be grabbed, it can be %NULL if @window is\n               visible before this call.", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 7, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "prepare_func_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to @prepare_func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "GrabStatus"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_seat_grab" gdk_seat_grab :: +    Ptr Seat ->                             -- seat : TInterface (Name {namespace = "Gdk", name = "Seat"})+    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CUInt ->                                -- capabilities : TInterface (Name {namespace = "Gdk", name = "SeatCapabilities"})+    CInt ->                                 -- owner_events : TBasicType TBoolean+    Ptr Gdk.Cursor.Cursor ->                -- cursor : TInterface (Name {namespace = "Gdk", name = "Cursor"})+    Ptr Gdk.Event.Event ->                  -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    FunPtr Gdk.Callbacks.C_SeatGrabPrepareFunc -> -- prepare_func : TInterface (Name {namespace = "Gdk", name = "SeatGrabPrepareFunc"})+    Ptr () ->                               -- prepare_func_data : TBasicType TPtr+    IO CUInt++{- |+Grabs the seat so that all events corresponding to the given /@capabilities@/+are passed to this application until the seat is ungrabbed with 'GI.Gdk.Objects.Seat.seatUngrab',+or the window becomes hidden. This overrides any previous grab on the+seat by this client.++As a rule of thumb, if a grab is desired over 'GI.Gdk.Flags.SeatCapabilitiesPointer',+all other \"pointing\" capabilities (eg. 'GI.Gdk.Flags.SeatCapabilitiesTouch') should+be grabbed too, so the user is able to interact with all of those while+the grab holds, you should thus use 'GI.Gdk.Flags.SeatCapabilitiesAllPointing' most+commonly.++Grabs are used for operations which need complete control over the+events corresponding to the given capabilities. For example in GTK+ this+is used for Drag and Drop operations, popup menus and such.++Note that if the event mask of a 'GI.Gdk.Objects.Window.Window' has selected both button press+and button release events, or touch begin and touch end, then a press event+will cause an automatic grab until the button is released, equivalent to a+grab on the window with /@ownerEvents@/ set to 'True'. This is done because most+applications expect to receive paired press and release events.++If you set up anything at the time you take the grab that needs to be+cleaned up when the grab ends, you should handle the 'GI.Gdk.Structs.EventGrabBroken.EventGrabBroken'+events that are emitted when the grab ends unvoluntarily.++/Since: 3.20/+-}+seatGrab ::+    (B.CallStack.HasCallStack, MonadIO m, IsSeat a, Gdk.Window.IsWindow b, Gdk.Cursor.IsCursor c) =>+    a+    {- ^ /@seat@/: a 'GI.Gdk.Objects.Seat.Seat' -}+    -> b+    {- ^ /@window@/: the 'GI.Gdk.Objects.Window.Window' which will own the grab -}+    -> [Gdk.Flags.SeatCapabilities]+    {- ^ /@capabilities@/: capabilities that will be grabbed -}+    -> Bool+    {- ^ /@ownerEvents@/: if 'False' then all device events are reported with respect to+               /@window@/ and are only reported if selected by /@eventMask@/. If+               'True' then pointer events for this application are reported+               as normal, but pointer events outside this application are+               reported with respect to /@window@/ and only if selected by+               /@eventMask@/. In either mode, unreported events are discarded. -}+    -> Maybe (c)+    {- ^ /@cursor@/: the cursor to display while the grab is active. If+         this is 'Nothing' then the normal cursors are used for+         /@window@/ and its descendants, and the cursor for /@window@/ is used+         elsewhere. -}+    -> Maybe (Gdk.Event.Event)+    {- ^ /@event@/: the event that is triggering the grab, or 'Nothing' if none+        is available. -}+    -> Maybe (Gdk.Callbacks.SeatGrabPrepareFunc)+    {- ^ /@prepareFunc@/: function to+               prepare the window to be grabbed, it can be 'Nothing' if /@window@/ is+               visible before this call. -}+    -> m Gdk.Enums.GrabStatus+    {- ^ __Returns:__ 'GI.Gdk.Enums.GrabStatusSuccess' if the grab was successful. -}+seatGrab seat window capabilities ownerEvents cursor event prepareFunc = liftIO $ do+    seat' <- unsafeManagedPtrCastPtr seat+    window' <- unsafeManagedPtrCastPtr window+    let capabilities' = gflagsToWord capabilities+    let ownerEvents' = (fromIntegral . fromEnum) ownerEvents+    maybeCursor <- case cursor of+        Nothing -> return nullPtr+        Just jCursor -> do+            jCursor' <- unsafeManagedPtrCastPtr jCursor+            return jCursor'+    maybeEvent <- case event of+        Nothing -> return nullPtr+        Just jEvent -> do+            jEvent' <- unsafeManagedPtrGetPtr jEvent+            return jEvent'+    maybePrepareFunc <- case prepareFunc of+        Nothing -> return (castPtrToFunPtr nullPtr)+        Just jPrepareFunc -> do+            jPrepareFunc' <- Gdk.Callbacks.mk_SeatGrabPrepareFunc (Gdk.Callbacks.wrap_SeatGrabPrepareFunc Nothing (Gdk.Callbacks.drop_closures_SeatGrabPrepareFunc jPrepareFunc))+            return jPrepareFunc'+    let prepareFuncData = nullPtr+    result <- gdk_seat_grab seat' window' capabilities' ownerEvents' maybeCursor maybeEvent maybePrepareFunc prepareFuncData+    let result' = (toEnum . fromIntegral) result+    safeFreeFunPtr $ castFunPtrToPtr maybePrepareFunc+    touchManagedPtr seat+    touchManagedPtr window+    whenJust cursor touchManagedPtr+    whenJust event touchManagedPtr+    return result'++#if ENABLE_OVERLOADING+data SeatGrabMethodInfo+instance (signature ~ (b -> [Gdk.Flags.SeatCapabilities] -> Bool -> Maybe (c) -> Maybe (Gdk.Event.Event) -> Maybe (Gdk.Callbacks.SeatGrabPrepareFunc) -> m Gdk.Enums.GrabStatus), MonadIO m, IsSeat a, Gdk.Window.IsWindow b, Gdk.Cursor.IsCursor c) => O.MethodInfo SeatGrabMethodInfo a signature where+    overloadedMethod _ = seatGrab++#endif++-- method Seat::ungrab+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "seat", argType = TInterface (Name {namespace = "Gdk", name = "Seat"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkSeat", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_seat_ungrab" gdk_seat_ungrab :: +    Ptr Seat ->                             -- seat : TInterface (Name {namespace = "Gdk", name = "Seat"})+    IO ()++{- |+Releases a grab added through 'GI.Gdk.Objects.Seat.seatGrab'.++/Since: 3.20/+-}+seatUngrab ::+    (B.CallStack.HasCallStack, MonadIO m, IsSeat a) =>+    a+    {- ^ /@seat@/: a 'GI.Gdk.Objects.Seat.Seat' -}+    -> m ()+seatUngrab seat = liftIO $ do+    seat' <- unsafeManagedPtrCastPtr seat+    gdk_seat_ungrab seat'+    touchManagedPtr seat+    return ()++#if ENABLE_OVERLOADING+data SeatUngrabMethodInfo+instance (signature ~ (m ()), MonadIO m, IsSeat a) => O.MethodInfo SeatUngrabMethodInfo a signature where+    overloadedMethod _ = seatUngrab++#endif++
+ GI/Gdk/Objects/Seat.hs-boot view
@@ -0,0 +1,65 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Objects.Seat where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype Seat = Seat (ManagedPtr Seat)+instance GObject Seat where+class (GObject o, O.IsDescendantOf Seat o) => IsSeat o+instance (GObject o, O.IsDescendantOf Seat o) => IsSeat o+instance O.HasParentTypes Seat+#if ENABLE_OVERLOADING+data SeatDisplayPropertyInfo+#endif+#if ENABLE_OVERLOADING+data SeatDeviceAddedSignalInfo+#endif+#if ENABLE_OVERLOADING+data SeatDeviceRemovedSignalInfo+#endif+#if ENABLE_OVERLOADING+data SeatToolAddedSignalInfo+#endif+#if ENABLE_OVERLOADING+data SeatToolRemovedSignalInfo+#endif+#if ENABLE_OVERLOADING+data SeatGetCapabilitiesMethodInfo+#endif+#if ENABLE_OVERLOADING+data SeatGetDisplayMethodInfo+#endif+#if ENABLE_OVERLOADING+data SeatGetKeyboardMethodInfo+#endif+#if ENABLE_OVERLOADING+data SeatGetPointerMethodInfo+#endif+#if ENABLE_OVERLOADING+data SeatGetSlavesMethodInfo+#endif+#if ENABLE_OVERLOADING+data SeatGrabMethodInfo+#endif+#if ENABLE_OVERLOADING+data SeatUngrabMethodInfo+#endif
+ GI/Gdk/Objects/Visual.hs view
@@ -0,0 +1,848 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++A 'GI.Gdk.Objects.Visual.Visual' contains information about+a particular visual.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Objects.Visual+    ( ++-- * Exported types+    Visual(..)                              ,+    IsVisual                                ,+    toVisual                                ,+    noVisual                                ,+++ -- * Methods+-- ** getBest #method:getBest#++    visualGetBest                           ,+++-- ** getBestDepth #method:getBestDepth#++    visualGetBestDepth                      ,+++-- ** getBestType #method:getBestType#++    visualGetBestType                       ,+++-- ** getBestWithBoth #method:getBestWithBoth#++    visualGetBestWithBoth                   ,+++-- ** getBestWithDepth #method:getBestWithDepth#++    visualGetBestWithDepth                  ,+++-- ** getBestWithType #method:getBestWithType#++    visualGetBestWithType                   ,+++-- ** getBitsPerRgb #method:getBitsPerRgb#++#if ENABLE_OVERLOADING+    VisualGetBitsPerRgbMethodInfo           ,+#endif+    visualGetBitsPerRgb                     ,+++-- ** getBluePixelDetails #method:getBluePixelDetails#++#if ENABLE_OVERLOADING+    VisualGetBluePixelDetailsMethodInfo     ,+#endif+    visualGetBluePixelDetails               ,+++-- ** getByteOrder #method:getByteOrder#++#if ENABLE_OVERLOADING+    VisualGetByteOrderMethodInfo            ,+#endif+    visualGetByteOrder                      ,+++-- ** getColormapSize #method:getColormapSize#++#if ENABLE_OVERLOADING+    VisualGetColormapSizeMethodInfo         ,+#endif+    visualGetColormapSize                   ,+++-- ** getDepth #method:getDepth#++#if ENABLE_OVERLOADING+    VisualGetDepthMethodInfo                ,+#endif+    visualGetDepth                          ,+++-- ** getGreenPixelDetails #method:getGreenPixelDetails#++#if ENABLE_OVERLOADING+    VisualGetGreenPixelDetailsMethodInfo    ,+#endif+    visualGetGreenPixelDetails              ,+++-- ** getRedPixelDetails #method:getRedPixelDetails#++#if ENABLE_OVERLOADING+    VisualGetRedPixelDetailsMethodInfo      ,+#endif+    visualGetRedPixelDetails                ,+++-- ** getScreen #method:getScreen#++#if ENABLE_OVERLOADING+    VisualGetScreenMethodInfo               ,+#endif+    visualGetScreen                         ,+++-- ** getSystem #method:getSystem#++    visualGetSystem                         ,+++-- ** getVisualType #method:getVisualType#++#if ENABLE_OVERLOADING+    VisualGetVisualTypeMethodInfo           ,+#endif+    visualGetVisualType                     ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import qualified GI.GObject.Objects.Object as GObject.Object+import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Objects.Screen as Gdk.Screen++-- | Memory-managed wrapper type.+newtype Visual = Visual (ManagedPtr Visual)+foreign import ccall "gdk_visual_get_type"+    c_gdk_visual_get_type :: IO GType++instance GObject Visual where+    gobjectType = c_gdk_visual_get_type+    ++-- | Type class for types which can be safely cast to `Visual`, for instance with `toVisual`.+class (GObject o, O.IsDescendantOf Visual o) => IsVisual o+instance (GObject o, O.IsDescendantOf Visual o) => IsVisual o++instance O.HasParentTypes Visual+type instance O.ParentTypes Visual = '[GObject.Object.Object]++-- | Cast to `Visual`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toVisual :: (MonadIO m, IsVisual o) => o -> m Visual+toVisual = liftIO . unsafeCastTo Visual++-- | A convenience alias for `Nothing` :: `Maybe` `Visual`.+noVisual :: Maybe Visual+noVisual = Nothing++#if ENABLE_OVERLOADING+type family ResolveVisualMethod (t :: Symbol) (o :: *) :: * where+    ResolveVisualMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveVisualMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveVisualMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveVisualMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveVisualMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveVisualMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveVisualMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveVisualMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveVisualMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveVisualMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveVisualMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveVisualMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveVisualMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveVisualMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveVisualMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveVisualMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveVisualMethod "getBitsPerRgb" o = VisualGetBitsPerRgbMethodInfo+    ResolveVisualMethod "getBluePixelDetails" o = VisualGetBluePixelDetailsMethodInfo+    ResolveVisualMethod "getByteOrder" o = VisualGetByteOrderMethodInfo+    ResolveVisualMethod "getColormapSize" o = VisualGetColormapSizeMethodInfo+    ResolveVisualMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveVisualMethod "getDepth" o = VisualGetDepthMethodInfo+    ResolveVisualMethod "getGreenPixelDetails" o = VisualGetGreenPixelDetailsMethodInfo+    ResolveVisualMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveVisualMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveVisualMethod "getRedPixelDetails" o = VisualGetRedPixelDetailsMethodInfo+    ResolveVisualMethod "getScreen" o = VisualGetScreenMethodInfo+    ResolveVisualMethod "getVisualType" o = VisualGetVisualTypeMethodInfo+    ResolveVisualMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveVisualMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveVisualMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveVisualMethod t Visual, O.MethodInfo info Visual p) => OL.IsLabel t (Visual -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList Visual+type instance O.AttributeList Visual = VisualAttributeList+type VisualAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type instance O.SignalList Visual = VisualSignalList+type VisualSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method Visual::get_bits_per_rgb+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "visual", argType = TInterface (Name {namespace = "Gdk", name = "Visual"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkVisual", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_bits_per_rgb" gdk_visual_get_bits_per_rgb :: +    Ptr Visual ->                           -- visual : TInterface (Name {namespace = "Gdk", name = "Visual"})+    IO Int32++{-# DEPRECATED visualGetBitsPerRgb ["(Since version 3.22.)","Use 'GI.Gdk.Objects.Visual.visualGetRedPixelDetails' and its variants to","    learn about the pixel layout of TrueColor and DirectColor visuals"] #-}+{- |+Returns the number of significant bits per red, green and blue value.++Not all GDK backend provide a meaningful value for this function.++/Since: 2.22/+-}+visualGetBitsPerRgb ::+    (B.CallStack.HasCallStack, MonadIO m, IsVisual a) =>+    a+    {- ^ /@visual@/: a 'GI.Gdk.Objects.Visual.Visual' -}+    -> m Int32+    {- ^ __Returns:__ The number of significant bits per color value for /@visual@/. -}+visualGetBitsPerRgb visual = liftIO $ do+    visual' <- unsafeManagedPtrCastPtr visual+    result <- gdk_visual_get_bits_per_rgb visual'+    touchManagedPtr visual+    return result++#if ENABLE_OVERLOADING+data VisualGetBitsPerRgbMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsVisual a) => O.MethodInfo VisualGetBitsPerRgbMethodInfo a signature where+    overloadedMethod _ = visualGetBitsPerRgb++#endif++-- method Visual::get_blue_pixel_details+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "visual", argType = TInterface (Name {namespace = "Gdk", name = "Visual"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkVisual", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mask", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to a #guint32 to be filled in, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "shift", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to a #gint to be filled in, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "precision", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to a #gint to be filled in, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_blue_pixel_details" gdk_visual_get_blue_pixel_details :: +    Ptr Visual ->                           -- visual : TInterface (Name {namespace = "Gdk", name = "Visual"})+    Ptr Word32 ->                           -- mask : TBasicType TUInt32+    Ptr Int32 ->                            -- shift : TBasicType TInt+    Ptr Int32 ->                            -- precision : TBasicType TInt+    IO ()++{- |+Obtains values that are needed to calculate blue pixel values in TrueColor+and DirectColor. The “mask” is the significant bits within the pixel.+The “shift” is the number of bits left we must shift a primary for it+to be in position (according to the \"mask\"). Finally, \"precision\" refers+to how much precision the pixel value contains for a particular primary.++/Since: 2.22/+-}+visualGetBluePixelDetails ::+    (B.CallStack.HasCallStack, MonadIO m, IsVisual a) =>+    a+    {- ^ /@visual@/: a 'GI.Gdk.Objects.Visual.Visual' -}+    -> m ((Word32, Int32, Int32))+visualGetBluePixelDetails visual = liftIO $ do+    visual' <- unsafeManagedPtrCastPtr visual+    mask <- allocMem :: IO (Ptr Word32)+    shift <- allocMem :: IO (Ptr Int32)+    precision <- allocMem :: IO (Ptr Int32)+    gdk_visual_get_blue_pixel_details visual' mask shift precision+    mask' <- peek mask+    shift' <- peek shift+    precision' <- peek precision+    touchManagedPtr visual+    freeMem mask+    freeMem shift+    freeMem precision+    return (mask', shift', precision')++#if ENABLE_OVERLOADING+data VisualGetBluePixelDetailsMethodInfo+instance (signature ~ (m ((Word32, Int32, Int32))), MonadIO m, IsVisual a) => O.MethodInfo VisualGetBluePixelDetailsMethodInfo a signature where+    overloadedMethod _ = visualGetBluePixelDetails++#endif++-- method Visual::get_byte_order+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "visual", argType = TInterface (Name {namespace = "Gdk", name = "Visual"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GdkVisual.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "ByteOrder"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_byte_order" gdk_visual_get_byte_order :: +    Ptr Visual ->                           -- visual : TInterface (Name {namespace = "Gdk", name = "Visual"})+    IO CUInt++{-# DEPRECATED visualGetByteOrder ["(Since version 3.22)","This information is not useful"] #-}+{- |+Returns the byte order of this visual.++The information returned by this function is only relevant+when working with XImages, and not all backends return+meaningful information for this.++/Since: 2.22/+-}+visualGetByteOrder ::+    (B.CallStack.HasCallStack, MonadIO m, IsVisual a) =>+    a+    {- ^ /@visual@/: A 'GI.Gdk.Objects.Visual.Visual'. -}+    -> m Gdk.Enums.ByteOrder+    {- ^ __Returns:__ A 'GI.Gdk.Enums.ByteOrder' stating the byte order of /@visual@/. -}+visualGetByteOrder visual = liftIO $ do+    visual' <- unsafeManagedPtrCastPtr visual+    result <- gdk_visual_get_byte_order visual'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr visual+    return result'++#if ENABLE_OVERLOADING+data VisualGetByteOrderMethodInfo+instance (signature ~ (m Gdk.Enums.ByteOrder), MonadIO m, IsVisual a) => O.MethodInfo VisualGetByteOrderMethodInfo a signature where+    overloadedMethod _ = visualGetByteOrder++#endif++-- method Visual::get_colormap_size+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "visual", argType = TInterface (Name {namespace = "Gdk", name = "Visual"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GdkVisual.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_colormap_size" gdk_visual_get_colormap_size :: +    Ptr Visual ->                           -- visual : TInterface (Name {namespace = "Gdk", name = "Visual"})+    IO Int32++{-# DEPRECATED visualGetColormapSize ["(Since version 3.22)","This information is not useful, since GDK does not","    provide APIs to operate on colormaps."] #-}+{- |+Returns the size of a colormap for this visual.++You have to use platform-specific APIs to manipulate colormaps.++/Since: 2.22/+-}+visualGetColormapSize ::+    (B.CallStack.HasCallStack, MonadIO m, IsVisual a) =>+    a+    {- ^ /@visual@/: A 'GI.Gdk.Objects.Visual.Visual'. -}+    -> m Int32+    {- ^ __Returns:__ The size of a colormap that is suitable for /@visual@/. -}+visualGetColormapSize visual = liftIO $ do+    visual' <- unsafeManagedPtrCastPtr visual+    result <- gdk_visual_get_colormap_size visual'+    touchManagedPtr visual+    return result++#if ENABLE_OVERLOADING+data VisualGetColormapSizeMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsVisual a) => O.MethodInfo VisualGetColormapSizeMethodInfo a signature where+    overloadedMethod _ = visualGetColormapSize++#endif++-- method Visual::get_depth+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "visual", argType = TInterface (Name {namespace = "Gdk", name = "Visual"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GdkVisual.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_depth" gdk_visual_get_depth :: +    Ptr Visual ->                           -- visual : TInterface (Name {namespace = "Gdk", name = "Visual"})+    IO Int32++{- |+Returns the bit depth of this visual.++/Since: 2.22/+-}+visualGetDepth ::+    (B.CallStack.HasCallStack, MonadIO m, IsVisual a) =>+    a+    {- ^ /@visual@/: A 'GI.Gdk.Objects.Visual.Visual'. -}+    -> m Int32+    {- ^ __Returns:__ The bit depth of this visual. -}+visualGetDepth visual = liftIO $ do+    visual' <- unsafeManagedPtrCastPtr visual+    result <- gdk_visual_get_depth visual'+    touchManagedPtr visual+    return result++#if ENABLE_OVERLOADING+data VisualGetDepthMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsVisual a) => O.MethodInfo VisualGetDepthMethodInfo a signature where+    overloadedMethod _ = visualGetDepth++#endif++-- method Visual::get_green_pixel_details+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "visual", argType = TInterface (Name {namespace = "Gdk", name = "Visual"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkVisual", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mask", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to a #guint32 to be filled in, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "shift", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to a #gint to be filled in, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "precision", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to a #gint to be filled in, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_green_pixel_details" gdk_visual_get_green_pixel_details :: +    Ptr Visual ->                           -- visual : TInterface (Name {namespace = "Gdk", name = "Visual"})+    Ptr Word32 ->                           -- mask : TBasicType TUInt32+    Ptr Int32 ->                            -- shift : TBasicType TInt+    Ptr Int32 ->                            -- precision : TBasicType TInt+    IO ()++{- |+Obtains values that are needed to calculate green pixel values in TrueColor+and DirectColor. The “mask” is the significant bits within the pixel.+The “shift” is the number of bits left we must shift a primary for it+to be in position (according to the \"mask\"). Finally, \"precision\" refers+to how much precision the pixel value contains for a particular primary.++/Since: 2.22/+-}+visualGetGreenPixelDetails ::+    (B.CallStack.HasCallStack, MonadIO m, IsVisual a) =>+    a+    {- ^ /@visual@/: a 'GI.Gdk.Objects.Visual.Visual' -}+    -> m ((Word32, Int32, Int32))+visualGetGreenPixelDetails visual = liftIO $ do+    visual' <- unsafeManagedPtrCastPtr visual+    mask <- allocMem :: IO (Ptr Word32)+    shift <- allocMem :: IO (Ptr Int32)+    precision <- allocMem :: IO (Ptr Int32)+    gdk_visual_get_green_pixel_details visual' mask shift precision+    mask' <- peek mask+    shift' <- peek shift+    precision' <- peek precision+    touchManagedPtr visual+    freeMem mask+    freeMem shift+    freeMem precision+    return (mask', shift', precision')++#if ENABLE_OVERLOADING+data VisualGetGreenPixelDetailsMethodInfo+instance (signature ~ (m ((Word32, Int32, Int32))), MonadIO m, IsVisual a) => O.MethodInfo VisualGetGreenPixelDetailsMethodInfo a signature where+    overloadedMethod _ = visualGetGreenPixelDetails++#endif++-- method Visual::get_red_pixel_details+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "visual", argType = TInterface (Name {namespace = "Gdk", name = "Visual"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GdkVisual", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mask", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to a #guint32 to be filled in, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "shift", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to a #gint to be filled in, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "precision", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to a #gint to be filled in, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_red_pixel_details" gdk_visual_get_red_pixel_details :: +    Ptr Visual ->                           -- visual : TInterface (Name {namespace = "Gdk", name = "Visual"})+    Ptr Word32 ->                           -- mask : TBasicType TUInt32+    Ptr Int32 ->                            -- shift : TBasicType TInt+    Ptr Int32 ->                            -- precision : TBasicType TInt+    IO ()++{- |+Obtains values that are needed to calculate red pixel values in TrueColor+and DirectColor. The “mask” is the significant bits within the pixel.+The “shift” is the number of bits left we must shift a primary for it+to be in position (according to the \"mask\"). Finally, \"precision\" refers+to how much precision the pixel value contains for a particular primary.++/Since: 2.22/+-}+visualGetRedPixelDetails ::+    (B.CallStack.HasCallStack, MonadIO m, IsVisual a) =>+    a+    {- ^ /@visual@/: A 'GI.Gdk.Objects.Visual.Visual' -}+    -> m ((Word32, Int32, Int32))+visualGetRedPixelDetails visual = liftIO $ do+    visual' <- unsafeManagedPtrCastPtr visual+    mask <- allocMem :: IO (Ptr Word32)+    shift <- allocMem :: IO (Ptr Int32)+    precision <- allocMem :: IO (Ptr Int32)+    gdk_visual_get_red_pixel_details visual' mask shift precision+    mask' <- peek mask+    shift' <- peek shift+    precision' <- peek precision+    touchManagedPtr visual+    freeMem mask+    freeMem shift+    freeMem precision+    return (mask', shift', precision')++#if ENABLE_OVERLOADING+data VisualGetRedPixelDetailsMethodInfo+instance (signature ~ (m ((Word32, Int32, Int32))), MonadIO m, IsVisual a) => O.MethodInfo VisualGetRedPixelDetailsMethodInfo a signature where+    overloadedMethod _ = visualGetRedPixelDetails++#endif++-- method Visual::get_screen+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "visual", argType = TInterface (Name {namespace = "Gdk", name = "Visual"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkVisual", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Screen"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_screen" gdk_visual_get_screen :: +    Ptr Visual ->                           -- visual : TInterface (Name {namespace = "Gdk", name = "Visual"})+    IO (Ptr Gdk.Screen.Screen)++{- |+Gets the screen to which this visual belongs++/Since: 2.2/+-}+visualGetScreen ::+    (B.CallStack.HasCallStack, MonadIO m, IsVisual a) =>+    a+    {- ^ /@visual@/: a 'GI.Gdk.Objects.Visual.Visual' -}+    -> m Gdk.Screen.Screen+    {- ^ __Returns:__ the screen to which this visual belongs. -}+visualGetScreen visual = liftIO $ do+    visual' <- unsafeManagedPtrCastPtr visual+    result <- gdk_visual_get_screen visual'+    checkUnexpectedReturnNULL "visualGetScreen" result+    result' <- (newObject Gdk.Screen.Screen) result+    touchManagedPtr visual+    return result'++#if ENABLE_OVERLOADING+data VisualGetScreenMethodInfo+instance (signature ~ (m Gdk.Screen.Screen), MonadIO m, IsVisual a) => O.MethodInfo VisualGetScreenMethodInfo a signature where+    overloadedMethod _ = visualGetScreen++#endif++-- method Visual::get_visual_type+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "visual", argType = TInterface (Name {namespace = "Gdk", name = "Visual"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GdkVisual.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "VisualType"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_visual_type" gdk_visual_get_visual_type :: +    Ptr Visual ->                           -- visual : TInterface (Name {namespace = "Gdk", name = "Visual"})+    IO CUInt++{- |+Returns the type of visual this is (PseudoColor, TrueColor, etc).++/Since: 2.22/+-}+visualGetVisualType ::+    (B.CallStack.HasCallStack, MonadIO m, IsVisual a) =>+    a+    {- ^ /@visual@/: A 'GI.Gdk.Objects.Visual.Visual'. -}+    -> m Gdk.Enums.VisualType+    {- ^ __Returns:__ A 'GI.Gdk.Enums.VisualType' stating the type of /@visual@/. -}+visualGetVisualType visual = liftIO $ do+    visual' <- unsafeManagedPtrCastPtr visual+    result <- gdk_visual_get_visual_type visual'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr visual+    return result'++#if ENABLE_OVERLOADING+data VisualGetVisualTypeMethodInfo+instance (signature ~ (m Gdk.Enums.VisualType), MonadIO m, IsVisual a) => O.MethodInfo VisualGetVisualTypeMethodInfo a signature where+    overloadedMethod _ = visualGetVisualType++#endif++-- method Visual::get_best+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Visual"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_best" gdk_visual_get_best :: +    IO (Ptr Visual)++{-# DEPRECATED visualGetBest ["(Since version 3.22)","Visual selection should be done using","    'GI.Gdk.Objects.Screen.screenGetSystemVisual' and 'GI.Gdk.Objects.Screen.screenGetRgbaVisual'"] #-}+{- |+Get the visual with the most available colors for the default+GDK screen. The return value should not be freed.+-}+visualGetBest ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m Visual+    {- ^ __Returns:__ best visual -}+visualGetBest  = liftIO $ do+    result <- gdk_visual_get_best+    checkUnexpectedReturnNULL "visualGetBest" result+    result' <- (newObject Visual) result+    return result'++#if ENABLE_OVERLOADING+#endif++-- method Visual::get_best_depth+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_best_depth" gdk_visual_get_best_depth :: +    IO Int32++{-# DEPRECATED visualGetBestDepth ["(Since version 3.22)","Visual selection should be done using","    'GI.Gdk.Objects.Screen.screenGetSystemVisual' and 'GI.Gdk.Objects.Screen.screenGetRgbaVisual'"] #-}+{- |+Get the best available depth for the default GDK screen.  “Best”+means “largest,” i.e. 32 preferred over 24 preferred over 8 bits+per pixel.+-}+visualGetBestDepth ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m Int32+    {- ^ __Returns:__ best available depth -}+visualGetBestDepth  = liftIO $ do+    result <- gdk_visual_get_best_depth+    return result++#if ENABLE_OVERLOADING+#endif++-- method Visual::get_best_type+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "VisualType"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_best_type" gdk_visual_get_best_type :: +    IO CUInt++{-# DEPRECATED visualGetBestType ["(Since version 3.22)","Visual selection should be done using","    'GI.Gdk.Objects.Screen.screenGetSystemVisual' and 'GI.Gdk.Objects.Screen.screenGetRgbaVisual'"] #-}+{- |+Return the best available visual type for the default GDK screen.+-}+visualGetBestType ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m Gdk.Enums.VisualType+    {- ^ __Returns:__ best visual type -}+visualGetBestType  = liftIO $ do+    result <- gdk_visual_get_best_type+    let result' = (toEnum . fromIntegral) result+    return result'++#if ENABLE_OVERLOADING+#endif++-- method Visual::get_best_with_both+-- method type : MemberFunction+-- Args : [Arg {argCName = "depth", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a bit depth", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "visual_type", argType = TInterface (Name {namespace = "Gdk", name = "VisualType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a visual type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Visual"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_best_with_both" gdk_visual_get_best_with_both :: +    Int32 ->                                -- depth : TBasicType TInt+    CUInt ->                                -- visual_type : TInterface (Name {namespace = "Gdk", name = "VisualType"})+    IO (Ptr Visual)++{-# DEPRECATED visualGetBestWithBoth ["(Since version 3.22)","Visual selection should be done using","    'GI.Gdk.Objects.Screen.screenGetSystemVisual' and 'GI.Gdk.Objects.Screen.screenGetRgbaVisual'"] #-}+{- |+Combines 'GI.Gdk.Objects.Visual.visualGetBestWithDepth' and+'GI.Gdk.Objects.Visual.visualGetBestWithType'.+-}+visualGetBestWithBoth ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Int32+    {- ^ /@depth@/: a bit depth -}+    -> Gdk.Enums.VisualType+    {- ^ /@visualType@/: a visual type -}+    -> m (Maybe Visual)+    {- ^ __Returns:__ best visual with both /@depth@/+    and /@visualType@/, or 'Nothing' if none -}+visualGetBestWithBoth depth visualType = liftIO $ do+    let visualType' = (fromIntegral . fromEnum) visualType+    result <- gdk_visual_get_best_with_both depth visualType'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Visual) result'+        return result''+    return maybeResult++#if ENABLE_OVERLOADING+#endif++-- method Visual::get_best_with_depth+-- method type : MemberFunction+-- Args : [Arg {argCName = "depth", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a bit depth", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Visual"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_best_with_depth" gdk_visual_get_best_with_depth :: +    Int32 ->                                -- depth : TBasicType TInt+    IO (Ptr Visual)++{-# DEPRECATED visualGetBestWithDepth ["(Since version 3.22)","Visual selection should be done using","    'GI.Gdk.Objects.Screen.screenGetSystemVisual' and 'GI.Gdk.Objects.Screen.screenGetRgbaVisual'"] #-}+{- |+Get the best visual with depth /@depth@/ for the default GDK screen.+Color visuals and visuals with mutable colormaps are preferred+over grayscale or fixed-colormap visuals. The return value should+not be freed. 'Nothing' may be returned if no visual supports /@depth@/.+-}+visualGetBestWithDepth ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Int32+    {- ^ /@depth@/: a bit depth -}+    -> m Visual+    {- ^ __Returns:__ best visual for the given depth -}+visualGetBestWithDepth depth = liftIO $ do+    result <- gdk_visual_get_best_with_depth depth+    checkUnexpectedReturnNULL "visualGetBestWithDepth" result+    result' <- (newObject Visual) result+    return result'++#if ENABLE_OVERLOADING+#endif++-- method Visual::get_best_with_type+-- method type : MemberFunction+-- Args : [Arg {argCName = "visual_type", argType = TInterface (Name {namespace = "Gdk", name = "VisualType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a visual type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "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 (Name {namespace = "Gdk", name = "VisualType"})+    IO (Ptr Visual)++{-# DEPRECATED visualGetBestWithType ["(Since version 3.22)","Visual selection should be done using","    'GI.Gdk.Objects.Screen.screenGetSystemVisual' and 'GI.Gdk.Objects.Screen.screenGetRgbaVisual'"] #-}+{- |+Get the best visual of the given /@visualType@/ for the default GDK screen.+Visuals with higher color depths are considered better. The return value+should not be freed. 'Nothing' may be returned if no visual has type+/@visualType@/.+-}+visualGetBestWithType ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Gdk.Enums.VisualType+    {- ^ /@visualType@/: a visual type -}+    -> m Visual+    {- ^ __Returns:__ best visual of the given type -}+visualGetBestWithType visualType = liftIO $ do+    let visualType' = (fromIntegral . fromEnum) visualType+    result <- gdk_visual_get_best_with_type visualType'+    checkUnexpectedReturnNULL "visualGetBestWithType" result+    result' <- (newObject Visual) result+    return result'++#if ENABLE_OVERLOADING+#endif++-- method Visual::get_system+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Visual"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_visual_get_system" gdk_visual_get_system :: +    IO (Ptr Visual)++{-# DEPRECATED visualGetSystem ["(Since version 3.22)","Use gdk_screen_get_system_visual (gdk_screen_get_default ())."] #-}+{- |+Get the system’s default visual for the default GDK screen.+This is the visual for the root window of the display.+The return value should not be freed.+-}+visualGetSystem ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m Visual+    {- ^ __Returns:__ system visual -}+visualGetSystem  = liftIO $ do+    result <- gdk_visual_get_system+    checkUnexpectedReturnNULL "visualGetSystem" result+    result' <- (newObject Visual) result+    return result'++#if ENABLE_OVERLOADING+#endif++
+ GI/Gdk/Objects/Visual.hs-boot view
@@ -0,0 +1,56 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Objects.Visual where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype Visual = Visual (ManagedPtr Visual)+instance GObject Visual where+class (GObject o, O.IsDescendantOf Visual o) => IsVisual o+instance (GObject o, O.IsDescendantOf Visual o) => IsVisual o+instance O.HasParentTypes Visual+#if ENABLE_OVERLOADING+data VisualGetBitsPerRgbMethodInfo+#endif+#if ENABLE_OVERLOADING+data VisualGetBluePixelDetailsMethodInfo+#endif+#if ENABLE_OVERLOADING+data VisualGetByteOrderMethodInfo+#endif+#if ENABLE_OVERLOADING+data VisualGetColormapSizeMethodInfo+#endif+#if ENABLE_OVERLOADING+data VisualGetDepthMethodInfo+#endif+#if ENABLE_OVERLOADING+data VisualGetGreenPixelDetailsMethodInfo+#endif+#if ENABLE_OVERLOADING+data VisualGetRedPixelDetailsMethodInfo+#endif+#if ENABLE_OVERLOADING+data VisualGetScreenMethodInfo+#endif+#if ENABLE_OVERLOADING+data VisualGetVisualTypeMethodInfo+#endif
+ GI/Gdk/Objects/Window.hs view
@@ -0,0 +1,9402 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++/No description available in the introspection data./+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Objects.Window+    ( ++-- * Exported types+    Window(..)                              ,+    IsWindow                                ,+    toWindow                                ,+    noWindow                                ,+++ -- * Methods+-- ** atPointer #method:atPointer#++    windowAtPointer                         ,+++-- ** beep #method:beep#++#if ENABLE_OVERLOADING+    WindowBeepMethodInfo                    ,+#endif+    windowBeep                              ,+++-- ** beginDrawFrame #method:beginDrawFrame#++#if ENABLE_OVERLOADING+    WindowBeginDrawFrameMethodInfo          ,+#endif+    windowBeginDrawFrame                    ,+++-- ** beginMoveDrag #method:beginMoveDrag#++#if ENABLE_OVERLOADING+    WindowBeginMoveDragMethodInfo           ,+#endif+    windowBeginMoveDrag                     ,+++-- ** beginMoveDragForDevice #method:beginMoveDragForDevice#++#if ENABLE_OVERLOADING+    WindowBeginMoveDragForDeviceMethodInfo  ,+#endif+    windowBeginMoveDragForDevice            ,+++-- ** beginPaintRect #method:beginPaintRect#++#if ENABLE_OVERLOADING+    WindowBeginPaintRectMethodInfo          ,+#endif+    windowBeginPaintRect                    ,+++-- ** beginPaintRegion #method:beginPaintRegion#++#if ENABLE_OVERLOADING+    WindowBeginPaintRegionMethodInfo        ,+#endif+    windowBeginPaintRegion                  ,+++-- ** beginResizeDrag #method:beginResizeDrag#++#if ENABLE_OVERLOADING+    WindowBeginResizeDragMethodInfo         ,+#endif+    windowBeginResizeDrag                   ,+++-- ** beginResizeDragForDevice #method:beginResizeDragForDevice#++#if ENABLE_OVERLOADING+    WindowBeginResizeDragForDeviceMethodInfo,+#endif+    windowBeginResizeDragForDevice          ,+++-- ** configureFinished #method:configureFinished#++#if ENABLE_OVERLOADING+    WindowConfigureFinishedMethodInfo       ,+#endif+    windowConfigureFinished                 ,+++-- ** constrainSize #method:constrainSize#++    windowConstrainSize                     ,+++-- ** coordsFromParent #method:coordsFromParent#++#if ENABLE_OVERLOADING+    WindowCoordsFromParentMethodInfo        ,+#endif+    windowCoordsFromParent                  ,+++-- ** coordsToParent #method:coordsToParent#++#if ENABLE_OVERLOADING+    WindowCoordsToParentMethodInfo          ,+#endif+    windowCoordsToParent                    ,+++-- ** createGlContext #method:createGlContext#++#if ENABLE_OVERLOADING+    WindowCreateGlContextMethodInfo         ,+#endif+    windowCreateGlContext                   ,+++-- ** createSimilarImageSurface #method:createSimilarImageSurface#++#if ENABLE_OVERLOADING+    WindowCreateSimilarImageSurfaceMethodInfo,+#endif+    windowCreateSimilarImageSurface         ,+++-- ** createSimilarSurface #method:createSimilarSurface#++#if ENABLE_OVERLOADING+    WindowCreateSimilarSurfaceMethodInfo    ,+#endif+    windowCreateSimilarSurface              ,+++-- ** deiconify #method:deiconify#++#if ENABLE_OVERLOADING+    WindowDeiconifyMethodInfo               ,+#endif+    windowDeiconify                         ,+++-- ** destroy #method:destroy#++#if ENABLE_OVERLOADING+    WindowDestroyMethodInfo                 ,+#endif+    windowDestroy                           ,+++-- ** destroyNotify #method:destroyNotify#++#if ENABLE_OVERLOADING+    WindowDestroyNotifyMethodInfo           ,+#endif+    windowDestroyNotify                     ,+++-- ** enableSynchronizedConfigure #method:enableSynchronizedConfigure#++#if ENABLE_OVERLOADING+    WindowEnableSynchronizedConfigureMethodInfo,+#endif+    windowEnableSynchronizedConfigure       ,+++-- ** endDrawFrame #method:endDrawFrame#++#if ENABLE_OVERLOADING+    WindowEndDrawFrameMethodInfo            ,+#endif+    windowEndDrawFrame                      ,+++-- ** endPaint #method:endPaint#++#if ENABLE_OVERLOADING+    WindowEndPaintMethodInfo                ,+#endif+    windowEndPaint                          ,+++-- ** ensureNative #method:ensureNative#++#if ENABLE_OVERLOADING+    WindowEnsureNativeMethodInfo            ,+#endif+    windowEnsureNative                      ,+++-- ** flush #method:flush#++#if ENABLE_OVERLOADING+    WindowFlushMethodInfo                   ,+#endif+    windowFlush                             ,+++-- ** focus #method:focus#++#if ENABLE_OVERLOADING+    WindowFocusMethodInfo                   ,+#endif+    windowFocus                             ,+++-- ** freezeToplevelUpdatesLibgtkOnly #method:freezeToplevelUpdatesLibgtkOnly#++#if ENABLE_OVERLOADING+    WindowFreezeToplevelUpdatesLibgtkOnlyMethodInfo,+#endif+    windowFreezeToplevelUpdatesLibgtkOnly   ,+++-- ** freezeUpdates #method:freezeUpdates#++#if ENABLE_OVERLOADING+    WindowFreezeUpdatesMethodInfo           ,+#endif+    windowFreezeUpdates                     ,+++-- ** fullscreen #method:fullscreen#++#if ENABLE_OVERLOADING+    WindowFullscreenMethodInfo              ,+#endif+    windowFullscreen                        ,+++-- ** fullscreenOnMonitor #method:fullscreenOnMonitor#++#if ENABLE_OVERLOADING+    WindowFullscreenOnMonitorMethodInfo     ,+#endif+    windowFullscreenOnMonitor               ,+++-- ** geometryChanged #method:geometryChanged#++#if ENABLE_OVERLOADING+    WindowGeometryChangedMethodInfo         ,+#endif+    windowGeometryChanged                   ,+++-- ** getAcceptFocus #method:getAcceptFocus#++#if ENABLE_OVERLOADING+    WindowGetAcceptFocusMethodInfo          ,+#endif+    windowGetAcceptFocus                    ,+++-- ** getBackgroundPattern #method:getBackgroundPattern#++#if ENABLE_OVERLOADING+    WindowGetBackgroundPatternMethodInfo    ,+#endif+    windowGetBackgroundPattern              ,+++-- ** getChildren #method:getChildren#++#if ENABLE_OVERLOADING+    WindowGetChildrenMethodInfo             ,+#endif+    windowGetChildren                       ,+++-- ** getChildrenWithUserData #method:getChildrenWithUserData#++#if ENABLE_OVERLOADING+    WindowGetChildrenWithUserDataMethodInfo ,+#endif+    windowGetChildrenWithUserData           ,+++-- ** getClipRegion #method:getClipRegion#++#if ENABLE_OVERLOADING+    WindowGetClipRegionMethodInfo           ,+#endif+    windowGetClipRegion                     ,+++-- ** getComposited #method:getComposited#++#if ENABLE_OVERLOADING+    WindowGetCompositedMethodInfo           ,+#endif+    windowGetComposited                     ,+++-- ** getCursor #method:getCursor#++#if ENABLE_OVERLOADING+    WindowGetCursorMethodInfo               ,+#endif+    windowGetCursor                         ,+++-- ** getDecorations #method:getDecorations#++#if ENABLE_OVERLOADING+    WindowGetDecorationsMethodInfo          ,+#endif+    windowGetDecorations                    ,+++-- ** getDeviceCursor #method:getDeviceCursor#++#if ENABLE_OVERLOADING+    WindowGetDeviceCursorMethodInfo         ,+#endif+    windowGetDeviceCursor                   ,+++-- ** getDeviceEvents #method:getDeviceEvents#++#if ENABLE_OVERLOADING+    WindowGetDeviceEventsMethodInfo         ,+#endif+    windowGetDeviceEvents                   ,+++-- ** getDevicePosition #method:getDevicePosition#++#if ENABLE_OVERLOADING+    WindowGetDevicePositionMethodInfo       ,+#endif+    windowGetDevicePosition                 ,+++-- ** getDevicePositionDouble #method:getDevicePositionDouble#++#if ENABLE_OVERLOADING+    WindowGetDevicePositionDoubleMethodInfo ,+#endif+    windowGetDevicePositionDouble           ,+++-- ** getDisplay #method:getDisplay#++#if ENABLE_OVERLOADING+    WindowGetDisplayMethodInfo              ,+#endif+    windowGetDisplay                        ,+++-- ** getDragProtocol #method:getDragProtocol#++#if ENABLE_OVERLOADING+    WindowGetDragProtocolMethodInfo         ,+#endif+    windowGetDragProtocol                   ,+++-- ** getEffectiveParent #method:getEffectiveParent#++#if ENABLE_OVERLOADING+    WindowGetEffectiveParentMethodInfo      ,+#endif+    windowGetEffectiveParent                ,+++-- ** getEffectiveToplevel #method:getEffectiveToplevel#++#if ENABLE_OVERLOADING+    WindowGetEffectiveToplevelMethodInfo    ,+#endif+    windowGetEffectiveToplevel              ,+++-- ** getEventCompression #method:getEventCompression#++#if ENABLE_OVERLOADING+    WindowGetEventCompressionMethodInfo     ,+#endif+    windowGetEventCompression               ,+++-- ** getEvents #method:getEvents#++#if ENABLE_OVERLOADING+    WindowGetEventsMethodInfo               ,+#endif+    windowGetEvents                         ,+++-- ** getFocusOnMap #method:getFocusOnMap#++#if ENABLE_OVERLOADING+    WindowGetFocusOnMapMethodInfo           ,+#endif+    windowGetFocusOnMap                     ,+++-- ** getFrameClock #method:getFrameClock#++#if ENABLE_OVERLOADING+    WindowGetFrameClockMethodInfo           ,+#endif+    windowGetFrameClock                     ,+++-- ** getFrameExtents #method:getFrameExtents#++#if ENABLE_OVERLOADING+    WindowGetFrameExtentsMethodInfo         ,+#endif+    windowGetFrameExtents                   ,+++-- ** getFullscreenMode #method:getFullscreenMode#++#if ENABLE_OVERLOADING+    WindowGetFullscreenModeMethodInfo       ,+#endif+    windowGetFullscreenMode                 ,+++-- ** getGeometry #method:getGeometry#++#if ENABLE_OVERLOADING+    WindowGetGeometryMethodInfo             ,+#endif+    windowGetGeometry                       ,+++-- ** getGroup #method:getGroup#++#if ENABLE_OVERLOADING+    WindowGetGroupMethodInfo                ,+#endif+    windowGetGroup                          ,+++-- ** getHeight #method:getHeight#++#if ENABLE_OVERLOADING+    WindowGetHeightMethodInfo               ,+#endif+    windowGetHeight                         ,+++-- ** getModalHint #method:getModalHint#++#if ENABLE_OVERLOADING+    WindowGetModalHintMethodInfo            ,+#endif+    windowGetModalHint                      ,+++-- ** getOrigin #method:getOrigin#++#if ENABLE_OVERLOADING+    WindowGetOriginMethodInfo               ,+#endif+    windowGetOrigin                         ,+++-- ** getParent #method:getParent#++#if ENABLE_OVERLOADING+    WindowGetParentMethodInfo               ,+#endif+    windowGetParent                         ,+++-- ** getPassThrough #method:getPassThrough#++#if ENABLE_OVERLOADING+    WindowGetPassThroughMethodInfo          ,+#endif+    windowGetPassThrough                    ,+++-- ** getPointer #method:getPointer#++#if ENABLE_OVERLOADING+    WindowGetPointerMethodInfo              ,+#endif+    windowGetPointer                        ,+++-- ** getPosition #method:getPosition#++#if ENABLE_OVERLOADING+    WindowGetPositionMethodInfo             ,+#endif+    windowGetPosition                       ,+++-- ** getRootCoords #method:getRootCoords#++#if ENABLE_OVERLOADING+    WindowGetRootCoordsMethodInfo           ,+#endif+    windowGetRootCoords                     ,+++-- ** getRootOrigin #method:getRootOrigin#++#if ENABLE_OVERLOADING+    WindowGetRootOriginMethodInfo           ,+#endif+    windowGetRootOrigin                     ,+++-- ** getScaleFactor #method:getScaleFactor#++#if ENABLE_OVERLOADING+    WindowGetScaleFactorMethodInfo          ,+#endif+    windowGetScaleFactor                    ,+++-- ** getScreen #method:getScreen#++#if ENABLE_OVERLOADING+    WindowGetScreenMethodInfo               ,+#endif+    windowGetScreen                         ,+++-- ** getSourceEvents #method:getSourceEvents#++#if ENABLE_OVERLOADING+    WindowGetSourceEventsMethodInfo         ,+#endif+    windowGetSourceEvents                   ,+++-- ** getState #method:getState#++#if ENABLE_OVERLOADING+    WindowGetStateMethodInfo                ,+#endif+    windowGetState                          ,+++-- ** getSupportMultidevice #method:getSupportMultidevice#++#if ENABLE_OVERLOADING+    WindowGetSupportMultideviceMethodInfo   ,+#endif+    windowGetSupportMultidevice             ,+++-- ** getToplevel #method:getToplevel#++#if ENABLE_OVERLOADING+    WindowGetToplevelMethodInfo             ,+#endif+    windowGetToplevel                       ,+++-- ** getTypeHint #method:getTypeHint#++#if ENABLE_OVERLOADING+    WindowGetTypeHintMethodInfo             ,+#endif+    windowGetTypeHint                       ,+++-- ** getUpdateArea #method:getUpdateArea#++#if ENABLE_OVERLOADING+    WindowGetUpdateAreaMethodInfo           ,+#endif+    windowGetUpdateArea                     ,+++-- ** getUserData #method:getUserData#++#if ENABLE_OVERLOADING+    WindowGetUserDataMethodInfo             ,+#endif+    windowGetUserData                       ,+++-- ** getVisibleRegion #method:getVisibleRegion#++#if ENABLE_OVERLOADING+    WindowGetVisibleRegionMethodInfo        ,+#endif+    windowGetVisibleRegion                  ,+++-- ** getVisual #method:getVisual#++#if ENABLE_OVERLOADING+    WindowGetVisualMethodInfo               ,+#endif+    windowGetVisual                         ,+++-- ** getWidth #method:getWidth#++#if ENABLE_OVERLOADING+    WindowGetWidthMethodInfo                ,+#endif+    windowGetWidth                          ,+++-- ** getWindowType #method:getWindowType#++#if ENABLE_OVERLOADING+    WindowGetWindowTypeMethodInfo           ,+#endif+    windowGetWindowType                     ,+++-- ** hasNative #method:hasNative#++#if ENABLE_OVERLOADING+    WindowHasNativeMethodInfo               ,+#endif+    windowHasNative                         ,+++-- ** hide #method:hide#++#if ENABLE_OVERLOADING+    WindowHideMethodInfo                    ,+#endif+    windowHide                              ,+++-- ** iconify #method:iconify#++#if ENABLE_OVERLOADING+    WindowIconifyMethodInfo                 ,+#endif+    windowIconify                           ,+++-- ** inputShapeCombineRegion #method:inputShapeCombineRegion#++#if ENABLE_OVERLOADING+    WindowInputShapeCombineRegionMethodInfo ,+#endif+    windowInputShapeCombineRegion           ,+++-- ** invalidateMaybeRecurse #method:invalidateMaybeRecurse#++#if ENABLE_OVERLOADING+    WindowInvalidateMaybeRecurseMethodInfo  ,+#endif+    windowInvalidateMaybeRecurse            ,+++-- ** invalidateRect #method:invalidateRect#++#if ENABLE_OVERLOADING+    WindowInvalidateRectMethodInfo          ,+#endif+    windowInvalidateRect                    ,+++-- ** invalidateRegion #method:invalidateRegion#++#if ENABLE_OVERLOADING+    WindowInvalidateRegionMethodInfo        ,+#endif+    windowInvalidateRegion                  ,+++-- ** isDestroyed #method:isDestroyed#++#if ENABLE_OVERLOADING+    WindowIsDestroyedMethodInfo             ,+#endif+    windowIsDestroyed                       ,+++-- ** isInputOnly #method:isInputOnly#++#if ENABLE_OVERLOADING+    WindowIsInputOnlyMethodInfo             ,+#endif+    windowIsInputOnly                       ,+++-- ** isShaped #method:isShaped#++#if ENABLE_OVERLOADING+    WindowIsShapedMethodInfo                ,+#endif+    windowIsShaped                          ,+++-- ** isViewable #method:isViewable#++#if ENABLE_OVERLOADING+    WindowIsViewableMethodInfo              ,+#endif+    windowIsViewable                        ,+++-- ** isVisible #method:isVisible#++#if ENABLE_OVERLOADING+    WindowIsVisibleMethodInfo               ,+#endif+    windowIsVisible                         ,+++-- ** lower #method:lower#++#if ENABLE_OVERLOADING+    WindowLowerMethodInfo                   ,+#endif+    windowLower                             ,+++-- ** markPaintFromClip #method:markPaintFromClip#++#if ENABLE_OVERLOADING+    WindowMarkPaintFromClipMethodInfo       ,+#endif+    windowMarkPaintFromClip                 ,+++-- ** maximize #method:maximize#++#if ENABLE_OVERLOADING+    WindowMaximizeMethodInfo                ,+#endif+    windowMaximize                          ,+++-- ** mergeChildInputShapes #method:mergeChildInputShapes#++#if ENABLE_OVERLOADING+    WindowMergeChildInputShapesMethodInfo   ,+#endif+    windowMergeChildInputShapes             ,+++-- ** mergeChildShapes #method:mergeChildShapes#++#if ENABLE_OVERLOADING+    WindowMergeChildShapesMethodInfo        ,+#endif+    windowMergeChildShapes                  ,+++-- ** move #method:move#++#if ENABLE_OVERLOADING+    WindowMoveMethodInfo                    ,+#endif+    windowMove                              ,+++-- ** moveRegion #method:moveRegion#++#if ENABLE_OVERLOADING+    WindowMoveRegionMethodInfo              ,+#endif+    windowMoveRegion                        ,+++-- ** moveResize #method:moveResize#++#if ENABLE_OVERLOADING+    WindowMoveResizeMethodInfo              ,+#endif+    windowMoveResize                        ,+++-- ** moveToRect #method:moveToRect#++#if ENABLE_OVERLOADING+    WindowMoveToRectMethodInfo              ,+#endif+    windowMoveToRect                        ,+++-- ** new #method:new#++    windowNew                               ,+++-- ** peekChildren #method:peekChildren#++#if ENABLE_OVERLOADING+    WindowPeekChildrenMethodInfo            ,+#endif+    windowPeekChildren                      ,+++-- ** processAllUpdates #method:processAllUpdates#++    windowProcessAllUpdates                 ,+++-- ** processUpdates #method:processUpdates#++#if ENABLE_OVERLOADING+    WindowProcessUpdatesMethodInfo          ,+#endif+    windowProcessUpdates                    ,+++-- ** raise #method:raise#++#if ENABLE_OVERLOADING+    WindowRaiseMethodInfo                   ,+#endif+    windowRaise                             ,+++-- ** registerDnd #method:registerDnd#++#if ENABLE_OVERLOADING+    WindowRegisterDndMethodInfo             ,+#endif+    windowRegisterDnd                       ,+++-- ** reparent #method:reparent#++#if ENABLE_OVERLOADING+    WindowReparentMethodInfo                ,+#endif+    windowReparent                          ,+++-- ** resize #method:resize#++#if ENABLE_OVERLOADING+    WindowResizeMethodInfo                  ,+#endif+    windowResize                            ,+++-- ** restack #method:restack#++#if ENABLE_OVERLOADING+    WindowRestackMethodInfo                 ,+#endif+    windowRestack                           ,+++-- ** scroll #method:scroll#++#if ENABLE_OVERLOADING+    WindowScrollMethodInfo                  ,+#endif+    windowScroll                            ,+++-- ** setAcceptFocus #method:setAcceptFocus#++#if ENABLE_OVERLOADING+    WindowSetAcceptFocusMethodInfo          ,+#endif+    windowSetAcceptFocus                    ,+++-- ** setBackground #method:setBackground#++#if ENABLE_OVERLOADING+    WindowSetBackgroundMethodInfo           ,+#endif+    windowSetBackground                     ,+++-- ** setBackgroundPattern #method:setBackgroundPattern#++#if ENABLE_OVERLOADING+    WindowSetBackgroundPatternMethodInfo    ,+#endif+    windowSetBackgroundPattern              ,+++-- ** setBackgroundRgba #method:setBackgroundRgba#++#if ENABLE_OVERLOADING+    WindowSetBackgroundRgbaMethodInfo       ,+#endif+    windowSetBackgroundRgba                 ,+++-- ** setChildInputShapes #method:setChildInputShapes#++#if ENABLE_OVERLOADING+    WindowSetChildInputShapesMethodInfo     ,+#endif+    windowSetChildInputShapes               ,+++-- ** setChildShapes #method:setChildShapes#++#if ENABLE_OVERLOADING+    WindowSetChildShapesMethodInfo          ,+#endif+    windowSetChildShapes                    ,+++-- ** setComposited #method:setComposited#++#if ENABLE_OVERLOADING+    WindowSetCompositedMethodInfo           ,+#endif+    windowSetComposited                     ,+++-- ** setCursor #method:setCursor#++#if ENABLE_OVERLOADING+    WindowSetCursorMethodInfo               ,+#endif+    windowSetCursor                         ,+++-- ** setDebugUpdates #method:setDebugUpdates#++    windowSetDebugUpdates                   ,+++-- ** setDecorations #method:setDecorations#++#if ENABLE_OVERLOADING+    WindowSetDecorationsMethodInfo          ,+#endif+    windowSetDecorations                    ,+++-- ** setDeviceCursor #method:setDeviceCursor#++#if ENABLE_OVERLOADING+    WindowSetDeviceCursorMethodInfo         ,+#endif+    windowSetDeviceCursor                   ,+++-- ** setDeviceEvents #method:setDeviceEvents#++#if ENABLE_OVERLOADING+    WindowSetDeviceEventsMethodInfo         ,+#endif+    windowSetDeviceEvents                   ,+++-- ** setEventCompression #method:setEventCompression#++#if ENABLE_OVERLOADING+    WindowSetEventCompressionMethodInfo     ,+#endif+    windowSetEventCompression               ,+++-- ** setEvents #method:setEvents#++#if ENABLE_OVERLOADING+    WindowSetEventsMethodInfo               ,+#endif+    windowSetEvents                         ,+++-- ** setFocusOnMap #method:setFocusOnMap#++#if ENABLE_OVERLOADING+    WindowSetFocusOnMapMethodInfo           ,+#endif+    windowSetFocusOnMap                     ,+++-- ** setFullscreenMode #method:setFullscreenMode#++#if ENABLE_OVERLOADING+    WindowSetFullscreenModeMethodInfo       ,+#endif+    windowSetFullscreenMode                 ,+++-- ** setFunctions #method:setFunctions#++#if ENABLE_OVERLOADING+    WindowSetFunctionsMethodInfo            ,+#endif+    windowSetFunctions                      ,+++-- ** setGeometryHints #method:setGeometryHints#++#if ENABLE_OVERLOADING+    WindowSetGeometryHintsMethodInfo        ,+#endif+    windowSetGeometryHints                  ,+++-- ** setGroup #method:setGroup#++#if ENABLE_OVERLOADING+    WindowSetGroupMethodInfo                ,+#endif+    windowSetGroup                          ,+++-- ** setIconList #method:setIconList#++#if ENABLE_OVERLOADING+    WindowSetIconListMethodInfo             ,+#endif+    windowSetIconList                       ,+++-- ** setIconName #method:setIconName#++#if ENABLE_OVERLOADING+    WindowSetIconNameMethodInfo             ,+#endif+    windowSetIconName                       ,+++-- ** setKeepAbove #method:setKeepAbove#++#if ENABLE_OVERLOADING+    WindowSetKeepAboveMethodInfo            ,+#endif+    windowSetKeepAbove                      ,+++-- ** setKeepBelow #method:setKeepBelow#++#if ENABLE_OVERLOADING+    WindowSetKeepBelowMethodInfo            ,+#endif+    windowSetKeepBelow                      ,+++-- ** setModalHint #method:setModalHint#++#if ENABLE_OVERLOADING+    WindowSetModalHintMethodInfo            ,+#endif+    windowSetModalHint                      ,+++-- ** setOpacity #method:setOpacity#++#if ENABLE_OVERLOADING+    WindowSetOpacityMethodInfo              ,+#endif+    windowSetOpacity                        ,+++-- ** setOpaqueRegion #method:setOpaqueRegion#++#if ENABLE_OVERLOADING+    WindowSetOpaqueRegionMethodInfo         ,+#endif+    windowSetOpaqueRegion                   ,+++-- ** setOverrideRedirect #method:setOverrideRedirect#++#if ENABLE_OVERLOADING+    WindowSetOverrideRedirectMethodInfo     ,+#endif+    windowSetOverrideRedirect               ,+++-- ** setPassThrough #method:setPassThrough#++#if ENABLE_OVERLOADING+    WindowSetPassThroughMethodInfo          ,+#endif+    windowSetPassThrough                    ,+++-- ** setRole #method:setRole#++#if ENABLE_OVERLOADING+    WindowSetRoleMethodInfo                 ,+#endif+    windowSetRole                           ,+++-- ** setShadowWidth #method:setShadowWidth#++#if ENABLE_OVERLOADING+    WindowSetShadowWidthMethodInfo          ,+#endif+    windowSetShadowWidth                    ,+++-- ** setSkipPagerHint #method:setSkipPagerHint#++#if ENABLE_OVERLOADING+    WindowSetSkipPagerHintMethodInfo        ,+#endif+    windowSetSkipPagerHint                  ,+++-- ** setSkipTaskbarHint #method:setSkipTaskbarHint#++#if ENABLE_OVERLOADING+    WindowSetSkipTaskbarHintMethodInfo      ,+#endif+    windowSetSkipTaskbarHint                ,+++-- ** setSourceEvents #method:setSourceEvents#++#if ENABLE_OVERLOADING+    WindowSetSourceEventsMethodInfo         ,+#endif+    windowSetSourceEvents                   ,+++-- ** setStartupId #method:setStartupId#++#if ENABLE_OVERLOADING+    WindowSetStartupIdMethodInfo            ,+#endif+    windowSetStartupId                      ,+++-- ** setStaticGravities #method:setStaticGravities#++#if ENABLE_OVERLOADING+    WindowSetStaticGravitiesMethodInfo      ,+#endif+    windowSetStaticGravities                ,+++-- ** setSupportMultidevice #method:setSupportMultidevice#++#if ENABLE_OVERLOADING+    WindowSetSupportMultideviceMethodInfo   ,+#endif+    windowSetSupportMultidevice             ,+++-- ** setTitle #method:setTitle#++#if ENABLE_OVERLOADING+    WindowSetTitleMethodInfo                ,+#endif+    windowSetTitle                          ,+++-- ** setTransientFor #method:setTransientFor#++#if ENABLE_OVERLOADING+    WindowSetTransientForMethodInfo         ,+#endif+    windowSetTransientFor                   ,+++-- ** setTypeHint #method:setTypeHint#++#if ENABLE_OVERLOADING+    WindowSetTypeHintMethodInfo             ,+#endif+    windowSetTypeHint                       ,+++-- ** setUrgencyHint #method:setUrgencyHint#++#if ENABLE_OVERLOADING+    WindowSetUrgencyHintMethodInfo          ,+#endif+    windowSetUrgencyHint                    ,+++-- ** setUserData #method:setUserData#++#if ENABLE_OVERLOADING+    WindowSetUserDataMethodInfo             ,+#endif+    windowSetUserData                       ,+++-- ** shapeCombineRegion #method:shapeCombineRegion#++#if ENABLE_OVERLOADING+    WindowShapeCombineRegionMethodInfo      ,+#endif+    windowShapeCombineRegion                ,+++-- ** show #method:show#++#if ENABLE_OVERLOADING+    WindowShowMethodInfo                    ,+#endif+    windowShow                              ,+++-- ** showUnraised #method:showUnraised#++#if ENABLE_OVERLOADING+    WindowShowUnraisedMethodInfo            ,+#endif+    windowShowUnraised                      ,+++-- ** showWindowMenu #method:showWindowMenu#++#if ENABLE_OVERLOADING+    WindowShowWindowMenuMethodInfo          ,+#endif+    windowShowWindowMenu                    ,+++-- ** stick #method:stick#++#if ENABLE_OVERLOADING+    WindowStickMethodInfo                   ,+#endif+    windowStick                             ,+++-- ** thawToplevelUpdatesLibgtkOnly #method:thawToplevelUpdatesLibgtkOnly#++#if ENABLE_OVERLOADING+    WindowThawToplevelUpdatesLibgtkOnlyMethodInfo,+#endif+    windowThawToplevelUpdatesLibgtkOnly     ,+++-- ** thawUpdates #method:thawUpdates#++#if ENABLE_OVERLOADING+    WindowThawUpdatesMethodInfo             ,+#endif+    windowThawUpdates                       ,+++-- ** unfullscreen #method:unfullscreen#++#if ENABLE_OVERLOADING+    WindowUnfullscreenMethodInfo            ,+#endif+    windowUnfullscreen                      ,+++-- ** unmaximize #method:unmaximize#++#if ENABLE_OVERLOADING+    WindowUnmaximizeMethodInfo              ,+#endif+    windowUnmaximize                        ,+++-- ** unstick #method:unstick#++#if ENABLE_OVERLOADING+    WindowUnstickMethodInfo                 ,+#endif+    windowUnstick                           ,+++-- ** withdraw #method:withdraw#++#if ENABLE_OVERLOADING+    WindowWithdrawMethodInfo                ,+#endif+    windowWithdraw                          ,+++++ -- * Properties+-- ** cursor #attr:cursor#+{- | The mouse pointer for a 'GI.Gdk.Objects.Window.Window'. See 'GI.Gdk.Objects.Window.windowSetCursor' and+'GI.Gdk.Objects.Window.windowGetCursor' for details.++/Since: 2.18/+-}+#if ENABLE_OVERLOADING+    WindowCursorPropertyInfo                ,+#endif+    clearWindowCursor                       ,+    constructWindowCursor                   ,+    getWindowCursor                         ,+    setWindowCursor                         ,+#if ENABLE_OVERLOADING+    windowCursor                            ,+#endif+++++ -- * Signals+-- ** createSurface #signal:createSurface#++    C_WindowCreateSurfaceCallback           ,+    WindowCreateSurfaceCallback             ,+#if ENABLE_OVERLOADING+    WindowCreateSurfaceSignalInfo           ,+#endif+    afterWindowCreateSurface                ,+    genClosure_WindowCreateSurface          ,+    mk_WindowCreateSurfaceCallback          ,+    noWindowCreateSurfaceCallback           ,+    onWindowCreateSurface                   ,+    wrap_WindowCreateSurfaceCallback        ,+++-- ** fromEmbedder #signal:fromEmbedder#++    C_WindowFromEmbedderCallback            ,+    WindowFromEmbedderCallback              ,+#if ENABLE_OVERLOADING+    WindowFromEmbedderSignalInfo            ,+#endif+    afterWindowFromEmbedder                 ,+    genClosure_WindowFromEmbedder           ,+    mk_WindowFromEmbedderCallback           ,+    noWindowFromEmbedderCallback            ,+    onWindowFromEmbedder                    ,+    wrap_WindowFromEmbedderCallback         ,+++-- ** movedToRect #signal:movedToRect#++    C_WindowMovedToRectCallback             ,+    WindowMovedToRectCallback               ,+#if ENABLE_OVERLOADING+    WindowMovedToRectSignalInfo             ,+#endif+    afterWindowMovedToRect                  ,+    genClosure_WindowMovedToRect            ,+    mk_WindowMovedToRectCallback            ,+    noWindowMovedToRectCallback             ,+    onWindowMovedToRect                     ,+    wrap_WindowMovedToRectCallback          ,+++-- ** pickEmbeddedChild #signal:pickEmbeddedChild#++    C_WindowPickEmbeddedChildCallback       ,+    WindowPickEmbeddedChildCallback         ,+#if ENABLE_OVERLOADING+    WindowPickEmbeddedChildSignalInfo       ,+#endif+    afterWindowPickEmbeddedChild            ,+    genClosure_WindowPickEmbeddedChild      ,+    mk_WindowPickEmbeddedChildCallback      ,+    noWindowPickEmbeddedChildCallback       ,+    onWindowPickEmbeddedChild               ,+    wrap_WindowPickEmbeddedChildCallback    ,+++-- ** toEmbedder #signal:toEmbedder#++    C_WindowToEmbedderCallback              ,+    WindowToEmbedderCallback                ,+#if ENABLE_OVERLOADING+    WindowToEmbedderSignalInfo              ,+#endif+    afterWindowToEmbedder                   ,+    genClosure_WindowToEmbedder             ,+    mk_WindowToEmbedderCallback             ,+    noWindowToEmbedderCallback              ,+    onWindowToEmbedder                      ,+    wrap_WindowToEmbedderCallback           ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import qualified GI.Cairo.Enums as Cairo.Enums+import qualified GI.Cairo.Structs.Context as Cairo.Context+import qualified GI.Cairo.Structs.Pattern as Cairo.Pattern+import qualified GI.Cairo.Structs.Region as Cairo.Region+import qualified GI.Cairo.Structs.Surface as Cairo.Surface+import qualified GI.GObject.Objects.Object as GObject.Object+import qualified GI.Gdk.Callbacks as Gdk.Callbacks+import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Flags as Gdk.Flags+import {-# SOURCE #-} qualified GI.Gdk.Objects.Cursor as Gdk.Cursor+import {-# SOURCE #-} qualified GI.Gdk.Objects.Device as Gdk.Device+import {-# SOURCE #-} qualified GI.Gdk.Objects.Display as Gdk.Display+import {-# SOURCE #-} qualified GI.Gdk.Objects.DrawingContext as Gdk.DrawingContext+import {-# SOURCE #-} qualified GI.Gdk.Objects.FrameClock as Gdk.FrameClock+import {-# SOURCE #-} qualified GI.Gdk.Objects.GLContext as Gdk.GLContext+import {-# SOURCE #-} qualified GI.Gdk.Objects.Screen as Gdk.Screen+import {-# SOURCE #-} qualified GI.Gdk.Objects.Visual as Gdk.Visual+import {-# SOURCE #-} qualified GI.Gdk.Structs.Color as Gdk.Color+import {-# SOURCE #-} qualified GI.Gdk.Structs.Geometry as Gdk.Geometry+import {-# SOURCE #-} qualified GI.Gdk.Structs.RGBA as Gdk.RGBA+import {-# SOURCE #-} qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle+import {-# SOURCE #-} qualified GI.Gdk.Structs.WindowAttr as Gdk.WindowAttr+import {-# SOURCE #-} qualified GI.Gdk.Unions.Event as Gdk.Event+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf++-- | Memory-managed wrapper type.+newtype Window = Window (ManagedPtr Window)+foreign import ccall "gdk_window_get_type"+    c_gdk_window_get_type :: IO GType++instance GObject Window where+    gobjectType = c_gdk_window_get_type+    ++-- | Type class for types which can be safely cast to `Window`, for instance with `toWindow`.+class (GObject o, O.IsDescendantOf Window o) => IsWindow o+instance (GObject o, O.IsDescendantOf Window o) => IsWindow o++instance O.HasParentTypes Window+type instance O.ParentTypes Window = '[GObject.Object.Object]++-- | Cast to `Window`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toWindow :: (MonadIO m, IsWindow o) => o -> m Window+toWindow = liftIO . unsafeCastTo Window++-- | A convenience alias for `Nothing` :: `Maybe` `Window`.+noWindow :: Maybe Window+noWindow = Nothing++#if ENABLE_OVERLOADING+type family ResolveWindowMethod (t :: Symbol) (o :: *) :: * where+    ResolveWindowMethod "beep" o = WindowBeepMethodInfo+    ResolveWindowMethod "beginDrawFrame" o = WindowBeginDrawFrameMethodInfo+    ResolveWindowMethod "beginMoveDrag" o = WindowBeginMoveDragMethodInfo+    ResolveWindowMethod "beginMoveDragForDevice" o = WindowBeginMoveDragForDeviceMethodInfo+    ResolveWindowMethod "beginPaintRect" o = WindowBeginPaintRectMethodInfo+    ResolveWindowMethod "beginPaintRegion" o = WindowBeginPaintRegionMethodInfo+    ResolveWindowMethod "beginResizeDrag" o = WindowBeginResizeDragMethodInfo+    ResolveWindowMethod "beginResizeDragForDevice" o = WindowBeginResizeDragForDeviceMethodInfo+    ResolveWindowMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveWindowMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveWindowMethod "configureFinished" o = WindowConfigureFinishedMethodInfo+    ResolveWindowMethod "coordsFromParent" o = WindowCoordsFromParentMethodInfo+    ResolveWindowMethod "coordsToParent" o = WindowCoordsToParentMethodInfo+    ResolveWindowMethod "createGlContext" o = WindowCreateGlContextMethodInfo+    ResolveWindowMethod "createSimilarImageSurface" o = WindowCreateSimilarImageSurfaceMethodInfo+    ResolveWindowMethod "createSimilarSurface" o = WindowCreateSimilarSurfaceMethodInfo+    ResolveWindowMethod "deiconify" o = WindowDeiconifyMethodInfo+    ResolveWindowMethod "destroy" o = WindowDestroyMethodInfo+    ResolveWindowMethod "destroyNotify" o = WindowDestroyNotifyMethodInfo+    ResolveWindowMethod "enableSynchronizedConfigure" o = WindowEnableSynchronizedConfigureMethodInfo+    ResolveWindowMethod "endDrawFrame" o = WindowEndDrawFrameMethodInfo+    ResolveWindowMethod "endPaint" o = WindowEndPaintMethodInfo+    ResolveWindowMethod "ensureNative" o = WindowEnsureNativeMethodInfo+    ResolveWindowMethod "flush" o = WindowFlushMethodInfo+    ResolveWindowMethod "focus" o = WindowFocusMethodInfo+    ResolveWindowMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveWindowMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveWindowMethod "freezeToplevelUpdatesLibgtkOnly" o = WindowFreezeToplevelUpdatesLibgtkOnlyMethodInfo+    ResolveWindowMethod "freezeUpdates" o = WindowFreezeUpdatesMethodInfo+    ResolveWindowMethod "fullscreen" o = WindowFullscreenMethodInfo+    ResolveWindowMethod "fullscreenOnMonitor" o = WindowFullscreenOnMonitorMethodInfo+    ResolveWindowMethod "geometryChanged" o = WindowGeometryChangedMethodInfo+    ResolveWindowMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveWindowMethod "hasNative" o = WindowHasNativeMethodInfo+    ResolveWindowMethod "hide" o = WindowHideMethodInfo+    ResolveWindowMethod "iconify" o = WindowIconifyMethodInfo+    ResolveWindowMethod "inputShapeCombineRegion" o = WindowInputShapeCombineRegionMethodInfo+    ResolveWindowMethod "invalidateMaybeRecurse" o = WindowInvalidateMaybeRecurseMethodInfo+    ResolveWindowMethod "invalidateRect" o = WindowInvalidateRectMethodInfo+    ResolveWindowMethod "invalidateRegion" o = WindowInvalidateRegionMethodInfo+    ResolveWindowMethod "isDestroyed" o = WindowIsDestroyedMethodInfo+    ResolveWindowMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveWindowMethod "isInputOnly" o = WindowIsInputOnlyMethodInfo+    ResolveWindowMethod "isShaped" o = WindowIsShapedMethodInfo+    ResolveWindowMethod "isViewable" o = WindowIsViewableMethodInfo+    ResolveWindowMethod "isVisible" o = WindowIsVisibleMethodInfo+    ResolveWindowMethod "lower" o = WindowLowerMethodInfo+    ResolveWindowMethod "markPaintFromClip" o = WindowMarkPaintFromClipMethodInfo+    ResolveWindowMethod "maximize" o = WindowMaximizeMethodInfo+    ResolveWindowMethod "mergeChildInputShapes" o = WindowMergeChildInputShapesMethodInfo+    ResolveWindowMethod "mergeChildShapes" o = WindowMergeChildShapesMethodInfo+    ResolveWindowMethod "move" o = WindowMoveMethodInfo+    ResolveWindowMethod "moveRegion" o = WindowMoveRegionMethodInfo+    ResolveWindowMethod "moveResize" o = WindowMoveResizeMethodInfo+    ResolveWindowMethod "moveToRect" o = WindowMoveToRectMethodInfo+    ResolveWindowMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveWindowMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveWindowMethod "peekChildren" o = WindowPeekChildrenMethodInfo+    ResolveWindowMethod "processUpdates" o = WindowProcessUpdatesMethodInfo+    ResolveWindowMethod "raise" o = WindowRaiseMethodInfo+    ResolveWindowMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveWindowMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveWindowMethod "registerDnd" o = WindowRegisterDndMethodInfo+    ResolveWindowMethod "reparent" o = WindowReparentMethodInfo+    ResolveWindowMethod "resize" o = WindowResizeMethodInfo+    ResolveWindowMethod "restack" o = WindowRestackMethodInfo+    ResolveWindowMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveWindowMethod "scroll" o = WindowScrollMethodInfo+    ResolveWindowMethod "shapeCombineRegion" o = WindowShapeCombineRegionMethodInfo+    ResolveWindowMethod "show" o = WindowShowMethodInfo+    ResolveWindowMethod "showUnraised" o = WindowShowUnraisedMethodInfo+    ResolveWindowMethod "showWindowMenu" o = WindowShowWindowMenuMethodInfo+    ResolveWindowMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveWindowMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveWindowMethod "stick" o = WindowStickMethodInfo+    ResolveWindowMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveWindowMethod "thawToplevelUpdatesLibgtkOnly" o = WindowThawToplevelUpdatesLibgtkOnlyMethodInfo+    ResolveWindowMethod "thawUpdates" o = WindowThawUpdatesMethodInfo+    ResolveWindowMethod "unfullscreen" o = WindowUnfullscreenMethodInfo+    ResolveWindowMethod "unmaximize" o = WindowUnmaximizeMethodInfo+    ResolveWindowMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveWindowMethod "unstick" o = WindowUnstickMethodInfo+    ResolveWindowMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveWindowMethod "withdraw" o = WindowWithdrawMethodInfo+    ResolveWindowMethod "getAcceptFocus" o = WindowGetAcceptFocusMethodInfo+    ResolveWindowMethod "getBackgroundPattern" o = WindowGetBackgroundPatternMethodInfo+    ResolveWindowMethod "getChildren" o = WindowGetChildrenMethodInfo+    ResolveWindowMethod "getChildrenWithUserData" o = WindowGetChildrenWithUserDataMethodInfo+    ResolveWindowMethod "getClipRegion" o = WindowGetClipRegionMethodInfo+    ResolveWindowMethod "getComposited" o = WindowGetCompositedMethodInfo+    ResolveWindowMethod "getCursor" o = WindowGetCursorMethodInfo+    ResolveWindowMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveWindowMethod "getDecorations" o = WindowGetDecorationsMethodInfo+    ResolveWindowMethod "getDeviceCursor" o = WindowGetDeviceCursorMethodInfo+    ResolveWindowMethod "getDeviceEvents" o = WindowGetDeviceEventsMethodInfo+    ResolveWindowMethod "getDevicePosition" o = WindowGetDevicePositionMethodInfo+    ResolveWindowMethod "getDevicePositionDouble" o = WindowGetDevicePositionDoubleMethodInfo+    ResolveWindowMethod "getDisplay" o = WindowGetDisplayMethodInfo+    ResolveWindowMethod "getDragProtocol" o = WindowGetDragProtocolMethodInfo+    ResolveWindowMethod "getEffectiveParent" o = WindowGetEffectiveParentMethodInfo+    ResolveWindowMethod "getEffectiveToplevel" o = WindowGetEffectiveToplevelMethodInfo+    ResolveWindowMethod "getEventCompression" o = WindowGetEventCompressionMethodInfo+    ResolveWindowMethod "getEvents" o = WindowGetEventsMethodInfo+    ResolveWindowMethod "getFocusOnMap" o = WindowGetFocusOnMapMethodInfo+    ResolveWindowMethod "getFrameClock" o = WindowGetFrameClockMethodInfo+    ResolveWindowMethod "getFrameExtents" o = WindowGetFrameExtentsMethodInfo+    ResolveWindowMethod "getFullscreenMode" o = WindowGetFullscreenModeMethodInfo+    ResolveWindowMethod "getGeometry" o = WindowGetGeometryMethodInfo+    ResolveWindowMethod "getGroup" o = WindowGetGroupMethodInfo+    ResolveWindowMethod "getHeight" o = WindowGetHeightMethodInfo+    ResolveWindowMethod "getModalHint" o = WindowGetModalHintMethodInfo+    ResolveWindowMethod "getOrigin" o = WindowGetOriginMethodInfo+    ResolveWindowMethod "getParent" o = WindowGetParentMethodInfo+    ResolveWindowMethod "getPassThrough" o = WindowGetPassThroughMethodInfo+    ResolveWindowMethod "getPointer" o = WindowGetPointerMethodInfo+    ResolveWindowMethod "getPosition" o = WindowGetPositionMethodInfo+    ResolveWindowMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveWindowMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveWindowMethod "getRootCoords" o = WindowGetRootCoordsMethodInfo+    ResolveWindowMethod "getRootOrigin" o = WindowGetRootOriginMethodInfo+    ResolveWindowMethod "getScaleFactor" o = WindowGetScaleFactorMethodInfo+    ResolveWindowMethod "getScreen" o = WindowGetScreenMethodInfo+    ResolveWindowMethod "getSourceEvents" o = WindowGetSourceEventsMethodInfo+    ResolveWindowMethod "getState" o = WindowGetStateMethodInfo+    ResolveWindowMethod "getSupportMultidevice" o = WindowGetSupportMultideviceMethodInfo+    ResolveWindowMethod "getToplevel" o = WindowGetToplevelMethodInfo+    ResolveWindowMethod "getTypeHint" o = WindowGetTypeHintMethodInfo+    ResolveWindowMethod "getUpdateArea" o = WindowGetUpdateAreaMethodInfo+    ResolveWindowMethod "getUserData" o = WindowGetUserDataMethodInfo+    ResolveWindowMethod "getVisibleRegion" o = WindowGetVisibleRegionMethodInfo+    ResolveWindowMethod "getVisual" o = WindowGetVisualMethodInfo+    ResolveWindowMethod "getWidth" o = WindowGetWidthMethodInfo+    ResolveWindowMethod "getWindowType" o = WindowGetWindowTypeMethodInfo+    ResolveWindowMethod "setAcceptFocus" o = WindowSetAcceptFocusMethodInfo+    ResolveWindowMethod "setBackground" o = WindowSetBackgroundMethodInfo+    ResolveWindowMethod "setBackgroundPattern" o = WindowSetBackgroundPatternMethodInfo+    ResolveWindowMethod "setBackgroundRgba" o = WindowSetBackgroundRgbaMethodInfo+    ResolveWindowMethod "setChildInputShapes" o = WindowSetChildInputShapesMethodInfo+    ResolveWindowMethod "setChildShapes" o = WindowSetChildShapesMethodInfo+    ResolveWindowMethod "setComposited" o = WindowSetCompositedMethodInfo+    ResolveWindowMethod "setCursor" o = WindowSetCursorMethodInfo+    ResolveWindowMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveWindowMethod "setDecorations" o = WindowSetDecorationsMethodInfo+    ResolveWindowMethod "setDeviceCursor" o = WindowSetDeviceCursorMethodInfo+    ResolveWindowMethod "setDeviceEvents" o = WindowSetDeviceEventsMethodInfo+    ResolveWindowMethod "setEventCompression" o = WindowSetEventCompressionMethodInfo+    ResolveWindowMethod "setEvents" o = WindowSetEventsMethodInfo+    ResolveWindowMethod "setFocusOnMap" o = WindowSetFocusOnMapMethodInfo+    ResolveWindowMethod "setFullscreenMode" o = WindowSetFullscreenModeMethodInfo+    ResolveWindowMethod "setFunctions" o = WindowSetFunctionsMethodInfo+    ResolveWindowMethod "setGeometryHints" o = WindowSetGeometryHintsMethodInfo+    ResolveWindowMethod "setGroup" o = WindowSetGroupMethodInfo+    ResolveWindowMethod "setIconList" o = WindowSetIconListMethodInfo+    ResolveWindowMethod "setIconName" o = WindowSetIconNameMethodInfo+    ResolveWindowMethod "setKeepAbove" o = WindowSetKeepAboveMethodInfo+    ResolveWindowMethod "setKeepBelow" o = WindowSetKeepBelowMethodInfo+    ResolveWindowMethod "setModalHint" o = WindowSetModalHintMethodInfo+    ResolveWindowMethod "setOpacity" o = WindowSetOpacityMethodInfo+    ResolveWindowMethod "setOpaqueRegion" o = WindowSetOpaqueRegionMethodInfo+    ResolveWindowMethod "setOverrideRedirect" o = WindowSetOverrideRedirectMethodInfo+    ResolveWindowMethod "setPassThrough" o = WindowSetPassThroughMethodInfo+    ResolveWindowMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveWindowMethod "setRole" o = WindowSetRoleMethodInfo+    ResolveWindowMethod "setShadowWidth" o = WindowSetShadowWidthMethodInfo+    ResolveWindowMethod "setSkipPagerHint" o = WindowSetSkipPagerHintMethodInfo+    ResolveWindowMethod "setSkipTaskbarHint" o = WindowSetSkipTaskbarHintMethodInfo+    ResolveWindowMethod "setSourceEvents" o = WindowSetSourceEventsMethodInfo+    ResolveWindowMethod "setStartupId" o = WindowSetStartupIdMethodInfo+    ResolveWindowMethod "setStaticGravities" o = WindowSetStaticGravitiesMethodInfo+    ResolveWindowMethod "setSupportMultidevice" o = WindowSetSupportMultideviceMethodInfo+    ResolveWindowMethod "setTitle" o = WindowSetTitleMethodInfo+    ResolveWindowMethod "setTransientFor" o = WindowSetTransientForMethodInfo+    ResolveWindowMethod "setTypeHint" o = WindowSetTypeHintMethodInfo+    ResolveWindowMethod "setUrgencyHint" o = WindowSetUrgencyHintMethodInfo+    ResolveWindowMethod "setUserData" o = WindowSetUserDataMethodInfo+    ResolveWindowMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveWindowMethod t Window, O.MethodInfo info Window p) => OL.IsLabel t (Window -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++-- signal Window::create-surface+{- |+The ::create-surface signal is emitted when an offscreen window+needs its surface (re)created, which happens either when the+window is first drawn to, or when the window is being+resized. The first signal handler that returns a non-'Nothing'+surface will stop any further signal emission, and its surface+will be used.++Note that it is not possible to access the window\'s previous+surface from within any callback of this signal. Calling+'GI.Gdk.Functions.offscreenWindowGetSurface' will lead to a crash.++/Since: 3.0/+-}+type WindowCreateSurfaceCallback =+    Int32+    {- ^ /@width@/: the width of the offscreen surface to create -}+    -> Int32+    {- ^ /@height@/: the height of the offscreen surface to create -}+    -> IO Cairo.Surface.Surface+    {- ^ __Returns:__ the newly created 'GI.Cairo.Structs.Surface.Surface' for the offscreen window -}++-- | A convenience synonym for @`Nothing` :: `Maybe` `WindowCreateSurfaceCallback`@.+noWindowCreateSurfaceCallback :: Maybe WindowCreateSurfaceCallback+noWindowCreateSurfaceCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_WindowCreateSurfaceCallback =+    Ptr () ->                               -- object+    Int32 ->+    Int32 ->+    Ptr () ->                               -- user_data+    IO (Ptr Cairo.Surface.Surface)++-- | Generate a function pointer callable from C code, from a `C_WindowCreateSurfaceCallback`.+foreign import ccall "wrapper"+    mk_WindowCreateSurfaceCallback :: C_WindowCreateSurfaceCallback -> IO (FunPtr C_WindowCreateSurfaceCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_WindowCreateSurface :: MonadIO m => WindowCreateSurfaceCallback -> m (GClosure C_WindowCreateSurfaceCallback)+genClosure_WindowCreateSurface cb = liftIO $ do+    let cb' = wrap_WindowCreateSurfaceCallback cb+    mk_WindowCreateSurfaceCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `WindowCreateSurfaceCallback` into a `C_WindowCreateSurfaceCallback`.+wrap_WindowCreateSurfaceCallback ::+    WindowCreateSurfaceCallback ->+    C_WindowCreateSurfaceCallback+wrap_WindowCreateSurfaceCallback _cb _ width height _ = do+    result <- _cb  width height+    result' <- B.ManagedPtr.disownBoxed result+    return result'+++{- |+Connect a signal handler for the “@create-surface@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' window #createSurface callback+@+-}+onWindowCreateSurface :: (IsWindow a, MonadIO m) => a -> WindowCreateSurfaceCallback -> m SignalHandlerId+onWindowCreateSurface obj cb = liftIO $ do+    let cb' = wrap_WindowCreateSurfaceCallback cb+    cb'' <- mk_WindowCreateSurfaceCallback cb'+    connectSignalFunPtr obj "create-surface" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@create-surface@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' window #createSurface callback+@+-}+afterWindowCreateSurface :: (IsWindow a, MonadIO m) => a -> WindowCreateSurfaceCallback -> m SignalHandlerId+afterWindowCreateSurface obj cb = liftIO $ do+    let cb' = wrap_WindowCreateSurfaceCallback cb+    cb'' <- mk_WindowCreateSurfaceCallback cb'+    connectSignalFunPtr obj "create-surface" cb'' SignalConnectAfter+++-- signal Window::from-embedder+{- |+The ::from-embedder signal is emitted to translate coordinates+in the embedder of an offscreen window to the offscreen window.++See also 'GI.Gdk.Objects.Window.Window'::@/to-embedder/@.++/Since: 2.18/+-}+type WindowFromEmbedderCallback =+    Double+    {- ^ /@embedderX@/: x coordinate in the embedder window -}+    -> Double+    {- ^ /@embedderY@/: y coordinate in the embedder window -}+    -> IO ((Double, Double))++-- | A convenience synonym for @`Nothing` :: `Maybe` `WindowFromEmbedderCallback`@.+noWindowFromEmbedderCallback :: Maybe WindowFromEmbedderCallback+noWindowFromEmbedderCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_WindowFromEmbedderCallback =+    Ptr () ->                               -- object+    CDouble ->+    CDouble ->+    Ptr CDouble ->+    Ptr CDouble ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_WindowFromEmbedderCallback`.+foreign import ccall "wrapper"+    mk_WindowFromEmbedderCallback :: C_WindowFromEmbedderCallback -> IO (FunPtr C_WindowFromEmbedderCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_WindowFromEmbedder :: MonadIO m => WindowFromEmbedderCallback -> m (GClosure C_WindowFromEmbedderCallback)+genClosure_WindowFromEmbedder cb = liftIO $ do+    let cb' = wrap_WindowFromEmbedderCallback cb+    mk_WindowFromEmbedderCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `WindowFromEmbedderCallback` into a `C_WindowFromEmbedderCallback`.+wrap_WindowFromEmbedderCallback ::+    WindowFromEmbedderCallback ->+    C_WindowFromEmbedderCallback+wrap_WindowFromEmbedderCallback _cb _ embedderX embedderY offscreenX offscreenY _ = do+    let embedderX' = realToFrac embedderX+    let embedderY' = realToFrac embedderY+    (outoffscreenX, outoffscreenY) <- _cb  embedderX' embedderY'+    let outoffscreenX' = realToFrac outoffscreenX+    poke offscreenX outoffscreenX'+    let outoffscreenY' = realToFrac outoffscreenY+    poke offscreenY outoffscreenY'+++{- |+Connect a signal handler for the “@from-embedder@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' window #fromEmbedder callback+@+-}+onWindowFromEmbedder :: (IsWindow a, MonadIO m) => a -> WindowFromEmbedderCallback -> m SignalHandlerId+onWindowFromEmbedder obj cb = liftIO $ do+    let cb' = wrap_WindowFromEmbedderCallback cb+    cb'' <- mk_WindowFromEmbedderCallback cb'+    connectSignalFunPtr obj "from-embedder" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@from-embedder@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' window #fromEmbedder callback+@+-}+afterWindowFromEmbedder :: (IsWindow a, MonadIO m) => a -> WindowFromEmbedderCallback -> m SignalHandlerId+afterWindowFromEmbedder obj cb = liftIO $ do+    let cb' = wrap_WindowFromEmbedderCallback cb+    cb'' <- mk_WindowFromEmbedderCallback cb'+    connectSignalFunPtr obj "from-embedder" cb'' SignalConnectAfter+++-- signal Window::moved-to-rect+{- |+Emitted when the position of /@window@/ is finalized after being moved to a+destination rectangle.++/@window@/ might be flipped over the destination rectangle in order to keep+it on-screen, in which case /@flippedX@/ and /@flippedY@/ will be set to 'True'+accordingly.++/@flippedRect@/ is the ideal position of /@window@/ after any possible+flipping, but before any possible sliding. /@finalRect@/ is /@flippedRect@/,+but possibly translated in the case that flipping is still ineffective in+keeping /@window@/ on-screen.++/Since: 3.22/+-}+type WindowMovedToRectCallback =+    Ptr ()+    {- ^ /@flippedRect@/: the position of /@window@/ after any possible+               flipping or 'Nothing' if the backend can\'t obtain it -}+    -> Ptr ()+    {- ^ /@finalRect@/: the final position of /@window@/ or 'Nothing' if the+             backend can\'t obtain it -}+    -> Bool+    {- ^ /@flippedX@/: 'True' if the anchors were flipped horizontally -}+    -> Bool+    {- ^ /@flippedY@/: 'True' if the anchors were flipped vertically -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `WindowMovedToRectCallback`@.+noWindowMovedToRectCallback :: Maybe WindowMovedToRectCallback+noWindowMovedToRectCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_WindowMovedToRectCallback =+    Ptr () ->                               -- object+    Ptr () ->+    Ptr () ->+    CInt ->+    CInt ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_WindowMovedToRectCallback`.+foreign import ccall "wrapper"+    mk_WindowMovedToRectCallback :: C_WindowMovedToRectCallback -> IO (FunPtr C_WindowMovedToRectCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_WindowMovedToRect :: MonadIO m => WindowMovedToRectCallback -> m (GClosure C_WindowMovedToRectCallback)+genClosure_WindowMovedToRect cb = liftIO $ do+    let cb' = wrap_WindowMovedToRectCallback cb+    mk_WindowMovedToRectCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `WindowMovedToRectCallback` into a `C_WindowMovedToRectCallback`.+wrap_WindowMovedToRectCallback ::+    WindowMovedToRectCallback ->+    C_WindowMovedToRectCallback+wrap_WindowMovedToRectCallback _cb _ flippedRect finalRect flippedX flippedY _ = do+    let flippedX' = (/= 0) flippedX+    let flippedY' = (/= 0) flippedY+    _cb  flippedRect finalRect flippedX' flippedY'+++{- |+Connect a signal handler for the “@moved-to-rect@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' window #movedToRect callback+@+-}+onWindowMovedToRect :: (IsWindow a, MonadIO m) => a -> WindowMovedToRectCallback -> m SignalHandlerId+onWindowMovedToRect obj cb = liftIO $ do+    let cb' = wrap_WindowMovedToRectCallback cb+    cb'' <- mk_WindowMovedToRectCallback cb'+    connectSignalFunPtr obj "moved-to-rect" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@moved-to-rect@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' window #movedToRect callback+@+-}+afterWindowMovedToRect :: (IsWindow a, MonadIO m) => a -> WindowMovedToRectCallback -> m SignalHandlerId+afterWindowMovedToRect obj cb = liftIO $ do+    let cb' = wrap_WindowMovedToRectCallback cb+    cb'' <- mk_WindowMovedToRectCallback cb'+    connectSignalFunPtr obj "moved-to-rect" cb'' SignalConnectAfter+++-- signal Window::pick-embedded-child+{- |+The ::pick-embedded-child signal is emitted to find an embedded+child at the given position.++/Since: 2.18/+-}+type WindowPickEmbeddedChildCallback =+    Double+    {- ^ /@x@/: x coordinate in the window -}+    -> Double+    {- ^ /@y@/: y coordinate in the window -}+    -> IO (Maybe Window)+    {- ^ __Returns:__ the 'GI.Gdk.Objects.Window.Window' of the+    embedded child at /@x@/, /@y@/, or 'Nothing' -}++-- | A convenience synonym for @`Nothing` :: `Maybe` `WindowPickEmbeddedChildCallback`@.+noWindowPickEmbeddedChildCallback :: Maybe WindowPickEmbeddedChildCallback+noWindowPickEmbeddedChildCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_WindowPickEmbeddedChildCallback =+    Ptr () ->                               -- object+    CDouble ->+    CDouble ->+    Ptr () ->                               -- user_data+    IO (Ptr Window)++-- | Generate a function pointer callable from C code, from a `C_WindowPickEmbeddedChildCallback`.+foreign import ccall "wrapper"+    mk_WindowPickEmbeddedChildCallback :: C_WindowPickEmbeddedChildCallback -> IO (FunPtr C_WindowPickEmbeddedChildCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_WindowPickEmbeddedChild :: MonadIO m => WindowPickEmbeddedChildCallback -> m (GClosure C_WindowPickEmbeddedChildCallback)+genClosure_WindowPickEmbeddedChild cb = liftIO $ do+    let cb' = wrap_WindowPickEmbeddedChildCallback cb+    mk_WindowPickEmbeddedChildCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `WindowPickEmbeddedChildCallback` into a `C_WindowPickEmbeddedChildCallback`.+wrap_WindowPickEmbeddedChildCallback ::+    WindowPickEmbeddedChildCallback ->+    C_WindowPickEmbeddedChildCallback+wrap_WindowPickEmbeddedChildCallback _cb _ x y _ = do+    let x' = realToFrac x+    let y' = realToFrac y+    result <- _cb  x' y'+    maybeM nullPtr result $ \result' -> do+        result'' <- unsafeManagedPtrCastPtr result'+        return result''+++{- |+Connect a signal handler for the “@pick-embedded-child@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' window #pickEmbeddedChild callback+@+-}+onWindowPickEmbeddedChild :: (IsWindow a, MonadIO m) => a -> WindowPickEmbeddedChildCallback -> m SignalHandlerId+onWindowPickEmbeddedChild obj cb = liftIO $ do+    let cb' = wrap_WindowPickEmbeddedChildCallback cb+    cb'' <- mk_WindowPickEmbeddedChildCallback cb'+    connectSignalFunPtr obj "pick-embedded-child" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@pick-embedded-child@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' window #pickEmbeddedChild callback+@+-}+afterWindowPickEmbeddedChild :: (IsWindow a, MonadIO m) => a -> WindowPickEmbeddedChildCallback -> m SignalHandlerId+afterWindowPickEmbeddedChild obj cb = liftIO $ do+    let cb' = wrap_WindowPickEmbeddedChildCallback cb+    cb'' <- mk_WindowPickEmbeddedChildCallback cb'+    connectSignalFunPtr obj "pick-embedded-child" cb'' SignalConnectAfter+++-- signal Window::to-embedder+{- |+The ::to-embedder signal is emitted to translate coordinates+in an offscreen window to its embedder.++See also 'GI.Gdk.Objects.Window.Window'::@/from-embedder/@.++/Since: 2.18/+-}+type WindowToEmbedderCallback =+    Double+    {- ^ /@offscreenX@/: x coordinate in the offscreen window -}+    -> Double+    {- ^ /@offscreenY@/: y coordinate in the offscreen window -}+    -> IO ((Double, Double))++-- | A convenience synonym for @`Nothing` :: `Maybe` `WindowToEmbedderCallback`@.+noWindowToEmbedderCallback :: Maybe WindowToEmbedderCallback+noWindowToEmbedderCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_WindowToEmbedderCallback =+    Ptr () ->                               -- object+    CDouble ->+    CDouble ->+    Ptr CDouble ->+    Ptr CDouble ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_WindowToEmbedderCallback`.+foreign import ccall "wrapper"+    mk_WindowToEmbedderCallback :: C_WindowToEmbedderCallback -> IO (FunPtr C_WindowToEmbedderCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_WindowToEmbedder :: MonadIO m => WindowToEmbedderCallback -> m (GClosure C_WindowToEmbedderCallback)+genClosure_WindowToEmbedder cb = liftIO $ do+    let cb' = wrap_WindowToEmbedderCallback cb+    mk_WindowToEmbedderCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `WindowToEmbedderCallback` into a `C_WindowToEmbedderCallback`.+wrap_WindowToEmbedderCallback ::+    WindowToEmbedderCallback ->+    C_WindowToEmbedderCallback+wrap_WindowToEmbedderCallback _cb _ offscreenX offscreenY embedderX embedderY _ = do+    let offscreenX' = realToFrac offscreenX+    let offscreenY' = realToFrac offscreenY+    (outembedderX, outembedderY) <- _cb  offscreenX' offscreenY'+    let outembedderX' = realToFrac outembedderX+    poke embedderX outembedderX'+    let outembedderY' = realToFrac outembedderY+    poke embedderY outembedderY'+++{- |+Connect a signal handler for the “@to-embedder@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' window #toEmbedder callback+@+-}+onWindowToEmbedder :: (IsWindow a, MonadIO m) => a -> WindowToEmbedderCallback -> m SignalHandlerId+onWindowToEmbedder obj cb = liftIO $ do+    let cb' = wrap_WindowToEmbedderCallback cb+    cb'' <- mk_WindowToEmbedderCallback cb'+    connectSignalFunPtr obj "to-embedder" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@to-embedder@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' window #toEmbedder callback+@+-}+afterWindowToEmbedder :: (IsWindow a, MonadIO m) => a -> WindowToEmbedderCallback -> m SignalHandlerId+afterWindowToEmbedder obj cb = liftIO $ do+    let cb' = wrap_WindowToEmbedderCallback cb+    cb'' <- mk_WindowToEmbedderCallback cb'+    connectSignalFunPtr obj "to-embedder" cb'' SignalConnectAfter+++-- VVV Prop "cursor"+   -- Type: TInterface (Name {namespace = "Gdk", name = "Cursor"})+   -- Flags: [PropertyReadable,PropertyWritable]+   -- Nullable: (Just True,Just True)++{- |+Get the value of the “@cursor@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' window #cursor+@+-}+getWindowCursor :: (MonadIO m, IsWindow o) => o -> m (Maybe Gdk.Cursor.Cursor)+getWindowCursor obj = liftIO $ B.Properties.getObjectPropertyObject obj "cursor" Gdk.Cursor.Cursor++{- |+Set the value of the “@cursor@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' window [ #cursor 'Data.GI.Base.Attributes.:=' value ]+@+-}+setWindowCursor :: (MonadIO m, IsWindow o, Gdk.Cursor.IsCursor a) => o -> a -> m ()+setWindowCursor obj val = liftIO $ B.Properties.setObjectPropertyObject obj "cursor" (Just val)++{- |+Construct a `GValueConstruct` with valid value for the “@cursor@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructWindowCursor :: (IsWindow o, Gdk.Cursor.IsCursor a) => a -> IO (GValueConstruct o)+constructWindowCursor val = B.Properties.constructObjectPropertyObject "cursor" (Just val)++{- |+Set the value of the “@cursor@” property to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #cursor+@+-}+clearWindowCursor :: (MonadIO m, IsWindow o) => o -> m ()+clearWindowCursor obj = liftIO $ B.Properties.setObjectPropertyObject obj "cursor" (Nothing :: Maybe Gdk.Cursor.Cursor)++#if ENABLE_OVERLOADING+data WindowCursorPropertyInfo+instance AttrInfo WindowCursorPropertyInfo where+    type AttrAllowedOps WindowCursorPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint WindowCursorPropertyInfo = Gdk.Cursor.IsCursor+    type AttrBaseTypeConstraint WindowCursorPropertyInfo = IsWindow+    type AttrGetType WindowCursorPropertyInfo = (Maybe Gdk.Cursor.Cursor)+    type AttrLabel WindowCursorPropertyInfo = "cursor"+    type AttrOrigin WindowCursorPropertyInfo = Window+    attrGet _ = getWindowCursor+    attrSet _ = setWindowCursor+    attrConstruct _ = constructWindowCursor+    attrClear _ = clearWindowCursor+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList Window+type instance O.AttributeList Window = WindowAttributeList+type WindowAttributeList = ('[ '("cursor", WindowCursorPropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+windowCursor :: AttrLabelProxy "cursor"+windowCursor = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+data WindowCreateSurfaceSignalInfo+instance SignalInfo WindowCreateSurfaceSignalInfo where+    type HaskellCallbackType WindowCreateSurfaceSignalInfo = WindowCreateSurfaceCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_WindowCreateSurfaceCallback cb+        cb'' <- mk_WindowCreateSurfaceCallback cb'+        connectSignalFunPtr obj "create-surface" cb'' connectMode++data WindowFromEmbedderSignalInfo+instance SignalInfo WindowFromEmbedderSignalInfo where+    type HaskellCallbackType WindowFromEmbedderSignalInfo = WindowFromEmbedderCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_WindowFromEmbedderCallback cb+        cb'' <- mk_WindowFromEmbedderCallback cb'+        connectSignalFunPtr obj "from-embedder" cb'' connectMode++data WindowMovedToRectSignalInfo+instance SignalInfo WindowMovedToRectSignalInfo where+    type HaskellCallbackType WindowMovedToRectSignalInfo = WindowMovedToRectCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_WindowMovedToRectCallback cb+        cb'' <- mk_WindowMovedToRectCallback cb'+        connectSignalFunPtr obj "moved-to-rect" cb'' connectMode++data WindowPickEmbeddedChildSignalInfo+instance SignalInfo WindowPickEmbeddedChildSignalInfo where+    type HaskellCallbackType WindowPickEmbeddedChildSignalInfo = WindowPickEmbeddedChildCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_WindowPickEmbeddedChildCallback cb+        cb'' <- mk_WindowPickEmbeddedChildCallback cb'+        connectSignalFunPtr obj "pick-embedded-child" cb'' connectMode++data WindowToEmbedderSignalInfo+instance SignalInfo WindowToEmbedderSignalInfo where+    type HaskellCallbackType WindowToEmbedderSignalInfo = WindowToEmbedderCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_WindowToEmbedderCallback cb+        cb'' <- mk_WindowToEmbedderCallback cb'+        connectSignalFunPtr obj "to-embedder" cb'' connectMode++type instance O.SignalList Window = WindowSignalList+type WindowSignalList = ('[ '("createSurface", WindowCreateSurfaceSignalInfo), '("fromEmbedder", WindowFromEmbedderSignalInfo), '("movedToRect", WindowMovedToRectSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("pickEmbeddedChild", WindowPickEmbeddedChildSignalInfo), '("toEmbedder", WindowToEmbedderSignalInfo)] :: [(Symbol, *)])++#endif++-- method Window::new+-- method type : Constructor+-- Args : [Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GdkWindow, or %NULL to create the window as a child of\n  the default root window for the default display.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attributes", argType = TInterface (Name {namespace = "Gdk", name = "WindowAttr"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "attributes of the new window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attributes_mask", argType = TInterface (Name {namespace = "Gdk", name = "WindowAttributesType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "mask indicating which\n  fields in @attributes are valid", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_new" gdk_window_new :: +    Ptr Window ->                           -- parent : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.WindowAttr.WindowAttr ->        -- attributes : TInterface (Name {namespace = "Gdk", name = "WindowAttr"})+    CUInt ->                                -- attributes_mask : TInterface (Name {namespace = "Gdk", name = "WindowAttributesType"})+    IO (Ptr Window)++{- |+Creates a new 'GI.Gdk.Objects.Window.Window' using the attributes from+/@attributes@/. See 'GI.Gdk.Structs.WindowAttr.WindowAttr' and 'GI.Gdk.Flags.WindowAttributesType' for+more details.  Note: to use this on displays other than the default+display, /@parent@/ must be specified.+-}+windowNew ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    Maybe (a)+    {- ^ /@parent@/: a 'GI.Gdk.Objects.Window.Window', or 'Nothing' to create the window as a child of+  the default root window for the default display. -}+    -> Gdk.WindowAttr.WindowAttr+    {- ^ /@attributes@/: attributes of the new window -}+    -> [Gdk.Flags.WindowAttributesType]+    {- ^ /@attributesMask@/: mask indicating which+  fields in /@attributes@/ are valid -}+    -> m Window+    {- ^ __Returns:__ the new 'GI.Gdk.Objects.Window.Window' -}+windowNew parent attributes attributesMask = liftIO $ do+    maybeParent <- case parent of+        Nothing -> return nullPtr+        Just jParent -> do+            jParent' <- unsafeManagedPtrCastPtr jParent+            return jParent'+    attributes' <- unsafeManagedPtrGetPtr attributes+    let attributesMask' = gflagsToWord attributesMask+    result <- gdk_window_new maybeParent attributes' attributesMask'+    checkUnexpectedReturnNULL "windowNew" result+    result' <- (wrapObject Window) result+    whenJust parent touchManagedPtr+    touchManagedPtr attributes+    return result'++#if ENABLE_OVERLOADING+#endif++-- method Window::beep+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_beep" gdk_window_beep :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Emits a short beep associated to /@window@/ in the appropriate+display, if supported. Otherwise, emits a short beep on+the display just as 'GI.Gdk.Objects.Display.displayBeep'.++/Since: 2.12/+-}+windowBeep ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowBeep window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_beep window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowBeepMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowBeepMethodInfo a signature where+    overloadedMethod _ = windowBeep++#endif++-- method Window::begin_draw_frame+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "region", argType = TInterface (Name {namespace = "cairo", name = "Region"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Cairo region", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "DrawingContext"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_begin_draw_frame" gdk_window_begin_draw_frame :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Cairo.Region.Region ->              -- region : TInterface (Name {namespace = "cairo", name = "Region"})+    IO (Ptr Gdk.DrawingContext.DrawingContext)++{- |+Indicates that you are beginning the process of redrawing /@region@/+on /@window@/, and provides you with a 'GI.Gdk.Objects.DrawingContext.DrawingContext'.++If /@window@/ is a top level 'GI.Gdk.Objects.Window.Window', backed by a native window+implementation, a backing store (offscreen buffer) large enough to+contain /@region@/ will be created. The backing store will be initialized+with the background color or background surface for /@window@/. Then, all+drawing operations performed on /@window@/ will be diverted to the+backing store. When you call @/gdk_window_end_frame()/@, the contents of+the backing store will be copied to /@window@/, making it visible+on screen. Only the part of /@window@/ contained in /@region@/ will be+modified; that is, drawing operations are clipped to /@region@/.++The net result of all this is to remove flicker, because the user+sees the finished product appear all at once when you call+'GI.Gdk.Objects.Window.windowEndDrawFrame'. If you draw to /@window@/ directly without+calling 'GI.Gdk.Objects.Window.windowBeginDrawFrame', the user may see flicker+as individual drawing operations are performed in sequence.++When using GTK+, the widget system automatically places calls to+'GI.Gdk.Objects.Window.windowBeginDrawFrame' and 'GI.Gdk.Objects.Window.windowEndDrawFrame' around+emissions of the @GtkWidget::draw@ signal. That is, if you’re+drawing the contents of the widget yourself, you can assume that the+widget has a cleared background, is already set as the clip region,+and already has a backing store. Therefore in most cases, application+code in GTK does not need to call 'GI.Gdk.Objects.Window.windowBeginDrawFrame'+explicitly.++/Since: 3.22/+-}+windowBeginDrawFrame ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Cairo.Region.Region+    {- ^ /@region@/: a Cairo region -}+    -> m Gdk.DrawingContext.DrawingContext+    {- ^ __Returns:__ a 'GI.Gdk.Objects.DrawingContext.DrawingContext' context that should be+  used to draw the contents of the window; the returned context is owned+  by GDK. -}+windowBeginDrawFrame window region = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    region' <- unsafeManagedPtrGetPtr region+    result <- gdk_window_begin_draw_frame window' region'+    checkUnexpectedReturnNULL "windowBeginDrawFrame" result+    result' <- (newObject Gdk.DrawingContext.DrawingContext) result+    touchManagedPtr window+    touchManagedPtr region+    return result'++#if ENABLE_OVERLOADING+data WindowBeginDrawFrameMethodInfo+instance (signature ~ (Cairo.Region.Region -> m Gdk.DrawingContext.DrawingContext), MonadIO m, IsWindow a) => O.MethodInfo WindowBeginDrawFrameMethodInfo a signature where+    overloadedMethod _ = windowBeginDrawFrame++#endif++-- method Window::begin_move_drag+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "button", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the button being used to drag, or 0 for a keyboard-initiated drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "root_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "root window X coordinate of mouse click that began the drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "root_y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "root window Y coordinate of mouse click that began the drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "timestamp of mouse click that began the drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_begin_move_drag" gdk_window_begin_move_drag :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Int32 ->                                -- button : TBasicType TInt+    Int32 ->                                -- root_x : TBasicType TInt+    Int32 ->                                -- root_y : TBasicType TInt+    Word32 ->                               -- timestamp : TBasicType TUInt32+    IO ()++{- |+Begins a window move operation (for a toplevel window).++This function assumes that the drag is controlled by the+client pointer device, use 'GI.Gdk.Objects.Window.windowBeginMoveDragForDevice'+to begin a drag with a different device.+-}+windowBeginMoveDrag ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> Int32+    {- ^ /@button@/: the button being used to drag, or 0 for a keyboard-initiated drag -}+    -> Int32+    {- ^ /@rootX@/: root window X coordinate of mouse click that began the drag -}+    -> Int32+    {- ^ /@rootY@/: root window Y coordinate of mouse click that began the drag -}+    -> Word32+    {- ^ /@timestamp@/: timestamp of mouse click that began the drag -}+    -> m ()+windowBeginMoveDrag window button rootX rootY timestamp = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_begin_move_drag window' button rootX rootY timestamp+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowBeginMoveDragMethodInfo+instance (signature ~ (Int32 -> Int32 -> Int32 -> Word32 -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowBeginMoveDragMethodInfo a signature where+    overloadedMethod _ = windowBeginMoveDrag++#endif++-- method Window::begin_move_drag_for_device+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the device used for the operation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "button", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the button being used to drag, or 0 for a keyboard-initiated drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "root_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "root window X coordinate of mouse click that began the drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "root_y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "root window Y coordinate of mouse click that began the drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "timestamp of mouse click that began the drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_begin_move_drag_for_device" gdk_window_begin_move_drag_for_device :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Device.Device ->                -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    Int32 ->                                -- button : TBasicType TInt+    Int32 ->                                -- root_x : TBasicType TInt+    Int32 ->                                -- root_y : TBasicType TInt+    Word32 ->                               -- timestamp : TBasicType TUInt32+    IO ()++{- |+Begins a window move operation (for a toplevel window).+You might use this function to implement a “window move grip,” for+example. The function works best with window managers that support the+<http://www.freedesktop.org/Standards/wm-spec Extended Window Manager Hints>+but has a fallback implementation for other window managers.++/Since: 3.4/+-}+windowBeginMoveDragForDevice ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, Gdk.Device.IsDevice b) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> b+    {- ^ /@device@/: the device used for the operation -}+    -> Int32+    {- ^ /@button@/: the button being used to drag, or 0 for a keyboard-initiated drag -}+    -> Int32+    {- ^ /@rootX@/: root window X coordinate of mouse click that began the drag -}+    -> Int32+    {- ^ /@rootY@/: root window Y coordinate of mouse click that began the drag -}+    -> Word32+    {- ^ /@timestamp@/: timestamp of mouse click that began the drag -}+    -> m ()+windowBeginMoveDragForDevice window device button rootX rootY timestamp = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    device' <- unsafeManagedPtrCastPtr device+    gdk_window_begin_move_drag_for_device window' device' button rootX rootY timestamp+    touchManagedPtr window+    touchManagedPtr device+    return ()++#if ENABLE_OVERLOADING+data WindowBeginMoveDragForDeviceMethodInfo+instance (signature ~ (b -> Int32 -> Int32 -> Int32 -> Word32 -> m ()), MonadIO m, IsWindow a, Gdk.Device.IsDevice b) => O.MethodInfo WindowBeginMoveDragForDeviceMethodInfo a signature where+    overloadedMethod _ = windowBeginMoveDragForDevice++#endif++-- method Window::begin_paint_rect+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rectangle", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle you intend to draw to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_begin_paint_rect" gdk_window_begin_paint_rect :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Rectangle.Rectangle ->          -- rectangle : TInterface (Name {namespace = "Gdk", name = "Rectangle"})+    IO ()++{-# DEPRECATED windowBeginPaintRect ["(Since version 3.22)","Use 'GI.Gdk.Objects.Window.windowBeginDrawFrame' instead"] #-}+{- |+A convenience wrapper around 'GI.Gdk.Objects.Window.windowBeginPaintRegion' which+creates a rectangular region for you. See+'GI.Gdk.Objects.Window.windowBeginPaintRegion' for details.+-}+windowBeginPaintRect ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Gdk.Rectangle.Rectangle+    {- ^ /@rectangle@/: rectangle you intend to draw to -}+    -> m ()+windowBeginPaintRect window rectangle = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    rectangle' <- unsafeManagedPtrGetPtr rectangle+    gdk_window_begin_paint_rect window' rectangle'+    touchManagedPtr window+    touchManagedPtr rectangle+    return ()++#if ENABLE_OVERLOADING+data WindowBeginPaintRectMethodInfo+instance (signature ~ (Gdk.Rectangle.Rectangle -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowBeginPaintRectMethodInfo a signature where+    overloadedMethod _ = windowBeginPaintRect++#endif++-- method Window::begin_paint_region+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "region", argType = TInterface (Name {namespace = "cairo", name = "Region"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "region you intend to draw to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_begin_paint_region" gdk_window_begin_paint_region :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Cairo.Region.Region ->              -- region : TInterface (Name {namespace = "cairo", name = "Region"})+    IO ()++{-# DEPRECATED windowBeginPaintRegion ["(Since version 3.22)","Use 'GI.Gdk.Objects.Window.windowBeginDrawFrame' instead"] #-}+{- |+Indicates that you are beginning the process of redrawing /@region@/.+A backing store (offscreen buffer) large enough to contain /@region@/+will be created. The backing store will be initialized with the+background color or background surface for /@window@/. Then, all+drawing operations performed on /@window@/ will be diverted to the+backing store.  When you call 'GI.Gdk.Objects.Window.windowEndPaint', the backing+store will be copied to /@window@/, making it visible onscreen. Only+the part of /@window@/ contained in /@region@/ will be modified; that is,+drawing operations are clipped to /@region@/.++The net result of all this is to remove flicker, because the user+sees the finished product appear all at once when you call+'GI.Gdk.Objects.Window.windowEndPaint'. If you draw to /@window@/ directly without+calling 'GI.Gdk.Objects.Window.windowBeginPaintRegion', the user may see flicker+as individual drawing operations are performed in sequence.  The+clipping and background-initializing features of+'GI.Gdk.Objects.Window.windowBeginPaintRegion' are conveniences for the+programmer, so you can avoid doing that work yourself.++When using GTK+, the widget system automatically places calls to+'GI.Gdk.Objects.Window.windowBeginPaintRegion' and 'GI.Gdk.Objects.Window.windowEndPaint' around+emissions of the expose_event signal. That is, if you’re writing an+expose event handler, you can assume that the exposed area in+'GI.Gdk.Structs.EventExpose.EventExpose' has already been cleared to the window background,+is already set as the clip region, and already has a backing store.+Therefore in most cases, application code need not call+'GI.Gdk.Objects.Window.windowBeginPaintRegion'. (You can disable the automatic+calls around expose events on a widget-by-widget basis by calling+@/gtk_widget_set_double_buffered()/@.)++If you call this function multiple times before calling the+matching 'GI.Gdk.Objects.Window.windowEndPaint', the backing stores are pushed onto+a stack. 'GI.Gdk.Objects.Window.windowEndPaint' copies the topmost backing store+onscreen, subtracts the topmost region from all other regions in+the stack, and pops the stack. All drawing operations affect only+the topmost backing store in the stack. One matching call to+'GI.Gdk.Objects.Window.windowEndPaint' is required for each call to+'GI.Gdk.Objects.Window.windowBeginPaintRegion'.+-}+windowBeginPaintRegion ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Cairo.Region.Region+    {- ^ /@region@/: region you intend to draw to -}+    -> m ()+windowBeginPaintRegion window region = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    region' <- unsafeManagedPtrGetPtr region+    gdk_window_begin_paint_region window' region'+    touchManagedPtr window+    touchManagedPtr region+    return ()++#if ENABLE_OVERLOADING+data WindowBeginPaintRegionMethodInfo+instance (signature ~ (Cairo.Region.Region -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowBeginPaintRegionMethodInfo a signature where+    overloadedMethod _ = windowBeginPaintRegion++#endif++-- method Window::begin_resize_drag+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "edge", argType = TInterface (Name {namespace = "Gdk", name = "WindowEdge"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the edge or corner from which the drag is started", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "button", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the button being used to drag, or 0 for a keyboard-initiated drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "root_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "root window X coordinate of mouse click that began the drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "root_y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "root window Y coordinate of mouse click that began the drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "timestamp of mouse click that began the drag (use gdk_event_get_time())", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_begin_resize_drag" gdk_window_begin_resize_drag :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CUInt ->                                -- edge : TInterface (Name {namespace = "Gdk", name = "WindowEdge"})+    Int32 ->                                -- button : TBasicType TInt+    Int32 ->                                -- root_x : TBasicType TInt+    Int32 ->                                -- root_y : TBasicType TInt+    Word32 ->                               -- timestamp : TBasicType TUInt32+    IO ()++{- |+Begins a window resize operation (for a toplevel window).++This function assumes that the drag is controlled by the+client pointer device, use 'GI.Gdk.Objects.Window.windowBeginResizeDragForDevice'+to begin a drag with a different device.+-}+windowBeginResizeDrag ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> Gdk.Enums.WindowEdge+    {- ^ /@edge@/: the edge or corner from which the drag is started -}+    -> Int32+    {- ^ /@button@/: the button being used to drag, or 0 for a keyboard-initiated drag -}+    -> Int32+    {- ^ /@rootX@/: root window X coordinate of mouse click that began the drag -}+    -> Int32+    {- ^ /@rootY@/: root window Y coordinate of mouse click that began the drag -}+    -> Word32+    {- ^ /@timestamp@/: timestamp of mouse click that began the drag (use 'GI.Gdk.Unions.Event.eventGetTime') -}+    -> m ()+windowBeginResizeDrag window edge button rootX rootY timestamp = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let edge' = (fromIntegral . fromEnum) edge+    gdk_window_begin_resize_drag window' edge' button rootX rootY timestamp+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowBeginResizeDragMethodInfo+instance (signature ~ (Gdk.Enums.WindowEdge -> Int32 -> Int32 -> Int32 -> Word32 -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowBeginResizeDragMethodInfo a signature where+    overloadedMethod _ = windowBeginResizeDrag++#endif++-- method Window::begin_resize_drag_for_device+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "edge", argType = TInterface (Name {namespace = "Gdk", name = "WindowEdge"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the edge or corner from which the drag is started", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the device used for the operation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "button", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the button being used to drag, or 0 for a keyboard-initiated drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "root_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "root window X coordinate of mouse click that began the drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "root_y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "root window Y coordinate of mouse click that began the drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "timestamp of mouse click that began the drag (use gdk_event_get_time())", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_begin_resize_drag_for_device" gdk_window_begin_resize_drag_for_device :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CUInt ->                                -- edge : TInterface (Name {namespace = "Gdk", name = "WindowEdge"})+    Ptr Gdk.Device.Device ->                -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    Int32 ->                                -- button : TBasicType TInt+    Int32 ->                                -- root_x : TBasicType TInt+    Int32 ->                                -- root_y : TBasicType TInt+    Word32 ->                               -- timestamp : TBasicType TUInt32+    IO ()++{- |+Begins a window resize operation (for a toplevel window).+You might use this function to implement a “window resize grip,” for+example; in fact @/GtkStatusbar/@ uses it. The function works best+with window managers that support the+<http://www.freedesktop.org/Standards/wm-spec Extended Window Manager Hints>+but has a fallback implementation for other window managers.++/Since: 3.4/+-}+windowBeginResizeDragForDevice ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, Gdk.Device.IsDevice b) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> Gdk.Enums.WindowEdge+    {- ^ /@edge@/: the edge or corner from which the drag is started -}+    -> b+    {- ^ /@device@/: the device used for the operation -}+    -> Int32+    {- ^ /@button@/: the button being used to drag, or 0 for a keyboard-initiated drag -}+    -> Int32+    {- ^ /@rootX@/: root window X coordinate of mouse click that began the drag -}+    -> Int32+    {- ^ /@rootY@/: root window Y coordinate of mouse click that began the drag -}+    -> Word32+    {- ^ /@timestamp@/: timestamp of mouse click that began the drag (use 'GI.Gdk.Unions.Event.eventGetTime') -}+    -> m ()+windowBeginResizeDragForDevice window edge device button rootX rootY timestamp = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let edge' = (fromIntegral . fromEnum) edge+    device' <- unsafeManagedPtrCastPtr device+    gdk_window_begin_resize_drag_for_device window' edge' device' button rootX rootY timestamp+    touchManagedPtr window+    touchManagedPtr device+    return ()++#if ENABLE_OVERLOADING+data WindowBeginResizeDragForDeviceMethodInfo+instance (signature ~ (Gdk.Enums.WindowEdge -> b -> Int32 -> Int32 -> Int32 -> Word32 -> m ()), MonadIO m, IsWindow a, Gdk.Device.IsDevice b) => O.MethodInfo WindowBeginResizeDragForDeviceMethodInfo a signature where+    overloadedMethod _ = windowBeginResizeDragForDevice++#endif++-- method Window::configure_finished+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_configure_finished" gdk_window_configure_finished :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{-# DEPRECATED windowConfigureFinished ["(Since version 3.8)","this function is no longer needed"] #-}+{- |+Does nothing, present only for compatiblity.++/Since: 2.6/+-}+windowConfigureFinished ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowConfigureFinished window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_configure_finished window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowConfigureFinishedMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowConfigureFinishedMethodInfo a signature where+    overloadedMethod _ = windowConfigureFinished++#endif++-- method Window::coords_from_parent+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a child window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent_x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X coordinate in parent\8217s coordinate system", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent_y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y coordinate in parent\8217s coordinate system", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for X coordinate in child\8217s coordinate system", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for Y coordinate in child\8217s coordinate system", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_coords_from_parent" gdk_window_coords_from_parent :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CDouble ->                              -- parent_x : TBasicType TDouble+    CDouble ->                              -- parent_y : TBasicType TDouble+    Ptr CDouble ->                          -- x : TBasicType TDouble+    Ptr CDouble ->                          -- y : TBasicType TDouble+    IO ()++{- |+Transforms window coordinates from a parent window to a child+window, where the parent window is the normal parent as returned by+'GI.Gdk.Objects.Window.windowGetParent' for normal windows, and the window\'s+embedder as returned by 'GI.Gdk.Functions.offscreenWindowGetEmbedder' for+offscreen windows.++For normal windows, calling this function is equivalent to subtracting+the return values of 'GI.Gdk.Objects.Window.windowGetPosition' from the parent coordinates.+For offscreen windows however (which can be arbitrarily transformed),+this function calls the GdkWindow::from-embedder: signal to translate+the coordinates.++You should always use this function when writing generic code that+walks down a window hierarchy.++See also: 'GI.Gdk.Objects.Window.windowCoordsToParent'++/Since: 2.22/+-}+windowCoordsFromParent ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a child window -}+    -> Double+    {- ^ /@parentX@/: X coordinate in parent’s coordinate system -}+    -> Double+    {- ^ /@parentY@/: Y coordinate in parent’s coordinate system -}+    -> m ((Double, Double))+windowCoordsFromParent window parentX parentY = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let parentX' = realToFrac parentX+    let parentY' = realToFrac parentY+    x <- allocMem :: IO (Ptr CDouble)+    y <- allocMem :: IO (Ptr CDouble)+    gdk_window_coords_from_parent window' parentX' parentY' x y+    x' <- peek x+    let x'' = realToFrac x'+    y' <- peek y+    let y'' = realToFrac y'+    touchManagedPtr window+    freeMem x+    freeMem y+    return (x'', y'')++#if ENABLE_OVERLOADING+data WindowCoordsFromParentMethodInfo+instance (signature ~ (Double -> Double -> m ((Double, Double))), MonadIO m, IsWindow a) => O.MethodInfo WindowCoordsFromParentMethodInfo a signature where+    overloadedMethod _ = windowCoordsFromParent++#endif++-- method Window::coords_to_parent+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a child window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X coordinate in child\8217s coordinate system", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y coordinate in child\8217s coordinate system", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent_x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for X coordinate\nin parent\8217s coordinate system, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "parent_y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for Y coordinate\nin parent\8217s coordinate system, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_coords_to_parent" gdk_window_coords_to_parent :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CDouble ->                              -- x : TBasicType TDouble+    CDouble ->                              -- y : TBasicType TDouble+    Ptr CDouble ->                          -- parent_x : TBasicType TDouble+    Ptr CDouble ->                          -- parent_y : TBasicType TDouble+    IO ()++{- |+Transforms window coordinates from a child window to its parent+window, where the parent window is the normal parent as returned by+'GI.Gdk.Objects.Window.windowGetParent' for normal windows, and the window\'s+embedder as returned by 'GI.Gdk.Functions.offscreenWindowGetEmbedder' for+offscreen windows.++For normal windows, calling this function is equivalent to adding+the return values of 'GI.Gdk.Objects.Window.windowGetPosition' to the child coordinates.+For offscreen windows however (which can be arbitrarily transformed),+this function calls the GdkWindow::to-embedder: signal to translate+the coordinates.++You should always use this function when writing generic code that+walks up a window hierarchy.++See also: 'GI.Gdk.Objects.Window.windowCoordsFromParent'++/Since: 2.22/+-}+windowCoordsToParent ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a child window -}+    -> Double+    {- ^ /@x@/: X coordinate in child’s coordinate system -}+    -> Double+    {- ^ /@y@/: Y coordinate in child’s coordinate system -}+    -> m ((Double, Double))+windowCoordsToParent window x y = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let x' = realToFrac x+    let y' = realToFrac y+    parentX <- allocMem :: IO (Ptr CDouble)+    parentY <- allocMem :: IO (Ptr CDouble)+    gdk_window_coords_to_parent window' x' y' parentX parentY+    parentX' <- peek parentX+    let parentX'' = realToFrac parentX'+    parentY' <- peek parentY+    let parentY'' = realToFrac parentY'+    touchManagedPtr window+    freeMem parentX+    freeMem parentY+    return (parentX'', parentY'')++#if ENABLE_OVERLOADING+data WindowCoordsToParentMethodInfo+instance (signature ~ (Double -> Double -> m ((Double, Double))), MonadIO m, IsWindow a) => O.MethodInfo WindowCoordsToParentMethodInfo a signature where+    overloadedMethod _ = windowCoordsToParent++#endif++-- method Window::create_gl_context+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "GLContext"}))+-- throws : True+-- Skip return : False++foreign import ccall "gdk_window_create_gl_context" gdk_window_create_gl_context :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr Gdk.GLContext.GLContext)++{- |+Creates a new 'GI.Gdk.Objects.GLContext.GLContext' matching the+framebuffer format to the visual of the 'GI.Gdk.Objects.Window.Window'. The context+is disconnected from any particular window or surface.++If the creation of the 'GI.Gdk.Objects.GLContext.GLContext' failed, /@error@/ will be set.++Before using the returned 'GI.Gdk.Objects.GLContext.GLContext', you will need to+call 'GI.Gdk.Objects.GLContext.gLContextMakeCurrent' or 'GI.Gdk.Objects.GLContext.gLContextRealize'.++/Since: 3.16/+-}+windowCreateGlContext ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m Gdk.GLContext.GLContext+    {- ^ __Returns:__ the newly created 'GI.Gdk.Objects.GLContext.GLContext', or+'Nothing' on error /(Can throw 'Data.GI.Base.GError.GError')/ -}+windowCreateGlContext window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    onException (do+        result <- propagateGError $ gdk_window_create_gl_context window'+        checkUnexpectedReturnNULL "windowCreateGlContext" result+        result' <- (wrapObject Gdk.GLContext.GLContext) result+        touchManagedPtr window+        return result'+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data WindowCreateGlContextMethodInfo+instance (signature ~ (m Gdk.GLContext.GLContext), MonadIO m, IsWindow a) => O.MethodInfo WindowCreateGlContextMethodInfo a signature where+    overloadedMethod _ = windowCreateGlContext++#endif++-- method Window::create_similar_image_surface+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "window to make new surface similar to, or\n  %NULL if none", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format for the new surface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width of the new surface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "height of the new surface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scale", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the scale of the new surface, or 0 to use same as @window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "cairo", name = "Surface"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_create_similar_image_surface" gdk_window_create_similar_image_surface :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Int32 ->                                -- format : TBasicType TInt+    Int32 ->                                -- width : TBasicType TInt+    Int32 ->                                -- height : TBasicType TInt+    Int32 ->                                -- scale : TBasicType TInt+    IO (Ptr Cairo.Surface.Surface)++{- |+Create a new image surface that is efficient to draw on the+given /@window@/.++Initially the surface contents are all 0 (transparent if contents+have transparency, black otherwise.)++The /@width@/ and /@height@/ of the new surface are not affected by+the scaling factor of the /@window@/, or by the /@scale@/ argument; they+are the size of the surface in device pixels. If you wish to create+an image surface capable of holding the contents of /@window@/ you can+use:+++=== /C code/+>+>  int scale = gdk_window_get_scale_factor (window);+>  int width = gdk_window_get_width (window) * scale;+>  int height = gdk_window_get_height (window) * scale;+>+>  // format is set elsewhere+>  cairo_surface_t *surface =+>    gdk_window_create_similar_image_surface (window,+>                                             format,+>                                             width, height,+>                                             scale);+++Note that unlike @/cairo_surface_create_similar_image()/@, the new+surface\'s device scale is set to /@scale@/, or to the scale factor of+/@window@/ if /@scale@/ is 0.++/Since: 3.10/+-}+windowCreateSimilarImageSurface ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: window to make new surface similar to, or+  'Nothing' if none -}+    -> Int32+    {- ^ /@format@/: the format for the new surface -}+    -> Int32+    {- ^ /@width@/: width of the new surface -}+    -> Int32+    {- ^ /@height@/: height of the new surface -}+    -> Int32+    {- ^ /@scale@/: the scale of the new surface, or 0 to use same as /@window@/ -}+    -> m Cairo.Surface.Surface+    {- ^ __Returns:__ a pointer to the newly allocated surface. The caller+owns the surface and should call @/cairo_surface_destroy()/@ when done+with it.++This function always returns a valid pointer, but it will return a+pointer to a “nil” surface if /@other@/ is already in an error state+or any other error occurs. -}+windowCreateSimilarImageSurface window format width height scale = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_create_similar_image_surface window' format width height scale+    checkUnexpectedReturnNULL "windowCreateSimilarImageSurface" result+    result' <- (wrapBoxed Cairo.Surface.Surface) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowCreateSimilarImageSurfaceMethodInfo+instance (signature ~ (Int32 -> Int32 -> Int32 -> Int32 -> m Cairo.Surface.Surface), MonadIO m, IsWindow a) => O.MethodInfo WindowCreateSimilarImageSurfaceMethodInfo a signature where+    overloadedMethod _ = windowCreateSimilarImageSurface++#endif++-- method Window::create_similar_surface+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "window to make new surface similar to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "content", argType = TInterface (Name {namespace = "cairo", name = "Content"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the content for the new surface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width of the new surface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "height of the new surface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "cairo", name = "Surface"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_create_similar_surface" gdk_window_create_similar_surface :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CUInt ->                                -- content : TInterface (Name {namespace = "cairo", name = "Content"})+    Int32 ->                                -- width : TBasicType TInt+    Int32 ->                                -- height : TBasicType TInt+    IO (Ptr Cairo.Surface.Surface)++{- |+Create a new surface that is as compatible as possible with the+given /@window@/. For example the new surface will have the same+fallback resolution and font options as /@window@/. Generally, the new+surface will also use the same backend as /@window@/, unless that is+not possible for some reason. The type of the returned surface may+be examined with @/cairo_surface_get_type()/@.++Initially the surface contents are all 0 (transparent if contents+have transparency, black otherwise.)++/Since: 2.22/+-}+windowCreateSimilarSurface ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: window to make new surface similar to -}+    -> Cairo.Enums.Content+    {- ^ /@content@/: the content for the new surface -}+    -> Int32+    {- ^ /@width@/: width of the new surface -}+    -> Int32+    {- ^ /@height@/: height of the new surface -}+    -> m Cairo.Surface.Surface+    {- ^ __Returns:__ a pointer to the newly allocated surface. The caller+owns the surface and should call @/cairo_surface_destroy()/@ when done+with it.++This function always returns a valid pointer, but it will return a+pointer to a “nil” surface if /@other@/ is already in an error state+or any other error occurs. -}+windowCreateSimilarSurface window content width height = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let content' = (fromIntegral . fromEnum) content+    result <- gdk_window_create_similar_surface window' content' width height+    checkUnexpectedReturnNULL "windowCreateSimilarSurface" result+    result' <- (wrapBoxed Cairo.Surface.Surface) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowCreateSimilarSurfaceMethodInfo+instance (signature ~ (Cairo.Enums.Content -> Int32 -> Int32 -> m Cairo.Surface.Surface), MonadIO m, IsWindow a) => O.MethodInfo WindowCreateSimilarSurfaceMethodInfo a signature where+    overloadedMethod _ = windowCreateSimilarSurface++#endif++-- method Window::deiconify+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_deiconify" gdk_window_deiconify :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Attempt to deiconify (unminimize) /@window@/. On X11 the window manager may+choose to ignore the request to deiconify. When using GTK+,+use @/gtk_window_deiconify()/@ instead of the 'GI.Gdk.Objects.Window.Window' variant. Or better yet,+you probably want to use @/gtk_window_present_with_time()/@, which raises the window, focuses it,+unminimizes it, and puts it on the current desktop.+-}+windowDeiconify ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowDeiconify window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_deiconify window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowDeiconifyMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowDeiconifyMethodInfo a signature where+    overloadedMethod _ = windowDeiconify++#endif++-- method Window::destroy+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_destroy" gdk_window_destroy :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Destroys the window system resources associated with /@window@/ and decrements /@window@/\'s+reference count. The window system resources for all children of /@window@/ are also+destroyed, but the children’s reference counts are not decremented.++Note that a window will not be destroyed automatically when its reference count+reaches zero. You must call this function yourself before that happens.+-}+windowDestroy ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowDestroy window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_destroy window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowDestroyMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowDestroyMethodInfo a signature where+    overloadedMethod _ = windowDestroy++#endif++-- method Window::destroy_notify+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_destroy_notify" gdk_window_destroy_notify :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+/No description available in the introspection data./+-}+windowDestroyNotify ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    -> m ()+windowDestroyNotify window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_destroy_notify window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowDestroyNotifyMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowDestroyNotifyMethodInfo a signature where+    overloadedMethod _ = windowDestroyNotify++#endif++-- method Window::enable_synchronized_configure+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_enable_synchronized_configure" gdk_window_enable_synchronized_configure :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{-# DEPRECATED windowEnableSynchronizedConfigure ["(Since version 3.8)","this function is no longer needed"] #-}+{- |+Does nothing, present only for compatiblity.++/Since: 2.6/+-}+windowEnableSynchronizedConfigure ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowEnableSynchronizedConfigure window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_enable_synchronized_configure window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowEnableSynchronizedConfigureMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowEnableSynchronizedConfigureMethodInfo a signature where+    overloadedMethod _ = windowEnableSynchronizedConfigure++#endif++-- method Window::end_draw_frame+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DrawingContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkDrawingContext created by gdk_window_begin_draw_frame()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_end_draw_frame" gdk_window_end_draw_frame :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.DrawingContext.DrawingContext -> -- context : TInterface (Name {namespace = "Gdk", name = "DrawingContext"})+    IO ()++{- |+Indicates that the drawing of the contents of /@window@/ started with+@/gdk_window_begin_frame()/@ has been completed.++This function will take care of destroying the 'GI.Gdk.Objects.DrawingContext.DrawingContext'.++It is an error to call this function without a matching+@/gdk_window_begin_frame()/@ first.++/Since: 3.22/+-}+windowEndDrawFrame ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, Gdk.DrawingContext.IsDrawingContext b) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> b+    {- ^ /@context@/: the 'GI.Gdk.Objects.DrawingContext.DrawingContext' created by 'GI.Gdk.Objects.Window.windowBeginDrawFrame' -}+    -> m ()+windowEndDrawFrame window context = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    context' <- unsafeManagedPtrCastPtr context+    gdk_window_end_draw_frame window' context'+    touchManagedPtr window+    touchManagedPtr context+    return ()++#if ENABLE_OVERLOADING+data WindowEndDrawFrameMethodInfo+instance (signature ~ (b -> m ()), MonadIO m, IsWindow a, Gdk.DrawingContext.IsDrawingContext b) => O.MethodInfo WindowEndDrawFrameMethodInfo a signature where+    overloadedMethod _ = windowEndDrawFrame++#endif++-- method Window::end_paint+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_end_paint" gdk_window_end_paint :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Indicates that the backing store created by the most recent call+to 'GI.Gdk.Objects.Window.windowBeginPaintRegion' should be copied onscreen and+deleted, leaving the next-most-recent backing store or no backing+store at all as the active paint region. See+'GI.Gdk.Objects.Window.windowBeginPaintRegion' for full details.++It is an error to call this function without a matching+'GI.Gdk.Objects.Window.windowBeginPaintRegion' first.+-}+windowEndPaint ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowEndPaint window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_end_paint window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowEndPaintMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowEndPaintMethodInfo a signature where+    overloadedMethod _ = windowEndPaint++#endif++-- method Window::ensure_native+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_ensure_native" gdk_window_ensure_native :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO CInt++{- |+Tries to ensure that there is a window-system native window for this+GdkWindow. This may fail in some situations, returning 'False'.++Offscreen window and children of them can never have native windows.++Some backends may not support native child windows.++/Since: 2.18/+-}+windowEnsureNative ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the window has a native window, 'False' otherwise -}+windowEnsureNative window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_ensure_native window'+    let result' = (/= 0) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowEnsureNativeMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowEnsureNativeMethodInfo a signature where+    overloadedMethod _ = windowEnsureNative++#endif++-- method Window::flush+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_flush" gdk_window_flush :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{-# DEPRECATED windowFlush ["(Since version 3.14)"] #-}+{- |+This function does nothing.++/Since: 2.18/+-}+windowFlush ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowFlush window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_flush window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowFlushMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowFlushMethodInfo a signature where+    overloadedMethod _ = windowFlush++#endif++-- method Window::focus+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "timestamp of the event triggering the window focus", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_focus" gdk_window_focus :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Word32 ->                               -- timestamp : TBasicType TUInt32+    IO ()++{- |+Sets keyboard focus to /@window@/. In most cases, @/gtk_window_present_with_time()/@+should be used on a @/GtkWindow/@, rather than calling this function.+-}+windowFocus ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Word32+    {- ^ /@timestamp@/: timestamp of the event triggering the window focus -}+    -> m ()+windowFocus window timestamp = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_focus window' timestamp+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowFocusMethodInfo+instance (signature ~ (Word32 -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowFocusMethodInfo a signature where+    overloadedMethod _ = windowFocus++#endif++-- method Window::freeze_toplevel_updates_libgtk_only+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_freeze_toplevel_updates_libgtk_only" gdk_window_freeze_toplevel_updates_libgtk_only :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{-# DEPRECATED windowFreezeToplevelUpdatesLibgtkOnly ["(Since version 3.16)","This symbol was never meant to be used outside of GTK+"] #-}+{- |+Temporarily freezes a window and all its descendants such that it won\'t+receive expose events.  The window will begin receiving expose events+again when 'GI.Gdk.Objects.Window.windowThawToplevelUpdatesLibgtkOnly' is called. If+'GI.Gdk.Objects.Window.windowFreezeToplevelUpdatesLibgtkOnly'+has been called more than once,+'GI.Gdk.Objects.Window.windowThawToplevelUpdatesLibgtkOnly' must be called+an equal number of times to begin processing exposes.++This function is not part of the GDK public API and is only+for use by GTK+.+-}+windowFreezeToplevelUpdatesLibgtkOnly ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowFreezeToplevelUpdatesLibgtkOnly window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_freeze_toplevel_updates_libgtk_only window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowFreezeToplevelUpdatesLibgtkOnlyMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowFreezeToplevelUpdatesLibgtkOnlyMethodInfo a signature where+    overloadedMethod _ = windowFreezeToplevelUpdatesLibgtkOnly++#endif++-- method Window::freeze_updates+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_freeze_updates" gdk_window_freeze_updates :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Temporarily freezes a window such that it won’t receive expose+events.  The window will begin receiving expose events again when+'GI.Gdk.Objects.Window.windowThawUpdates' is called. If 'GI.Gdk.Objects.Window.windowFreezeUpdates'+has been called more than once, 'GI.Gdk.Objects.Window.windowThawUpdates' must be called+an equal number of times to begin processing exposes.+-}+windowFreezeUpdates ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowFreezeUpdates window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_freeze_updates window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowFreezeUpdatesMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowFreezeUpdatesMethodInfo a signature where+    overloadedMethod _ = windowFreezeUpdates++#endif++-- method Window::fullscreen+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_fullscreen" gdk_window_fullscreen :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Moves the window into fullscreen mode. This means the+window covers the entire screen and is above any panels+or task bars.++If the window was already fullscreen, then this function does nothing.++On X11, asks the window manager to put /@window@/ in a fullscreen+state, if the window manager supports this operation. Not all+window managers support this, and some deliberately ignore it or+don’t have a concept of “fullscreen”; so you can’t rely on the+fullscreenification actually happening. But it will happen with+most standard window managers, and GDK makes a best effort to get+it to happen.++/Since: 2.2/+-}+windowFullscreen ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowFullscreen window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_fullscreen window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowFullscreenMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowFullscreenMethodInfo a signature where+    overloadedMethod _ = windowFullscreen++#endif++-- method Window::fullscreen_on_monitor+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "monitor", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Which monitor to display fullscreen on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_fullscreen_on_monitor" gdk_window_fullscreen_on_monitor :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Int32 ->                                -- monitor : TBasicType TInt+    IO ()++{- |+Moves the window into fullscreen mode on the given monitor. This means+the window covers the entire screen and is above any panels or task bars.++If the window was already fullscreen, then this function does nothing.+-}+windowFullscreenOnMonitor ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> Int32+    {- ^ /@monitor@/: Which monitor to display fullscreen on. -}+    -> m ()+windowFullscreenOnMonitor window monitor = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_fullscreen_on_monitor window' monitor+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowFullscreenOnMonitorMethodInfo+instance (signature ~ (Int32 -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowFullscreenOnMonitorMethodInfo a signature where+    overloadedMethod _ = windowFullscreenOnMonitor++#endif++-- method Window::geometry_changed+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an embedded offscreen #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_geometry_changed" gdk_window_geometry_changed :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+This function informs GDK that the geometry of an embedded+offscreen window has changed. This is necessary for GDK to keep+track of which offscreen window the pointer is in.++/Since: 2.18/+-}+windowGeometryChanged ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: an embedded offscreen 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowGeometryChanged window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_geometry_changed window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowGeometryChangedMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowGeometryChangedMethodInfo a signature where+    overloadedMethod _ = windowGeometryChanged++#endif++-- method Window::get_accept_focus+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_accept_focus" gdk_window_get_accept_focus :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO CInt++{- |+Determines whether or not the desktop environment shuld be hinted that+the window does not want to receive input focus.++/Since: 2.22/+-}+windowGetAcceptFocus ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window'. -}+    -> m Bool+    {- ^ __Returns:__ whether or not the window should receive input focus. -}+windowGetAcceptFocus window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_accept_focus window'+    let result' = (/= 0) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowGetAcceptFocusMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowGetAcceptFocusMethodInfo a signature where+    overloadedMethod _ = windowGetAcceptFocus++#endif++-- method Window::get_background_pattern+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "cairo", name = "Pattern"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_background_pattern" gdk_window_get_background_pattern :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO (Ptr Cairo.Pattern.Pattern)++{-# DEPRECATED windowGetBackgroundPattern ["(Since version 3.22)","Don\\'t use this function"] #-}+{- |+Gets the pattern used to clear the background on /@window@/.++/Since: 2.22/+-}+windowGetBackgroundPattern ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a window -}+    -> m (Maybe Cairo.Pattern.Pattern)+    {- ^ __Returns:__ The pattern to use for the+background or 'Nothing' if there is no background. -}+windowGetBackgroundPattern window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_background_pattern window'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newBoxed Cairo.Pattern.Pattern) result'+        return result''+    touchManagedPtr window+    return maybeResult++#if ENABLE_OVERLOADING+data WindowGetBackgroundPatternMethodInfo+instance (signature ~ (m (Maybe Cairo.Pattern.Pattern)), MonadIO m, IsWindow a) => O.MethodInfo WindowGetBackgroundPatternMethodInfo a signature where+    overloadedMethod _ = windowGetBackgroundPattern++#endif++-- method Window::get_children+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TGList (TInterface (Name {namespace = "Gdk", name = "Window"})))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_children" gdk_window_get_children :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO (Ptr (GList (Ptr Window)))++{- |+Gets the list of children of /@window@/ known to GDK.+This function only returns children created via GDK,+so for example it’s useless when used with the root window;+it only returns windows an application created itself.++The returned list must be freed, but the elements in the+list need not be.+-}+windowGetChildren ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m [Window]+    {- ^ __Returns:__ +    list of child windows inside /@window@/ -}+windowGetChildren window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_children window'+    result' <- unpackGList result+    result'' <- mapM (newObject Window) result'+    g_list_free result+    touchManagedPtr window+    return result''++#if ENABLE_OVERLOADING+data WindowGetChildrenMethodInfo+instance (signature ~ (m [Window]), MonadIO m, IsWindow a) => O.MethodInfo WindowGetChildrenMethodInfo a signature where+    overloadedMethod _ = windowGetChildren++#endif++-- method Window::get_children_with_user_data+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to look for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TGList (TInterface (Name {namespace = "Gdk", name = "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 ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr () ->                               -- user_data : TBasicType TPtr+    IO (Ptr (GList (Ptr Window)))++{- |+Gets the list of children of /@window@/ known to GDK with a+particular /@userData@/ set on it.++The returned list must be freed, but the elements in the+list need not be.++The list is returned in (relative) stacking order, i.e. the+lowest window is first.++/Since: 3.10/+-}+windowGetChildrenWithUserData ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Ptr ()+    {- ^ /@userData@/: user data to look for -}+    -> m [Window]+    {- ^ __Returns:__ +    list of child windows inside /@window@/ -}+windowGetChildrenWithUserData window userData = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_children_with_user_data window' userData+    result' <- unpackGList result+    result'' <- mapM (newObject Window) result'+    g_list_free result+    touchManagedPtr window+    return result''++#if ENABLE_OVERLOADING+data WindowGetChildrenWithUserDataMethodInfo+instance (signature ~ (Ptr () -> m [Window]), MonadIO m, IsWindow a) => O.MethodInfo WindowGetChildrenWithUserDataMethodInfo a signature where+    overloadedMethod _ = windowGetChildrenWithUserData++#endif++-- method Window::get_clip_region+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "cairo", name = "Region"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_clip_region" gdk_window_get_clip_region :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO (Ptr Cairo.Region.Region)++{- |+Computes the region of a window that potentially can be written+to by drawing primitives. This region may not take into account+other factors such as if the window is obscured by other windows,+but no area outside of this region will be affected by drawing+primitives.+-}+windowGetClipRegion ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m Cairo.Region.Region+    {- ^ __Returns:__ a 'GI.Cairo.Structs.Region.Region'. This must be freed with @/cairo_region_destroy()/@+         when you are done. -}+windowGetClipRegion window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_clip_region window'+    checkUnexpectedReturnNULL "windowGetClipRegion" result+    result' <- (wrapBoxed Cairo.Region.Region) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowGetClipRegionMethodInfo+instance (signature ~ (m Cairo.Region.Region), MonadIO m, IsWindow a) => O.MethodInfo WindowGetClipRegionMethodInfo a signature where+    overloadedMethod _ = windowGetClipRegion++#endif++-- method Window::get_composited+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_composited" gdk_window_get_composited :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO CInt++{-# DEPRECATED windowGetComposited ["(Since version 3.16)","Compositing is an outdated technology that","  only ever worked on X11."] #-}+{- |+Determines whether /@window@/ is composited.++See 'GI.Gdk.Objects.Window.windowSetComposited'.++/Since: 2.22/+-}+windowGetComposited ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the window is composited. -}+windowGetComposited window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_composited window'+    let result' = (/= 0) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowGetCompositedMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowGetCompositedMethodInfo a signature where+    overloadedMethod _ = windowGetComposited++#endif++-- method Window::get_cursor+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Cursor"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_cursor" gdk_window_get_cursor :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO (Ptr Gdk.Cursor.Cursor)++{- |+Retrieves a 'GI.Gdk.Objects.Cursor.Cursor' pointer for the cursor currently set on the+specified 'GI.Gdk.Objects.Window.Window', or 'Nothing'.  If the return value is 'Nothing' then+there is no custom cursor set on the specified window, and it is+using the cursor for its parent window.++/Since: 2.18/+-}+windowGetCursor ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m (Maybe Gdk.Cursor.Cursor)+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Cursor.Cursor', or 'Nothing'. The+  returned object is owned by the 'GI.Gdk.Objects.Window.Window' and should not be+  unreferenced directly. Use 'GI.Gdk.Objects.Window.windowSetCursor' to unset the+  cursor of the window -}+windowGetCursor window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_cursor window'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Gdk.Cursor.Cursor) result'+        return result''+    touchManagedPtr window+    return maybeResult++#if ENABLE_OVERLOADING+data WindowGetCursorMethodInfo+instance (signature ~ (m (Maybe Gdk.Cursor.Cursor)), MonadIO m, IsWindow a) => O.MethodInfo WindowGetCursorMethodInfo a signature where+    overloadedMethod _ = windowGetCursor++#endif++-- method Window::get_decorations+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The toplevel #GdkWindow to get the decorations from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "decorations", argType = TInterface (Name {namespace = "Gdk", name = "WMDecoration"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The window decorations will be written here", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_decorations" gdk_window_get_decorations :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr CUInt ->                            -- decorations : TInterface (Name {namespace = "Gdk", name = "WMDecoration"})+    IO CInt++{- |+Returns the decorations set on the GdkWindow with+'GI.Gdk.Objects.Window.windowSetDecorations'.+-}+windowGetDecorations ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: The toplevel 'GI.Gdk.Objects.Window.Window' to get the decorations from -}+    -> m ((Bool, [Gdk.Flags.WMDecoration]))+    {- ^ __Returns:__ 'True' if the window has decorations set, 'False' otherwise. -}+windowGetDecorations window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    decorations <- allocMem :: IO (Ptr CUInt)+    result <- gdk_window_get_decorations window' decorations+    let result' = (/= 0) result+    decorations' <- peek decorations+    let decorations'' = wordToGFlags decorations'+    touchManagedPtr window+    freeMem decorations+    return (result', decorations'')++#if ENABLE_OVERLOADING+data WindowGetDecorationsMethodInfo+instance (signature ~ (m ((Bool, [Gdk.Flags.WMDecoration]))), MonadIO m, IsWindow a) => O.MethodInfo WindowGetDecorationsMethodInfo a signature where+    overloadedMethod _ = windowGetDecorations++#endif++-- method Window::get_device_cursor+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a master, pointer #GdkDevice.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Cursor"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_device_cursor" gdk_window_get_device_cursor :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Device.Device ->                -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    IO (Ptr Gdk.Cursor.Cursor)++{- |+Retrieves a 'GI.Gdk.Objects.Cursor.Cursor' pointer for the /@device@/ currently set on the+specified 'GI.Gdk.Objects.Window.Window', or 'Nothing'.  If the return value is 'Nothing' then+there is no custom cursor set on the specified window, and it is+using the cursor for its parent window.++/Since: 3.0/+-}+windowGetDeviceCursor ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, Gdk.Device.IsDevice b) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window'. -}+    -> b+    {- ^ /@device@/: a master, pointer 'GI.Gdk.Objects.Device.Device'. -}+    -> m (Maybe Gdk.Cursor.Cursor)+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Cursor.Cursor', or 'Nothing'. The+  returned object is owned by the 'GI.Gdk.Objects.Window.Window' and should not be+  unreferenced directly. Use 'GI.Gdk.Objects.Window.windowSetCursor' to unset the+  cursor of the window -}+windowGetDeviceCursor window device = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    device' <- unsafeManagedPtrCastPtr device+    result <- gdk_window_get_device_cursor window' device'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Gdk.Cursor.Cursor) result'+        return result''+    touchManagedPtr window+    touchManagedPtr device+    return maybeResult++#if ENABLE_OVERLOADING+data WindowGetDeviceCursorMethodInfo+instance (signature ~ (b -> m (Maybe Gdk.Cursor.Cursor)), MonadIO m, IsWindow a, Gdk.Device.IsDevice b) => O.MethodInfo WindowGetDeviceCursorMethodInfo a signature where+    overloadedMethod _ = windowGetDeviceCursor++#endif++-- method Window::get_device_events+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "EventMask"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_device_events" gdk_window_get_device_events :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Device.Device ->                -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    IO CUInt++{- |+Returns the event mask for /@window@/ corresponding to an specific device.++/Since: 3.0/+-}+windowGetDeviceEvents ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, Gdk.Device.IsDevice b) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window'. -}+    -> b+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device'. -}+    -> m [Gdk.Flags.EventMask]+    {- ^ __Returns:__ device event mask for /@window@/ -}+windowGetDeviceEvents window device = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    device' <- unsafeManagedPtrCastPtr device+    result <- gdk_window_get_device_events window' device'+    let result' = wordToGFlags result+    touchManagedPtr window+    touchManagedPtr device+    return result'++#if ENABLE_OVERLOADING+data WindowGetDeviceEventsMethodInfo+instance (signature ~ (b -> m [Gdk.Flags.EventMask]), MonadIO m, IsWindow a, Gdk.Device.IsDevice b) => O.MethodInfo WindowGetDeviceEventsMethodInfo a signature where+    overloadedMethod _ = windowGetDeviceEvents++#endif++-- method Window::get_device_position+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer #GdkDevice to query to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the X coordinate of @device, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the Y coordinate of @device, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "mask", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the modifier mask, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_device_position" gdk_window_get_device_position :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Device.Device ->                -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    Ptr Int32 ->                            -- x : TBasicType TInt+    Ptr Int32 ->                            -- y : TBasicType TInt+    Ptr CUInt ->                            -- mask : TInterface (Name {namespace = "Gdk", name = "ModifierType"})+    IO (Ptr Window)++{- |+Obtains the current device position and modifier state.+The position is given in coordinates relative to the upper left+corner of /@window@/.++Use 'GI.Gdk.Objects.Window.windowGetDevicePositionDouble' if you need subpixel precision.++/Since: 3.0/+-}+windowGetDevicePosition ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, Gdk.Device.IsDevice b) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window'. -}+    -> b+    {- ^ /@device@/: pointer 'GI.Gdk.Objects.Device.Device' to query to. -}+    -> m ((Maybe Window, Int32, Int32, [Gdk.Flags.ModifierType]))+    {- ^ __Returns:__ The window underneath /@device@/+(as with 'GI.Gdk.Objects.Device.deviceGetWindowAtPosition'), or 'Nothing' if the+window is not known to GDK. -}+windowGetDevicePosition window device = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    device' <- unsafeManagedPtrCastPtr device+    x <- allocMem :: IO (Ptr Int32)+    y <- allocMem :: IO (Ptr Int32)+    mask <- allocMem :: IO (Ptr CUInt)+    result <- gdk_window_get_device_position window' device' x y mask+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Window) result'+        return result''+    x' <- peek x+    y' <- peek y+    mask' <- peek mask+    let mask'' = wordToGFlags mask'+    touchManagedPtr window+    touchManagedPtr device+    freeMem x+    freeMem y+    freeMem mask+    return (maybeResult, x', y', mask'')++#if ENABLE_OVERLOADING+data WindowGetDevicePositionMethodInfo+instance (signature ~ (b -> m ((Maybe Window, Int32, Int32, [Gdk.Flags.ModifierType]))), MonadIO m, IsWindow a, Gdk.Device.IsDevice b) => O.MethodInfo WindowGetDevicePositionMethodInfo a signature where+    overloadedMethod _ = windowGetDevicePosition++#endif++-- method Window::get_device_position_double+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer #GdkDevice to query to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the X coordinate of @device, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the Y coordinate of @device, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "mask", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the modifier mask, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_device_position_double" gdk_window_get_device_position_double :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Device.Device ->                -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    Ptr CDouble ->                          -- x : TBasicType TDouble+    Ptr CDouble ->                          -- y : TBasicType TDouble+    Ptr CUInt ->                            -- mask : TInterface (Name {namespace = "Gdk", name = "ModifierType"})+    IO (Ptr Window)++{- |+Obtains the current device position in doubles and modifier state.+The position is given in coordinates relative to the upper left+corner of /@window@/.++/Since: 3.10/+-}+windowGetDevicePositionDouble ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, Gdk.Device.IsDevice b) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window'. -}+    -> b+    {- ^ /@device@/: pointer 'GI.Gdk.Objects.Device.Device' to query to. -}+    -> m ((Maybe Window, Double, Double, [Gdk.Flags.ModifierType]))+    {- ^ __Returns:__ The window underneath /@device@/+(as with 'GI.Gdk.Objects.Device.deviceGetWindowAtPosition'), or 'Nothing' if the+window is not known to GDK. -}+windowGetDevicePositionDouble window device = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    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 window' device' x y mask+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Window) result'+        return result''+    x' <- peek x+    let x'' = realToFrac x'+    y' <- peek y+    let y'' = realToFrac y'+    mask' <- peek mask+    let mask'' = wordToGFlags mask'+    touchManagedPtr window+    touchManagedPtr device+    freeMem x+    freeMem y+    freeMem mask+    return (maybeResult, x'', y'', mask'')++#if ENABLE_OVERLOADING+data WindowGetDevicePositionDoubleMethodInfo+instance (signature ~ (b -> m ((Maybe Window, Double, Double, [Gdk.Flags.ModifierType]))), MonadIO m, IsWindow a, Gdk.Device.IsDevice b) => O.MethodInfo WindowGetDevicePositionDoubleMethodInfo a signature where+    overloadedMethod _ = windowGetDevicePositionDouble++#endif++-- method Window::get_display+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Display"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_display" gdk_window_get_display :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO (Ptr Gdk.Display.Display)++{- |+Gets the 'GI.Gdk.Objects.Display.Display' associated with a 'GI.Gdk.Objects.Window.Window'.++/Since: 2.24/+-}+windowGetDisplay ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m Gdk.Display.Display+    {- ^ __Returns:__ the 'GI.Gdk.Objects.Display.Display' associated with /@window@/ -}+windowGetDisplay window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_display window'+    checkUnexpectedReturnNULL "windowGetDisplay" result+    result' <- (newObject Gdk.Display.Display) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowGetDisplayMethodInfo+instance (signature ~ (m Gdk.Display.Display), MonadIO m, IsWindow a) => O.MethodInfo WindowGetDisplayMethodInfo a signature where+    overloadedMethod _ = windowGetDisplay++#endif++-- method Window::get_drag_protocol+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the destination window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location of the window\n   where the drop should happen. This may be @window or a proxy window,\n   or %NULL if @window does not support Drag and Drop.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "DragProtocol"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_drag_protocol" gdk_window_get_drag_protocol :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr (Ptr Window) ->                     -- target : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO CUInt++{- |+Finds out the DND protocol supported by a window.++/Since: 3.0/+-}+windowGetDragProtocol ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: the destination window -}+    -> m ((Gdk.Enums.DragProtocol, Window))+    {- ^ __Returns:__ the supported DND protocol. -}+windowGetDragProtocol window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    target <- allocMem :: IO (Ptr (Ptr Window))+    result <- gdk_window_get_drag_protocol window' target+    let result' = (toEnum . fromIntegral) result+    target' <- peek target+    target'' <- (wrapObject Window) target'+    touchManagedPtr window+    freeMem target+    return (result', target'')++#if ENABLE_OVERLOADING+data WindowGetDragProtocolMethodInfo+instance (signature ~ (m ((Gdk.Enums.DragProtocol, Window))), MonadIO m, IsWindow a) => O.MethodInfo WindowGetDragProtocolMethodInfo a signature where+    overloadedMethod _ = windowGetDragProtocol++#endif++-- method Window::get_effective_parent+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_effective_parent" gdk_window_get_effective_parent :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO (Ptr Window)++{- |+Obtains the parent of /@window@/, as known to GDK. Works like+'GI.Gdk.Objects.Window.windowGetParent' for normal windows, but returns the+window’s embedder for offscreen windows.++See also: 'GI.Gdk.Functions.offscreenWindowGetEmbedder'++/Since: 2.22/+-}+windowGetEffectiveParent ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m Window+    {- ^ __Returns:__ effective parent of /@window@/ -}+windowGetEffectiveParent window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_effective_parent window'+    checkUnexpectedReturnNULL "windowGetEffectiveParent" result+    result' <- (newObject Window) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowGetEffectiveParentMethodInfo+instance (signature ~ (m Window), MonadIO m, IsWindow a) => O.MethodInfo WindowGetEffectiveParentMethodInfo a signature where+    overloadedMethod _ = windowGetEffectiveParent++#endif++-- method Window::get_effective_toplevel+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_effective_toplevel" gdk_window_get_effective_toplevel :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO (Ptr Window)++{- |+Gets the toplevel window that’s an ancestor of /@window@/.++Works like 'GI.Gdk.Objects.Window.windowGetToplevel', but treats an offscreen window\'s+embedder as its parent, using 'GI.Gdk.Objects.Window.windowGetEffectiveParent'.++See also: 'GI.Gdk.Functions.offscreenWindowGetEmbedder'++/Since: 2.22/+-}+windowGetEffectiveToplevel ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m Window+    {- ^ __Returns:__ the effective toplevel window containing /@window@/ -}+windowGetEffectiveToplevel window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_effective_toplevel window'+    checkUnexpectedReturnNULL "windowGetEffectiveToplevel" result+    result' <- (newObject Window) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowGetEffectiveToplevelMethodInfo+instance (signature ~ (m Window), MonadIO m, IsWindow a) => O.MethodInfo WindowGetEffectiveToplevelMethodInfo a signature where+    overloadedMethod _ = windowGetEffectiveToplevel++#endif++-- method Window::get_event_compression+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_event_compression" gdk_window_get_event_compression :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO CInt++{- |+Get the current event compression setting for this window.++/Since: 3.12/+-}+windowGetEventCompression ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if motion events will be compressed -}+windowGetEventCompression window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_event_compression window'+    let result' = (/= 0) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowGetEventCompressionMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowGetEventCompressionMethodInfo a signature where+    overloadedMethod _ = windowGetEventCompression++#endif++-- method Window::get_events+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "EventMask"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_events" gdk_window_get_events :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO CUInt++{- |+Gets the event mask for /@window@/ for all master input devices. See+'GI.Gdk.Objects.Window.windowSetEvents'.+-}+windowGetEvents ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m [Gdk.Flags.EventMask]+    {- ^ __Returns:__ event mask for /@window@/ -}+windowGetEvents window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_events window'+    let result' = wordToGFlags result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowGetEventsMethodInfo+instance (signature ~ (m [Gdk.Flags.EventMask]), MonadIO m, IsWindow a) => O.MethodInfo WindowGetEventsMethodInfo a signature where+    overloadedMethod _ = windowGetEvents++#endif++-- method Window::get_focus_on_map+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_focus_on_map" gdk_window_get_focus_on_map :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO CInt++{- |+Determines whether or not the desktop environment should be hinted that the+window does not want to receive input focus when it is mapped.++/Since: 2.22/+-}+windowGetFocusOnMap ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window'. -}+    -> m Bool+    {- ^ __Returns:__ whether or not the window wants to receive input focus when+it is mapped. -}+windowGetFocusOnMap window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_focus_on_map window'+    let result' = (/= 0) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowGetFocusOnMapMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowGetFocusOnMapMethodInfo a signature where+    overloadedMethod _ = windowGetFocusOnMap++#endif++-- method Window::get_frame_clock+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "window to get frame clock for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "FrameClock"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_frame_clock" gdk_window_get_frame_clock :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO (Ptr Gdk.FrameClock.FrameClock)++{- |+Gets the frame clock for the window. The frame clock for a window+never changes unless the window is reparented to a new toplevel+window.++/Since: 3.8/+-}+windowGetFrameClock ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: window to get frame clock for -}+    -> m Gdk.FrameClock.FrameClock+    {- ^ __Returns:__ the frame clock -}+windowGetFrameClock window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_frame_clock window'+    checkUnexpectedReturnNULL "windowGetFrameClock" result+    result' <- (newObject Gdk.FrameClock.FrameClock) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowGetFrameClockMethodInfo+instance (signature ~ (m Gdk.FrameClock.FrameClock), MonadIO m, IsWindow a) => O.MethodInfo WindowGetFrameClockMethodInfo a signature where+    overloadedMethod _ = windowGetFrameClock++#endif++-- method Window::get_frame_extents+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rect", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle to fill with bounding box of the window frame", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_frame_extents" gdk_window_get_frame_extents :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Rectangle.Rectangle ->          -- rect : TInterface (Name {namespace = "Gdk", name = "Rectangle"})+    IO ()++{- |+Obtains the bounding box of the window, including window manager+titlebar\/borders if any. The frame position is given in root window+coordinates. To get the position of the window itself (rather than+the frame) in root window coordinates, use 'GI.Gdk.Objects.Window.windowGetOrigin'.+-}+windowGetFrameExtents ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> m (Gdk.Rectangle.Rectangle)+windowGetFrameExtents window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    rect <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)+    gdk_window_get_frame_extents window' rect+    rect' <- (wrapBoxed Gdk.Rectangle.Rectangle) rect+    touchManagedPtr window+    return rect'++#if ENABLE_OVERLOADING+data WindowGetFrameExtentsMethodInfo+instance (signature ~ (m (Gdk.Rectangle.Rectangle)), MonadIO m, IsWindow a) => O.MethodInfo WindowGetFrameExtentsMethodInfo a signature where+    overloadedMethod _ = windowGetFrameExtents++#endif++-- method Window::get_fullscreen_mode+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "FullscreenMode"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_fullscreen_mode" gdk_window_get_fullscreen_mode :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO CUInt++{- |+Obtains the 'GI.Gdk.Enums.FullscreenMode' of the /@window@/.++/Since: 3.8/+-}+windowGetFullscreenMode ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> m Gdk.Enums.FullscreenMode+    {- ^ __Returns:__ The 'GI.Gdk.Enums.FullscreenMode' applied to the window when fullscreen. -}+windowGetFullscreenMode window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_fullscreen_mode window'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowGetFullscreenModeMethodInfo+instance (signature ~ (m Gdk.Enums.FullscreenMode), MonadIO m, IsWindow a) => O.MethodInfo WindowGetFullscreenModeMethodInfo a signature where+    overloadedMethod _ = windowGetFullscreenMode++#endif++-- method Window::get_geometry+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for X coordinate of window (relative to its parent)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for Y coordinate of window (relative to its parent)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for width of window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for height of window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_geometry" gdk_window_get_geometry :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Int32 ->                            -- x : TBasicType TInt+    Ptr Int32 ->                            -- y : TBasicType TInt+    Ptr Int32 ->                            -- width : TBasicType TInt+    Ptr Int32 ->                            -- height : TBasicType TInt+    IO ()++{- |+Any of the return location arguments to this function may be 'Nothing',+if you aren’t interested in getting the value of that field.++The X and Y coordinates returned are relative to the parent window+of /@window@/, which for toplevels usually means relative to the+window decorations (titlebar, etc.) rather than relative to the+root window (screen-size background window).++On the X11 platform, the geometry is obtained from the X server,+so reflects the latest position of /@window@/; this may be out-of-sync+with the position of /@window@/ delivered in the most-recently-processed+'GI.Gdk.Structs.EventConfigure.EventConfigure'. 'GI.Gdk.Objects.Window.windowGetPosition' in contrast gets the+position from the most recent configure event.++Note: If /@window@/ is not a toplevel, it is much better+to call 'GI.Gdk.Objects.Window.windowGetPosition', 'GI.Gdk.Objects.Window.windowGetWidth' and+'GI.Gdk.Objects.Window.windowGetHeight' instead, because it avoids the roundtrip to+the X server and because these functions support the full 32-bit+coordinate space, whereas 'GI.Gdk.Objects.Window.windowGetGeometry' is restricted to+the 16-bit coordinates of X11.+-}+windowGetGeometry ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m ((Int32, Int32, Int32, Int32))+windowGetGeometry window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    x <- allocMem :: IO (Ptr Int32)+    y <- allocMem :: IO (Ptr Int32)+    width <- allocMem :: IO (Ptr Int32)+    height <- allocMem :: IO (Ptr Int32)+    gdk_window_get_geometry window' x y width height+    x' <- peek x+    y' <- peek y+    width' <- peek width+    height' <- peek height+    touchManagedPtr window+    freeMem x+    freeMem y+    freeMem width+    freeMem height+    return (x', y', width', height')++#if ENABLE_OVERLOADING+data WindowGetGeometryMethodInfo+instance (signature ~ (m ((Int32, Int32, Int32, Int32))), MonadIO m, IsWindow a) => O.MethodInfo WindowGetGeometryMethodInfo a signature where+    overloadedMethod _ = windowGetGeometry++#endif++-- method Window::get_group+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_group" gdk_window_get_group :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO (Ptr Window)++{- |+Returns the group leader window for /@window@/. See 'GI.Gdk.Objects.Window.windowSetGroup'.++/Since: 2.4/+-}+windowGetGroup ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> m Window+    {- ^ __Returns:__ the group leader window for /@window@/ -}+windowGetGroup window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_group window'+    checkUnexpectedReturnNULL "windowGetGroup" result+    result' <- (newObject Window) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowGetGroupMethodInfo+instance (signature ~ (m Window), MonadIO m, IsWindow a) => O.MethodInfo WindowGetGroupMethodInfo a signature where+    overloadedMethod _ = windowGetGroup++#endif++-- method Window::get_height+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_height" gdk_window_get_height :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO Int32++{- |+Returns the height of the given /@window@/.++On the X11 platform the returned size is the size reported in the+most-recently-processed configure event, rather than the current+size on the X server.++/Since: 2.24/+-}+windowGetHeight ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m Int32+    {- ^ __Returns:__ The height of /@window@/ -}+windowGetHeight window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_height window'+    touchManagedPtr window+    return result++#if ENABLE_OVERLOADING+data WindowGetHeightMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsWindow a) => O.MethodInfo WindowGetHeightMethodInfo a signature where+    overloadedMethod _ = windowGetHeight++#endif++-- method Window::get_modal_hint+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A toplevel #GdkWindow.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_modal_hint" gdk_window_get_modal_hint :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO CInt++{- |+Determines whether or not the window manager is hinted that /@window@/+has modal behaviour.++/Since: 2.22/+-}+windowGetModalHint ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: A toplevel 'GI.Gdk.Objects.Window.Window'. -}+    -> m Bool+    {- ^ __Returns:__ whether or not the window has the modal hint set. -}+windowGetModalHint window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_modal_hint window'+    let result' = (/= 0) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowGetModalHintMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowGetModalHintMethodInfo a signature where+    overloadedMethod _ = windowGetModalHint++#endif++-- method Window::get_origin+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for X coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for Y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_origin" gdk_window_get_origin :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Int32 ->                            -- x : TBasicType TInt+    Ptr Int32 ->                            -- y : TBasicType TInt+    IO Int32++{- |+Obtains the position of a window in root window coordinates.+(Compare with 'GI.Gdk.Objects.Window.windowGetPosition' and+'GI.Gdk.Objects.Window.windowGetGeometry' which return the position of a window+relative to its parent window.)+-}+windowGetOrigin ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m ((Int32, Int32, Int32))+    {- ^ __Returns:__ not meaningful, ignore -}+windowGetOrigin window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    x <- allocMem :: IO (Ptr Int32)+    y <- allocMem :: IO (Ptr Int32)+    result <- gdk_window_get_origin window' x y+    x' <- peek x+    y' <- peek y+    touchManagedPtr window+    freeMem x+    freeMem y+    return (result, x', y')++#if ENABLE_OVERLOADING+data WindowGetOriginMethodInfo+instance (signature ~ (m ((Int32, Int32, Int32))), MonadIO m, IsWindow a) => O.MethodInfo WindowGetOriginMethodInfo a signature where+    overloadedMethod _ = windowGetOrigin++#endif++-- method Window::get_parent+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_parent" gdk_window_get_parent :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO (Ptr Window)++{- |+Obtains the parent of /@window@/, as known to GDK. Does not query the+X server; thus this returns the parent as passed to 'GI.Gdk.Objects.Window.windowNew',+not the actual parent. This should never matter unless you’re using+Xlib calls mixed with GDK calls on the X11 platform. It may also+matter for toplevel windows, because the window manager may choose+to reparent them.++Note that you should use 'GI.Gdk.Objects.Window.windowGetEffectiveParent' when+writing generic code that walks up a window hierarchy, because+'GI.Gdk.Objects.Window.windowGetParent' will most likely not do what you expect if+there are offscreen windows in the hierarchy.+-}+windowGetParent ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m Window+    {- ^ __Returns:__ parent of /@window@/ -}+windowGetParent window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_parent window'+    checkUnexpectedReturnNULL "windowGetParent" result+    result' <- (newObject Window) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowGetParentMethodInfo+instance (signature ~ (m Window), MonadIO m, IsWindow a) => O.MethodInfo WindowGetParentMethodInfo a signature where+    overloadedMethod _ = windowGetParent++#endif++-- method Window::get_pass_through+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_pass_through" gdk_window_get_pass_through :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO CInt++{- |+Returns whether input to the window is passed through to the window+below.++See 'GI.Gdk.Objects.Window.windowSetPassThrough' for details++/Since: 3.18/+-}+windowGetPassThrough ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m Bool+windowGetPassThrough window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_pass_through window'+    let result' = (/= 0) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowGetPassThroughMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowGetPassThroughMethodInfo a signature where+    overloadedMethod _ = windowGetPassThrough++#endif++-- method Window::get_pointer+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for X coordinate of pointer or %NULL to not\n     return the X coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for Y coordinate of pointer or %NULL to not\n     return the Y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "mask", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for modifier mask or %NULL to not return the\n     modifier mask", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_pointer" gdk_window_get_pointer :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Int32 ->                            -- x : TBasicType TInt+    Ptr Int32 ->                            -- y : TBasicType TInt+    Ptr CUInt ->                            -- mask : TInterface (Name {namespace = "Gdk", name = "ModifierType"})+    IO (Ptr Window)++{-# DEPRECATED windowGetPointer ["(Since version 3.0)","Use 'GI.Gdk.Objects.Window.windowGetDevicePosition' instead."] #-}+{- |+Obtains the current pointer position and modifier state.+The position is given in coordinates relative to the upper left+corner of /@window@/.+-}+windowGetPointer ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m ((Maybe Window, Int32, Int32, [Gdk.Flags.ModifierType]))+    {- ^ __Returns:__ the window containing the+pointer (as with 'GI.Gdk.Objects.Window.windowAtPointer'), or 'Nothing' if the window+containing the pointer isn’t known to GDK -}+windowGetPointer window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    x <- allocMem :: IO (Ptr Int32)+    y <- allocMem :: IO (Ptr Int32)+    mask <- allocMem :: IO (Ptr CUInt)+    result <- gdk_window_get_pointer window' x y mask+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Window) result'+        return result''+    x' <- peek x+    y' <- peek y+    mask' <- peek mask+    let mask'' = wordToGFlags mask'+    touchManagedPtr window+    freeMem x+    freeMem y+    freeMem mask+    return (maybeResult, x', y', mask'')++#if ENABLE_OVERLOADING+data WindowGetPointerMethodInfo+instance (signature ~ (m ((Maybe Window, Int32, Int32, [Gdk.Flags.ModifierType]))), MonadIO m, IsWindow a) => O.MethodInfo WindowGetPointerMethodInfo a signature where+    overloadedMethod _ = windowGetPointer++#endif++-- method Window::get_position+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X coordinate of window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y coordinate of window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_position" gdk_window_get_position :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Int32 ->                            -- x : TBasicType TInt+    Ptr Int32 ->                            -- y : TBasicType TInt+    IO ()++{- |+Obtains the position of the window as reported in the+most-recently-processed 'GI.Gdk.Structs.EventConfigure.EventConfigure'. Contrast with+'GI.Gdk.Objects.Window.windowGetGeometry' which queries the X server for the+current window position, regardless of which events have been+received or processed.++The position coordinates are relative to the window’s parent window.+-}+windowGetPosition ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m ((Int32, Int32))+windowGetPosition window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    x <- allocMem :: IO (Ptr Int32)+    y <- allocMem :: IO (Ptr Int32)+    gdk_window_get_position window' x y+    x' <- peek x+    y' <- peek y+    touchManagedPtr window+    freeMem x+    freeMem y+    return (x', y')++#if ENABLE_OVERLOADING+data WindowGetPositionMethodInfo+instance (signature ~ (m ((Int32, Int32))), MonadIO m, IsWindow a) => O.MethodInfo WindowGetPositionMethodInfo a signature where+    overloadedMethod _ = windowGetPosition++#endif++-- method Window::get_root_coords+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X coordinate in window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y coordinate in window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "root_x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for X coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "root_y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for Y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_root_coords" gdk_window_get_root_coords :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Int32 ->                                -- x : TBasicType TInt+    Int32 ->                                -- y : TBasicType TInt+    Ptr Int32 ->                            -- root_x : TBasicType TInt+    Ptr Int32 ->                            -- root_y : TBasicType TInt+    IO ()++{- |+Obtains the position of a window position in root+window coordinates. This is similar to+'GI.Gdk.Objects.Window.windowGetOrigin' but allows you to pass+in any position in the window, not just the origin.++/Since: 2.18/+-}+windowGetRootCoords ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Int32+    {- ^ /@x@/: X coordinate in window -}+    -> Int32+    {- ^ /@y@/: Y coordinate in window -}+    -> m ((Int32, Int32))+windowGetRootCoords window x y = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    rootX <- allocMem :: IO (Ptr Int32)+    rootY <- allocMem :: IO (Ptr Int32)+    gdk_window_get_root_coords window' x y rootX rootY+    rootX' <- peek rootX+    rootY' <- peek rootY+    touchManagedPtr window+    freeMem rootX+    freeMem rootY+    return (rootX', rootY')++#if ENABLE_OVERLOADING+data WindowGetRootCoordsMethodInfo+instance (signature ~ (Int32 -> Int32 -> m ((Int32, Int32))), MonadIO m, IsWindow a) => O.MethodInfo WindowGetRootCoordsMethodInfo a signature where+    overloadedMethod _ = windowGetRootCoords++#endif++-- method Window::get_root_origin+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for X position of window frame", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for Y position of window frame", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_root_origin" gdk_window_get_root_origin :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Int32 ->                            -- x : TBasicType TInt+    Ptr Int32 ->                            -- y : TBasicType TInt+    IO ()++{- |+Obtains the top-left corner of the window manager frame in root+window coordinates.+-}+windowGetRootOrigin ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> m ((Int32, Int32))+windowGetRootOrigin window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    x <- allocMem :: IO (Ptr Int32)+    y <- allocMem :: IO (Ptr Int32)+    gdk_window_get_root_origin window' x y+    x' <- peek x+    y' <- peek y+    touchManagedPtr window+    freeMem x+    freeMem y+    return (x', y')++#if ENABLE_OVERLOADING+data WindowGetRootOriginMethodInfo+instance (signature ~ (m ((Int32, Int32))), MonadIO m, IsWindow a) => O.MethodInfo WindowGetRootOriginMethodInfo a signature where+    overloadedMethod _ = windowGetRootOrigin++#endif++-- method Window::get_scale_factor+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "window to get scale factor for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_scale_factor" gdk_window_get_scale_factor :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO Int32++{- |+Returns the internal scale factor that maps from window coordiantes+to the actual device pixels. On traditional systems this is 1, but+on very high density outputs this can be a higher value (often 2).++A higher value means that drawing is automatically scaled up to+a higher resolution, so any code doing drawing will automatically look+nicer. However, if you are supplying pixel-based data the scale+value can be used to determine whether to use a pixel resource+with higher resolution data.++The scale of a window may change during runtime, if this happens+a configure event will be sent to the toplevel window.++/Since: 3.10/+-}+windowGetScaleFactor ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: window to get scale factor for -}+    -> m Int32+    {- ^ __Returns:__ the scale factor -}+windowGetScaleFactor window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_scale_factor window'+    touchManagedPtr window+    return result++#if ENABLE_OVERLOADING+data WindowGetScaleFactorMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsWindow a) => O.MethodInfo WindowGetScaleFactorMethodInfo a signature where+    overloadedMethod _ = windowGetScaleFactor++#endif++-- method Window::get_screen+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Screen"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_screen" gdk_window_get_screen :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO (Ptr Gdk.Screen.Screen)++{- |+Gets the 'GI.Gdk.Objects.Screen.Screen' associated with a 'GI.Gdk.Objects.Window.Window'.++/Since: 2.24/+-}+windowGetScreen ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m Gdk.Screen.Screen+    {- ^ __Returns:__ the 'GI.Gdk.Objects.Screen.Screen' associated with /@window@/ -}+windowGetScreen window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_screen window'+    checkUnexpectedReturnNULL "windowGetScreen" result+    result' <- (newObject Gdk.Screen.Screen) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowGetScreenMethodInfo+instance (signature ~ (m Gdk.Screen.Screen), MonadIO m, IsWindow a) => O.MethodInfo WindowGetScreenMethodInfo a signature where+    overloadedMethod _ = windowGetScreen++#endif++-- method Window::get_source_events+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "source", argType = TInterface (Name {namespace = "Gdk", name = "InputSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkInputSource to define the source class.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "EventMask"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_source_events" gdk_window_get_source_events :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CUInt ->                                -- source : TInterface (Name {namespace = "Gdk", name = "InputSource"})+    IO CUInt++{- |+Returns the event mask for /@window@/ corresponding to the device class specified+by /@source@/.+-}+windowGetSourceEvents ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Gdk.Enums.InputSource+    {- ^ /@source@/: a 'GI.Gdk.Enums.InputSource' to define the source class. -}+    -> m [Gdk.Flags.EventMask]+    {- ^ __Returns:__ source event mask for /@window@/ -}+windowGetSourceEvents window source = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let source' = (fromIntegral . fromEnum) source+    result <- gdk_window_get_source_events window' source'+    let result' = wordToGFlags result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowGetSourceEventsMethodInfo+instance (signature ~ (Gdk.Enums.InputSource -> m [Gdk.Flags.EventMask]), MonadIO m, IsWindow a) => O.MethodInfo WindowGetSourceEventsMethodInfo a signature where+    overloadedMethod _ = windowGetSourceEvents++#endif++-- method Window::get_state+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "WindowState"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_state" gdk_window_get_state :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO CUInt++{- |+Gets the bitwise OR of the currently active window state flags,+from the 'GI.Gdk.Flags.WindowState' enumeration.+-}+windowGetState ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m [Gdk.Flags.WindowState]+    {- ^ __Returns:__ window state bitfield -}+windowGetState window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_state window'+    let result' = wordToGFlags result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowGetStateMethodInfo+instance (signature ~ (m [Gdk.Flags.WindowState]), MonadIO m, IsWindow a) => O.MethodInfo WindowGetStateMethodInfo a signature where+    overloadedMethod _ = windowGetState++#endif++-- method Window::get_support_multidevice+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_support_multidevice" gdk_window_get_support_multidevice :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO CInt++{- |+Returns 'True' if the window is aware of the existence of multiple+devices.++/Since: 3.0/+-}+windowGetSupportMultidevice ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window'. -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the window handles multidevice features. -}+windowGetSupportMultidevice window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_support_multidevice window'+    let result' = (/= 0) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowGetSupportMultideviceMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowGetSupportMultideviceMethodInfo a signature where+    overloadedMethod _ = windowGetSupportMultidevice++#endif++-- method Window::get_toplevel+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_toplevel" gdk_window_get_toplevel :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO (Ptr Window)++{- |+Gets the toplevel window that’s an ancestor of /@window@/.++Any window type but 'GI.Gdk.Enums.WindowTypeChild' is considered a+toplevel window, as is a 'GI.Gdk.Enums.WindowTypeChild' window that+has a root window as parent.++Note that you should use 'GI.Gdk.Objects.Window.windowGetEffectiveToplevel' when+you want to get to a window’s toplevel as seen on screen, because+'GI.Gdk.Objects.Window.windowGetToplevel' will most likely not do what you expect+if there are offscreen windows in the hierarchy.+-}+windowGetToplevel ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m Window+    {- ^ __Returns:__ the toplevel window containing /@window@/ -}+windowGetToplevel window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_toplevel window'+    checkUnexpectedReturnNULL "windowGetToplevel" result+    result' <- (newObject Window) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowGetToplevelMethodInfo+instance (signature ~ (m Window), MonadIO m, IsWindow a) => O.MethodInfo WindowGetToplevelMethodInfo a signature where+    overloadedMethod _ = windowGetToplevel++#endif++-- method Window::get_type_hint+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "WindowTypeHint"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_type_hint" gdk_window_get_type_hint :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO CUInt++{- |+This function returns the type hint set for a window.++/Since: 2.10/+-}+windowGetTypeHint ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: A toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> m Gdk.Enums.WindowTypeHint+    {- ^ __Returns:__ The type hint set for /@window@/ -}+windowGetTypeHint window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_type_hint window'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowGetTypeHintMethodInfo+instance (signature ~ (m Gdk.Enums.WindowTypeHint), MonadIO m, IsWindow a) => O.MethodInfo WindowGetTypeHintMethodInfo a signature where+    overloadedMethod _ = windowGetTypeHint++#endif++-- method Window::get_update_area+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "cairo", name = "Region"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_update_area" gdk_window_get_update_area :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO (Ptr Cairo.Region.Region)++{- |+Transfers ownership of the update area from /@window@/ to the caller+of the function. That is, after calling this function, /@window@/ will+no longer have an invalid\/dirty region; the update area is removed+from /@window@/ and handed to you. If a window has no update area,+'GI.Gdk.Objects.Window.windowGetUpdateArea' returns 'Nothing'. You are responsible for+calling @/cairo_region_destroy()/@ on the returned region if it’s non-'Nothing'.+-}+windowGetUpdateArea ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m Cairo.Region.Region+    {- ^ __Returns:__ the update area for /@window@/ -}+windowGetUpdateArea window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_update_area window'+    checkUnexpectedReturnNULL "windowGetUpdateArea" result+    result' <- (wrapBoxed Cairo.Region.Region) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowGetUpdateAreaMethodInfo+instance (signature ~ (m Cairo.Region.Region), MonadIO m, IsWindow a) => O.MethodInfo WindowGetUpdateAreaMethodInfo a signature where+    overloadedMethod _ = windowGetUpdateArea++#endif++-- method Window::get_user_data+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "return location for user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_user_data" gdk_window_get_user_data :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr (Ptr ()) ->                         -- data : TBasicType TPtr+    IO ()++{- |+Retrieves the user data for /@window@/, which is normally the widget+that /@window@/ belongs to. See 'GI.Gdk.Objects.Window.windowSetUserData'.+-}+windowGetUserData ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m ((Ptr ()))+windowGetUserData window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    data_ <- allocMem :: IO (Ptr (Ptr ()))+    gdk_window_get_user_data window' data_+    data_' <- peek data_+    touchManagedPtr window+    freeMem data_+    return data_'++#if ENABLE_OVERLOADING+data WindowGetUserDataMethodInfo+instance (signature ~ (m ((Ptr ()))), MonadIO m, IsWindow a) => O.MethodInfo WindowGetUserDataMethodInfo a signature where+    overloadedMethod _ = windowGetUserData++#endif++-- method Window::get_visible_region+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "cairo", name = "Region"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_visible_region" gdk_window_get_visible_region :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO (Ptr Cairo.Region.Region)++{- |+Computes the region of the /@window@/ that is potentially visible.+This does not necessarily take into account if the window is+obscured by other windows, but no area outside of this region+is visible.+-}+windowGetVisibleRegion ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m Cairo.Region.Region+    {- ^ __Returns:__ a 'GI.Cairo.Structs.Region.Region'. This must be freed with @/cairo_region_destroy()/@+         when you are done. -}+windowGetVisibleRegion window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_visible_region window'+    checkUnexpectedReturnNULL "windowGetVisibleRegion" result+    result' <- (wrapBoxed Cairo.Region.Region) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowGetVisibleRegionMethodInfo+instance (signature ~ (m Cairo.Region.Region), MonadIO m, IsWindow a) => O.MethodInfo WindowGetVisibleRegionMethodInfo a signature where+    overloadedMethod _ = windowGetVisibleRegion++#endif++-- method Window::get_visual+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Visual"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_visual" gdk_window_get_visual :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO (Ptr Gdk.Visual.Visual)++{- |+Gets the 'GI.Gdk.Objects.Visual.Visual' describing the pixel format of /@window@/.++/Since: 2.24/+-}+windowGetVisual ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m Gdk.Visual.Visual+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Visual.Visual' -}+windowGetVisual window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_visual window'+    checkUnexpectedReturnNULL "windowGetVisual" result+    result' <- (newObject Gdk.Visual.Visual) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowGetVisualMethodInfo+instance (signature ~ (m Gdk.Visual.Visual), MonadIO m, IsWindow a) => O.MethodInfo WindowGetVisualMethodInfo a signature where+    overloadedMethod _ = windowGetVisual++#endif++-- method Window::get_width+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_width" gdk_window_get_width :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO Int32++{- |+Returns the width of the given /@window@/.++On the X11 platform the returned size is the size reported in the+most-recently-processed configure event, rather than the current+size on the X server.++/Since: 2.24/+-}+windowGetWidth ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m Int32+    {- ^ __Returns:__ The width of /@window@/ -}+windowGetWidth window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_width window'+    touchManagedPtr window+    return result++#if ENABLE_OVERLOADING+data WindowGetWidthMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsWindow a) => O.MethodInfo WindowGetWidthMethodInfo a signature where+    overloadedMethod _ = windowGetWidth++#endif++-- method Window::get_window_type+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "WindowType"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_get_window_type" gdk_window_get_window_type :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO CUInt++{- |+Gets the type of the window. See 'GI.Gdk.Enums.WindowType'.+-}+windowGetWindowType ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m Gdk.Enums.WindowType+    {- ^ __Returns:__ type of window -}+windowGetWindowType window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_get_window_type window'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowGetWindowTypeMethodInfo+instance (signature ~ (m Gdk.Enums.WindowType), MonadIO m, IsWindow a) => O.MethodInfo WindowGetWindowTypeMethodInfo a signature where+    overloadedMethod _ = windowGetWindowType++#endif++-- method Window::has_native+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_has_native" gdk_window_has_native :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO CInt++{- |+Checks whether the window has a native window or not. Note that+you can use 'GI.Gdk.Objects.Window.windowEnsureNative' if a native window is needed.++/Since: 2.22/+-}+windowHasNative ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the /@window@/ has a native window, 'False' otherwise. -}+windowHasNative window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_has_native window'+    let result' = (/= 0) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowHasNativeMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowHasNativeMethodInfo a signature where+    overloadedMethod _ = windowHasNative++#endif++-- method Window::hide+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_hide" gdk_window_hide :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+For toplevel windows, withdraws them, so they will no longer be+known to the window manager; for all windows, unmaps them, so+they won’t be displayed. Normally done automatically as+part of @/gtk_widget_hide()/@.+-}+windowHide ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowHide window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_hide window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowHideMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowHideMethodInfo a signature where+    overloadedMethod _ = windowHide++#endif++-- method Window::iconify+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_iconify" gdk_window_iconify :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Asks to iconify (minimize) /@window@/. The window manager may choose+to ignore the request, but normally will honor it. Using+@/gtk_window_iconify()/@ is preferred, if you have a @/GtkWindow/@ widget.++This function only makes sense when /@window@/ is a toplevel window.+-}+windowIconify ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowIconify window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_iconify window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowIconifyMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowIconifyMethodInfo a signature where+    overloadedMethod _ = windowIconify++#endif++-- method Window::input_shape_combine_region+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "shape_region", argType = TInterface (Name {namespace = "cairo", name = "Region"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "region of window to be non-transparent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X position of @shape_region in @window coordinates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset_y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y position of @shape_region in @window coordinates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_input_shape_combine_region" gdk_window_input_shape_combine_region :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Cairo.Region.Region ->              -- shape_region : TInterface (Name {namespace = "cairo", name = "Region"})+    Int32 ->                                -- offset_x : TBasicType TInt+    Int32 ->                                -- offset_y : TBasicType TInt+    IO ()++{- |+Like 'GI.Gdk.Objects.Window.windowShapeCombineRegion', but the shape applies+only to event handling. Mouse events which happen while+the pointer position corresponds to an unset bit in the+mask will be passed on the window below /@window@/.++An input shape is typically used with RGBA windows.+The alpha channel of the window defines which pixels are+invisible and allows for nicely antialiased borders,+and the input shape controls where the window is+“clickable”.++On the X11 platform, this requires version 1.1 of the+shape extension.++On the Win32 platform, this functionality is not present and the+function does nothing.++/Since: 2.10/+-}+windowInputShapeCombineRegion ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Cairo.Region.Region+    {- ^ /@shapeRegion@/: region of window to be non-transparent -}+    -> Int32+    {- ^ /@offsetX@/: X position of /@shapeRegion@/ in /@window@/ coordinates -}+    -> Int32+    {- ^ /@offsetY@/: Y position of /@shapeRegion@/ in /@window@/ coordinates -}+    -> m ()+windowInputShapeCombineRegion window shapeRegion offsetX offsetY = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    shapeRegion' <- unsafeManagedPtrGetPtr shapeRegion+    gdk_window_input_shape_combine_region window' shapeRegion' offsetX offsetY+    touchManagedPtr window+    touchManagedPtr shapeRegion+    return ()++#if ENABLE_OVERLOADING+data WindowInputShapeCombineRegionMethodInfo+instance (signature ~ (Cairo.Region.Region -> Int32 -> Int32 -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowInputShapeCombineRegionMethodInfo a signature where+    overloadedMethod _ = windowInputShapeCombineRegion++#endif++-- method Window::invalidate_maybe_recurse+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "region", argType = TInterface (Name {namespace = "cairo", name = "Region"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_region_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child_func", argType = TInterface (Name {namespace = "Gdk", name = "WindowChildFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "function to use to decide if to\n    recurse to a child, %NULL means never recurse.", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data passed to @child_func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_invalidate_maybe_recurse" gdk_window_invalidate_maybe_recurse :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Cairo.Region.Region ->              -- region : TInterface (Name {namespace = "cairo", name = "Region"})+    FunPtr Gdk.Callbacks.C_WindowChildFunc -> -- child_func : TInterface (Name {namespace = "Gdk", name = "WindowChildFunc"})+    Ptr () ->                               -- user_data : TBasicType TPtr+    IO ()++{- |+Adds /@region@/ to the update area for /@window@/. The update area is the+region that needs to be redrawn, or “dirty region.” The call+'GI.Gdk.Objects.Window.windowProcessUpdates' sends one or more expose events to the+window, which together cover the entire update area. An+application would normally redraw the contents of /@window@/ in+response to those expose events.++GDK will call 'GI.Gdk.Objects.Window.windowProcessAllUpdates' on your behalf+whenever your program returns to the main loop and becomes idle, so+normally there’s no need to do that manually, you just need to+invalidate regions that you know should be redrawn.++The /@childFunc@/ parameter controls whether the region of+each child window that intersects /@region@/ will also be invalidated.+Only children for which /@childFunc@/ returns @/TRUE/@ will have the area+invalidated.+-}+windowInvalidateMaybeRecurse ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Cairo.Region.Region+    {- ^ /@region@/: a 'GI.Cairo.Structs.Region.Region' -}+    -> Maybe (Gdk.Callbacks.WindowChildFunc)+    {- ^ /@childFunc@/: function to use to decide if to+    recurse to a child, 'Nothing' means never recurse. -}+    -> m ()+windowInvalidateMaybeRecurse window region childFunc = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    region' <- unsafeManagedPtrGetPtr region+    maybeChildFunc <- case childFunc of+        Nothing -> return (castPtrToFunPtr nullPtr)+        Just jChildFunc -> do+            jChildFunc' <- Gdk.Callbacks.mk_WindowChildFunc (Gdk.Callbacks.wrap_WindowChildFunc Nothing (Gdk.Callbacks.drop_closures_WindowChildFunc jChildFunc))+            return jChildFunc'+    let userData = nullPtr+    gdk_window_invalidate_maybe_recurse window' region' maybeChildFunc userData+    safeFreeFunPtr $ castFunPtrToPtr maybeChildFunc+    touchManagedPtr window+    touchManagedPtr region+    return ()++#if ENABLE_OVERLOADING+data WindowInvalidateMaybeRecurseMethodInfo+instance (signature ~ (Cairo.Region.Region -> Maybe (Gdk.Callbacks.WindowChildFunc) -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowInvalidateMaybeRecurseMethodInfo a signature where+    overloadedMethod _ = windowInvalidateMaybeRecurse++#endif++-- method Window::invalidate_rect+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rect", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "rectangle to invalidate or %NULL to invalidate the whole\n     window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invalidate_children", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to also invalidate child windows", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_invalidate_rect" gdk_window_invalidate_rect :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Rectangle.Rectangle ->          -- rect : TInterface (Name {namespace = "Gdk", name = "Rectangle"})+    CInt ->                                 -- invalidate_children : TBasicType TBoolean+    IO ()++{- |+A convenience wrapper around 'GI.Gdk.Objects.Window.windowInvalidateRegion' which+invalidates a rectangular region. See+'GI.Gdk.Objects.Window.windowInvalidateRegion' for details.+-}+windowInvalidateRect ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Maybe (Gdk.Rectangle.Rectangle)+    {- ^ /@rect@/: rectangle to invalidate or 'Nothing' to invalidate the whole+     window -}+    -> Bool+    {- ^ /@invalidateChildren@/: whether to also invalidate child windows -}+    -> m ()+windowInvalidateRect window rect invalidateChildren = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    maybeRect <- case rect of+        Nothing -> return nullPtr+        Just jRect -> do+            jRect' <- unsafeManagedPtrGetPtr jRect+            return jRect'+    let invalidateChildren' = (fromIntegral . fromEnum) invalidateChildren+    gdk_window_invalidate_rect window' maybeRect invalidateChildren'+    touchManagedPtr window+    whenJust rect touchManagedPtr+    return ()++#if ENABLE_OVERLOADING+data WindowInvalidateRectMethodInfo+instance (signature ~ (Maybe (Gdk.Rectangle.Rectangle) -> Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowInvalidateRectMethodInfo a signature where+    overloadedMethod _ = windowInvalidateRect++#endif++-- method Window::invalidate_region+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "region", argType = TInterface (Name {namespace = "cairo", name = "Region"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_region_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invalidate_children", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to also invalidate child windows", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_invalidate_region" gdk_window_invalidate_region :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Cairo.Region.Region ->              -- region : TInterface (Name {namespace = "cairo", name = "Region"})+    CInt ->                                 -- invalidate_children : TBasicType TBoolean+    IO ()++{- |+Adds /@region@/ to the update area for /@window@/. The update area is the+region that needs to be redrawn, or “dirty region.” The call+'GI.Gdk.Objects.Window.windowProcessUpdates' sends one or more expose events to the+window, which together cover the entire update area. An+application would normally redraw the contents of /@window@/ in+response to those expose events.++GDK will call 'GI.Gdk.Objects.Window.windowProcessAllUpdates' on your behalf+whenever your program returns to the main loop and becomes idle, so+normally there’s no need to do that manually, you just need to+invalidate regions that you know should be redrawn.++The /@invalidateChildren@/ parameter controls whether the region of+each child window that intersects /@region@/ will also be invalidated.+If 'False', then the update area for child windows will remain+unaffected. See gdk_window_invalidate_maybe_recurse if you need+fine grained control over which children are invalidated.+-}+windowInvalidateRegion ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Cairo.Region.Region+    {- ^ /@region@/: a 'GI.Cairo.Structs.Region.Region' -}+    -> Bool+    {- ^ /@invalidateChildren@/: 'True' to also invalidate child windows -}+    -> m ()+windowInvalidateRegion window region invalidateChildren = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    region' <- unsafeManagedPtrGetPtr region+    let invalidateChildren' = (fromIntegral . fromEnum) invalidateChildren+    gdk_window_invalidate_region window' region' invalidateChildren'+    touchManagedPtr window+    touchManagedPtr region+    return ()++#if ENABLE_OVERLOADING+data WindowInvalidateRegionMethodInfo+instance (signature ~ (Cairo.Region.Region -> Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowInvalidateRegionMethodInfo a signature where+    overloadedMethod _ = windowInvalidateRegion++#endif++-- method Window::is_destroyed+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_is_destroyed" gdk_window_is_destroyed :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO CInt++{- |+Check to see if a window is destroyed..++/Since: 2.18/+-}+windowIsDestroyed ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the window is destroyed -}+windowIsDestroyed window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_is_destroyed window'+    let result' = (/= 0) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowIsDestroyedMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowIsDestroyedMethodInfo a signature where+    overloadedMethod _ = windowIsDestroyed++#endif++-- method Window::is_input_only+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_is_input_only" gdk_window_is_input_only :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO CInt++{- |+Determines whether or not the window is an input only window.++/Since: 2.22/+-}+windowIsInputOnly ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if /@window@/ is input only -}+windowIsInputOnly window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_is_input_only window'+    let result' = (/= 0) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowIsInputOnlyMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowIsInputOnlyMethodInfo a signature where+    overloadedMethod _ = windowIsInputOnly++#endif++-- method Window::is_shaped+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_is_shaped" gdk_window_is_shaped :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO CInt++{- |+Determines whether or not the window is shaped.++/Since: 2.22/+-}+windowIsShaped ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if /@window@/ is shaped -}+windowIsShaped window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_is_shaped window'+    let result' = (/= 0) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowIsShapedMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowIsShapedMethodInfo a signature where+    overloadedMethod _ = windowIsShaped++#endif++-- method Window::is_viewable+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_is_viewable" gdk_window_is_viewable :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO CInt++{- |+Check if the window and all ancestors of the window are+mapped. (This is not necessarily \"viewable\" in the X sense, since+we only check as far as we have GDK window parents, not to the root+window.)+-}+windowIsViewable ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the window is viewable -}+windowIsViewable window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_is_viewable window'+    let result' = (/= 0) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowIsViewableMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowIsViewableMethodInfo a signature where+    overloadedMethod _ = windowIsViewable++#endif++-- method Window::is_visible+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_is_visible" gdk_window_is_visible :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO CInt++{- |+Checks whether the window has been mapped (with 'GI.Gdk.Objects.Window.windowShow' or+'GI.Gdk.Objects.Window.windowShowUnraised').+-}+windowIsVisible ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the window is mapped -}+windowIsVisible window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_is_visible window'+    let result' = (/= 0) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowIsVisibleMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowIsVisibleMethodInfo a signature where+    overloadedMethod _ = windowIsVisible++#endif++-- method Window::lower+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_lower" gdk_window_lower :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Lowers /@window@/ to the bottom of the Z-order (stacking order), so that+other windows with the same parent window appear above /@window@/.+This is true whether or not the other windows are visible.++If /@window@/ is a toplevel, the window manager may choose to deny the+request to move the window in the Z-order, 'GI.Gdk.Objects.Window.windowLower' only+requests the restack, does not guarantee it.++Note that 'GI.Gdk.Objects.Window.windowShow' raises the window again, so don’t call this+function before 'GI.Gdk.Objects.Window.windowShow'. (Try 'GI.Gdk.Objects.Window.windowShowUnraised'.)+-}+windowLower ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowLower window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_lower window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowLowerMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowLowerMethodInfo a signature where+    overloadedMethod _ = windowLower++#endif++-- method Window::mark_paint_from_clip+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_mark_paint_from_clip" gdk_window_mark_paint_from_clip :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})+    IO ()++{- |+If you call this during a paint (e.g. between 'GI.Gdk.Objects.Window.windowBeginPaintRegion'+and 'GI.Gdk.Objects.Window.windowEndPaint' then GDK will mark the current clip region of the+window as being drawn. This is required when mixing GL rendering via+'GI.Gdk.Functions.cairoDrawFromGl' and cairo rendering, as otherwise GDK has no way+of knowing when something paints over the GL-drawn regions.++This is typically called automatically by GTK+ and you don\'t need+to care about this.++/Since: 3.16/+-}+windowMarkPaintFromClip ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Cairo.Context.Context+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}+    -> m ()+windowMarkPaintFromClip window cr = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    cr' <- unsafeManagedPtrGetPtr cr+    gdk_window_mark_paint_from_clip window' cr'+    touchManagedPtr window+    touchManagedPtr cr+    return ()++#if ENABLE_OVERLOADING+data WindowMarkPaintFromClipMethodInfo+instance (signature ~ (Cairo.Context.Context -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowMarkPaintFromClipMethodInfo a signature where+    overloadedMethod _ = windowMarkPaintFromClip++#endif++-- method Window::maximize+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_maximize" gdk_window_maximize :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Maximizes the window. If the window was already maximized, then+this function does nothing.++On X11, asks the window manager to maximize /@window@/, if the window+manager supports this operation. Not all window managers support+this, and some deliberately ignore it or don’t have a concept of+“maximized”; so you can’t rely on the maximization actually+happening. But it will happen with most standard window managers,+and GDK makes a best effort to get it to happen.++On Windows, reliably maximizes the window.+-}+windowMaximize ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowMaximize window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_maximize window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowMaximizeMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowMaximizeMethodInfo a signature where+    overloadedMethod _ = windowMaximize++#endif++-- method Window::merge_child_input_shapes+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_merge_child_input_shapes" gdk_window_merge_child_input_shapes :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Merges the input shape masks for any child windows into the+input shape mask for /@window@/. i.e. the union of all input masks+for /@window@/ and its children will become the new input mask+for /@window@/. See 'GI.Gdk.Objects.Window.windowInputShapeCombineRegion'.++This function is distinct from 'GI.Gdk.Objects.Window.windowSetChildInputShapes'+because it includes /@window@/’s input shape mask in the set of+shapes to be merged.++/Since: 2.10/+-}+windowMergeChildInputShapes ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowMergeChildInputShapes window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_merge_child_input_shapes window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowMergeChildInputShapesMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowMergeChildInputShapesMethodInfo a signature where+    overloadedMethod _ = windowMergeChildInputShapes++#endif++-- method Window::merge_child_shapes+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_merge_child_shapes" gdk_window_merge_child_shapes :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Merges the shape masks for any child windows into the+shape mask for /@window@/. i.e. the union of all masks+for /@window@/ and its children will become the new mask+for /@window@/. See 'GI.Gdk.Objects.Window.windowShapeCombineRegion'.++This function is distinct from 'GI.Gdk.Objects.Window.windowSetChildShapes'+because it includes /@window@/’s shape mask in the set of shapes to+be merged.+-}+windowMergeChildShapes ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowMergeChildShapes window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_merge_child_shapes window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowMergeChildShapesMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowMergeChildShapesMethodInfo a signature where+    overloadedMethod _ = windowMergeChildShapes++#endif++-- method Window::move+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X coordinate relative to window\8217s parent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y coordinate relative to window\8217s parent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_move" gdk_window_move :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Int32 ->                                -- x : TBasicType TInt+    Int32 ->                                -- y : TBasicType TInt+    IO ()++{- |+Repositions a window relative to its parent window.+For toplevel windows, window managers may ignore or modify the move;+you should probably use @/gtk_window_move()/@ on a @/GtkWindow/@ widget+anyway, instead of using GDK functions. For child windows,+the move will reliably succeed.++If you’re also planning to resize the window, use 'GI.Gdk.Objects.Window.windowMoveResize'+to both move and resize simultaneously, for a nicer visual effect.+-}+windowMove ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Int32+    {- ^ /@x@/: X coordinate relative to window’s parent -}+    -> Int32+    {- ^ /@y@/: Y coordinate relative to window’s parent -}+    -> m ()+windowMove window x y = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_move window' x y+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowMoveMethodInfo+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowMoveMethodInfo a signature where+    overloadedMethod _ = windowMove++#endif++-- method Window::move_region+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "region", argType = TInterface (Name {namespace = "cairo", name = "Region"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #cairo_region_t to move", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dx", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Amount to move in the X direction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dy", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Amount to move in the Y direction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_move_region" gdk_window_move_region :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Cairo.Region.Region ->              -- region : TInterface (Name {namespace = "cairo", name = "Region"})+    Int32 ->                                -- dx : TBasicType TInt+    Int32 ->                                -- dy : TBasicType TInt+    IO ()++{- |+Move the part of /@window@/ indicated by /@region@/ by /@dy@/ pixels in the Y+direction and /@dx@/ pixels in the X direction. The portions of /@region@/+that not covered by the new position of /@region@/ are invalidated.++Child windows are not moved.++/Since: 2.8/+-}+windowMoveRegion ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Cairo.Region.Region+    {- ^ /@region@/: The 'GI.Cairo.Structs.Region.Region' to move -}+    -> Int32+    {- ^ /@dx@/: Amount to move in the X direction -}+    -> Int32+    {- ^ /@dy@/: Amount to move in the Y direction -}+    -> m ()+windowMoveRegion window region dx dy = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    region' <- unsafeManagedPtrGetPtr region+    gdk_window_move_region window' region' dx dy+    touchManagedPtr window+    touchManagedPtr region+    return ()++#if ENABLE_OVERLOADING+data WindowMoveRegionMethodInfo+instance (signature ~ (Cairo.Region.Region -> Int32 -> Int32 -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowMoveRegionMethodInfo a signature where+    overloadedMethod _ = windowMoveRegion++#endif++-- method Window::move_resize+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new X position relative to window\8217s parent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new Y position relative to window\8217s parent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new width", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new height", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_move_resize" gdk_window_move_resize :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Int32 ->                                -- x : TBasicType TInt+    Int32 ->                                -- y : TBasicType TInt+    Int32 ->                                -- width : TBasicType TInt+    Int32 ->                                -- height : TBasicType TInt+    IO ()++{- |+Equivalent to calling 'GI.Gdk.Objects.Window.windowMove' and 'GI.Gdk.Objects.Window.windowResize',+except that both operations are performed at once, avoiding strange+visual effects. (i.e. the user may be able to see the window first+move, then resize, if you don’t use 'GI.Gdk.Objects.Window.windowMoveResize'.)+-}+windowMoveResize ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Int32+    {- ^ /@x@/: new X position relative to window’s parent -}+    -> Int32+    {- ^ /@y@/: new Y position relative to window’s parent -}+    -> Int32+    {- ^ /@width@/: new width -}+    -> Int32+    {- ^ /@height@/: new height -}+    -> m ()+windowMoveResize window x y width height = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_move_resize window' x y width height+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowMoveResizeMethodInfo+instance (signature ~ (Int32 -> Int32 -> Int32 -> Int32 -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowMoveResizeMethodInfo a signature where+    overloadedMethod _ = windowMoveResize++#endif++-- method Window::move_to_rect+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkWindow to move", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rect", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the destination #GdkRectangle to align @window with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rect_anchor", argType = TInterface (Name {namespace = "Gdk", name = "Gravity"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the point on @rect to align with @window's anchor point", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window_anchor", argType = TInterface (Name {namespace = "Gdk", name = "Gravity"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the point on @window to align with @rect's anchor point", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "anchor_hints", argType = TInterface (Name {namespace = "Gdk", name = "AnchorHints"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "positioning hints to use when limited on space", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rect_anchor_dx", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "horizontal offset to shift @window, i.e. @rect's anchor\n                 point", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rect_anchor_dy", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "vertical offset to shift @window, i.e. @rect's anchor point", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_move_to_rect" gdk_window_move_to_rect :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Rectangle.Rectangle ->          -- rect : TInterface (Name {namespace = "Gdk", name = "Rectangle"})+    CUInt ->                                -- rect_anchor : TInterface (Name {namespace = "Gdk", name = "Gravity"})+    CUInt ->                                -- window_anchor : TInterface (Name {namespace = "Gdk", name = "Gravity"})+    CUInt ->                                -- anchor_hints : TInterface (Name {namespace = "Gdk", name = "AnchorHints"})+    Int32 ->                                -- rect_anchor_dx : TBasicType TInt+    Int32 ->                                -- rect_anchor_dy : TBasicType TInt+    IO ()++{- |+Moves /@window@/ to /@rect@/, aligning their anchor points.++/@rect@/ is relative to the top-left corner of the window that /@window@/ is+transient for. /@rectAnchor@/ and /@windowAnchor@/ determine anchor points on+/@rect@/ and /@window@/ to pin together. /@rect@/\'s anchor point can optionally be+offset by /@rectAnchorDx@/ and /@rectAnchorDy@/, which is equivalent to+offsetting the position of /@window@/.++/@anchorHints@/ determines how /@window@/ will be moved if the anchor points cause+it to move off-screen. For example, 'GI.Gdk.Flags.AnchorHintsFlipX' will replace+'GI.Gdk.Enums.GravityNorthWest' with 'GI.Gdk.Enums.GravityNorthEast' and vice versa if+/@window@/ extends beyond the left or right edges of the monitor.++Connect to the 'GI.Gdk.Objects.Window.Window'::@/moved-to-rect/@ signal to find out how it was+actually positioned.++/Since: 3.24/+-}+windowMoveToRect ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: the 'GI.Gdk.Objects.Window.Window' to move -}+    -> Gdk.Rectangle.Rectangle+    {- ^ /@rect@/: the destination 'GI.Gdk.Structs.Rectangle.Rectangle' to align /@window@/ with -}+    -> Gdk.Enums.Gravity+    {- ^ /@rectAnchor@/: the point on /@rect@/ to align with /@window@/\'s anchor point -}+    -> Gdk.Enums.Gravity+    {- ^ /@windowAnchor@/: the point on /@window@/ to align with /@rect@/\'s anchor point -}+    -> [Gdk.Flags.AnchorHints]+    {- ^ /@anchorHints@/: positioning hints to use when limited on space -}+    -> Int32+    {- ^ /@rectAnchorDx@/: horizontal offset to shift /@window@/, i.e. /@rect@/\'s anchor+                 point -}+    -> Int32+    {- ^ /@rectAnchorDy@/: vertical offset to shift /@window@/, i.e. /@rect@/\'s anchor point -}+    -> m ()+windowMoveToRect window rect rectAnchor windowAnchor anchorHints rectAnchorDx rectAnchorDy = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    rect' <- unsafeManagedPtrGetPtr rect+    let rectAnchor' = (fromIntegral . fromEnum) rectAnchor+    let windowAnchor' = (fromIntegral . fromEnum) windowAnchor+    let anchorHints' = gflagsToWord anchorHints+    gdk_window_move_to_rect window' rect' rectAnchor' windowAnchor' anchorHints' rectAnchorDx rectAnchorDy+    touchManagedPtr window+    touchManagedPtr rect+    return ()++#if ENABLE_OVERLOADING+data WindowMoveToRectMethodInfo+instance (signature ~ (Gdk.Rectangle.Rectangle -> Gdk.Enums.Gravity -> Gdk.Enums.Gravity -> [Gdk.Flags.AnchorHints] -> Int32 -> Int32 -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowMoveToRectMethodInfo a signature where+    overloadedMethod _ = windowMoveToRect++#endif++-- method Window::peek_children+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TGList (TInterface (Name {namespace = "Gdk", name = "Window"})))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_peek_children" gdk_window_peek_children :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO (Ptr (GList (Ptr Window)))++{- |+Like 'GI.Gdk.Objects.Window.windowGetChildren', but does not copy the list of+children, so the list does not need to be freed.+-}+windowPeekChildren ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m [Window]+    {- ^ __Returns:__ +    a reference to the list of child windows in /@window@/ -}+windowPeekChildren window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    result <- gdk_window_peek_children window'+    result' <- unpackGList result+    result'' <- mapM (newObject Window) result'+    touchManagedPtr window+    return result''++#if ENABLE_OVERLOADING+data WindowPeekChildrenMethodInfo+instance (signature ~ (m [Window]), MonadIO m, IsWindow a) => O.MethodInfo WindowPeekChildrenMethodInfo a signature where+    overloadedMethod _ = windowPeekChildren++#endif++-- method Window::process_updates+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "update_children", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to also process updates for child windows", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_process_updates" gdk_window_process_updates :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CInt ->                                 -- update_children : TBasicType TBoolean+    IO ()++{-# DEPRECATED windowProcessUpdates ["(Since version 3.22)"] #-}+{- |+Sends one or more expose events to /@window@/. The areas in each+expose event will cover the entire update area for the window (see+'GI.Gdk.Objects.Window.windowInvalidateRegion' for details). Normally GDK calls+'GI.Gdk.Objects.Window.windowProcessAllUpdates' on your behalf, so there’s no+need to call this function unless you want to force expose events+to be delivered immediately and synchronously (vs. the usual+case, where GDK delivers them in an idle handler). Occasionally+this is useful to produce nicer scrolling behavior, for example.+-}+windowProcessUpdates ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Bool+    {- ^ /@updateChildren@/: whether to also process updates for child windows -}+    -> m ()+windowProcessUpdates window updateChildren = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let updateChildren' = (fromIntegral . fromEnum) updateChildren+    gdk_window_process_updates window' updateChildren'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowProcessUpdatesMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowProcessUpdatesMethodInfo a signature where+    overloadedMethod _ = windowProcessUpdates++#endif++-- method Window::raise+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_raise" gdk_window_raise :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Raises /@window@/ to the top of the Z-order (stacking order), so that+other windows with the same parent window appear below /@window@/.+This is true whether or not the windows are visible.++If /@window@/ is a toplevel, the window manager may choose to deny the+request to move the window in the Z-order, 'GI.Gdk.Objects.Window.windowRaise' only+requests the restack, does not guarantee it.+-}+windowRaise ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowRaise window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_raise window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowRaiseMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowRaiseMethodInfo a signature where+    overloadedMethod _ = windowRaise++#endif++-- method Window::register_dnd+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_register_dnd" gdk_window_register_dnd :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Registers a window as a potential drop destination.+-}+windowRegisterDnd ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window'. -}+    -> m ()+windowRegisterDnd window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_register_dnd window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowRegisterDndMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowRegisterDndMethodInfo a signature where+    overloadedMethod _ = windowRegisterDnd++#endif++-- method Window::reparent+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_parent", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new parent to move @window into", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X location inside the new parent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y location inside the new parent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_reparent" gdk_window_reparent :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Window ->                           -- new_parent : TInterface (Name {namespace = "Gdk", name = "Window"})+    Int32 ->                                -- x : TBasicType TInt+    Int32 ->                                -- y : TBasicType TInt+    IO ()++{- |+Reparents /@window@/ into the given /@newParent@/. The window being+reparented will be unmapped as a side effect.+-}+windowReparent ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, IsWindow b) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> b+    {- ^ /@newParent@/: new parent to move /@window@/ into -}+    -> Int32+    {- ^ /@x@/: X location inside the new parent -}+    -> Int32+    {- ^ /@y@/: Y location inside the new parent -}+    -> m ()+windowReparent window newParent x y = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    newParent' <- unsafeManagedPtrCastPtr newParent+    gdk_window_reparent window' newParent' x y+    touchManagedPtr window+    touchManagedPtr newParent+    return ()++#if ENABLE_OVERLOADING+data WindowReparentMethodInfo+instance (signature ~ (b -> Int32 -> Int32 -> m ()), MonadIO m, IsWindow a, IsWindow b) => O.MethodInfo WindowReparentMethodInfo a signature where+    overloadedMethod _ = windowReparent++#endif++-- method Window::resize+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new width of the window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new height of the window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_resize" gdk_window_resize :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Int32 ->                                -- width : TBasicType TInt+    Int32 ->                                -- height : TBasicType TInt+    IO ()++{- |+Resizes /@window@/; for toplevel windows, asks the window manager to resize+the window. The window manager may not allow the resize. When using GTK+,+use @/gtk_window_resize()/@ instead of this low-level GDK function.++Windows may not be resized below 1x1.++If you’re also planning to move the window, use 'GI.Gdk.Objects.Window.windowMoveResize'+to both move and resize simultaneously, for a nicer visual effect.+-}+windowResize ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Int32+    {- ^ /@width@/: new width of the window -}+    -> Int32+    {- ^ /@height@/: new height of the window -}+    -> m ()+windowResize window width height = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_resize window' width height+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowResizeMethodInfo+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowResizeMethodInfo a signature where+    overloadedMethod _ = windowResize++#endif++-- method Window::restack+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sibling", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GdkWindow that is a sibling of @window, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "above", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a boolean", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_restack" gdk_window_restack :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Window ->                           -- sibling : TInterface (Name {namespace = "Gdk", name = "Window"})+    CInt ->                                 -- above : TBasicType TBoolean+    IO ()++{- |+Changes the position of  /@window@/ in the Z-order (stacking order), so that+it is above /@sibling@/ (if /@above@/ is 'True') or below /@sibling@/ (if /@above@/ is+'False').++If /@sibling@/ is 'Nothing', then this either raises (if /@above@/ is 'True') or+lowers the window.++If /@window@/ is a toplevel, the window manager may choose to deny the+request to move the window in the Z-order, 'GI.Gdk.Objects.Window.windowRestack' only+requests the restack, does not guarantee it.++/Since: 2.18/+-}+windowRestack ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, IsWindow b) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Maybe (b)+    {- ^ /@sibling@/: a 'GI.Gdk.Objects.Window.Window' that is a sibling of /@window@/, or 'Nothing' -}+    -> Bool+    {- ^ /@above@/: a boolean -}+    -> m ()+windowRestack window sibling above = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    maybeSibling <- case sibling of+        Nothing -> return nullPtr+        Just jSibling -> do+            jSibling' <- unsafeManagedPtrCastPtr jSibling+            return jSibling'+    let above' = (fromIntegral . fromEnum) above+    gdk_window_restack window' maybeSibling above'+    touchManagedPtr window+    whenJust sibling touchManagedPtr+    return ()++#if ENABLE_OVERLOADING+data WindowRestackMethodInfo+instance (signature ~ (Maybe (b) -> Bool -> m ()), MonadIO m, IsWindow a, IsWindow b) => O.MethodInfo WindowRestackMethodInfo a signature where+    overloadedMethod _ = windowRestack++#endif++-- method Window::scroll+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dx", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Amount to scroll in the X direction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dy", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Amount to scroll in the Y direction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_scroll" gdk_window_scroll :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Int32 ->                                -- dx : TBasicType TInt+    Int32 ->                                -- dy : TBasicType TInt+    IO ()++{- |+Scroll the contents of /@window@/, both pixels and children, by the+given amount. /@window@/ itself does not move. Portions of the window+that the scroll operation brings in from offscreen areas are+invalidated. The invalidated region may be bigger than what would+strictly be necessary.++For X11, a minimum area will be invalidated if the window has no+subwindows, or if the edges of the window’s parent do not extend+beyond the edges of the window. In other cases, a multi-step process+is used to scroll the window which may produce temporary visual+artifacts and unnecessary invalidations.+-}+windowScroll ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Int32+    {- ^ /@dx@/: Amount to scroll in the X direction -}+    -> Int32+    {- ^ /@dy@/: Amount to scroll in the Y direction -}+    -> m ()+windowScroll window dx dy = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_scroll window' dx dy+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowScrollMethodInfo+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowScrollMethodInfo a signature where+    overloadedMethod _ = windowScroll++#endif++-- method Window::set_accept_focus+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accept_focus", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the window should receive input focus", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_accept_focus" gdk_window_set_accept_focus :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CInt ->                                 -- accept_focus : TBasicType TBoolean+    IO ()++{- |+Setting /@acceptFocus@/ to 'False' hints the desktop environment that the+window doesn’t want to receive input focus.++On X, it is the responsibility of the window manager to interpret this+hint. ICCCM-compliant window manager usually respect it.++/Since: 2.4/+-}+windowSetAcceptFocus ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> Bool+    {- ^ /@acceptFocus@/: 'True' if the window should receive input focus -}+    -> m ()+windowSetAcceptFocus window acceptFocus = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let acceptFocus' = (fromIntegral . fromEnum) acceptFocus+    gdk_window_set_accept_focus window' acceptFocus'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowSetAcceptFocusMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetAcceptFocusMethodInfo a signature where+    overloadedMethod _ = windowSetAcceptFocus++#endif++-- method Window::set_background+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkColor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_background" gdk_window_set_background :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Color.Color ->                  -- color : TInterface (Name {namespace = "Gdk", name = "Color"})+    IO ()++{-# DEPRECATED windowSetBackground ["(Since version 3.4)","Don\\'t use this function"] #-}+{- |+Sets the background color of /@window@/.++However, when using GTK+, influence the background of a widget+using a style class or CSS — if you’re an application — or with+@/gtk_style_context_set_background()/@ — if you\'re implementing a+custom widget.+-}+windowSetBackground ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Gdk.Color.Color+    {- ^ /@color@/: a 'GI.Gdk.Structs.Color.Color' -}+    -> m ()+windowSetBackground window color = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    color' <- unsafeManagedPtrGetPtr color+    gdk_window_set_background window' color'+    touchManagedPtr window+    touchManagedPtr color+    return ()++#if ENABLE_OVERLOADING+data WindowSetBackgroundMethodInfo+instance (signature ~ (Gdk.Color.Color -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetBackgroundMethodInfo a signature where+    overloadedMethod _ = windowSetBackground++#endif++-- method Window::set_background_pattern+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pattern", argType = TInterface (Name {namespace = "cairo", name = "Pattern"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a pattern to use, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_background_pattern" gdk_window_set_background_pattern :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Cairo.Pattern.Pattern ->            -- pattern : TInterface (Name {namespace = "cairo", name = "Pattern"})+    IO ()++{-# DEPRECATED windowSetBackgroundPattern ["(Since version 3.22)","Don\\'t use this function"] #-}+{- |+Sets the background of /@window@/.++A background of 'Nothing' means that the window won\'t have any background. On the+X11 backend it\'s also possible to inherit the background from the parent+window using @/gdk_x11_get_parent_relative_pattern()/@.++The windowing system will normally fill a window with its background+when the window is obscured then exposed.+-}+windowSetBackgroundPattern ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Maybe (Cairo.Pattern.Pattern)+    {- ^ /@pattern@/: a pattern to use, or 'Nothing' -}+    -> m ()+windowSetBackgroundPattern window pattern = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    maybePattern <- case pattern of+        Nothing -> return nullPtr+        Just jPattern -> do+            jPattern' <- unsafeManagedPtrGetPtr jPattern+            return jPattern'+    gdk_window_set_background_pattern window' maybePattern+    touchManagedPtr window+    whenJust pattern touchManagedPtr+    return ()++#if ENABLE_OVERLOADING+data WindowSetBackgroundPatternMethodInfo+instance (signature ~ (Maybe (Cairo.Pattern.Pattern) -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetBackgroundPatternMethodInfo a signature where+    overloadedMethod _ = windowSetBackgroundPattern++#endif++-- method Window::set_background_rgba+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rgba", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRGBA color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_background_rgba" gdk_window_set_background_rgba :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.RGBA.RGBA ->                    -- rgba : TInterface (Name {namespace = "Gdk", name = "RGBA"})+    IO ()++{-# DEPRECATED windowSetBackgroundRgba ["(Since version 3.22)","Don\\'t use this function"] #-}+{- |+Sets the background color of /@window@/.++See also 'GI.Gdk.Objects.Window.windowSetBackgroundPattern'.+-}+windowSetBackgroundRgba ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Gdk.RGBA.RGBA+    {- ^ /@rgba@/: a 'GI.Gdk.Structs.RGBA.RGBA' color -}+    -> m ()+windowSetBackgroundRgba window rgba = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    rgba' <- unsafeManagedPtrGetPtr rgba+    gdk_window_set_background_rgba window' rgba'+    touchManagedPtr window+    touchManagedPtr rgba+    return ()++#if ENABLE_OVERLOADING+data WindowSetBackgroundRgbaMethodInfo+instance (signature ~ (Gdk.RGBA.RGBA -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetBackgroundRgbaMethodInfo a signature where+    overloadedMethod _ = windowSetBackgroundRgba++#endif++-- method Window::set_child_input_shapes+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_child_input_shapes" gdk_window_set_child_input_shapes :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Sets the input shape mask of /@window@/ to the union of input shape masks+for all children of /@window@/, ignoring the input shape mask of /@window@/+itself. Contrast with 'GI.Gdk.Objects.Window.windowMergeChildInputShapes' which includes+the input shape mask of /@window@/ in the masks to be merged.++/Since: 2.10/+-}+windowSetChildInputShapes ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowSetChildInputShapes window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_set_child_input_shapes window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowSetChildInputShapesMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetChildInputShapesMethodInfo a signature where+    overloadedMethod _ = windowSetChildInputShapes++#endif++-- method Window::set_child_shapes+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_child_shapes" gdk_window_set_child_shapes :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Sets the shape mask of /@window@/ to the union of shape masks+for all children of /@window@/, ignoring the shape mask of /@window@/+itself. Contrast with 'GI.Gdk.Objects.Window.windowMergeChildShapes' which includes+the shape mask of /@window@/ in the masks to be merged.+-}+windowSetChildShapes ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowSetChildShapes window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_set_child_shapes window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowSetChildShapesMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetChildShapesMethodInfo a signature where+    overloadedMethod _ = windowSetChildShapes++#endif++-- method Window::set_composited+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "composited", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to set the window as composited", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_composited" gdk_window_set_composited :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CInt ->                                 -- composited : TBasicType TBoolean+    IO ()++{-# DEPRECATED windowSetComposited ["(Since version 3.16)","Compositing is an outdated technology that","  only ever worked on X11."] #-}+{- |+Sets a 'GI.Gdk.Objects.Window.Window' as composited, or unsets it. Composited+windows do not automatically have their contents drawn to+the screen. Drawing is redirected to an offscreen buffer+and an expose event is emitted on the parent of the composited+window. It is the responsibility of the parent’s expose handler+to manually merge the off-screen content onto the screen in+whatever way it sees fit.++It only makes sense for child windows to be composited; see+'GI.Gdk.Objects.Window.windowSetOpacity' if you need translucent toplevel+windows.++An additional effect of this call is that the area of this+window is no longer clipped from regions marked for+invalidation on its parent. Draws done on the parent+window are also no longer clipped by the child.++This call is only supported on some systems (currently,+only X11 with new enough Xcomposite and Xdamage extensions).+You must call 'GI.Gdk.Objects.Display.displaySupportsComposite' to check if+setting a window as composited is supported before+attempting to do so.++/Since: 2.12/+-}+windowSetComposited ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Bool+    {- ^ /@composited@/: 'True' to set the window as composited -}+    -> m ()+windowSetComposited window composited = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let composited' = (fromIntegral . fromEnum) composited+    gdk_window_set_composited window' composited'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowSetCompositedMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetCompositedMethodInfo a signature where+    overloadedMethod _ = windowSetComposited++#endif++-- method Window::set_cursor+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cursor", argType = TInterface (Name {namespace = "Gdk", name = "Cursor"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a cursor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_cursor" gdk_window_set_cursor :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Cursor.Cursor ->                -- cursor : TInterface (Name {namespace = "Gdk", name = "Cursor"})+    IO ()++{- |+Sets the default mouse pointer for a 'GI.Gdk.Objects.Window.Window'.++Note that /@cursor@/ must be for the same display as /@window@/.++Use 'GI.Gdk.Objects.Cursor.cursorNewForDisplay' or 'GI.Gdk.Objects.Cursor.cursorNewFromPixbuf' to+create the cursor. To make the cursor invisible, use 'GI.Gdk.Enums.CursorTypeBlankCursor'.+Passing 'Nothing' for the /@cursor@/ argument to 'GI.Gdk.Objects.Window.windowSetCursor' means+that /@window@/ will use the cursor of its parent window. Most windows+should use this default.+-}+windowSetCursor ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, Gdk.Cursor.IsCursor b) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Maybe (b)+    {- ^ /@cursor@/: a cursor -}+    -> m ()+windowSetCursor window cursor = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    maybeCursor <- case cursor of+        Nothing -> return nullPtr+        Just jCursor -> do+            jCursor' <- unsafeManagedPtrCastPtr jCursor+            return jCursor'+    gdk_window_set_cursor window' maybeCursor+    touchManagedPtr window+    whenJust cursor touchManagedPtr+    return ()++#if ENABLE_OVERLOADING+data WindowSetCursorMethodInfo+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsWindow a, Gdk.Cursor.IsCursor b) => O.MethodInfo WindowSetCursorMethodInfo a signature where+    overloadedMethod _ = windowSetCursor++#endif++-- method Window::set_decorations+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "decorations", argType = TInterface (Name {namespace = "Gdk", name = "WMDecoration"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "decoration hint mask", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_decorations" gdk_window_set_decorations :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CUInt ->                                -- decorations : TInterface (Name {namespace = "Gdk", name = "WMDecoration"})+    IO ()++{- |+“Decorations” are the features the window manager adds to a toplevel 'GI.Gdk.Objects.Window.Window'.+This function sets the traditional Motif window manager hints that tell the+window manager which decorations you would like your window to have.+Usually you should use @/gtk_window_set_decorated()/@ on a @/GtkWindow/@ instead of+using the GDK function directly.++The /@decorations@/ argument is the logical OR of the fields in+the 'GI.Gdk.Flags.WMDecoration' enumeration. If @/GDK_DECOR_ALL/@ is included in the+mask, the other bits indicate which decorations should be turned off.+If @/GDK_DECOR_ALL/@ is not included, then the other bits indicate+which decorations should be turned on.++Most window managers honor a decorations hint of 0 to disable all decorations,+but very few honor all possible combinations of bits.+-}+windowSetDecorations ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> [Gdk.Flags.WMDecoration]+    {- ^ /@decorations@/: decoration hint mask -}+    -> m ()+windowSetDecorations window decorations = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let decorations' = gflagsToWord decorations+    gdk_window_set_decorations window' decorations'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowSetDecorationsMethodInfo+instance (signature ~ ([Gdk.Flags.WMDecoration] -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetDecorationsMethodInfo a signature where+    overloadedMethod _ = windowSetDecorations++#endif++-- method Window::set_device_cursor+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a master, pointer #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cursor", argType = TInterface (Name {namespace = "Gdk", name = "Cursor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkCursor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_device_cursor" gdk_window_set_device_cursor :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Device.Device ->                -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    Ptr Gdk.Cursor.Cursor ->                -- cursor : TInterface (Name {namespace = "Gdk", name = "Cursor"})+    IO ()++{- |+Sets a specific 'GI.Gdk.Objects.Cursor.Cursor' for a given device when it gets inside /@window@/.+Use 'GI.Gdk.Objects.Cursor.cursorNewForDisplay' or 'GI.Gdk.Objects.Cursor.cursorNewFromPixbuf' to create+the cursor. To make the cursor invisible, use 'GI.Gdk.Enums.CursorTypeBlankCursor'. Passing+'Nothing' for the /@cursor@/ argument to 'GI.Gdk.Objects.Window.windowSetCursor' means that+/@window@/ will use the cursor of its parent window. Most windows should+use this default.++/Since: 3.0/+-}+windowSetDeviceCursor ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, Gdk.Device.IsDevice b, Gdk.Cursor.IsCursor c) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> b+    {- ^ /@device@/: a master, pointer 'GI.Gdk.Objects.Device.Device' -}+    -> c+    {- ^ /@cursor@/: a 'GI.Gdk.Objects.Cursor.Cursor' -}+    -> m ()+windowSetDeviceCursor window device cursor = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    device' <- unsafeManagedPtrCastPtr device+    cursor' <- unsafeManagedPtrCastPtr cursor+    gdk_window_set_device_cursor window' device' cursor'+    touchManagedPtr window+    touchManagedPtr device+    touchManagedPtr cursor+    return ()++#if ENABLE_OVERLOADING+data WindowSetDeviceCursorMethodInfo+instance (signature ~ (b -> c -> m ()), MonadIO m, IsWindow a, Gdk.Device.IsDevice b, Gdk.Cursor.IsCursor c) => O.MethodInfo WindowSetDeviceCursorMethodInfo a signature where+    overloadedMethod _ = windowSetDeviceCursor++#endif++-- method Window::set_device_events+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GdkDevice to enable events for.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event_mask", argType = TInterface (Name {namespace = "Gdk", name = "EventMask"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "event mask for @window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_device_events" gdk_window_set_device_events :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Device.Device ->                -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    CUInt ->                                -- event_mask : TInterface (Name {namespace = "Gdk", name = "EventMask"})+    IO ()++{- |+Sets the event mask for a given device (Normally a floating device, not+attached to any visible pointer) to /@window@/. For example, an event mask+including @/GDK_BUTTON_PRESS_MASK/@ means the window should report button+press events. The event mask is the bitwise OR of values from the+'GI.Gdk.Flags.EventMask' enumeration.++See the [input handling overview][event-masks] for details.++/Since: 3.0/+-}+windowSetDeviceEvents ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, Gdk.Device.IsDevice b) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> b+    {- ^ /@device@/: 'GI.Gdk.Objects.Device.Device' to enable events for. -}+    -> [Gdk.Flags.EventMask]+    {- ^ /@eventMask@/: event mask for /@window@/ -}+    -> m ()+windowSetDeviceEvents window device eventMask = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    device' <- unsafeManagedPtrCastPtr device+    let eventMask' = gflagsToWord eventMask+    gdk_window_set_device_events window' device' eventMask'+    touchManagedPtr window+    touchManagedPtr device+    return ()++#if ENABLE_OVERLOADING+data WindowSetDeviceEventsMethodInfo+instance (signature ~ (b -> [Gdk.Flags.EventMask] -> m ()), MonadIO m, IsWindow a, Gdk.Device.IsDevice b) => O.MethodInfo WindowSetDeviceEventsMethodInfo a signature where+    overloadedMethod _ = windowSetDeviceEvents++#endif++-- method Window::set_event_compression+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event_compression", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if motion events should be compressed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_event_compression" gdk_window_set_event_compression :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CInt ->                                 -- event_compression : TBasicType TBoolean+    IO ()++{- |+Determines whether or not extra unprocessed motion events in+the event queue can be discarded. If 'True' only the most recent+event will be delivered.++Some types of applications, e.g. paint programs, need to see all+motion events and will benefit from turning off event compression.++By default, event compression is enabled.++/Since: 3.12/+-}+windowSetEventCompression ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Bool+    {- ^ /@eventCompression@/: 'True' if motion events should be compressed -}+    -> m ()+windowSetEventCompression window eventCompression = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let eventCompression' = (fromIntegral . fromEnum) eventCompression+    gdk_window_set_event_compression window' eventCompression'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowSetEventCompressionMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetEventCompressionMethodInfo a signature where+    overloadedMethod _ = windowSetEventCompression++#endif++-- method Window::set_events+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event_mask", argType = TInterface (Name {namespace = "Gdk", name = "EventMask"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "event mask for @window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_events" gdk_window_set_events :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CUInt ->                                -- event_mask : TInterface (Name {namespace = "Gdk", name = "EventMask"})+    IO ()++{- |+The event mask for a window determines which events will be reported+for that window from all master input devices. For example, an event mask+including @/GDK_BUTTON_PRESS_MASK/@ means the window should report button+press events. The event mask is the bitwise OR of values from the+'GI.Gdk.Flags.EventMask' enumeration.++See the [input handling overview][event-masks] for details.+-}+windowSetEvents ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> [Gdk.Flags.EventMask]+    {- ^ /@eventMask@/: event mask for /@window@/ -}+    -> m ()+windowSetEvents window eventMask = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let eventMask' = gflagsToWord eventMask+    gdk_window_set_events window' eventMask'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowSetEventsMethodInfo+instance (signature ~ ([Gdk.Flags.EventMask] -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetEventsMethodInfo a signature where+    overloadedMethod _ = windowSetEvents++#endif++-- method Window::set_focus_on_map+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "focus_on_map", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the window should receive input focus when mapped", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_focus_on_map" gdk_window_set_focus_on_map :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CInt ->                                 -- focus_on_map : TBasicType TBoolean+    IO ()++{- |+Setting /@focusOnMap@/ to 'False' hints the desktop environment that the+window doesn’t want to receive input focus when it is mapped.+focus_on_map should be turned off for windows that aren’t triggered+interactively (such as popups from network activity).++On X, it is the responsibility of the window manager to interpret+this hint. Window managers following the freedesktop.org window+manager extension specification should respect it.++/Since: 2.6/+-}+windowSetFocusOnMap ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> Bool+    {- ^ /@focusOnMap@/: 'True' if the window should receive input focus when mapped -}+    -> m ()+windowSetFocusOnMap window focusOnMap = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let focusOnMap' = (fromIntegral . fromEnum) focusOnMap+    gdk_window_set_focus_on_map window' focusOnMap'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowSetFocusOnMapMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetFocusOnMapMethodInfo a signature where+    overloadedMethod _ = windowSetFocusOnMap++#endif++-- method Window::set_fullscreen_mode+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gdk", name = "FullscreenMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "fullscreen mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_fullscreen_mode" gdk_window_set_fullscreen_mode :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CUInt ->                                -- mode : TInterface (Name {namespace = "Gdk", name = "FullscreenMode"})+    IO ()++{- |+Specifies whether the /@window@/ should span over all monitors (in a multi-head+setup) or only the current monitor when in fullscreen mode.++The /@mode@/ argument is from the 'GI.Gdk.Enums.FullscreenMode' enumeration.+If @/GDK_FULLSCREEN_ON_ALL_MONITORS/@ is specified, the fullscreen /@window@/ will+span over all monitors from the 'GI.Gdk.Objects.Screen.Screen'.++On X11, searches through the list of monitors from the 'GI.Gdk.Objects.Screen.Screen' the ones+which delimit the 4 edges of the entire 'GI.Gdk.Objects.Screen.Screen' and will ask the window+manager to span the /@window@/ over these monitors.++If the XINERAMA extension is not available or not usable, this function+has no effect.++Not all window managers support this, so you can’t rely on the fullscreen+window to span over the multiple monitors when @/GDK_FULLSCREEN_ON_ALL_MONITORS/@+is specified.++/Since: 3.8/+-}+windowSetFullscreenMode ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> Gdk.Enums.FullscreenMode+    {- ^ /@mode@/: fullscreen mode -}+    -> m ()+windowSetFullscreenMode window mode = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let mode' = (fromIntegral . fromEnum) mode+    gdk_window_set_fullscreen_mode window' mode'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowSetFullscreenModeMethodInfo+instance (signature ~ (Gdk.Enums.FullscreenMode -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetFullscreenModeMethodInfo a signature where+    overloadedMethod _ = windowSetFullscreenMode++#endif++-- method Window::set_functions+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "functions", argType = TInterface (Name {namespace = "Gdk", name = "WMFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "bitmask of operations to allow on @window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_functions" gdk_window_set_functions :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CUInt ->                                -- functions : TInterface (Name {namespace = "Gdk", name = "WMFunction"})+    IO ()++{- |+Sets hints about the window management functions to make available+via buttons on the window frame.++On the X backend, this function sets the traditional Motif window+manager hint for this purpose. However, few window managers do+anything reliable or interesting with this hint. Many ignore it+entirely.++The /@functions@/ argument is the logical OR of values from the+'GI.Gdk.Flags.WMFunction' enumeration. If the bitmask includes @/GDK_FUNC_ALL/@,+then the other bits indicate which functions to disable; if+it doesn’t include @/GDK_FUNC_ALL/@, it indicates which functions to+enable.+-}+windowSetFunctions ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> [Gdk.Flags.WMFunction]+    {- ^ /@functions@/: bitmask of operations to allow on /@window@/ -}+    -> m ()+windowSetFunctions window functions = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let functions' = gflagsToWord functions+    gdk_window_set_functions window' functions'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowSetFunctionsMethodInfo+instance (signature ~ ([Gdk.Flags.WMFunction] -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetFunctionsMethodInfo a signature where+    overloadedMethod _ = windowSetFunctions++#endif++-- method Window::set_geometry_hints+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "geometry", argType = TInterface (Name {namespace = "Gdk", name = "Geometry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "geometry hints", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "geom_mask", argType = TInterface (Name {namespace = "Gdk", name = "WindowHints"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "bitmask indicating fields of @geometry to pay attention to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_geometry_hints" gdk_window_set_geometry_hints :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Geometry.Geometry ->            -- geometry : TInterface (Name {namespace = "Gdk", name = "Geometry"})+    CUInt ->                                -- geom_mask : TInterface (Name {namespace = "Gdk", name = "WindowHints"})+    IO ()++{- |+Sets the geometry hints for /@window@/. Hints flagged in /@geomMask@/+are set, hints not flagged in /@geomMask@/ are unset.+To unset all hints, use a /@geomMask@/ of 0 and a /@geometry@/ of 'Nothing'.++This function provides hints to the windowing system about+acceptable sizes for a toplevel window. The purpose of+this is to constrain user resizing, but the windowing system+will typically  (but is not required to) also constrain the+current size of the window to the provided values and+constrain programatic resizing via 'GI.Gdk.Objects.Window.windowResize' or+'GI.Gdk.Objects.Window.windowMoveResize'.++Note that on X11, this effect has no effect on windows+of type 'GI.Gdk.Enums.WindowTypeTemp' or windows where override redirect+has been turned on via 'GI.Gdk.Objects.Window.windowSetOverrideRedirect'+since these windows are not resizable by the user.++Since you can’t count on the windowing system doing the+constraints for programmatic resizes, you should generally+call 'GI.Gdk.Objects.Window.windowConstrainSize' yourself to determine+appropriate sizes.+-}+windowSetGeometryHints ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> Gdk.Geometry.Geometry+    {- ^ /@geometry@/: geometry hints -}+    -> [Gdk.Flags.WindowHints]+    {- ^ /@geomMask@/: bitmask indicating fields of /@geometry@/ to pay attention to -}+    -> m ()+windowSetGeometryHints window geometry geomMask = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    geometry' <- unsafeManagedPtrGetPtr geometry+    let geomMask' = gflagsToWord geomMask+    gdk_window_set_geometry_hints window' geometry' geomMask'+    touchManagedPtr window+    touchManagedPtr geometry+    return ()++#if ENABLE_OVERLOADING+data WindowSetGeometryHintsMethodInfo+instance (signature ~ (Gdk.Geometry.Geometry -> [Gdk.Flags.WindowHints] -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetGeometryHintsMethodInfo a signature where+    overloadedMethod _ = windowSetGeometryHints++#endif++-- method Window::set_group+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "leader", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "group leader window, or %NULL to restore the default group leader window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_group" gdk_window_set_group :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Window ->                           -- leader : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Sets the group leader window for /@window@/. By default,+GDK sets the group leader for all toplevel windows+to a global window implicitly created by GDK. With this function+you can override this default.++The group leader window allows the window manager to distinguish+all windows that belong to a single application. It may for example+allow users to minimize\/unminimize all windows belonging to an+application at once. You should only set a non-default group window+if your application pretends to be multiple applications.+-}+windowSetGroup ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, IsWindow b) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> Maybe (b)+    {- ^ /@leader@/: group leader window, or 'Nothing' to restore the default group leader window -}+    -> m ()+windowSetGroup window leader = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    maybeLeader <- case leader of+        Nothing -> return nullPtr+        Just jLeader -> do+            jLeader' <- unsafeManagedPtrCastPtr jLeader+            return jLeader'+    gdk_window_set_group window' maybeLeader+    touchManagedPtr window+    whenJust leader touchManagedPtr+    return ()++#if ENABLE_OVERLOADING+data WindowSetGroupMethodInfo+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsWindow a, IsWindow b) => O.MethodInfo WindowSetGroupMethodInfo a signature where+    overloadedMethod _ = windowSetGroup++#endif++-- method Window::set_icon_list+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GdkWindow toplevel window to set the icon of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbufs", argType = TGList (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "\n    A list of pixbufs, of different sizes.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_icon_list" gdk_window_set_icon_list :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr (GList (Ptr GdkPixbuf.Pixbuf.Pixbuf)) -> -- pixbufs : TGList (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))+    IO ()++{- |+Sets a list of icons for the window. One of these will be used+to represent the window when it has been iconified. The icon is+usually shown in an icon box or some sort of task bar. Which icon+size is shown depends on the window manager. The window manager+can scale the icon  but setting several size icons can give better+image quality since the window manager may only need to scale the+icon by a small amount or not at all.++Note that some platforms don\'t support window icons.+-}+windowSetIconList ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, GdkPixbuf.Pixbuf.IsPixbuf b) =>+    a+    {- ^ /@window@/: The 'GI.Gdk.Objects.Window.Window' toplevel window to set the icon of. -}+    -> [b]+    {- ^ /@pixbufs@/: +    A list of pixbufs, of different sizes. -}+    -> m ()+windowSetIconList window pixbufs = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    pixbufs' <- mapM unsafeManagedPtrCastPtr pixbufs+    pixbufs'' <- packGList pixbufs'+    gdk_window_set_icon_list window' pixbufs''+    touchManagedPtr window+    mapM_ touchManagedPtr pixbufs+    g_list_free pixbufs''+    return ()++#if ENABLE_OVERLOADING+data WindowSetIconListMethodInfo+instance (signature ~ ([b] -> m ()), MonadIO m, IsWindow a, GdkPixbuf.Pixbuf.IsPixbuf b) => O.MethodInfo WindowSetIconListMethodInfo a signature where+    overloadedMethod _ = windowSetIconList++#endif++-- method Window::set_icon_name+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "name of window while iconified (minimized)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_icon_name" gdk_window_set_icon_name :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CString ->                              -- name : TBasicType TUTF8+    IO ()++{- |+Windows may have a name used while minimized, distinct from the+name they display in their titlebar. Most of the time this is a bad+idea from a user interface standpoint. But you can set such a name+with this function, if you like.++After calling this with a non-'Nothing' /@name@/, calls to 'GI.Gdk.Objects.Window.windowSetTitle'+will not update the icon title.++Using 'Nothing' for /@name@/ unsets the icon title; further calls to+'GI.Gdk.Objects.Window.windowSetTitle' will again update the icon title as well.++Note that some platforms don\'t support window icons.+-}+windowSetIconName ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> Maybe (T.Text)+    {- ^ /@name@/: name of window while iconified (minimized) -}+    -> m ()+windowSetIconName window name = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    maybeName <- case name of+        Nothing -> return nullPtr+        Just jName -> do+            jName' <- textToCString jName+            return jName'+    gdk_window_set_icon_name window' maybeName+    touchManagedPtr window+    freeMem maybeName+    return ()++#if ENABLE_OVERLOADING+data WindowSetIconNameMethodInfo+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetIconNameMethodInfo a signature where+    overloadedMethod _ = windowSetIconName++#endif++-- method Window::set_keep_above+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to keep @window above other windows", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_keep_above" gdk_window_set_keep_above :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CInt ->                                 -- setting : TBasicType TBoolean+    IO ()++{- |+Set if /@window@/ must be kept above other windows. If the+window was already above, then this function does nothing.++On X11, asks the window manager to keep /@window@/ above, if the window+manager supports this operation. Not all window managers support+this, and some deliberately ignore it or don’t have a concept of+“keep above”; so you can’t rely on the window being kept above.+But it will happen with most standard window managers,+and GDK makes a best effort to get it to happen.++/Since: 2.4/+-}+windowSetKeepAbove ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> Bool+    {- ^ /@setting@/: whether to keep /@window@/ above other windows -}+    -> m ()+windowSetKeepAbove window setting = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let setting' = (fromIntegral . fromEnum) setting+    gdk_window_set_keep_above window' setting'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowSetKeepAboveMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetKeepAboveMethodInfo a signature where+    overloadedMethod _ = windowSetKeepAbove++#endif++-- method Window::set_keep_below+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to keep @window below other windows", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_keep_below" gdk_window_set_keep_below :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CInt ->                                 -- setting : TBasicType TBoolean+    IO ()++{- |+Set if /@window@/ must be kept below other windows. If the+window was already below, then this function does nothing.++On X11, asks the window manager to keep /@window@/ below, if the window+manager supports this operation. Not all window managers support+this, and some deliberately ignore it or don’t have a concept of+“keep below”; so you can’t rely on the window being kept below.+But it will happen with most standard window managers,+and GDK makes a best effort to get it to happen.++/Since: 2.4/+-}+windowSetKeepBelow ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> Bool+    {- ^ /@setting@/: whether to keep /@window@/ below other windows -}+    -> m ()+windowSetKeepBelow window setting = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let setting' = (fromIntegral . fromEnum) setting+    gdk_window_set_keep_below window' setting'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowSetKeepBelowMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetKeepBelowMethodInfo a signature where+    overloadedMethod _ = windowSetKeepBelow++#endif++-- method Window::set_modal_hint+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modal", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the window is modal, %FALSE otherwise.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_modal_hint" gdk_window_set_modal_hint :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CInt ->                                 -- modal : TBasicType TBoolean+    IO ()++{- |+The application can use this hint to tell the window manager+that a certain window has modal behaviour. The window manager+can use this information to handle modal windows in a special+way.++You should only use this on windows for which you have+previously called 'GI.Gdk.Objects.Window.windowSetTransientFor'+-}+windowSetModalHint ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: A toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> Bool+    {- ^ /@modal@/: 'True' if the window is modal, 'False' otherwise. -}+    -> m ()+windowSetModalHint window modal = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let modal' = (fromIntegral . fromEnum) modal+    gdk_window_set_modal_hint window' modal'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowSetModalHintMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetModalHintMethodInfo a signature where+    overloadedMethod _ = windowSetModalHint++#endif++-- method Window::set_opacity+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a top-level or non-native #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "opacity", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "opacity", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_opacity" gdk_window_set_opacity :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CDouble ->                              -- opacity : TBasicType TDouble+    IO ()++{- |+Set /@window@/ to render as partially transparent,+with opacity 0 being fully transparent and 1 fully opaque. (Values+of the opacity parameter are clamped to the [0,1] range.)++For toplevel windows this depends on support from the windowing system+that may not always be there. For instance, On X11, this works only on+X screens with a compositing manager running. On Wayland, there is no+per-window opacity value that the compositor would apply. Instead, use+@gdk_window_set_opaque_region (window, NULL)@ to tell the compositor+that the entire window is (potentially) non-opaque, and draw your content+with alpha, or use @/gtk_widget_set_opacity()/@ to set an overall opacity+for your widgets.++For child windows this function only works for non-native windows.++For setting up per-pixel alpha topelevels, see 'GI.Gdk.Objects.Screen.screenGetRgbaVisual',+and for non-toplevels, see 'GI.Gdk.Objects.Window.windowSetComposited'.++Support for non-toplevel windows was added in 3.8.++/Since: 2.12/+-}+windowSetOpacity ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a top-level or non-native 'GI.Gdk.Objects.Window.Window' -}+    -> Double+    {- ^ /@opacity@/: opacity -}+    -> m ()+windowSetOpacity window opacity = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let opacity' = realToFrac opacity+    gdk_window_set_opacity window' opacity'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowSetOpacityMethodInfo+instance (signature ~ (Double -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetOpacityMethodInfo a signature where+    overloadedMethod _ = windowSetOpacity++#endif++-- method Window::set_opaque_region+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a top-level or non-native #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "region", argType = TInterface (Name {namespace = "cairo", name = "Region"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a region, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_opaque_region" gdk_window_set_opaque_region :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Cairo.Region.Region ->              -- region : TInterface (Name {namespace = "cairo", name = "Region"})+    IO ()++{- |+For optimisation purposes, compositing window managers may+like to not draw obscured regions of windows, or turn off blending+during for these regions. With RGB windows with no transparency,+this is just the shape of the window, but with ARGB32 windows, the+compositor does not know what regions of the window are transparent+or not.++This function only works for toplevel windows.++GTK+ will update this property automatically if+the /@window@/ background is opaque, as we know where the opaque regions+are. If your window background is not opaque, please update this+property in your @/GtkWidget::style-updated/@ handler.++/Since: 3.10/+-}+windowSetOpaqueRegion ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a top-level or non-native 'GI.Gdk.Objects.Window.Window' -}+    -> Maybe (Cairo.Region.Region)+    {- ^ /@region@/: a region, or 'Nothing' -}+    -> m ()+windowSetOpaqueRegion window region = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    maybeRegion <- case region of+        Nothing -> return nullPtr+        Just jRegion -> do+            jRegion' <- unsafeManagedPtrGetPtr jRegion+            return jRegion'+    gdk_window_set_opaque_region window' maybeRegion+    touchManagedPtr window+    whenJust region touchManagedPtr+    return ()++#if ENABLE_OVERLOADING+data WindowSetOpaqueRegionMethodInfo+instance (signature ~ (Maybe (Cairo.Region.Region) -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetOpaqueRegionMethodInfo a signature where+    overloadedMethod _ = windowSetOpaqueRegion++#endif++-- method Window::set_override_redirect+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "override_redirect", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if window should be override redirect", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_override_redirect" gdk_window_set_override_redirect :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CInt ->                                 -- override_redirect : TBasicType TBoolean+    IO ()++{- |+An override redirect window is not under the control of the window manager.+This means it won’t have a titlebar, won’t be minimizable, etc. - it will+be entirely under the control of the application. The window manager+can’t see the override redirect window at all.++Override redirect should only be used for short-lived temporary+windows, such as popup menus. @/GtkMenu/@ uses an override redirect+window in its implementation, for example.+-}+windowSetOverrideRedirect ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> Bool+    {- ^ /@overrideRedirect@/: 'True' if window should be override redirect -}+    -> m ()+windowSetOverrideRedirect window overrideRedirect = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let overrideRedirect' = (fromIntegral . fromEnum) overrideRedirect+    gdk_window_set_override_redirect window' overrideRedirect'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowSetOverrideRedirectMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetOverrideRedirectMethodInfo a signature where+    overloadedMethod _ = windowSetOverrideRedirect++#endif++-- method Window::set_pass_through+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pass_through", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a boolean", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_pass_through" gdk_window_set_pass_through :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CInt ->                                 -- pass_through : TBasicType TBoolean+    IO ()++{- |+Sets whether input to the window is passed through to the window+below.++The default value of this is 'False', which means that pointer+events that happen inside the window are send first to the window,+but if the event is not selected by the event mask then the event+is sent to the parent window, and so on up the hierarchy.++If /@passThrough@/ is 'True' then such pointer events happen as if the+window wasn\'t there at all, and thus will be sent first to any+windows below /@window@/. This is useful if the window is used in a+transparent fashion. In the terminology of the web this would be called+\"pointer-events: none\".++Note that a window with /@passThrough@/ 'True' can still have a subwindow+without pass through, so you can get events on a subset of a window. And in+that cases you would get the in-between related events such as the pointer+enter\/leave events on its way to the destination window.++/Since: 3.18/+-}+windowSetPassThrough ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Bool+    {- ^ /@passThrough@/: a boolean -}+    -> m ()+windowSetPassThrough window passThrough = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let passThrough' = (fromIntegral . fromEnum) passThrough+    gdk_window_set_pass_through window' passThrough'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowSetPassThroughMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetPassThroughMethodInfo a signature where+    overloadedMethod _ = windowSetPassThrough++#endif++-- method Window::set_role+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "role", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string indicating its role", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_role" gdk_window_set_role :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CString ->                              -- role : TBasicType TUTF8+    IO ()++{- |+When using GTK+, typically you should use @/gtk_window_set_role()/@ instead+of this low-level function.++The window manager and session manager use a window’s role to+distinguish it from other kinds of window in the same application.+When an application is restarted after being saved in a previous+session, all windows with the same title and role are treated as+interchangeable.  So if you have two windows with the same title+that should be distinguished for session management purposes, you+should set the role on those windows. It doesn’t matter what string+you use for the role, as long as you have a different role for each+non-interchangeable kind of window.+-}+windowSetRole ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> T.Text+    {- ^ /@role@/: a string indicating its role -}+    -> m ()+windowSetRole window role = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    role' <- textToCString role+    gdk_window_set_role window' role'+    touchManagedPtr window+    freeMem role'+    return ()++#if ENABLE_OVERLOADING+data WindowSetRoleMethodInfo+instance (signature ~ (T.Text -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetRoleMethodInfo a signature where+    overloadedMethod _ = windowSetRole++#endif++-- method Window::set_shadow_width+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "left", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The left extent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "right", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The right extent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "top", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The top extent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bottom", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The bottom extent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_shadow_width" gdk_window_set_shadow_width :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Int32 ->                                -- left : TBasicType TInt+    Int32 ->                                -- right : TBasicType TInt+    Int32 ->                                -- top : TBasicType TInt+    Int32 ->                                -- bottom : TBasicType TInt+    IO ()++{- |+Newer GTK+ windows using client-side decorations use extra geometry+around their frames for effects like shadows and invisible borders.+Window managers that want to maximize windows or snap to edges need+to know where the extents of the actual frame lie, so that users+don’t feel like windows are snapping against random invisible edges.++Note that this property is automatically updated by GTK+, so this+function should only be used by applications which do not use GTK++to create toplevel windows.++/Since: 3.12/+-}+windowSetShadowWidth ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Int32+    {- ^ /@left@/: The left extent -}+    -> Int32+    {- ^ /@right@/: The right extent -}+    -> Int32+    {- ^ /@top@/: The top extent -}+    -> Int32+    {- ^ /@bottom@/: The bottom extent -}+    -> m ()+windowSetShadowWidth window left right top bottom = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_set_shadow_width window' left right top bottom+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowSetShadowWidthMethodInfo+instance (signature ~ (Int32 -> Int32 -> Int32 -> Int32 -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetShadowWidthMethodInfo a signature where+    overloadedMethod _ = windowSetShadowWidth++#endif++-- method Window::set_skip_pager_hint+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "skips_pager", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to skip the pager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_skip_pager_hint" gdk_window_set_skip_pager_hint :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CInt ->                                 -- skips_pager : TBasicType TBoolean+    IO ()++{- |+Toggles whether a window should appear in a pager (workspace+switcher, or other desktop utility program that displays a small+thumbnail representation of the windows on the desktop). If a+window’s semantic type as specified with 'GI.Gdk.Objects.Window.windowSetTypeHint'+already fully describes the window, this function should+not be called in addition, instead you should+allow the window to be treated according to standard policy for+its semantic type.++/Since: 2.2/+-}+windowSetSkipPagerHint ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> Bool+    {- ^ /@skipsPager@/: 'True' to skip the pager -}+    -> m ()+windowSetSkipPagerHint window skipsPager = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let skipsPager' = (fromIntegral . fromEnum) skipsPager+    gdk_window_set_skip_pager_hint window' skipsPager'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowSetSkipPagerHintMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetSkipPagerHintMethodInfo a signature where+    overloadedMethod _ = windowSetSkipPagerHint++#endif++-- method Window::set_skip_taskbar_hint+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "skips_taskbar", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to skip the taskbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_skip_taskbar_hint" gdk_window_set_skip_taskbar_hint :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CInt ->                                 -- skips_taskbar : TBasicType TBoolean+    IO ()++{- |+Toggles whether a window should appear in a task list or window+list. If a window’s semantic type as specified with+'GI.Gdk.Objects.Window.windowSetTypeHint' already fully describes the window, this+function should not be called in addition,+instead you should allow the window to be treated according to+standard policy for its semantic type.++/Since: 2.2/+-}+windowSetSkipTaskbarHint ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> Bool+    {- ^ /@skipsTaskbar@/: 'True' to skip the taskbar -}+    -> m ()+windowSetSkipTaskbarHint window skipsTaskbar = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let skipsTaskbar' = (fromIntegral . fromEnum) skipsTaskbar+    gdk_window_set_skip_taskbar_hint window' skipsTaskbar'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowSetSkipTaskbarHintMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetSkipTaskbarHintMethodInfo a signature where+    overloadedMethod _ = windowSetSkipTaskbarHint++#endif++-- method Window::set_source_events+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "source", argType = TInterface (Name {namespace = "Gdk", name = "InputSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkInputSource to define the source class.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event_mask", argType = TInterface (Name {namespace = "Gdk", name = "EventMask"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "event mask for @window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_source_events" gdk_window_set_source_events :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CUInt ->                                -- source : TInterface (Name {namespace = "Gdk", name = "InputSource"})+    CUInt ->                                -- event_mask : TInterface (Name {namespace = "Gdk", name = "EventMask"})+    IO ()++{- |+Sets the event mask for any floating device (i.e. not attached to any+visible pointer) that has the source defined as /@source@/. This event+mask will be applied both to currently existing, newly added devices+after this call, and devices being attached\/detached.++/Since: 3.0/+-}+windowSetSourceEvents ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Gdk.Enums.InputSource+    {- ^ /@source@/: a 'GI.Gdk.Enums.InputSource' to define the source class. -}+    -> [Gdk.Flags.EventMask]+    {- ^ /@eventMask@/: event mask for /@window@/ -}+    -> m ()+windowSetSourceEvents window source eventMask = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let source' = (fromIntegral . fromEnum) source+    let eventMask' = gflagsToWord eventMask+    gdk_window_set_source_events window' source' eventMask'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowSetSourceEventsMethodInfo+instance (signature ~ (Gdk.Enums.InputSource -> [Gdk.Flags.EventMask] -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetSourceEventsMethodInfo a signature where+    overloadedMethod _ = windowSetSourceEvents++#endif++-- method Window::set_startup_id+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "startup_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string with startup-notification identifier", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_startup_id" gdk_window_set_startup_id :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CString ->                              -- startup_id : TBasicType TUTF8+    IO ()++{- |+When using GTK+, typically you should use @/gtk_window_set_startup_id()/@+instead of this low-level function.++/Since: 2.12/+-}+windowSetStartupId ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> T.Text+    {- ^ /@startupId@/: a string with startup-notification identifier -}+    -> m ()+windowSetStartupId window startupId = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    startupId' <- textToCString startupId+    gdk_window_set_startup_id window' startupId'+    touchManagedPtr window+    freeMem startupId'+    return ()++#if ENABLE_OVERLOADING+data WindowSetStartupIdMethodInfo+instance (signature ~ (T.Text -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetStartupIdMethodInfo a signature where+    overloadedMethod _ = windowSetStartupId++#endif++-- method Window::set_static_gravities+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_static", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to turn on static gravity", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_static_gravities" gdk_window_set_static_gravities :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "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."] #-}+{- |+Used to set the bit gravity of the given window to static, and flag+it so all children get static subwindow gravity. This is used if you+are implementing scary features that involve deep knowledge of the+windowing system. Don’t worry about it.+-}+windowSetStaticGravities ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Bool+    {- ^ /@useStatic@/: 'True' to turn on static gravity -}+    -> m Bool+    {- ^ __Returns:__ 'False' -}+windowSetStaticGravities window useStatic = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let useStatic' = (fromIntegral . fromEnum) useStatic+    result <- gdk_window_set_static_gravities window' useStatic'+    let result' = (/= 0) result+    touchManagedPtr window+    return result'++#if ENABLE_OVERLOADING+data WindowSetStaticGravitiesMethodInfo+instance (signature ~ (Bool -> m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowSetStaticGravitiesMethodInfo a signature where+    overloadedMethod _ = windowSetStaticGravities++#endif++-- method Window::set_support_multidevice+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "support_multidevice", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to enable multidevice support in @window.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_support_multidevice" gdk_window_set_support_multidevice :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CInt ->                                 -- support_multidevice : TBasicType TBoolean+    IO ()++{- |+This function will enable multidevice features in /@window@/.++Multidevice aware windows will need to handle properly multiple,+per device enter\/leave events, device grabs and grab ownerships.++/Since: 3.0/+-}+windowSetSupportMultidevice ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window'. -}+    -> Bool+    {- ^ /@supportMultidevice@/: 'True' to enable multidevice support in /@window@/. -}+    -> m ()+windowSetSupportMultidevice window supportMultidevice = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let supportMultidevice' = (fromIntegral . fromEnum) supportMultidevice+    gdk_window_set_support_multidevice window' supportMultidevice'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowSetSupportMultideviceMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetSupportMultideviceMethodInfo a signature where+    overloadedMethod _ = windowSetSupportMultidevice++#endif++-- method Window::set_title+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "title of @window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_title" gdk_window_set_title :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CString ->                              -- title : TBasicType TUTF8+    IO ()++{- |+Sets the title of a toplevel window, to be displayed in the titlebar.+If you haven’t explicitly set the icon name for the window+(using 'GI.Gdk.Objects.Window.windowSetIconName'), the icon name will be set to+/@title@/ as well. /@title@/ must be in UTF-8 encoding (as with all+user-readable strings in GDK\/GTK+). /@title@/ may not be 'Nothing'.+-}+windowSetTitle ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> T.Text+    {- ^ /@title@/: title of /@window@/ -}+    -> m ()+windowSetTitle window title = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    title' <- textToCString title+    gdk_window_set_title window' title'+    touchManagedPtr window+    freeMem title'+    return ()++#if ENABLE_OVERLOADING+data WindowSetTitleMethodInfo+instance (signature ~ (T.Text -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetTitleMethodInfo a signature where+    overloadedMethod _ = windowSetTitle++#endif++-- method Window::set_transient_for+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_transient_for" gdk_window_set_transient_for :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Window ->                           -- parent : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Indicates to the window manager that /@window@/ is a transient dialog+associated with the application window /@parent@/. This allows the+window manager to do things like center /@window@/ on /@parent@/ and+keep /@window@/ above /@parent@/.++See @/gtk_window_set_transient_for()/@ if you’re using @/GtkWindow/@ or+@/GtkDialog/@.+-}+windowSetTransientFor ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, IsWindow b) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> b+    {- ^ /@parent@/: another toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowSetTransientFor window parent = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    parent' <- unsafeManagedPtrCastPtr parent+    gdk_window_set_transient_for window' parent'+    touchManagedPtr window+    touchManagedPtr parent+    return ()++#if ENABLE_OVERLOADING+data WindowSetTransientForMethodInfo+instance (signature ~ (b -> m ()), MonadIO m, IsWindow a, IsWindow b) => O.MethodInfo WindowSetTransientForMethodInfo a signature where+    overloadedMethod _ = windowSetTransientFor++#endif++-- method Window::set_type_hint+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hint", argType = TInterface (Name {namespace = "Gdk", name = "WindowTypeHint"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A hint of the function this window will have", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_type_hint" gdk_window_set_type_hint :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CUInt ->                                -- hint : TInterface (Name {namespace = "Gdk", name = "WindowTypeHint"})+    IO ()++{- |+The application can use this call to provide a hint to the window+manager about the functionality of a window. The window manager+can use this information when determining the decoration and behaviour+of the window.++The hint must be set before the window is mapped.+-}+windowSetTypeHint ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: A toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> Gdk.Enums.WindowTypeHint+    {- ^ /@hint@/: A hint of the function this window will have -}+    -> m ()+windowSetTypeHint window hint = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let hint' = (fromIntegral . fromEnum) hint+    gdk_window_set_type_hint window' hint'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowSetTypeHintMethodInfo+instance (signature ~ (Gdk.Enums.WindowTypeHint -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetTypeHintMethodInfo a signature where+    overloadedMethod _ = windowSetTypeHint++#endif++-- method Window::set_urgency_hint+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "urgent", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the window is urgent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_urgency_hint" gdk_window_set_urgency_hint :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    CInt ->                                 -- urgent : TBasicType TBoolean+    IO ()++{- |+Toggles whether a window needs the user\'s+urgent attention.++/Since: 2.8/+-}+windowSetUrgencyHint ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> Bool+    {- ^ /@urgent@/: 'True' if the window is urgent -}+    -> m ()+windowSetUrgencyHint window urgent = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    let urgent' = (fromIntegral . fromEnum) urgent+    gdk_window_set_urgency_hint window' urgent'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowSetUrgencyHintMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetUrgencyHintMethodInfo a signature where+    overloadedMethod _ = windowSetUrgencyHint++#endif++-- method Window::set_user_data+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_user_data" gdk_window_set_user_data :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr GObject.Object.Object ->            -- user_data : TInterface (Name {namespace = "GObject", name = "Object"})+    IO ()++{- |+For most purposes this function is deprecated in favor of+'GI.GObject.Objects.Object.objectSetData'. However, for historical reasons GTK+ stores+the @/GtkWidget/@ that owns a 'GI.Gdk.Objects.Window.Window' as user data on the+'GI.Gdk.Objects.Window.Window'. So, custom widget implementations should use+this function for that. If GTK+ receives an event for a 'GI.Gdk.Objects.Window.Window',+and the user data for the window is non-'Nothing', GTK+ will assume the+user data is a @/GtkWidget/@, and forward the event to that widget.+-}+windowSetUserData ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, GObject.Object.IsObject b) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Maybe (b)+    {- ^ /@userData@/: user data -}+    -> m ()+windowSetUserData window userData = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    maybeUserData <- case userData of+        Nothing -> return nullPtr+        Just jUserData -> do+            jUserData' <- unsafeManagedPtrCastPtr jUserData+            return jUserData'+    gdk_window_set_user_data window' maybeUserData+    touchManagedPtr window+    whenJust userData touchManagedPtr+    return ()++#if ENABLE_OVERLOADING+data WindowSetUserDataMethodInfo+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsWindow a, GObject.Object.IsObject b) => O.MethodInfo WindowSetUserDataMethodInfo a signature where+    overloadedMethod _ = windowSetUserData++#endif++-- method Window::shape_combine_region+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "shape_region", argType = TInterface (Name {namespace = "cairo", name = "Region"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "region of window to be non-transparent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X position of @shape_region in @window coordinates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset_y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y position of @shape_region in @window coordinates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_shape_combine_region" gdk_window_shape_combine_region :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Cairo.Region.Region ->              -- shape_region : TInterface (Name {namespace = "cairo", name = "Region"})+    Int32 ->                                -- offset_x : TBasicType TInt+    Int32 ->                                -- offset_y : TBasicType TInt+    IO ()++{- |+Makes pixels in /@window@/ outside /@shapeRegion@/ be transparent,+so that the window may be nonrectangular.++If /@shapeRegion@/ is 'Nothing', the shape will be unset, so the whole+window will be opaque again. /@offsetX@/ and /@offsetY@/ are ignored+if /@shapeRegion@/ is 'Nothing'.++On the X11 platform, this uses an X server extension which is+widely available on most common platforms, but not available on+very old X servers, and occasionally the implementation will be+buggy. On servers without the shape extension, this function+will do nothing.++This function works on both toplevel and child windows.+-}+windowShapeCombineRegion ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Maybe (Cairo.Region.Region)+    {- ^ /@shapeRegion@/: region of window to be non-transparent -}+    -> Int32+    {- ^ /@offsetX@/: X position of /@shapeRegion@/ in /@window@/ coordinates -}+    -> Int32+    {- ^ /@offsetY@/: Y position of /@shapeRegion@/ in /@window@/ coordinates -}+    -> m ()+windowShapeCombineRegion window shapeRegion offsetX offsetY = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    maybeShapeRegion <- case shapeRegion of+        Nothing -> return nullPtr+        Just jShapeRegion -> do+            jShapeRegion' <- unsafeManagedPtrGetPtr jShapeRegion+            return jShapeRegion'+    gdk_window_shape_combine_region window' maybeShapeRegion offsetX offsetY+    touchManagedPtr window+    whenJust shapeRegion touchManagedPtr+    return ()++#if ENABLE_OVERLOADING+data WindowShapeCombineRegionMethodInfo+instance (signature ~ (Maybe (Cairo.Region.Region) -> Int32 -> Int32 -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowShapeCombineRegionMethodInfo a signature where+    overloadedMethod _ = windowShapeCombineRegion++#endif++-- method Window::show+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_show" gdk_window_show :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Like 'GI.Gdk.Objects.Window.windowShowUnraised', but also raises the window to the+top of the window stack (moves the window to the front of the+Z-order).++This function maps a window so it’s visible onscreen. Its opposite+is 'GI.Gdk.Objects.Window.windowHide'.++When implementing a @/GtkWidget/@, you should call this function on the widget\'s+'GI.Gdk.Objects.Window.Window' as part of the “map” method.+-}+windowShow ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowShow window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_show window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowShowMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowShowMethodInfo a signature where+    overloadedMethod _ = windowShow++#endif++-- method Window::show_unraised+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_show_unraised" gdk_window_show_unraised :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Shows a 'GI.Gdk.Objects.Window.Window' onscreen, but does not modify its stacking+order. In contrast, 'GI.Gdk.Objects.Window.windowShow' will raise the window+to the top of the window stack.++On the X11 platform, in Xlib terms, this function calls+@/XMapWindow()/@ (it also updates some internal GDK state, which means+that you can’t really use @/XMapWindow()/@ directly on a GDK window).+-}+windowShowUnraised ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowShowUnraised window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_show_unraised window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowShowUnraisedMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowShowUnraisedMethodInfo a signature where+    overloadedMethod _ = windowShowUnraised++#endif++-- method Window::show_window_menu+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent to show the menu for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_show_window_menu" gdk_window_show_window_menu :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    Ptr Gdk.Event.Event ->                  -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    IO CInt++{- |+Asks the windowing system to show the window menu. The window menu+is the menu shown when right-clicking the titlebar on traditional+windows managed by the window manager. This is useful for windows+using client-side decorations, activating it with a right-click+on the window decorations.++/Since: 3.14/+-}+windowShowWindowMenu ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> Gdk.Event.Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' to show the menu for -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the window menu was shown and 'False' otherwise. -}+windowShowWindowMenu window event = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    event' <- unsafeManagedPtrGetPtr event+    result <- gdk_window_show_window_menu window' event'+    let result' = (/= 0) result+    touchManagedPtr window+    touchManagedPtr event+    return result'++#if ENABLE_OVERLOADING+data WindowShowWindowMenuMethodInfo+instance (signature ~ (Gdk.Event.Event -> m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowShowWindowMenuMethodInfo a signature where+    overloadedMethod _ = windowShowWindowMenu++#endif++-- method Window::stick+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_stick" gdk_window_stick :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+“Pins” a window such that it’s on all workspaces and does not scroll+with viewports, for window managers that have scrollable viewports.+(When using @/GtkWindow/@, @/gtk_window_stick()/@ may be more useful.)++On the X11 platform, this function depends on window manager+support, so may have no effect with many window managers. However,+GDK will do the best it can to convince the window manager to stick+the window. For window managers that don’t support this operation,+there’s nothing you can do to force it to happen.+-}+windowStick ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowStick window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_stick window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowStickMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowStickMethodInfo a signature where+    overloadedMethod _ = windowStick++#endif++-- method Window::thaw_toplevel_updates_libgtk_only+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_thaw_toplevel_updates_libgtk_only" gdk_window_thaw_toplevel_updates_libgtk_only :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{-# DEPRECATED windowThawToplevelUpdatesLibgtkOnly ["(Since version 3.16)","This symbol was never meant to be used outside of GTK+"] #-}+{- |+Thaws a window frozen with+'GI.Gdk.Objects.Window.windowFreezeToplevelUpdatesLibgtkOnly'.++This function is not part of the GDK public API and is only+for use by GTK+.+-}+windowThawToplevelUpdatesLibgtkOnly ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowThawToplevelUpdatesLibgtkOnly window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_thaw_toplevel_updates_libgtk_only window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowThawToplevelUpdatesLibgtkOnlyMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowThawToplevelUpdatesLibgtkOnlyMethodInfo a signature where+    overloadedMethod _ = windowThawToplevelUpdatesLibgtkOnly++#endif++-- method Window::thaw_updates+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_thaw_updates" gdk_window_thaw_updates :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Thaws a window frozen with 'GI.Gdk.Objects.Window.windowFreezeUpdates'.+-}+windowThawUpdates ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowThawUpdates window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_thaw_updates window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowThawUpdatesMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowThawUpdatesMethodInfo a signature where+    overloadedMethod _ = windowThawUpdates++#endif++-- method Window::unfullscreen+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_unfullscreen" gdk_window_unfullscreen :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Moves the window out of fullscreen mode. If the window was not+fullscreen, does nothing.++On X11, asks the window manager to move /@window@/ out of the fullscreen+state, if the window manager supports this operation. Not all+window managers support this, and some deliberately ignore it or+don’t have a concept of “fullscreen”; so you can’t rely on the+unfullscreenification actually happening. But it will happen with+most standard window managers, and GDK makes a best effort to get+it to happen.++/Since: 2.2/+-}+windowUnfullscreen ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowUnfullscreen window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_unfullscreen window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowUnfullscreenMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowUnfullscreenMethodInfo a signature where+    overloadedMethod _ = windowUnfullscreen++#endif++-- method Window::unmaximize+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_unmaximize" gdk_window_unmaximize :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Unmaximizes the window. If the window wasn’t maximized, then this+function does nothing.++On X11, asks the window manager to unmaximize /@window@/, if the+window manager supports this operation. Not all window managers+support this, and some deliberately ignore it or don’t have a+concept of “maximized”; so you can’t rely on the unmaximization+actually happening. But it will happen with most standard window+managers, and GDK makes a best effort to get it to happen.++On Windows, reliably unmaximizes the window.+-}+windowUnmaximize ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowUnmaximize window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_unmaximize window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowUnmaximizeMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowUnmaximizeMethodInfo a signature where+    overloadedMethod _ = windowUnmaximize++#endif++-- method Window::unstick+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_unstick" gdk_window_unstick :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Reverse operation for 'GI.Gdk.Objects.Window.windowStick'; see 'GI.Gdk.Objects.Window.windowStick',+and @/gtk_window_unstick()/@.+-}+windowUnstick ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowUnstick window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_unstick window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowUnstickMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowUnstickMethodInfo a signature where+    overloadedMethod _ = windowUnstick++#endif++-- method Window::withdraw+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a toplevel #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_withdraw" gdk_window_withdraw :: +    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gdk", name = "Window"})+    IO ()++{- |+Withdraws a window (unmaps it and asks the window manager to forget about it).+This function is not really useful as 'GI.Gdk.Objects.Window.windowHide' automatically+withdraws toplevel windows before hiding them.+-}+windowWithdraw ::+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>+    a+    {- ^ /@window@/: a toplevel 'GI.Gdk.Objects.Window.Window' -}+    -> m ()+windowWithdraw window = liftIO $ do+    window' <- unsafeManagedPtrCastPtr window+    gdk_window_withdraw window'+    touchManagedPtr window+    return ()++#if ENABLE_OVERLOADING+data WindowWithdrawMethodInfo+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowWithdrawMethodInfo a signature where+    overloadedMethod _ = windowWithdraw++#endif++-- method Window::at_pointer+-- method type : MemberFunction+-- Args : [Arg {argCName = "win_x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for origin of the window under the pointer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "win_y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for origin of the window under the pointer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_at_pointer" gdk_window_at_pointer :: +    Ptr Int32 ->                            -- win_x : TBasicType TInt+    Ptr Int32 ->                            -- win_y : TBasicType TInt+    IO (Ptr Window)++{-# DEPRECATED windowAtPointer ["(Since version 3.0)","Use 'GI.Gdk.Objects.Device.deviceGetWindowAtPosition' instead."] #-}+{- |+Obtains the window underneath the mouse pointer, returning the+location of that window in /@winX@/, /@winY@/. Returns 'Nothing' if the+window under the mouse pointer is not known to GDK (if the window+belongs to another application and a 'GI.Gdk.Objects.Window.Window' hasn’t been created+for it with @/gdk_window_foreign_new()/@)++NOTE: For multihead-aware widgets or applications use+'GI.Gdk.Objects.Display.displayGetWindowAtPointer' instead.+-}+windowAtPointer ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m ((Window, Int32, Int32))+    {- ^ __Returns:__ window under the mouse pointer -}+windowAtPointer  = liftIO $ do+    winX <- allocMem :: IO (Ptr Int32)+    winY <- allocMem :: IO (Ptr Int32)+    result <- gdk_window_at_pointer winX winY+    checkUnexpectedReturnNULL "windowAtPointer" result+    result' <- (newObject Window) result+    winX' <- peek winX+    winY' <- peek winY+    freeMem winX+    freeMem winY+    return (result', winX', winY')++#if ENABLE_OVERLOADING+#endif++-- method Window::constrain_size+-- method type : MemberFunction+-- Args : [Arg {argCName = "geometry", argType = TInterface (Name {namespace = "Gdk", name = "Geometry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkGeometry structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gdk", name = "WindowHints"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a mask indicating what portions of @geometry are set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "desired width of window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "desired height of the window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store resulting width", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "new_height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store resulting height", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_constrain_size" gdk_window_constrain_size :: +    Ptr Gdk.Geometry.Geometry ->            -- geometry : TInterface (Name {namespace = "Gdk", name = "Geometry"})+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gdk", name = "WindowHints"})+    Int32 ->                                -- width : TBasicType TInt+    Int32 ->                                -- height : TBasicType TInt+    Ptr Int32 ->                            -- new_width : TBasicType TInt+    Ptr Int32 ->                            -- new_height : TBasicType TInt+    IO ()++{- |+Constrains a desired width and height according to a+set of geometry hints (such as minimum and maximum size).+-}+windowConstrainSize ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Gdk.Geometry.Geometry+    {- ^ /@geometry@/: a 'GI.Gdk.Structs.Geometry.Geometry' structure -}+    -> [Gdk.Flags.WindowHints]+    {- ^ /@flags@/: a mask indicating what portions of /@geometry@/ are set -}+    -> Int32+    {- ^ /@width@/: desired width of window -}+    -> Int32+    {- ^ /@height@/: desired height of the window -}+    -> m ((Int32, Int32))+windowConstrainSize geometry flags width height = liftIO $ do+    geometry' <- unsafeManagedPtrGetPtr geometry+    let flags' = gflagsToWord flags+    newWidth <- allocMem :: IO (Ptr Int32)+    newHeight <- allocMem :: IO (Ptr Int32)+    gdk_window_constrain_size geometry' flags' width height newWidth newHeight+    newWidth' <- peek newWidth+    newHeight' <- peek newHeight+    touchManagedPtr geometry+    freeMem newWidth+    freeMem newHeight+    return (newWidth', newHeight')++#if ENABLE_OVERLOADING+#endif++-- method Window::process_all_updates+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_process_all_updates" gdk_window_process_all_updates :: +    IO ()++{-# DEPRECATED windowProcessAllUpdates ["(Since version 3.22)"] #-}+{- |+Calls 'GI.Gdk.Objects.Window.windowProcessUpdates' for all windows (see 'GI.Gdk.Objects.Window.Window')+in the application.+-}+windowProcessAllUpdates ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m ()+windowProcessAllUpdates  = liftIO $ do+    gdk_window_process_all_updates+    return ()++#if ENABLE_OVERLOADING+#endif++-- method Window::set_debug_updates+-- method type : MemberFunction+-- Args : [Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to turn on update debugging", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_window_set_debug_updates" gdk_window_set_debug_updates :: +    CInt ->                                 -- setting : TBasicType TBoolean+    IO ()++{-# DEPRECATED windowSetDebugUpdates ["(Since version 3.22)"] #-}+{- |+With update debugging enabled, calls to+'GI.Gdk.Objects.Window.windowInvalidateRegion' clear the invalidated region of the+screen to a noticeable color, and GDK pauses for a short time+before sending exposes to windows during+'GI.Gdk.Objects.Window.windowProcessUpdates'.  The net effect is that you can see+the invalid region for each window and watch redraws as they+occur. This allows you to diagnose inefficiencies in your application.++In essence, because the GDK rendering model prevents all flicker,+if you are redrawing the same region 400 times you may never+notice, aside from noticing a speed problem. Enabling update+debugging causes GTK to flicker slowly and noticeably, so you can+see exactly what’s being redrawn when, in what order.++The --gtk-debug=updates command line option passed to GTK+ programs+enables this debug option at application startup time. That\'s+usually more useful than calling 'GI.Gdk.Objects.Window.windowSetDebugUpdates'+yourself, though you might want to use this function to enable+updates sometime after application startup time.+-}+windowSetDebugUpdates ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Bool+    {- ^ /@setting@/: 'True' to turn on update debugging -}+    -> m ()+windowSetDebugUpdates setting = liftIO $ do+    let setting' = (fromIntegral . fromEnum) setting+    gdk_window_set_debug_updates setting'+    return ()++#if ENABLE_OVERLOADING+#endif++
+ GI/Gdk/Objects/Window.hs-boot view
@@ -0,0 +1,509 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Objects.Window where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype Window = Window (ManagedPtr Window)+instance GObject Window where+class (GObject o, O.IsDescendantOf Window o) => IsWindow o+instance (GObject o, O.IsDescendantOf Window o) => IsWindow o+instance O.HasParentTypes Window+#if ENABLE_OVERLOADING+data WindowCursorPropertyInfo+#endif+#if ENABLE_OVERLOADING+data WindowCreateSurfaceSignalInfo+#endif+#if ENABLE_OVERLOADING+data WindowFromEmbedderSignalInfo+#endif+#if ENABLE_OVERLOADING+data WindowMovedToRectSignalInfo+#endif+#if ENABLE_OVERLOADING+data WindowPickEmbeddedChildSignalInfo+#endif+#if ENABLE_OVERLOADING+data WindowToEmbedderSignalInfo+#endif+#if ENABLE_OVERLOADING+data WindowBeepMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowBeginDrawFrameMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowBeginMoveDragMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowBeginMoveDragForDeviceMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowBeginPaintRectMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowBeginPaintRegionMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowBeginResizeDragMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowBeginResizeDragForDeviceMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowConfigureFinishedMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowCoordsFromParentMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowCoordsToParentMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowCreateGlContextMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowCreateSimilarImageSurfaceMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowCreateSimilarSurfaceMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowDeiconifyMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowDestroyMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowDestroyNotifyMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowEnableSynchronizedConfigureMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowEndDrawFrameMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowEndPaintMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowEnsureNativeMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowFlushMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowFocusMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowFreezeToplevelUpdatesLibgtkOnlyMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowFreezeUpdatesMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowFullscreenMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowFullscreenOnMonitorMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGeometryChangedMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetAcceptFocusMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetBackgroundPatternMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetChildrenMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetChildrenWithUserDataMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetClipRegionMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetCompositedMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetCursorMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetDecorationsMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetDeviceCursorMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetDeviceEventsMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetDevicePositionMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetDevicePositionDoubleMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetDisplayMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetDragProtocolMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetEffectiveParentMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetEffectiveToplevelMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetEventCompressionMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetEventsMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetFocusOnMapMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetFrameClockMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetFrameExtentsMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetFullscreenModeMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetGeometryMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetGroupMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetHeightMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetModalHintMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetOriginMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetParentMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetPassThroughMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetPointerMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetPositionMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetRootCoordsMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetRootOriginMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetScaleFactorMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetScreenMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetSourceEventsMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetStateMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetSupportMultideviceMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetToplevelMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetTypeHintMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetUpdateAreaMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetUserDataMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetVisibleRegionMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetVisualMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetWidthMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowGetWindowTypeMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowHasNativeMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowHideMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowIconifyMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowInputShapeCombineRegionMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowInvalidateMaybeRecurseMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowInvalidateRectMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowInvalidateRegionMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowIsDestroyedMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowIsInputOnlyMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowIsShapedMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowIsViewableMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowIsVisibleMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowLowerMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowMarkPaintFromClipMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowMaximizeMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowMergeChildInputShapesMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowMergeChildShapesMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowMoveMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowMoveRegionMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowMoveResizeMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowMoveToRectMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowPeekChildrenMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowProcessUpdatesMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowRaiseMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowRegisterDndMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowReparentMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowResizeMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowRestackMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowScrollMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetAcceptFocusMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetBackgroundMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetBackgroundPatternMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetBackgroundRgbaMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetChildInputShapesMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetChildShapesMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetCompositedMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetCursorMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetDecorationsMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetDeviceCursorMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetDeviceEventsMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetEventCompressionMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetEventsMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetFocusOnMapMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetFullscreenModeMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetFunctionsMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetGeometryHintsMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetGroupMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetIconListMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetIconNameMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetKeepAboveMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetKeepBelowMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetModalHintMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetOpacityMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetOpaqueRegionMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetOverrideRedirectMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetPassThroughMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetRoleMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetShadowWidthMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetSkipPagerHintMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetSkipTaskbarHintMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetSourceEventsMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetStartupIdMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetStaticGravitiesMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetSupportMultideviceMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetTitleMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetTransientForMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetTypeHintMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetUrgencyHintMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowSetUserDataMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowShapeCombineRegionMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowShowMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowShowUnraisedMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowShowWindowMenuMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowStickMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowThawToplevelUpdatesLibgtkOnlyMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowThawUpdatesMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowUnfullscreenMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowUnmaximizeMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowUnstickMethodInfo+#endif+#if ENABLE_OVERLOADING+data WindowWithdrawMethodInfo+#endif
+ GI/Gdk/Structs.hs view
@@ -0,0 +1,111 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs+    (     module GI.Gdk.Structs.Atom              ,+    module GI.Gdk.Structs.Color             ,+    module GI.Gdk.Structs.EventAny          ,+    module GI.Gdk.Structs.EventButton       ,+    module GI.Gdk.Structs.EventConfigure    ,+    module GI.Gdk.Structs.EventCrossing     ,+    module GI.Gdk.Structs.EventDND          ,+    module GI.Gdk.Structs.EventExpose       ,+    module GI.Gdk.Structs.EventFocus        ,+    module GI.Gdk.Structs.EventGrabBroken   ,+    module GI.Gdk.Structs.EventKey          ,+    module GI.Gdk.Structs.EventMotion       ,+    module GI.Gdk.Structs.EventOwnerChange  ,+    module GI.Gdk.Structs.EventPadAxis      ,+    module GI.Gdk.Structs.EventPadButton    ,+    module GI.Gdk.Structs.EventPadGroupMode ,+    module GI.Gdk.Structs.EventProperty     ,+    module GI.Gdk.Structs.EventProximity    ,+    module GI.Gdk.Structs.EventScroll       ,+    module GI.Gdk.Structs.EventSelection    ,+    module GI.Gdk.Structs.EventSequence     ,+    module GI.Gdk.Structs.EventSetting      ,+    module GI.Gdk.Structs.EventTouch        ,+    module GI.Gdk.Structs.EventTouchpadPinch,+    module GI.Gdk.Structs.EventTouchpadSwipe,+    module GI.Gdk.Structs.EventVisibility   ,+    module GI.Gdk.Structs.EventWindowState  ,+    module GI.Gdk.Structs.FrameTimings      ,+    module GI.Gdk.Structs.Geometry          ,+    module GI.Gdk.Structs.KeymapKey         ,+    module GI.Gdk.Structs.Point             ,+    module GI.Gdk.Structs.RGBA              ,+    module GI.Gdk.Structs.Rectangle         ,+    module GI.Gdk.Structs.TimeCoord         ,+    module GI.Gdk.Structs.WindowAttr        ,+    module GI.Gdk.Structs.WindowRedirect    ,+++    ) where++import GI.Gdk.Structs.Atom+import GI.Gdk.Structs.Color+import GI.Gdk.Structs.EventAny+import GI.Gdk.Structs.EventButton+import GI.Gdk.Structs.EventConfigure+import GI.Gdk.Structs.EventCrossing+import GI.Gdk.Structs.EventDND+import GI.Gdk.Structs.EventExpose+import GI.Gdk.Structs.EventFocus+import GI.Gdk.Structs.EventGrabBroken+import GI.Gdk.Structs.EventKey+import GI.Gdk.Structs.EventMotion+import GI.Gdk.Structs.EventOwnerChange+import GI.Gdk.Structs.EventPadAxis+import GI.Gdk.Structs.EventPadButton+import GI.Gdk.Structs.EventPadGroupMode+import GI.Gdk.Structs.EventProperty+import GI.Gdk.Structs.EventProximity+import GI.Gdk.Structs.EventScroll+import GI.Gdk.Structs.EventSelection+import GI.Gdk.Structs.EventSequence+import GI.Gdk.Structs.EventSetting+import GI.Gdk.Structs.EventTouch+import GI.Gdk.Structs.EventTouchpadPinch+import GI.Gdk.Structs.EventTouchpadSwipe+import GI.Gdk.Structs.EventVisibility+import GI.Gdk.Structs.EventWindowState+import GI.Gdk.Structs.FrameTimings+import GI.Gdk.Structs.Geometry+import GI.Gdk.Structs.KeymapKey+import GI.Gdk.Structs.Point+import GI.Gdk.Structs.RGBA+import GI.Gdk.Structs.Rectangle+import GI.Gdk.Structs.TimeCoord+import GI.Gdk.Structs.WindowAttr+import GI.Gdk.Structs.WindowRedirect++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++
+ GI/Gdk/Structs/Atom.hs view
@@ -0,0 +1,221 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++An opaque type representing a string as an index into a table+of strings on the X server.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.Atom+    ( ++-- * Exported types+    Atom(..)                                ,+    noAtom                                  ,+++ -- * Methods+-- ** intern #method:intern#++    atomIntern                              ,+++-- ** internStaticString #method:internStaticString#++    atomInternStaticString                  ,+++-- ** name #method:name#++#if ENABLE_OVERLOADING+    AtomNameMethodInfo                      ,+#endif+    atomName                                ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++-- | Memory-managed wrapper type.+newtype Atom = Atom (ManagedPtr Atom)+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?+instance WrappedPtr Atom where+    wrappedPtrCalloc = return nullPtr+    wrappedPtrCopy = return+    wrappedPtrFree = Nothing++-- | A convenience alias for `Nothing` :: `Maybe` `Atom`.+noAtom :: Maybe Atom+noAtom = Nothing+++#if ENABLE_OVERLOADING+instance O.HasAttributeList Atom+type instance O.AttributeList Atom = AtomAttributeList+type AtomAttributeList = ('[ ] :: [(Symbol, *)])+#endif++-- method Atom::name+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "atom", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkAtom.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_atom_name" gdk_atom_name :: +    Ptr Atom ->                             -- atom : TInterface (Name {namespace = "Gdk", name = "Atom"})+    IO CString++{- |+Determines the string corresponding to an atom.+-}+atomName ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Atom+    {- ^ /@atom@/: a 'GI.Gdk.Structs.Atom.Atom'. -}+    -> m T.Text+    {- ^ __Returns:__ a newly-allocated string containing the string+  corresponding to /@atom@/. When you are done with the+  return value, you should free it using 'GI.GLib.Functions.free'. -}+atomName atom = liftIO $ do+    atom' <- unsafeManagedPtrGetPtr atom+    result <- gdk_atom_name atom'+    checkUnexpectedReturnNULL "atomName" result+    result' <- cstringToText result+    freeMem result+    touchManagedPtr atom+    return result'++#if ENABLE_OVERLOADING+data AtomNameMethodInfo+instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo AtomNameMethodInfo Atom signature where+    overloadedMethod _ = atomName++#endif++-- method Atom::intern+-- method type : MemberFunction+-- Args : [Arg {argCName = "atom_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "only_if_exists", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if %TRUE, GDK is allowed to not create a new atom, but\n  just return %GDK_NONE if the requested atom doesn\8217t already\n  exists. Currently, the flag is ignored, since checking the\n  existance of an atom is as expensive as creating it.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "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)++{- |+Finds or creates an atom corresponding to a given string.+-}+atomIntern ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@atomName@/: a string. -}+    -> Bool+    {- ^ /@onlyIfExists@/: if 'True', GDK is allowed to not create a new atom, but+  just return @/GDK_NONE/@ if the requested atom doesn’t already+  exists. Currently, the flag is ignored, since checking the+  existance of an atom is as expensive as creating it. -}+    -> m Atom+    {- ^ __Returns:__ the atom corresponding to /@atomName@/. -}+atomIntern atomName onlyIfExists = liftIO $ do+    atomName' <- textToCString atomName+    let onlyIfExists' = (fromIntegral . fromEnum) onlyIfExists+    result <- gdk_atom_intern atomName' onlyIfExists'+    checkUnexpectedReturnNULL "atomIntern" result+    result' <- (newPtr Atom) result+    freeMem atomName'+    return result'++#if ENABLE_OVERLOADING+#endif++-- method Atom::intern_static_string+-- method type : MemberFunction+-- Args : [Arg {argCName = "atom_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a static string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "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)++{- |+Finds or creates an atom corresponding to a given string.++Note that this function is identical to 'GI.Gdk.Functions.atomIntern' except+that if a new 'GI.Gdk.Structs.Atom.Atom' is created the string itself is used rather+than a copy. This saves memory, but can only be used if the string+will always exist. It can be used with statically+allocated strings in the main program, but not with statically+allocated memory in dynamically loaded modules, if you expect to+ever unload the module again (e.g. do not use this function in+GTK+ theme engines).++/Since: 2.10/+-}+atomInternStaticString ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@atomName@/: a static string -}+    -> m Atom+    {- ^ __Returns:__ the atom corresponding to /@atomName@/ -}+atomInternStaticString atomName = liftIO $ do+    atomName' <- textToCString atomName+    result <- gdk_atom_intern_static_string atomName'+    checkUnexpectedReturnNULL "atomInternStaticString" result+    result' <- (newPtr Atom) result+    freeMem atomName'+    return result'++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type family ResolveAtomMethod (t :: Symbol) (o :: *) :: * where+    ResolveAtomMethod "name" o = AtomNameMethodInfo+    ResolveAtomMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveAtomMethod t Atom, O.MethodInfo info Atom p) => OL.IsLabel t (Atom -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/Atom.hs-boot view
@@ -0,0 +1,29 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.Atom where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype Atom = Atom (ManagedPtr Atom)+instance WrappedPtr Atom where+#if ENABLE_OVERLOADING+data AtomNameMethodInfo+#endif
+ GI/Gdk/Structs/Color.hs view
@@ -0,0 +1,607 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++A 'GI.Gdk.Structs.Color.Color' is used to describe a color,+similar to the XColor struct used in the X11 drawing API.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.Color+    ( ++-- * Exported types+    Color(..)                               ,+    newZeroColor                            ,+    noColor                                 ,+++ -- * Methods+-- ** copy #method:copy#++#if ENABLE_OVERLOADING+    ColorCopyMethodInfo                     ,+#endif+    colorCopy                               ,+++-- ** equal #method:equal#++#if ENABLE_OVERLOADING+    ColorEqualMethodInfo                    ,+#endif+    colorEqual                              ,+++-- ** free #method:free#++#if ENABLE_OVERLOADING+    ColorFreeMethodInfo                     ,+#endif+    colorFree                               ,+++-- ** hash #method:hash#++#if ENABLE_OVERLOADING+    ColorHashMethodInfo                     ,+#endif+    colorHash                               ,+++-- ** parse #method:parse#++    colorParse                              ,+++-- ** toString #method:toString#++#if ENABLE_OVERLOADING+    ColorToStringMethodInfo                 ,+#endif+    colorToString                           ,+++++ -- * Properties+-- ** blue #attr:blue#+{- | The blue component of the color+-}+#if ENABLE_OVERLOADING+    color_blue                              ,+#endif+    getColorBlue                            ,+    setColorBlue                            ,+++-- ** green #attr:green#+{- | The green component of the color+-}+#if ENABLE_OVERLOADING+    color_green                             ,+#endif+    getColorGreen                           ,+    setColorGreen                           ,+++-- ** pixel #attr:pixel#+{- | For allocated colors, the pixel value used to+    draw this color on the screen. Not used anymore.+-}+#if ENABLE_OVERLOADING+    color_pixel                             ,+#endif+    getColorPixel                           ,+    setColorPixel                           ,+++-- ** red #attr:red#+{- | The red component of the color. This is+    a value between 0 and 65535, with 65535 indicating+    full intensity+-}+#if ENABLE_OVERLOADING+    color_red                               ,+#endif+    getColorRed                             ,+    setColorRed                             ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++-- | Memory-managed wrapper type.+newtype Color = Color (ManagedPtr Color)+foreign import ccall "gdk_color_get_type" c_gdk_color_get_type :: +    IO GType++instance BoxedObject Color where+    boxedType _ = c_gdk_color_get_type++-- | Construct a `Color` struct initialized to zero.+newZeroColor :: MonadIO m => m Color+newZeroColor = liftIO $ callocBoxedBytes 12 >>= wrapBoxed Color++instance tag ~ 'AttrSet => Constructible Color tag where+    new _ attrs = do+        o <- newZeroColor+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `Color`.+noColor :: Maybe Color+noColor = Nothing++{- |+Get the value of the “@pixel@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' color #pixel+@+-}+getColorPixel :: MonadIO m => Color -> m Word32+getColorPixel s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word32+    return val++{- |+Set the value of the “@pixel@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' color [ #pixel 'Data.GI.Base.Attributes.:=' value ]+@+-}+setColorPixel :: MonadIO m => Color -> Word32 -> m ()+setColorPixel s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Word32)++#if ENABLE_OVERLOADING+data ColorPixelFieldInfo+instance AttrInfo ColorPixelFieldInfo where+    type AttrAllowedOps ColorPixelFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint ColorPixelFieldInfo = (~) Word32+    type AttrBaseTypeConstraint ColorPixelFieldInfo = (~) Color+    type AttrGetType ColorPixelFieldInfo = Word32+    type AttrLabel ColorPixelFieldInfo = "pixel"+    type AttrOrigin ColorPixelFieldInfo = Color+    attrGet _ = getColorPixel+    attrSet _ = setColorPixel+    attrConstruct = undefined+    attrClear _ = undefined++color_pixel :: AttrLabelProxy "pixel"+color_pixel = AttrLabelProxy++#endif+++{- |+Get the value of the “@red@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' color #red+@+-}+getColorRed :: MonadIO m => Color -> m Word16+getColorRed s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 4) :: IO Word16+    return val++{- |+Set the value of the “@red@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' color [ #red 'Data.GI.Base.Attributes.:=' value ]+@+-}+setColorRed :: MonadIO m => Color -> Word16 -> m ()+setColorRed s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 4) (val :: Word16)++#if ENABLE_OVERLOADING+data ColorRedFieldInfo+instance AttrInfo ColorRedFieldInfo where+    type AttrAllowedOps ColorRedFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint ColorRedFieldInfo = (~) Word16+    type AttrBaseTypeConstraint ColorRedFieldInfo = (~) Color+    type AttrGetType ColorRedFieldInfo = Word16+    type AttrLabel ColorRedFieldInfo = "red"+    type AttrOrigin ColorRedFieldInfo = Color+    attrGet _ = getColorRed+    attrSet _ = setColorRed+    attrConstruct = undefined+    attrClear _ = undefined++color_red :: AttrLabelProxy "red"+color_red = AttrLabelProxy++#endif+++{- |+Get the value of the “@green@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' color #green+@+-}+getColorGreen :: MonadIO m => Color -> m Word16+getColorGreen s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 6) :: IO Word16+    return val++{- |+Set the value of the “@green@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' color [ #green 'Data.GI.Base.Attributes.:=' value ]+@+-}+setColorGreen :: MonadIO m => Color -> Word16 -> m ()+setColorGreen s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 6) (val :: Word16)++#if ENABLE_OVERLOADING+data ColorGreenFieldInfo+instance AttrInfo ColorGreenFieldInfo where+    type AttrAllowedOps ColorGreenFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint ColorGreenFieldInfo = (~) Word16+    type AttrBaseTypeConstraint ColorGreenFieldInfo = (~) Color+    type AttrGetType ColorGreenFieldInfo = Word16+    type AttrLabel ColorGreenFieldInfo = "green"+    type AttrOrigin ColorGreenFieldInfo = Color+    attrGet _ = getColorGreen+    attrSet _ = setColorGreen+    attrConstruct = undefined+    attrClear _ = undefined++color_green :: AttrLabelProxy "green"+color_green = AttrLabelProxy++#endif+++{- |+Get the value of the “@blue@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' color #blue+@+-}+getColorBlue :: MonadIO m => Color -> m Word16+getColorBlue s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO Word16+    return val++{- |+Set the value of the “@blue@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' color [ #blue 'Data.GI.Base.Attributes.:=' value ]+@+-}+setColorBlue :: MonadIO m => Color -> Word16 -> m ()+setColorBlue s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Word16)++#if ENABLE_OVERLOADING+data ColorBlueFieldInfo+instance AttrInfo ColorBlueFieldInfo where+    type AttrAllowedOps ColorBlueFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint ColorBlueFieldInfo = (~) Word16+    type AttrBaseTypeConstraint ColorBlueFieldInfo = (~) Color+    type AttrGetType ColorBlueFieldInfo = Word16+    type AttrLabel ColorBlueFieldInfo = "blue"+    type AttrOrigin ColorBlueFieldInfo = Color+    attrGet _ = getColorBlue+    attrSet _ = setColorBlue+    attrConstruct = undefined+    attrClear _ = undefined++color_blue :: AttrLabelProxy "blue"+color_blue = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList Color+type instance O.AttributeList Color = ColorAttributeList+type ColorAttributeList = ('[ '("pixel", ColorPixelFieldInfo), '("red", ColorRedFieldInfo), '("green", ColorGreenFieldInfo), '("blue", ColorBlueFieldInfo)] :: [(Symbol, *)])+#endif++-- method Color::copy+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkColor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Color"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_color_copy" gdk_color_copy :: +    Ptr Color ->                            -- color : TInterface (Name {namespace = "Gdk", name = "Color"})+    IO (Ptr Color)++{-# DEPRECATED colorCopy ["(Since version 3.14)","Use 'GI.Gdk.Structs.RGBA.RGBA'"] #-}+{- |+Makes a copy of a 'GI.Gdk.Structs.Color.Color'.++The result must be freed using 'GI.Gdk.Structs.Color.colorFree'.+-}+colorCopy ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Color+    {- ^ /@color@/: a 'GI.Gdk.Structs.Color.Color' -}+    -> m Color+    {- ^ __Returns:__ a copy of /@color@/ -}+colorCopy color = liftIO $ do+    color' <- unsafeManagedPtrGetPtr color+    result <- gdk_color_copy color'+    checkUnexpectedReturnNULL "colorCopy" result+    result' <- (wrapBoxed Color) result+    touchManagedPtr color+    return result'++#if ENABLE_OVERLOADING+data ColorCopyMethodInfo+instance (signature ~ (m Color), MonadIO m) => O.MethodInfo ColorCopyMethodInfo Color signature where+    overloadedMethod _ = colorCopy++#endif++-- method Color::equal+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "colora", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkColor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "colorb", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another #GdkColor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_color_equal" gdk_color_equal :: +    Ptr Color ->                            -- colora : TInterface (Name {namespace = "Gdk", name = "Color"})+    Ptr Color ->                            -- colorb : TInterface (Name {namespace = "Gdk", name = "Color"})+    IO CInt++{-# DEPRECATED colorEqual ["(Since version 3.14)","Use 'GI.Gdk.Structs.RGBA.RGBA'"] #-}+{- |+Compares two colors.+-}+colorEqual ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Color+    {- ^ /@colora@/: a 'GI.Gdk.Structs.Color.Color' -}+    -> Color+    {- ^ /@colorb@/: another 'GI.Gdk.Structs.Color.Color' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the two colors compare equal -}+colorEqual colora colorb = liftIO $ do+    colora' <- unsafeManagedPtrGetPtr colora+    colorb' <- unsafeManagedPtrGetPtr colorb+    result <- gdk_color_equal colora' colorb'+    let result' = (/= 0) result+    touchManagedPtr colora+    touchManagedPtr colorb+    return result'++#if ENABLE_OVERLOADING+data ColorEqualMethodInfo+instance (signature ~ (Color -> m Bool), MonadIO m) => O.MethodInfo ColorEqualMethodInfo Color signature where+    overloadedMethod _ = colorEqual++#endif++-- method Color::free+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkColor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_color_free" gdk_color_free :: +    Ptr Color ->                            -- color : TInterface (Name {namespace = "Gdk", name = "Color"})+    IO ()++{-# DEPRECATED colorFree ["(Since version 3.14)","Use 'GI.Gdk.Structs.RGBA.RGBA'"] #-}+{- |+Frees a 'GI.Gdk.Structs.Color.Color' created with 'GI.Gdk.Structs.Color.colorCopy'.+-}+colorFree ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Color+    {- ^ /@color@/: a 'GI.Gdk.Structs.Color.Color' -}+    -> m ()+colorFree color = liftIO $ do+    color' <- unsafeManagedPtrGetPtr color+    gdk_color_free color'+    touchManagedPtr color+    return ()++#if ENABLE_OVERLOADING+data ColorFreeMethodInfo+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo ColorFreeMethodInfo Color signature where+    overloadedMethod _ = colorFree++#endif++-- method Color::hash+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkColor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_color_hash" gdk_color_hash :: +    Ptr Color ->                            -- color : TInterface (Name {namespace = "Gdk", name = "Color"})+    IO Word32++{-# DEPRECATED colorHash ["(Since version 3.14)","Use 'GI.Gdk.Structs.RGBA.RGBA'"] #-}+{- |+A hash function suitable for using for a hash+table that stores @/GdkColors/@.+-}+colorHash ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Color+    {- ^ /@color@/: a 'GI.Gdk.Structs.Color.Color' -}+    -> m Word32+    {- ^ __Returns:__ The hash function applied to /@color@/ -}+colorHash color = liftIO $ do+    color' <- unsafeManagedPtrGetPtr color+    result <- gdk_color_hash color'+    touchManagedPtr color+    return result++#if ENABLE_OVERLOADING+data ColorHashMethodInfo+instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo ColorHashMethodInfo Color signature where+    overloadedMethod _ = colorHash++#endif++-- method Color::to_string+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkColor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_color_to_string" gdk_color_to_string :: +    Ptr Color ->                            -- color : TInterface (Name {namespace = "Gdk", name = "Color"})+    IO CString++{-# DEPRECATED colorToString ["(Since version 3.14)","Use 'GI.Gdk.Structs.RGBA.RGBA'"] #-}+{- |+Returns a textual specification of /@color@/ in the hexadecimal+form “#rrrrggggbbbb” where “r”, “g” and “b” are hex digits+representing the red, green and blue components respectively.++The returned string can be parsed by 'GI.Gdk.Functions.colorParse'.++/Since: 2.12/+-}+colorToString ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Color+    {- ^ /@color@/: a 'GI.Gdk.Structs.Color.Color' -}+    -> m T.Text+    {- ^ __Returns:__ a newly-allocated text string -}+colorToString color = liftIO $ do+    color' <- unsafeManagedPtrGetPtr color+    result <- gdk_color_to_string color'+    checkUnexpectedReturnNULL "colorToString" result+    result' <- cstringToText result+    freeMem result+    touchManagedPtr color+    return result'++#if ENABLE_OVERLOADING+data ColorToStringMethodInfo+instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo ColorToStringMethodInfo Color signature where+    overloadedMethod _ = colorToString++#endif++-- method Color::parse+-- method type : MemberFunction+-- Args : [Arg {argCName = "spec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string specifying the color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkColor to fill in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_color_parse" gdk_color_parse :: +    CString ->                              -- spec : TBasicType TUTF8+    Ptr Color ->                            -- color : TInterface (Name {namespace = "Gdk", name = "Color"})+    IO CInt++{-# DEPRECATED colorParse ["(Since version 3.14)","Use 'GI.Gdk.Structs.RGBA.RGBA'"] #-}+{- |+Parses a textual specification of a color and fill in the+/@red@/, /@green@/, and /@blue@/ fields of a 'GI.Gdk.Structs.Color.Color'.++The string can either one of a large set of standard names+(taken from the X11 @rgb.txt@ file), or it can be a hexadecimal+value in the form “#rgb” “#rrggbb”, “#rrrgggbbb” or+“#rrrrggggbbbb” where “r”, “g” and “b” are hex digits of+the red, green, and blue components of the color, respectively.+(White in the four forms is “#fff”, “#ffffff”, “#fffffffff”+and “#ffffffffffff”).+-}+colorParse ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@spec@/: the string specifying the color -}+    -> m ((Bool, Color))+    {- ^ __Returns:__ 'True' if the parsing succeeded -}+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')++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type family ResolveColorMethod (t :: Symbol) (o :: *) :: * where+    ResolveColorMethod "copy" o = ColorCopyMethodInfo+    ResolveColorMethod "equal" o = ColorEqualMethodInfo+    ResolveColorMethod "free" o = ColorFreeMethodInfo+    ResolveColorMethod "hash" o = ColorHashMethodInfo+    ResolveColorMethod "toString" o = ColorToStringMethodInfo+    ResolveColorMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveColorMethod t Color, O.MethodInfo info Color p) => OL.IsLabel t (Color -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/Color.hs-boot view
@@ -0,0 +1,41 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.Color where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype Color = Color (ManagedPtr Color)+instance BoxedObject Color where+#if ENABLE_OVERLOADING+data ColorCopyMethodInfo+#endif+#if ENABLE_OVERLOADING+data ColorEqualMethodInfo+#endif+#if ENABLE_OVERLOADING+data ColorFreeMethodInfo+#endif+#if ENABLE_OVERLOADING+data ColorHashMethodInfo+#endif+#if ENABLE_OVERLOADING+data ColorToStringMethodInfo+#endif
+ GI/Gdk/Structs/EventAny.hs view
@@ -0,0 +1,278 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Contains the fields which are common to all event structs.+Any event pointer can safely be cast to a pointer to a 'GI.Gdk.Structs.EventAny.EventAny' to+access these fields.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.EventAny+    ( ++-- * Exported types+    EventAny(..)                            ,+    newZeroEventAny                         ,+    noEventAny                              ,+++ -- * Properties+-- ** sendEvent #attr:sendEvent#+{- | 'True' if the event was sent explicitly.+-}+#if ENABLE_OVERLOADING+    eventAny_sendEvent                      ,+#endif+    getEventAnySendEvent                    ,+    setEventAnySendEvent                    ,+++-- ** type #attr:type#+{- | the type of the event.+-}+#if ENABLE_OVERLOADING+    eventAny_type                           ,+#endif+    getEventAnyType                         ,+    setEventAnyType                         ,+++-- ** window #attr:window#+{- | the window which received the event.+-}+    clearEventAnyWindow                     ,+#if ENABLE_OVERLOADING+    eventAny_window                         ,+#endif+    getEventAnyWindow                       ,+    setEventAnyWindow                       ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window++-- | Memory-managed wrapper type.+newtype EventAny = EventAny (ManagedPtr EventAny)+instance WrappedPtr EventAny where+    wrappedPtrCalloc = callocBytes 24+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 24 >=> wrapPtr EventAny)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `EventAny` struct initialized to zero.+newZeroEventAny :: MonadIO m => m EventAny+newZeroEventAny = liftIO $ wrappedPtrCalloc >>= wrapPtr EventAny++instance tag ~ 'AttrSet => Constructible EventAny tag where+    new _ attrs = do+        o <- newZeroEventAny+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `EventAny`.+noEventAny :: Maybe EventAny+noEventAny = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventAny #type+@+-}+getEventAnyType :: MonadIO m => EventAny -> m Gdk.Enums.EventType+getEventAnyType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventAny [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventAnyType :: MonadIO m => EventAny -> Gdk.Enums.EventType -> m ()+setEventAnyType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventAnyTypeFieldInfo+instance AttrInfo EventAnyTypeFieldInfo where+    type AttrAllowedOps EventAnyTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventAnyTypeFieldInfo = (~) Gdk.Enums.EventType+    type AttrBaseTypeConstraint EventAnyTypeFieldInfo = (~) EventAny+    type AttrGetType EventAnyTypeFieldInfo = Gdk.Enums.EventType+    type AttrLabel EventAnyTypeFieldInfo = "type"+    type AttrOrigin EventAnyTypeFieldInfo = EventAny+    attrGet _ = getEventAnyType+    attrSet _ = setEventAnyType+    attrConstruct = undefined+    attrClear _ = undefined++eventAny_type :: AttrLabelProxy "type"+eventAny_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventAny #window+@+-}+getEventAnyWindow :: MonadIO m => EventAny -> m (Maybe Gdk.Window.Window)+getEventAnyWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventAny [ #window 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventAnyWindow :: MonadIO m => EventAny -> Ptr Gdk.Window.Window -> m ()+setEventAnyWindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@window@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #window+@+-}+clearEventAnyWindow :: MonadIO m => EventAny -> m ()+clearEventAnyWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventAnyWindowFieldInfo+instance AttrInfo EventAnyWindowFieldInfo where+    type AttrAllowedOps EventAnyWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventAnyWindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventAnyWindowFieldInfo = (~) EventAny+    type AttrGetType EventAnyWindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventAnyWindowFieldInfo = "window"+    type AttrOrigin EventAnyWindowFieldInfo = EventAny+    attrGet _ = getEventAnyWindow+    attrSet _ = setEventAnyWindow+    attrConstruct = undefined+    attrClear _ = clearEventAnyWindow++eventAny_window :: AttrLabelProxy "window"+eventAny_window = AttrLabelProxy++#endif+++{- |+Get the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventAny #sendEvent+@+-}+getEventAnySendEvent :: MonadIO m => EventAny -> m Int8+getEventAnySendEvent s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++{- |+Set the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventAny [ #sendEvent 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventAnySendEvent :: MonadIO m => EventAny -> Int8 -> m ()+setEventAnySendEvent s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int8)++#if ENABLE_OVERLOADING+data EventAnySendEventFieldInfo+instance AttrInfo EventAnySendEventFieldInfo where+    type AttrAllowedOps EventAnySendEventFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventAnySendEventFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventAnySendEventFieldInfo = (~) EventAny+    type AttrGetType EventAnySendEventFieldInfo = Int8+    type AttrLabel EventAnySendEventFieldInfo = "send_event"+    type AttrOrigin EventAnySendEventFieldInfo = EventAny+    attrGet _ = getEventAnySendEvent+    attrSet _ = setEventAnySendEvent+    attrConstruct = undefined+    attrClear _ = undefined++eventAny_sendEvent :: AttrLabelProxy "sendEvent"+eventAny_sendEvent = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList EventAny+type instance O.AttributeList EventAny = EventAnyAttributeList+type EventAnyAttributeList = ('[ '("type", EventAnyTypeFieldInfo), '("window", EventAnyWindowFieldInfo), '("sendEvent", EventAnySendEventFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveEventAnyMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventAnyMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventAnyMethod t EventAny, O.MethodInfo info EventAny p) => OL.IsLabel t (EventAny -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/EventAny.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.EventAny where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype EventAny = EventAny (ManagedPtr EventAny)+instance WrappedPtr EventAny where
+ GI/Gdk/Structs/EventButton.hs view
@@ -0,0 +1,845 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Used for button press and button release events. The+/@type@/ field will be one of 'GI.Gdk.Enums.EventTypeButtonPress',+'GI.Gdk.Enums.EventType2buttonPress', 'GI.Gdk.Enums.EventType3buttonPress' or 'GI.Gdk.Enums.EventTypeButtonRelease',++Double and triple-clicks result in a sequence of events being received.+For double-clicks the order of events will be:++* 'GI.Gdk.Enums.EventTypeButtonPress'+* 'GI.Gdk.Enums.EventTypeButtonRelease'+* 'GI.Gdk.Enums.EventTypeButtonPress'+* 'GI.Gdk.Enums.EventType2buttonPress'+* 'GI.Gdk.Enums.EventTypeButtonRelease'+++Note that the first click is received just like a normal+button press, while the second click results in a 'GI.Gdk.Enums.EventType2buttonPress'+being received just after the 'GI.Gdk.Enums.EventTypeButtonPress'.++Triple-clicks are very similar to double-clicks, except that+'GI.Gdk.Enums.EventType3buttonPress' is inserted after the third click. The order of the+events is:++* 'GI.Gdk.Enums.EventTypeButtonPress'+* 'GI.Gdk.Enums.EventTypeButtonRelease'+* 'GI.Gdk.Enums.EventTypeButtonPress'+* 'GI.Gdk.Enums.EventType2buttonPress'+* 'GI.Gdk.Enums.EventTypeButtonRelease'+* 'GI.Gdk.Enums.EventTypeButtonPress'+* 'GI.Gdk.Enums.EventType3buttonPress'+* 'GI.Gdk.Enums.EventTypeButtonRelease'+++For a double click to occur, the second button press must occur within+1\/4 of a second of the first. For a triple click to occur, the third+button press must also occur within 1\/2 second of the first button press.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.EventButton+    ( ++-- * Exported types+    EventButton(..)                         ,+    newZeroEventButton                      ,+    noEventButton                           ,+++ -- * Properties+-- ** axes #attr:axes#+{- | /@x@/, /@y@/ translated to the axes of /@device@/, or 'Nothing' if /@device@/ is+  the mouse.+-}+#if ENABLE_OVERLOADING+    eventButton_axes                        ,+#endif+    getEventButtonAxes                      ,+    setEventButtonAxes                      ,+++-- ** button #attr:button#+{- | the button which was pressed or released, numbered from 1 to 5.+  Normally button 1 is the left mouse button, 2 is the middle button,+  and 3 is the right button. On 2-button mice, the middle button can+  often be simulated by pressing both mouse buttons together.+-}+#if ENABLE_OVERLOADING+    eventButton_button                      ,+#endif+    getEventButtonButton                    ,+    setEventButtonButton                    ,+++-- ** device #attr:device#+{- | the master device that the event originated from. Use+'GI.Gdk.Unions.Event.eventGetSourceDevice' to get the slave device.+-}+    clearEventButtonDevice                  ,+#if ENABLE_OVERLOADING+    eventButton_device                      ,+#endif+    getEventButtonDevice                    ,+    setEventButtonDevice                    ,+++-- ** sendEvent #attr:sendEvent#+{- | 'True' if the event was sent explicitly.+-}+#if ENABLE_OVERLOADING+    eventButton_sendEvent                   ,+#endif+    getEventButtonSendEvent                 ,+    setEventButtonSendEvent                 ,+++-- ** state #attr:state#+{- | a bit-mask representing the state of+  the modifier keys (e.g. Control, Shift and Alt) and the pointer+  buttons. See 'GI.Gdk.Flags.ModifierType'.+-}+#if ENABLE_OVERLOADING+    eventButton_state                       ,+#endif+    getEventButtonState                     ,+    setEventButtonState                     ,+++-- ** time #attr:time#+{- | the time of the event in milliseconds.+-}+#if ENABLE_OVERLOADING+    eventButton_time                        ,+#endif+    getEventButtonTime                      ,+    setEventButtonTime                      ,+++-- ** type #attr:type#+{- | the type of the event ('GI.Gdk.Enums.EventTypeButtonPress', 'GI.Gdk.Enums.EventType2buttonPress',+  'GI.Gdk.Enums.EventType3buttonPress' or 'GI.Gdk.Enums.EventTypeButtonRelease').+-}+#if ENABLE_OVERLOADING+    eventButton_type                        ,+#endif+    getEventButtonType                      ,+    setEventButtonType                      ,+++-- ** window #attr:window#+{- | the window which received the event.+-}+    clearEventButtonWindow                  ,+#if ENABLE_OVERLOADING+    eventButton_window                      ,+#endif+    getEventButtonWindow                    ,+    setEventButtonWindow                    ,+++-- ** x #attr:x#+{- | the x coordinate of the pointer relative to the window.+-}+#if ENABLE_OVERLOADING+    eventButton_x                           ,+#endif+    getEventButtonX                         ,+    setEventButtonX                         ,+++-- ** xRoot #attr:xRoot#+{- | the x coordinate of the pointer relative to the root of the+  screen.+-}+#if ENABLE_OVERLOADING+    eventButton_xRoot                       ,+#endif+    getEventButtonXRoot                     ,+    setEventButtonXRoot                     ,+++-- ** y #attr:y#+{- | the y coordinate of the pointer relative to the window.+-}+#if ENABLE_OVERLOADING+    eventButton_y                           ,+#endif+    getEventButtonY                         ,+    setEventButtonY                         ,+++-- ** yRoot #attr:yRoot#+{- | the y coordinate of the pointer relative to the root of the+  screen.+-}+#if ENABLE_OVERLOADING+    eventButton_yRoot                       ,+#endif+    getEventButtonYRoot                     ,+    setEventButtonYRoot                     ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Flags as Gdk.Flags+import {-# SOURCE #-} qualified GI.Gdk.Objects.Device as Gdk.Device+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window++-- | Memory-managed wrapper type.+newtype EventButton = EventButton (ManagedPtr EventButton)+instance WrappedPtr EventButton where+    wrappedPtrCalloc = callocBytes 80+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 80 >=> wrapPtr EventButton)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `EventButton` struct initialized to zero.+newZeroEventButton :: MonadIO m => m EventButton+newZeroEventButton = liftIO $ wrappedPtrCalloc >>= wrapPtr EventButton++instance tag ~ 'AttrSet => Constructible EventButton tag where+    new _ attrs = do+        o <- newZeroEventButton+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `EventButton`.+noEventButton :: Maybe EventButton+noEventButton = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventButton #type+@+-}+getEventButtonType :: MonadIO m => EventButton -> m Gdk.Enums.EventType+getEventButtonType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventButton [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventButtonType :: MonadIO m => EventButton -> Gdk.Enums.EventType -> m ()+setEventButtonType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventButtonTypeFieldInfo+instance AttrInfo EventButtonTypeFieldInfo where+    type AttrAllowedOps EventButtonTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventButtonTypeFieldInfo = (~) Gdk.Enums.EventType+    type AttrBaseTypeConstraint EventButtonTypeFieldInfo = (~) EventButton+    type AttrGetType EventButtonTypeFieldInfo = Gdk.Enums.EventType+    type AttrLabel EventButtonTypeFieldInfo = "type"+    type AttrOrigin EventButtonTypeFieldInfo = EventButton+    attrGet _ = getEventButtonType+    attrSet _ = setEventButtonType+    attrConstruct = undefined+    attrClear _ = undefined++eventButton_type :: AttrLabelProxy "type"+eventButton_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventButton #window+@+-}+getEventButtonWindow :: MonadIO m => EventButton -> m (Maybe Gdk.Window.Window)+getEventButtonWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventButton [ #window 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventButtonWindow :: MonadIO m => EventButton -> Ptr Gdk.Window.Window -> m ()+setEventButtonWindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@window@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #window+@+-}+clearEventButtonWindow :: MonadIO m => EventButton -> m ()+clearEventButtonWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventButtonWindowFieldInfo+instance AttrInfo EventButtonWindowFieldInfo where+    type AttrAllowedOps EventButtonWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventButtonWindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventButtonWindowFieldInfo = (~) EventButton+    type AttrGetType EventButtonWindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventButtonWindowFieldInfo = "window"+    type AttrOrigin EventButtonWindowFieldInfo = EventButton+    attrGet _ = getEventButtonWindow+    attrSet _ = setEventButtonWindow+    attrConstruct = undefined+    attrClear _ = clearEventButtonWindow++eventButton_window :: AttrLabelProxy "window"+eventButton_window = AttrLabelProxy++#endif+++{- |+Get the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventButton #sendEvent+@+-}+getEventButtonSendEvent :: MonadIO m => EventButton -> m Int8+getEventButtonSendEvent s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++{- |+Set the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventButton [ #sendEvent 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventButtonSendEvent :: MonadIO m => EventButton -> Int8 -> m ()+setEventButtonSendEvent s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int8)++#if ENABLE_OVERLOADING+data EventButtonSendEventFieldInfo+instance AttrInfo EventButtonSendEventFieldInfo where+    type AttrAllowedOps EventButtonSendEventFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventButtonSendEventFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventButtonSendEventFieldInfo = (~) EventButton+    type AttrGetType EventButtonSendEventFieldInfo = Int8+    type AttrLabel EventButtonSendEventFieldInfo = "send_event"+    type AttrOrigin EventButtonSendEventFieldInfo = EventButton+    attrGet _ = getEventButtonSendEvent+    attrSet _ = setEventButtonSendEvent+    attrConstruct = undefined+    attrClear _ = undefined++eventButton_sendEvent :: AttrLabelProxy "sendEvent"+eventButton_sendEvent = AttrLabelProxy++#endif+++{- |+Get the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventButton #time+@+-}+getEventButtonTime :: MonadIO m => EventButton -> m Word32+getEventButtonTime s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Word32+    return val++{- |+Set the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventButton [ #time 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventButtonTime :: MonadIO m => EventButton -> Word32 -> m ()+setEventButtonTime s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 20) (val :: Word32)++#if ENABLE_OVERLOADING+data EventButtonTimeFieldInfo+instance AttrInfo EventButtonTimeFieldInfo where+    type AttrAllowedOps EventButtonTimeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventButtonTimeFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventButtonTimeFieldInfo = (~) EventButton+    type AttrGetType EventButtonTimeFieldInfo = Word32+    type AttrLabel EventButtonTimeFieldInfo = "time"+    type AttrOrigin EventButtonTimeFieldInfo = EventButton+    attrGet _ = getEventButtonTime+    attrSet _ = setEventButtonTime+    attrConstruct = undefined+    attrClear _ = undefined++eventButton_time :: AttrLabelProxy "time"+eventButton_time = AttrLabelProxy++#endif+++{- |+Get the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventButton #x+@+-}+getEventButtonX :: MonadIO m => EventButton -> m Double+getEventButtonX s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventButton [ #x 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventButtonX :: MonadIO m => EventButton -> Double -> m ()+setEventButtonX s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 24) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventButtonXFieldInfo+instance AttrInfo EventButtonXFieldInfo where+    type AttrAllowedOps EventButtonXFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventButtonXFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventButtonXFieldInfo = (~) EventButton+    type AttrGetType EventButtonXFieldInfo = Double+    type AttrLabel EventButtonXFieldInfo = "x"+    type AttrOrigin EventButtonXFieldInfo = EventButton+    attrGet _ = getEventButtonX+    attrSet _ = setEventButtonX+    attrConstruct = undefined+    attrClear _ = undefined++eventButton_x :: AttrLabelProxy "x"+eventButton_x = AttrLabelProxy++#endif+++{- |+Get the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventButton #y+@+-}+getEventButtonY :: MonadIO m => EventButton -> m Double+getEventButtonY s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventButton [ #y 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventButtonY :: MonadIO m => EventButton -> Double -> m ()+setEventButtonY s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 32) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventButtonYFieldInfo+instance AttrInfo EventButtonYFieldInfo where+    type AttrAllowedOps EventButtonYFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventButtonYFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventButtonYFieldInfo = (~) EventButton+    type AttrGetType EventButtonYFieldInfo = Double+    type AttrLabel EventButtonYFieldInfo = "y"+    type AttrOrigin EventButtonYFieldInfo = EventButton+    attrGet _ = getEventButtonY+    attrSet _ = setEventButtonY+    attrConstruct = undefined+    attrClear _ = undefined++eventButton_y :: AttrLabelProxy "y"+eventButton_y = AttrLabelProxy++#endif+++{- |+Get the value of the “@axes@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventButton #axes+@+-}+getEventButtonAxes :: MonadIO m => EventButton -> m Double+getEventButtonAxes s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@axes@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventButton [ #axes 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventButtonAxes :: MonadIO m => EventButton -> Double -> m ()+setEventButtonAxes s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 40) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventButtonAxesFieldInfo+instance AttrInfo EventButtonAxesFieldInfo where+    type AttrAllowedOps EventButtonAxesFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventButtonAxesFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventButtonAxesFieldInfo = (~) EventButton+    type AttrGetType EventButtonAxesFieldInfo = Double+    type AttrLabel EventButtonAxesFieldInfo = "axes"+    type AttrOrigin EventButtonAxesFieldInfo = EventButton+    attrGet _ = getEventButtonAxes+    attrSet _ = setEventButtonAxes+    attrConstruct = undefined+    attrClear _ = undefined++eventButton_axes :: AttrLabelProxy "axes"+eventButton_axes = AttrLabelProxy++#endif+++{- |+Get the value of the “@state@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventButton #state+@+-}+getEventButtonState :: MonadIO m => EventButton -> m [Gdk.Flags.ModifierType]+getEventButtonState s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO CUInt+    let val' = wordToGFlags val+    return val'++{- |+Set the value of the “@state@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventButton [ #state 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventButtonState :: MonadIO m => EventButton -> [Gdk.Flags.ModifierType] -> m ()+setEventButtonState s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = gflagsToWord val+    poke (ptr `plusPtr` 48) (val' :: CUInt)++#if ENABLE_OVERLOADING+data EventButtonStateFieldInfo+instance AttrInfo EventButtonStateFieldInfo where+    type AttrAllowedOps EventButtonStateFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventButtonStateFieldInfo = (~) [Gdk.Flags.ModifierType]+    type AttrBaseTypeConstraint EventButtonStateFieldInfo = (~) EventButton+    type AttrGetType EventButtonStateFieldInfo = [Gdk.Flags.ModifierType]+    type AttrLabel EventButtonStateFieldInfo = "state"+    type AttrOrigin EventButtonStateFieldInfo = EventButton+    attrGet _ = getEventButtonState+    attrSet _ = setEventButtonState+    attrConstruct = undefined+    attrClear _ = undefined++eventButton_state :: AttrLabelProxy "state"+eventButton_state = AttrLabelProxy++#endif+++{- |+Get the value of the “@button@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventButton #button+@+-}+getEventButtonButton :: MonadIO m => EventButton -> m Word32+getEventButtonButton s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 52) :: IO Word32+    return val++{- |+Set the value of the “@button@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventButton [ #button 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventButtonButton :: MonadIO m => EventButton -> Word32 -> m ()+setEventButtonButton s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 52) (val :: Word32)++#if ENABLE_OVERLOADING+data EventButtonButtonFieldInfo+instance AttrInfo EventButtonButtonFieldInfo where+    type AttrAllowedOps EventButtonButtonFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventButtonButtonFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventButtonButtonFieldInfo = (~) EventButton+    type AttrGetType EventButtonButtonFieldInfo = Word32+    type AttrLabel EventButtonButtonFieldInfo = "button"+    type AttrOrigin EventButtonButtonFieldInfo = EventButton+    attrGet _ = getEventButtonButton+    attrSet _ = setEventButtonButton+    attrConstruct = undefined+    attrClear _ = undefined++eventButton_button :: AttrLabelProxy "button"+eventButton_button = AttrLabelProxy++#endif+++{- |+Get the value of the “@device@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventButton #device+@+-}+getEventButtonDevice :: MonadIO m => EventButton -> m (Maybe Gdk.Device.Device)+getEventButtonDevice s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 56) :: IO (Ptr Gdk.Device.Device)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Device.Device) val'+        return val''+    return result++{- |+Set the value of the “@device@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventButton [ #device 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventButtonDevice :: MonadIO m => EventButton -> Ptr Gdk.Device.Device -> m ()+setEventButtonDevice s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 56) (val :: Ptr Gdk.Device.Device)++{- |+Set the value of the “@device@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #device+@+-}+clearEventButtonDevice :: MonadIO m => EventButton -> m ()+clearEventButtonDevice s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 56) (FP.nullPtr :: Ptr Gdk.Device.Device)++#if ENABLE_OVERLOADING+data EventButtonDeviceFieldInfo+instance AttrInfo EventButtonDeviceFieldInfo where+    type AttrAllowedOps EventButtonDeviceFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventButtonDeviceFieldInfo = (~) (Ptr Gdk.Device.Device)+    type AttrBaseTypeConstraint EventButtonDeviceFieldInfo = (~) EventButton+    type AttrGetType EventButtonDeviceFieldInfo = Maybe Gdk.Device.Device+    type AttrLabel EventButtonDeviceFieldInfo = "device"+    type AttrOrigin EventButtonDeviceFieldInfo = EventButton+    attrGet _ = getEventButtonDevice+    attrSet _ = setEventButtonDevice+    attrConstruct = undefined+    attrClear _ = clearEventButtonDevice++eventButton_device :: AttrLabelProxy "device"+eventButton_device = AttrLabelProxy++#endif+++{- |+Get the value of the “@x_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventButton #xRoot+@+-}+getEventButtonXRoot :: MonadIO m => EventButton -> m Double+getEventButtonXRoot s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 64) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@x_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventButton [ #xRoot 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventButtonXRoot :: MonadIO m => EventButton -> Double -> m ()+setEventButtonXRoot s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 64) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventButtonXRootFieldInfo+instance AttrInfo EventButtonXRootFieldInfo where+    type AttrAllowedOps EventButtonXRootFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventButtonXRootFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventButtonXRootFieldInfo = (~) EventButton+    type AttrGetType EventButtonXRootFieldInfo = Double+    type AttrLabel EventButtonXRootFieldInfo = "x_root"+    type AttrOrigin EventButtonXRootFieldInfo = EventButton+    attrGet _ = getEventButtonXRoot+    attrSet _ = setEventButtonXRoot+    attrConstruct = undefined+    attrClear _ = undefined++eventButton_xRoot :: AttrLabelProxy "xRoot"+eventButton_xRoot = AttrLabelProxy++#endif+++{- |+Get the value of the “@y_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventButton #yRoot+@+-}+getEventButtonYRoot :: MonadIO m => EventButton -> m Double+getEventButtonYRoot s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 72) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@y_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventButton [ #yRoot 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventButtonYRoot :: MonadIO m => EventButton -> Double -> m ()+setEventButtonYRoot s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 72) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventButtonYRootFieldInfo+instance AttrInfo EventButtonYRootFieldInfo where+    type AttrAllowedOps EventButtonYRootFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventButtonYRootFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventButtonYRootFieldInfo = (~) EventButton+    type AttrGetType EventButtonYRootFieldInfo = Double+    type AttrLabel EventButtonYRootFieldInfo = "y_root"+    type AttrOrigin EventButtonYRootFieldInfo = EventButton+    attrGet _ = getEventButtonYRoot+    attrSet _ = setEventButtonYRoot+    attrConstruct = undefined+    attrClear _ = undefined++eventButton_yRoot :: AttrLabelProxy "yRoot"+eventButton_yRoot = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList EventButton+type instance O.AttributeList EventButton = EventButtonAttributeList+type EventButtonAttributeList = ('[ '("type", EventButtonTypeFieldInfo), '("window", EventButtonWindowFieldInfo), '("sendEvent", EventButtonSendEventFieldInfo), '("time", EventButtonTimeFieldInfo), '("x", EventButtonXFieldInfo), '("y", EventButtonYFieldInfo), '("axes", EventButtonAxesFieldInfo), '("state", EventButtonStateFieldInfo), '("button", EventButtonButtonFieldInfo), '("device", EventButtonDeviceFieldInfo), '("xRoot", EventButtonXRootFieldInfo), '("yRoot", EventButtonYRootFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveEventButtonMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventButtonMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventButtonMethod t EventButton, O.MethodInfo info EventButton p) => OL.IsLabel t (EventButton -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/EventButton.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.EventButton where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype EventButton = EventButton (ManagedPtr EventButton)+instance WrappedPtr EventButton where
+ GI/Gdk/Structs/EventConfigure.hs view
@@ -0,0 +1,496 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Generated when a window size or position has changed.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.EventConfigure+    ( ++-- * Exported types+    EventConfigure(..)                      ,+    newZeroEventConfigure                   ,+    noEventConfigure                        ,+++ -- * Properties+-- ** height #attr:height#+{- | the new height of the window.+-}+#if ENABLE_OVERLOADING+    eventConfigure_height                   ,+#endif+    getEventConfigureHeight                 ,+    setEventConfigureHeight                 ,+++-- ** sendEvent #attr:sendEvent#+{- | 'True' if the event was sent explicitly.+-}+#if ENABLE_OVERLOADING+    eventConfigure_sendEvent                ,+#endif+    getEventConfigureSendEvent              ,+    setEventConfigureSendEvent              ,+++-- ** type #attr:type#+{- | the type of the event ('GI.Gdk.Enums.EventTypeConfigure').+-}+#if ENABLE_OVERLOADING+    eventConfigure_type                     ,+#endif+    getEventConfigureType                   ,+    setEventConfigureType                   ,+++-- ** width #attr:width#+{- | the new width of the window.+-}+#if ENABLE_OVERLOADING+    eventConfigure_width                    ,+#endif+    getEventConfigureWidth                  ,+    setEventConfigureWidth                  ,+++-- ** window #attr:window#+{- | the window which received the event.+-}+    clearEventConfigureWindow               ,+#if ENABLE_OVERLOADING+    eventConfigure_window                   ,+#endif+    getEventConfigureWindow                 ,+    setEventConfigureWindow                 ,+++-- ** x #attr:x#+{- | the new x coordinate of the window, relative to its parent.+-}+#if ENABLE_OVERLOADING+    eventConfigure_x                        ,+#endif+    getEventConfigureX                      ,+    setEventConfigureX                      ,+++-- ** y #attr:y#+{- | the new y coordinate of the window, relative to its parent.+-}+#if ENABLE_OVERLOADING+    eventConfigure_y                        ,+#endif+    getEventConfigureY                      ,+    setEventConfigureY                      ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window++-- | Memory-managed wrapper type.+newtype EventConfigure = EventConfigure (ManagedPtr EventConfigure)+instance WrappedPtr EventConfigure where+    wrappedPtrCalloc = callocBytes 40+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 40 >=> wrapPtr EventConfigure)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `EventConfigure` struct initialized to zero.+newZeroEventConfigure :: MonadIO m => m EventConfigure+newZeroEventConfigure = liftIO $ wrappedPtrCalloc >>= wrapPtr EventConfigure++instance tag ~ 'AttrSet => Constructible EventConfigure tag where+    new _ attrs = do+        o <- newZeroEventConfigure+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `EventConfigure`.+noEventConfigure :: Maybe EventConfigure+noEventConfigure = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventConfigure #type+@+-}+getEventConfigureType :: MonadIO m => EventConfigure -> m Gdk.Enums.EventType+getEventConfigureType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventConfigure [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventConfigureType :: MonadIO m => EventConfigure -> Gdk.Enums.EventType -> m ()+setEventConfigureType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventConfigureTypeFieldInfo+instance AttrInfo EventConfigureTypeFieldInfo where+    type AttrAllowedOps EventConfigureTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventConfigureTypeFieldInfo = (~) Gdk.Enums.EventType+    type AttrBaseTypeConstraint EventConfigureTypeFieldInfo = (~) EventConfigure+    type AttrGetType EventConfigureTypeFieldInfo = Gdk.Enums.EventType+    type AttrLabel EventConfigureTypeFieldInfo = "type"+    type AttrOrigin EventConfigureTypeFieldInfo = EventConfigure+    attrGet _ = getEventConfigureType+    attrSet _ = setEventConfigureType+    attrConstruct = undefined+    attrClear _ = undefined++eventConfigure_type :: AttrLabelProxy "type"+eventConfigure_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventConfigure #window+@+-}+getEventConfigureWindow :: MonadIO m => EventConfigure -> m (Maybe Gdk.Window.Window)+getEventConfigureWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventConfigure [ #window 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventConfigureWindow :: MonadIO m => EventConfigure -> Ptr Gdk.Window.Window -> m ()+setEventConfigureWindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@window@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #window+@+-}+clearEventConfigureWindow :: MonadIO m => EventConfigure -> m ()+clearEventConfigureWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventConfigureWindowFieldInfo+instance AttrInfo EventConfigureWindowFieldInfo where+    type AttrAllowedOps EventConfigureWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventConfigureWindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventConfigureWindowFieldInfo = (~) EventConfigure+    type AttrGetType EventConfigureWindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventConfigureWindowFieldInfo = "window"+    type AttrOrigin EventConfigureWindowFieldInfo = EventConfigure+    attrGet _ = getEventConfigureWindow+    attrSet _ = setEventConfigureWindow+    attrConstruct = undefined+    attrClear _ = clearEventConfigureWindow++eventConfigure_window :: AttrLabelProxy "window"+eventConfigure_window = AttrLabelProxy++#endif+++{- |+Get the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventConfigure #sendEvent+@+-}+getEventConfigureSendEvent :: MonadIO m => EventConfigure -> m Int8+getEventConfigureSendEvent s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++{- |+Set the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventConfigure [ #sendEvent 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventConfigureSendEvent :: MonadIO m => EventConfigure -> Int8 -> m ()+setEventConfigureSendEvent s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int8)++#if ENABLE_OVERLOADING+data EventConfigureSendEventFieldInfo+instance AttrInfo EventConfigureSendEventFieldInfo where+    type AttrAllowedOps EventConfigureSendEventFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventConfigureSendEventFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventConfigureSendEventFieldInfo = (~) EventConfigure+    type AttrGetType EventConfigureSendEventFieldInfo = Int8+    type AttrLabel EventConfigureSendEventFieldInfo = "send_event"+    type AttrOrigin EventConfigureSendEventFieldInfo = EventConfigure+    attrGet _ = getEventConfigureSendEvent+    attrSet _ = setEventConfigureSendEvent+    attrConstruct = undefined+    attrClear _ = undefined++eventConfigure_sendEvent :: AttrLabelProxy "sendEvent"+eventConfigure_sendEvent = AttrLabelProxy++#endif+++{- |+Get the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventConfigure #x+@+-}+getEventConfigureX :: MonadIO m => EventConfigure -> m Int32+getEventConfigureX s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Int32+    return val++{- |+Set the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventConfigure [ #x 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventConfigureX :: MonadIO m => EventConfigure -> Int32 -> m ()+setEventConfigureX s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 20) (val :: Int32)++#if ENABLE_OVERLOADING+data EventConfigureXFieldInfo+instance AttrInfo EventConfigureXFieldInfo where+    type AttrAllowedOps EventConfigureXFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventConfigureXFieldInfo = (~) Int32+    type AttrBaseTypeConstraint EventConfigureXFieldInfo = (~) EventConfigure+    type AttrGetType EventConfigureXFieldInfo = Int32+    type AttrLabel EventConfigureXFieldInfo = "x"+    type AttrOrigin EventConfigureXFieldInfo = EventConfigure+    attrGet _ = getEventConfigureX+    attrSet _ = setEventConfigureX+    attrConstruct = undefined+    attrClear _ = undefined++eventConfigure_x :: AttrLabelProxy "x"+eventConfigure_x = AttrLabelProxy++#endif+++{- |+Get the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventConfigure #y+@+-}+getEventConfigureY :: MonadIO m => EventConfigure -> m Int32+getEventConfigureY s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO Int32+    return val++{- |+Set the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventConfigure [ #y 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventConfigureY :: MonadIO m => EventConfigure -> Int32 -> m ()+setEventConfigureY s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 24) (val :: Int32)++#if ENABLE_OVERLOADING+data EventConfigureYFieldInfo+instance AttrInfo EventConfigureYFieldInfo where+    type AttrAllowedOps EventConfigureYFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventConfigureYFieldInfo = (~) Int32+    type AttrBaseTypeConstraint EventConfigureYFieldInfo = (~) EventConfigure+    type AttrGetType EventConfigureYFieldInfo = Int32+    type AttrLabel EventConfigureYFieldInfo = "y"+    type AttrOrigin EventConfigureYFieldInfo = EventConfigure+    attrGet _ = getEventConfigureY+    attrSet _ = setEventConfigureY+    attrConstruct = undefined+    attrClear _ = undefined++eventConfigure_y :: AttrLabelProxy "y"+eventConfigure_y = AttrLabelProxy++#endif+++{- |+Get the value of the “@width@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventConfigure #width+@+-}+getEventConfigureWidth :: MonadIO m => EventConfigure -> m Int32+getEventConfigureWidth s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 28) :: IO Int32+    return val++{- |+Set the value of the “@width@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventConfigure [ #width 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventConfigureWidth :: MonadIO m => EventConfigure -> Int32 -> m ()+setEventConfigureWidth s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 28) (val :: Int32)++#if ENABLE_OVERLOADING+data EventConfigureWidthFieldInfo+instance AttrInfo EventConfigureWidthFieldInfo where+    type AttrAllowedOps EventConfigureWidthFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventConfigureWidthFieldInfo = (~) Int32+    type AttrBaseTypeConstraint EventConfigureWidthFieldInfo = (~) EventConfigure+    type AttrGetType EventConfigureWidthFieldInfo = Int32+    type AttrLabel EventConfigureWidthFieldInfo = "width"+    type AttrOrigin EventConfigureWidthFieldInfo = EventConfigure+    attrGet _ = getEventConfigureWidth+    attrSet _ = setEventConfigureWidth+    attrConstruct = undefined+    attrClear _ = undefined++eventConfigure_width :: AttrLabelProxy "width"+eventConfigure_width = AttrLabelProxy++#endif+++{- |+Get the value of the “@height@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventConfigure #height+@+-}+getEventConfigureHeight :: MonadIO m => EventConfigure -> m Int32+getEventConfigureHeight s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO Int32+    return val++{- |+Set the value of the “@height@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventConfigure [ #height 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventConfigureHeight :: MonadIO m => EventConfigure -> Int32 -> m ()+setEventConfigureHeight s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 32) (val :: Int32)++#if ENABLE_OVERLOADING+data EventConfigureHeightFieldInfo+instance AttrInfo EventConfigureHeightFieldInfo where+    type AttrAllowedOps EventConfigureHeightFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventConfigureHeightFieldInfo = (~) Int32+    type AttrBaseTypeConstraint EventConfigureHeightFieldInfo = (~) EventConfigure+    type AttrGetType EventConfigureHeightFieldInfo = Int32+    type AttrLabel EventConfigureHeightFieldInfo = "height"+    type AttrOrigin EventConfigureHeightFieldInfo = EventConfigure+    attrGet _ = getEventConfigureHeight+    attrSet _ = setEventConfigureHeight+    attrConstruct = undefined+    attrClear _ = undefined++eventConfigure_height :: AttrLabelProxy "height"+eventConfigure_height = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList EventConfigure+type instance O.AttributeList EventConfigure = EventConfigureAttributeList+type EventConfigureAttributeList = ('[ '("type", EventConfigureTypeFieldInfo), '("window", EventConfigureWindowFieldInfo), '("sendEvent", EventConfigureSendEventFieldInfo), '("x", EventConfigureXFieldInfo), '("y", EventConfigureYFieldInfo), '("width", EventConfigureWidthFieldInfo), '("height", EventConfigureHeightFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveEventConfigureMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventConfigureMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventConfigureMethod t EventConfigure, O.MethodInfo info EventConfigure p) => OL.IsLabel t (EventConfigure -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/EventConfigure.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.EventConfigure where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype EventConfigure = EventConfigure (ManagedPtr EventConfigure)+instance WrappedPtr EventConfigure where
+ GI/Gdk/Structs/EventCrossing.hs view
@@ -0,0 +1,867 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Generated when the pointer enters or leaves a window.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.EventCrossing+    ( ++-- * Exported types+    EventCrossing(..)                       ,+    newZeroEventCrossing                    ,+    noEventCrossing                         ,+++ -- * Properties+-- ** detail #attr:detail#+{- | the kind of crossing that happened ('GI.Gdk.Enums.NotifyTypeInferior',+ 'GI.Gdk.Enums.NotifyTypeAncestor', 'GI.Gdk.Enums.NotifyTypeVirtual', 'GI.Gdk.Enums.NotifyTypeNonlinear' or+ 'GI.Gdk.Enums.NotifyTypeNonlinearVirtual').+-}+#if ENABLE_OVERLOADING+    eventCrossing_detail                    ,+#endif+    getEventCrossingDetail                  ,+    setEventCrossingDetail                  ,+++-- ** focus #attr:focus#+{- | 'True' if /@window@/ is the focus window or an inferior.+-}+#if ENABLE_OVERLOADING+    eventCrossing_focus                     ,+#endif+    getEventCrossingFocus                   ,+    setEventCrossingFocus                   ,+++-- ** mode #attr:mode#+{- | the crossing mode ('GI.Gdk.Enums.CrossingModeNormal', 'GI.Gdk.Enums.CrossingModeGrab',+ 'GI.Gdk.Enums.CrossingModeUngrab', 'GI.Gdk.Enums.CrossingModeGtkGrab', 'GI.Gdk.Enums.CrossingModeGtkUngrab' or+ 'GI.Gdk.Enums.CrossingModeStateChanged').  'GI.Gdk.Enums.CrossingModeGtkGrab', 'GI.Gdk.Enums.CrossingModeGtkUngrab',+ and 'GI.Gdk.Enums.CrossingModeStateChanged' were added in 2.14 and are always synthesized,+ never native.+-}+#if ENABLE_OVERLOADING+    eventCrossing_mode                      ,+#endif+    getEventCrossingMode                    ,+    setEventCrossingMode                    ,+++-- ** sendEvent #attr:sendEvent#+{- | 'True' if the event was sent explicitly.+-}+#if ENABLE_OVERLOADING+    eventCrossing_sendEvent                 ,+#endif+    getEventCrossingSendEvent               ,+    setEventCrossingSendEvent               ,+++-- ** state #attr:state#+{- | a bit-mask representing the state of+  the modifier keys (e.g. Control, Shift and Alt) and the pointer+  buttons. See 'GI.Gdk.Flags.ModifierType'.+-}+#if ENABLE_OVERLOADING+    eventCrossing_state                     ,+#endif+    getEventCrossingState                   ,+    setEventCrossingState                   ,+++-- ** subwindow #attr:subwindow#+{- | the window that was entered or left.+-}+    clearEventCrossingSubwindow             ,+#if ENABLE_OVERLOADING+    eventCrossing_subwindow                 ,+#endif+    getEventCrossingSubwindow               ,+    setEventCrossingSubwindow               ,+++-- ** time #attr:time#+{- | the time of the event in milliseconds.+-}+#if ENABLE_OVERLOADING+    eventCrossing_time                      ,+#endif+    getEventCrossingTime                    ,+    setEventCrossingTime                    ,+++-- ** type #attr:type#+{- | the type of the event ('GI.Gdk.Enums.EventTypeEnterNotify' or 'GI.Gdk.Enums.EventTypeLeaveNotify').+-}+#if ENABLE_OVERLOADING+    eventCrossing_type                      ,+#endif+    getEventCrossingType                    ,+    setEventCrossingType                    ,+++-- ** window #attr:window#+{- | the window which received the event.+-}+    clearEventCrossingWindow                ,+#if ENABLE_OVERLOADING+    eventCrossing_window                    ,+#endif+    getEventCrossingWindow                  ,+    setEventCrossingWindow                  ,+++-- ** x #attr:x#+{- | the x coordinate of the pointer relative to the window.+-}+#if ENABLE_OVERLOADING+    eventCrossing_x                         ,+#endif+    getEventCrossingX                       ,+    setEventCrossingX                       ,+++-- ** xRoot #attr:xRoot#+{- | the x coordinate of the pointer relative to the root of the screen.+-}+#if ENABLE_OVERLOADING+    eventCrossing_xRoot                     ,+#endif+    getEventCrossingXRoot                   ,+    setEventCrossingXRoot                   ,+++-- ** y #attr:y#+{- | the y coordinate of the pointer relative to the window.+-}+#if ENABLE_OVERLOADING+    eventCrossing_y                         ,+#endif+    getEventCrossingY                       ,+    setEventCrossingY                       ,+++-- ** yRoot #attr:yRoot#+{- | the y coordinate of the pointer relative to the root of the screen.+-}+#if ENABLE_OVERLOADING+    eventCrossing_yRoot                     ,+#endif+    getEventCrossingYRoot                   ,+    setEventCrossingYRoot                   ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Flags as Gdk.Flags+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window++-- | Memory-managed wrapper type.+newtype EventCrossing = EventCrossing (ManagedPtr EventCrossing)+instance WrappedPtr EventCrossing where+    wrappedPtrCalloc = callocBytes 88+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 88 >=> wrapPtr EventCrossing)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `EventCrossing` struct initialized to zero.+newZeroEventCrossing :: MonadIO m => m EventCrossing+newZeroEventCrossing = liftIO $ wrappedPtrCalloc >>= wrapPtr EventCrossing++instance tag ~ 'AttrSet => Constructible EventCrossing tag where+    new _ attrs = do+        o <- newZeroEventCrossing+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `EventCrossing`.+noEventCrossing :: Maybe EventCrossing+noEventCrossing = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventCrossing #type+@+-}+getEventCrossingType :: MonadIO m => EventCrossing -> m Gdk.Enums.EventType+getEventCrossingType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventCrossing [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventCrossingType :: MonadIO m => EventCrossing -> Gdk.Enums.EventType -> m ()+setEventCrossingType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventCrossingTypeFieldInfo+instance AttrInfo EventCrossingTypeFieldInfo where+    type AttrAllowedOps EventCrossingTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventCrossingTypeFieldInfo = (~) Gdk.Enums.EventType+    type AttrBaseTypeConstraint EventCrossingTypeFieldInfo = (~) EventCrossing+    type AttrGetType EventCrossingTypeFieldInfo = Gdk.Enums.EventType+    type AttrLabel EventCrossingTypeFieldInfo = "type"+    type AttrOrigin EventCrossingTypeFieldInfo = EventCrossing+    attrGet _ = getEventCrossingType+    attrSet _ = setEventCrossingType+    attrConstruct = undefined+    attrClear _ = undefined++eventCrossing_type :: AttrLabelProxy "type"+eventCrossing_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventCrossing #window+@+-}+getEventCrossingWindow :: MonadIO m => EventCrossing -> m (Maybe Gdk.Window.Window)+getEventCrossingWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventCrossing [ #window 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventCrossingWindow :: MonadIO m => EventCrossing -> Ptr Gdk.Window.Window -> m ()+setEventCrossingWindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@window@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #window+@+-}+clearEventCrossingWindow :: MonadIO m => EventCrossing -> m ()+clearEventCrossingWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventCrossingWindowFieldInfo+instance AttrInfo EventCrossingWindowFieldInfo where+    type AttrAllowedOps EventCrossingWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventCrossingWindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventCrossingWindowFieldInfo = (~) EventCrossing+    type AttrGetType EventCrossingWindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventCrossingWindowFieldInfo = "window"+    type AttrOrigin EventCrossingWindowFieldInfo = EventCrossing+    attrGet _ = getEventCrossingWindow+    attrSet _ = setEventCrossingWindow+    attrConstruct = undefined+    attrClear _ = clearEventCrossingWindow++eventCrossing_window :: AttrLabelProxy "window"+eventCrossing_window = AttrLabelProxy++#endif+++{- |+Get the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventCrossing #sendEvent+@+-}+getEventCrossingSendEvent :: MonadIO m => EventCrossing -> m Int8+getEventCrossingSendEvent s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++{- |+Set the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventCrossing [ #sendEvent 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventCrossingSendEvent :: MonadIO m => EventCrossing -> Int8 -> m ()+setEventCrossingSendEvent s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int8)++#if ENABLE_OVERLOADING+data EventCrossingSendEventFieldInfo+instance AttrInfo EventCrossingSendEventFieldInfo where+    type AttrAllowedOps EventCrossingSendEventFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventCrossingSendEventFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventCrossingSendEventFieldInfo = (~) EventCrossing+    type AttrGetType EventCrossingSendEventFieldInfo = Int8+    type AttrLabel EventCrossingSendEventFieldInfo = "send_event"+    type AttrOrigin EventCrossingSendEventFieldInfo = EventCrossing+    attrGet _ = getEventCrossingSendEvent+    attrSet _ = setEventCrossingSendEvent+    attrConstruct = undefined+    attrClear _ = undefined++eventCrossing_sendEvent :: AttrLabelProxy "sendEvent"+eventCrossing_sendEvent = AttrLabelProxy++#endif+++{- |+Get the value of the “@subwindow@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventCrossing #subwindow+@+-}+getEventCrossingSubwindow :: MonadIO m => EventCrossing -> m (Maybe Gdk.Window.Window)+getEventCrossingSubwindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@subwindow@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventCrossing [ #subwindow 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventCrossingSubwindow :: MonadIO m => EventCrossing -> Ptr Gdk.Window.Window -> m ()+setEventCrossingSubwindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 24) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@subwindow@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #subwindow+@+-}+clearEventCrossingSubwindow :: MonadIO m => EventCrossing -> m ()+clearEventCrossingSubwindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 24) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventCrossingSubwindowFieldInfo+instance AttrInfo EventCrossingSubwindowFieldInfo where+    type AttrAllowedOps EventCrossingSubwindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventCrossingSubwindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventCrossingSubwindowFieldInfo = (~) EventCrossing+    type AttrGetType EventCrossingSubwindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventCrossingSubwindowFieldInfo = "subwindow"+    type AttrOrigin EventCrossingSubwindowFieldInfo = EventCrossing+    attrGet _ = getEventCrossingSubwindow+    attrSet _ = setEventCrossingSubwindow+    attrConstruct = undefined+    attrClear _ = clearEventCrossingSubwindow++eventCrossing_subwindow :: AttrLabelProxy "subwindow"+eventCrossing_subwindow = AttrLabelProxy++#endif+++{- |+Get the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventCrossing #time+@+-}+getEventCrossingTime :: MonadIO m => EventCrossing -> m Word32+getEventCrossingTime s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO Word32+    return val++{- |+Set the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventCrossing [ #time 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventCrossingTime :: MonadIO m => EventCrossing -> Word32 -> m ()+setEventCrossingTime s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 32) (val :: Word32)++#if ENABLE_OVERLOADING+data EventCrossingTimeFieldInfo+instance AttrInfo EventCrossingTimeFieldInfo where+    type AttrAllowedOps EventCrossingTimeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventCrossingTimeFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventCrossingTimeFieldInfo = (~) EventCrossing+    type AttrGetType EventCrossingTimeFieldInfo = Word32+    type AttrLabel EventCrossingTimeFieldInfo = "time"+    type AttrOrigin EventCrossingTimeFieldInfo = EventCrossing+    attrGet _ = getEventCrossingTime+    attrSet _ = setEventCrossingTime+    attrConstruct = undefined+    attrClear _ = undefined++eventCrossing_time :: AttrLabelProxy "time"+eventCrossing_time = AttrLabelProxy++#endif+++{- |+Get the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventCrossing #x+@+-}+getEventCrossingX :: MonadIO m => EventCrossing -> m Double+getEventCrossingX s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventCrossing [ #x 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventCrossingX :: MonadIO m => EventCrossing -> Double -> m ()+setEventCrossingX s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 40) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventCrossingXFieldInfo+instance AttrInfo EventCrossingXFieldInfo where+    type AttrAllowedOps EventCrossingXFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventCrossingXFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventCrossingXFieldInfo = (~) EventCrossing+    type AttrGetType EventCrossingXFieldInfo = Double+    type AttrLabel EventCrossingXFieldInfo = "x"+    type AttrOrigin EventCrossingXFieldInfo = EventCrossing+    attrGet _ = getEventCrossingX+    attrSet _ = setEventCrossingX+    attrConstruct = undefined+    attrClear _ = undefined++eventCrossing_x :: AttrLabelProxy "x"+eventCrossing_x = AttrLabelProxy++#endif+++{- |+Get the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventCrossing #y+@+-}+getEventCrossingY :: MonadIO m => EventCrossing -> m Double+getEventCrossingY s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventCrossing [ #y 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventCrossingY :: MonadIO m => EventCrossing -> Double -> m ()+setEventCrossingY s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 48) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventCrossingYFieldInfo+instance AttrInfo EventCrossingYFieldInfo where+    type AttrAllowedOps EventCrossingYFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventCrossingYFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventCrossingYFieldInfo = (~) EventCrossing+    type AttrGetType EventCrossingYFieldInfo = Double+    type AttrLabel EventCrossingYFieldInfo = "y"+    type AttrOrigin EventCrossingYFieldInfo = EventCrossing+    attrGet _ = getEventCrossingY+    attrSet _ = setEventCrossingY+    attrConstruct = undefined+    attrClear _ = undefined++eventCrossing_y :: AttrLabelProxy "y"+eventCrossing_y = AttrLabelProxy++#endif+++{- |+Get the value of the “@x_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventCrossing #xRoot+@+-}+getEventCrossingXRoot :: MonadIO m => EventCrossing -> m Double+getEventCrossingXRoot s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 56) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@x_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventCrossing [ #xRoot 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventCrossingXRoot :: MonadIO m => EventCrossing -> Double -> m ()+setEventCrossingXRoot s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 56) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventCrossingXRootFieldInfo+instance AttrInfo EventCrossingXRootFieldInfo where+    type AttrAllowedOps EventCrossingXRootFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventCrossingXRootFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventCrossingXRootFieldInfo = (~) EventCrossing+    type AttrGetType EventCrossingXRootFieldInfo = Double+    type AttrLabel EventCrossingXRootFieldInfo = "x_root"+    type AttrOrigin EventCrossingXRootFieldInfo = EventCrossing+    attrGet _ = getEventCrossingXRoot+    attrSet _ = setEventCrossingXRoot+    attrConstruct = undefined+    attrClear _ = undefined++eventCrossing_xRoot :: AttrLabelProxy "xRoot"+eventCrossing_xRoot = AttrLabelProxy++#endif+++{- |+Get the value of the “@y_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventCrossing #yRoot+@+-}+getEventCrossingYRoot :: MonadIO m => EventCrossing -> m Double+getEventCrossingYRoot s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 64) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@y_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventCrossing [ #yRoot 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventCrossingYRoot :: MonadIO m => EventCrossing -> Double -> m ()+setEventCrossingYRoot s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 64) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventCrossingYRootFieldInfo+instance AttrInfo EventCrossingYRootFieldInfo where+    type AttrAllowedOps EventCrossingYRootFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventCrossingYRootFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventCrossingYRootFieldInfo = (~) EventCrossing+    type AttrGetType EventCrossingYRootFieldInfo = Double+    type AttrLabel EventCrossingYRootFieldInfo = "y_root"+    type AttrOrigin EventCrossingYRootFieldInfo = EventCrossing+    attrGet _ = getEventCrossingYRoot+    attrSet _ = setEventCrossingYRoot+    attrConstruct = undefined+    attrClear _ = undefined++eventCrossing_yRoot :: AttrLabelProxy "yRoot"+eventCrossing_yRoot = AttrLabelProxy++#endif+++{- |+Get the value of the “@mode@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventCrossing #mode+@+-}+getEventCrossingMode :: MonadIO m => EventCrossing -> m Gdk.Enums.CrossingMode+getEventCrossingMode s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 72) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@mode@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventCrossing [ #mode 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventCrossingMode :: MonadIO m => EventCrossing -> Gdk.Enums.CrossingMode -> m ()+setEventCrossingMode s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 72) (val' :: CUInt)++#if ENABLE_OVERLOADING+data EventCrossingModeFieldInfo+instance AttrInfo EventCrossingModeFieldInfo where+    type AttrAllowedOps EventCrossingModeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventCrossingModeFieldInfo = (~) Gdk.Enums.CrossingMode+    type AttrBaseTypeConstraint EventCrossingModeFieldInfo = (~) EventCrossing+    type AttrGetType EventCrossingModeFieldInfo = Gdk.Enums.CrossingMode+    type AttrLabel EventCrossingModeFieldInfo = "mode"+    type AttrOrigin EventCrossingModeFieldInfo = EventCrossing+    attrGet _ = getEventCrossingMode+    attrSet _ = setEventCrossingMode+    attrConstruct = undefined+    attrClear _ = undefined++eventCrossing_mode :: AttrLabelProxy "mode"+eventCrossing_mode = AttrLabelProxy++#endif+++{- |+Get the value of the “@detail@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventCrossing #detail+@+-}+getEventCrossingDetail :: MonadIO m => EventCrossing -> m Gdk.Enums.NotifyType+getEventCrossingDetail s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 76) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@detail@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventCrossing [ #detail 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventCrossingDetail :: MonadIO m => EventCrossing -> Gdk.Enums.NotifyType -> m ()+setEventCrossingDetail s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 76) (val' :: CUInt)++#if ENABLE_OVERLOADING+data EventCrossingDetailFieldInfo+instance AttrInfo EventCrossingDetailFieldInfo where+    type AttrAllowedOps EventCrossingDetailFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventCrossingDetailFieldInfo = (~) Gdk.Enums.NotifyType+    type AttrBaseTypeConstraint EventCrossingDetailFieldInfo = (~) EventCrossing+    type AttrGetType EventCrossingDetailFieldInfo = Gdk.Enums.NotifyType+    type AttrLabel EventCrossingDetailFieldInfo = "detail"+    type AttrOrigin EventCrossingDetailFieldInfo = EventCrossing+    attrGet _ = getEventCrossingDetail+    attrSet _ = setEventCrossingDetail+    attrConstruct = undefined+    attrClear _ = undefined++eventCrossing_detail :: AttrLabelProxy "detail"+eventCrossing_detail = AttrLabelProxy++#endif+++{- |+Get the value of the “@focus@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventCrossing #focus+@+-}+getEventCrossingFocus :: MonadIO m => EventCrossing -> m Bool+getEventCrossingFocus s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 80) :: IO CInt+    let val' = (/= 0) val+    return val'++{- |+Set the value of the “@focus@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventCrossing [ #focus 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventCrossingFocus :: MonadIO m => EventCrossing -> Bool -> m ()+setEventCrossingFocus s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 80) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventCrossingFocusFieldInfo+instance AttrInfo EventCrossingFocusFieldInfo where+    type AttrAllowedOps EventCrossingFocusFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventCrossingFocusFieldInfo = (~) Bool+    type AttrBaseTypeConstraint EventCrossingFocusFieldInfo = (~) EventCrossing+    type AttrGetType EventCrossingFocusFieldInfo = Bool+    type AttrLabel EventCrossingFocusFieldInfo = "focus"+    type AttrOrigin EventCrossingFocusFieldInfo = EventCrossing+    attrGet _ = getEventCrossingFocus+    attrSet _ = setEventCrossingFocus+    attrConstruct = undefined+    attrClear _ = undefined++eventCrossing_focus :: AttrLabelProxy "focus"+eventCrossing_focus = AttrLabelProxy++#endif+++{- |+Get the value of the “@state@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventCrossing #state+@+-}+getEventCrossingState :: MonadIO m => EventCrossing -> m [Gdk.Flags.ModifierType]+getEventCrossingState s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 84) :: IO CUInt+    let val' = wordToGFlags val+    return val'++{- |+Set the value of the “@state@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventCrossing [ #state 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventCrossingState :: MonadIO m => EventCrossing -> [Gdk.Flags.ModifierType] -> m ()+setEventCrossingState s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = gflagsToWord val+    poke (ptr `plusPtr` 84) (val' :: CUInt)++#if ENABLE_OVERLOADING+data EventCrossingStateFieldInfo+instance AttrInfo EventCrossingStateFieldInfo where+    type AttrAllowedOps EventCrossingStateFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventCrossingStateFieldInfo = (~) [Gdk.Flags.ModifierType]+    type AttrBaseTypeConstraint EventCrossingStateFieldInfo = (~) EventCrossing+    type AttrGetType EventCrossingStateFieldInfo = [Gdk.Flags.ModifierType]+    type AttrLabel EventCrossingStateFieldInfo = "state"+    type AttrOrigin EventCrossingStateFieldInfo = EventCrossing+    attrGet _ = getEventCrossingState+    attrSet _ = setEventCrossingState+    attrConstruct = undefined+    attrClear _ = undefined++eventCrossing_state :: AttrLabelProxy "state"+eventCrossing_state = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList EventCrossing+type instance O.AttributeList EventCrossing = EventCrossingAttributeList+type EventCrossingAttributeList = ('[ '("type", EventCrossingTypeFieldInfo), '("window", EventCrossingWindowFieldInfo), '("sendEvent", EventCrossingSendEventFieldInfo), '("subwindow", EventCrossingSubwindowFieldInfo), '("time", EventCrossingTimeFieldInfo), '("x", EventCrossingXFieldInfo), '("y", EventCrossingYFieldInfo), '("xRoot", EventCrossingXRootFieldInfo), '("yRoot", EventCrossingYRootFieldInfo), '("mode", EventCrossingModeFieldInfo), '("detail", EventCrossingDetailFieldInfo), '("focus", EventCrossingFocusFieldInfo), '("state", EventCrossingStateFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveEventCrossingMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventCrossingMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventCrossingMethod t EventCrossing, O.MethodInfo info EventCrossing p) => OL.IsLabel t (EventCrossing -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/EventCrossing.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.EventCrossing where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype EventCrossing = EventCrossing (ManagedPtr EventCrossing)+instance WrappedPtr EventCrossing where
+ GI/Gdk/Structs/EventDND.hs view
@@ -0,0 +1,517 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Generated during DND operations.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.EventDND+    ( ++-- * Exported types+    EventDND(..)                            ,+    newZeroEventDND                         ,+    noEventDND                              ,+++ -- * Properties+-- ** context #attr:context#+{- | the 'GI.Gdk.Objects.DragContext.DragContext' for the current DND operation.+-}+    clearEventDNDContext                    ,+#if ENABLE_OVERLOADING+    eventDND_context                        ,+#endif+    getEventDNDContext                      ,+    setEventDNDContext                      ,+++-- ** sendEvent #attr:sendEvent#+{- | 'True' if the event was sent explicitly.+-}+#if ENABLE_OVERLOADING+    eventDND_sendEvent                      ,+#endif+    getEventDNDSendEvent                    ,+    setEventDNDSendEvent                    ,+++-- ** time #attr:time#+{- | the time of the event in milliseconds.+-}+#if ENABLE_OVERLOADING+    eventDND_time                           ,+#endif+    getEventDNDTime                         ,+    setEventDNDTime                         ,+++-- ** type #attr:type#+{- | the type of the event ('GI.Gdk.Enums.EventTypeDragEnter', 'GI.Gdk.Enums.EventTypeDragLeave',+  'GI.Gdk.Enums.EventTypeDragMotion', 'GI.Gdk.Enums.EventTypeDragStatus', 'GI.Gdk.Enums.EventTypeDropStart' or+  'GI.Gdk.Enums.EventTypeDropFinished').+-}+#if ENABLE_OVERLOADING+    eventDND_type                           ,+#endif+    getEventDNDType                         ,+    setEventDNDType                         ,+++-- ** window #attr:window#+{- | the window which received the event.+-}+    clearEventDNDWindow                     ,+#if ENABLE_OVERLOADING+    eventDND_window                         ,+#endif+    getEventDNDWindow                       ,+    setEventDNDWindow                       ,+++-- ** xRoot #attr:xRoot#+{- | the x coordinate of the pointer relative to the root of the+  screen, only set for 'GI.Gdk.Enums.EventTypeDragMotion' and 'GI.Gdk.Enums.EventTypeDropStart'.+-}+#if ENABLE_OVERLOADING+    eventDND_xRoot                          ,+#endif+    getEventDNDXRoot                        ,+    setEventDNDXRoot                        ,+++-- ** yRoot #attr:yRoot#+{- | the y coordinate of the pointer relative to the root of the+  screen, only set for 'GI.Gdk.Enums.EventTypeDragMotion' and 'GI.Gdk.Enums.EventTypeDropStart'.+-}+#if ENABLE_OVERLOADING+    eventDND_yRoot                          ,+#endif+    getEventDNDYRoot                        ,+    setEventDNDYRoot                        ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Objects.DragContext as Gdk.DragContext+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window++-- | Memory-managed wrapper type.+newtype EventDND = EventDND (ManagedPtr EventDND)+instance WrappedPtr EventDND where+    wrappedPtrCalloc = callocBytes 40+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 40 >=> wrapPtr EventDND)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `EventDND` struct initialized to zero.+newZeroEventDND :: MonadIO m => m EventDND+newZeroEventDND = liftIO $ wrappedPtrCalloc >>= wrapPtr EventDND++instance tag ~ 'AttrSet => Constructible EventDND tag where+    new _ attrs = do+        o <- newZeroEventDND+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `EventDND`.+noEventDND :: Maybe EventDND+noEventDND = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventDND #type+@+-}+getEventDNDType :: MonadIO m => EventDND -> m Gdk.Enums.EventType+getEventDNDType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventDND [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventDNDType :: MonadIO m => EventDND -> Gdk.Enums.EventType -> m ()+setEventDNDType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventDNDTypeFieldInfo+instance AttrInfo EventDNDTypeFieldInfo where+    type AttrAllowedOps EventDNDTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventDNDTypeFieldInfo = (~) Gdk.Enums.EventType+    type AttrBaseTypeConstraint EventDNDTypeFieldInfo = (~) EventDND+    type AttrGetType EventDNDTypeFieldInfo = Gdk.Enums.EventType+    type AttrLabel EventDNDTypeFieldInfo = "type"+    type AttrOrigin EventDNDTypeFieldInfo = EventDND+    attrGet _ = getEventDNDType+    attrSet _ = setEventDNDType+    attrConstruct = undefined+    attrClear _ = undefined++eventDND_type :: AttrLabelProxy "type"+eventDND_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventDND #window+@+-}+getEventDNDWindow :: MonadIO m => EventDND -> m (Maybe Gdk.Window.Window)+getEventDNDWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventDND [ #window 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventDNDWindow :: MonadIO m => EventDND -> Ptr Gdk.Window.Window -> m ()+setEventDNDWindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@window@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #window+@+-}+clearEventDNDWindow :: MonadIO m => EventDND -> m ()+clearEventDNDWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventDNDWindowFieldInfo+instance AttrInfo EventDNDWindowFieldInfo where+    type AttrAllowedOps EventDNDWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventDNDWindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventDNDWindowFieldInfo = (~) EventDND+    type AttrGetType EventDNDWindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventDNDWindowFieldInfo = "window"+    type AttrOrigin EventDNDWindowFieldInfo = EventDND+    attrGet _ = getEventDNDWindow+    attrSet _ = setEventDNDWindow+    attrConstruct = undefined+    attrClear _ = clearEventDNDWindow++eventDND_window :: AttrLabelProxy "window"+eventDND_window = AttrLabelProxy++#endif+++{- |+Get the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventDND #sendEvent+@+-}+getEventDNDSendEvent :: MonadIO m => EventDND -> m Int8+getEventDNDSendEvent s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++{- |+Set the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventDND [ #sendEvent 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventDNDSendEvent :: MonadIO m => EventDND -> Int8 -> m ()+setEventDNDSendEvent s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int8)++#if ENABLE_OVERLOADING+data EventDNDSendEventFieldInfo+instance AttrInfo EventDNDSendEventFieldInfo where+    type AttrAllowedOps EventDNDSendEventFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventDNDSendEventFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventDNDSendEventFieldInfo = (~) EventDND+    type AttrGetType EventDNDSendEventFieldInfo = Int8+    type AttrLabel EventDNDSendEventFieldInfo = "send_event"+    type AttrOrigin EventDNDSendEventFieldInfo = EventDND+    attrGet _ = getEventDNDSendEvent+    attrSet _ = setEventDNDSendEvent+    attrConstruct = undefined+    attrClear _ = undefined++eventDND_sendEvent :: AttrLabelProxy "sendEvent"+eventDND_sendEvent = AttrLabelProxy++#endif+++{- |+Get the value of the “@context@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventDND #context+@+-}+getEventDNDContext :: MonadIO m => EventDND -> m (Maybe Gdk.DragContext.DragContext)+getEventDNDContext s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO (Ptr Gdk.DragContext.DragContext)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.DragContext.DragContext) val'+        return val''+    return result++{- |+Set the value of the “@context@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventDND [ #context 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventDNDContext :: MonadIO m => EventDND -> Ptr Gdk.DragContext.DragContext -> m ()+setEventDNDContext s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 24) (val :: Ptr Gdk.DragContext.DragContext)++{- |+Set the value of the “@context@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #context+@+-}+clearEventDNDContext :: MonadIO m => EventDND -> m ()+clearEventDNDContext s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 24) (FP.nullPtr :: Ptr Gdk.DragContext.DragContext)++#if ENABLE_OVERLOADING+data EventDNDContextFieldInfo+instance AttrInfo EventDNDContextFieldInfo where+    type AttrAllowedOps EventDNDContextFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventDNDContextFieldInfo = (~) (Ptr Gdk.DragContext.DragContext)+    type AttrBaseTypeConstraint EventDNDContextFieldInfo = (~) EventDND+    type AttrGetType EventDNDContextFieldInfo = Maybe Gdk.DragContext.DragContext+    type AttrLabel EventDNDContextFieldInfo = "context"+    type AttrOrigin EventDNDContextFieldInfo = EventDND+    attrGet _ = getEventDNDContext+    attrSet _ = setEventDNDContext+    attrConstruct = undefined+    attrClear _ = clearEventDNDContext++eventDND_context :: AttrLabelProxy "context"+eventDND_context = AttrLabelProxy++#endif+++{- |+Get the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventDND #time+@+-}+getEventDNDTime :: MonadIO m => EventDND -> m Word32+getEventDNDTime s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO Word32+    return val++{- |+Set the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventDND [ #time 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventDNDTime :: MonadIO m => EventDND -> Word32 -> m ()+setEventDNDTime s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 32) (val :: Word32)++#if ENABLE_OVERLOADING+data EventDNDTimeFieldInfo+instance AttrInfo EventDNDTimeFieldInfo where+    type AttrAllowedOps EventDNDTimeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventDNDTimeFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventDNDTimeFieldInfo = (~) EventDND+    type AttrGetType EventDNDTimeFieldInfo = Word32+    type AttrLabel EventDNDTimeFieldInfo = "time"+    type AttrOrigin EventDNDTimeFieldInfo = EventDND+    attrGet _ = getEventDNDTime+    attrSet _ = setEventDNDTime+    attrConstruct = undefined+    attrClear _ = undefined++eventDND_time :: AttrLabelProxy "time"+eventDND_time = AttrLabelProxy++#endif+++{- |+Get the value of the “@x_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventDND #xRoot+@+-}+getEventDNDXRoot :: MonadIO m => EventDND -> m Int16+getEventDNDXRoot s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 36) :: IO Int16+    return val++{- |+Set the value of the “@x_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventDND [ #xRoot 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventDNDXRoot :: MonadIO m => EventDND -> Int16 -> m ()+setEventDNDXRoot s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 36) (val :: Int16)++#if ENABLE_OVERLOADING+data EventDNDXRootFieldInfo+instance AttrInfo EventDNDXRootFieldInfo where+    type AttrAllowedOps EventDNDXRootFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventDNDXRootFieldInfo = (~) Int16+    type AttrBaseTypeConstraint EventDNDXRootFieldInfo = (~) EventDND+    type AttrGetType EventDNDXRootFieldInfo = Int16+    type AttrLabel EventDNDXRootFieldInfo = "x_root"+    type AttrOrigin EventDNDXRootFieldInfo = EventDND+    attrGet _ = getEventDNDXRoot+    attrSet _ = setEventDNDXRoot+    attrConstruct = undefined+    attrClear _ = undefined++eventDND_xRoot :: AttrLabelProxy "xRoot"+eventDND_xRoot = AttrLabelProxy++#endif+++{- |+Get the value of the “@y_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventDND #yRoot+@+-}+getEventDNDYRoot :: MonadIO m => EventDND -> m Int16+getEventDNDYRoot s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 38) :: IO Int16+    return val++{- |+Set the value of the “@y_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventDND [ #yRoot 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventDNDYRoot :: MonadIO m => EventDND -> Int16 -> m ()+setEventDNDYRoot s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 38) (val :: Int16)++#if ENABLE_OVERLOADING+data EventDNDYRootFieldInfo+instance AttrInfo EventDNDYRootFieldInfo where+    type AttrAllowedOps EventDNDYRootFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventDNDYRootFieldInfo = (~) Int16+    type AttrBaseTypeConstraint EventDNDYRootFieldInfo = (~) EventDND+    type AttrGetType EventDNDYRootFieldInfo = Int16+    type AttrLabel EventDNDYRootFieldInfo = "y_root"+    type AttrOrigin EventDNDYRootFieldInfo = EventDND+    attrGet _ = getEventDNDYRoot+    attrSet _ = setEventDNDYRoot+    attrConstruct = undefined+    attrClear _ = undefined++eventDND_yRoot :: AttrLabelProxy "yRoot"+eventDND_yRoot = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList EventDND+type instance O.AttributeList EventDND = EventDNDAttributeList+type EventDNDAttributeList = ('[ '("type", EventDNDTypeFieldInfo), '("window", EventDNDWindowFieldInfo), '("sendEvent", EventDNDSendEventFieldInfo), '("context", EventDNDContextFieldInfo), '("time", EventDNDTimeFieldInfo), '("xRoot", EventDNDXRootFieldInfo), '("yRoot", EventDNDYRootFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveEventDNDMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventDNDMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventDNDMethod t EventDND, O.MethodInfo info EventDND p) => OL.IsLabel t (EventDND -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/EventDND.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.EventDND where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype EventDND = EventDND (ManagedPtr EventDND)+instance WrappedPtr EventDND where
+ GI/Gdk/Structs/EventExpose.hs view
@@ -0,0 +1,451 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Generated when all or part of a window becomes visible and needs to be+redrawn.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.EventExpose+    ( ++-- * Exported types+    EventExpose(..)                         ,+    newZeroEventExpose                      ,+    noEventExpose                           ,+++ -- * Properties+-- ** area #attr:area#+{- | bounding box of /@region@/.+-}+#if ENABLE_OVERLOADING+    eventExpose_area                        ,+#endif+    getEventExposeArea                      ,+++-- ** count #attr:count#+{- | the number of contiguous 'GI.Gdk.Enums.EventTypeExpose' events following this one.+  The only use for this is “exposure compression”, i.e. handling all+  contiguous 'GI.Gdk.Enums.EventTypeExpose' events in one go, though GDK performs some+  exposure compression so this is not normally needed.+-}+#if ENABLE_OVERLOADING+    eventExpose_count                       ,+#endif+    getEventExposeCount                     ,+    setEventExposeCount                     ,+++-- ** region #attr:region#+{- | the region that needs to be redrawn.+-}+    clearEventExposeRegion                  ,+#if ENABLE_OVERLOADING+    eventExpose_region                      ,+#endif+    getEventExposeRegion                    ,+    setEventExposeRegion                    ,+++-- ** sendEvent #attr:sendEvent#+{- | 'True' if the event was sent explicitly.+-}+#if ENABLE_OVERLOADING+    eventExpose_sendEvent                   ,+#endif+    getEventExposeSendEvent                 ,+    setEventExposeSendEvent                 ,+++-- ** type #attr:type#+{- | the type of the event ('GI.Gdk.Enums.EventTypeExpose' or 'GI.Gdk.Enums.EventTypeDamage').+-}+#if ENABLE_OVERLOADING+    eventExpose_type                        ,+#endif+    getEventExposeType                      ,+    setEventExposeType                      ,+++-- ** window #attr:window#+{- | the window which received the event.+-}+    clearEventExposeWindow                  ,+#if ENABLE_OVERLOADING+    eventExpose_window                      ,+#endif+    getEventExposeWindow                    ,+    setEventExposeWindow                    ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import qualified GI.Cairo.Structs.Region as Cairo.Region+import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window+import {-# SOURCE #-} qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle++-- | Memory-managed wrapper type.+newtype EventExpose = EventExpose (ManagedPtr EventExpose)+instance WrappedPtr EventExpose where+    wrappedPtrCalloc = callocBytes 56+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 56 >=> wrapPtr EventExpose)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `EventExpose` struct initialized to zero.+newZeroEventExpose :: MonadIO m => m EventExpose+newZeroEventExpose = liftIO $ wrappedPtrCalloc >>= wrapPtr EventExpose++instance tag ~ 'AttrSet => Constructible EventExpose tag where+    new _ attrs = do+        o <- newZeroEventExpose+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `EventExpose`.+noEventExpose :: Maybe EventExpose+noEventExpose = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventExpose #type+@+-}+getEventExposeType :: MonadIO m => EventExpose -> m Gdk.Enums.EventType+getEventExposeType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventExpose [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventExposeType :: MonadIO m => EventExpose -> Gdk.Enums.EventType -> m ()+setEventExposeType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventExposeTypeFieldInfo+instance AttrInfo EventExposeTypeFieldInfo where+    type AttrAllowedOps EventExposeTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventExposeTypeFieldInfo = (~) Gdk.Enums.EventType+    type AttrBaseTypeConstraint EventExposeTypeFieldInfo = (~) EventExpose+    type AttrGetType EventExposeTypeFieldInfo = Gdk.Enums.EventType+    type AttrLabel EventExposeTypeFieldInfo = "type"+    type AttrOrigin EventExposeTypeFieldInfo = EventExpose+    attrGet _ = getEventExposeType+    attrSet _ = setEventExposeType+    attrConstruct = undefined+    attrClear _ = undefined++eventExpose_type :: AttrLabelProxy "type"+eventExpose_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventExpose #window+@+-}+getEventExposeWindow :: MonadIO m => EventExpose -> m (Maybe Gdk.Window.Window)+getEventExposeWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventExpose [ #window 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventExposeWindow :: MonadIO m => EventExpose -> Ptr Gdk.Window.Window -> m ()+setEventExposeWindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@window@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #window+@+-}+clearEventExposeWindow :: MonadIO m => EventExpose -> m ()+clearEventExposeWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventExposeWindowFieldInfo+instance AttrInfo EventExposeWindowFieldInfo where+    type AttrAllowedOps EventExposeWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventExposeWindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventExposeWindowFieldInfo = (~) EventExpose+    type AttrGetType EventExposeWindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventExposeWindowFieldInfo = "window"+    type AttrOrigin EventExposeWindowFieldInfo = EventExpose+    attrGet _ = getEventExposeWindow+    attrSet _ = setEventExposeWindow+    attrConstruct = undefined+    attrClear _ = clearEventExposeWindow++eventExpose_window :: AttrLabelProxy "window"+eventExpose_window = AttrLabelProxy++#endif+++{- |+Get the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventExpose #sendEvent+@+-}+getEventExposeSendEvent :: MonadIO m => EventExpose -> m Int8+getEventExposeSendEvent s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++{- |+Set the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventExpose [ #sendEvent 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventExposeSendEvent :: MonadIO m => EventExpose -> Int8 -> m ()+setEventExposeSendEvent s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int8)++#if ENABLE_OVERLOADING+data EventExposeSendEventFieldInfo+instance AttrInfo EventExposeSendEventFieldInfo where+    type AttrAllowedOps EventExposeSendEventFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventExposeSendEventFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventExposeSendEventFieldInfo = (~) EventExpose+    type AttrGetType EventExposeSendEventFieldInfo = Int8+    type AttrLabel EventExposeSendEventFieldInfo = "send_event"+    type AttrOrigin EventExposeSendEventFieldInfo = EventExpose+    attrGet _ = getEventExposeSendEvent+    attrSet _ = setEventExposeSendEvent+    attrConstruct = undefined+    attrClear _ = undefined++eventExpose_sendEvent :: AttrLabelProxy "sendEvent"+eventExpose_sendEvent = AttrLabelProxy++#endif+++{- |+Get the value of the “@area@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventExpose #area+@+-}+getEventExposeArea :: MonadIO m => EventExpose -> m Gdk.Rectangle.Rectangle+getEventExposeArea s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 20 :: (Ptr Gdk.Rectangle.Rectangle)+    val' <- (newBoxed Gdk.Rectangle.Rectangle) val+    return val'++#if ENABLE_OVERLOADING+data EventExposeAreaFieldInfo+instance AttrInfo EventExposeAreaFieldInfo where+    type AttrAllowedOps EventExposeAreaFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventExposeAreaFieldInfo = (~) (Ptr Gdk.Rectangle.Rectangle)+    type AttrBaseTypeConstraint EventExposeAreaFieldInfo = (~) EventExpose+    type AttrGetType EventExposeAreaFieldInfo = Gdk.Rectangle.Rectangle+    type AttrLabel EventExposeAreaFieldInfo = "area"+    type AttrOrigin EventExposeAreaFieldInfo = EventExpose+    attrGet _ = getEventExposeArea+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++eventExpose_area :: AttrLabelProxy "area"+eventExpose_area = AttrLabelProxy++#endif+++{- |+Get the value of the “@region@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventExpose #region+@+-}+getEventExposeRegion :: MonadIO m => EventExpose -> m (Maybe Cairo.Region.Region)+getEventExposeRegion s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO (Ptr Cairo.Region.Region)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newBoxed Cairo.Region.Region) val'+        return val''+    return result++{- |+Set the value of the “@region@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventExpose [ #region 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventExposeRegion :: MonadIO m => EventExpose -> Ptr Cairo.Region.Region -> m ()+setEventExposeRegion s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 40) (val :: Ptr Cairo.Region.Region)++{- |+Set the value of the “@region@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #region+@+-}+clearEventExposeRegion :: MonadIO m => EventExpose -> m ()+clearEventExposeRegion s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 40) (FP.nullPtr :: Ptr Cairo.Region.Region)++#if ENABLE_OVERLOADING+data EventExposeRegionFieldInfo+instance AttrInfo EventExposeRegionFieldInfo where+    type AttrAllowedOps EventExposeRegionFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventExposeRegionFieldInfo = (~) (Ptr Cairo.Region.Region)+    type AttrBaseTypeConstraint EventExposeRegionFieldInfo = (~) EventExpose+    type AttrGetType EventExposeRegionFieldInfo = Maybe Cairo.Region.Region+    type AttrLabel EventExposeRegionFieldInfo = "region"+    type AttrOrigin EventExposeRegionFieldInfo = EventExpose+    attrGet _ = getEventExposeRegion+    attrSet _ = setEventExposeRegion+    attrConstruct = undefined+    attrClear _ = clearEventExposeRegion++eventExpose_region :: AttrLabelProxy "region"+eventExpose_region = AttrLabelProxy++#endif+++{- |+Get the value of the “@count@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventExpose #count+@+-}+getEventExposeCount :: MonadIO m => EventExpose -> m Int32+getEventExposeCount s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO Int32+    return val++{- |+Set the value of the “@count@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventExpose [ #count 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventExposeCount :: MonadIO m => EventExpose -> Int32 -> m ()+setEventExposeCount s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 48) (val :: Int32)++#if ENABLE_OVERLOADING+data EventExposeCountFieldInfo+instance AttrInfo EventExposeCountFieldInfo where+    type AttrAllowedOps EventExposeCountFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventExposeCountFieldInfo = (~) Int32+    type AttrBaseTypeConstraint EventExposeCountFieldInfo = (~) EventExpose+    type AttrGetType EventExposeCountFieldInfo = Int32+    type AttrLabel EventExposeCountFieldInfo = "count"+    type AttrOrigin EventExposeCountFieldInfo = EventExpose+    attrGet _ = getEventExposeCount+    attrSet _ = setEventExposeCount+    attrConstruct = undefined+    attrClear _ = undefined++eventExpose_count :: AttrLabelProxy "count"+eventExpose_count = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList EventExpose+type instance O.AttributeList EventExpose = EventExposeAttributeList+type EventExposeAttributeList = ('[ '("type", EventExposeTypeFieldInfo), '("window", EventExposeWindowFieldInfo), '("sendEvent", EventExposeSendEventFieldInfo), '("area", EventExposeAreaFieldInfo), '("region", EventExposeRegionFieldInfo), '("count", EventExposeCountFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveEventExposeMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventExposeMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventExposeMethod t EventExpose, O.MethodInfo info EventExpose p) => OL.IsLabel t (EventExpose -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/EventExpose.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.EventExpose where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype EventExpose = EventExpose (ManagedPtr EventExpose)+instance WrappedPtr EventExpose where
+ GI/Gdk/Structs/EventFocus.hs view
@@ -0,0 +1,332 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Describes a change of keyboard focus.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.EventFocus+    ( ++-- * Exported types+    EventFocus(..)                          ,+    newZeroEventFocus                       ,+    noEventFocus                            ,+++ -- * Properties+-- ** in #attr:in#+{- | 'True' if the window has gained the keyboard focus, 'False' if+  it has lost the focus.+-}+#if ENABLE_OVERLOADING+    eventFocus_in                           ,+#endif+    getEventFocusIn                         ,+    setEventFocusIn                         ,+++-- ** sendEvent #attr:sendEvent#+{- | 'True' if the event was sent explicitly.+-}+#if ENABLE_OVERLOADING+    eventFocus_sendEvent                    ,+#endif+    getEventFocusSendEvent                  ,+    setEventFocusSendEvent                  ,+++-- ** type #attr:type#+{- | the type of the event ('GI.Gdk.Enums.EventTypeFocusChange').+-}+#if ENABLE_OVERLOADING+    eventFocus_type                         ,+#endif+    getEventFocusType                       ,+    setEventFocusType                       ,+++-- ** window #attr:window#+{- | the window which received the event.+-}+    clearEventFocusWindow                   ,+#if ENABLE_OVERLOADING+    eventFocus_window                       ,+#endif+    getEventFocusWindow                     ,+    setEventFocusWindow                     ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window++-- | Memory-managed wrapper type.+newtype EventFocus = EventFocus (ManagedPtr EventFocus)+instance WrappedPtr EventFocus where+    wrappedPtrCalloc = callocBytes 24+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 24 >=> wrapPtr EventFocus)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `EventFocus` struct initialized to zero.+newZeroEventFocus :: MonadIO m => m EventFocus+newZeroEventFocus = liftIO $ wrappedPtrCalloc >>= wrapPtr EventFocus++instance tag ~ 'AttrSet => Constructible EventFocus tag where+    new _ attrs = do+        o <- newZeroEventFocus+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `EventFocus`.+noEventFocus :: Maybe EventFocus+noEventFocus = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventFocus #type+@+-}+getEventFocusType :: MonadIO m => EventFocus -> m Gdk.Enums.EventType+getEventFocusType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventFocus [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventFocusType :: MonadIO m => EventFocus -> Gdk.Enums.EventType -> m ()+setEventFocusType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventFocusTypeFieldInfo+instance AttrInfo EventFocusTypeFieldInfo where+    type AttrAllowedOps EventFocusTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventFocusTypeFieldInfo = (~) Gdk.Enums.EventType+    type AttrBaseTypeConstraint EventFocusTypeFieldInfo = (~) EventFocus+    type AttrGetType EventFocusTypeFieldInfo = Gdk.Enums.EventType+    type AttrLabel EventFocusTypeFieldInfo = "type"+    type AttrOrigin EventFocusTypeFieldInfo = EventFocus+    attrGet _ = getEventFocusType+    attrSet _ = setEventFocusType+    attrConstruct = undefined+    attrClear _ = undefined++eventFocus_type :: AttrLabelProxy "type"+eventFocus_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventFocus #window+@+-}+getEventFocusWindow :: MonadIO m => EventFocus -> m (Maybe Gdk.Window.Window)+getEventFocusWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventFocus [ #window 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventFocusWindow :: MonadIO m => EventFocus -> Ptr Gdk.Window.Window -> m ()+setEventFocusWindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@window@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #window+@+-}+clearEventFocusWindow :: MonadIO m => EventFocus -> m ()+clearEventFocusWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventFocusWindowFieldInfo+instance AttrInfo EventFocusWindowFieldInfo where+    type AttrAllowedOps EventFocusWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventFocusWindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventFocusWindowFieldInfo = (~) EventFocus+    type AttrGetType EventFocusWindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventFocusWindowFieldInfo = "window"+    type AttrOrigin EventFocusWindowFieldInfo = EventFocus+    attrGet _ = getEventFocusWindow+    attrSet _ = setEventFocusWindow+    attrConstruct = undefined+    attrClear _ = clearEventFocusWindow++eventFocus_window :: AttrLabelProxy "window"+eventFocus_window = AttrLabelProxy++#endif+++{- |+Get the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventFocus #sendEvent+@+-}+getEventFocusSendEvent :: MonadIO m => EventFocus -> m Int8+getEventFocusSendEvent s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++{- |+Set the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventFocus [ #sendEvent 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventFocusSendEvent :: MonadIO m => EventFocus -> Int8 -> m ()+setEventFocusSendEvent s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int8)++#if ENABLE_OVERLOADING+data EventFocusSendEventFieldInfo+instance AttrInfo EventFocusSendEventFieldInfo where+    type AttrAllowedOps EventFocusSendEventFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventFocusSendEventFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventFocusSendEventFieldInfo = (~) EventFocus+    type AttrGetType EventFocusSendEventFieldInfo = Int8+    type AttrLabel EventFocusSendEventFieldInfo = "send_event"+    type AttrOrigin EventFocusSendEventFieldInfo = EventFocus+    attrGet _ = getEventFocusSendEvent+    attrSet _ = setEventFocusSendEvent+    attrConstruct = undefined+    attrClear _ = undefined++eventFocus_sendEvent :: AttrLabelProxy "sendEvent"+eventFocus_sendEvent = AttrLabelProxy++#endif+++{- |+Get the value of the “@in@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventFocus #in+@+-}+getEventFocusIn :: MonadIO m => EventFocus -> m Int16+getEventFocusIn s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 18) :: IO Int16+    return val++{- |+Set the value of the “@in@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventFocus [ #in 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventFocusIn :: MonadIO m => EventFocus -> Int16 -> m ()+setEventFocusIn s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 18) (val :: Int16)++#if ENABLE_OVERLOADING+data EventFocusInFieldInfo+instance AttrInfo EventFocusInFieldInfo where+    type AttrAllowedOps EventFocusInFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventFocusInFieldInfo = (~) Int16+    type AttrBaseTypeConstraint EventFocusInFieldInfo = (~) EventFocus+    type AttrGetType EventFocusInFieldInfo = Int16+    type AttrLabel EventFocusInFieldInfo = "in"+    type AttrOrigin EventFocusInFieldInfo = EventFocus+    attrGet _ = getEventFocusIn+    attrSet _ = setEventFocusIn+    attrConstruct = undefined+    attrClear _ = undefined++eventFocus_in :: AttrLabelProxy "in"+eventFocus_in = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList EventFocus+type instance O.AttributeList EventFocus = EventFocusAttributeList+type EventFocusAttributeList = ('[ '("type", EventFocusTypeFieldInfo), '("window", EventFocusWindowFieldInfo), '("sendEvent", EventFocusSendEventFieldInfo), '("in", EventFocusInFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveEventFocusMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventFocusMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventFocusMethod t EventFocus, O.MethodInfo info EventFocus p) => OL.IsLabel t (EventFocus -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/EventFocus.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.EventFocus where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype EventFocus = EventFocus (ManagedPtr EventFocus)+instance WrappedPtr EventFocus where
+ GI/Gdk/Structs/EventGrabBroken.hs view
@@ -0,0 +1,471 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Generated when a pointer or keyboard grab is broken. On X11, this happens+when the grab window becomes unviewable (i.e. it or one of its ancestors+is unmapped), or if the same application grabs the pointer or keyboard+again. Note that implicit grabs (which are initiated by button presses)+can also cause 'GI.Gdk.Structs.EventGrabBroken.EventGrabBroken' events.++/Since: 2.8/+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.EventGrabBroken+    ( ++-- * Exported types+    EventGrabBroken(..)                     ,+    newZeroEventGrabBroken                  ,+    noEventGrabBroken                       ,+++ -- * Properties+-- ** grabWindow #attr:grabWindow#+{- | If this event is caused by another grab in the same+  application, /@grabWindow@/ contains the new grab window. Otherwise+  /@grabWindow@/ is 'Nothing'.+-}+    clearEventGrabBrokenGrabWindow          ,+#if ENABLE_OVERLOADING+    eventGrabBroken_grabWindow              ,+#endif+    getEventGrabBrokenGrabWindow            ,+    setEventGrabBrokenGrabWindow            ,+++-- ** implicit #attr:implicit#+{- | 'True' if the broken grab was implicit+-}+#if ENABLE_OVERLOADING+    eventGrabBroken_implicit                ,+#endif+    getEventGrabBrokenImplicit              ,+    setEventGrabBrokenImplicit              ,+++-- ** keyboard #attr:keyboard#+{- | 'True' if a keyboard grab was broken, 'False' if a pointer+  grab was broken+-}+#if ENABLE_OVERLOADING+    eventGrabBroken_keyboard                ,+#endif+    getEventGrabBrokenKeyboard              ,+    setEventGrabBrokenKeyboard              ,+++-- ** sendEvent #attr:sendEvent#+{- | 'True' if the event was sent explicitly.+-}+#if ENABLE_OVERLOADING+    eventGrabBroken_sendEvent               ,+#endif+    getEventGrabBrokenSendEvent             ,+    setEventGrabBrokenSendEvent             ,+++-- ** type #attr:type#+{- | the type of the event ('GI.Gdk.Enums.EventTypeGrabBroken')+-}+#if ENABLE_OVERLOADING+    eventGrabBroken_type                    ,+#endif+    getEventGrabBrokenType                  ,+    setEventGrabBrokenType                  ,+++-- ** window #attr:window#+{- | the window which received the event, i.e. the window+  that previously owned the grab+-}+    clearEventGrabBrokenWindow              ,+#if ENABLE_OVERLOADING+    eventGrabBroken_window                  ,+#endif+    getEventGrabBrokenWindow                ,+    setEventGrabBrokenWindow                ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window++-- | Memory-managed wrapper type.+newtype EventGrabBroken = EventGrabBroken (ManagedPtr EventGrabBroken)+instance WrappedPtr EventGrabBroken where+    wrappedPtrCalloc = callocBytes 40+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 40 >=> wrapPtr EventGrabBroken)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `EventGrabBroken` struct initialized to zero.+newZeroEventGrabBroken :: MonadIO m => m EventGrabBroken+newZeroEventGrabBroken = liftIO $ wrappedPtrCalloc >>= wrapPtr EventGrabBroken++instance tag ~ 'AttrSet => Constructible EventGrabBroken tag where+    new _ attrs = do+        o <- newZeroEventGrabBroken+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `EventGrabBroken`.+noEventGrabBroken :: Maybe EventGrabBroken+noEventGrabBroken = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventGrabBroken #type+@+-}+getEventGrabBrokenType :: MonadIO m => EventGrabBroken -> m Gdk.Enums.EventType+getEventGrabBrokenType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventGrabBroken [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventGrabBrokenType :: MonadIO m => EventGrabBroken -> Gdk.Enums.EventType -> m ()+setEventGrabBrokenType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventGrabBrokenTypeFieldInfo+instance AttrInfo EventGrabBrokenTypeFieldInfo where+    type AttrAllowedOps EventGrabBrokenTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventGrabBrokenTypeFieldInfo = (~) Gdk.Enums.EventType+    type AttrBaseTypeConstraint EventGrabBrokenTypeFieldInfo = (~) EventGrabBroken+    type AttrGetType EventGrabBrokenTypeFieldInfo = Gdk.Enums.EventType+    type AttrLabel EventGrabBrokenTypeFieldInfo = "type"+    type AttrOrigin EventGrabBrokenTypeFieldInfo = EventGrabBroken+    attrGet _ = getEventGrabBrokenType+    attrSet _ = setEventGrabBrokenType+    attrConstruct = undefined+    attrClear _ = undefined++eventGrabBroken_type :: AttrLabelProxy "type"+eventGrabBroken_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventGrabBroken #window+@+-}+getEventGrabBrokenWindow :: MonadIO m => EventGrabBroken -> m (Maybe Gdk.Window.Window)+getEventGrabBrokenWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventGrabBroken [ #window 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventGrabBrokenWindow :: MonadIO m => EventGrabBroken -> Ptr Gdk.Window.Window -> m ()+setEventGrabBrokenWindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@window@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #window+@+-}+clearEventGrabBrokenWindow :: MonadIO m => EventGrabBroken -> m ()+clearEventGrabBrokenWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventGrabBrokenWindowFieldInfo+instance AttrInfo EventGrabBrokenWindowFieldInfo where+    type AttrAllowedOps EventGrabBrokenWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventGrabBrokenWindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventGrabBrokenWindowFieldInfo = (~) EventGrabBroken+    type AttrGetType EventGrabBrokenWindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventGrabBrokenWindowFieldInfo = "window"+    type AttrOrigin EventGrabBrokenWindowFieldInfo = EventGrabBroken+    attrGet _ = getEventGrabBrokenWindow+    attrSet _ = setEventGrabBrokenWindow+    attrConstruct = undefined+    attrClear _ = clearEventGrabBrokenWindow++eventGrabBroken_window :: AttrLabelProxy "window"+eventGrabBroken_window = AttrLabelProxy++#endif+++{- |+Get the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventGrabBroken #sendEvent+@+-}+getEventGrabBrokenSendEvent :: MonadIO m => EventGrabBroken -> m Int8+getEventGrabBrokenSendEvent s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++{- |+Set the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventGrabBroken [ #sendEvent 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventGrabBrokenSendEvent :: MonadIO m => EventGrabBroken -> Int8 -> m ()+setEventGrabBrokenSendEvent s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int8)++#if ENABLE_OVERLOADING+data EventGrabBrokenSendEventFieldInfo+instance AttrInfo EventGrabBrokenSendEventFieldInfo where+    type AttrAllowedOps EventGrabBrokenSendEventFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventGrabBrokenSendEventFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventGrabBrokenSendEventFieldInfo = (~) EventGrabBroken+    type AttrGetType EventGrabBrokenSendEventFieldInfo = Int8+    type AttrLabel EventGrabBrokenSendEventFieldInfo = "send_event"+    type AttrOrigin EventGrabBrokenSendEventFieldInfo = EventGrabBroken+    attrGet _ = getEventGrabBrokenSendEvent+    attrSet _ = setEventGrabBrokenSendEvent+    attrConstruct = undefined+    attrClear _ = undefined++eventGrabBroken_sendEvent :: AttrLabelProxy "sendEvent"+eventGrabBroken_sendEvent = AttrLabelProxy++#endif+++{- |+Get the value of the “@keyboard@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventGrabBroken #keyboard+@+-}+getEventGrabBrokenKeyboard :: MonadIO m => EventGrabBroken -> m Bool+getEventGrabBrokenKeyboard s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO CInt+    let val' = (/= 0) val+    return val'++{- |+Set the value of the “@keyboard@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventGrabBroken [ #keyboard 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventGrabBrokenKeyboard :: MonadIO m => EventGrabBroken -> Bool -> m ()+setEventGrabBrokenKeyboard s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 20) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventGrabBrokenKeyboardFieldInfo+instance AttrInfo EventGrabBrokenKeyboardFieldInfo where+    type AttrAllowedOps EventGrabBrokenKeyboardFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventGrabBrokenKeyboardFieldInfo = (~) Bool+    type AttrBaseTypeConstraint EventGrabBrokenKeyboardFieldInfo = (~) EventGrabBroken+    type AttrGetType EventGrabBrokenKeyboardFieldInfo = Bool+    type AttrLabel EventGrabBrokenKeyboardFieldInfo = "keyboard"+    type AttrOrigin EventGrabBrokenKeyboardFieldInfo = EventGrabBroken+    attrGet _ = getEventGrabBrokenKeyboard+    attrSet _ = setEventGrabBrokenKeyboard+    attrConstruct = undefined+    attrClear _ = undefined++eventGrabBroken_keyboard :: AttrLabelProxy "keyboard"+eventGrabBroken_keyboard = AttrLabelProxy++#endif+++{- |+Get the value of the “@implicit@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventGrabBroken #implicit+@+-}+getEventGrabBrokenImplicit :: MonadIO m => EventGrabBroken -> m Bool+getEventGrabBrokenImplicit s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CInt+    let val' = (/= 0) val+    return val'++{- |+Set the value of the “@implicit@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventGrabBroken [ #implicit 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventGrabBrokenImplicit :: MonadIO m => EventGrabBroken -> Bool -> m ()+setEventGrabBrokenImplicit s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 24) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventGrabBrokenImplicitFieldInfo+instance AttrInfo EventGrabBrokenImplicitFieldInfo where+    type AttrAllowedOps EventGrabBrokenImplicitFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventGrabBrokenImplicitFieldInfo = (~) Bool+    type AttrBaseTypeConstraint EventGrabBrokenImplicitFieldInfo = (~) EventGrabBroken+    type AttrGetType EventGrabBrokenImplicitFieldInfo = Bool+    type AttrLabel EventGrabBrokenImplicitFieldInfo = "implicit"+    type AttrOrigin EventGrabBrokenImplicitFieldInfo = EventGrabBroken+    attrGet _ = getEventGrabBrokenImplicit+    attrSet _ = setEventGrabBrokenImplicit+    attrConstruct = undefined+    attrClear _ = undefined++eventGrabBroken_implicit :: AttrLabelProxy "implicit"+eventGrabBroken_implicit = AttrLabelProxy++#endif+++{- |+Get the value of the “@grab_window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventGrabBroken #grabWindow+@+-}+getEventGrabBrokenGrabWindow :: MonadIO m => EventGrabBroken -> m (Maybe Gdk.Window.Window)+getEventGrabBrokenGrabWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@grab_window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventGrabBroken [ #grabWindow 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventGrabBrokenGrabWindow :: MonadIO m => EventGrabBroken -> Ptr Gdk.Window.Window -> m ()+setEventGrabBrokenGrabWindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 32) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@grab_window@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #grabWindow+@+-}+clearEventGrabBrokenGrabWindow :: MonadIO m => EventGrabBroken -> m ()+clearEventGrabBrokenGrabWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 32) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventGrabBrokenGrabWindowFieldInfo+instance AttrInfo EventGrabBrokenGrabWindowFieldInfo where+    type AttrAllowedOps EventGrabBrokenGrabWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventGrabBrokenGrabWindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventGrabBrokenGrabWindowFieldInfo = (~) EventGrabBroken+    type AttrGetType EventGrabBrokenGrabWindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventGrabBrokenGrabWindowFieldInfo = "grab_window"+    type AttrOrigin EventGrabBrokenGrabWindowFieldInfo = EventGrabBroken+    attrGet _ = getEventGrabBrokenGrabWindow+    attrSet _ = setEventGrabBrokenGrabWindow+    attrConstruct = undefined+    attrClear _ = clearEventGrabBrokenGrabWindow++eventGrabBroken_grabWindow :: AttrLabelProxy "grabWindow"+eventGrabBroken_grabWindow = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList EventGrabBroken+type instance O.AttributeList EventGrabBroken = EventGrabBrokenAttributeList+type EventGrabBrokenAttributeList = ('[ '("type", EventGrabBrokenTypeFieldInfo), '("window", EventGrabBrokenWindowFieldInfo), '("sendEvent", EventGrabBrokenSendEventFieldInfo), '("keyboard", EventGrabBrokenKeyboardFieldInfo), '("implicit", EventGrabBrokenImplicitFieldInfo), '("grabWindow", EventGrabBrokenGrabWindowFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveEventGrabBrokenMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventGrabBrokenMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventGrabBrokenMethod t EventGrabBroken, O.MethodInfo info EventGrabBroken p) => OL.IsLabel t (EventGrabBroken -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/EventGrabBroken.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.EventGrabBroken where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype EventGrabBroken = EventGrabBroken (ManagedPtr EventGrabBroken)+instance WrappedPtr EventGrabBroken where
+ GI/Gdk/Structs/EventKey.hs view
@@ -0,0 +1,750 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Describes a key press or key release event.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.EventKey+    ( ++-- * Exported types+    EventKey(..)                            ,+    newZeroEventKey                         ,+    noEventKey                              ,+++ -- * Properties+-- ** group #attr:group#+{- | the keyboard group.+-}+#if ENABLE_OVERLOADING+    eventKey_group                          ,+#endif+    getEventKeyGroup                        ,+    setEventKeyGroup                        ,+++-- ** hardwareKeycode #attr:hardwareKeycode#+{- | the raw code of the key that was pressed or released.+-}+#if ENABLE_OVERLOADING+    eventKey_hardwareKeycode                ,+#endif+    getEventKeyHardwareKeycode              ,+    setEventKeyHardwareKeycode              ,+++-- ** isModifier #attr:isModifier#+{- | a flag that indicates if /@hardwareKeycode@/ is mapped to a+  modifier. Since 2.10+-}+#if ENABLE_OVERLOADING+    eventKey_isModifier                     ,+#endif+    getEventKeyIsModifier                   ,+    setEventKeyIsModifier                   ,+++-- ** keyval #attr:keyval#+{- | the key that was pressed or released. See the+  @gdk\/gdkkeysyms.h@ header file for a+  complete list of GDK key codes.+-}+#if ENABLE_OVERLOADING+    eventKey_keyval                         ,+#endif+    getEventKeyKeyval                       ,+    setEventKeyKeyval                       ,+++-- ** length #attr:length#+{- | the length of /@string@/.+-}+#if ENABLE_OVERLOADING+    eventKey_length                         ,+#endif+    getEventKeyLength                       ,+    setEventKeyLength                       ,+++-- ** sendEvent #attr:sendEvent#+{- | 'True' if the event was sent explicitly.+-}+#if ENABLE_OVERLOADING+    eventKey_sendEvent                      ,+#endif+    getEventKeySendEvent                    ,+    setEventKeySendEvent                    ,+++-- ** state #attr:state#+{- | a bit-mask representing the state of+  the modifier keys (e.g. Control, Shift and Alt) and the pointer+  buttons. See 'GI.Gdk.Flags.ModifierType'.+-}+#if ENABLE_OVERLOADING+    eventKey_state                          ,+#endif+    getEventKeyState                        ,+    setEventKeyState                        ,+++-- ** string #attr:string#+{- | a string containing an approximation of the text that+  would result from this keypress. The only correct way to handle text+  input of text is using input methods (see @/GtkIMContext/@), so this+  field is deprecated and should never be used.+  ('GI.Gdk.Functions.unicodeToKeyval' provides a non-deprecated way of getting+  an approximate translation for a key.) The string is encoded in the+  encoding of the current locale (Note: this for backwards compatibility:+  strings in GTK+ and GDK are typically in UTF-8.) and NUL-terminated.+  In some cases, the translation of the key code will be a single+  NUL byte, in which case looking at /@length@/ is necessary to distinguish+  it from the an empty translation.+-}+    clearEventKeyString                     ,+#if ENABLE_OVERLOADING+    eventKey_string                         ,+#endif+    getEventKeyString                       ,+    setEventKeyString                       ,+++-- ** time #attr:time#+{- | the time of the event in milliseconds.+-}+#if ENABLE_OVERLOADING+    eventKey_time                           ,+#endif+    getEventKeyTime                         ,+    setEventKeyTime                         ,+++-- ** type #attr:type#+{- | the type of the event ('GI.Gdk.Enums.EventTypeKeyPress' or 'GI.Gdk.Enums.EventTypeKeyRelease').+-}+#if ENABLE_OVERLOADING+    eventKey_type                           ,+#endif+    getEventKeyType                         ,+    setEventKeyType                         ,+++-- ** window #attr:window#+{- | the window which received the event.+-}+    clearEventKeyWindow                     ,+#if ENABLE_OVERLOADING+    eventKey_window                         ,+#endif+    getEventKeyWindow                       ,+    setEventKeyWindow                       ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Flags as Gdk.Flags+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window++-- | Memory-managed wrapper type.+newtype EventKey = EventKey (ManagedPtr EventKey)+instance WrappedPtr EventKey where+    wrappedPtrCalloc = callocBytes 56+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 56 >=> wrapPtr EventKey)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `EventKey` struct initialized to zero.+newZeroEventKey :: MonadIO m => m EventKey+newZeroEventKey = liftIO $ wrappedPtrCalloc >>= wrapPtr EventKey++instance tag ~ 'AttrSet => Constructible EventKey tag where+    new _ attrs = do+        o <- newZeroEventKey+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `EventKey`.+noEventKey :: Maybe EventKey+noEventKey = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventKey #type+@+-}+getEventKeyType :: MonadIO m => EventKey -> m Gdk.Enums.EventType+getEventKeyType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventKey [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventKeyType :: MonadIO m => EventKey -> Gdk.Enums.EventType -> m ()+setEventKeyType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventKeyTypeFieldInfo+instance AttrInfo EventKeyTypeFieldInfo where+    type AttrAllowedOps EventKeyTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventKeyTypeFieldInfo = (~) Gdk.Enums.EventType+    type AttrBaseTypeConstraint EventKeyTypeFieldInfo = (~) EventKey+    type AttrGetType EventKeyTypeFieldInfo = Gdk.Enums.EventType+    type AttrLabel EventKeyTypeFieldInfo = "type"+    type AttrOrigin EventKeyTypeFieldInfo = EventKey+    attrGet _ = getEventKeyType+    attrSet _ = setEventKeyType+    attrConstruct = undefined+    attrClear _ = undefined++eventKey_type :: AttrLabelProxy "type"+eventKey_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventKey #window+@+-}+getEventKeyWindow :: MonadIO m => EventKey -> m (Maybe Gdk.Window.Window)+getEventKeyWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventKey [ #window 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventKeyWindow :: MonadIO m => EventKey -> Ptr Gdk.Window.Window -> m ()+setEventKeyWindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@window@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #window+@+-}+clearEventKeyWindow :: MonadIO m => EventKey -> m ()+clearEventKeyWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventKeyWindowFieldInfo+instance AttrInfo EventKeyWindowFieldInfo where+    type AttrAllowedOps EventKeyWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventKeyWindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventKeyWindowFieldInfo = (~) EventKey+    type AttrGetType EventKeyWindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventKeyWindowFieldInfo = "window"+    type AttrOrigin EventKeyWindowFieldInfo = EventKey+    attrGet _ = getEventKeyWindow+    attrSet _ = setEventKeyWindow+    attrConstruct = undefined+    attrClear _ = clearEventKeyWindow++eventKey_window :: AttrLabelProxy "window"+eventKey_window = AttrLabelProxy++#endif+++{- |+Get the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventKey #sendEvent+@+-}+getEventKeySendEvent :: MonadIO m => EventKey -> m Int8+getEventKeySendEvent s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++{- |+Set the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventKey [ #sendEvent 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventKeySendEvent :: MonadIO m => EventKey -> Int8 -> m ()+setEventKeySendEvent s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int8)++#if ENABLE_OVERLOADING+data EventKeySendEventFieldInfo+instance AttrInfo EventKeySendEventFieldInfo where+    type AttrAllowedOps EventKeySendEventFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventKeySendEventFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventKeySendEventFieldInfo = (~) EventKey+    type AttrGetType EventKeySendEventFieldInfo = Int8+    type AttrLabel EventKeySendEventFieldInfo = "send_event"+    type AttrOrigin EventKeySendEventFieldInfo = EventKey+    attrGet _ = getEventKeySendEvent+    attrSet _ = setEventKeySendEvent+    attrConstruct = undefined+    attrClear _ = undefined++eventKey_sendEvent :: AttrLabelProxy "sendEvent"+eventKey_sendEvent = AttrLabelProxy++#endif+++{- |+Get the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventKey #time+@+-}+getEventKeyTime :: MonadIO m => EventKey -> m Word32+getEventKeyTime s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Word32+    return val++{- |+Set the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventKey [ #time 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventKeyTime :: MonadIO m => EventKey -> Word32 -> m ()+setEventKeyTime s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 20) (val :: Word32)++#if ENABLE_OVERLOADING+data EventKeyTimeFieldInfo+instance AttrInfo EventKeyTimeFieldInfo where+    type AttrAllowedOps EventKeyTimeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventKeyTimeFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventKeyTimeFieldInfo = (~) EventKey+    type AttrGetType EventKeyTimeFieldInfo = Word32+    type AttrLabel EventKeyTimeFieldInfo = "time"+    type AttrOrigin EventKeyTimeFieldInfo = EventKey+    attrGet _ = getEventKeyTime+    attrSet _ = setEventKeyTime+    attrConstruct = undefined+    attrClear _ = undefined++eventKey_time :: AttrLabelProxy "time"+eventKey_time = AttrLabelProxy++#endif+++{- |+Get the value of the “@state@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventKey #state+@+-}+getEventKeyState :: MonadIO m => EventKey -> m [Gdk.Flags.ModifierType]+getEventKeyState s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CUInt+    let val' = wordToGFlags val+    return val'++{- |+Set the value of the “@state@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventKey [ #state 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventKeyState :: MonadIO m => EventKey -> [Gdk.Flags.ModifierType] -> m ()+setEventKeyState s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = gflagsToWord val+    poke (ptr `plusPtr` 24) (val' :: CUInt)++#if ENABLE_OVERLOADING+data EventKeyStateFieldInfo+instance AttrInfo EventKeyStateFieldInfo where+    type AttrAllowedOps EventKeyStateFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventKeyStateFieldInfo = (~) [Gdk.Flags.ModifierType]+    type AttrBaseTypeConstraint EventKeyStateFieldInfo = (~) EventKey+    type AttrGetType EventKeyStateFieldInfo = [Gdk.Flags.ModifierType]+    type AttrLabel EventKeyStateFieldInfo = "state"+    type AttrOrigin EventKeyStateFieldInfo = EventKey+    attrGet _ = getEventKeyState+    attrSet _ = setEventKeyState+    attrConstruct = undefined+    attrClear _ = undefined++eventKey_state :: AttrLabelProxy "state"+eventKey_state = AttrLabelProxy++#endif+++{- |+Get the value of the “@keyval@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventKey #keyval+@+-}+getEventKeyKeyval :: MonadIO m => EventKey -> m Word32+getEventKeyKeyval s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 28) :: IO Word32+    return val++{- |+Set the value of the “@keyval@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventKey [ #keyval 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventKeyKeyval :: MonadIO m => EventKey -> Word32 -> m ()+setEventKeyKeyval s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 28) (val :: Word32)++#if ENABLE_OVERLOADING+data EventKeyKeyvalFieldInfo+instance AttrInfo EventKeyKeyvalFieldInfo where+    type AttrAllowedOps EventKeyKeyvalFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventKeyKeyvalFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventKeyKeyvalFieldInfo = (~) EventKey+    type AttrGetType EventKeyKeyvalFieldInfo = Word32+    type AttrLabel EventKeyKeyvalFieldInfo = "keyval"+    type AttrOrigin EventKeyKeyvalFieldInfo = EventKey+    attrGet _ = getEventKeyKeyval+    attrSet _ = setEventKeyKeyval+    attrConstruct = undefined+    attrClear _ = undefined++eventKey_keyval :: AttrLabelProxy "keyval"+eventKey_keyval = AttrLabelProxy++#endif+++{- |+Get the value of the “@length@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventKey #length+@+-}+getEventKeyLength :: MonadIO m => EventKey -> m Int32+getEventKeyLength s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO Int32+    return val++{- |+Set the value of the “@length@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventKey [ #length 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventKeyLength :: MonadIO m => EventKey -> Int32 -> m ()+setEventKeyLength s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 32) (val :: Int32)++#if ENABLE_OVERLOADING+data EventKeyLengthFieldInfo+instance AttrInfo EventKeyLengthFieldInfo where+    type AttrAllowedOps EventKeyLengthFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventKeyLengthFieldInfo = (~) Int32+    type AttrBaseTypeConstraint EventKeyLengthFieldInfo = (~) EventKey+    type AttrGetType EventKeyLengthFieldInfo = Int32+    type AttrLabel EventKeyLengthFieldInfo = "length"+    type AttrOrigin EventKeyLengthFieldInfo = EventKey+    attrGet _ = getEventKeyLength+    attrSet _ = setEventKeyLength+    attrConstruct = undefined+    attrClear _ = undefined++eventKey_length :: AttrLabelProxy "length"+eventKey_length = AttrLabelProxy++#endif+++{- |+Get the value of the “@string@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventKey #string+@+-}+getEventKeyString :: MonadIO m => EventKey -> m (Maybe T.Text)+getEventKeyString s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO CString+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- cstringToText val'+        return val''+    return result++{- |+Set the value of the “@string@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventKey [ #string 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventKeyString :: MonadIO m => EventKey -> CString -> m ()+setEventKeyString s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 40) (val :: CString)++{- |+Set the value of the “@string@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #string+@+-}+clearEventKeyString :: MonadIO m => EventKey -> m ()+clearEventKeyString s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 40) (FP.nullPtr :: CString)++#if ENABLE_OVERLOADING+data EventKeyStringFieldInfo+instance AttrInfo EventKeyStringFieldInfo where+    type AttrAllowedOps EventKeyStringFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventKeyStringFieldInfo = (~) CString+    type AttrBaseTypeConstraint EventKeyStringFieldInfo = (~) EventKey+    type AttrGetType EventKeyStringFieldInfo = Maybe T.Text+    type AttrLabel EventKeyStringFieldInfo = "string"+    type AttrOrigin EventKeyStringFieldInfo = EventKey+    attrGet _ = getEventKeyString+    attrSet _ = setEventKeyString+    attrConstruct = undefined+    attrClear _ = clearEventKeyString++eventKey_string :: AttrLabelProxy "string"+eventKey_string = AttrLabelProxy++#endif+++{- |+Get the value of the “@hardware_keycode@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventKey #hardwareKeycode+@+-}+getEventKeyHardwareKeycode :: MonadIO m => EventKey -> m Word16+getEventKeyHardwareKeycode s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO Word16+    return val++{- |+Set the value of the “@hardware_keycode@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventKey [ #hardwareKeycode 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventKeyHardwareKeycode :: MonadIO m => EventKey -> Word16 -> m ()+setEventKeyHardwareKeycode s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 48) (val :: Word16)++#if ENABLE_OVERLOADING+data EventKeyHardwareKeycodeFieldInfo+instance AttrInfo EventKeyHardwareKeycodeFieldInfo where+    type AttrAllowedOps EventKeyHardwareKeycodeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventKeyHardwareKeycodeFieldInfo = (~) Word16+    type AttrBaseTypeConstraint EventKeyHardwareKeycodeFieldInfo = (~) EventKey+    type AttrGetType EventKeyHardwareKeycodeFieldInfo = Word16+    type AttrLabel EventKeyHardwareKeycodeFieldInfo = "hardware_keycode"+    type AttrOrigin EventKeyHardwareKeycodeFieldInfo = EventKey+    attrGet _ = getEventKeyHardwareKeycode+    attrSet _ = setEventKeyHardwareKeycode+    attrConstruct = undefined+    attrClear _ = undefined++eventKey_hardwareKeycode :: AttrLabelProxy "hardwareKeycode"+eventKey_hardwareKeycode = AttrLabelProxy++#endif+++{- |+Get the value of the “@group@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventKey #group+@+-}+getEventKeyGroup :: MonadIO m => EventKey -> m Word8+getEventKeyGroup s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 50) :: IO Word8+    return val++{- |+Set the value of the “@group@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventKey [ #group 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventKeyGroup :: MonadIO m => EventKey -> Word8 -> m ()+setEventKeyGroup s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 50) (val :: Word8)++#if ENABLE_OVERLOADING+data EventKeyGroupFieldInfo+instance AttrInfo EventKeyGroupFieldInfo where+    type AttrAllowedOps EventKeyGroupFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventKeyGroupFieldInfo = (~) Word8+    type AttrBaseTypeConstraint EventKeyGroupFieldInfo = (~) EventKey+    type AttrGetType EventKeyGroupFieldInfo = Word8+    type AttrLabel EventKeyGroupFieldInfo = "group"+    type AttrOrigin EventKeyGroupFieldInfo = EventKey+    attrGet _ = getEventKeyGroup+    attrSet _ = setEventKeyGroup+    attrConstruct = undefined+    attrClear _ = undefined++eventKey_group :: AttrLabelProxy "group"+eventKey_group = AttrLabelProxy++#endif+++{- |+Get the value of the “@is_modifier@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventKey #isModifier+@+-}+getEventKeyIsModifier :: MonadIO m => EventKey -> m Word32+getEventKeyIsModifier s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 52) :: IO Word32+    return val++{- |+Set the value of the “@is_modifier@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventKey [ #isModifier 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventKeyIsModifier :: MonadIO m => EventKey -> Word32 -> m ()+setEventKeyIsModifier s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 52) (val :: Word32)++#if ENABLE_OVERLOADING+data EventKeyIsModifierFieldInfo+instance AttrInfo EventKeyIsModifierFieldInfo where+    type AttrAllowedOps EventKeyIsModifierFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventKeyIsModifierFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventKeyIsModifierFieldInfo = (~) EventKey+    type AttrGetType EventKeyIsModifierFieldInfo = Word32+    type AttrLabel EventKeyIsModifierFieldInfo = "is_modifier"+    type AttrOrigin EventKeyIsModifierFieldInfo = EventKey+    attrGet _ = getEventKeyIsModifier+    attrSet _ = setEventKeyIsModifier+    attrConstruct = undefined+    attrClear _ = undefined++eventKey_isModifier :: AttrLabelProxy "isModifier"+eventKey_isModifier = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList EventKey+type instance O.AttributeList EventKey = EventKeyAttributeList+type EventKeyAttributeList = ('[ '("type", EventKeyTypeFieldInfo), '("window", EventKeyWindowFieldInfo), '("sendEvent", EventKeySendEventFieldInfo), '("time", EventKeyTimeFieldInfo), '("state", EventKeyStateFieldInfo), '("keyval", EventKeyKeyvalFieldInfo), '("length", EventKeyLengthFieldInfo), '("string", EventKeyStringFieldInfo), '("hardwareKeycode", EventKeyHardwareKeycodeFieldInfo), '("group", EventKeyGroupFieldInfo), '("isModifier", EventKeyIsModifierFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveEventKeyMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventKeyMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventKeyMethod t EventKey, O.MethodInfo info EventKey p) => OL.IsLabel t (EventKey -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/EventKey.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.EventKey where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype EventKey = EventKey (ManagedPtr EventKey)+instance WrappedPtr EventKey where
+ GI/Gdk/Structs/EventMotion.hs view
@@ -0,0 +1,808 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Generated when the pointer moves.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.EventMotion+    ( ++-- * Exported types+    EventMotion(..)                         ,+    newZeroEventMotion                      ,+    noEventMotion                           ,+++ -- * Properties+-- ** axes #attr:axes#+{- | /@x@/, /@y@/ translated to the axes of /@device@/, or 'Nothing' if /@device@/ is+  the mouse.+-}+#if ENABLE_OVERLOADING+    eventMotion_axes                        ,+#endif+    getEventMotionAxes                      ,+    setEventMotionAxes                      ,+++-- ** device #attr:device#+{- | the master device that the event originated from. Use+'GI.Gdk.Unions.Event.eventGetSourceDevice' to get the slave device.+-}+    clearEventMotionDevice                  ,+#if ENABLE_OVERLOADING+    eventMotion_device                      ,+#endif+    getEventMotionDevice                    ,+    setEventMotionDevice                    ,+++-- ** isHint #attr:isHint#+{- | set to 1 if this event is just a hint, see the+  'GI.Gdk.Flags.EventMaskPointerMotionHintMask' value of 'GI.Gdk.Flags.EventMask'.+-}+#if ENABLE_OVERLOADING+    eventMotion_isHint                      ,+#endif+    getEventMotionIsHint                    ,+    setEventMotionIsHint                    ,+++-- ** sendEvent #attr:sendEvent#+{- | 'True' if the event was sent explicitly.+-}+#if ENABLE_OVERLOADING+    eventMotion_sendEvent                   ,+#endif+    getEventMotionSendEvent                 ,+    setEventMotionSendEvent                 ,+++-- ** state #attr:state#+{- | a bit-mask representing the state of+  the modifier keys (e.g. Control, Shift and Alt) and the pointer+  buttons. See 'GI.Gdk.Flags.ModifierType'.+-}+#if ENABLE_OVERLOADING+    eventMotion_state                       ,+#endif+    getEventMotionState                     ,+    setEventMotionState                     ,+++-- ** time #attr:time#+{- | the time of the event in milliseconds.+-}+#if ENABLE_OVERLOADING+    eventMotion_time                        ,+#endif+    getEventMotionTime                      ,+    setEventMotionTime                      ,+++-- ** type #attr:type#+{- | the type of the event.+-}+#if ENABLE_OVERLOADING+    eventMotion_type                        ,+#endif+    getEventMotionType                      ,+    setEventMotionType                      ,+++-- ** window #attr:window#+{- | the window which received the event.+-}+    clearEventMotionWindow                  ,+#if ENABLE_OVERLOADING+    eventMotion_window                      ,+#endif+    getEventMotionWindow                    ,+    setEventMotionWindow                    ,+++-- ** x #attr:x#+{- | the x coordinate of the pointer relative to the window.+-}+#if ENABLE_OVERLOADING+    eventMotion_x                           ,+#endif+    getEventMotionX                         ,+    setEventMotionX                         ,+++-- ** xRoot #attr:xRoot#+{- | the x coordinate of the pointer relative to the root of the+  screen.+-}+#if ENABLE_OVERLOADING+    eventMotion_xRoot                       ,+#endif+    getEventMotionXRoot                     ,+    setEventMotionXRoot                     ,+++-- ** y #attr:y#+{- | the y coordinate of the pointer relative to the window.+-}+#if ENABLE_OVERLOADING+    eventMotion_y                           ,+#endif+    getEventMotionY                         ,+    setEventMotionY                         ,+++-- ** yRoot #attr:yRoot#+{- | the y coordinate of the pointer relative to the root of the+  screen.+-}+#if ENABLE_OVERLOADING+    eventMotion_yRoot                       ,+#endif+    getEventMotionYRoot                     ,+    setEventMotionYRoot                     ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Flags as Gdk.Flags+import {-# SOURCE #-} qualified GI.Gdk.Objects.Device as Gdk.Device+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window++-- | Memory-managed wrapper type.+newtype EventMotion = EventMotion (ManagedPtr EventMotion)+instance WrappedPtr EventMotion where+    wrappedPtrCalloc = callocBytes 80+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 80 >=> wrapPtr EventMotion)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `EventMotion` struct initialized to zero.+newZeroEventMotion :: MonadIO m => m EventMotion+newZeroEventMotion = liftIO $ wrappedPtrCalloc >>= wrapPtr EventMotion++instance tag ~ 'AttrSet => Constructible EventMotion tag where+    new _ attrs = do+        o <- newZeroEventMotion+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `EventMotion`.+noEventMotion :: Maybe EventMotion+noEventMotion = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventMotion #type+@+-}+getEventMotionType :: MonadIO m => EventMotion -> m Gdk.Enums.EventType+getEventMotionType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventMotion [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventMotionType :: MonadIO m => EventMotion -> Gdk.Enums.EventType -> m ()+setEventMotionType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventMotionTypeFieldInfo+instance AttrInfo EventMotionTypeFieldInfo where+    type AttrAllowedOps EventMotionTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventMotionTypeFieldInfo = (~) Gdk.Enums.EventType+    type AttrBaseTypeConstraint EventMotionTypeFieldInfo = (~) EventMotion+    type AttrGetType EventMotionTypeFieldInfo = Gdk.Enums.EventType+    type AttrLabel EventMotionTypeFieldInfo = "type"+    type AttrOrigin EventMotionTypeFieldInfo = EventMotion+    attrGet _ = getEventMotionType+    attrSet _ = setEventMotionType+    attrConstruct = undefined+    attrClear _ = undefined++eventMotion_type :: AttrLabelProxy "type"+eventMotion_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventMotion #window+@+-}+getEventMotionWindow :: MonadIO m => EventMotion -> m (Maybe Gdk.Window.Window)+getEventMotionWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventMotion [ #window 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventMotionWindow :: MonadIO m => EventMotion -> Ptr Gdk.Window.Window -> m ()+setEventMotionWindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@window@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #window+@+-}+clearEventMotionWindow :: MonadIO m => EventMotion -> m ()+clearEventMotionWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventMotionWindowFieldInfo+instance AttrInfo EventMotionWindowFieldInfo where+    type AttrAllowedOps EventMotionWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventMotionWindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventMotionWindowFieldInfo = (~) EventMotion+    type AttrGetType EventMotionWindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventMotionWindowFieldInfo = "window"+    type AttrOrigin EventMotionWindowFieldInfo = EventMotion+    attrGet _ = getEventMotionWindow+    attrSet _ = setEventMotionWindow+    attrConstruct = undefined+    attrClear _ = clearEventMotionWindow++eventMotion_window :: AttrLabelProxy "window"+eventMotion_window = AttrLabelProxy++#endif+++{- |+Get the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventMotion #sendEvent+@+-}+getEventMotionSendEvent :: MonadIO m => EventMotion -> m Int8+getEventMotionSendEvent s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++{- |+Set the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventMotion [ #sendEvent 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventMotionSendEvent :: MonadIO m => EventMotion -> Int8 -> m ()+setEventMotionSendEvent s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int8)++#if ENABLE_OVERLOADING+data EventMotionSendEventFieldInfo+instance AttrInfo EventMotionSendEventFieldInfo where+    type AttrAllowedOps EventMotionSendEventFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventMotionSendEventFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventMotionSendEventFieldInfo = (~) EventMotion+    type AttrGetType EventMotionSendEventFieldInfo = Int8+    type AttrLabel EventMotionSendEventFieldInfo = "send_event"+    type AttrOrigin EventMotionSendEventFieldInfo = EventMotion+    attrGet _ = getEventMotionSendEvent+    attrSet _ = setEventMotionSendEvent+    attrConstruct = undefined+    attrClear _ = undefined++eventMotion_sendEvent :: AttrLabelProxy "sendEvent"+eventMotion_sendEvent = AttrLabelProxy++#endif+++{- |+Get the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventMotion #time+@+-}+getEventMotionTime :: MonadIO m => EventMotion -> m Word32+getEventMotionTime s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Word32+    return val++{- |+Set the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventMotion [ #time 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventMotionTime :: MonadIO m => EventMotion -> Word32 -> m ()+setEventMotionTime s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 20) (val :: Word32)++#if ENABLE_OVERLOADING+data EventMotionTimeFieldInfo+instance AttrInfo EventMotionTimeFieldInfo where+    type AttrAllowedOps EventMotionTimeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventMotionTimeFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventMotionTimeFieldInfo = (~) EventMotion+    type AttrGetType EventMotionTimeFieldInfo = Word32+    type AttrLabel EventMotionTimeFieldInfo = "time"+    type AttrOrigin EventMotionTimeFieldInfo = EventMotion+    attrGet _ = getEventMotionTime+    attrSet _ = setEventMotionTime+    attrConstruct = undefined+    attrClear _ = undefined++eventMotion_time :: AttrLabelProxy "time"+eventMotion_time = AttrLabelProxy++#endif+++{- |+Get the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventMotion #x+@+-}+getEventMotionX :: MonadIO m => EventMotion -> m Double+getEventMotionX s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventMotion [ #x 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventMotionX :: MonadIO m => EventMotion -> Double -> m ()+setEventMotionX s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 24) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventMotionXFieldInfo+instance AttrInfo EventMotionXFieldInfo where+    type AttrAllowedOps EventMotionXFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventMotionXFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventMotionXFieldInfo = (~) EventMotion+    type AttrGetType EventMotionXFieldInfo = Double+    type AttrLabel EventMotionXFieldInfo = "x"+    type AttrOrigin EventMotionXFieldInfo = EventMotion+    attrGet _ = getEventMotionX+    attrSet _ = setEventMotionX+    attrConstruct = undefined+    attrClear _ = undefined++eventMotion_x :: AttrLabelProxy "x"+eventMotion_x = AttrLabelProxy++#endif+++{- |+Get the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventMotion #y+@+-}+getEventMotionY :: MonadIO m => EventMotion -> m Double+getEventMotionY s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventMotion [ #y 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventMotionY :: MonadIO m => EventMotion -> Double -> m ()+setEventMotionY s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 32) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventMotionYFieldInfo+instance AttrInfo EventMotionYFieldInfo where+    type AttrAllowedOps EventMotionYFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventMotionYFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventMotionYFieldInfo = (~) EventMotion+    type AttrGetType EventMotionYFieldInfo = Double+    type AttrLabel EventMotionYFieldInfo = "y"+    type AttrOrigin EventMotionYFieldInfo = EventMotion+    attrGet _ = getEventMotionY+    attrSet _ = setEventMotionY+    attrConstruct = undefined+    attrClear _ = undefined++eventMotion_y :: AttrLabelProxy "y"+eventMotion_y = AttrLabelProxy++#endif+++{- |+Get the value of the “@axes@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventMotion #axes+@+-}+getEventMotionAxes :: MonadIO m => EventMotion -> m Double+getEventMotionAxes s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@axes@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventMotion [ #axes 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventMotionAxes :: MonadIO m => EventMotion -> Double -> m ()+setEventMotionAxes s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 40) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventMotionAxesFieldInfo+instance AttrInfo EventMotionAxesFieldInfo where+    type AttrAllowedOps EventMotionAxesFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventMotionAxesFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventMotionAxesFieldInfo = (~) EventMotion+    type AttrGetType EventMotionAxesFieldInfo = Double+    type AttrLabel EventMotionAxesFieldInfo = "axes"+    type AttrOrigin EventMotionAxesFieldInfo = EventMotion+    attrGet _ = getEventMotionAxes+    attrSet _ = setEventMotionAxes+    attrConstruct = undefined+    attrClear _ = undefined++eventMotion_axes :: AttrLabelProxy "axes"+eventMotion_axes = AttrLabelProxy++#endif+++{- |+Get the value of the “@state@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventMotion #state+@+-}+getEventMotionState :: MonadIO m => EventMotion -> m [Gdk.Flags.ModifierType]+getEventMotionState s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO CUInt+    let val' = wordToGFlags val+    return val'++{- |+Set the value of the “@state@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventMotion [ #state 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventMotionState :: MonadIO m => EventMotion -> [Gdk.Flags.ModifierType] -> m ()+setEventMotionState s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = gflagsToWord val+    poke (ptr `plusPtr` 48) (val' :: CUInt)++#if ENABLE_OVERLOADING+data EventMotionStateFieldInfo+instance AttrInfo EventMotionStateFieldInfo where+    type AttrAllowedOps EventMotionStateFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventMotionStateFieldInfo = (~) [Gdk.Flags.ModifierType]+    type AttrBaseTypeConstraint EventMotionStateFieldInfo = (~) EventMotion+    type AttrGetType EventMotionStateFieldInfo = [Gdk.Flags.ModifierType]+    type AttrLabel EventMotionStateFieldInfo = "state"+    type AttrOrigin EventMotionStateFieldInfo = EventMotion+    attrGet _ = getEventMotionState+    attrSet _ = setEventMotionState+    attrConstruct = undefined+    attrClear _ = undefined++eventMotion_state :: AttrLabelProxy "state"+eventMotion_state = AttrLabelProxy++#endif+++{- |+Get the value of the “@is_hint@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventMotion #isHint+@+-}+getEventMotionIsHint :: MonadIO m => EventMotion -> m Int16+getEventMotionIsHint s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 52) :: IO Int16+    return val++{- |+Set the value of the “@is_hint@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventMotion [ #isHint 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventMotionIsHint :: MonadIO m => EventMotion -> Int16 -> m ()+setEventMotionIsHint s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 52) (val :: Int16)++#if ENABLE_OVERLOADING+data EventMotionIsHintFieldInfo+instance AttrInfo EventMotionIsHintFieldInfo where+    type AttrAllowedOps EventMotionIsHintFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventMotionIsHintFieldInfo = (~) Int16+    type AttrBaseTypeConstraint EventMotionIsHintFieldInfo = (~) EventMotion+    type AttrGetType EventMotionIsHintFieldInfo = Int16+    type AttrLabel EventMotionIsHintFieldInfo = "is_hint"+    type AttrOrigin EventMotionIsHintFieldInfo = EventMotion+    attrGet _ = getEventMotionIsHint+    attrSet _ = setEventMotionIsHint+    attrConstruct = undefined+    attrClear _ = undefined++eventMotion_isHint :: AttrLabelProxy "isHint"+eventMotion_isHint = AttrLabelProxy++#endif+++{- |+Get the value of the “@device@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventMotion #device+@+-}+getEventMotionDevice :: MonadIO m => EventMotion -> m (Maybe Gdk.Device.Device)+getEventMotionDevice s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 56) :: IO (Ptr Gdk.Device.Device)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Device.Device) val'+        return val''+    return result++{- |+Set the value of the “@device@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventMotion [ #device 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventMotionDevice :: MonadIO m => EventMotion -> Ptr Gdk.Device.Device -> m ()+setEventMotionDevice s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 56) (val :: Ptr Gdk.Device.Device)++{- |+Set the value of the “@device@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #device+@+-}+clearEventMotionDevice :: MonadIO m => EventMotion -> m ()+clearEventMotionDevice s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 56) (FP.nullPtr :: Ptr Gdk.Device.Device)++#if ENABLE_OVERLOADING+data EventMotionDeviceFieldInfo+instance AttrInfo EventMotionDeviceFieldInfo where+    type AttrAllowedOps EventMotionDeviceFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventMotionDeviceFieldInfo = (~) (Ptr Gdk.Device.Device)+    type AttrBaseTypeConstraint EventMotionDeviceFieldInfo = (~) EventMotion+    type AttrGetType EventMotionDeviceFieldInfo = Maybe Gdk.Device.Device+    type AttrLabel EventMotionDeviceFieldInfo = "device"+    type AttrOrigin EventMotionDeviceFieldInfo = EventMotion+    attrGet _ = getEventMotionDevice+    attrSet _ = setEventMotionDevice+    attrConstruct = undefined+    attrClear _ = clearEventMotionDevice++eventMotion_device :: AttrLabelProxy "device"+eventMotion_device = AttrLabelProxy++#endif+++{- |+Get the value of the “@x_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventMotion #xRoot+@+-}+getEventMotionXRoot :: MonadIO m => EventMotion -> m Double+getEventMotionXRoot s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 64) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@x_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventMotion [ #xRoot 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventMotionXRoot :: MonadIO m => EventMotion -> Double -> m ()+setEventMotionXRoot s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 64) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventMotionXRootFieldInfo+instance AttrInfo EventMotionXRootFieldInfo where+    type AttrAllowedOps EventMotionXRootFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventMotionXRootFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventMotionXRootFieldInfo = (~) EventMotion+    type AttrGetType EventMotionXRootFieldInfo = Double+    type AttrLabel EventMotionXRootFieldInfo = "x_root"+    type AttrOrigin EventMotionXRootFieldInfo = EventMotion+    attrGet _ = getEventMotionXRoot+    attrSet _ = setEventMotionXRoot+    attrConstruct = undefined+    attrClear _ = undefined++eventMotion_xRoot :: AttrLabelProxy "xRoot"+eventMotion_xRoot = AttrLabelProxy++#endif+++{- |+Get the value of the “@y_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventMotion #yRoot+@+-}+getEventMotionYRoot :: MonadIO m => EventMotion -> m Double+getEventMotionYRoot s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 72) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@y_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventMotion [ #yRoot 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventMotionYRoot :: MonadIO m => EventMotion -> Double -> m ()+setEventMotionYRoot s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 72) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventMotionYRootFieldInfo+instance AttrInfo EventMotionYRootFieldInfo where+    type AttrAllowedOps EventMotionYRootFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventMotionYRootFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventMotionYRootFieldInfo = (~) EventMotion+    type AttrGetType EventMotionYRootFieldInfo = Double+    type AttrLabel EventMotionYRootFieldInfo = "y_root"+    type AttrOrigin EventMotionYRootFieldInfo = EventMotion+    attrGet _ = getEventMotionYRoot+    attrSet _ = setEventMotionYRoot+    attrConstruct = undefined+    attrClear _ = undefined++eventMotion_yRoot :: AttrLabelProxy "yRoot"+eventMotion_yRoot = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList EventMotion+type instance O.AttributeList EventMotion = EventMotionAttributeList+type EventMotionAttributeList = ('[ '("type", EventMotionTypeFieldInfo), '("window", EventMotionWindowFieldInfo), '("sendEvent", EventMotionSendEventFieldInfo), '("time", EventMotionTimeFieldInfo), '("x", EventMotionXFieldInfo), '("y", EventMotionYFieldInfo), '("axes", EventMotionAxesFieldInfo), '("state", EventMotionStateFieldInfo), '("isHint", EventMotionIsHintFieldInfo), '("device", EventMotionDeviceFieldInfo), '("xRoot", EventMotionXRootFieldInfo), '("yRoot", EventMotionYRootFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveEventMotionMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventMotionMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventMotionMethod t EventMotion, O.MethodInfo info EventMotion p) => OL.IsLabel t (EventMotion -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/EventMotion.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.EventMotion where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype EventMotion = EventMotion (ManagedPtr EventMotion)+instance WrappedPtr EventMotion where
+ GI/Gdk/Structs/EventOwnerChange.hs view
@@ -0,0 +1,563 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Generated when the owner of a selection changes. On X11, this+information is only available if the X server supports the XFIXES+extension.++/Since: 2.6/+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.EventOwnerChange+    ( ++-- * Exported types+    EventOwnerChange(..)                    ,+    newZeroEventOwnerChange                 ,+    noEventOwnerChange                      ,+++ -- * Properties+-- ** owner #attr:owner#+{- | the new owner of the selection, or 'Nothing' if there is none+-}+    clearEventOwnerChangeOwner              ,+#if ENABLE_OVERLOADING+    eventOwnerChange_owner                  ,+#endif+    getEventOwnerChangeOwner                ,+    setEventOwnerChangeOwner                ,+++-- ** reason #attr:reason#+{- | the reason for the ownership change as a 'GI.Gdk.Enums.OwnerChange' value+-}+#if ENABLE_OVERLOADING+    eventOwnerChange_reason                 ,+#endif+    getEventOwnerChangeReason               ,+    setEventOwnerChangeReason               ,+++-- ** selection #attr:selection#+{- | the atom identifying the selection+-}+#if ENABLE_OVERLOADING+    eventOwnerChange_selection              ,+#endif+    getEventOwnerChangeSelection            ,+++-- ** selectionTime #attr:selectionTime#+{- | the time at which the selection ownership was taken+  over+-}+#if ENABLE_OVERLOADING+    eventOwnerChange_selectionTime          ,+#endif+    getEventOwnerChangeSelectionTime        ,+    setEventOwnerChangeSelectionTime        ,+++-- ** sendEvent #attr:sendEvent#+{- | 'True' if the event was sent explicitly.+-}+#if ENABLE_OVERLOADING+    eventOwnerChange_sendEvent              ,+#endif+    getEventOwnerChangeSendEvent            ,+    setEventOwnerChangeSendEvent            ,+++-- ** time #attr:time#+{- | the timestamp of the event+-}+#if ENABLE_OVERLOADING+    eventOwnerChange_time                   ,+#endif+    getEventOwnerChangeTime                 ,+    setEventOwnerChangeTime                 ,+++-- ** type #attr:type#+{- | the type of the event ('GI.Gdk.Enums.EventTypeOwnerChange').+-}+#if ENABLE_OVERLOADING+    eventOwnerChange_type                   ,+#endif+    getEventOwnerChangeType                 ,+    setEventOwnerChangeType                 ,+++-- ** window #attr:window#+{- | the window which received the event+-}+    clearEventOwnerChangeWindow             ,+#if ENABLE_OVERLOADING+    eventOwnerChange_window                 ,+#endif+    getEventOwnerChangeWindow               ,+    setEventOwnerChangeWindow               ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window+import {-# SOURCE #-} qualified GI.Gdk.Structs.Atom as Gdk.Atom++-- | Memory-managed wrapper type.+newtype EventOwnerChange = EventOwnerChange (ManagedPtr EventOwnerChange)+instance WrappedPtr EventOwnerChange where+    wrappedPtrCalloc = callocBytes 56+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 56 >=> wrapPtr EventOwnerChange)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `EventOwnerChange` struct initialized to zero.+newZeroEventOwnerChange :: MonadIO m => m EventOwnerChange+newZeroEventOwnerChange = liftIO $ wrappedPtrCalloc >>= wrapPtr EventOwnerChange++instance tag ~ 'AttrSet => Constructible EventOwnerChange tag where+    new _ attrs = do+        o <- newZeroEventOwnerChange+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `EventOwnerChange`.+noEventOwnerChange :: Maybe EventOwnerChange+noEventOwnerChange = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventOwnerChange #type+@+-}+getEventOwnerChangeType :: MonadIO m => EventOwnerChange -> m Gdk.Enums.EventType+getEventOwnerChangeType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventOwnerChange [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventOwnerChangeType :: MonadIO m => EventOwnerChange -> Gdk.Enums.EventType -> m ()+setEventOwnerChangeType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventOwnerChangeTypeFieldInfo+instance AttrInfo EventOwnerChangeTypeFieldInfo where+    type AttrAllowedOps EventOwnerChangeTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventOwnerChangeTypeFieldInfo = (~) Gdk.Enums.EventType+    type AttrBaseTypeConstraint EventOwnerChangeTypeFieldInfo = (~) EventOwnerChange+    type AttrGetType EventOwnerChangeTypeFieldInfo = Gdk.Enums.EventType+    type AttrLabel EventOwnerChangeTypeFieldInfo = "type"+    type AttrOrigin EventOwnerChangeTypeFieldInfo = EventOwnerChange+    attrGet _ = getEventOwnerChangeType+    attrSet _ = setEventOwnerChangeType+    attrConstruct = undefined+    attrClear _ = undefined++eventOwnerChange_type :: AttrLabelProxy "type"+eventOwnerChange_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventOwnerChange #window+@+-}+getEventOwnerChangeWindow :: MonadIO m => EventOwnerChange -> m (Maybe Gdk.Window.Window)+getEventOwnerChangeWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventOwnerChange [ #window 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventOwnerChangeWindow :: MonadIO m => EventOwnerChange -> Ptr Gdk.Window.Window -> m ()+setEventOwnerChangeWindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@window@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #window+@+-}+clearEventOwnerChangeWindow :: MonadIO m => EventOwnerChange -> m ()+clearEventOwnerChangeWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventOwnerChangeWindowFieldInfo+instance AttrInfo EventOwnerChangeWindowFieldInfo where+    type AttrAllowedOps EventOwnerChangeWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventOwnerChangeWindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventOwnerChangeWindowFieldInfo = (~) EventOwnerChange+    type AttrGetType EventOwnerChangeWindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventOwnerChangeWindowFieldInfo = "window"+    type AttrOrigin EventOwnerChangeWindowFieldInfo = EventOwnerChange+    attrGet _ = getEventOwnerChangeWindow+    attrSet _ = setEventOwnerChangeWindow+    attrConstruct = undefined+    attrClear _ = clearEventOwnerChangeWindow++eventOwnerChange_window :: AttrLabelProxy "window"+eventOwnerChange_window = AttrLabelProxy++#endif+++{- |+Get the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventOwnerChange #sendEvent+@+-}+getEventOwnerChangeSendEvent :: MonadIO m => EventOwnerChange -> m Int8+getEventOwnerChangeSendEvent s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++{- |+Set the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventOwnerChange [ #sendEvent 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventOwnerChangeSendEvent :: MonadIO m => EventOwnerChange -> Int8 -> m ()+setEventOwnerChangeSendEvent s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int8)++#if ENABLE_OVERLOADING+data EventOwnerChangeSendEventFieldInfo+instance AttrInfo EventOwnerChangeSendEventFieldInfo where+    type AttrAllowedOps EventOwnerChangeSendEventFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventOwnerChangeSendEventFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventOwnerChangeSendEventFieldInfo = (~) EventOwnerChange+    type AttrGetType EventOwnerChangeSendEventFieldInfo = Int8+    type AttrLabel EventOwnerChangeSendEventFieldInfo = "send_event"+    type AttrOrigin EventOwnerChangeSendEventFieldInfo = EventOwnerChange+    attrGet _ = getEventOwnerChangeSendEvent+    attrSet _ = setEventOwnerChangeSendEvent+    attrConstruct = undefined+    attrClear _ = undefined++eventOwnerChange_sendEvent :: AttrLabelProxy "sendEvent"+eventOwnerChange_sendEvent = AttrLabelProxy++#endif+++{- |+Get the value of the “@owner@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventOwnerChange #owner+@+-}+getEventOwnerChangeOwner :: MonadIO m => EventOwnerChange -> m (Maybe Gdk.Window.Window)+getEventOwnerChangeOwner s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@owner@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventOwnerChange [ #owner 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventOwnerChangeOwner :: MonadIO m => EventOwnerChange -> Ptr Gdk.Window.Window -> m ()+setEventOwnerChangeOwner s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 24) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@owner@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #owner+@+-}+clearEventOwnerChangeOwner :: MonadIO m => EventOwnerChange -> m ()+clearEventOwnerChangeOwner s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 24) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventOwnerChangeOwnerFieldInfo+instance AttrInfo EventOwnerChangeOwnerFieldInfo where+    type AttrAllowedOps EventOwnerChangeOwnerFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventOwnerChangeOwnerFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventOwnerChangeOwnerFieldInfo = (~) EventOwnerChange+    type AttrGetType EventOwnerChangeOwnerFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventOwnerChangeOwnerFieldInfo = "owner"+    type AttrOrigin EventOwnerChangeOwnerFieldInfo = EventOwnerChange+    attrGet _ = getEventOwnerChangeOwner+    attrSet _ = setEventOwnerChangeOwner+    attrConstruct = undefined+    attrClear _ = clearEventOwnerChangeOwner++eventOwnerChange_owner :: AttrLabelProxy "owner"+eventOwnerChange_owner = AttrLabelProxy++#endif+++{- |+Get the value of the “@reason@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventOwnerChange #reason+@+-}+getEventOwnerChangeReason :: MonadIO m => EventOwnerChange -> m Gdk.Enums.OwnerChange+getEventOwnerChangeReason s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@reason@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventOwnerChange [ #reason 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventOwnerChangeReason :: MonadIO m => EventOwnerChange -> Gdk.Enums.OwnerChange -> m ()+setEventOwnerChangeReason s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 32) (val' :: CUInt)++#if ENABLE_OVERLOADING+data EventOwnerChangeReasonFieldInfo+instance AttrInfo EventOwnerChangeReasonFieldInfo where+    type AttrAllowedOps EventOwnerChangeReasonFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventOwnerChangeReasonFieldInfo = (~) Gdk.Enums.OwnerChange+    type AttrBaseTypeConstraint EventOwnerChangeReasonFieldInfo = (~) EventOwnerChange+    type AttrGetType EventOwnerChangeReasonFieldInfo = Gdk.Enums.OwnerChange+    type AttrLabel EventOwnerChangeReasonFieldInfo = "reason"+    type AttrOrigin EventOwnerChangeReasonFieldInfo = EventOwnerChange+    attrGet _ = getEventOwnerChangeReason+    attrSet _ = setEventOwnerChangeReason+    attrConstruct = undefined+    attrClear _ = undefined++eventOwnerChange_reason :: AttrLabelProxy "reason"+eventOwnerChange_reason = AttrLabelProxy++#endif+++{- |+Get the value of the “@selection@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventOwnerChange #selection+@+-}+getEventOwnerChangeSelection :: MonadIO m => EventOwnerChange -> m Gdk.Atom.Atom+getEventOwnerChangeSelection s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 40 :: (Ptr Gdk.Atom.Atom)+    val' <- (newPtr Gdk.Atom.Atom) val+    return val'++#if ENABLE_OVERLOADING+data EventOwnerChangeSelectionFieldInfo+instance AttrInfo EventOwnerChangeSelectionFieldInfo where+    type AttrAllowedOps EventOwnerChangeSelectionFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventOwnerChangeSelectionFieldInfo = (~) (Ptr Gdk.Atom.Atom)+    type AttrBaseTypeConstraint EventOwnerChangeSelectionFieldInfo = (~) EventOwnerChange+    type AttrGetType EventOwnerChangeSelectionFieldInfo = Gdk.Atom.Atom+    type AttrLabel EventOwnerChangeSelectionFieldInfo = "selection"+    type AttrOrigin EventOwnerChangeSelectionFieldInfo = EventOwnerChange+    attrGet _ = getEventOwnerChangeSelection+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++eventOwnerChange_selection :: AttrLabelProxy "selection"+eventOwnerChange_selection = AttrLabelProxy++#endif+++{- |+Get the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventOwnerChange #time+@+-}+getEventOwnerChangeTime :: MonadIO m => EventOwnerChange -> m Word32+getEventOwnerChangeTime s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO Word32+    return val++{- |+Set the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventOwnerChange [ #time 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventOwnerChangeTime :: MonadIO m => EventOwnerChange -> Word32 -> m ()+setEventOwnerChangeTime s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 48) (val :: Word32)++#if ENABLE_OVERLOADING+data EventOwnerChangeTimeFieldInfo+instance AttrInfo EventOwnerChangeTimeFieldInfo where+    type AttrAllowedOps EventOwnerChangeTimeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventOwnerChangeTimeFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventOwnerChangeTimeFieldInfo = (~) EventOwnerChange+    type AttrGetType EventOwnerChangeTimeFieldInfo = Word32+    type AttrLabel EventOwnerChangeTimeFieldInfo = "time"+    type AttrOrigin EventOwnerChangeTimeFieldInfo = EventOwnerChange+    attrGet _ = getEventOwnerChangeTime+    attrSet _ = setEventOwnerChangeTime+    attrConstruct = undefined+    attrClear _ = undefined++eventOwnerChange_time :: AttrLabelProxy "time"+eventOwnerChange_time = AttrLabelProxy++#endif+++{- |+Get the value of the “@selection_time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventOwnerChange #selectionTime+@+-}+getEventOwnerChangeSelectionTime :: MonadIO m => EventOwnerChange -> m Word32+getEventOwnerChangeSelectionTime s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 52) :: IO Word32+    return val++{- |+Set the value of the “@selection_time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventOwnerChange [ #selectionTime 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventOwnerChangeSelectionTime :: MonadIO m => EventOwnerChange -> Word32 -> m ()+setEventOwnerChangeSelectionTime s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 52) (val :: Word32)++#if ENABLE_OVERLOADING+data EventOwnerChangeSelectionTimeFieldInfo+instance AttrInfo EventOwnerChangeSelectionTimeFieldInfo where+    type AttrAllowedOps EventOwnerChangeSelectionTimeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventOwnerChangeSelectionTimeFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventOwnerChangeSelectionTimeFieldInfo = (~) EventOwnerChange+    type AttrGetType EventOwnerChangeSelectionTimeFieldInfo = Word32+    type AttrLabel EventOwnerChangeSelectionTimeFieldInfo = "selection_time"+    type AttrOrigin EventOwnerChangeSelectionTimeFieldInfo = EventOwnerChange+    attrGet _ = getEventOwnerChangeSelectionTime+    attrSet _ = setEventOwnerChangeSelectionTime+    attrConstruct = undefined+    attrClear _ = undefined++eventOwnerChange_selectionTime :: AttrLabelProxy "selectionTime"+eventOwnerChange_selectionTime = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList EventOwnerChange+type instance O.AttributeList EventOwnerChange = EventOwnerChangeAttributeList+type EventOwnerChangeAttributeList = ('[ '("type", EventOwnerChangeTypeFieldInfo), '("window", EventOwnerChangeWindowFieldInfo), '("sendEvent", EventOwnerChangeSendEventFieldInfo), '("owner", EventOwnerChangeOwnerFieldInfo), '("reason", EventOwnerChangeReasonFieldInfo), '("selection", EventOwnerChangeSelectionFieldInfo), '("time", EventOwnerChangeTimeFieldInfo), '("selectionTime", EventOwnerChangeSelectionTimeFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveEventOwnerChangeMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventOwnerChangeMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventOwnerChangeMethod t EventOwnerChange, O.MethodInfo info EventOwnerChange p) => OL.IsLabel t (EventOwnerChange -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/EventOwnerChange.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.EventOwnerChange where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype EventOwnerChange = EventOwnerChange (ManagedPtr EventOwnerChange)+instance WrappedPtr EventOwnerChange where
+ GI/Gdk/Structs/EventPadAxis.hs view
@@ -0,0 +1,558 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Generated during 'GI.Gdk.Enums.InputSourceTabletPad' interaction with tactile sensors.++/Since: 3.22/+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.EventPadAxis+    ( ++-- * Exported types+    EventPadAxis(..)                        ,+    newZeroEventPadAxis                     ,+    noEventPadAxis                          ,+++ -- * Properties+-- ** group #attr:group#+{- | the pad group the ring\/strip belongs to. A 'GI.Gdk.Enums.InputSourceTabletPad'+  device may have one or more groups containing a set of buttons\/rings\/strips+  each.+-}+#if ENABLE_OVERLOADING+    eventPadAxis_group                      ,+#endif+    getEventPadAxisGroup                    ,+    setEventPadAxisGroup                    ,+++-- ** index #attr:index#+{- | number of strip\/ring that was interacted. This number is 0-indexed.+-}+#if ENABLE_OVERLOADING+    eventPadAxis_index                      ,+#endif+    getEventPadAxisIndex                    ,+    setEventPadAxisIndex                    ,+++-- ** mode #attr:mode#+{- | The current mode of /@group@/. Different groups in a 'GI.Gdk.Enums.InputSourceTabletPad'+  device may have different current modes.+-}+#if ENABLE_OVERLOADING+    eventPadAxis_mode                       ,+#endif+    getEventPadAxisMode                     ,+    setEventPadAxisMode                     ,+++-- ** sendEvent #attr:sendEvent#+{- | 'True' if the event was sent explicitly.+-}+#if ENABLE_OVERLOADING+    eventPadAxis_sendEvent                  ,+#endif+    getEventPadAxisSendEvent                ,+    setEventPadAxisSendEvent                ,+++-- ** time #attr:time#+{- | the time of the event in milliseconds.+-}+#if ENABLE_OVERLOADING+    eventPadAxis_time                       ,+#endif+    getEventPadAxisTime                     ,+    setEventPadAxisTime                     ,+++-- ** type #attr:type#+{- | the type of the event ('GI.Gdk.Enums.EventTypePadRing' or 'GI.Gdk.Enums.EventTypePadStrip').+-}+#if ENABLE_OVERLOADING+    eventPadAxis_type                       ,+#endif+    getEventPadAxisType                     ,+    setEventPadAxisType                     ,+++-- ** value #attr:value#+{- | The current value for the given axis.+-}+#if ENABLE_OVERLOADING+    eventPadAxis_value                      ,+#endif+    getEventPadAxisValue                    ,+    setEventPadAxisValue                    ,+++-- ** window #attr:window#+{- | the window which received the event.+-}+    clearEventPadAxisWindow                 ,+#if ENABLE_OVERLOADING+    eventPadAxis_window                     ,+#endif+    getEventPadAxisWindow                   ,+    setEventPadAxisWindow                   ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window++-- | Memory-managed wrapper type.+newtype EventPadAxis = EventPadAxis (ManagedPtr EventPadAxis)+instance WrappedPtr EventPadAxis where+    wrappedPtrCalloc = callocBytes 48+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 48 >=> wrapPtr EventPadAxis)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `EventPadAxis` struct initialized to zero.+newZeroEventPadAxis :: MonadIO m => m EventPadAxis+newZeroEventPadAxis = liftIO $ wrappedPtrCalloc >>= wrapPtr EventPadAxis++instance tag ~ 'AttrSet => Constructible EventPadAxis tag where+    new _ attrs = do+        o <- newZeroEventPadAxis+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `EventPadAxis`.+noEventPadAxis :: Maybe EventPadAxis+noEventPadAxis = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventPadAxis #type+@+-}+getEventPadAxisType :: MonadIO m => EventPadAxis -> m Gdk.Enums.EventType+getEventPadAxisType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventPadAxis [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPadAxisType :: MonadIO m => EventPadAxis -> Gdk.Enums.EventType -> m ()+setEventPadAxisType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventPadAxisTypeFieldInfo+instance AttrInfo EventPadAxisTypeFieldInfo where+    type AttrAllowedOps EventPadAxisTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventPadAxisTypeFieldInfo = (~) Gdk.Enums.EventType+    type AttrBaseTypeConstraint EventPadAxisTypeFieldInfo = (~) EventPadAxis+    type AttrGetType EventPadAxisTypeFieldInfo = Gdk.Enums.EventType+    type AttrLabel EventPadAxisTypeFieldInfo = "type"+    type AttrOrigin EventPadAxisTypeFieldInfo = EventPadAxis+    attrGet _ = getEventPadAxisType+    attrSet _ = setEventPadAxisType+    attrConstruct = undefined+    attrClear _ = undefined++eventPadAxis_type :: AttrLabelProxy "type"+eventPadAxis_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventPadAxis #window+@+-}+getEventPadAxisWindow :: MonadIO m => EventPadAxis -> m (Maybe Gdk.Window.Window)+getEventPadAxisWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventPadAxis [ #window 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPadAxisWindow :: MonadIO m => EventPadAxis -> Ptr Gdk.Window.Window -> m ()+setEventPadAxisWindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@window@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #window+@+-}+clearEventPadAxisWindow :: MonadIO m => EventPadAxis -> m ()+clearEventPadAxisWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventPadAxisWindowFieldInfo+instance AttrInfo EventPadAxisWindowFieldInfo where+    type AttrAllowedOps EventPadAxisWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventPadAxisWindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventPadAxisWindowFieldInfo = (~) EventPadAxis+    type AttrGetType EventPadAxisWindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventPadAxisWindowFieldInfo = "window"+    type AttrOrigin EventPadAxisWindowFieldInfo = EventPadAxis+    attrGet _ = getEventPadAxisWindow+    attrSet _ = setEventPadAxisWindow+    attrConstruct = undefined+    attrClear _ = clearEventPadAxisWindow++eventPadAxis_window :: AttrLabelProxy "window"+eventPadAxis_window = AttrLabelProxy++#endif+++{- |+Get the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventPadAxis #sendEvent+@+-}+getEventPadAxisSendEvent :: MonadIO m => EventPadAxis -> m Int8+getEventPadAxisSendEvent s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++{- |+Set the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventPadAxis [ #sendEvent 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPadAxisSendEvent :: MonadIO m => EventPadAxis -> Int8 -> m ()+setEventPadAxisSendEvent s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int8)++#if ENABLE_OVERLOADING+data EventPadAxisSendEventFieldInfo+instance AttrInfo EventPadAxisSendEventFieldInfo where+    type AttrAllowedOps EventPadAxisSendEventFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventPadAxisSendEventFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventPadAxisSendEventFieldInfo = (~) EventPadAxis+    type AttrGetType EventPadAxisSendEventFieldInfo = Int8+    type AttrLabel EventPadAxisSendEventFieldInfo = "send_event"+    type AttrOrigin EventPadAxisSendEventFieldInfo = EventPadAxis+    attrGet _ = getEventPadAxisSendEvent+    attrSet _ = setEventPadAxisSendEvent+    attrConstruct = undefined+    attrClear _ = undefined++eventPadAxis_sendEvent :: AttrLabelProxy "sendEvent"+eventPadAxis_sendEvent = AttrLabelProxy++#endif+++{- |+Get the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventPadAxis #time+@+-}+getEventPadAxisTime :: MonadIO m => EventPadAxis -> m Word32+getEventPadAxisTime s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Word32+    return val++{- |+Set the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventPadAxis [ #time 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPadAxisTime :: MonadIO m => EventPadAxis -> Word32 -> m ()+setEventPadAxisTime s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 20) (val :: Word32)++#if ENABLE_OVERLOADING+data EventPadAxisTimeFieldInfo+instance AttrInfo EventPadAxisTimeFieldInfo where+    type AttrAllowedOps EventPadAxisTimeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventPadAxisTimeFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventPadAxisTimeFieldInfo = (~) EventPadAxis+    type AttrGetType EventPadAxisTimeFieldInfo = Word32+    type AttrLabel EventPadAxisTimeFieldInfo = "time"+    type AttrOrigin EventPadAxisTimeFieldInfo = EventPadAxis+    attrGet _ = getEventPadAxisTime+    attrSet _ = setEventPadAxisTime+    attrConstruct = undefined+    attrClear _ = undefined++eventPadAxis_time :: AttrLabelProxy "time"+eventPadAxis_time = AttrLabelProxy++#endif+++{- |+Get the value of the “@group@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventPadAxis #group+@+-}+getEventPadAxisGroup :: MonadIO m => EventPadAxis -> m Word32+getEventPadAxisGroup s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO Word32+    return val++{- |+Set the value of the “@group@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventPadAxis [ #group 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPadAxisGroup :: MonadIO m => EventPadAxis -> Word32 -> m ()+setEventPadAxisGroup s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 24) (val :: Word32)++#if ENABLE_OVERLOADING+data EventPadAxisGroupFieldInfo+instance AttrInfo EventPadAxisGroupFieldInfo where+    type AttrAllowedOps EventPadAxisGroupFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventPadAxisGroupFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventPadAxisGroupFieldInfo = (~) EventPadAxis+    type AttrGetType EventPadAxisGroupFieldInfo = Word32+    type AttrLabel EventPadAxisGroupFieldInfo = "group"+    type AttrOrigin EventPadAxisGroupFieldInfo = EventPadAxis+    attrGet _ = getEventPadAxisGroup+    attrSet _ = setEventPadAxisGroup+    attrConstruct = undefined+    attrClear _ = undefined++eventPadAxis_group :: AttrLabelProxy "group"+eventPadAxis_group = AttrLabelProxy++#endif+++{- |+Get the value of the “@index@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventPadAxis #index+@+-}+getEventPadAxisIndex :: MonadIO m => EventPadAxis -> m Word32+getEventPadAxisIndex s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 28) :: IO Word32+    return val++{- |+Set the value of the “@index@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventPadAxis [ #index 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPadAxisIndex :: MonadIO m => EventPadAxis -> Word32 -> m ()+setEventPadAxisIndex s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 28) (val :: Word32)++#if ENABLE_OVERLOADING+data EventPadAxisIndexFieldInfo+instance AttrInfo EventPadAxisIndexFieldInfo where+    type AttrAllowedOps EventPadAxisIndexFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventPadAxisIndexFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventPadAxisIndexFieldInfo = (~) EventPadAxis+    type AttrGetType EventPadAxisIndexFieldInfo = Word32+    type AttrLabel EventPadAxisIndexFieldInfo = "index"+    type AttrOrigin EventPadAxisIndexFieldInfo = EventPadAxis+    attrGet _ = getEventPadAxisIndex+    attrSet _ = setEventPadAxisIndex+    attrConstruct = undefined+    attrClear _ = undefined++eventPadAxis_index :: AttrLabelProxy "index"+eventPadAxis_index = AttrLabelProxy++#endif+++{- |+Get the value of the “@mode@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventPadAxis #mode+@+-}+getEventPadAxisMode :: MonadIO m => EventPadAxis -> m Word32+getEventPadAxisMode s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO Word32+    return val++{- |+Set the value of the “@mode@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventPadAxis [ #mode 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPadAxisMode :: MonadIO m => EventPadAxis -> Word32 -> m ()+setEventPadAxisMode s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 32) (val :: Word32)++#if ENABLE_OVERLOADING+data EventPadAxisModeFieldInfo+instance AttrInfo EventPadAxisModeFieldInfo where+    type AttrAllowedOps EventPadAxisModeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventPadAxisModeFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventPadAxisModeFieldInfo = (~) EventPadAxis+    type AttrGetType EventPadAxisModeFieldInfo = Word32+    type AttrLabel EventPadAxisModeFieldInfo = "mode"+    type AttrOrigin EventPadAxisModeFieldInfo = EventPadAxis+    attrGet _ = getEventPadAxisMode+    attrSet _ = setEventPadAxisMode+    attrConstruct = undefined+    attrClear _ = undefined++eventPadAxis_mode :: AttrLabelProxy "mode"+eventPadAxis_mode = AttrLabelProxy++#endif+++{- |+Get the value of the “@value@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventPadAxis #value+@+-}+getEventPadAxisValue :: MonadIO m => EventPadAxis -> m Double+getEventPadAxisValue s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@value@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventPadAxis [ #value 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPadAxisValue :: MonadIO m => EventPadAxis -> Double -> m ()+setEventPadAxisValue s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 40) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventPadAxisValueFieldInfo+instance AttrInfo EventPadAxisValueFieldInfo where+    type AttrAllowedOps EventPadAxisValueFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventPadAxisValueFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventPadAxisValueFieldInfo = (~) EventPadAxis+    type AttrGetType EventPadAxisValueFieldInfo = Double+    type AttrLabel EventPadAxisValueFieldInfo = "value"+    type AttrOrigin EventPadAxisValueFieldInfo = EventPadAxis+    attrGet _ = getEventPadAxisValue+    attrSet _ = setEventPadAxisValue+    attrConstruct = undefined+    attrClear _ = undefined++eventPadAxis_value :: AttrLabelProxy "value"+eventPadAxis_value = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList EventPadAxis+type instance O.AttributeList EventPadAxis = EventPadAxisAttributeList+type EventPadAxisAttributeList = ('[ '("type", EventPadAxisTypeFieldInfo), '("window", EventPadAxisWindowFieldInfo), '("sendEvent", EventPadAxisSendEventFieldInfo), '("time", EventPadAxisTimeFieldInfo), '("group", EventPadAxisGroupFieldInfo), '("index", EventPadAxisIndexFieldInfo), '("mode", EventPadAxisModeFieldInfo), '("value", EventPadAxisValueFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveEventPadAxisMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventPadAxisMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventPadAxisMethod t EventPadAxis, O.MethodInfo info EventPadAxis p) => OL.IsLabel t (EventPadAxis -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/EventPadAxis.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.EventPadAxis where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype EventPadAxis = EventPadAxis (ManagedPtr EventPadAxis)+instance WrappedPtr EventPadAxis where
+ GI/Gdk/Structs/EventPadButton.hs view
@@ -0,0 +1,500 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Generated during 'GI.Gdk.Enums.InputSourceTabletPad' button presses and releases.++/Since: 3.22/+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.EventPadButton+    ( ++-- * Exported types+    EventPadButton(..)                      ,+    newZeroEventPadButton                   ,+    noEventPadButton                        ,+++ -- * Properties+-- ** button #attr:button#+{- | The pad button that was pressed.+-}+#if ENABLE_OVERLOADING+    eventPadButton_button                   ,+#endif+    getEventPadButtonButton                 ,+    setEventPadButtonButton                 ,+++-- ** group #attr:group#+{- | the pad group the button belongs to. A 'GI.Gdk.Enums.InputSourceTabletPad' device+  may have one or more groups containing a set of buttons\/rings\/strips each.+-}+#if ENABLE_OVERLOADING+    eventPadButton_group                    ,+#endif+    getEventPadButtonGroup                  ,+    setEventPadButtonGroup                  ,+++-- ** mode #attr:mode#+{- | The current mode of /@group@/. Different groups in a 'GI.Gdk.Enums.InputSourceTabletPad'+  device may have different current modes.+-}+#if ENABLE_OVERLOADING+    eventPadButton_mode                     ,+#endif+    getEventPadButtonMode                   ,+    setEventPadButtonMode                   ,+++-- ** sendEvent #attr:sendEvent#+{- | 'True' if the event was sent explicitly.+-}+#if ENABLE_OVERLOADING+    eventPadButton_sendEvent                ,+#endif+    getEventPadButtonSendEvent              ,+    setEventPadButtonSendEvent              ,+++-- ** time #attr:time#+{- | the time of the event in milliseconds.+-}+#if ENABLE_OVERLOADING+    eventPadButton_time                     ,+#endif+    getEventPadButtonTime                   ,+    setEventPadButtonTime                   ,+++-- ** type #attr:type#+{- | the type of the event ('GI.Gdk.Enums.EventTypePadButtonPress' or 'GI.Gdk.Enums.EventTypePadButtonRelease').+-}+#if ENABLE_OVERLOADING+    eventPadButton_type                     ,+#endif+    getEventPadButtonType                   ,+    setEventPadButtonType                   ,+++-- ** window #attr:window#+{- | the window which received the event.+-}+    clearEventPadButtonWindow               ,+#if ENABLE_OVERLOADING+    eventPadButton_window                   ,+#endif+    getEventPadButtonWindow                 ,+    setEventPadButtonWindow                 ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window++-- | Memory-managed wrapper type.+newtype EventPadButton = EventPadButton (ManagedPtr EventPadButton)+instance WrappedPtr EventPadButton where+    wrappedPtrCalloc = callocBytes 40+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 40 >=> wrapPtr EventPadButton)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `EventPadButton` struct initialized to zero.+newZeroEventPadButton :: MonadIO m => m EventPadButton+newZeroEventPadButton = liftIO $ wrappedPtrCalloc >>= wrapPtr EventPadButton++instance tag ~ 'AttrSet => Constructible EventPadButton tag where+    new _ attrs = do+        o <- newZeroEventPadButton+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `EventPadButton`.+noEventPadButton :: Maybe EventPadButton+noEventPadButton = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventPadButton #type+@+-}+getEventPadButtonType :: MonadIO m => EventPadButton -> m Gdk.Enums.EventType+getEventPadButtonType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventPadButton [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPadButtonType :: MonadIO m => EventPadButton -> Gdk.Enums.EventType -> m ()+setEventPadButtonType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventPadButtonTypeFieldInfo+instance AttrInfo EventPadButtonTypeFieldInfo where+    type AttrAllowedOps EventPadButtonTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventPadButtonTypeFieldInfo = (~) Gdk.Enums.EventType+    type AttrBaseTypeConstraint EventPadButtonTypeFieldInfo = (~) EventPadButton+    type AttrGetType EventPadButtonTypeFieldInfo = Gdk.Enums.EventType+    type AttrLabel EventPadButtonTypeFieldInfo = "type"+    type AttrOrigin EventPadButtonTypeFieldInfo = EventPadButton+    attrGet _ = getEventPadButtonType+    attrSet _ = setEventPadButtonType+    attrConstruct = undefined+    attrClear _ = undefined++eventPadButton_type :: AttrLabelProxy "type"+eventPadButton_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventPadButton #window+@+-}+getEventPadButtonWindow :: MonadIO m => EventPadButton -> m (Maybe Gdk.Window.Window)+getEventPadButtonWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventPadButton [ #window 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPadButtonWindow :: MonadIO m => EventPadButton -> Ptr Gdk.Window.Window -> m ()+setEventPadButtonWindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@window@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #window+@+-}+clearEventPadButtonWindow :: MonadIO m => EventPadButton -> m ()+clearEventPadButtonWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventPadButtonWindowFieldInfo+instance AttrInfo EventPadButtonWindowFieldInfo where+    type AttrAllowedOps EventPadButtonWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventPadButtonWindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventPadButtonWindowFieldInfo = (~) EventPadButton+    type AttrGetType EventPadButtonWindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventPadButtonWindowFieldInfo = "window"+    type AttrOrigin EventPadButtonWindowFieldInfo = EventPadButton+    attrGet _ = getEventPadButtonWindow+    attrSet _ = setEventPadButtonWindow+    attrConstruct = undefined+    attrClear _ = clearEventPadButtonWindow++eventPadButton_window :: AttrLabelProxy "window"+eventPadButton_window = AttrLabelProxy++#endif+++{- |+Get the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventPadButton #sendEvent+@+-}+getEventPadButtonSendEvent :: MonadIO m => EventPadButton -> m Int8+getEventPadButtonSendEvent s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++{- |+Set the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventPadButton [ #sendEvent 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPadButtonSendEvent :: MonadIO m => EventPadButton -> Int8 -> m ()+setEventPadButtonSendEvent s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int8)++#if ENABLE_OVERLOADING+data EventPadButtonSendEventFieldInfo+instance AttrInfo EventPadButtonSendEventFieldInfo where+    type AttrAllowedOps EventPadButtonSendEventFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventPadButtonSendEventFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventPadButtonSendEventFieldInfo = (~) EventPadButton+    type AttrGetType EventPadButtonSendEventFieldInfo = Int8+    type AttrLabel EventPadButtonSendEventFieldInfo = "send_event"+    type AttrOrigin EventPadButtonSendEventFieldInfo = EventPadButton+    attrGet _ = getEventPadButtonSendEvent+    attrSet _ = setEventPadButtonSendEvent+    attrConstruct = undefined+    attrClear _ = undefined++eventPadButton_sendEvent :: AttrLabelProxy "sendEvent"+eventPadButton_sendEvent = AttrLabelProxy++#endif+++{- |+Get the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventPadButton #time+@+-}+getEventPadButtonTime :: MonadIO m => EventPadButton -> m Word32+getEventPadButtonTime s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Word32+    return val++{- |+Set the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventPadButton [ #time 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPadButtonTime :: MonadIO m => EventPadButton -> Word32 -> m ()+setEventPadButtonTime s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 20) (val :: Word32)++#if ENABLE_OVERLOADING+data EventPadButtonTimeFieldInfo+instance AttrInfo EventPadButtonTimeFieldInfo where+    type AttrAllowedOps EventPadButtonTimeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventPadButtonTimeFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventPadButtonTimeFieldInfo = (~) EventPadButton+    type AttrGetType EventPadButtonTimeFieldInfo = Word32+    type AttrLabel EventPadButtonTimeFieldInfo = "time"+    type AttrOrigin EventPadButtonTimeFieldInfo = EventPadButton+    attrGet _ = getEventPadButtonTime+    attrSet _ = setEventPadButtonTime+    attrConstruct = undefined+    attrClear _ = undefined++eventPadButton_time :: AttrLabelProxy "time"+eventPadButton_time = AttrLabelProxy++#endif+++{- |+Get the value of the “@group@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventPadButton #group+@+-}+getEventPadButtonGroup :: MonadIO m => EventPadButton -> m Word32+getEventPadButtonGroup s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO Word32+    return val++{- |+Set the value of the “@group@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventPadButton [ #group 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPadButtonGroup :: MonadIO m => EventPadButton -> Word32 -> m ()+setEventPadButtonGroup s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 24) (val :: Word32)++#if ENABLE_OVERLOADING+data EventPadButtonGroupFieldInfo+instance AttrInfo EventPadButtonGroupFieldInfo where+    type AttrAllowedOps EventPadButtonGroupFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventPadButtonGroupFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventPadButtonGroupFieldInfo = (~) EventPadButton+    type AttrGetType EventPadButtonGroupFieldInfo = Word32+    type AttrLabel EventPadButtonGroupFieldInfo = "group"+    type AttrOrigin EventPadButtonGroupFieldInfo = EventPadButton+    attrGet _ = getEventPadButtonGroup+    attrSet _ = setEventPadButtonGroup+    attrConstruct = undefined+    attrClear _ = undefined++eventPadButton_group :: AttrLabelProxy "group"+eventPadButton_group = AttrLabelProxy++#endif+++{- |+Get the value of the “@button@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventPadButton #button+@+-}+getEventPadButtonButton :: MonadIO m => EventPadButton -> m Word32+getEventPadButtonButton s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 28) :: IO Word32+    return val++{- |+Set the value of the “@button@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventPadButton [ #button 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPadButtonButton :: MonadIO m => EventPadButton -> Word32 -> m ()+setEventPadButtonButton s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 28) (val :: Word32)++#if ENABLE_OVERLOADING+data EventPadButtonButtonFieldInfo+instance AttrInfo EventPadButtonButtonFieldInfo where+    type AttrAllowedOps EventPadButtonButtonFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventPadButtonButtonFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventPadButtonButtonFieldInfo = (~) EventPadButton+    type AttrGetType EventPadButtonButtonFieldInfo = Word32+    type AttrLabel EventPadButtonButtonFieldInfo = "button"+    type AttrOrigin EventPadButtonButtonFieldInfo = EventPadButton+    attrGet _ = getEventPadButtonButton+    attrSet _ = setEventPadButtonButton+    attrConstruct = undefined+    attrClear _ = undefined++eventPadButton_button :: AttrLabelProxy "button"+eventPadButton_button = AttrLabelProxy++#endif+++{- |+Get the value of the “@mode@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventPadButton #mode+@+-}+getEventPadButtonMode :: MonadIO m => EventPadButton -> m Word32+getEventPadButtonMode s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO Word32+    return val++{- |+Set the value of the “@mode@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventPadButton [ #mode 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPadButtonMode :: MonadIO m => EventPadButton -> Word32 -> m ()+setEventPadButtonMode s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 32) (val :: Word32)++#if ENABLE_OVERLOADING+data EventPadButtonModeFieldInfo+instance AttrInfo EventPadButtonModeFieldInfo where+    type AttrAllowedOps EventPadButtonModeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventPadButtonModeFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventPadButtonModeFieldInfo = (~) EventPadButton+    type AttrGetType EventPadButtonModeFieldInfo = Word32+    type AttrLabel EventPadButtonModeFieldInfo = "mode"+    type AttrOrigin EventPadButtonModeFieldInfo = EventPadButton+    attrGet _ = getEventPadButtonMode+    attrSet _ = setEventPadButtonMode+    attrConstruct = undefined+    attrClear _ = undefined++eventPadButton_mode :: AttrLabelProxy "mode"+eventPadButton_mode = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList EventPadButton+type instance O.AttributeList EventPadButton = EventPadButtonAttributeList+type EventPadButtonAttributeList = ('[ '("type", EventPadButtonTypeFieldInfo), '("window", EventPadButtonWindowFieldInfo), '("sendEvent", EventPadButtonSendEventFieldInfo), '("time", EventPadButtonTimeFieldInfo), '("group", EventPadButtonGroupFieldInfo), '("button", EventPadButtonButtonFieldInfo), '("mode", EventPadButtonModeFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveEventPadButtonMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventPadButtonMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventPadButtonMethod t EventPadButton, O.MethodInfo info EventPadButton p) => OL.IsLabel t (EventPadButton -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/EventPadButton.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.EventPadButton where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype EventPadButton = EventPadButton (ManagedPtr EventPadButton)+instance WrappedPtr EventPadButton where
+ GI/Gdk/Structs/EventPadGroupMode.hs view
@@ -0,0 +1,446 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Generated during 'GI.Gdk.Enums.InputSourceTabletPad' mode switches in a group.++/Since: 3.22/+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.EventPadGroupMode+    ( ++-- * Exported types+    EventPadGroupMode(..)                   ,+    newZeroEventPadGroupMode                ,+    noEventPadGroupMode                     ,+++ -- * Properties+-- ** group #attr:group#+{- | the pad group that is switching mode. A 'GI.Gdk.Enums.InputSourceTabletPad'+  device may have one or more groups containing a set of buttons\/rings\/strips+  each.+-}+#if ENABLE_OVERLOADING+    eventPadGroupMode_group                 ,+#endif+    getEventPadGroupModeGroup               ,+    setEventPadGroupModeGroup               ,+++-- ** mode #attr:mode#+{- | The new mode of /@group@/. Different groups in a 'GI.Gdk.Enums.InputSourceTabletPad'+  device may have different current modes.+-}+#if ENABLE_OVERLOADING+    eventPadGroupMode_mode                  ,+#endif+    getEventPadGroupModeMode                ,+    setEventPadGroupModeMode                ,+++-- ** sendEvent #attr:sendEvent#+{- | 'True' if the event was sent explicitly.+-}+#if ENABLE_OVERLOADING+    eventPadGroupMode_sendEvent             ,+#endif+    getEventPadGroupModeSendEvent           ,+    setEventPadGroupModeSendEvent           ,+++-- ** time #attr:time#+{- | the time of the event in milliseconds.+-}+#if ENABLE_OVERLOADING+    eventPadGroupMode_time                  ,+#endif+    getEventPadGroupModeTime                ,+    setEventPadGroupModeTime                ,+++-- ** type #attr:type#+{- | the type of the event ('GI.Gdk.Enums.EventTypePadGroupMode').+-}+#if ENABLE_OVERLOADING+    eventPadGroupMode_type                  ,+#endif+    getEventPadGroupModeType                ,+    setEventPadGroupModeType                ,+++-- ** window #attr:window#+{- | the window which received the event.+-}+    clearEventPadGroupModeWindow            ,+#if ENABLE_OVERLOADING+    eventPadGroupMode_window                ,+#endif+    getEventPadGroupModeWindow              ,+    setEventPadGroupModeWindow              ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window++-- | Memory-managed wrapper type.+newtype EventPadGroupMode = EventPadGroupMode (ManagedPtr EventPadGroupMode)+instance WrappedPtr EventPadGroupMode where+    wrappedPtrCalloc = callocBytes 32+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 32 >=> wrapPtr EventPadGroupMode)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `EventPadGroupMode` struct initialized to zero.+newZeroEventPadGroupMode :: MonadIO m => m EventPadGroupMode+newZeroEventPadGroupMode = liftIO $ wrappedPtrCalloc >>= wrapPtr EventPadGroupMode++instance tag ~ 'AttrSet => Constructible EventPadGroupMode tag where+    new _ attrs = do+        o <- newZeroEventPadGroupMode+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `EventPadGroupMode`.+noEventPadGroupMode :: Maybe EventPadGroupMode+noEventPadGroupMode = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventPadGroupMode #type+@+-}+getEventPadGroupModeType :: MonadIO m => EventPadGroupMode -> m Gdk.Enums.EventType+getEventPadGroupModeType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventPadGroupMode [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPadGroupModeType :: MonadIO m => EventPadGroupMode -> Gdk.Enums.EventType -> m ()+setEventPadGroupModeType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventPadGroupModeTypeFieldInfo+instance AttrInfo EventPadGroupModeTypeFieldInfo where+    type AttrAllowedOps EventPadGroupModeTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventPadGroupModeTypeFieldInfo = (~) Gdk.Enums.EventType+    type AttrBaseTypeConstraint EventPadGroupModeTypeFieldInfo = (~) EventPadGroupMode+    type AttrGetType EventPadGroupModeTypeFieldInfo = Gdk.Enums.EventType+    type AttrLabel EventPadGroupModeTypeFieldInfo = "type"+    type AttrOrigin EventPadGroupModeTypeFieldInfo = EventPadGroupMode+    attrGet _ = getEventPadGroupModeType+    attrSet _ = setEventPadGroupModeType+    attrConstruct = undefined+    attrClear _ = undefined++eventPadGroupMode_type :: AttrLabelProxy "type"+eventPadGroupMode_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventPadGroupMode #window+@+-}+getEventPadGroupModeWindow :: MonadIO m => EventPadGroupMode -> m (Maybe Gdk.Window.Window)+getEventPadGroupModeWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventPadGroupMode [ #window 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPadGroupModeWindow :: MonadIO m => EventPadGroupMode -> Ptr Gdk.Window.Window -> m ()+setEventPadGroupModeWindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@window@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #window+@+-}+clearEventPadGroupModeWindow :: MonadIO m => EventPadGroupMode -> m ()+clearEventPadGroupModeWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventPadGroupModeWindowFieldInfo+instance AttrInfo EventPadGroupModeWindowFieldInfo where+    type AttrAllowedOps EventPadGroupModeWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventPadGroupModeWindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventPadGroupModeWindowFieldInfo = (~) EventPadGroupMode+    type AttrGetType EventPadGroupModeWindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventPadGroupModeWindowFieldInfo = "window"+    type AttrOrigin EventPadGroupModeWindowFieldInfo = EventPadGroupMode+    attrGet _ = getEventPadGroupModeWindow+    attrSet _ = setEventPadGroupModeWindow+    attrConstruct = undefined+    attrClear _ = clearEventPadGroupModeWindow++eventPadGroupMode_window :: AttrLabelProxy "window"+eventPadGroupMode_window = AttrLabelProxy++#endif+++{- |+Get the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventPadGroupMode #sendEvent+@+-}+getEventPadGroupModeSendEvent :: MonadIO m => EventPadGroupMode -> m Int8+getEventPadGroupModeSendEvent s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++{- |+Set the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventPadGroupMode [ #sendEvent 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPadGroupModeSendEvent :: MonadIO m => EventPadGroupMode -> Int8 -> m ()+setEventPadGroupModeSendEvent s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int8)++#if ENABLE_OVERLOADING+data EventPadGroupModeSendEventFieldInfo+instance AttrInfo EventPadGroupModeSendEventFieldInfo where+    type AttrAllowedOps EventPadGroupModeSendEventFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventPadGroupModeSendEventFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventPadGroupModeSendEventFieldInfo = (~) EventPadGroupMode+    type AttrGetType EventPadGroupModeSendEventFieldInfo = Int8+    type AttrLabel EventPadGroupModeSendEventFieldInfo = "send_event"+    type AttrOrigin EventPadGroupModeSendEventFieldInfo = EventPadGroupMode+    attrGet _ = getEventPadGroupModeSendEvent+    attrSet _ = setEventPadGroupModeSendEvent+    attrConstruct = undefined+    attrClear _ = undefined++eventPadGroupMode_sendEvent :: AttrLabelProxy "sendEvent"+eventPadGroupMode_sendEvent = AttrLabelProxy++#endif+++{- |+Get the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventPadGroupMode #time+@+-}+getEventPadGroupModeTime :: MonadIO m => EventPadGroupMode -> m Word32+getEventPadGroupModeTime s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Word32+    return val++{- |+Set the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventPadGroupMode [ #time 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPadGroupModeTime :: MonadIO m => EventPadGroupMode -> Word32 -> m ()+setEventPadGroupModeTime s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 20) (val :: Word32)++#if ENABLE_OVERLOADING+data EventPadGroupModeTimeFieldInfo+instance AttrInfo EventPadGroupModeTimeFieldInfo where+    type AttrAllowedOps EventPadGroupModeTimeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventPadGroupModeTimeFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventPadGroupModeTimeFieldInfo = (~) EventPadGroupMode+    type AttrGetType EventPadGroupModeTimeFieldInfo = Word32+    type AttrLabel EventPadGroupModeTimeFieldInfo = "time"+    type AttrOrigin EventPadGroupModeTimeFieldInfo = EventPadGroupMode+    attrGet _ = getEventPadGroupModeTime+    attrSet _ = setEventPadGroupModeTime+    attrConstruct = undefined+    attrClear _ = undefined++eventPadGroupMode_time :: AttrLabelProxy "time"+eventPadGroupMode_time = AttrLabelProxy++#endif+++{- |+Get the value of the “@group@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventPadGroupMode #group+@+-}+getEventPadGroupModeGroup :: MonadIO m => EventPadGroupMode -> m Word32+getEventPadGroupModeGroup s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO Word32+    return val++{- |+Set the value of the “@group@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventPadGroupMode [ #group 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPadGroupModeGroup :: MonadIO m => EventPadGroupMode -> Word32 -> m ()+setEventPadGroupModeGroup s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 24) (val :: Word32)++#if ENABLE_OVERLOADING+data EventPadGroupModeGroupFieldInfo+instance AttrInfo EventPadGroupModeGroupFieldInfo where+    type AttrAllowedOps EventPadGroupModeGroupFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventPadGroupModeGroupFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventPadGroupModeGroupFieldInfo = (~) EventPadGroupMode+    type AttrGetType EventPadGroupModeGroupFieldInfo = Word32+    type AttrLabel EventPadGroupModeGroupFieldInfo = "group"+    type AttrOrigin EventPadGroupModeGroupFieldInfo = EventPadGroupMode+    attrGet _ = getEventPadGroupModeGroup+    attrSet _ = setEventPadGroupModeGroup+    attrConstruct = undefined+    attrClear _ = undefined++eventPadGroupMode_group :: AttrLabelProxy "group"+eventPadGroupMode_group = AttrLabelProxy++#endif+++{- |+Get the value of the “@mode@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventPadGroupMode #mode+@+-}+getEventPadGroupModeMode :: MonadIO m => EventPadGroupMode -> m Word32+getEventPadGroupModeMode s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 28) :: IO Word32+    return val++{- |+Set the value of the “@mode@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventPadGroupMode [ #mode 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPadGroupModeMode :: MonadIO m => EventPadGroupMode -> Word32 -> m ()+setEventPadGroupModeMode s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 28) (val :: Word32)++#if ENABLE_OVERLOADING+data EventPadGroupModeModeFieldInfo+instance AttrInfo EventPadGroupModeModeFieldInfo where+    type AttrAllowedOps EventPadGroupModeModeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventPadGroupModeModeFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventPadGroupModeModeFieldInfo = (~) EventPadGroupMode+    type AttrGetType EventPadGroupModeModeFieldInfo = Word32+    type AttrLabel EventPadGroupModeModeFieldInfo = "mode"+    type AttrOrigin EventPadGroupModeModeFieldInfo = EventPadGroupMode+    attrGet _ = getEventPadGroupModeMode+    attrSet _ = setEventPadGroupModeMode+    attrConstruct = undefined+    attrClear _ = undefined++eventPadGroupMode_mode :: AttrLabelProxy "mode"+eventPadGroupMode_mode = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList EventPadGroupMode+type instance O.AttributeList EventPadGroupMode = EventPadGroupModeAttributeList+type EventPadGroupModeAttributeList = ('[ '("type", EventPadGroupModeTypeFieldInfo), '("window", EventPadGroupModeWindowFieldInfo), '("sendEvent", EventPadGroupModeSendEventFieldInfo), '("time", EventPadGroupModeTimeFieldInfo), '("group", EventPadGroupModeGroupFieldInfo), '("mode", EventPadGroupModeModeFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveEventPadGroupModeMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventPadGroupModeMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventPadGroupModeMethod t EventPadGroupMode, O.MethodInfo info EventPadGroupMode p) => OL.IsLabel t (EventPadGroupMode -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/EventPadGroupMode.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.EventPadGroupMode where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype EventPadGroupMode = EventPadGroupMode (ManagedPtr EventPadGroupMode)+instance WrappedPtr EventPadGroupMode where
+ GI/Gdk/Structs/EventProperty.hs view
@@ -0,0 +1,433 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Describes a property change on a window.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.EventProperty+    ( ++-- * Exported types+    EventProperty(..)                       ,+    newZeroEventProperty                    ,+    noEventProperty                         ,+++ -- * Properties+-- ** atom #attr:atom#+{- | the property that was changed.+-}+#if ENABLE_OVERLOADING+    eventProperty_atom                      ,+#endif+    getEventPropertyAtom                    ,+++-- ** sendEvent #attr:sendEvent#+{- | 'True' if the event was sent explicitly.+-}+#if ENABLE_OVERLOADING+    eventProperty_sendEvent                 ,+#endif+    getEventPropertySendEvent               ,+    setEventPropertySendEvent               ,+++-- ** state #attr:state#+{- | whether the property was changed+  ('GI.Gdk.Enums.PropertyStateNewValue') or deleted ('GI.Gdk.Enums.PropertyStateDelete').+-}+#if ENABLE_OVERLOADING+    eventProperty_state                     ,+#endif+    getEventPropertyState                   ,+    setEventPropertyState                   ,+++-- ** time #attr:time#+{- | the time of the event in milliseconds.+-}+#if ENABLE_OVERLOADING+    eventProperty_time                      ,+#endif+    getEventPropertyTime                    ,+    setEventPropertyTime                    ,+++-- ** type #attr:type#+{- | the type of the event ('GI.Gdk.Enums.EventTypePropertyNotify').+-}+#if ENABLE_OVERLOADING+    eventProperty_type                      ,+#endif+    getEventPropertyType                    ,+    setEventPropertyType                    ,+++-- ** window #attr:window#+{- | the window which received the event.+-}+    clearEventPropertyWindow                ,+#if ENABLE_OVERLOADING+    eventProperty_window                    ,+#endif+    getEventPropertyWindow                  ,+    setEventPropertyWindow                  ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window+import {-# SOURCE #-} qualified GI.Gdk.Structs.Atom as Gdk.Atom++-- | Memory-managed wrapper type.+newtype EventProperty = EventProperty (ManagedPtr EventProperty)+instance WrappedPtr EventProperty where+    wrappedPtrCalloc = callocBytes 40+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 40 >=> wrapPtr EventProperty)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `EventProperty` struct initialized to zero.+newZeroEventProperty :: MonadIO m => m EventProperty+newZeroEventProperty = liftIO $ wrappedPtrCalloc >>= wrapPtr EventProperty++instance tag ~ 'AttrSet => Constructible EventProperty tag where+    new _ attrs = do+        o <- newZeroEventProperty+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `EventProperty`.+noEventProperty :: Maybe EventProperty+noEventProperty = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventProperty #type+@+-}+getEventPropertyType :: MonadIO m => EventProperty -> m Gdk.Enums.EventType+getEventPropertyType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventProperty [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPropertyType :: MonadIO m => EventProperty -> Gdk.Enums.EventType -> m ()+setEventPropertyType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventPropertyTypeFieldInfo+instance AttrInfo EventPropertyTypeFieldInfo where+    type AttrAllowedOps EventPropertyTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventPropertyTypeFieldInfo = (~) Gdk.Enums.EventType+    type AttrBaseTypeConstraint EventPropertyTypeFieldInfo = (~) EventProperty+    type AttrGetType EventPropertyTypeFieldInfo = Gdk.Enums.EventType+    type AttrLabel EventPropertyTypeFieldInfo = "type"+    type AttrOrigin EventPropertyTypeFieldInfo = EventProperty+    attrGet _ = getEventPropertyType+    attrSet _ = setEventPropertyType+    attrConstruct = undefined+    attrClear _ = undefined++eventProperty_type :: AttrLabelProxy "type"+eventProperty_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventProperty #window+@+-}+getEventPropertyWindow :: MonadIO m => EventProperty -> m (Maybe Gdk.Window.Window)+getEventPropertyWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventProperty [ #window 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPropertyWindow :: MonadIO m => EventProperty -> Ptr Gdk.Window.Window -> m ()+setEventPropertyWindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@window@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #window+@+-}+clearEventPropertyWindow :: MonadIO m => EventProperty -> m ()+clearEventPropertyWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventPropertyWindowFieldInfo+instance AttrInfo EventPropertyWindowFieldInfo where+    type AttrAllowedOps EventPropertyWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventPropertyWindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventPropertyWindowFieldInfo = (~) EventProperty+    type AttrGetType EventPropertyWindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventPropertyWindowFieldInfo = "window"+    type AttrOrigin EventPropertyWindowFieldInfo = EventProperty+    attrGet _ = getEventPropertyWindow+    attrSet _ = setEventPropertyWindow+    attrConstruct = undefined+    attrClear _ = clearEventPropertyWindow++eventProperty_window :: AttrLabelProxy "window"+eventProperty_window = AttrLabelProxy++#endif+++{- |+Get the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventProperty #sendEvent+@+-}+getEventPropertySendEvent :: MonadIO m => EventProperty -> m Int8+getEventPropertySendEvent s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++{- |+Set the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventProperty [ #sendEvent 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPropertySendEvent :: MonadIO m => EventProperty -> Int8 -> m ()+setEventPropertySendEvent s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int8)++#if ENABLE_OVERLOADING+data EventPropertySendEventFieldInfo+instance AttrInfo EventPropertySendEventFieldInfo where+    type AttrAllowedOps EventPropertySendEventFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventPropertySendEventFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventPropertySendEventFieldInfo = (~) EventProperty+    type AttrGetType EventPropertySendEventFieldInfo = Int8+    type AttrLabel EventPropertySendEventFieldInfo = "send_event"+    type AttrOrigin EventPropertySendEventFieldInfo = EventProperty+    attrGet _ = getEventPropertySendEvent+    attrSet _ = setEventPropertySendEvent+    attrConstruct = undefined+    attrClear _ = undefined++eventProperty_sendEvent :: AttrLabelProxy "sendEvent"+eventProperty_sendEvent = AttrLabelProxy++#endif+++{- |+Get the value of the “@atom@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventProperty #atom+@+-}+getEventPropertyAtom :: MonadIO m => EventProperty -> m Gdk.Atom.Atom+getEventPropertyAtom s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 24 :: (Ptr Gdk.Atom.Atom)+    val' <- (newPtr Gdk.Atom.Atom) val+    return val'++#if ENABLE_OVERLOADING+data EventPropertyAtomFieldInfo+instance AttrInfo EventPropertyAtomFieldInfo where+    type AttrAllowedOps EventPropertyAtomFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventPropertyAtomFieldInfo = (~) (Ptr Gdk.Atom.Atom)+    type AttrBaseTypeConstraint EventPropertyAtomFieldInfo = (~) EventProperty+    type AttrGetType EventPropertyAtomFieldInfo = Gdk.Atom.Atom+    type AttrLabel EventPropertyAtomFieldInfo = "atom"+    type AttrOrigin EventPropertyAtomFieldInfo = EventProperty+    attrGet _ = getEventPropertyAtom+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++eventProperty_atom :: AttrLabelProxy "atom"+eventProperty_atom = AttrLabelProxy++#endif+++{- |+Get the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventProperty #time+@+-}+getEventPropertyTime :: MonadIO m => EventProperty -> m Word32+getEventPropertyTime s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO Word32+    return val++{- |+Set the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventProperty [ #time 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPropertyTime :: MonadIO m => EventProperty -> Word32 -> m ()+setEventPropertyTime s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 32) (val :: Word32)++#if ENABLE_OVERLOADING+data EventPropertyTimeFieldInfo+instance AttrInfo EventPropertyTimeFieldInfo where+    type AttrAllowedOps EventPropertyTimeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventPropertyTimeFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventPropertyTimeFieldInfo = (~) EventProperty+    type AttrGetType EventPropertyTimeFieldInfo = Word32+    type AttrLabel EventPropertyTimeFieldInfo = "time"+    type AttrOrigin EventPropertyTimeFieldInfo = EventProperty+    attrGet _ = getEventPropertyTime+    attrSet _ = setEventPropertyTime+    attrConstruct = undefined+    attrClear _ = undefined++eventProperty_time :: AttrLabelProxy "time"+eventProperty_time = AttrLabelProxy++#endif+++{- |+Get the value of the “@state@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventProperty #state+@+-}+getEventPropertyState :: MonadIO m => EventProperty -> m Gdk.Enums.PropertyState+getEventPropertyState s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 36) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@state@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventProperty [ #state 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventPropertyState :: MonadIO m => EventProperty -> Gdk.Enums.PropertyState -> m ()+setEventPropertyState s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 36) (val' :: CUInt)++#if ENABLE_OVERLOADING+data EventPropertyStateFieldInfo+instance AttrInfo EventPropertyStateFieldInfo where+    type AttrAllowedOps EventPropertyStateFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventPropertyStateFieldInfo = (~) Gdk.Enums.PropertyState+    type AttrBaseTypeConstraint EventPropertyStateFieldInfo = (~) EventProperty+    type AttrGetType EventPropertyStateFieldInfo = Gdk.Enums.PropertyState+    type AttrLabel EventPropertyStateFieldInfo = "state"+    type AttrOrigin EventPropertyStateFieldInfo = EventProperty+    attrGet _ = getEventPropertyState+    attrSet _ = setEventPropertyState+    attrConstruct = undefined+    attrClear _ = undefined++eventProperty_state :: AttrLabelProxy "state"+eventProperty_state = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList EventProperty+type instance O.AttributeList EventProperty = EventPropertyAttributeList+type EventPropertyAttributeList = ('[ '("type", EventPropertyTypeFieldInfo), '("window", EventPropertyWindowFieldInfo), '("sendEvent", EventPropertySendEventFieldInfo), '("atom", EventPropertyAtomFieldInfo), '("time", EventPropertyTimeFieldInfo), '("state", EventPropertyStateFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveEventPropertyMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventPropertyMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventPropertyMethod t EventProperty, O.MethodInfo info EventProperty p) => OL.IsLabel t (EventProperty -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/EventProperty.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.EventProperty where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype EventProperty = EventProperty (ManagedPtr EventProperty)+instance WrappedPtr EventProperty where
+ GI/Gdk/Structs/EventProximity.hs view
@@ -0,0 +1,412 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Proximity events are generated when using GDK’s wrapper for the+XInput extension. The XInput extension is an add-on for standard X+that allows you to use nonstandard devices such as graphics tablets.+A proximity event indicates that the stylus has moved in or out of+contact with the tablet, or perhaps that the user’s finger has moved+in or out of contact with a touch screen.++This event type will be used pretty rarely. It only is important for+XInput aware programs that are drawing their own cursor.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.EventProximity+    ( ++-- * Exported types+    EventProximity(..)                      ,+    newZeroEventProximity                   ,+    noEventProximity                        ,+++ -- * Properties+-- ** device #attr:device#+{- | the master device that the event originated from. Use+'GI.Gdk.Unions.Event.eventGetSourceDevice' to get the slave device.+-}+    clearEventProximityDevice               ,+#if ENABLE_OVERLOADING+    eventProximity_device                   ,+#endif+    getEventProximityDevice                 ,+    setEventProximityDevice                 ,+++-- ** sendEvent #attr:sendEvent#+{- | 'True' if the event was sent explicitly.+-}+#if ENABLE_OVERLOADING+    eventProximity_sendEvent                ,+#endif+    getEventProximitySendEvent              ,+    setEventProximitySendEvent              ,+++-- ** time #attr:time#+{- | the time of the event in milliseconds.+-}+#if ENABLE_OVERLOADING+    eventProximity_time                     ,+#endif+    getEventProximityTime                   ,+    setEventProximityTime                   ,+++-- ** type #attr:type#+{- | the type of the event ('GI.Gdk.Enums.EventTypeProximityIn' or 'GI.Gdk.Enums.EventTypeProximityOut').+-}+#if ENABLE_OVERLOADING+    eventProximity_type                     ,+#endif+    getEventProximityType                   ,+    setEventProximityType                   ,+++-- ** window #attr:window#+{- | the window which received the event.+-}+    clearEventProximityWindow               ,+#if ENABLE_OVERLOADING+    eventProximity_window                   ,+#endif+    getEventProximityWindow                 ,+    setEventProximityWindow                 ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Objects.Device as Gdk.Device+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window++-- | Memory-managed wrapper type.+newtype EventProximity = EventProximity (ManagedPtr EventProximity)+instance WrappedPtr EventProximity where+    wrappedPtrCalloc = callocBytes 32+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 32 >=> wrapPtr EventProximity)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `EventProximity` struct initialized to zero.+newZeroEventProximity :: MonadIO m => m EventProximity+newZeroEventProximity = liftIO $ wrappedPtrCalloc >>= wrapPtr EventProximity++instance tag ~ 'AttrSet => Constructible EventProximity tag where+    new _ attrs = do+        o <- newZeroEventProximity+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `EventProximity`.+noEventProximity :: Maybe EventProximity+noEventProximity = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventProximity #type+@+-}+getEventProximityType :: MonadIO m => EventProximity -> m Gdk.Enums.EventType+getEventProximityType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventProximity [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventProximityType :: MonadIO m => EventProximity -> Gdk.Enums.EventType -> m ()+setEventProximityType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventProximityTypeFieldInfo+instance AttrInfo EventProximityTypeFieldInfo where+    type AttrAllowedOps EventProximityTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventProximityTypeFieldInfo = (~) Gdk.Enums.EventType+    type AttrBaseTypeConstraint EventProximityTypeFieldInfo = (~) EventProximity+    type AttrGetType EventProximityTypeFieldInfo = Gdk.Enums.EventType+    type AttrLabel EventProximityTypeFieldInfo = "type"+    type AttrOrigin EventProximityTypeFieldInfo = EventProximity+    attrGet _ = getEventProximityType+    attrSet _ = setEventProximityType+    attrConstruct = undefined+    attrClear _ = undefined++eventProximity_type :: AttrLabelProxy "type"+eventProximity_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventProximity #window+@+-}+getEventProximityWindow :: MonadIO m => EventProximity -> m (Maybe Gdk.Window.Window)+getEventProximityWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventProximity [ #window 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventProximityWindow :: MonadIO m => EventProximity -> Ptr Gdk.Window.Window -> m ()+setEventProximityWindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@window@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #window+@+-}+clearEventProximityWindow :: MonadIO m => EventProximity -> m ()+clearEventProximityWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventProximityWindowFieldInfo+instance AttrInfo EventProximityWindowFieldInfo where+    type AttrAllowedOps EventProximityWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventProximityWindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventProximityWindowFieldInfo = (~) EventProximity+    type AttrGetType EventProximityWindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventProximityWindowFieldInfo = "window"+    type AttrOrigin EventProximityWindowFieldInfo = EventProximity+    attrGet _ = getEventProximityWindow+    attrSet _ = setEventProximityWindow+    attrConstruct = undefined+    attrClear _ = clearEventProximityWindow++eventProximity_window :: AttrLabelProxy "window"+eventProximity_window = AttrLabelProxy++#endif+++{- |+Get the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventProximity #sendEvent+@+-}+getEventProximitySendEvent :: MonadIO m => EventProximity -> m Int8+getEventProximitySendEvent s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++{- |+Set the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventProximity [ #sendEvent 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventProximitySendEvent :: MonadIO m => EventProximity -> Int8 -> m ()+setEventProximitySendEvent s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int8)++#if ENABLE_OVERLOADING+data EventProximitySendEventFieldInfo+instance AttrInfo EventProximitySendEventFieldInfo where+    type AttrAllowedOps EventProximitySendEventFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventProximitySendEventFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventProximitySendEventFieldInfo = (~) EventProximity+    type AttrGetType EventProximitySendEventFieldInfo = Int8+    type AttrLabel EventProximitySendEventFieldInfo = "send_event"+    type AttrOrigin EventProximitySendEventFieldInfo = EventProximity+    attrGet _ = getEventProximitySendEvent+    attrSet _ = setEventProximitySendEvent+    attrConstruct = undefined+    attrClear _ = undefined++eventProximity_sendEvent :: AttrLabelProxy "sendEvent"+eventProximity_sendEvent = AttrLabelProxy++#endif+++{- |+Get the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventProximity #time+@+-}+getEventProximityTime :: MonadIO m => EventProximity -> m Word32+getEventProximityTime s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Word32+    return val++{- |+Set the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventProximity [ #time 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventProximityTime :: MonadIO m => EventProximity -> Word32 -> m ()+setEventProximityTime s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 20) (val :: Word32)++#if ENABLE_OVERLOADING+data EventProximityTimeFieldInfo+instance AttrInfo EventProximityTimeFieldInfo where+    type AttrAllowedOps EventProximityTimeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventProximityTimeFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventProximityTimeFieldInfo = (~) EventProximity+    type AttrGetType EventProximityTimeFieldInfo = Word32+    type AttrLabel EventProximityTimeFieldInfo = "time"+    type AttrOrigin EventProximityTimeFieldInfo = EventProximity+    attrGet _ = getEventProximityTime+    attrSet _ = setEventProximityTime+    attrConstruct = undefined+    attrClear _ = undefined++eventProximity_time :: AttrLabelProxy "time"+eventProximity_time = AttrLabelProxy++#endif+++{- |+Get the value of the “@device@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventProximity #device+@+-}+getEventProximityDevice :: MonadIO m => EventProximity -> m (Maybe Gdk.Device.Device)+getEventProximityDevice s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO (Ptr Gdk.Device.Device)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Device.Device) val'+        return val''+    return result++{- |+Set the value of the “@device@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventProximity [ #device 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventProximityDevice :: MonadIO m => EventProximity -> Ptr Gdk.Device.Device -> m ()+setEventProximityDevice s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 24) (val :: Ptr Gdk.Device.Device)++{- |+Set the value of the “@device@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #device+@+-}+clearEventProximityDevice :: MonadIO m => EventProximity -> m ()+clearEventProximityDevice s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 24) (FP.nullPtr :: Ptr Gdk.Device.Device)++#if ENABLE_OVERLOADING+data EventProximityDeviceFieldInfo+instance AttrInfo EventProximityDeviceFieldInfo where+    type AttrAllowedOps EventProximityDeviceFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventProximityDeviceFieldInfo = (~) (Ptr Gdk.Device.Device)+    type AttrBaseTypeConstraint EventProximityDeviceFieldInfo = (~) EventProximity+    type AttrGetType EventProximityDeviceFieldInfo = Maybe Gdk.Device.Device+    type AttrLabel EventProximityDeviceFieldInfo = "device"+    type AttrOrigin EventProximityDeviceFieldInfo = EventProximity+    attrGet _ = getEventProximityDevice+    attrSet _ = setEventProximityDevice+    attrConstruct = undefined+    attrClear _ = clearEventProximityDevice++eventProximity_device :: AttrLabelProxy "device"+eventProximity_device = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList EventProximity+type instance O.AttributeList EventProximity = EventProximityAttributeList+type EventProximityAttributeList = ('[ '("type", EventProximityTypeFieldInfo), '("window", EventProximityWindowFieldInfo), '("sendEvent", EventProximitySendEventFieldInfo), '("time", EventProximityTimeFieldInfo), '("device", EventProximityDeviceFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveEventProximityMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventProximityMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventProximityMethod t EventProximity, O.MethodInfo info EventProximity p) => OL.IsLabel t (EventProximity -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/EventProximity.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.EventProximity where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype EventProximity = EventProximity (ManagedPtr EventProximity)+instance WrappedPtr EventProximity where
+ GI/Gdk/Structs/EventScroll.hs view
@@ -0,0 +1,929 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Generated from button presses for the buttons 4 to 7. Wheel mice are+usually configured to generate button press events for buttons 4 and 5+when the wheel is turned.++Some GDK backends can also generate “smooth” scroll events, which+can be recognized by the 'GI.Gdk.Enums.ScrollDirectionSmooth' scroll direction. For+these, the scroll deltas can be obtained with+'GI.Gdk.Unions.Event.eventGetScrollDeltas'.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.EventScroll+    ( ++-- * Exported types+    EventScroll(..)                         ,+    newZeroEventScroll                      ,+    noEventScroll                           ,+++ -- * Properties+-- ** deltaX #attr:deltaX#+{- | the x coordinate of the scroll delta+-}+#if ENABLE_OVERLOADING+    eventScroll_deltaX                      ,+#endif+    getEventScrollDeltaX                    ,+    setEventScrollDeltaX                    ,+++-- ** deltaY #attr:deltaY#+{- | the y coordinate of the scroll delta+-}+#if ENABLE_OVERLOADING+    eventScroll_deltaY                      ,+#endif+    getEventScrollDeltaY                    ,+    setEventScrollDeltaY                    ,+++-- ** device #attr:device#+{- | the master device that the event originated from. Use+'GI.Gdk.Unions.Event.eventGetSourceDevice' to get the slave device.+-}+    clearEventScrollDevice                  ,+#if ENABLE_OVERLOADING+    eventScroll_device                      ,+#endif+    getEventScrollDevice                    ,+    setEventScrollDevice                    ,+++-- ** direction #attr:direction#+{- | the direction to scroll to (one of 'GI.Gdk.Enums.ScrollDirectionUp',+  'GI.Gdk.Enums.ScrollDirectionDown', 'GI.Gdk.Enums.ScrollDirectionLeft', 'GI.Gdk.Enums.ScrollDirectionRight' or+  'GI.Gdk.Enums.ScrollDirectionSmooth').+-}+#if ENABLE_OVERLOADING+    eventScroll_direction                   ,+#endif+    getEventScrollDirection                 ,+    setEventScrollDirection                 ,+++-- ** isStop #attr:isStop#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    eventScroll_isStop                      ,+#endif+    getEventScrollIsStop                    ,+    setEventScrollIsStop                    ,+++-- ** sendEvent #attr:sendEvent#+{- | 'True' if the event was sent explicitly.+-}+#if ENABLE_OVERLOADING+    eventScroll_sendEvent                   ,+#endif+    getEventScrollSendEvent                 ,+    setEventScrollSendEvent                 ,+++-- ** state #attr:state#+{- | a bit-mask representing the state of+  the modifier keys (e.g. Control, Shift and Alt) and the pointer+  buttons. See 'GI.Gdk.Flags.ModifierType'.+-}+#if ENABLE_OVERLOADING+    eventScroll_state                       ,+#endif+    getEventScrollState                     ,+    setEventScrollState                     ,+++-- ** time #attr:time#+{- | the time of the event in milliseconds.+-}+#if ENABLE_OVERLOADING+    eventScroll_time                        ,+#endif+    getEventScrollTime                      ,+    setEventScrollTime                      ,+++-- ** type #attr:type#+{- | the type of the event ('GI.Gdk.Enums.EventTypeScroll').+-}+#if ENABLE_OVERLOADING+    eventScroll_type                        ,+#endif+    getEventScrollType                      ,+    setEventScrollType                      ,+++-- ** window #attr:window#+{- | the window which received the event.+-}+    clearEventScrollWindow                  ,+#if ENABLE_OVERLOADING+    eventScroll_window                      ,+#endif+    getEventScrollWindow                    ,+    setEventScrollWindow                    ,+++-- ** x #attr:x#+{- | the x coordinate of the pointer relative to the window.+-}+#if ENABLE_OVERLOADING+    eventScroll_x                           ,+#endif+    getEventScrollX                         ,+    setEventScrollX                         ,+++-- ** xRoot #attr:xRoot#+{- | the x coordinate of the pointer relative to the root of the+  screen.+-}+#if ENABLE_OVERLOADING+    eventScroll_xRoot                       ,+#endif+    getEventScrollXRoot                     ,+    setEventScrollXRoot                     ,+++-- ** y #attr:y#+{- | the y coordinate of the pointer relative to the window.+-}+#if ENABLE_OVERLOADING+    eventScroll_y                           ,+#endif+    getEventScrollY                         ,+    setEventScrollY                         ,+++-- ** yRoot #attr:yRoot#+{- | the y coordinate of the pointer relative to the root of the+  screen.+-}+#if ENABLE_OVERLOADING+    eventScroll_yRoot                       ,+#endif+    getEventScrollYRoot                     ,+    setEventScrollYRoot                     ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Flags as Gdk.Flags+import {-# SOURCE #-} qualified GI.Gdk.Objects.Device as Gdk.Device+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window++-- | Memory-managed wrapper type.+newtype EventScroll = EventScroll (ManagedPtr EventScroll)+instance WrappedPtr EventScroll where+    wrappedPtrCalloc = callocBytes 96+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 96 >=> wrapPtr EventScroll)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `EventScroll` struct initialized to zero.+newZeroEventScroll :: MonadIO m => m EventScroll+newZeroEventScroll = liftIO $ wrappedPtrCalloc >>= wrapPtr EventScroll++instance tag ~ 'AttrSet => Constructible EventScroll tag where+    new _ attrs = do+        o <- newZeroEventScroll+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `EventScroll`.+noEventScroll :: Maybe EventScroll+noEventScroll = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventScroll #type+@+-}+getEventScrollType :: MonadIO m => EventScroll -> m Gdk.Enums.EventType+getEventScrollType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventScroll [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventScrollType :: MonadIO m => EventScroll -> Gdk.Enums.EventType -> m ()+setEventScrollType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventScrollTypeFieldInfo+instance AttrInfo EventScrollTypeFieldInfo where+    type AttrAllowedOps EventScrollTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventScrollTypeFieldInfo = (~) Gdk.Enums.EventType+    type AttrBaseTypeConstraint EventScrollTypeFieldInfo = (~) EventScroll+    type AttrGetType EventScrollTypeFieldInfo = Gdk.Enums.EventType+    type AttrLabel EventScrollTypeFieldInfo = "type"+    type AttrOrigin EventScrollTypeFieldInfo = EventScroll+    attrGet _ = getEventScrollType+    attrSet _ = setEventScrollType+    attrConstruct = undefined+    attrClear _ = undefined++eventScroll_type :: AttrLabelProxy "type"+eventScroll_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventScroll #window+@+-}+getEventScrollWindow :: MonadIO m => EventScroll -> m (Maybe Gdk.Window.Window)+getEventScrollWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventScroll [ #window 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventScrollWindow :: MonadIO m => EventScroll -> Ptr Gdk.Window.Window -> m ()+setEventScrollWindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@window@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #window+@+-}+clearEventScrollWindow :: MonadIO m => EventScroll -> m ()+clearEventScrollWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventScrollWindowFieldInfo+instance AttrInfo EventScrollWindowFieldInfo where+    type AttrAllowedOps EventScrollWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventScrollWindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventScrollWindowFieldInfo = (~) EventScroll+    type AttrGetType EventScrollWindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventScrollWindowFieldInfo = "window"+    type AttrOrigin EventScrollWindowFieldInfo = EventScroll+    attrGet _ = getEventScrollWindow+    attrSet _ = setEventScrollWindow+    attrConstruct = undefined+    attrClear _ = clearEventScrollWindow++eventScroll_window :: AttrLabelProxy "window"+eventScroll_window = AttrLabelProxy++#endif+++{- |+Get the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventScroll #sendEvent+@+-}+getEventScrollSendEvent :: MonadIO m => EventScroll -> m Int8+getEventScrollSendEvent s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++{- |+Set the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventScroll [ #sendEvent 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventScrollSendEvent :: MonadIO m => EventScroll -> Int8 -> m ()+setEventScrollSendEvent s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int8)++#if ENABLE_OVERLOADING+data EventScrollSendEventFieldInfo+instance AttrInfo EventScrollSendEventFieldInfo where+    type AttrAllowedOps EventScrollSendEventFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventScrollSendEventFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventScrollSendEventFieldInfo = (~) EventScroll+    type AttrGetType EventScrollSendEventFieldInfo = Int8+    type AttrLabel EventScrollSendEventFieldInfo = "send_event"+    type AttrOrigin EventScrollSendEventFieldInfo = EventScroll+    attrGet _ = getEventScrollSendEvent+    attrSet _ = setEventScrollSendEvent+    attrConstruct = undefined+    attrClear _ = undefined++eventScroll_sendEvent :: AttrLabelProxy "sendEvent"+eventScroll_sendEvent = AttrLabelProxy++#endif+++{- |+Get the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventScroll #time+@+-}+getEventScrollTime :: MonadIO m => EventScroll -> m Word32+getEventScrollTime s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Word32+    return val++{- |+Set the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventScroll [ #time 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventScrollTime :: MonadIO m => EventScroll -> Word32 -> m ()+setEventScrollTime s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 20) (val :: Word32)++#if ENABLE_OVERLOADING+data EventScrollTimeFieldInfo+instance AttrInfo EventScrollTimeFieldInfo where+    type AttrAllowedOps EventScrollTimeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventScrollTimeFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventScrollTimeFieldInfo = (~) EventScroll+    type AttrGetType EventScrollTimeFieldInfo = Word32+    type AttrLabel EventScrollTimeFieldInfo = "time"+    type AttrOrigin EventScrollTimeFieldInfo = EventScroll+    attrGet _ = getEventScrollTime+    attrSet _ = setEventScrollTime+    attrConstruct = undefined+    attrClear _ = undefined++eventScroll_time :: AttrLabelProxy "time"+eventScroll_time = AttrLabelProxy++#endif+++{- |+Get the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventScroll #x+@+-}+getEventScrollX :: MonadIO m => EventScroll -> m Double+getEventScrollX s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventScroll [ #x 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventScrollX :: MonadIO m => EventScroll -> Double -> m ()+setEventScrollX s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 24) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventScrollXFieldInfo+instance AttrInfo EventScrollXFieldInfo where+    type AttrAllowedOps EventScrollXFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventScrollXFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventScrollXFieldInfo = (~) EventScroll+    type AttrGetType EventScrollXFieldInfo = Double+    type AttrLabel EventScrollXFieldInfo = "x"+    type AttrOrigin EventScrollXFieldInfo = EventScroll+    attrGet _ = getEventScrollX+    attrSet _ = setEventScrollX+    attrConstruct = undefined+    attrClear _ = undefined++eventScroll_x :: AttrLabelProxy "x"+eventScroll_x = AttrLabelProxy++#endif+++{- |+Get the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventScroll #y+@+-}+getEventScrollY :: MonadIO m => EventScroll -> m Double+getEventScrollY s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventScroll [ #y 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventScrollY :: MonadIO m => EventScroll -> Double -> m ()+setEventScrollY s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 32) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventScrollYFieldInfo+instance AttrInfo EventScrollYFieldInfo where+    type AttrAllowedOps EventScrollYFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventScrollYFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventScrollYFieldInfo = (~) EventScroll+    type AttrGetType EventScrollYFieldInfo = Double+    type AttrLabel EventScrollYFieldInfo = "y"+    type AttrOrigin EventScrollYFieldInfo = EventScroll+    attrGet _ = getEventScrollY+    attrSet _ = setEventScrollY+    attrConstruct = undefined+    attrClear _ = undefined++eventScroll_y :: AttrLabelProxy "y"+eventScroll_y = AttrLabelProxy++#endif+++{- |+Get the value of the “@state@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventScroll #state+@+-}+getEventScrollState :: MonadIO m => EventScroll -> m [Gdk.Flags.ModifierType]+getEventScrollState s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO CUInt+    let val' = wordToGFlags val+    return val'++{- |+Set the value of the “@state@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventScroll [ #state 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventScrollState :: MonadIO m => EventScroll -> [Gdk.Flags.ModifierType] -> m ()+setEventScrollState s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = gflagsToWord val+    poke (ptr `plusPtr` 40) (val' :: CUInt)++#if ENABLE_OVERLOADING+data EventScrollStateFieldInfo+instance AttrInfo EventScrollStateFieldInfo where+    type AttrAllowedOps EventScrollStateFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventScrollStateFieldInfo = (~) [Gdk.Flags.ModifierType]+    type AttrBaseTypeConstraint EventScrollStateFieldInfo = (~) EventScroll+    type AttrGetType EventScrollStateFieldInfo = [Gdk.Flags.ModifierType]+    type AttrLabel EventScrollStateFieldInfo = "state"+    type AttrOrigin EventScrollStateFieldInfo = EventScroll+    attrGet _ = getEventScrollState+    attrSet _ = setEventScrollState+    attrConstruct = undefined+    attrClear _ = undefined++eventScroll_state :: AttrLabelProxy "state"+eventScroll_state = AttrLabelProxy++#endif+++{- |+Get the value of the “@direction@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventScroll #direction+@+-}+getEventScrollDirection :: MonadIO m => EventScroll -> m Gdk.Enums.ScrollDirection+getEventScrollDirection s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 44) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@direction@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventScroll [ #direction 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventScrollDirection :: MonadIO m => EventScroll -> Gdk.Enums.ScrollDirection -> m ()+setEventScrollDirection s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 44) (val' :: CUInt)++#if ENABLE_OVERLOADING+data EventScrollDirectionFieldInfo+instance AttrInfo EventScrollDirectionFieldInfo where+    type AttrAllowedOps EventScrollDirectionFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventScrollDirectionFieldInfo = (~) Gdk.Enums.ScrollDirection+    type AttrBaseTypeConstraint EventScrollDirectionFieldInfo = (~) EventScroll+    type AttrGetType EventScrollDirectionFieldInfo = Gdk.Enums.ScrollDirection+    type AttrLabel EventScrollDirectionFieldInfo = "direction"+    type AttrOrigin EventScrollDirectionFieldInfo = EventScroll+    attrGet _ = getEventScrollDirection+    attrSet _ = setEventScrollDirection+    attrConstruct = undefined+    attrClear _ = undefined++eventScroll_direction :: AttrLabelProxy "direction"+eventScroll_direction = AttrLabelProxy++#endif+++{- |+Get the value of the “@device@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventScroll #device+@+-}+getEventScrollDevice :: MonadIO m => EventScroll -> m (Maybe Gdk.Device.Device)+getEventScrollDevice s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO (Ptr Gdk.Device.Device)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Device.Device) val'+        return val''+    return result++{- |+Set the value of the “@device@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventScroll [ #device 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventScrollDevice :: MonadIO m => EventScroll -> Ptr Gdk.Device.Device -> m ()+setEventScrollDevice s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 48) (val :: Ptr Gdk.Device.Device)++{- |+Set the value of the “@device@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #device+@+-}+clearEventScrollDevice :: MonadIO m => EventScroll -> m ()+clearEventScrollDevice s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 48) (FP.nullPtr :: Ptr Gdk.Device.Device)++#if ENABLE_OVERLOADING+data EventScrollDeviceFieldInfo+instance AttrInfo EventScrollDeviceFieldInfo where+    type AttrAllowedOps EventScrollDeviceFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventScrollDeviceFieldInfo = (~) (Ptr Gdk.Device.Device)+    type AttrBaseTypeConstraint EventScrollDeviceFieldInfo = (~) EventScroll+    type AttrGetType EventScrollDeviceFieldInfo = Maybe Gdk.Device.Device+    type AttrLabel EventScrollDeviceFieldInfo = "device"+    type AttrOrigin EventScrollDeviceFieldInfo = EventScroll+    attrGet _ = getEventScrollDevice+    attrSet _ = setEventScrollDevice+    attrConstruct = undefined+    attrClear _ = clearEventScrollDevice++eventScroll_device :: AttrLabelProxy "device"+eventScroll_device = AttrLabelProxy++#endif+++{- |+Get the value of the “@x_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventScroll #xRoot+@+-}+getEventScrollXRoot :: MonadIO m => EventScroll -> m Double+getEventScrollXRoot s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 56) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@x_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventScroll [ #xRoot 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventScrollXRoot :: MonadIO m => EventScroll -> Double -> m ()+setEventScrollXRoot s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 56) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventScrollXRootFieldInfo+instance AttrInfo EventScrollXRootFieldInfo where+    type AttrAllowedOps EventScrollXRootFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventScrollXRootFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventScrollXRootFieldInfo = (~) EventScroll+    type AttrGetType EventScrollXRootFieldInfo = Double+    type AttrLabel EventScrollXRootFieldInfo = "x_root"+    type AttrOrigin EventScrollXRootFieldInfo = EventScroll+    attrGet _ = getEventScrollXRoot+    attrSet _ = setEventScrollXRoot+    attrConstruct = undefined+    attrClear _ = undefined++eventScroll_xRoot :: AttrLabelProxy "xRoot"+eventScroll_xRoot = AttrLabelProxy++#endif+++{- |+Get the value of the “@y_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventScroll #yRoot+@+-}+getEventScrollYRoot :: MonadIO m => EventScroll -> m Double+getEventScrollYRoot s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 64) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@y_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventScroll [ #yRoot 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventScrollYRoot :: MonadIO m => EventScroll -> Double -> m ()+setEventScrollYRoot s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 64) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventScrollYRootFieldInfo+instance AttrInfo EventScrollYRootFieldInfo where+    type AttrAllowedOps EventScrollYRootFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventScrollYRootFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventScrollYRootFieldInfo = (~) EventScroll+    type AttrGetType EventScrollYRootFieldInfo = Double+    type AttrLabel EventScrollYRootFieldInfo = "y_root"+    type AttrOrigin EventScrollYRootFieldInfo = EventScroll+    attrGet _ = getEventScrollYRoot+    attrSet _ = setEventScrollYRoot+    attrConstruct = undefined+    attrClear _ = undefined++eventScroll_yRoot :: AttrLabelProxy "yRoot"+eventScroll_yRoot = AttrLabelProxy++#endif+++{- |+Get the value of the “@delta_x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventScroll #deltaX+@+-}+getEventScrollDeltaX :: MonadIO m => EventScroll -> m Double+getEventScrollDeltaX s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 72) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@delta_x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventScroll [ #deltaX 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventScrollDeltaX :: MonadIO m => EventScroll -> Double -> m ()+setEventScrollDeltaX s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 72) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventScrollDeltaXFieldInfo+instance AttrInfo EventScrollDeltaXFieldInfo where+    type AttrAllowedOps EventScrollDeltaXFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventScrollDeltaXFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventScrollDeltaXFieldInfo = (~) EventScroll+    type AttrGetType EventScrollDeltaXFieldInfo = Double+    type AttrLabel EventScrollDeltaXFieldInfo = "delta_x"+    type AttrOrigin EventScrollDeltaXFieldInfo = EventScroll+    attrGet _ = getEventScrollDeltaX+    attrSet _ = setEventScrollDeltaX+    attrConstruct = undefined+    attrClear _ = undefined++eventScroll_deltaX :: AttrLabelProxy "deltaX"+eventScroll_deltaX = AttrLabelProxy++#endif+++{- |+Get the value of the “@delta_y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventScroll #deltaY+@+-}+getEventScrollDeltaY :: MonadIO m => EventScroll -> m Double+getEventScrollDeltaY s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 80) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@delta_y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventScroll [ #deltaY 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventScrollDeltaY :: MonadIO m => EventScroll -> Double -> m ()+setEventScrollDeltaY s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 80) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventScrollDeltaYFieldInfo+instance AttrInfo EventScrollDeltaYFieldInfo where+    type AttrAllowedOps EventScrollDeltaYFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventScrollDeltaYFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventScrollDeltaYFieldInfo = (~) EventScroll+    type AttrGetType EventScrollDeltaYFieldInfo = Double+    type AttrLabel EventScrollDeltaYFieldInfo = "delta_y"+    type AttrOrigin EventScrollDeltaYFieldInfo = EventScroll+    attrGet _ = getEventScrollDeltaY+    attrSet _ = setEventScrollDeltaY+    attrConstruct = undefined+    attrClear _ = undefined++eventScroll_deltaY :: AttrLabelProxy "deltaY"+eventScroll_deltaY = AttrLabelProxy++#endif+++{- |+Get the value of the “@is_stop@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventScroll #isStop+@+-}+getEventScrollIsStop :: MonadIO m => EventScroll -> m Word32+getEventScrollIsStop s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 88) :: IO Word32+    return val++{- |+Set the value of the “@is_stop@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventScroll [ #isStop 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventScrollIsStop :: MonadIO m => EventScroll -> Word32 -> m ()+setEventScrollIsStop s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 88) (val :: Word32)++#if ENABLE_OVERLOADING+data EventScrollIsStopFieldInfo+instance AttrInfo EventScrollIsStopFieldInfo where+    type AttrAllowedOps EventScrollIsStopFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventScrollIsStopFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventScrollIsStopFieldInfo = (~) EventScroll+    type AttrGetType EventScrollIsStopFieldInfo = Word32+    type AttrLabel EventScrollIsStopFieldInfo = "is_stop"+    type AttrOrigin EventScrollIsStopFieldInfo = EventScroll+    attrGet _ = getEventScrollIsStop+    attrSet _ = setEventScrollIsStop+    attrConstruct = undefined+    attrClear _ = undefined++eventScroll_isStop :: AttrLabelProxy "isStop"+eventScroll_isStop = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList EventScroll+type instance O.AttributeList EventScroll = EventScrollAttributeList+type EventScrollAttributeList = ('[ '("type", EventScrollTypeFieldInfo), '("window", EventScrollWindowFieldInfo), '("sendEvent", EventScrollSendEventFieldInfo), '("time", EventScrollTimeFieldInfo), '("x", EventScrollXFieldInfo), '("y", EventScrollYFieldInfo), '("state", EventScrollStateFieldInfo), '("direction", EventScrollDirectionFieldInfo), '("device", EventScrollDeviceFieldInfo), '("xRoot", EventScrollXRootFieldInfo), '("yRoot", EventScrollYRootFieldInfo), '("deltaX", EventScrollDeltaXFieldInfo), '("deltaY", EventScrollDeltaYFieldInfo), '("isStop", EventScrollIsStopFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveEventScrollMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventScrollMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventScrollMethod t EventScroll, O.MethodInfo info EventScroll p) => OL.IsLabel t (EventScroll -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/EventScroll.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.EventScroll where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype EventScroll = EventScroll (ManagedPtr EventScroll)+instance WrappedPtr EventScroll where
+ GI/Gdk/Structs/EventSelection.hs view
@@ -0,0 +1,534 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Generated when a selection is requested or ownership of a selection+is taken over by another client application.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.EventSelection+    ( ++-- * Exported types+    EventSelection(..)                      ,+    newZeroEventSelection                   ,+    noEventSelection                        ,+++ -- * Properties+-- ** property #attr:property#+{- | the property in which to place the result of the conversion.+-}+#if ENABLE_OVERLOADING+    eventSelection_property                 ,+#endif+    getEventSelectionProperty               ,+++-- ** requestor #attr:requestor#+{- | the window on which to place /@property@/ or 'Nothing' if none.+-}+    clearEventSelectionRequestor            ,+#if ENABLE_OVERLOADING+    eventSelection_requestor                ,+#endif+    getEventSelectionRequestor              ,+    setEventSelectionRequestor              ,+++-- ** selection #attr:selection#+{- | the selection.+-}+#if ENABLE_OVERLOADING+    eventSelection_selection                ,+#endif+    getEventSelectionSelection              ,+++-- ** sendEvent #attr:sendEvent#+{- | 'True' if the event was sent explicitly.+-}+#if ENABLE_OVERLOADING+    eventSelection_sendEvent                ,+#endif+    getEventSelectionSendEvent              ,+    setEventSelectionSendEvent              ,+++-- ** target #attr:target#+{- | the target to which the selection should be converted.+-}+#if ENABLE_OVERLOADING+    eventSelection_target                   ,+#endif+    getEventSelectionTarget                 ,+++-- ** time #attr:time#+{- | the time of the event in milliseconds.+-}+#if ENABLE_OVERLOADING+    eventSelection_time                     ,+#endif+    getEventSelectionTime                   ,+    setEventSelectionTime                   ,+++-- ** type #attr:type#+{- | the type of the event ('GI.Gdk.Enums.EventTypeSelectionClear',+  'GI.Gdk.Enums.EventTypeSelectionNotify' or 'GI.Gdk.Enums.EventTypeSelectionRequest').+-}+#if ENABLE_OVERLOADING+    eventSelection_type                     ,+#endif+    getEventSelectionType                   ,+    setEventSelectionType                   ,+++-- ** window #attr:window#+{- | the window which received the event.+-}+    clearEventSelectionWindow               ,+#if ENABLE_OVERLOADING+    eventSelection_window                   ,+#endif+    getEventSelectionWindow                 ,+    setEventSelectionWindow                 ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window+import {-# SOURCE #-} qualified GI.Gdk.Structs.Atom as Gdk.Atom++-- | Memory-managed wrapper type.+newtype EventSelection = EventSelection (ManagedPtr EventSelection)+instance WrappedPtr EventSelection where+    wrappedPtrCalloc = callocBytes 64+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 64 >=> wrapPtr EventSelection)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `EventSelection` struct initialized to zero.+newZeroEventSelection :: MonadIO m => m EventSelection+newZeroEventSelection = liftIO $ wrappedPtrCalloc >>= wrapPtr EventSelection++instance tag ~ 'AttrSet => Constructible EventSelection tag where+    new _ attrs = do+        o <- newZeroEventSelection+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `EventSelection`.+noEventSelection :: Maybe EventSelection+noEventSelection = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventSelection #type+@+-}+getEventSelectionType :: MonadIO m => EventSelection -> m Gdk.Enums.EventType+getEventSelectionType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventSelection [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventSelectionType :: MonadIO m => EventSelection -> Gdk.Enums.EventType -> m ()+setEventSelectionType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventSelectionTypeFieldInfo+instance AttrInfo EventSelectionTypeFieldInfo where+    type AttrAllowedOps EventSelectionTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventSelectionTypeFieldInfo = (~) Gdk.Enums.EventType+    type AttrBaseTypeConstraint EventSelectionTypeFieldInfo = (~) EventSelection+    type AttrGetType EventSelectionTypeFieldInfo = Gdk.Enums.EventType+    type AttrLabel EventSelectionTypeFieldInfo = "type"+    type AttrOrigin EventSelectionTypeFieldInfo = EventSelection+    attrGet _ = getEventSelectionType+    attrSet _ = setEventSelectionType+    attrConstruct = undefined+    attrClear _ = undefined++eventSelection_type :: AttrLabelProxy "type"+eventSelection_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventSelection #window+@+-}+getEventSelectionWindow :: MonadIO m => EventSelection -> m (Maybe Gdk.Window.Window)+getEventSelectionWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventSelection [ #window 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventSelectionWindow :: MonadIO m => EventSelection -> Ptr Gdk.Window.Window -> m ()+setEventSelectionWindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@window@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #window+@+-}+clearEventSelectionWindow :: MonadIO m => EventSelection -> m ()+clearEventSelectionWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventSelectionWindowFieldInfo+instance AttrInfo EventSelectionWindowFieldInfo where+    type AttrAllowedOps EventSelectionWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventSelectionWindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventSelectionWindowFieldInfo = (~) EventSelection+    type AttrGetType EventSelectionWindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventSelectionWindowFieldInfo = "window"+    type AttrOrigin EventSelectionWindowFieldInfo = EventSelection+    attrGet _ = getEventSelectionWindow+    attrSet _ = setEventSelectionWindow+    attrConstruct = undefined+    attrClear _ = clearEventSelectionWindow++eventSelection_window :: AttrLabelProxy "window"+eventSelection_window = AttrLabelProxy++#endif+++{- |+Get the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventSelection #sendEvent+@+-}+getEventSelectionSendEvent :: MonadIO m => EventSelection -> m Int8+getEventSelectionSendEvent s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++{- |+Set the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventSelection [ #sendEvent 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventSelectionSendEvent :: MonadIO m => EventSelection -> Int8 -> m ()+setEventSelectionSendEvent s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int8)++#if ENABLE_OVERLOADING+data EventSelectionSendEventFieldInfo+instance AttrInfo EventSelectionSendEventFieldInfo where+    type AttrAllowedOps EventSelectionSendEventFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventSelectionSendEventFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventSelectionSendEventFieldInfo = (~) EventSelection+    type AttrGetType EventSelectionSendEventFieldInfo = Int8+    type AttrLabel EventSelectionSendEventFieldInfo = "send_event"+    type AttrOrigin EventSelectionSendEventFieldInfo = EventSelection+    attrGet _ = getEventSelectionSendEvent+    attrSet _ = setEventSelectionSendEvent+    attrConstruct = undefined+    attrClear _ = undefined++eventSelection_sendEvent :: AttrLabelProxy "sendEvent"+eventSelection_sendEvent = AttrLabelProxy++#endif+++{- |+Get the value of the “@selection@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventSelection #selection+@+-}+getEventSelectionSelection :: MonadIO m => EventSelection -> m Gdk.Atom.Atom+getEventSelectionSelection s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 24 :: (Ptr Gdk.Atom.Atom)+    val' <- (newPtr Gdk.Atom.Atom) val+    return val'++#if ENABLE_OVERLOADING+data EventSelectionSelectionFieldInfo+instance AttrInfo EventSelectionSelectionFieldInfo where+    type AttrAllowedOps EventSelectionSelectionFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventSelectionSelectionFieldInfo = (~) (Ptr Gdk.Atom.Atom)+    type AttrBaseTypeConstraint EventSelectionSelectionFieldInfo = (~) EventSelection+    type AttrGetType EventSelectionSelectionFieldInfo = Gdk.Atom.Atom+    type AttrLabel EventSelectionSelectionFieldInfo = "selection"+    type AttrOrigin EventSelectionSelectionFieldInfo = EventSelection+    attrGet _ = getEventSelectionSelection+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++eventSelection_selection :: AttrLabelProxy "selection"+eventSelection_selection = AttrLabelProxy++#endif+++{- |+Get the value of the “@target@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventSelection #target+@+-}+getEventSelectionTarget :: MonadIO m => EventSelection -> m Gdk.Atom.Atom+getEventSelectionTarget s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 32 :: (Ptr Gdk.Atom.Atom)+    val' <- (newPtr Gdk.Atom.Atom) val+    return val'++#if ENABLE_OVERLOADING+data EventSelectionTargetFieldInfo+instance AttrInfo EventSelectionTargetFieldInfo where+    type AttrAllowedOps EventSelectionTargetFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventSelectionTargetFieldInfo = (~) (Ptr Gdk.Atom.Atom)+    type AttrBaseTypeConstraint EventSelectionTargetFieldInfo = (~) EventSelection+    type AttrGetType EventSelectionTargetFieldInfo = Gdk.Atom.Atom+    type AttrLabel EventSelectionTargetFieldInfo = "target"+    type AttrOrigin EventSelectionTargetFieldInfo = EventSelection+    attrGet _ = getEventSelectionTarget+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++eventSelection_target :: AttrLabelProxy "target"+eventSelection_target = AttrLabelProxy++#endif+++{- |+Get the value of the “@property@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventSelection #property+@+-}+getEventSelectionProperty :: MonadIO m => EventSelection -> m Gdk.Atom.Atom+getEventSelectionProperty s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 40 :: (Ptr Gdk.Atom.Atom)+    val' <- (newPtr Gdk.Atom.Atom) val+    return val'++#if ENABLE_OVERLOADING+data EventSelectionPropertyFieldInfo+instance AttrInfo EventSelectionPropertyFieldInfo where+    type AttrAllowedOps EventSelectionPropertyFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventSelectionPropertyFieldInfo = (~) (Ptr Gdk.Atom.Atom)+    type AttrBaseTypeConstraint EventSelectionPropertyFieldInfo = (~) EventSelection+    type AttrGetType EventSelectionPropertyFieldInfo = Gdk.Atom.Atom+    type AttrLabel EventSelectionPropertyFieldInfo = "property"+    type AttrOrigin EventSelectionPropertyFieldInfo = EventSelection+    attrGet _ = getEventSelectionProperty+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++eventSelection_property :: AttrLabelProxy "property"+eventSelection_property = AttrLabelProxy++#endif+++{- |+Get the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventSelection #time+@+-}+getEventSelectionTime :: MonadIO m => EventSelection -> m Word32+getEventSelectionTime s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO Word32+    return val++{- |+Set the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventSelection [ #time 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventSelectionTime :: MonadIO m => EventSelection -> Word32 -> m ()+setEventSelectionTime s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 48) (val :: Word32)++#if ENABLE_OVERLOADING+data EventSelectionTimeFieldInfo+instance AttrInfo EventSelectionTimeFieldInfo where+    type AttrAllowedOps EventSelectionTimeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventSelectionTimeFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventSelectionTimeFieldInfo = (~) EventSelection+    type AttrGetType EventSelectionTimeFieldInfo = Word32+    type AttrLabel EventSelectionTimeFieldInfo = "time"+    type AttrOrigin EventSelectionTimeFieldInfo = EventSelection+    attrGet _ = getEventSelectionTime+    attrSet _ = setEventSelectionTime+    attrConstruct = undefined+    attrClear _ = undefined++eventSelection_time :: AttrLabelProxy "time"+eventSelection_time = AttrLabelProxy++#endif+++{- |+Get the value of the “@requestor@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventSelection #requestor+@+-}+getEventSelectionRequestor :: MonadIO m => EventSelection -> m (Maybe Gdk.Window.Window)+getEventSelectionRequestor s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 56) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@requestor@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventSelection [ #requestor 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventSelectionRequestor :: MonadIO m => EventSelection -> Ptr Gdk.Window.Window -> m ()+setEventSelectionRequestor s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 56) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@requestor@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #requestor+@+-}+clearEventSelectionRequestor :: MonadIO m => EventSelection -> m ()+clearEventSelectionRequestor s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 56) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventSelectionRequestorFieldInfo+instance AttrInfo EventSelectionRequestorFieldInfo where+    type AttrAllowedOps EventSelectionRequestorFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventSelectionRequestorFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventSelectionRequestorFieldInfo = (~) EventSelection+    type AttrGetType EventSelectionRequestorFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventSelectionRequestorFieldInfo = "requestor"+    type AttrOrigin EventSelectionRequestorFieldInfo = EventSelection+    attrGet _ = getEventSelectionRequestor+    attrSet _ = setEventSelectionRequestor+    attrConstruct = undefined+    attrClear _ = clearEventSelectionRequestor++eventSelection_requestor :: AttrLabelProxy "requestor"+eventSelection_requestor = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList EventSelection+type instance O.AttributeList EventSelection = EventSelectionAttributeList+type EventSelectionAttributeList = ('[ '("type", EventSelectionTypeFieldInfo), '("window", EventSelectionWindowFieldInfo), '("sendEvent", EventSelectionSendEventFieldInfo), '("selection", EventSelectionSelectionFieldInfo), '("target", EventSelectionTargetFieldInfo), '("property", EventSelectionPropertyFieldInfo), '("time", EventSelectionTimeFieldInfo), '("requestor", EventSelectionRequestorFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveEventSelectionMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventSelectionMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventSelectionMethod t EventSelection, O.MethodInfo info EventSelection p) => OL.IsLabel t (EventSelection -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/EventSelection.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.EventSelection where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype EventSelection = EventSelection (ManagedPtr EventSelection)+instance WrappedPtr EventSelection where
+ GI/Gdk/Structs/EventSequence.hs view
@@ -0,0 +1,77 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++/No description available in the introspection data./+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.EventSequence+    ( ++-- * Exported types+    EventSequence(..)                       ,+    noEventSequence                         ,+++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++-- | Memory-managed wrapper type.+newtype EventSequence = EventSequence (ManagedPtr EventSequence)+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++-- | A convenience alias for `Nothing` :: `Maybe` `EventSequence`.+noEventSequence :: Maybe EventSequence+noEventSequence = Nothing+++#if ENABLE_OVERLOADING+instance O.HasAttributeList EventSequence+type instance O.AttributeList EventSequence = EventSequenceAttributeList+type EventSequenceAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveEventSequenceMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventSequenceMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventSequenceMethod t EventSequence, O.MethodInfo info EventSequence p) => OL.IsLabel t (EventSequence -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/EventSequence.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.EventSequence where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype EventSequence = EventSequence (ManagedPtr EventSequence)+instance BoxedObject EventSequence where
+ GI/Gdk/Structs/EventSetting.hs view
@@ -0,0 +1,405 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Generated when a setting is modified.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.EventSetting+    ( ++-- * Exported types+    EventSetting(..)                        ,+    newZeroEventSetting                     ,+    noEventSetting                          ,+++ -- * Properties+-- ** action #attr:action#+{- | what happened to the setting ('GI.Gdk.Enums.SettingActionNew',+  'GI.Gdk.Enums.SettingActionChanged' or 'GI.Gdk.Enums.SettingActionDeleted').+-}+#if ENABLE_OVERLOADING+    eventSetting_action                     ,+#endif+    getEventSettingAction                   ,+    setEventSettingAction                   ,+++-- ** name #attr:name#+{- | the name of the setting.+-}+    clearEventSettingName                   ,+#if ENABLE_OVERLOADING+    eventSetting_name                       ,+#endif+    getEventSettingName                     ,+    setEventSettingName                     ,+++-- ** sendEvent #attr:sendEvent#+{- | 'True' if the event was sent explicitly.+-}+#if ENABLE_OVERLOADING+    eventSetting_sendEvent                  ,+#endif+    getEventSettingSendEvent                ,+    setEventSettingSendEvent                ,+++-- ** type #attr:type#+{- | the type of the event ('GI.Gdk.Enums.EventTypeSetting').+-}+#if ENABLE_OVERLOADING+    eventSetting_type                       ,+#endif+    getEventSettingType                     ,+    setEventSettingType                     ,+++-- ** window #attr:window#+{- | the window which received the event.+-}+    clearEventSettingWindow                 ,+#if ENABLE_OVERLOADING+    eventSetting_window                     ,+#endif+    getEventSettingWindow                   ,+    setEventSettingWindow                   ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window++-- | Memory-managed wrapper type.+newtype EventSetting = EventSetting (ManagedPtr EventSetting)+instance WrappedPtr EventSetting where+    wrappedPtrCalloc = callocBytes 32+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 32 >=> wrapPtr EventSetting)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `EventSetting` struct initialized to zero.+newZeroEventSetting :: MonadIO m => m EventSetting+newZeroEventSetting = liftIO $ wrappedPtrCalloc >>= wrapPtr EventSetting++instance tag ~ 'AttrSet => Constructible EventSetting tag where+    new _ attrs = do+        o <- newZeroEventSetting+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `EventSetting`.+noEventSetting :: Maybe EventSetting+noEventSetting = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventSetting #type+@+-}+getEventSettingType :: MonadIO m => EventSetting -> m Gdk.Enums.EventType+getEventSettingType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventSetting [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventSettingType :: MonadIO m => EventSetting -> Gdk.Enums.EventType -> m ()+setEventSettingType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventSettingTypeFieldInfo+instance AttrInfo EventSettingTypeFieldInfo where+    type AttrAllowedOps EventSettingTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventSettingTypeFieldInfo = (~) Gdk.Enums.EventType+    type AttrBaseTypeConstraint EventSettingTypeFieldInfo = (~) EventSetting+    type AttrGetType EventSettingTypeFieldInfo = Gdk.Enums.EventType+    type AttrLabel EventSettingTypeFieldInfo = "type"+    type AttrOrigin EventSettingTypeFieldInfo = EventSetting+    attrGet _ = getEventSettingType+    attrSet _ = setEventSettingType+    attrConstruct = undefined+    attrClear _ = undefined++eventSetting_type :: AttrLabelProxy "type"+eventSetting_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventSetting #window+@+-}+getEventSettingWindow :: MonadIO m => EventSetting -> m (Maybe Gdk.Window.Window)+getEventSettingWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventSetting [ #window 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventSettingWindow :: MonadIO m => EventSetting -> Ptr Gdk.Window.Window -> m ()+setEventSettingWindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@window@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #window+@+-}+clearEventSettingWindow :: MonadIO m => EventSetting -> m ()+clearEventSettingWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventSettingWindowFieldInfo+instance AttrInfo EventSettingWindowFieldInfo where+    type AttrAllowedOps EventSettingWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventSettingWindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventSettingWindowFieldInfo = (~) EventSetting+    type AttrGetType EventSettingWindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventSettingWindowFieldInfo = "window"+    type AttrOrigin EventSettingWindowFieldInfo = EventSetting+    attrGet _ = getEventSettingWindow+    attrSet _ = setEventSettingWindow+    attrConstruct = undefined+    attrClear _ = clearEventSettingWindow++eventSetting_window :: AttrLabelProxy "window"+eventSetting_window = AttrLabelProxy++#endif+++{- |+Get the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventSetting #sendEvent+@+-}+getEventSettingSendEvent :: MonadIO m => EventSetting -> m Int8+getEventSettingSendEvent s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++{- |+Set the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventSetting [ #sendEvent 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventSettingSendEvent :: MonadIO m => EventSetting -> Int8 -> m ()+setEventSettingSendEvent s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int8)++#if ENABLE_OVERLOADING+data EventSettingSendEventFieldInfo+instance AttrInfo EventSettingSendEventFieldInfo where+    type AttrAllowedOps EventSettingSendEventFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventSettingSendEventFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventSettingSendEventFieldInfo = (~) EventSetting+    type AttrGetType EventSettingSendEventFieldInfo = Int8+    type AttrLabel EventSettingSendEventFieldInfo = "send_event"+    type AttrOrigin EventSettingSendEventFieldInfo = EventSetting+    attrGet _ = getEventSettingSendEvent+    attrSet _ = setEventSettingSendEvent+    attrConstruct = undefined+    attrClear _ = undefined++eventSetting_sendEvent :: AttrLabelProxy "sendEvent"+eventSetting_sendEvent = AttrLabelProxy++#endif+++{- |+Get the value of the “@action@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventSetting #action+@+-}+getEventSettingAction :: MonadIO m => EventSetting -> m Gdk.Enums.SettingAction+getEventSettingAction s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@action@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventSetting [ #action 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventSettingAction :: MonadIO m => EventSetting -> Gdk.Enums.SettingAction -> m ()+setEventSettingAction s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 20) (val' :: CUInt)++#if ENABLE_OVERLOADING+data EventSettingActionFieldInfo+instance AttrInfo EventSettingActionFieldInfo where+    type AttrAllowedOps EventSettingActionFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventSettingActionFieldInfo = (~) Gdk.Enums.SettingAction+    type AttrBaseTypeConstraint EventSettingActionFieldInfo = (~) EventSetting+    type AttrGetType EventSettingActionFieldInfo = Gdk.Enums.SettingAction+    type AttrLabel EventSettingActionFieldInfo = "action"+    type AttrOrigin EventSettingActionFieldInfo = EventSetting+    attrGet _ = getEventSettingAction+    attrSet _ = setEventSettingAction+    attrConstruct = undefined+    attrClear _ = undefined++eventSetting_action :: AttrLabelProxy "action"+eventSetting_action = AttrLabelProxy++#endif+++{- |+Get the value of the “@name@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventSetting #name+@+-}+getEventSettingName :: MonadIO m => EventSetting -> m (Maybe T.Text)+getEventSettingName s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CString+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- cstringToText val'+        return val''+    return result++{- |+Set the value of the “@name@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventSetting [ #name 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventSettingName :: MonadIO m => EventSetting -> CString -> m ()+setEventSettingName s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 24) (val :: CString)++{- |+Set the value of the “@name@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #name+@+-}+clearEventSettingName :: MonadIO m => EventSetting -> m ()+clearEventSettingName s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 24) (FP.nullPtr :: CString)++#if ENABLE_OVERLOADING+data EventSettingNameFieldInfo+instance AttrInfo EventSettingNameFieldInfo where+    type AttrAllowedOps EventSettingNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventSettingNameFieldInfo = (~) CString+    type AttrBaseTypeConstraint EventSettingNameFieldInfo = (~) EventSetting+    type AttrGetType EventSettingNameFieldInfo = Maybe T.Text+    type AttrLabel EventSettingNameFieldInfo = "name"+    type AttrOrigin EventSettingNameFieldInfo = EventSetting+    attrGet _ = getEventSettingName+    attrSet _ = setEventSettingName+    attrConstruct = undefined+    attrClear _ = clearEventSettingName++eventSetting_name :: AttrLabelProxy "name"+eventSetting_name = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList EventSetting+type instance O.AttributeList EventSetting = EventSettingAttributeList+type EventSettingAttributeList = ('[ '("type", EventSettingTypeFieldInfo), '("window", EventSettingWindowFieldInfo), '("sendEvent", EventSettingSendEventFieldInfo), '("action", EventSettingActionFieldInfo), '("name", EventSettingNameFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveEventSettingMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventSettingMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventSettingMethod t EventSetting, O.MethodInfo info EventSetting p) => OL.IsLabel t (EventSetting -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/EventSetting.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.EventSetting where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype EventSetting = EventSetting (ManagedPtr EventSetting)+instance WrappedPtr EventSetting where
+ GI/Gdk/Structs/EventTouch.hs view
@@ -0,0 +1,892 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Used for touch events.+/@type@/ field will be one of 'GI.Gdk.Enums.EventTypeTouchBegin', 'GI.Gdk.Enums.EventTypeTouchUpdate',+'GI.Gdk.Enums.EventTypeTouchEnd' or 'GI.Gdk.Enums.EventTypeTouchCancel'.++Touch events are grouped into sequences by means of the /@sequence@/+field, which can also be obtained with 'GI.Gdk.Unions.Event.eventGetEventSequence'.+Each sequence begins with a 'GI.Gdk.Enums.EventTypeTouchBegin' event, followed by+any number of 'GI.Gdk.Enums.EventTypeTouchUpdate' events, and ends with a 'GI.Gdk.Enums.EventTypeTouchEnd'+(or 'GI.Gdk.Enums.EventTypeTouchCancel') event. With multitouch devices, there may be+several active sequences at the same time.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.EventTouch+    ( ++-- * Exported types+    EventTouch(..)                          ,+    newZeroEventTouch                       ,+    noEventTouch                            ,+++ -- * Properties+-- ** axes #attr:axes#+{- | /@x@/, /@y@/ translated to the axes of /@device@/, or 'Nothing' if /@device@/ is+  the mouse+-}+#if ENABLE_OVERLOADING+    eventTouch_axes                         ,+#endif+    getEventTouchAxes                       ,+    setEventTouchAxes                       ,+++-- ** device #attr:device#+{- | the master device that the event originated from. Use+'GI.Gdk.Unions.Event.eventGetSourceDevice' to get the slave device.+-}+    clearEventTouchDevice                   ,+#if ENABLE_OVERLOADING+    eventTouch_device                       ,+#endif+    getEventTouchDevice                     ,+    setEventTouchDevice                     ,+++-- ** emulatingPointer #attr:emulatingPointer#+{- | whether the event should be used for emulating+  pointer event+-}+#if ENABLE_OVERLOADING+    eventTouch_emulatingPointer             ,+#endif+    getEventTouchEmulatingPointer           ,+    setEventTouchEmulatingPointer           ,+++-- ** sendEvent #attr:sendEvent#+{- | 'True' if the event was sent explicitly.+-}+#if ENABLE_OVERLOADING+    eventTouch_sendEvent                    ,+#endif+    getEventTouchSendEvent                  ,+    setEventTouchSendEvent                  ,+++-- ** sequence #attr:sequence#+{- | the event sequence that the event belongs to+-}+    clearEventTouchSequence                 ,+#if ENABLE_OVERLOADING+    eventTouch_sequence                     ,+#endif+    getEventTouchSequence                   ,+    setEventTouchSequence                   ,+++-- ** state #attr:state#+{- | a bit-mask representing the state of+  the modifier keys (e.g. Control, Shift and Alt) and the pointer+  buttons. See 'GI.Gdk.Flags.ModifierType'+-}+#if ENABLE_OVERLOADING+    eventTouch_state                        ,+#endif+    getEventTouchState                      ,+    setEventTouchState                      ,+++-- ** time #attr:time#+{- | the time of the event in milliseconds.+-}+#if ENABLE_OVERLOADING+    eventTouch_time                         ,+#endif+    getEventTouchTime                       ,+    setEventTouchTime                       ,+++-- ** type #attr:type#+{- | the type of the event ('GI.Gdk.Enums.EventTypeTouchBegin', 'GI.Gdk.Enums.EventTypeTouchUpdate',+  'GI.Gdk.Enums.EventTypeTouchEnd', 'GI.Gdk.Enums.EventTypeTouchCancel')+-}+#if ENABLE_OVERLOADING+    eventTouch_type                         ,+#endif+    getEventTouchType                       ,+    setEventTouchType                       ,+++-- ** window #attr:window#+{- | the window which received the event+-}+    clearEventTouchWindow                   ,+#if ENABLE_OVERLOADING+    eventTouch_window                       ,+#endif+    getEventTouchWindow                     ,+    setEventTouchWindow                     ,+++-- ** x #attr:x#+{- | the x coordinate of the pointer relative to the window+-}+#if ENABLE_OVERLOADING+    eventTouch_x                            ,+#endif+    getEventTouchX                          ,+    setEventTouchX                          ,+++-- ** xRoot #attr:xRoot#+{- | the x coordinate of the pointer relative to the root of the+  screen+-}+#if ENABLE_OVERLOADING+    eventTouch_xRoot                        ,+#endif+    getEventTouchXRoot                      ,+    setEventTouchXRoot                      ,+++-- ** y #attr:y#+{- | the y coordinate of the pointer relative to the window+-}+#if ENABLE_OVERLOADING+    eventTouch_y                            ,+#endif+    getEventTouchY                          ,+    setEventTouchY                          ,+++-- ** yRoot #attr:yRoot#+{- | the y coordinate of the pointer relative to the root of the+  screen+-}+#if ENABLE_OVERLOADING+    eventTouch_yRoot                        ,+#endif+    getEventTouchYRoot                      ,+    setEventTouchYRoot                      ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Flags as Gdk.Flags+import {-# SOURCE #-} qualified GI.Gdk.Objects.Device as Gdk.Device+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventSequence as Gdk.EventSequence++-- | Memory-managed wrapper type.+newtype EventTouch = EventTouch (ManagedPtr EventTouch)+instance WrappedPtr EventTouch where+    wrappedPtrCalloc = callocBytes 96+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 96 >=> wrapPtr EventTouch)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `EventTouch` struct initialized to zero.+newZeroEventTouch :: MonadIO m => m EventTouch+newZeroEventTouch = liftIO $ wrappedPtrCalloc >>= wrapPtr EventTouch++instance tag ~ 'AttrSet => Constructible EventTouch tag where+    new _ attrs = do+        o <- newZeroEventTouch+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `EventTouch`.+noEventTouch :: Maybe EventTouch+noEventTouch = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouch #type+@+-}+getEventTouchType :: MonadIO m => EventTouch -> m Gdk.Enums.EventType+getEventTouchType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouch [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchType :: MonadIO m => EventTouch -> Gdk.Enums.EventType -> m ()+setEventTouchType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventTouchTypeFieldInfo+instance AttrInfo EventTouchTypeFieldInfo where+    type AttrAllowedOps EventTouchTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchTypeFieldInfo = (~) Gdk.Enums.EventType+    type AttrBaseTypeConstraint EventTouchTypeFieldInfo = (~) EventTouch+    type AttrGetType EventTouchTypeFieldInfo = Gdk.Enums.EventType+    type AttrLabel EventTouchTypeFieldInfo = "type"+    type AttrOrigin EventTouchTypeFieldInfo = EventTouch+    attrGet _ = getEventTouchType+    attrSet _ = setEventTouchType+    attrConstruct = undefined+    attrClear _ = undefined++eventTouch_type :: AttrLabelProxy "type"+eventTouch_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouch #window+@+-}+getEventTouchWindow :: MonadIO m => EventTouch -> m (Maybe Gdk.Window.Window)+getEventTouchWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouch [ #window 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchWindow :: MonadIO m => EventTouch -> Ptr Gdk.Window.Window -> m ()+setEventTouchWindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@window@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #window+@+-}+clearEventTouchWindow :: MonadIO m => EventTouch -> m ()+clearEventTouchWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventTouchWindowFieldInfo+instance AttrInfo EventTouchWindowFieldInfo where+    type AttrAllowedOps EventTouchWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventTouchWindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventTouchWindowFieldInfo = (~) EventTouch+    type AttrGetType EventTouchWindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventTouchWindowFieldInfo = "window"+    type AttrOrigin EventTouchWindowFieldInfo = EventTouch+    attrGet _ = getEventTouchWindow+    attrSet _ = setEventTouchWindow+    attrConstruct = undefined+    attrClear _ = clearEventTouchWindow++eventTouch_window :: AttrLabelProxy "window"+eventTouch_window = AttrLabelProxy++#endif+++{- |+Get the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouch #sendEvent+@+-}+getEventTouchSendEvent :: MonadIO m => EventTouch -> m Int8+getEventTouchSendEvent s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++{- |+Set the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouch [ #sendEvent 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchSendEvent :: MonadIO m => EventTouch -> Int8 -> m ()+setEventTouchSendEvent s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int8)++#if ENABLE_OVERLOADING+data EventTouchSendEventFieldInfo+instance AttrInfo EventTouchSendEventFieldInfo where+    type AttrAllowedOps EventTouchSendEventFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchSendEventFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventTouchSendEventFieldInfo = (~) EventTouch+    type AttrGetType EventTouchSendEventFieldInfo = Int8+    type AttrLabel EventTouchSendEventFieldInfo = "send_event"+    type AttrOrigin EventTouchSendEventFieldInfo = EventTouch+    attrGet _ = getEventTouchSendEvent+    attrSet _ = setEventTouchSendEvent+    attrConstruct = undefined+    attrClear _ = undefined++eventTouch_sendEvent :: AttrLabelProxy "sendEvent"+eventTouch_sendEvent = AttrLabelProxy++#endif+++{- |+Get the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouch #time+@+-}+getEventTouchTime :: MonadIO m => EventTouch -> m Word32+getEventTouchTime s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Word32+    return val++{- |+Set the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouch [ #time 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchTime :: MonadIO m => EventTouch -> Word32 -> m ()+setEventTouchTime s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 20) (val :: Word32)++#if ENABLE_OVERLOADING+data EventTouchTimeFieldInfo+instance AttrInfo EventTouchTimeFieldInfo where+    type AttrAllowedOps EventTouchTimeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchTimeFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventTouchTimeFieldInfo = (~) EventTouch+    type AttrGetType EventTouchTimeFieldInfo = Word32+    type AttrLabel EventTouchTimeFieldInfo = "time"+    type AttrOrigin EventTouchTimeFieldInfo = EventTouch+    attrGet _ = getEventTouchTime+    attrSet _ = setEventTouchTime+    attrConstruct = undefined+    attrClear _ = undefined++eventTouch_time :: AttrLabelProxy "time"+eventTouch_time = AttrLabelProxy++#endif+++{- |+Get the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouch #x+@+-}+getEventTouchX :: MonadIO m => EventTouch -> m Double+getEventTouchX s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouch [ #x 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchX :: MonadIO m => EventTouch -> Double -> m ()+setEventTouchX s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 24) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventTouchXFieldInfo+instance AttrInfo EventTouchXFieldInfo where+    type AttrAllowedOps EventTouchXFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchXFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventTouchXFieldInfo = (~) EventTouch+    type AttrGetType EventTouchXFieldInfo = Double+    type AttrLabel EventTouchXFieldInfo = "x"+    type AttrOrigin EventTouchXFieldInfo = EventTouch+    attrGet _ = getEventTouchX+    attrSet _ = setEventTouchX+    attrConstruct = undefined+    attrClear _ = undefined++eventTouch_x :: AttrLabelProxy "x"+eventTouch_x = AttrLabelProxy++#endif+++{- |+Get the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouch #y+@+-}+getEventTouchY :: MonadIO m => EventTouch -> m Double+getEventTouchY s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouch [ #y 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchY :: MonadIO m => EventTouch -> Double -> m ()+setEventTouchY s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 32) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventTouchYFieldInfo+instance AttrInfo EventTouchYFieldInfo where+    type AttrAllowedOps EventTouchYFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchYFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventTouchYFieldInfo = (~) EventTouch+    type AttrGetType EventTouchYFieldInfo = Double+    type AttrLabel EventTouchYFieldInfo = "y"+    type AttrOrigin EventTouchYFieldInfo = EventTouch+    attrGet _ = getEventTouchY+    attrSet _ = setEventTouchY+    attrConstruct = undefined+    attrClear _ = undefined++eventTouch_y :: AttrLabelProxy "y"+eventTouch_y = AttrLabelProxy++#endif+++{- |+Get the value of the “@axes@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouch #axes+@+-}+getEventTouchAxes :: MonadIO m => EventTouch -> m Double+getEventTouchAxes s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@axes@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouch [ #axes 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchAxes :: MonadIO m => EventTouch -> Double -> m ()+setEventTouchAxes s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 40) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventTouchAxesFieldInfo+instance AttrInfo EventTouchAxesFieldInfo where+    type AttrAllowedOps EventTouchAxesFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchAxesFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventTouchAxesFieldInfo = (~) EventTouch+    type AttrGetType EventTouchAxesFieldInfo = Double+    type AttrLabel EventTouchAxesFieldInfo = "axes"+    type AttrOrigin EventTouchAxesFieldInfo = EventTouch+    attrGet _ = getEventTouchAxes+    attrSet _ = setEventTouchAxes+    attrConstruct = undefined+    attrClear _ = undefined++eventTouch_axes :: AttrLabelProxy "axes"+eventTouch_axes = AttrLabelProxy++#endif+++{- |+Get the value of the “@state@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouch #state+@+-}+getEventTouchState :: MonadIO m => EventTouch -> m [Gdk.Flags.ModifierType]+getEventTouchState s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO CUInt+    let val' = wordToGFlags val+    return val'++{- |+Set the value of the “@state@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouch [ #state 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchState :: MonadIO m => EventTouch -> [Gdk.Flags.ModifierType] -> m ()+setEventTouchState s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = gflagsToWord val+    poke (ptr `plusPtr` 48) (val' :: CUInt)++#if ENABLE_OVERLOADING+data EventTouchStateFieldInfo+instance AttrInfo EventTouchStateFieldInfo where+    type AttrAllowedOps EventTouchStateFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchStateFieldInfo = (~) [Gdk.Flags.ModifierType]+    type AttrBaseTypeConstraint EventTouchStateFieldInfo = (~) EventTouch+    type AttrGetType EventTouchStateFieldInfo = [Gdk.Flags.ModifierType]+    type AttrLabel EventTouchStateFieldInfo = "state"+    type AttrOrigin EventTouchStateFieldInfo = EventTouch+    attrGet _ = getEventTouchState+    attrSet _ = setEventTouchState+    attrConstruct = undefined+    attrClear _ = undefined++eventTouch_state :: AttrLabelProxy "state"+eventTouch_state = AttrLabelProxy++#endif+++{- |+Get the value of the “@sequence@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouch #sequence+@+-}+getEventTouchSequence :: MonadIO m => EventTouch -> m (Maybe Gdk.EventSequence.EventSequence)+getEventTouchSequence s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 56) :: IO (Ptr Gdk.EventSequence.EventSequence)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newBoxed Gdk.EventSequence.EventSequence) val'+        return val''+    return result++{- |+Set the value of the “@sequence@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouch [ #sequence 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchSequence :: MonadIO m => EventTouch -> Ptr Gdk.EventSequence.EventSequence -> m ()+setEventTouchSequence s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 56) (val :: Ptr Gdk.EventSequence.EventSequence)++{- |+Set the value of the “@sequence@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #sequence+@+-}+clearEventTouchSequence :: MonadIO m => EventTouch -> m ()+clearEventTouchSequence s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 56) (FP.nullPtr :: Ptr Gdk.EventSequence.EventSequence)++#if ENABLE_OVERLOADING+data EventTouchSequenceFieldInfo+instance AttrInfo EventTouchSequenceFieldInfo where+    type AttrAllowedOps EventTouchSequenceFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventTouchSequenceFieldInfo = (~) (Ptr Gdk.EventSequence.EventSequence)+    type AttrBaseTypeConstraint EventTouchSequenceFieldInfo = (~) EventTouch+    type AttrGetType EventTouchSequenceFieldInfo = Maybe Gdk.EventSequence.EventSequence+    type AttrLabel EventTouchSequenceFieldInfo = "sequence"+    type AttrOrigin EventTouchSequenceFieldInfo = EventTouch+    attrGet _ = getEventTouchSequence+    attrSet _ = setEventTouchSequence+    attrConstruct = undefined+    attrClear _ = clearEventTouchSequence++eventTouch_sequence :: AttrLabelProxy "sequence"+eventTouch_sequence = AttrLabelProxy++#endif+++{- |+Get the value of the “@emulating_pointer@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouch #emulatingPointer+@+-}+getEventTouchEmulatingPointer :: MonadIO m => EventTouch -> m Bool+getEventTouchEmulatingPointer s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 64) :: IO CInt+    let val' = (/= 0) val+    return val'++{- |+Set the value of the “@emulating_pointer@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouch [ #emulatingPointer 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchEmulatingPointer :: MonadIO m => EventTouch -> Bool -> m ()+setEventTouchEmulatingPointer s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 64) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventTouchEmulatingPointerFieldInfo+instance AttrInfo EventTouchEmulatingPointerFieldInfo where+    type AttrAllowedOps EventTouchEmulatingPointerFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchEmulatingPointerFieldInfo = (~) Bool+    type AttrBaseTypeConstraint EventTouchEmulatingPointerFieldInfo = (~) EventTouch+    type AttrGetType EventTouchEmulatingPointerFieldInfo = Bool+    type AttrLabel EventTouchEmulatingPointerFieldInfo = "emulating_pointer"+    type AttrOrigin EventTouchEmulatingPointerFieldInfo = EventTouch+    attrGet _ = getEventTouchEmulatingPointer+    attrSet _ = setEventTouchEmulatingPointer+    attrConstruct = undefined+    attrClear _ = undefined++eventTouch_emulatingPointer :: AttrLabelProxy "emulatingPointer"+eventTouch_emulatingPointer = AttrLabelProxy++#endif+++{- |+Get the value of the “@device@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouch #device+@+-}+getEventTouchDevice :: MonadIO m => EventTouch -> m (Maybe Gdk.Device.Device)+getEventTouchDevice s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 72) :: IO (Ptr Gdk.Device.Device)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Device.Device) val'+        return val''+    return result++{- |+Set the value of the “@device@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouch [ #device 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchDevice :: MonadIO m => EventTouch -> Ptr Gdk.Device.Device -> m ()+setEventTouchDevice s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 72) (val :: Ptr Gdk.Device.Device)++{- |+Set the value of the “@device@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #device+@+-}+clearEventTouchDevice :: MonadIO m => EventTouch -> m ()+clearEventTouchDevice s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 72) (FP.nullPtr :: Ptr Gdk.Device.Device)++#if ENABLE_OVERLOADING+data EventTouchDeviceFieldInfo+instance AttrInfo EventTouchDeviceFieldInfo where+    type AttrAllowedOps EventTouchDeviceFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventTouchDeviceFieldInfo = (~) (Ptr Gdk.Device.Device)+    type AttrBaseTypeConstraint EventTouchDeviceFieldInfo = (~) EventTouch+    type AttrGetType EventTouchDeviceFieldInfo = Maybe Gdk.Device.Device+    type AttrLabel EventTouchDeviceFieldInfo = "device"+    type AttrOrigin EventTouchDeviceFieldInfo = EventTouch+    attrGet _ = getEventTouchDevice+    attrSet _ = setEventTouchDevice+    attrConstruct = undefined+    attrClear _ = clearEventTouchDevice++eventTouch_device :: AttrLabelProxy "device"+eventTouch_device = AttrLabelProxy++#endif+++{- |+Get the value of the “@x_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouch #xRoot+@+-}+getEventTouchXRoot :: MonadIO m => EventTouch -> m Double+getEventTouchXRoot s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 80) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@x_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouch [ #xRoot 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchXRoot :: MonadIO m => EventTouch -> Double -> m ()+setEventTouchXRoot s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 80) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventTouchXRootFieldInfo+instance AttrInfo EventTouchXRootFieldInfo where+    type AttrAllowedOps EventTouchXRootFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchXRootFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventTouchXRootFieldInfo = (~) EventTouch+    type AttrGetType EventTouchXRootFieldInfo = Double+    type AttrLabel EventTouchXRootFieldInfo = "x_root"+    type AttrOrigin EventTouchXRootFieldInfo = EventTouch+    attrGet _ = getEventTouchXRoot+    attrSet _ = setEventTouchXRoot+    attrConstruct = undefined+    attrClear _ = undefined++eventTouch_xRoot :: AttrLabelProxy "xRoot"+eventTouch_xRoot = AttrLabelProxy++#endif+++{- |+Get the value of the “@y_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouch #yRoot+@+-}+getEventTouchYRoot :: MonadIO m => EventTouch -> m Double+getEventTouchYRoot s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 88) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@y_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouch [ #yRoot 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchYRoot :: MonadIO m => EventTouch -> Double -> m ()+setEventTouchYRoot s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 88) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventTouchYRootFieldInfo+instance AttrInfo EventTouchYRootFieldInfo where+    type AttrAllowedOps EventTouchYRootFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchYRootFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventTouchYRootFieldInfo = (~) EventTouch+    type AttrGetType EventTouchYRootFieldInfo = Double+    type AttrLabel EventTouchYRootFieldInfo = "y_root"+    type AttrOrigin EventTouchYRootFieldInfo = EventTouch+    attrGet _ = getEventTouchYRoot+    attrSet _ = setEventTouchYRoot+    attrConstruct = undefined+    attrClear _ = undefined++eventTouch_yRoot :: AttrLabelProxy "yRoot"+eventTouch_yRoot = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList EventTouch+type instance O.AttributeList EventTouch = EventTouchAttributeList+type EventTouchAttributeList = ('[ '("type", EventTouchTypeFieldInfo), '("window", EventTouchWindowFieldInfo), '("sendEvent", EventTouchSendEventFieldInfo), '("time", EventTouchTimeFieldInfo), '("x", EventTouchXFieldInfo), '("y", EventTouchYFieldInfo), '("axes", EventTouchAxesFieldInfo), '("state", EventTouchStateFieldInfo), '("sequence", EventTouchSequenceFieldInfo), '("emulatingPointer", EventTouchEmulatingPointerFieldInfo), '("device", EventTouchDeviceFieldInfo), '("xRoot", EventTouchXRootFieldInfo), '("yRoot", EventTouchYRootFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveEventTouchMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventTouchMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventTouchMethod t EventTouch, O.MethodInfo info EventTouch p) => OL.IsLabel t (EventTouch -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/EventTouch.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.EventTouch where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype EventTouch = EventTouch (ManagedPtr EventTouch)+instance WrappedPtr EventTouch where
+ GI/Gdk/Structs/EventTouchpadPinch.hs view
@@ -0,0 +1,961 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Generated during touchpad swipe gestures.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.EventTouchpadPinch+    ( ++-- * Exported types+    EventTouchpadPinch(..)                  ,+    newZeroEventTouchpadPinch               ,+    noEventTouchpadPinch                    ,+++ -- * Properties+-- ** angleDelta #attr:angleDelta#+{- | The angle change in radians, negative angles+  denote counter-clockwise movements+-}+#if ENABLE_OVERLOADING+    eventTouchpadPinch_angleDelta           ,+#endif+    getEventTouchpadPinchAngleDelta         ,+    setEventTouchpadPinchAngleDelta         ,+++-- ** dx #attr:dx#+{- | Movement delta in the X axis of the swipe focal point+-}+#if ENABLE_OVERLOADING+    eventTouchpadPinch_dx                   ,+#endif+    getEventTouchpadPinchDx                 ,+    setEventTouchpadPinchDx                 ,+++-- ** dy #attr:dy#+{- | Movement delta in the Y axis of the swipe focal point+-}+#if ENABLE_OVERLOADING+    eventTouchpadPinch_dy                   ,+#endif+    getEventTouchpadPinchDy                 ,+    setEventTouchpadPinchDy                 ,+++-- ** nFingers #attr:nFingers#+{- | The number of fingers triggering the pinch+-}+#if ENABLE_OVERLOADING+    eventTouchpadPinch_nFingers             ,+#endif+    getEventTouchpadPinchNFingers           ,+    setEventTouchpadPinchNFingers           ,+++-- ** phase #attr:phase#+{- | the current phase of the gesture+-}+#if ENABLE_OVERLOADING+    eventTouchpadPinch_phase                ,+#endif+    getEventTouchpadPinchPhase              ,+    setEventTouchpadPinchPhase              ,+++-- ** scale #attr:scale#+{- | The current scale, relative to that at the time of+  the corresponding 'GI.Gdk.Enums.TouchpadGesturePhaseBegin' event+-}+#if ENABLE_OVERLOADING+    eventTouchpadPinch_scale                ,+#endif+    getEventTouchpadPinchScale              ,+    setEventTouchpadPinchScale              ,+++-- ** sendEvent #attr:sendEvent#+{- | 'True' if the event was sent explicitly+-}+#if ENABLE_OVERLOADING+    eventTouchpadPinch_sendEvent            ,+#endif+    getEventTouchpadPinchSendEvent          ,+    setEventTouchpadPinchSendEvent          ,+++-- ** state #attr:state#+{- | a bit-mask representing the state of+  the modifier keys (e.g. Control, Shift and Alt) and the pointer+  buttons. See 'GI.Gdk.Flags.ModifierType'.+-}+#if ENABLE_OVERLOADING+    eventTouchpadPinch_state                ,+#endif+    getEventTouchpadPinchState              ,+    setEventTouchpadPinchState              ,+++-- ** time #attr:time#+{- | the time of the event in milliseconds+-}+#if ENABLE_OVERLOADING+    eventTouchpadPinch_time                 ,+#endif+    getEventTouchpadPinchTime               ,+    setEventTouchpadPinchTime               ,+++-- ** type #attr:type#+{- | the type of the event ('GI.Gdk.Enums.EventTypeTouchpadPinch')+-}+#if ENABLE_OVERLOADING+    eventTouchpadPinch_type                 ,+#endif+    getEventTouchpadPinchType               ,+    setEventTouchpadPinchType               ,+++-- ** window #attr:window#+{- | the window which received the event+-}+    clearEventTouchpadPinchWindow           ,+#if ENABLE_OVERLOADING+    eventTouchpadPinch_window               ,+#endif+    getEventTouchpadPinchWindow             ,+    setEventTouchpadPinchWindow             ,+++-- ** x #attr:x#+{- | The X coordinate of the pointer+-}+#if ENABLE_OVERLOADING+    eventTouchpadPinch_x                    ,+#endif+    getEventTouchpadPinchX                  ,+    setEventTouchpadPinchX                  ,+++-- ** xRoot #attr:xRoot#+{- | The X coordinate of the pointer, relative to the+  root of the screen.+-}+#if ENABLE_OVERLOADING+    eventTouchpadPinch_xRoot                ,+#endif+    getEventTouchpadPinchXRoot              ,+    setEventTouchpadPinchXRoot              ,+++-- ** y #attr:y#+{- | The Y coordinate of the pointer+-}+#if ENABLE_OVERLOADING+    eventTouchpadPinch_y                    ,+#endif+    getEventTouchpadPinchY                  ,+    setEventTouchpadPinchY                  ,+++-- ** yRoot #attr:yRoot#+{- | The Y coordinate of the pointer, relative to the+  root of the screen.+-}+#if ENABLE_OVERLOADING+    eventTouchpadPinch_yRoot                ,+#endif+    getEventTouchpadPinchYRoot              ,+    setEventTouchpadPinchYRoot              ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Flags as Gdk.Flags+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window++-- | Memory-managed wrapper type.+newtype EventTouchpadPinch = EventTouchpadPinch (ManagedPtr EventTouchpadPinch)+instance WrappedPtr EventTouchpadPinch where+    wrappedPtrCalloc = callocBytes 96+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 96 >=> wrapPtr EventTouchpadPinch)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `EventTouchpadPinch` struct initialized to zero.+newZeroEventTouchpadPinch :: MonadIO m => m EventTouchpadPinch+newZeroEventTouchpadPinch = liftIO $ wrappedPtrCalloc >>= wrapPtr EventTouchpadPinch++instance tag ~ 'AttrSet => Constructible EventTouchpadPinch tag where+    new _ attrs = do+        o <- newZeroEventTouchpadPinch+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `EventTouchpadPinch`.+noEventTouchpadPinch :: Maybe EventTouchpadPinch+noEventTouchpadPinch = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadPinch #type+@+-}+getEventTouchpadPinchType :: MonadIO m => EventTouchpadPinch -> m Gdk.Enums.EventType+getEventTouchpadPinchType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadPinch [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadPinchType :: MonadIO m => EventTouchpadPinch -> Gdk.Enums.EventType -> m ()+setEventTouchpadPinchType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventTouchpadPinchTypeFieldInfo+instance AttrInfo EventTouchpadPinchTypeFieldInfo where+    type AttrAllowedOps EventTouchpadPinchTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadPinchTypeFieldInfo = (~) Gdk.Enums.EventType+    type AttrBaseTypeConstraint EventTouchpadPinchTypeFieldInfo = (~) EventTouchpadPinch+    type AttrGetType EventTouchpadPinchTypeFieldInfo = Gdk.Enums.EventType+    type AttrLabel EventTouchpadPinchTypeFieldInfo = "type"+    type AttrOrigin EventTouchpadPinchTypeFieldInfo = EventTouchpadPinch+    attrGet _ = getEventTouchpadPinchType+    attrSet _ = setEventTouchpadPinchType+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadPinch_type :: AttrLabelProxy "type"+eventTouchpadPinch_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadPinch #window+@+-}+getEventTouchpadPinchWindow :: MonadIO m => EventTouchpadPinch -> m (Maybe Gdk.Window.Window)+getEventTouchpadPinchWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadPinch [ #window 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadPinchWindow :: MonadIO m => EventTouchpadPinch -> Ptr Gdk.Window.Window -> m ()+setEventTouchpadPinchWindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@window@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #window+@+-}+clearEventTouchpadPinchWindow :: MonadIO m => EventTouchpadPinch -> m ()+clearEventTouchpadPinchWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventTouchpadPinchWindowFieldInfo+instance AttrInfo EventTouchpadPinchWindowFieldInfo where+    type AttrAllowedOps EventTouchpadPinchWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventTouchpadPinchWindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventTouchpadPinchWindowFieldInfo = (~) EventTouchpadPinch+    type AttrGetType EventTouchpadPinchWindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventTouchpadPinchWindowFieldInfo = "window"+    type AttrOrigin EventTouchpadPinchWindowFieldInfo = EventTouchpadPinch+    attrGet _ = getEventTouchpadPinchWindow+    attrSet _ = setEventTouchpadPinchWindow+    attrConstruct = undefined+    attrClear _ = clearEventTouchpadPinchWindow++eventTouchpadPinch_window :: AttrLabelProxy "window"+eventTouchpadPinch_window = AttrLabelProxy++#endif+++{- |+Get the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadPinch #sendEvent+@+-}+getEventTouchpadPinchSendEvent :: MonadIO m => EventTouchpadPinch -> m Int8+getEventTouchpadPinchSendEvent s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++{- |+Set the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadPinch [ #sendEvent 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadPinchSendEvent :: MonadIO m => EventTouchpadPinch -> Int8 -> m ()+setEventTouchpadPinchSendEvent s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int8)++#if ENABLE_OVERLOADING+data EventTouchpadPinchSendEventFieldInfo+instance AttrInfo EventTouchpadPinchSendEventFieldInfo where+    type AttrAllowedOps EventTouchpadPinchSendEventFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadPinchSendEventFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventTouchpadPinchSendEventFieldInfo = (~) EventTouchpadPinch+    type AttrGetType EventTouchpadPinchSendEventFieldInfo = Int8+    type AttrLabel EventTouchpadPinchSendEventFieldInfo = "send_event"+    type AttrOrigin EventTouchpadPinchSendEventFieldInfo = EventTouchpadPinch+    attrGet _ = getEventTouchpadPinchSendEvent+    attrSet _ = setEventTouchpadPinchSendEvent+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadPinch_sendEvent :: AttrLabelProxy "sendEvent"+eventTouchpadPinch_sendEvent = AttrLabelProxy++#endif+++{- |+Get the value of the “@phase@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadPinch #phase+@+-}+getEventTouchpadPinchPhase :: MonadIO m => EventTouchpadPinch -> m Int8+getEventTouchpadPinchPhase s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 17) :: IO Int8+    return val++{- |+Set the value of the “@phase@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadPinch [ #phase 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadPinchPhase :: MonadIO m => EventTouchpadPinch -> Int8 -> m ()+setEventTouchpadPinchPhase s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 17) (val :: Int8)++#if ENABLE_OVERLOADING+data EventTouchpadPinchPhaseFieldInfo+instance AttrInfo EventTouchpadPinchPhaseFieldInfo where+    type AttrAllowedOps EventTouchpadPinchPhaseFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadPinchPhaseFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventTouchpadPinchPhaseFieldInfo = (~) EventTouchpadPinch+    type AttrGetType EventTouchpadPinchPhaseFieldInfo = Int8+    type AttrLabel EventTouchpadPinchPhaseFieldInfo = "phase"+    type AttrOrigin EventTouchpadPinchPhaseFieldInfo = EventTouchpadPinch+    attrGet _ = getEventTouchpadPinchPhase+    attrSet _ = setEventTouchpadPinchPhase+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadPinch_phase :: AttrLabelProxy "phase"+eventTouchpadPinch_phase = AttrLabelProxy++#endif+++{- |+Get the value of the “@n_fingers@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadPinch #nFingers+@+-}+getEventTouchpadPinchNFingers :: MonadIO m => EventTouchpadPinch -> m Int8+getEventTouchpadPinchNFingers s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 18) :: IO Int8+    return val++{- |+Set the value of the “@n_fingers@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadPinch [ #nFingers 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadPinchNFingers :: MonadIO m => EventTouchpadPinch -> Int8 -> m ()+setEventTouchpadPinchNFingers s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 18) (val :: Int8)++#if ENABLE_OVERLOADING+data EventTouchpadPinchNFingersFieldInfo+instance AttrInfo EventTouchpadPinchNFingersFieldInfo where+    type AttrAllowedOps EventTouchpadPinchNFingersFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadPinchNFingersFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventTouchpadPinchNFingersFieldInfo = (~) EventTouchpadPinch+    type AttrGetType EventTouchpadPinchNFingersFieldInfo = Int8+    type AttrLabel EventTouchpadPinchNFingersFieldInfo = "n_fingers"+    type AttrOrigin EventTouchpadPinchNFingersFieldInfo = EventTouchpadPinch+    attrGet _ = getEventTouchpadPinchNFingers+    attrSet _ = setEventTouchpadPinchNFingers+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadPinch_nFingers :: AttrLabelProxy "nFingers"+eventTouchpadPinch_nFingers = AttrLabelProxy++#endif+++{- |+Get the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadPinch #time+@+-}+getEventTouchpadPinchTime :: MonadIO m => EventTouchpadPinch -> m Word32+getEventTouchpadPinchTime s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Word32+    return val++{- |+Set the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadPinch [ #time 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadPinchTime :: MonadIO m => EventTouchpadPinch -> Word32 -> m ()+setEventTouchpadPinchTime s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 20) (val :: Word32)++#if ENABLE_OVERLOADING+data EventTouchpadPinchTimeFieldInfo+instance AttrInfo EventTouchpadPinchTimeFieldInfo where+    type AttrAllowedOps EventTouchpadPinchTimeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadPinchTimeFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventTouchpadPinchTimeFieldInfo = (~) EventTouchpadPinch+    type AttrGetType EventTouchpadPinchTimeFieldInfo = Word32+    type AttrLabel EventTouchpadPinchTimeFieldInfo = "time"+    type AttrOrigin EventTouchpadPinchTimeFieldInfo = EventTouchpadPinch+    attrGet _ = getEventTouchpadPinchTime+    attrSet _ = setEventTouchpadPinchTime+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadPinch_time :: AttrLabelProxy "time"+eventTouchpadPinch_time = AttrLabelProxy++#endif+++{- |+Get the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadPinch #x+@+-}+getEventTouchpadPinchX :: MonadIO m => EventTouchpadPinch -> m Double+getEventTouchpadPinchX s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadPinch [ #x 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadPinchX :: MonadIO m => EventTouchpadPinch -> Double -> m ()+setEventTouchpadPinchX s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 24) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventTouchpadPinchXFieldInfo+instance AttrInfo EventTouchpadPinchXFieldInfo where+    type AttrAllowedOps EventTouchpadPinchXFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadPinchXFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventTouchpadPinchXFieldInfo = (~) EventTouchpadPinch+    type AttrGetType EventTouchpadPinchXFieldInfo = Double+    type AttrLabel EventTouchpadPinchXFieldInfo = "x"+    type AttrOrigin EventTouchpadPinchXFieldInfo = EventTouchpadPinch+    attrGet _ = getEventTouchpadPinchX+    attrSet _ = setEventTouchpadPinchX+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadPinch_x :: AttrLabelProxy "x"+eventTouchpadPinch_x = AttrLabelProxy++#endif+++{- |+Get the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadPinch #y+@+-}+getEventTouchpadPinchY :: MonadIO m => EventTouchpadPinch -> m Double+getEventTouchpadPinchY s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadPinch [ #y 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadPinchY :: MonadIO m => EventTouchpadPinch -> Double -> m ()+setEventTouchpadPinchY s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 32) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventTouchpadPinchYFieldInfo+instance AttrInfo EventTouchpadPinchYFieldInfo where+    type AttrAllowedOps EventTouchpadPinchYFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadPinchYFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventTouchpadPinchYFieldInfo = (~) EventTouchpadPinch+    type AttrGetType EventTouchpadPinchYFieldInfo = Double+    type AttrLabel EventTouchpadPinchYFieldInfo = "y"+    type AttrOrigin EventTouchpadPinchYFieldInfo = EventTouchpadPinch+    attrGet _ = getEventTouchpadPinchY+    attrSet _ = setEventTouchpadPinchY+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadPinch_y :: AttrLabelProxy "y"+eventTouchpadPinch_y = AttrLabelProxy++#endif+++{- |+Get the value of the “@dx@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadPinch #dx+@+-}+getEventTouchpadPinchDx :: MonadIO m => EventTouchpadPinch -> m Double+getEventTouchpadPinchDx s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@dx@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadPinch [ #dx 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadPinchDx :: MonadIO m => EventTouchpadPinch -> Double -> m ()+setEventTouchpadPinchDx s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 40) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventTouchpadPinchDxFieldInfo+instance AttrInfo EventTouchpadPinchDxFieldInfo where+    type AttrAllowedOps EventTouchpadPinchDxFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadPinchDxFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventTouchpadPinchDxFieldInfo = (~) EventTouchpadPinch+    type AttrGetType EventTouchpadPinchDxFieldInfo = Double+    type AttrLabel EventTouchpadPinchDxFieldInfo = "dx"+    type AttrOrigin EventTouchpadPinchDxFieldInfo = EventTouchpadPinch+    attrGet _ = getEventTouchpadPinchDx+    attrSet _ = setEventTouchpadPinchDx+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadPinch_dx :: AttrLabelProxy "dx"+eventTouchpadPinch_dx = AttrLabelProxy++#endif+++{- |+Get the value of the “@dy@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadPinch #dy+@+-}+getEventTouchpadPinchDy :: MonadIO m => EventTouchpadPinch -> m Double+getEventTouchpadPinchDy s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@dy@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadPinch [ #dy 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadPinchDy :: MonadIO m => EventTouchpadPinch -> Double -> m ()+setEventTouchpadPinchDy s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 48) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventTouchpadPinchDyFieldInfo+instance AttrInfo EventTouchpadPinchDyFieldInfo where+    type AttrAllowedOps EventTouchpadPinchDyFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadPinchDyFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventTouchpadPinchDyFieldInfo = (~) EventTouchpadPinch+    type AttrGetType EventTouchpadPinchDyFieldInfo = Double+    type AttrLabel EventTouchpadPinchDyFieldInfo = "dy"+    type AttrOrigin EventTouchpadPinchDyFieldInfo = EventTouchpadPinch+    attrGet _ = getEventTouchpadPinchDy+    attrSet _ = setEventTouchpadPinchDy+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadPinch_dy :: AttrLabelProxy "dy"+eventTouchpadPinch_dy = AttrLabelProxy++#endif+++{- |+Get the value of the “@angle_delta@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadPinch #angleDelta+@+-}+getEventTouchpadPinchAngleDelta :: MonadIO m => EventTouchpadPinch -> m Double+getEventTouchpadPinchAngleDelta s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 56) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@angle_delta@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadPinch [ #angleDelta 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadPinchAngleDelta :: MonadIO m => EventTouchpadPinch -> Double -> m ()+setEventTouchpadPinchAngleDelta s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 56) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventTouchpadPinchAngleDeltaFieldInfo+instance AttrInfo EventTouchpadPinchAngleDeltaFieldInfo where+    type AttrAllowedOps EventTouchpadPinchAngleDeltaFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadPinchAngleDeltaFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventTouchpadPinchAngleDeltaFieldInfo = (~) EventTouchpadPinch+    type AttrGetType EventTouchpadPinchAngleDeltaFieldInfo = Double+    type AttrLabel EventTouchpadPinchAngleDeltaFieldInfo = "angle_delta"+    type AttrOrigin EventTouchpadPinchAngleDeltaFieldInfo = EventTouchpadPinch+    attrGet _ = getEventTouchpadPinchAngleDelta+    attrSet _ = setEventTouchpadPinchAngleDelta+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadPinch_angleDelta :: AttrLabelProxy "angleDelta"+eventTouchpadPinch_angleDelta = AttrLabelProxy++#endif+++{- |+Get the value of the “@scale@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadPinch #scale+@+-}+getEventTouchpadPinchScale :: MonadIO m => EventTouchpadPinch -> m Double+getEventTouchpadPinchScale s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 64) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@scale@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadPinch [ #scale 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadPinchScale :: MonadIO m => EventTouchpadPinch -> Double -> m ()+setEventTouchpadPinchScale s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 64) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventTouchpadPinchScaleFieldInfo+instance AttrInfo EventTouchpadPinchScaleFieldInfo where+    type AttrAllowedOps EventTouchpadPinchScaleFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadPinchScaleFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventTouchpadPinchScaleFieldInfo = (~) EventTouchpadPinch+    type AttrGetType EventTouchpadPinchScaleFieldInfo = Double+    type AttrLabel EventTouchpadPinchScaleFieldInfo = "scale"+    type AttrOrigin EventTouchpadPinchScaleFieldInfo = EventTouchpadPinch+    attrGet _ = getEventTouchpadPinchScale+    attrSet _ = setEventTouchpadPinchScale+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadPinch_scale :: AttrLabelProxy "scale"+eventTouchpadPinch_scale = AttrLabelProxy++#endif+++{- |+Get the value of the “@x_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadPinch #xRoot+@+-}+getEventTouchpadPinchXRoot :: MonadIO m => EventTouchpadPinch -> m Double+getEventTouchpadPinchXRoot s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 72) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@x_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadPinch [ #xRoot 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadPinchXRoot :: MonadIO m => EventTouchpadPinch -> Double -> m ()+setEventTouchpadPinchXRoot s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 72) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventTouchpadPinchXRootFieldInfo+instance AttrInfo EventTouchpadPinchXRootFieldInfo where+    type AttrAllowedOps EventTouchpadPinchXRootFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadPinchXRootFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventTouchpadPinchXRootFieldInfo = (~) EventTouchpadPinch+    type AttrGetType EventTouchpadPinchXRootFieldInfo = Double+    type AttrLabel EventTouchpadPinchXRootFieldInfo = "x_root"+    type AttrOrigin EventTouchpadPinchXRootFieldInfo = EventTouchpadPinch+    attrGet _ = getEventTouchpadPinchXRoot+    attrSet _ = setEventTouchpadPinchXRoot+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadPinch_xRoot :: AttrLabelProxy "xRoot"+eventTouchpadPinch_xRoot = AttrLabelProxy++#endif+++{- |+Get the value of the “@y_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadPinch #yRoot+@+-}+getEventTouchpadPinchYRoot :: MonadIO m => EventTouchpadPinch -> m Double+getEventTouchpadPinchYRoot s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 80) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@y_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadPinch [ #yRoot 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadPinchYRoot :: MonadIO m => EventTouchpadPinch -> Double -> m ()+setEventTouchpadPinchYRoot s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 80) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventTouchpadPinchYRootFieldInfo+instance AttrInfo EventTouchpadPinchYRootFieldInfo where+    type AttrAllowedOps EventTouchpadPinchYRootFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadPinchYRootFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventTouchpadPinchYRootFieldInfo = (~) EventTouchpadPinch+    type AttrGetType EventTouchpadPinchYRootFieldInfo = Double+    type AttrLabel EventTouchpadPinchYRootFieldInfo = "y_root"+    type AttrOrigin EventTouchpadPinchYRootFieldInfo = EventTouchpadPinch+    attrGet _ = getEventTouchpadPinchYRoot+    attrSet _ = setEventTouchpadPinchYRoot+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadPinch_yRoot :: AttrLabelProxy "yRoot"+eventTouchpadPinch_yRoot = AttrLabelProxy++#endif+++{- |+Get the value of the “@state@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadPinch #state+@+-}+getEventTouchpadPinchState :: MonadIO m => EventTouchpadPinch -> m [Gdk.Flags.ModifierType]+getEventTouchpadPinchState s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 88) :: IO CUInt+    let val' = wordToGFlags val+    return val'++{- |+Set the value of the “@state@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadPinch [ #state 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadPinchState :: MonadIO m => EventTouchpadPinch -> [Gdk.Flags.ModifierType] -> m ()+setEventTouchpadPinchState s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = gflagsToWord val+    poke (ptr `plusPtr` 88) (val' :: CUInt)++#if ENABLE_OVERLOADING+data EventTouchpadPinchStateFieldInfo+instance AttrInfo EventTouchpadPinchStateFieldInfo where+    type AttrAllowedOps EventTouchpadPinchStateFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadPinchStateFieldInfo = (~) [Gdk.Flags.ModifierType]+    type AttrBaseTypeConstraint EventTouchpadPinchStateFieldInfo = (~) EventTouchpadPinch+    type AttrGetType EventTouchpadPinchStateFieldInfo = [Gdk.Flags.ModifierType]+    type AttrLabel EventTouchpadPinchStateFieldInfo = "state"+    type AttrOrigin EventTouchpadPinchStateFieldInfo = EventTouchpadPinch+    attrGet _ = getEventTouchpadPinchState+    attrSet _ = setEventTouchpadPinchState+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadPinch_state :: AttrLabelProxy "state"+eventTouchpadPinch_state = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList EventTouchpadPinch+type instance O.AttributeList EventTouchpadPinch = EventTouchpadPinchAttributeList+type EventTouchpadPinchAttributeList = ('[ '("type", EventTouchpadPinchTypeFieldInfo), '("window", EventTouchpadPinchWindowFieldInfo), '("sendEvent", EventTouchpadPinchSendEventFieldInfo), '("phase", EventTouchpadPinchPhaseFieldInfo), '("nFingers", EventTouchpadPinchNFingersFieldInfo), '("time", EventTouchpadPinchTimeFieldInfo), '("x", EventTouchpadPinchXFieldInfo), '("y", EventTouchpadPinchYFieldInfo), '("dx", EventTouchpadPinchDxFieldInfo), '("dy", EventTouchpadPinchDyFieldInfo), '("angleDelta", EventTouchpadPinchAngleDeltaFieldInfo), '("scale", EventTouchpadPinchScaleFieldInfo), '("xRoot", EventTouchpadPinchXRootFieldInfo), '("yRoot", EventTouchpadPinchYRootFieldInfo), '("state", EventTouchpadPinchStateFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveEventTouchpadPinchMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventTouchpadPinchMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventTouchpadPinchMethod t EventTouchpadPinch, O.MethodInfo info EventTouchpadPinch p) => OL.IsLabel t (EventTouchpadPinch -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/EventTouchpadPinch.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.EventTouchpadPinch where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype EventTouchpadPinch = EventTouchpadPinch (ManagedPtr EventTouchpadPinch)+instance WrappedPtr EventTouchpadPinch where
+ GI/Gdk/Structs/EventTouchpadSwipe.hs view
@@ -0,0 +1,845 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Generated during touchpad swipe gestures.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.EventTouchpadSwipe+    ( ++-- * Exported types+    EventTouchpadSwipe(..)                  ,+    newZeroEventTouchpadSwipe               ,+    noEventTouchpadSwipe                    ,+++ -- * Properties+-- ** dx #attr:dx#+{- | Movement delta in the X axis of the swipe focal point+-}+#if ENABLE_OVERLOADING+    eventTouchpadSwipe_dx                   ,+#endif+    getEventTouchpadSwipeDx                 ,+    setEventTouchpadSwipeDx                 ,+++-- ** dy #attr:dy#+{- | Movement delta in the Y axis of the swipe focal point+-}+#if ENABLE_OVERLOADING+    eventTouchpadSwipe_dy                   ,+#endif+    getEventTouchpadSwipeDy                 ,+    setEventTouchpadSwipeDy                 ,+++-- ** nFingers #attr:nFingers#+{- | The number of fingers triggering the swipe+-}+#if ENABLE_OVERLOADING+    eventTouchpadSwipe_nFingers             ,+#endif+    getEventTouchpadSwipeNFingers           ,+    setEventTouchpadSwipeNFingers           ,+++-- ** phase #attr:phase#+{- | the current phase of the gesture+-}+#if ENABLE_OVERLOADING+    eventTouchpadSwipe_phase                ,+#endif+    getEventTouchpadSwipePhase              ,+    setEventTouchpadSwipePhase              ,+++-- ** sendEvent #attr:sendEvent#+{- | 'True' if the event was sent explicitly+-}+#if ENABLE_OVERLOADING+    eventTouchpadSwipe_sendEvent            ,+#endif+    getEventTouchpadSwipeSendEvent          ,+    setEventTouchpadSwipeSendEvent          ,+++-- ** state #attr:state#+{- | a bit-mask representing the state of+  the modifier keys (e.g. Control, Shift and Alt) and the pointer+  buttons. See 'GI.Gdk.Flags.ModifierType'.+-}+#if ENABLE_OVERLOADING+    eventTouchpadSwipe_state                ,+#endif+    getEventTouchpadSwipeState              ,+    setEventTouchpadSwipeState              ,+++-- ** time #attr:time#+{- | the time of the event in milliseconds+-}+#if ENABLE_OVERLOADING+    eventTouchpadSwipe_time                 ,+#endif+    getEventTouchpadSwipeTime               ,+    setEventTouchpadSwipeTime               ,+++-- ** type #attr:type#+{- | the type of the event ('GI.Gdk.Enums.EventTypeTouchpadSwipe')+-}+#if ENABLE_OVERLOADING+    eventTouchpadSwipe_type                 ,+#endif+    getEventTouchpadSwipeType               ,+    setEventTouchpadSwipeType               ,+++-- ** window #attr:window#+{- | the window which received the event+-}+    clearEventTouchpadSwipeWindow           ,+#if ENABLE_OVERLOADING+    eventTouchpadSwipe_window               ,+#endif+    getEventTouchpadSwipeWindow             ,+    setEventTouchpadSwipeWindow             ,+++-- ** x #attr:x#+{- | The X coordinate of the pointer+-}+#if ENABLE_OVERLOADING+    eventTouchpadSwipe_x                    ,+#endif+    getEventTouchpadSwipeX                  ,+    setEventTouchpadSwipeX                  ,+++-- ** xRoot #attr:xRoot#+{- | The X coordinate of the pointer, relative to the+  root of the screen.+-}+#if ENABLE_OVERLOADING+    eventTouchpadSwipe_xRoot                ,+#endif+    getEventTouchpadSwipeXRoot              ,+    setEventTouchpadSwipeXRoot              ,+++-- ** y #attr:y#+{- | The Y coordinate of the pointer+-}+#if ENABLE_OVERLOADING+    eventTouchpadSwipe_y                    ,+#endif+    getEventTouchpadSwipeY                  ,+    setEventTouchpadSwipeY                  ,+++-- ** yRoot #attr:yRoot#+{- | The Y coordinate of the pointer, relative to the+  root of the screen.+-}+#if ENABLE_OVERLOADING+    eventTouchpadSwipe_yRoot                ,+#endif+    getEventTouchpadSwipeYRoot              ,+    setEventTouchpadSwipeYRoot              ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Flags as Gdk.Flags+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window++-- | Memory-managed wrapper type.+newtype EventTouchpadSwipe = EventTouchpadSwipe (ManagedPtr EventTouchpadSwipe)+instance WrappedPtr EventTouchpadSwipe where+    wrappedPtrCalloc = callocBytes 80+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 80 >=> wrapPtr EventTouchpadSwipe)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `EventTouchpadSwipe` struct initialized to zero.+newZeroEventTouchpadSwipe :: MonadIO m => m EventTouchpadSwipe+newZeroEventTouchpadSwipe = liftIO $ wrappedPtrCalloc >>= wrapPtr EventTouchpadSwipe++instance tag ~ 'AttrSet => Constructible EventTouchpadSwipe tag where+    new _ attrs = do+        o <- newZeroEventTouchpadSwipe+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `EventTouchpadSwipe`.+noEventTouchpadSwipe :: Maybe EventTouchpadSwipe+noEventTouchpadSwipe = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadSwipe #type+@+-}+getEventTouchpadSwipeType :: MonadIO m => EventTouchpadSwipe -> m Gdk.Enums.EventType+getEventTouchpadSwipeType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadSwipe [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadSwipeType :: MonadIO m => EventTouchpadSwipe -> Gdk.Enums.EventType -> m ()+setEventTouchpadSwipeType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventTouchpadSwipeTypeFieldInfo+instance AttrInfo EventTouchpadSwipeTypeFieldInfo where+    type AttrAllowedOps EventTouchpadSwipeTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadSwipeTypeFieldInfo = (~) Gdk.Enums.EventType+    type AttrBaseTypeConstraint EventTouchpadSwipeTypeFieldInfo = (~) EventTouchpadSwipe+    type AttrGetType EventTouchpadSwipeTypeFieldInfo = Gdk.Enums.EventType+    type AttrLabel EventTouchpadSwipeTypeFieldInfo = "type"+    type AttrOrigin EventTouchpadSwipeTypeFieldInfo = EventTouchpadSwipe+    attrGet _ = getEventTouchpadSwipeType+    attrSet _ = setEventTouchpadSwipeType+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadSwipe_type :: AttrLabelProxy "type"+eventTouchpadSwipe_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadSwipe #window+@+-}+getEventTouchpadSwipeWindow :: MonadIO m => EventTouchpadSwipe -> m (Maybe Gdk.Window.Window)+getEventTouchpadSwipeWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadSwipe [ #window 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadSwipeWindow :: MonadIO m => EventTouchpadSwipe -> Ptr Gdk.Window.Window -> m ()+setEventTouchpadSwipeWindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@window@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #window+@+-}+clearEventTouchpadSwipeWindow :: MonadIO m => EventTouchpadSwipe -> m ()+clearEventTouchpadSwipeWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventTouchpadSwipeWindowFieldInfo+instance AttrInfo EventTouchpadSwipeWindowFieldInfo where+    type AttrAllowedOps EventTouchpadSwipeWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventTouchpadSwipeWindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventTouchpadSwipeWindowFieldInfo = (~) EventTouchpadSwipe+    type AttrGetType EventTouchpadSwipeWindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventTouchpadSwipeWindowFieldInfo = "window"+    type AttrOrigin EventTouchpadSwipeWindowFieldInfo = EventTouchpadSwipe+    attrGet _ = getEventTouchpadSwipeWindow+    attrSet _ = setEventTouchpadSwipeWindow+    attrConstruct = undefined+    attrClear _ = clearEventTouchpadSwipeWindow++eventTouchpadSwipe_window :: AttrLabelProxy "window"+eventTouchpadSwipe_window = AttrLabelProxy++#endif+++{- |+Get the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadSwipe #sendEvent+@+-}+getEventTouchpadSwipeSendEvent :: MonadIO m => EventTouchpadSwipe -> m Int8+getEventTouchpadSwipeSendEvent s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++{- |+Set the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadSwipe [ #sendEvent 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadSwipeSendEvent :: MonadIO m => EventTouchpadSwipe -> Int8 -> m ()+setEventTouchpadSwipeSendEvent s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int8)++#if ENABLE_OVERLOADING+data EventTouchpadSwipeSendEventFieldInfo+instance AttrInfo EventTouchpadSwipeSendEventFieldInfo where+    type AttrAllowedOps EventTouchpadSwipeSendEventFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadSwipeSendEventFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventTouchpadSwipeSendEventFieldInfo = (~) EventTouchpadSwipe+    type AttrGetType EventTouchpadSwipeSendEventFieldInfo = Int8+    type AttrLabel EventTouchpadSwipeSendEventFieldInfo = "send_event"+    type AttrOrigin EventTouchpadSwipeSendEventFieldInfo = EventTouchpadSwipe+    attrGet _ = getEventTouchpadSwipeSendEvent+    attrSet _ = setEventTouchpadSwipeSendEvent+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadSwipe_sendEvent :: AttrLabelProxy "sendEvent"+eventTouchpadSwipe_sendEvent = AttrLabelProxy++#endif+++{- |+Get the value of the “@phase@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadSwipe #phase+@+-}+getEventTouchpadSwipePhase :: MonadIO m => EventTouchpadSwipe -> m Int8+getEventTouchpadSwipePhase s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 17) :: IO Int8+    return val++{- |+Set the value of the “@phase@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadSwipe [ #phase 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadSwipePhase :: MonadIO m => EventTouchpadSwipe -> Int8 -> m ()+setEventTouchpadSwipePhase s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 17) (val :: Int8)++#if ENABLE_OVERLOADING+data EventTouchpadSwipePhaseFieldInfo+instance AttrInfo EventTouchpadSwipePhaseFieldInfo where+    type AttrAllowedOps EventTouchpadSwipePhaseFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadSwipePhaseFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventTouchpadSwipePhaseFieldInfo = (~) EventTouchpadSwipe+    type AttrGetType EventTouchpadSwipePhaseFieldInfo = Int8+    type AttrLabel EventTouchpadSwipePhaseFieldInfo = "phase"+    type AttrOrigin EventTouchpadSwipePhaseFieldInfo = EventTouchpadSwipe+    attrGet _ = getEventTouchpadSwipePhase+    attrSet _ = setEventTouchpadSwipePhase+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadSwipe_phase :: AttrLabelProxy "phase"+eventTouchpadSwipe_phase = AttrLabelProxy++#endif+++{- |+Get the value of the “@n_fingers@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadSwipe #nFingers+@+-}+getEventTouchpadSwipeNFingers :: MonadIO m => EventTouchpadSwipe -> m Int8+getEventTouchpadSwipeNFingers s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 18) :: IO Int8+    return val++{- |+Set the value of the “@n_fingers@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadSwipe [ #nFingers 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadSwipeNFingers :: MonadIO m => EventTouchpadSwipe -> Int8 -> m ()+setEventTouchpadSwipeNFingers s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 18) (val :: Int8)++#if ENABLE_OVERLOADING+data EventTouchpadSwipeNFingersFieldInfo+instance AttrInfo EventTouchpadSwipeNFingersFieldInfo where+    type AttrAllowedOps EventTouchpadSwipeNFingersFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadSwipeNFingersFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventTouchpadSwipeNFingersFieldInfo = (~) EventTouchpadSwipe+    type AttrGetType EventTouchpadSwipeNFingersFieldInfo = Int8+    type AttrLabel EventTouchpadSwipeNFingersFieldInfo = "n_fingers"+    type AttrOrigin EventTouchpadSwipeNFingersFieldInfo = EventTouchpadSwipe+    attrGet _ = getEventTouchpadSwipeNFingers+    attrSet _ = setEventTouchpadSwipeNFingers+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadSwipe_nFingers :: AttrLabelProxy "nFingers"+eventTouchpadSwipe_nFingers = AttrLabelProxy++#endif+++{- |+Get the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadSwipe #time+@+-}+getEventTouchpadSwipeTime :: MonadIO m => EventTouchpadSwipe -> m Word32+getEventTouchpadSwipeTime s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Word32+    return val++{- |+Set the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadSwipe [ #time 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadSwipeTime :: MonadIO m => EventTouchpadSwipe -> Word32 -> m ()+setEventTouchpadSwipeTime s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 20) (val :: Word32)++#if ENABLE_OVERLOADING+data EventTouchpadSwipeTimeFieldInfo+instance AttrInfo EventTouchpadSwipeTimeFieldInfo where+    type AttrAllowedOps EventTouchpadSwipeTimeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadSwipeTimeFieldInfo = (~) Word32+    type AttrBaseTypeConstraint EventTouchpadSwipeTimeFieldInfo = (~) EventTouchpadSwipe+    type AttrGetType EventTouchpadSwipeTimeFieldInfo = Word32+    type AttrLabel EventTouchpadSwipeTimeFieldInfo = "time"+    type AttrOrigin EventTouchpadSwipeTimeFieldInfo = EventTouchpadSwipe+    attrGet _ = getEventTouchpadSwipeTime+    attrSet _ = setEventTouchpadSwipeTime+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadSwipe_time :: AttrLabelProxy "time"+eventTouchpadSwipe_time = AttrLabelProxy++#endif+++{- |+Get the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadSwipe #x+@+-}+getEventTouchpadSwipeX :: MonadIO m => EventTouchpadSwipe -> m Double+getEventTouchpadSwipeX s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadSwipe [ #x 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadSwipeX :: MonadIO m => EventTouchpadSwipe -> Double -> m ()+setEventTouchpadSwipeX s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 24) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventTouchpadSwipeXFieldInfo+instance AttrInfo EventTouchpadSwipeXFieldInfo where+    type AttrAllowedOps EventTouchpadSwipeXFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadSwipeXFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventTouchpadSwipeXFieldInfo = (~) EventTouchpadSwipe+    type AttrGetType EventTouchpadSwipeXFieldInfo = Double+    type AttrLabel EventTouchpadSwipeXFieldInfo = "x"+    type AttrOrigin EventTouchpadSwipeXFieldInfo = EventTouchpadSwipe+    attrGet _ = getEventTouchpadSwipeX+    attrSet _ = setEventTouchpadSwipeX+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadSwipe_x :: AttrLabelProxy "x"+eventTouchpadSwipe_x = AttrLabelProxy++#endif+++{- |+Get the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadSwipe #y+@+-}+getEventTouchpadSwipeY :: MonadIO m => EventTouchpadSwipe -> m Double+getEventTouchpadSwipeY s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadSwipe [ #y 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadSwipeY :: MonadIO m => EventTouchpadSwipe -> Double -> m ()+setEventTouchpadSwipeY s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 32) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventTouchpadSwipeYFieldInfo+instance AttrInfo EventTouchpadSwipeYFieldInfo where+    type AttrAllowedOps EventTouchpadSwipeYFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadSwipeYFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventTouchpadSwipeYFieldInfo = (~) EventTouchpadSwipe+    type AttrGetType EventTouchpadSwipeYFieldInfo = Double+    type AttrLabel EventTouchpadSwipeYFieldInfo = "y"+    type AttrOrigin EventTouchpadSwipeYFieldInfo = EventTouchpadSwipe+    attrGet _ = getEventTouchpadSwipeY+    attrSet _ = setEventTouchpadSwipeY+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadSwipe_y :: AttrLabelProxy "y"+eventTouchpadSwipe_y = AttrLabelProxy++#endif+++{- |+Get the value of the “@dx@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadSwipe #dx+@+-}+getEventTouchpadSwipeDx :: MonadIO m => EventTouchpadSwipe -> m Double+getEventTouchpadSwipeDx s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@dx@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadSwipe [ #dx 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadSwipeDx :: MonadIO m => EventTouchpadSwipe -> Double -> m ()+setEventTouchpadSwipeDx s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 40) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventTouchpadSwipeDxFieldInfo+instance AttrInfo EventTouchpadSwipeDxFieldInfo where+    type AttrAllowedOps EventTouchpadSwipeDxFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadSwipeDxFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventTouchpadSwipeDxFieldInfo = (~) EventTouchpadSwipe+    type AttrGetType EventTouchpadSwipeDxFieldInfo = Double+    type AttrLabel EventTouchpadSwipeDxFieldInfo = "dx"+    type AttrOrigin EventTouchpadSwipeDxFieldInfo = EventTouchpadSwipe+    attrGet _ = getEventTouchpadSwipeDx+    attrSet _ = setEventTouchpadSwipeDx+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadSwipe_dx :: AttrLabelProxy "dx"+eventTouchpadSwipe_dx = AttrLabelProxy++#endif+++{- |+Get the value of the “@dy@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadSwipe #dy+@+-}+getEventTouchpadSwipeDy :: MonadIO m => EventTouchpadSwipe -> m Double+getEventTouchpadSwipeDy s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@dy@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadSwipe [ #dy 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadSwipeDy :: MonadIO m => EventTouchpadSwipe -> Double -> m ()+setEventTouchpadSwipeDy s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 48) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventTouchpadSwipeDyFieldInfo+instance AttrInfo EventTouchpadSwipeDyFieldInfo where+    type AttrAllowedOps EventTouchpadSwipeDyFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadSwipeDyFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventTouchpadSwipeDyFieldInfo = (~) EventTouchpadSwipe+    type AttrGetType EventTouchpadSwipeDyFieldInfo = Double+    type AttrLabel EventTouchpadSwipeDyFieldInfo = "dy"+    type AttrOrigin EventTouchpadSwipeDyFieldInfo = EventTouchpadSwipe+    attrGet _ = getEventTouchpadSwipeDy+    attrSet _ = setEventTouchpadSwipeDy+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadSwipe_dy :: AttrLabelProxy "dy"+eventTouchpadSwipe_dy = AttrLabelProxy++#endif+++{- |+Get the value of the “@x_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadSwipe #xRoot+@+-}+getEventTouchpadSwipeXRoot :: MonadIO m => EventTouchpadSwipe -> m Double+getEventTouchpadSwipeXRoot s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 56) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@x_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadSwipe [ #xRoot 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadSwipeXRoot :: MonadIO m => EventTouchpadSwipe -> Double -> m ()+setEventTouchpadSwipeXRoot s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 56) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventTouchpadSwipeXRootFieldInfo+instance AttrInfo EventTouchpadSwipeXRootFieldInfo where+    type AttrAllowedOps EventTouchpadSwipeXRootFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadSwipeXRootFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventTouchpadSwipeXRootFieldInfo = (~) EventTouchpadSwipe+    type AttrGetType EventTouchpadSwipeXRootFieldInfo = Double+    type AttrLabel EventTouchpadSwipeXRootFieldInfo = "x_root"+    type AttrOrigin EventTouchpadSwipeXRootFieldInfo = EventTouchpadSwipe+    attrGet _ = getEventTouchpadSwipeXRoot+    attrSet _ = setEventTouchpadSwipeXRoot+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadSwipe_xRoot :: AttrLabelProxy "xRoot"+eventTouchpadSwipe_xRoot = AttrLabelProxy++#endif+++{- |+Get the value of the “@y_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadSwipe #yRoot+@+-}+getEventTouchpadSwipeYRoot :: MonadIO m => EventTouchpadSwipe -> m Double+getEventTouchpadSwipeYRoot s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 64) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@y_root@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadSwipe [ #yRoot 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadSwipeYRoot :: MonadIO m => EventTouchpadSwipe -> Double -> m ()+setEventTouchpadSwipeYRoot s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 64) (val' :: CDouble)++#if ENABLE_OVERLOADING+data EventTouchpadSwipeYRootFieldInfo+instance AttrInfo EventTouchpadSwipeYRootFieldInfo where+    type AttrAllowedOps EventTouchpadSwipeYRootFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadSwipeYRootFieldInfo = (~) Double+    type AttrBaseTypeConstraint EventTouchpadSwipeYRootFieldInfo = (~) EventTouchpadSwipe+    type AttrGetType EventTouchpadSwipeYRootFieldInfo = Double+    type AttrLabel EventTouchpadSwipeYRootFieldInfo = "y_root"+    type AttrOrigin EventTouchpadSwipeYRootFieldInfo = EventTouchpadSwipe+    attrGet _ = getEventTouchpadSwipeYRoot+    attrSet _ = setEventTouchpadSwipeYRoot+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadSwipe_yRoot :: AttrLabelProxy "yRoot"+eventTouchpadSwipe_yRoot = AttrLabelProxy++#endif+++{- |+Get the value of the “@state@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventTouchpadSwipe #state+@+-}+getEventTouchpadSwipeState :: MonadIO m => EventTouchpadSwipe -> m [Gdk.Flags.ModifierType]+getEventTouchpadSwipeState s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 72) :: IO CUInt+    let val' = wordToGFlags val+    return val'++{- |+Set the value of the “@state@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventTouchpadSwipe [ #state 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventTouchpadSwipeState :: MonadIO m => EventTouchpadSwipe -> [Gdk.Flags.ModifierType] -> m ()+setEventTouchpadSwipeState s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = gflagsToWord val+    poke (ptr `plusPtr` 72) (val' :: CUInt)++#if ENABLE_OVERLOADING+data EventTouchpadSwipeStateFieldInfo+instance AttrInfo EventTouchpadSwipeStateFieldInfo where+    type AttrAllowedOps EventTouchpadSwipeStateFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadSwipeStateFieldInfo = (~) [Gdk.Flags.ModifierType]+    type AttrBaseTypeConstraint EventTouchpadSwipeStateFieldInfo = (~) EventTouchpadSwipe+    type AttrGetType EventTouchpadSwipeStateFieldInfo = [Gdk.Flags.ModifierType]+    type AttrLabel EventTouchpadSwipeStateFieldInfo = "state"+    type AttrOrigin EventTouchpadSwipeStateFieldInfo = EventTouchpadSwipe+    attrGet _ = getEventTouchpadSwipeState+    attrSet _ = setEventTouchpadSwipeState+    attrConstruct = undefined+    attrClear _ = undefined++eventTouchpadSwipe_state :: AttrLabelProxy "state"+eventTouchpadSwipe_state = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList EventTouchpadSwipe+type instance O.AttributeList EventTouchpadSwipe = EventTouchpadSwipeAttributeList+type EventTouchpadSwipeAttributeList = ('[ '("type", EventTouchpadSwipeTypeFieldInfo), '("window", EventTouchpadSwipeWindowFieldInfo), '("sendEvent", EventTouchpadSwipeSendEventFieldInfo), '("phase", EventTouchpadSwipePhaseFieldInfo), '("nFingers", EventTouchpadSwipeNFingersFieldInfo), '("time", EventTouchpadSwipeTimeFieldInfo), '("x", EventTouchpadSwipeXFieldInfo), '("y", EventTouchpadSwipeYFieldInfo), '("dx", EventTouchpadSwipeDxFieldInfo), '("dy", EventTouchpadSwipeDyFieldInfo), '("xRoot", EventTouchpadSwipeXRootFieldInfo), '("yRoot", EventTouchpadSwipeYRootFieldInfo), '("state", EventTouchpadSwipeStateFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveEventTouchpadSwipeMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventTouchpadSwipeMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventTouchpadSwipeMethod t EventTouchpadSwipe, O.MethodInfo info EventTouchpadSwipe p) => OL.IsLabel t (EventTouchpadSwipe -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/EventTouchpadSwipe.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.EventTouchpadSwipe where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype EventTouchpadSwipe = EventTouchpadSwipe (ManagedPtr EventTouchpadSwipe)+instance WrappedPtr EventTouchpadSwipe where
+ GI/Gdk/Structs/EventVisibility.hs view
@@ -0,0 +1,334 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Generated when the window visibility status has changed.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.EventVisibility+    ( ++-- * Exported types+    EventVisibility(..)                     ,+    newZeroEventVisibility                  ,+    noEventVisibility                       ,+++ -- * Properties+-- ** sendEvent #attr:sendEvent#+{- | 'True' if the event was sent explicitly.+-}+#if ENABLE_OVERLOADING+    eventVisibility_sendEvent               ,+#endif+    getEventVisibilitySendEvent             ,+    setEventVisibilitySendEvent             ,+++-- ** state #attr:state#+{- | the new visibility state ('GI.Gdk.Enums.VisibilityStateFullyObscured',+  'GI.Gdk.Enums.VisibilityStatePartial' or 'GI.Gdk.Enums.VisibilityStateUnobscured').+-}+#if ENABLE_OVERLOADING+    eventVisibility_state                   ,+#endif+    getEventVisibilityState                 ,+    setEventVisibilityState                 ,+++-- ** type #attr:type#+{- | the type of the event ('GI.Gdk.Enums.EventTypeVisibilityNotify').+-}+#if ENABLE_OVERLOADING+    eventVisibility_type                    ,+#endif+    getEventVisibilityType                  ,+    setEventVisibilityType                  ,+++-- ** window #attr:window#+{- | the window which received the event.+-}+    clearEventVisibilityWindow              ,+#if ENABLE_OVERLOADING+    eventVisibility_window                  ,+#endif+    getEventVisibilityWindow                ,+    setEventVisibilityWindow                ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window++-- | Memory-managed wrapper type.+newtype EventVisibility = EventVisibility (ManagedPtr EventVisibility)+instance WrappedPtr EventVisibility where+    wrappedPtrCalloc = callocBytes 24+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 24 >=> wrapPtr EventVisibility)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `EventVisibility` struct initialized to zero.+newZeroEventVisibility :: MonadIO m => m EventVisibility+newZeroEventVisibility = liftIO $ wrappedPtrCalloc >>= wrapPtr EventVisibility++instance tag ~ 'AttrSet => Constructible EventVisibility tag where+    new _ attrs = do+        o <- newZeroEventVisibility+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `EventVisibility`.+noEventVisibility :: Maybe EventVisibility+noEventVisibility = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventVisibility #type+@+-}+getEventVisibilityType :: MonadIO m => EventVisibility -> m Gdk.Enums.EventType+getEventVisibilityType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventVisibility [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventVisibilityType :: MonadIO m => EventVisibility -> Gdk.Enums.EventType -> m ()+setEventVisibilityType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventVisibilityTypeFieldInfo+instance AttrInfo EventVisibilityTypeFieldInfo where+    type AttrAllowedOps EventVisibilityTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventVisibilityTypeFieldInfo = (~) Gdk.Enums.EventType+    type AttrBaseTypeConstraint EventVisibilityTypeFieldInfo = (~) EventVisibility+    type AttrGetType EventVisibilityTypeFieldInfo = Gdk.Enums.EventType+    type AttrLabel EventVisibilityTypeFieldInfo = "type"+    type AttrOrigin EventVisibilityTypeFieldInfo = EventVisibility+    attrGet _ = getEventVisibilityType+    attrSet _ = setEventVisibilityType+    attrConstruct = undefined+    attrClear _ = undefined++eventVisibility_type :: AttrLabelProxy "type"+eventVisibility_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventVisibility #window+@+-}+getEventVisibilityWindow :: MonadIO m => EventVisibility -> m (Maybe Gdk.Window.Window)+getEventVisibilityWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventVisibility [ #window 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventVisibilityWindow :: MonadIO m => EventVisibility -> Ptr Gdk.Window.Window -> m ()+setEventVisibilityWindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@window@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #window+@+-}+clearEventVisibilityWindow :: MonadIO m => EventVisibility -> m ()+clearEventVisibilityWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventVisibilityWindowFieldInfo+instance AttrInfo EventVisibilityWindowFieldInfo where+    type AttrAllowedOps EventVisibilityWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventVisibilityWindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventVisibilityWindowFieldInfo = (~) EventVisibility+    type AttrGetType EventVisibilityWindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventVisibilityWindowFieldInfo = "window"+    type AttrOrigin EventVisibilityWindowFieldInfo = EventVisibility+    attrGet _ = getEventVisibilityWindow+    attrSet _ = setEventVisibilityWindow+    attrConstruct = undefined+    attrClear _ = clearEventVisibilityWindow++eventVisibility_window :: AttrLabelProxy "window"+eventVisibility_window = AttrLabelProxy++#endif+++{- |+Get the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventVisibility #sendEvent+@+-}+getEventVisibilitySendEvent :: MonadIO m => EventVisibility -> m Int8+getEventVisibilitySendEvent s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++{- |+Set the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventVisibility [ #sendEvent 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventVisibilitySendEvent :: MonadIO m => EventVisibility -> Int8 -> m ()+setEventVisibilitySendEvent s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int8)++#if ENABLE_OVERLOADING+data EventVisibilitySendEventFieldInfo+instance AttrInfo EventVisibilitySendEventFieldInfo where+    type AttrAllowedOps EventVisibilitySendEventFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventVisibilitySendEventFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventVisibilitySendEventFieldInfo = (~) EventVisibility+    type AttrGetType EventVisibilitySendEventFieldInfo = Int8+    type AttrLabel EventVisibilitySendEventFieldInfo = "send_event"+    type AttrOrigin EventVisibilitySendEventFieldInfo = EventVisibility+    attrGet _ = getEventVisibilitySendEvent+    attrSet _ = setEventVisibilitySendEvent+    attrConstruct = undefined+    attrClear _ = undefined++eventVisibility_sendEvent :: AttrLabelProxy "sendEvent"+eventVisibility_sendEvent = AttrLabelProxy++#endif+++{- |+Get the value of the “@state@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventVisibility #state+@+-}+getEventVisibilityState :: MonadIO m => EventVisibility -> m Gdk.Enums.VisibilityState+getEventVisibilityState s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@state@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventVisibility [ #state 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventVisibilityState :: MonadIO m => EventVisibility -> Gdk.Enums.VisibilityState -> m ()+setEventVisibilityState s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 20) (val' :: CUInt)++#if ENABLE_OVERLOADING+data EventVisibilityStateFieldInfo+instance AttrInfo EventVisibilityStateFieldInfo where+    type AttrAllowedOps EventVisibilityStateFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventVisibilityStateFieldInfo = (~) Gdk.Enums.VisibilityState+    type AttrBaseTypeConstraint EventVisibilityStateFieldInfo = (~) EventVisibility+    type AttrGetType EventVisibilityStateFieldInfo = Gdk.Enums.VisibilityState+    type AttrLabel EventVisibilityStateFieldInfo = "state"+    type AttrOrigin EventVisibilityStateFieldInfo = EventVisibility+    attrGet _ = getEventVisibilityState+    attrSet _ = setEventVisibilityState+    attrConstruct = undefined+    attrClear _ = undefined++eventVisibility_state :: AttrLabelProxy "state"+eventVisibility_state = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList EventVisibility+type instance O.AttributeList EventVisibility = EventVisibilityAttributeList+type EventVisibilityAttributeList = ('[ '("type", EventVisibilityTypeFieldInfo), '("window", EventVisibilityWindowFieldInfo), '("sendEvent", EventVisibilitySendEventFieldInfo), '("state", EventVisibilityStateFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveEventVisibilityMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventVisibilityMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventVisibilityMethod t EventVisibility, O.MethodInfo info EventVisibility p) => OL.IsLabel t (EventVisibility -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/EventVisibility.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.EventVisibility where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype EventVisibility = EventVisibility (ManagedPtr EventVisibility)+instance WrappedPtr EventVisibility where
+ GI/Gdk/Structs/EventWindowState.hs view
@@ -0,0 +1,392 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Generated when the state of a toplevel window changes.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.EventWindowState+    ( ++-- * Exported types+    EventWindowState(..)                    ,+    newZeroEventWindowState                 ,+    noEventWindowState                      ,+++ -- * Properties+-- ** changedMask #attr:changedMask#+{- | mask specifying what flags have changed.+-}+#if ENABLE_OVERLOADING+    eventWindowState_changedMask            ,+#endif+    getEventWindowStateChangedMask          ,+    setEventWindowStateChangedMask          ,+++-- ** newWindowState #attr:newWindowState#+{- | the new window state, a combination of+  'GI.Gdk.Flags.WindowState' bits.+-}+#if ENABLE_OVERLOADING+    eventWindowState_newWindowState         ,+#endif+    getEventWindowStateNewWindowState       ,+    setEventWindowStateNewWindowState       ,+++-- ** sendEvent #attr:sendEvent#+{- | 'True' if the event was sent explicitly.+-}+#if ENABLE_OVERLOADING+    eventWindowState_sendEvent              ,+#endif+    getEventWindowStateSendEvent            ,+    setEventWindowStateSendEvent            ,+++-- ** type #attr:type#+{- | the type of the event ('GI.Gdk.Enums.EventTypeWindowState').+-}+#if ENABLE_OVERLOADING+    eventWindowState_type                   ,+#endif+    getEventWindowStateType                 ,+    setEventWindowStateType                 ,+++-- ** window #attr:window#+{- | the window which received the event.+-}+    clearEventWindowStateWindow             ,+#if ENABLE_OVERLOADING+    eventWindowState_window                 ,+#endif+    getEventWindowStateWindow               ,+    setEventWindowStateWindow               ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Flags as Gdk.Flags+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window++-- | Memory-managed wrapper type.+newtype EventWindowState = EventWindowState (ManagedPtr EventWindowState)+instance WrappedPtr EventWindowState where+    wrappedPtrCalloc = callocBytes 32+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 32 >=> wrapPtr EventWindowState)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `EventWindowState` struct initialized to zero.+newZeroEventWindowState :: MonadIO m => m EventWindowState+newZeroEventWindowState = liftIO $ wrappedPtrCalloc >>= wrapPtr EventWindowState++instance tag ~ 'AttrSet => Constructible EventWindowState tag where+    new _ attrs = do+        o <- newZeroEventWindowState+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `EventWindowState`.+noEventWindowState :: Maybe EventWindowState+noEventWindowState = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventWindowState #type+@+-}+getEventWindowStateType :: MonadIO m => EventWindowState -> m Gdk.Enums.EventType+getEventWindowStateType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventWindowState [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventWindowStateType :: MonadIO m => EventWindowState -> Gdk.Enums.EventType -> m ()+setEventWindowStateType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventWindowStateTypeFieldInfo+instance AttrInfo EventWindowStateTypeFieldInfo where+    type AttrAllowedOps EventWindowStateTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventWindowStateTypeFieldInfo = (~) Gdk.Enums.EventType+    type AttrBaseTypeConstraint EventWindowStateTypeFieldInfo = (~) EventWindowState+    type AttrGetType EventWindowStateTypeFieldInfo = Gdk.Enums.EventType+    type AttrLabel EventWindowStateTypeFieldInfo = "type"+    type AttrOrigin EventWindowStateTypeFieldInfo = EventWindowState+    attrGet _ = getEventWindowStateType+    attrSet _ = setEventWindowStateType+    attrConstruct = undefined+    attrClear _ = undefined++eventWindowState_type :: AttrLabelProxy "type"+eventWindowState_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventWindowState #window+@+-}+getEventWindowStateWindow :: MonadIO m => EventWindowState -> m (Maybe Gdk.Window.Window)+getEventWindowStateWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gdk.Window.Window)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Window.Window) val'+        return val''+    return result++{- |+Set the value of the “@window@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventWindowState [ #window 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventWindowStateWindow :: MonadIO m => EventWindowState -> Ptr Gdk.Window.Window -> m ()+setEventWindowStateWindow s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr Gdk.Window.Window)++{- |+Set the value of the “@window@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #window+@+-}+clearEventWindowStateWindow :: MonadIO m => EventWindowState -> m ()+clearEventWindowStateWindow s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gdk.Window.Window)++#if ENABLE_OVERLOADING+data EventWindowStateWindowFieldInfo+instance AttrInfo EventWindowStateWindowFieldInfo where+    type AttrAllowedOps EventWindowStateWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint EventWindowStateWindowFieldInfo = (~) (Ptr Gdk.Window.Window)+    type AttrBaseTypeConstraint EventWindowStateWindowFieldInfo = (~) EventWindowState+    type AttrGetType EventWindowStateWindowFieldInfo = Maybe Gdk.Window.Window+    type AttrLabel EventWindowStateWindowFieldInfo = "window"+    type AttrOrigin EventWindowStateWindowFieldInfo = EventWindowState+    attrGet _ = getEventWindowStateWindow+    attrSet _ = setEventWindowStateWindow+    attrConstruct = undefined+    attrClear _ = clearEventWindowStateWindow++eventWindowState_window :: AttrLabelProxy "window"+eventWindowState_window = AttrLabelProxy++#endif+++{- |+Get the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventWindowState #sendEvent+@+-}+getEventWindowStateSendEvent :: MonadIO m => EventWindowState -> m Int8+getEventWindowStateSendEvent s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int8+    return val++{- |+Set the value of the “@send_event@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventWindowState [ #sendEvent 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventWindowStateSendEvent :: MonadIO m => EventWindowState -> Int8 -> m ()+setEventWindowStateSendEvent s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int8)++#if ENABLE_OVERLOADING+data EventWindowStateSendEventFieldInfo+instance AttrInfo EventWindowStateSendEventFieldInfo where+    type AttrAllowedOps EventWindowStateSendEventFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventWindowStateSendEventFieldInfo = (~) Int8+    type AttrBaseTypeConstraint EventWindowStateSendEventFieldInfo = (~) EventWindowState+    type AttrGetType EventWindowStateSendEventFieldInfo = Int8+    type AttrLabel EventWindowStateSendEventFieldInfo = "send_event"+    type AttrOrigin EventWindowStateSendEventFieldInfo = EventWindowState+    attrGet _ = getEventWindowStateSendEvent+    attrSet _ = setEventWindowStateSendEvent+    attrConstruct = undefined+    attrClear _ = undefined++eventWindowState_sendEvent :: AttrLabelProxy "sendEvent"+eventWindowState_sendEvent = AttrLabelProxy++#endif+++{- |+Get the value of the “@changed_mask@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventWindowState #changedMask+@+-}+getEventWindowStateChangedMask :: MonadIO m => EventWindowState -> m [Gdk.Flags.WindowState]+getEventWindowStateChangedMask s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO CUInt+    let val' = wordToGFlags val+    return val'++{- |+Set the value of the “@changed_mask@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventWindowState [ #changedMask 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventWindowStateChangedMask :: MonadIO m => EventWindowState -> [Gdk.Flags.WindowState] -> m ()+setEventWindowStateChangedMask s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = gflagsToWord val+    poke (ptr `plusPtr` 20) (val' :: CUInt)++#if ENABLE_OVERLOADING+data EventWindowStateChangedMaskFieldInfo+instance AttrInfo EventWindowStateChangedMaskFieldInfo where+    type AttrAllowedOps EventWindowStateChangedMaskFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventWindowStateChangedMaskFieldInfo = (~) [Gdk.Flags.WindowState]+    type AttrBaseTypeConstraint EventWindowStateChangedMaskFieldInfo = (~) EventWindowState+    type AttrGetType EventWindowStateChangedMaskFieldInfo = [Gdk.Flags.WindowState]+    type AttrLabel EventWindowStateChangedMaskFieldInfo = "changed_mask"+    type AttrOrigin EventWindowStateChangedMaskFieldInfo = EventWindowState+    attrGet _ = getEventWindowStateChangedMask+    attrSet _ = setEventWindowStateChangedMask+    attrConstruct = undefined+    attrClear _ = undefined++eventWindowState_changedMask :: AttrLabelProxy "changedMask"+eventWindowState_changedMask = AttrLabelProxy++#endif+++{- |+Get the value of the “@new_window_state@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' eventWindowState #newWindowState+@+-}+getEventWindowStateNewWindowState :: MonadIO m => EventWindowState -> m [Gdk.Flags.WindowState]+getEventWindowStateNewWindowState s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CUInt+    let val' = wordToGFlags val+    return val'++{- |+Set the value of the “@new_window_state@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' eventWindowState [ #newWindowState 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventWindowStateNewWindowState :: MonadIO m => EventWindowState -> [Gdk.Flags.WindowState] -> m ()+setEventWindowStateNewWindowState s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = gflagsToWord val+    poke (ptr `plusPtr` 24) (val' :: CUInt)++#if ENABLE_OVERLOADING+data EventWindowStateNewWindowStateFieldInfo+instance AttrInfo EventWindowStateNewWindowStateFieldInfo where+    type AttrAllowedOps EventWindowStateNewWindowStateFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventWindowStateNewWindowStateFieldInfo = (~) [Gdk.Flags.WindowState]+    type AttrBaseTypeConstraint EventWindowStateNewWindowStateFieldInfo = (~) EventWindowState+    type AttrGetType EventWindowStateNewWindowStateFieldInfo = [Gdk.Flags.WindowState]+    type AttrLabel EventWindowStateNewWindowStateFieldInfo = "new_window_state"+    type AttrOrigin EventWindowStateNewWindowStateFieldInfo = EventWindowState+    attrGet _ = getEventWindowStateNewWindowState+    attrSet _ = setEventWindowStateNewWindowState+    attrConstruct = undefined+    attrClear _ = undefined++eventWindowState_newWindowState :: AttrLabelProxy "newWindowState"+eventWindowState_newWindowState = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList EventWindowState+type instance O.AttributeList EventWindowState = EventWindowStateAttributeList+type EventWindowStateAttributeList = ('[ '("type", EventWindowStateTypeFieldInfo), '("window", EventWindowStateWindowFieldInfo), '("sendEvent", EventWindowStateSendEventFieldInfo), '("changedMask", EventWindowStateChangedMaskFieldInfo), '("newWindowState", EventWindowStateNewWindowStateFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveEventWindowStateMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventWindowStateMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventWindowStateMethod t EventWindowState, O.MethodInfo info EventWindowState p) => OL.IsLabel t (EventWindowState -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/EventWindowState.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.EventWindowState where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype EventWindowState = EventWindowState (ManagedPtr EventWindowState)+instance WrappedPtr EventWindowState where
+ GI/Gdk/Structs/FrameTimings.hs view
@@ -0,0 +1,476 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++A 'GI.Gdk.Structs.FrameTimings.FrameTimings' object holds timing information for a single frame+of the application’s displays. To retrieve 'GI.Gdk.Structs.FrameTimings.FrameTimings' objects,+use 'GI.Gdk.Objects.FrameClock.frameClockGetTimings' or 'GI.Gdk.Objects.FrameClock.frameClockGetCurrentTimings'.+The information in 'GI.Gdk.Structs.FrameTimings.FrameTimings' is useful for precise synchronization+of video with the event or audio streams, and for measuring+quality metrics for the application’s display, such as latency and jitter.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.FrameTimings+    ( ++-- * Exported types+    FrameTimings(..)                        ,+    noFrameTimings                          ,+++ -- * Methods+-- ** getComplete #method:getComplete#++#if ENABLE_OVERLOADING+    FrameTimingsGetCompleteMethodInfo       ,+#endif+    frameTimingsGetComplete                 ,+++-- ** getFrameCounter #method:getFrameCounter#++#if ENABLE_OVERLOADING+    FrameTimingsGetFrameCounterMethodInfo   ,+#endif+    frameTimingsGetFrameCounter             ,+++-- ** getFrameTime #method:getFrameTime#++#if ENABLE_OVERLOADING+    FrameTimingsGetFrameTimeMethodInfo      ,+#endif+    frameTimingsGetFrameTime                ,+++-- ** getPredictedPresentationTime #method:getPredictedPresentationTime#++#if ENABLE_OVERLOADING+    FrameTimingsGetPredictedPresentationTimeMethodInfo,+#endif+    frameTimingsGetPredictedPresentationTime,+++-- ** getPresentationTime #method:getPresentationTime#++#if ENABLE_OVERLOADING+    FrameTimingsGetPresentationTimeMethodInfo,+#endif+    frameTimingsGetPresentationTime         ,+++-- ** getRefreshInterval #method:getRefreshInterval#++#if ENABLE_OVERLOADING+    FrameTimingsGetRefreshIntervalMethodInfo,+#endif+    frameTimingsGetRefreshInterval          ,+++-- ** ref #method:ref#++#if ENABLE_OVERLOADING+    FrameTimingsRefMethodInfo               ,+#endif+    frameTimingsRef                         ,+++-- ** unref #method:unref#++#if ENABLE_OVERLOADING+    FrameTimingsUnrefMethodInfo             ,+#endif+    frameTimingsUnref                       ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++-- | Memory-managed wrapper type.+newtype FrameTimings = FrameTimings (ManagedPtr FrameTimings)+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++-- | A convenience alias for `Nothing` :: `Maybe` `FrameTimings`.+noFrameTimings :: Maybe FrameTimings+noFrameTimings = Nothing+++#if ENABLE_OVERLOADING+instance O.HasAttributeList FrameTimings+type instance O.AttributeList FrameTimings = FrameTimingsAttributeList+type FrameTimingsAttributeList = ('[ ] :: [(Symbol, *)])+#endif++-- method FrameTimings::get_complete+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "timings", argType = TInterface (Name {namespace = "Gdk", name = "FrameTimings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkFrameTimings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_timings_get_complete" gdk_frame_timings_get_complete :: +    Ptr FrameTimings ->                     -- timings : TInterface (Name {namespace = "Gdk", name = "FrameTimings"})+    IO CInt++{- |+The timing information in a 'GI.Gdk.Structs.FrameTimings.FrameTimings' is filled in+incrementally as the frame as drawn and passed off to the+window system for processing and display to the user. The+accessor functions for 'GI.Gdk.Structs.FrameTimings.FrameTimings' can return 0 to+indicate an unavailable value for two reasons: either because+the information is not yet available, or because it isn\'t+available at all. Once 'GI.Gdk.Structs.FrameTimings.frameTimingsGetComplete' returns+'True' for a frame, you can be certain that no further values+will become available and be stored in the 'GI.Gdk.Structs.FrameTimings.FrameTimings'.++/Since: 3.8/+-}+frameTimingsGetComplete ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    FrameTimings+    {- ^ /@timings@/: a 'GI.Gdk.Structs.FrameTimings.FrameTimings' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if all information that will be available+ for the frame has been filled in. -}+frameTimingsGetComplete timings = liftIO $ do+    timings' <- unsafeManagedPtrGetPtr timings+    result <- gdk_frame_timings_get_complete timings'+    let result' = (/= 0) result+    touchManagedPtr timings+    return result'++#if ENABLE_OVERLOADING+data FrameTimingsGetCompleteMethodInfo+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo FrameTimingsGetCompleteMethodInfo FrameTimings signature where+    overloadedMethod _ = frameTimingsGetComplete++#endif++-- method FrameTimings::get_frame_counter+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "timings", argType = TInterface (Name {namespace = "Gdk", name = "FrameTimings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkFrameTimings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt64)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_timings_get_frame_counter" gdk_frame_timings_get_frame_counter :: +    Ptr FrameTimings ->                     -- timings : TInterface (Name {namespace = "Gdk", name = "FrameTimings"})+    IO Int64++{- |+Gets the frame counter value of the 'GI.Gdk.Objects.FrameClock.FrameClock' when this+this frame was drawn.++/Since: 3.8/+-}+frameTimingsGetFrameCounter ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    FrameTimings+    {- ^ /@timings@/: a 'GI.Gdk.Structs.FrameTimings.FrameTimings' -}+    -> m Int64+    {- ^ __Returns:__ the frame counter value for this frame -}+frameTimingsGetFrameCounter timings = liftIO $ do+    timings' <- unsafeManagedPtrGetPtr timings+    result <- gdk_frame_timings_get_frame_counter timings'+    touchManagedPtr timings+    return result++#if ENABLE_OVERLOADING+data FrameTimingsGetFrameCounterMethodInfo+instance (signature ~ (m Int64), MonadIO m) => O.MethodInfo FrameTimingsGetFrameCounterMethodInfo FrameTimings signature where+    overloadedMethod _ = frameTimingsGetFrameCounter++#endif++-- method FrameTimings::get_frame_time+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "timings", argType = TInterface (Name {namespace = "Gdk", name = "FrameTimings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GdkFrameTimings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt64)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_timings_get_frame_time" gdk_frame_timings_get_frame_time :: +    Ptr FrameTimings ->                     -- timings : TInterface (Name {namespace = "Gdk", name = "FrameTimings"})+    IO Int64++{- |+Returns the frame time for the frame. This is the time value+that is typically used to time animations for the frame. See+'GI.Gdk.Objects.FrameClock.frameClockGetFrameTime'.+-}+frameTimingsGetFrameTime ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    FrameTimings+    {- ^ /@timings@/: A 'GI.Gdk.Structs.FrameTimings.FrameTimings' -}+    -> m Int64+    {- ^ __Returns:__ the frame time for the frame, in the timescale+ of 'GI.GLib.Functions.getMonotonicTime' -}+frameTimingsGetFrameTime timings = liftIO $ do+    timings' <- unsafeManagedPtrGetPtr timings+    result <- gdk_frame_timings_get_frame_time timings'+    touchManagedPtr timings+    return result++#if ENABLE_OVERLOADING+data FrameTimingsGetFrameTimeMethodInfo+instance (signature ~ (m Int64), MonadIO m) => O.MethodInfo FrameTimingsGetFrameTimeMethodInfo FrameTimings signature where+    overloadedMethod _ = frameTimingsGetFrameTime++#endif++-- method FrameTimings::get_predicted_presentation_time+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "timings", argType = TInterface (Name {namespace = "Gdk", name = "FrameTimings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkFrameTimings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (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 ->                     -- timings : TInterface (Name {namespace = "Gdk", name = "FrameTimings"})+    IO Int64++{- |+Gets the predicted time at which this frame will be displayed. Although+no predicted time may be available, if one is available, it will+be available while the frame is being generated, in contrast to+'GI.Gdk.Structs.FrameTimings.frameTimingsGetPresentationTime', which is only available+after the frame has been presented. In general, if you are simply+animating, you should use 'GI.Gdk.Objects.FrameClock.frameClockGetFrameTime' rather+than this function, but this function is useful for applications+that want exact control over latency. For example, a movie player+may want this information for Audio\/Video synchronization.++/Since: 3.8/+-}+frameTimingsGetPredictedPresentationTime ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    FrameTimings+    {- ^ /@timings@/: a 'GI.Gdk.Structs.FrameTimings.FrameTimings' -}+    -> m Int64+    {- ^ __Returns:__ The predicted time at which the frame will be presented,+ in the timescale of 'GI.GLib.Functions.getMonotonicTime', or 0 if no predicted+ presentation time is available. -}+frameTimingsGetPredictedPresentationTime timings = liftIO $ do+    timings' <- unsafeManagedPtrGetPtr timings+    result <- gdk_frame_timings_get_predicted_presentation_time timings'+    touchManagedPtr timings+    return result++#if ENABLE_OVERLOADING+data FrameTimingsGetPredictedPresentationTimeMethodInfo+instance (signature ~ (m Int64), MonadIO m) => O.MethodInfo FrameTimingsGetPredictedPresentationTimeMethodInfo FrameTimings signature where+    overloadedMethod _ = frameTimingsGetPredictedPresentationTime++#endif++-- method FrameTimings::get_presentation_time+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "timings", argType = TInterface (Name {namespace = "Gdk", name = "FrameTimings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkFrameTimings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt64)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_timings_get_presentation_time" gdk_frame_timings_get_presentation_time :: +    Ptr FrameTimings ->                     -- timings : TInterface (Name {namespace = "Gdk", name = "FrameTimings"})+    IO Int64++{- |+Reurns the presentation time. This is the time at which the frame+became visible to the user.++/Since: 3.8/+-}+frameTimingsGetPresentationTime ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    FrameTimings+    {- ^ /@timings@/: a 'GI.Gdk.Structs.FrameTimings.FrameTimings' -}+    -> m Int64+    {- ^ __Returns:__ the time the frame was displayed to the user, in the+ timescale of 'GI.GLib.Functions.getMonotonicTime', or 0 if no presentation+ time is available. See 'GI.Gdk.Structs.FrameTimings.frameTimingsGetComplete' -}+frameTimingsGetPresentationTime timings = liftIO $ do+    timings' <- unsafeManagedPtrGetPtr timings+    result <- gdk_frame_timings_get_presentation_time timings'+    touchManagedPtr timings+    return result++#if ENABLE_OVERLOADING+data FrameTimingsGetPresentationTimeMethodInfo+instance (signature ~ (m Int64), MonadIO m) => O.MethodInfo FrameTimingsGetPresentationTimeMethodInfo FrameTimings signature where+    overloadedMethod _ = frameTimingsGetPresentationTime++#endif++-- method FrameTimings::get_refresh_interval+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "timings", argType = TInterface (Name {namespace = "Gdk", name = "FrameTimings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkFrameTimings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt64)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_timings_get_refresh_interval" gdk_frame_timings_get_refresh_interval :: +    Ptr FrameTimings ->                     -- timings : TInterface (Name {namespace = "Gdk", name = "FrameTimings"})+    IO Int64++{- |+Gets the natural interval between presentation times for+the display that this frame was displayed on. Frame presentation+usually happens during the “vertical blanking interval”.++/Since: 3.8/+-}+frameTimingsGetRefreshInterval ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    FrameTimings+    {- ^ /@timings@/: a 'GI.Gdk.Structs.FrameTimings.FrameTimings' -}+    -> m Int64+    {- ^ __Returns:__ the refresh interval of the display, in microseconds,+ or 0 if the refresh interval is not available.+ See 'GI.Gdk.Structs.FrameTimings.frameTimingsGetComplete'. -}+frameTimingsGetRefreshInterval timings = liftIO $ do+    timings' <- unsafeManagedPtrGetPtr timings+    result <- gdk_frame_timings_get_refresh_interval timings'+    touchManagedPtr timings+    return result++#if ENABLE_OVERLOADING+data FrameTimingsGetRefreshIntervalMethodInfo+instance (signature ~ (m Int64), MonadIO m) => O.MethodInfo FrameTimingsGetRefreshIntervalMethodInfo FrameTimings signature where+    overloadedMethod _ = frameTimingsGetRefreshInterval++#endif++-- method FrameTimings::ref+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "timings", argType = TInterface (Name {namespace = "Gdk", name = "FrameTimings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkFrameTimings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "FrameTimings"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_timings_ref" gdk_frame_timings_ref :: +    Ptr FrameTimings ->                     -- timings : TInterface (Name {namespace = "Gdk", name = "FrameTimings"})+    IO (Ptr FrameTimings)++{- |+Increases the reference count of /@timings@/.++/Since: 3.8/+-}+frameTimingsRef ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    FrameTimings+    {- ^ /@timings@/: a 'GI.Gdk.Structs.FrameTimings.FrameTimings' -}+    -> m FrameTimings+    {- ^ __Returns:__ /@timings@/ -}+frameTimingsRef timings = liftIO $ do+    timings' <- unsafeManagedPtrGetPtr timings+    result <- gdk_frame_timings_ref timings'+    checkUnexpectedReturnNULL "frameTimingsRef" result+    result' <- (wrapBoxed FrameTimings) result+    touchManagedPtr timings+    return result'++#if ENABLE_OVERLOADING+data FrameTimingsRefMethodInfo+instance (signature ~ (m FrameTimings), MonadIO m) => O.MethodInfo FrameTimingsRefMethodInfo FrameTimings signature where+    overloadedMethod _ = frameTimingsRef++#endif++-- method FrameTimings::unref+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "timings", argType = TInterface (Name {namespace = "Gdk", name = "FrameTimings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkFrameTimings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_frame_timings_unref" gdk_frame_timings_unref :: +    Ptr FrameTimings ->                     -- timings : TInterface (Name {namespace = "Gdk", name = "FrameTimings"})+    IO ()++{- |+Decreases the reference count of /@timings@/. If /@timings@/+is no longer referenced, it will be freed.++/Since: 3.8/+-}+frameTimingsUnref ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    FrameTimings+    {- ^ /@timings@/: a 'GI.Gdk.Structs.FrameTimings.FrameTimings' -}+    -> m ()+frameTimingsUnref timings = liftIO $ do+    timings' <- unsafeManagedPtrGetPtr timings+    gdk_frame_timings_unref timings'+    touchManagedPtr timings+    return ()++#if ENABLE_OVERLOADING+data FrameTimingsUnrefMethodInfo+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo FrameTimingsUnrefMethodInfo FrameTimings signature where+    overloadedMethod _ = frameTimingsUnref++#endif++#if ENABLE_OVERLOADING+type family ResolveFrameTimingsMethod (t :: Symbol) (o :: *) :: * where+    ResolveFrameTimingsMethod "ref" o = FrameTimingsRefMethodInfo+    ResolveFrameTimingsMethod "unref" o = FrameTimingsUnrefMethodInfo+    ResolveFrameTimingsMethod "getComplete" o = FrameTimingsGetCompleteMethodInfo+    ResolveFrameTimingsMethod "getFrameCounter" o = FrameTimingsGetFrameCounterMethodInfo+    ResolveFrameTimingsMethod "getFrameTime" o = FrameTimingsGetFrameTimeMethodInfo+    ResolveFrameTimingsMethod "getPredictedPresentationTime" o = FrameTimingsGetPredictedPresentationTimeMethodInfo+    ResolveFrameTimingsMethod "getPresentationTime" o = FrameTimingsGetPresentationTimeMethodInfo+    ResolveFrameTimingsMethod "getRefreshInterval" o = FrameTimingsGetRefreshIntervalMethodInfo+    ResolveFrameTimingsMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveFrameTimingsMethod t FrameTimings, O.MethodInfo info FrameTimings p) => OL.IsLabel t (FrameTimings -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/FrameTimings.hs-boot view
@@ -0,0 +1,50 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.FrameTimings where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype FrameTimings = FrameTimings (ManagedPtr FrameTimings)+instance BoxedObject FrameTimings where+#if ENABLE_OVERLOADING+data FrameTimingsGetCompleteMethodInfo+#endif+#if ENABLE_OVERLOADING+data FrameTimingsGetFrameCounterMethodInfo+#endif+#if ENABLE_OVERLOADING+data FrameTimingsGetFrameTimeMethodInfo+#endif+#if ENABLE_OVERLOADING+data FrameTimingsGetPredictedPresentationTimeMethodInfo+#endif+#if ENABLE_OVERLOADING+data FrameTimingsGetPresentationTimeMethodInfo+#endif+#if ENABLE_OVERLOADING+data FrameTimingsGetRefreshIntervalMethodInfo+#endif+#if ENABLE_OVERLOADING+data FrameTimingsRefMethodInfo+#endif+#if ENABLE_OVERLOADING+data FrameTimingsUnrefMethodInfo+#endif
+ GI/Gdk/Structs/Geometry.hs view
@@ -0,0 +1,765 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++The 'GI.Gdk.Structs.Geometry.Geometry' struct gives the window manager information about+a window’s geometry constraints. Normally you would set these on+the GTK+ level using @/gtk_window_set_geometry_hints()/@. @/GtkWindow/@+then sets the hints on the 'GI.Gdk.Objects.Window.Window' it creates.++'GI.Gdk.Objects.Window.windowSetGeometryHints' expects the hints to be fully valid already+and simply passes them to the window manager; in contrast,+@/gtk_window_set_geometry_hints()/@ performs some interpretation. For example,+@/GtkWindow/@ will apply the hints to the geometry widget instead of the+toplevel window, if you set a geometry widget. Also, the+/@minWidth@/\//@minHeight@/\//@maxWidth@/\//@maxHeight@/ fields may be set to -1, and+@/GtkWindow/@ will substitute the size request of the window or geometry widget.+If the minimum size hint is not provided, @/GtkWindow/@ will use its requisition+as the minimum size. If the minimum size is provided and a geometry widget is+set, @/GtkWindow/@ will take the minimum size as the minimum size of the+geometry widget rather than the entire window. The base size is treated+similarly.++The canonical use-case for @/gtk_window_set_geometry_hints()/@ is to get a+terminal widget to resize properly. Here, the terminal text area should be+the geometry widget; @/GtkWindow/@ will then automatically set the base size to+the size of other widgets in the terminal window, such as the menubar and+scrollbar. Then, the /@widthInc@/ and /@heightInc@/ fields should be set to the+size of one character in the terminal. Finally, the base size should be set+to the size of one character. The net effect is that the minimum size of the+terminal will have a 1x1 character terminal area, and only terminal sizes on+the “character grid” will be allowed.++Here’s an example of how the terminal example would be implemented, assuming+a terminal area widget called “terminal” and a toplevel window “toplevel”:+++=== /C code/+>+>	GdkGeometry hints;+>+>	hints.base_width = terminal->char_width;+>        hints.base_height = terminal->char_height;+>        hints.min_width = terminal->char_width;+>        hints.min_height = terminal->char_height;+>        hints.width_inc = terminal->char_width;+>        hints.height_inc = terminal->char_height;+>+> gtk_window_set_geometry_hints (GTK_WINDOW (toplevel),+>                                GTK_WIDGET (terminal),+>                                &hints,+>                                GDK_HINT_RESIZE_INC |+>                                GDK_HINT_MIN_SIZE |+>                                GDK_HINT_BASE_SIZE);+++The other useful fields are the /@minAspect@/ and /@maxAspect@/ fields; these+contain a width\/height ratio as a floating point number. If a geometry widget+is set, the aspect applies to the geometry widget rather than the entire+window. The most common use of these hints is probably to set /@minAspect@/ and+/@maxAspect@/ to the same value, thus forcing the window to keep a constant+aspect ratio.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.Geometry+    ( ++-- * Exported types+    Geometry(..)                            ,+    newZeroGeometry                         ,+    noGeometry                              ,+++ -- * Properties+-- ** baseHeight #attr:baseHeight#+{- | allowed window widths are /@baseHeight@/ + /@heightInc@/ * N where+ N is any integer (-1 allowed with @/GtkWindow/@)+-}+#if ENABLE_OVERLOADING+    geometry_baseHeight                     ,+#endif+    getGeometryBaseHeight                   ,+    setGeometryBaseHeight                   ,+++-- ** baseWidth #attr:baseWidth#+{- | allowed window widths are /@baseWidth@/ + /@widthInc@/ * N where N+ is any integer (-1 allowed with @/GtkWindow/@)+-}+#if ENABLE_OVERLOADING+    geometry_baseWidth                      ,+#endif+    getGeometryBaseWidth                    ,+    setGeometryBaseWidth                    ,+++-- ** heightInc #attr:heightInc#+{- | height resize increment+-}+#if ENABLE_OVERLOADING+    geometry_heightInc                      ,+#endif+    getGeometryHeightInc                    ,+    setGeometryHeightInc                    ,+++-- ** maxAspect #attr:maxAspect#+{- | maximum width\/height ratio+-}+#if ENABLE_OVERLOADING+    geometry_maxAspect                      ,+#endif+    getGeometryMaxAspect                    ,+    setGeometryMaxAspect                    ,+++-- ** maxHeight #attr:maxHeight#+{- | maximum height of window (or -1 to use requisition, with+ @/GtkWindow/@ only)+-}+#if ENABLE_OVERLOADING+    geometry_maxHeight                      ,+#endif+    getGeometryMaxHeight                    ,+    setGeometryMaxHeight                    ,+++-- ** maxWidth #attr:maxWidth#+{- | maximum width of window (or -1 to use requisition, with+ @/GtkWindow/@ only)+-}+#if ENABLE_OVERLOADING+    geometry_maxWidth                       ,+#endif+    getGeometryMaxWidth                     ,+    setGeometryMaxWidth                     ,+++-- ** minAspect #attr:minAspect#+{- | minimum width\/height ratio+-}+#if ENABLE_OVERLOADING+    geometry_minAspect                      ,+#endif+    getGeometryMinAspect                    ,+    setGeometryMinAspect                    ,+++-- ** minHeight #attr:minHeight#+{- | minimum height of window (or -1 to use requisition, with+ @/GtkWindow/@ only)+-}+#if ENABLE_OVERLOADING+    geometry_minHeight                      ,+#endif+    getGeometryMinHeight                    ,+    setGeometryMinHeight                    ,+++-- ** minWidth #attr:minWidth#+{- | minimum width of window (or -1 to use requisition, with+ @/GtkWindow/@ only)+-}+#if ENABLE_OVERLOADING+    geometry_minWidth                       ,+#endif+    getGeometryMinWidth                     ,+    setGeometryMinWidth                     ,+++-- ** widthInc #attr:widthInc#+{- | width resize increment+-}+#if ENABLE_OVERLOADING+    geometry_widthInc                       ,+#endif+    getGeometryWidthInc                     ,+    setGeometryWidthInc                     ,+++-- ** winGravity #attr:winGravity#+{- | window gravity, see @/gtk_window_set_gravity()/@+-}+#if ENABLE_OVERLOADING+    geometry_winGravity                     ,+#endif+    getGeometryWinGravity                   ,+    setGeometryWinGravity                   ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums++-- | Memory-managed wrapper type.+newtype Geometry = Geometry (ManagedPtr Geometry)+instance WrappedPtr Geometry where+    wrappedPtrCalloc = callocBytes 56+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 56 >=> wrapPtr Geometry)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `Geometry` struct initialized to zero.+newZeroGeometry :: MonadIO m => m Geometry+newZeroGeometry = liftIO $ wrappedPtrCalloc >>= wrapPtr Geometry++instance tag ~ 'AttrSet => Constructible Geometry tag where+    new _ attrs = do+        o <- newZeroGeometry+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `Geometry`.+noGeometry :: Maybe Geometry+noGeometry = Nothing++{- |+Get the value of the “@min_width@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' geometry #minWidth+@+-}+getGeometryMinWidth :: MonadIO m => Geometry -> m Int32+getGeometryMinWidth s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int32+    return val++{- |+Set the value of the “@min_width@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' geometry [ #minWidth 'Data.GI.Base.Attributes.:=' value ]+@+-}+setGeometryMinWidth :: MonadIO m => Geometry -> Int32 -> m ()+setGeometryMinWidth s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Int32)++#if ENABLE_OVERLOADING+data GeometryMinWidthFieldInfo+instance AttrInfo GeometryMinWidthFieldInfo where+    type AttrAllowedOps GeometryMinWidthFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint GeometryMinWidthFieldInfo = (~) Int32+    type AttrBaseTypeConstraint GeometryMinWidthFieldInfo = (~) Geometry+    type AttrGetType GeometryMinWidthFieldInfo = Int32+    type AttrLabel GeometryMinWidthFieldInfo = "min_width"+    type AttrOrigin GeometryMinWidthFieldInfo = Geometry+    attrGet _ = getGeometryMinWidth+    attrSet _ = setGeometryMinWidth+    attrConstruct = undefined+    attrClear _ = undefined++geometry_minWidth :: AttrLabelProxy "minWidth"+geometry_minWidth = AttrLabelProxy++#endif+++{- |+Get the value of the “@min_height@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' geometry #minHeight+@+-}+getGeometryMinHeight :: MonadIO m => Geometry -> m Int32+getGeometryMinHeight s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 4) :: IO Int32+    return val++{- |+Set the value of the “@min_height@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' geometry [ #minHeight 'Data.GI.Base.Attributes.:=' value ]+@+-}+setGeometryMinHeight :: MonadIO m => Geometry -> Int32 -> m ()+setGeometryMinHeight s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 4) (val :: Int32)++#if ENABLE_OVERLOADING+data GeometryMinHeightFieldInfo+instance AttrInfo GeometryMinHeightFieldInfo where+    type AttrAllowedOps GeometryMinHeightFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint GeometryMinHeightFieldInfo = (~) Int32+    type AttrBaseTypeConstraint GeometryMinHeightFieldInfo = (~) Geometry+    type AttrGetType GeometryMinHeightFieldInfo = Int32+    type AttrLabel GeometryMinHeightFieldInfo = "min_height"+    type AttrOrigin GeometryMinHeightFieldInfo = Geometry+    attrGet _ = getGeometryMinHeight+    attrSet _ = setGeometryMinHeight+    attrConstruct = undefined+    attrClear _ = undefined++geometry_minHeight :: AttrLabelProxy "minHeight"+geometry_minHeight = AttrLabelProxy++#endif+++{- |+Get the value of the “@max_width@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' geometry #maxWidth+@+-}+getGeometryMaxWidth :: MonadIO m => Geometry -> m Int32+getGeometryMaxWidth s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO Int32+    return val++{- |+Set the value of the “@max_width@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' geometry [ #maxWidth 'Data.GI.Base.Attributes.:=' value ]+@+-}+setGeometryMaxWidth :: MonadIO m => Geometry -> Int32 -> m ()+setGeometryMaxWidth s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Int32)++#if ENABLE_OVERLOADING+data GeometryMaxWidthFieldInfo+instance AttrInfo GeometryMaxWidthFieldInfo where+    type AttrAllowedOps GeometryMaxWidthFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint GeometryMaxWidthFieldInfo = (~) Int32+    type AttrBaseTypeConstraint GeometryMaxWidthFieldInfo = (~) Geometry+    type AttrGetType GeometryMaxWidthFieldInfo = Int32+    type AttrLabel GeometryMaxWidthFieldInfo = "max_width"+    type AttrOrigin GeometryMaxWidthFieldInfo = Geometry+    attrGet _ = getGeometryMaxWidth+    attrSet _ = setGeometryMaxWidth+    attrConstruct = undefined+    attrClear _ = undefined++geometry_maxWidth :: AttrLabelProxy "maxWidth"+geometry_maxWidth = AttrLabelProxy++#endif+++{- |+Get the value of the “@max_height@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' geometry #maxHeight+@+-}+getGeometryMaxHeight :: MonadIO m => Geometry -> m Int32+getGeometryMaxHeight s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 12) :: IO Int32+    return val++{- |+Set the value of the “@max_height@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' geometry [ #maxHeight 'Data.GI.Base.Attributes.:=' value ]+@+-}+setGeometryMaxHeight :: MonadIO m => Geometry -> Int32 -> m ()+setGeometryMaxHeight s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 12) (val :: Int32)++#if ENABLE_OVERLOADING+data GeometryMaxHeightFieldInfo+instance AttrInfo GeometryMaxHeightFieldInfo where+    type AttrAllowedOps GeometryMaxHeightFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint GeometryMaxHeightFieldInfo = (~) Int32+    type AttrBaseTypeConstraint GeometryMaxHeightFieldInfo = (~) Geometry+    type AttrGetType GeometryMaxHeightFieldInfo = Int32+    type AttrLabel GeometryMaxHeightFieldInfo = "max_height"+    type AttrOrigin GeometryMaxHeightFieldInfo = Geometry+    attrGet _ = getGeometryMaxHeight+    attrSet _ = setGeometryMaxHeight+    attrConstruct = undefined+    attrClear _ = undefined++geometry_maxHeight :: AttrLabelProxy "maxHeight"+geometry_maxHeight = AttrLabelProxy++#endif+++{- |+Get the value of the “@base_width@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' geometry #baseWidth+@+-}+getGeometryBaseWidth :: MonadIO m => Geometry -> m Int32+getGeometryBaseWidth s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int32+    return val++{- |+Set the value of the “@base_width@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' geometry [ #baseWidth 'Data.GI.Base.Attributes.:=' value ]+@+-}+setGeometryBaseWidth :: MonadIO m => Geometry -> Int32 -> m ()+setGeometryBaseWidth s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int32)++#if ENABLE_OVERLOADING+data GeometryBaseWidthFieldInfo+instance AttrInfo GeometryBaseWidthFieldInfo where+    type AttrAllowedOps GeometryBaseWidthFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint GeometryBaseWidthFieldInfo = (~) Int32+    type AttrBaseTypeConstraint GeometryBaseWidthFieldInfo = (~) Geometry+    type AttrGetType GeometryBaseWidthFieldInfo = Int32+    type AttrLabel GeometryBaseWidthFieldInfo = "base_width"+    type AttrOrigin GeometryBaseWidthFieldInfo = Geometry+    attrGet _ = getGeometryBaseWidth+    attrSet _ = setGeometryBaseWidth+    attrConstruct = undefined+    attrClear _ = undefined++geometry_baseWidth :: AttrLabelProxy "baseWidth"+geometry_baseWidth = AttrLabelProxy++#endif+++{- |+Get the value of the “@base_height@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' geometry #baseHeight+@+-}+getGeometryBaseHeight :: MonadIO m => Geometry -> m Int32+getGeometryBaseHeight s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Int32+    return val++{- |+Set the value of the “@base_height@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' geometry [ #baseHeight 'Data.GI.Base.Attributes.:=' value ]+@+-}+setGeometryBaseHeight :: MonadIO m => Geometry -> Int32 -> m ()+setGeometryBaseHeight s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 20) (val :: Int32)++#if ENABLE_OVERLOADING+data GeometryBaseHeightFieldInfo+instance AttrInfo GeometryBaseHeightFieldInfo where+    type AttrAllowedOps GeometryBaseHeightFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint GeometryBaseHeightFieldInfo = (~) Int32+    type AttrBaseTypeConstraint GeometryBaseHeightFieldInfo = (~) Geometry+    type AttrGetType GeometryBaseHeightFieldInfo = Int32+    type AttrLabel GeometryBaseHeightFieldInfo = "base_height"+    type AttrOrigin GeometryBaseHeightFieldInfo = Geometry+    attrGet _ = getGeometryBaseHeight+    attrSet _ = setGeometryBaseHeight+    attrConstruct = undefined+    attrClear _ = undefined++geometry_baseHeight :: AttrLabelProxy "baseHeight"+geometry_baseHeight = AttrLabelProxy++#endif+++{- |+Get the value of the “@width_inc@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' geometry #widthInc+@+-}+getGeometryWidthInc :: MonadIO m => Geometry -> m Int32+getGeometryWidthInc s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO Int32+    return val++{- |+Set the value of the “@width_inc@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' geometry [ #widthInc 'Data.GI.Base.Attributes.:=' value ]+@+-}+setGeometryWidthInc :: MonadIO m => Geometry -> Int32 -> m ()+setGeometryWidthInc s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 24) (val :: Int32)++#if ENABLE_OVERLOADING+data GeometryWidthIncFieldInfo+instance AttrInfo GeometryWidthIncFieldInfo where+    type AttrAllowedOps GeometryWidthIncFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint GeometryWidthIncFieldInfo = (~) Int32+    type AttrBaseTypeConstraint GeometryWidthIncFieldInfo = (~) Geometry+    type AttrGetType GeometryWidthIncFieldInfo = Int32+    type AttrLabel GeometryWidthIncFieldInfo = "width_inc"+    type AttrOrigin GeometryWidthIncFieldInfo = Geometry+    attrGet _ = getGeometryWidthInc+    attrSet _ = setGeometryWidthInc+    attrConstruct = undefined+    attrClear _ = undefined++geometry_widthInc :: AttrLabelProxy "widthInc"+geometry_widthInc = AttrLabelProxy++#endif+++{- |+Get the value of the “@height_inc@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' geometry #heightInc+@+-}+getGeometryHeightInc :: MonadIO m => Geometry -> m Int32+getGeometryHeightInc s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 28) :: IO Int32+    return val++{- |+Set the value of the “@height_inc@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' geometry [ #heightInc 'Data.GI.Base.Attributes.:=' value ]+@+-}+setGeometryHeightInc :: MonadIO m => Geometry -> Int32 -> m ()+setGeometryHeightInc s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 28) (val :: Int32)++#if ENABLE_OVERLOADING+data GeometryHeightIncFieldInfo+instance AttrInfo GeometryHeightIncFieldInfo where+    type AttrAllowedOps GeometryHeightIncFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint GeometryHeightIncFieldInfo = (~) Int32+    type AttrBaseTypeConstraint GeometryHeightIncFieldInfo = (~) Geometry+    type AttrGetType GeometryHeightIncFieldInfo = Int32+    type AttrLabel GeometryHeightIncFieldInfo = "height_inc"+    type AttrOrigin GeometryHeightIncFieldInfo = Geometry+    attrGet _ = getGeometryHeightInc+    attrSet _ = setGeometryHeightInc+    attrConstruct = undefined+    attrClear _ = undefined++geometry_heightInc :: AttrLabelProxy "heightInc"+geometry_heightInc = AttrLabelProxy++#endif+++{- |+Get the value of the “@min_aspect@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' geometry #minAspect+@+-}+getGeometryMinAspect :: MonadIO m => Geometry -> m Double+getGeometryMinAspect s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@min_aspect@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' geometry [ #minAspect 'Data.GI.Base.Attributes.:=' value ]+@+-}+setGeometryMinAspect :: MonadIO m => Geometry -> Double -> m ()+setGeometryMinAspect s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 32) (val' :: CDouble)++#if ENABLE_OVERLOADING+data GeometryMinAspectFieldInfo+instance AttrInfo GeometryMinAspectFieldInfo where+    type AttrAllowedOps GeometryMinAspectFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint GeometryMinAspectFieldInfo = (~) Double+    type AttrBaseTypeConstraint GeometryMinAspectFieldInfo = (~) Geometry+    type AttrGetType GeometryMinAspectFieldInfo = Double+    type AttrLabel GeometryMinAspectFieldInfo = "min_aspect"+    type AttrOrigin GeometryMinAspectFieldInfo = Geometry+    attrGet _ = getGeometryMinAspect+    attrSet _ = setGeometryMinAspect+    attrConstruct = undefined+    attrClear _ = undefined++geometry_minAspect :: AttrLabelProxy "minAspect"+geometry_minAspect = AttrLabelProxy++#endif+++{- |+Get the value of the “@max_aspect@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' geometry #maxAspect+@+-}+getGeometryMaxAspect :: MonadIO m => Geometry -> m Double+getGeometryMaxAspect s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@max_aspect@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' geometry [ #maxAspect 'Data.GI.Base.Attributes.:=' value ]+@+-}+setGeometryMaxAspect :: MonadIO m => Geometry -> Double -> m ()+setGeometryMaxAspect s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 40) (val' :: CDouble)++#if ENABLE_OVERLOADING+data GeometryMaxAspectFieldInfo+instance AttrInfo GeometryMaxAspectFieldInfo where+    type AttrAllowedOps GeometryMaxAspectFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint GeometryMaxAspectFieldInfo = (~) Double+    type AttrBaseTypeConstraint GeometryMaxAspectFieldInfo = (~) Geometry+    type AttrGetType GeometryMaxAspectFieldInfo = Double+    type AttrLabel GeometryMaxAspectFieldInfo = "max_aspect"+    type AttrOrigin GeometryMaxAspectFieldInfo = Geometry+    attrGet _ = getGeometryMaxAspect+    attrSet _ = setGeometryMaxAspect+    attrConstruct = undefined+    attrClear _ = undefined++geometry_maxAspect :: AttrLabelProxy "maxAspect"+geometry_maxAspect = AttrLabelProxy++#endif+++{- |+Get the value of the “@win_gravity@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' geometry #winGravity+@+-}+getGeometryWinGravity :: MonadIO m => Geometry -> m Gdk.Enums.Gravity+getGeometryWinGravity s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@win_gravity@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' geometry [ #winGravity 'Data.GI.Base.Attributes.:=' value ]+@+-}+setGeometryWinGravity :: MonadIO m => Geometry -> Gdk.Enums.Gravity -> m ()+setGeometryWinGravity s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 48) (val' :: CUInt)++#if ENABLE_OVERLOADING+data GeometryWinGravityFieldInfo+instance AttrInfo GeometryWinGravityFieldInfo where+    type AttrAllowedOps GeometryWinGravityFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint GeometryWinGravityFieldInfo = (~) Gdk.Enums.Gravity+    type AttrBaseTypeConstraint GeometryWinGravityFieldInfo = (~) Geometry+    type AttrGetType GeometryWinGravityFieldInfo = Gdk.Enums.Gravity+    type AttrLabel GeometryWinGravityFieldInfo = "win_gravity"+    type AttrOrigin GeometryWinGravityFieldInfo = Geometry+    attrGet _ = getGeometryWinGravity+    attrSet _ = setGeometryWinGravity+    attrConstruct = undefined+    attrClear _ = undefined++geometry_winGravity :: AttrLabelProxy "winGravity"+geometry_winGravity = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList Geometry+type instance O.AttributeList Geometry = GeometryAttributeList+type GeometryAttributeList = ('[ '("minWidth", GeometryMinWidthFieldInfo), '("minHeight", GeometryMinHeightFieldInfo), '("maxWidth", GeometryMaxWidthFieldInfo), '("maxHeight", GeometryMaxHeightFieldInfo), '("baseWidth", GeometryBaseWidthFieldInfo), '("baseHeight", GeometryBaseHeightFieldInfo), '("widthInc", GeometryWidthIncFieldInfo), '("heightInc", GeometryHeightIncFieldInfo), '("minAspect", GeometryMinAspectFieldInfo), '("maxAspect", GeometryMaxAspectFieldInfo), '("winGravity", GeometryWinGravityFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveGeometryMethod (t :: Symbol) (o :: *) :: * where+    ResolveGeometryMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveGeometryMethod t Geometry, O.MethodInfo info Geometry p) => OL.IsLabel t (Geometry -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/Geometry.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.Geometry where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype Geometry = Geometry (ManagedPtr Geometry)+instance WrappedPtr Geometry where
+ GI/Gdk/Structs/KeymapKey.hs view
@@ -0,0 +1,265 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++A 'GI.Gdk.Structs.KeymapKey.KeymapKey' is a hardware key that can be mapped to a keyval.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.KeymapKey+    ( ++-- * Exported types+    KeymapKey(..)                           ,+    newZeroKeymapKey                        ,+    noKeymapKey                             ,+++ -- * Properties+-- ** group #attr:group#+{- | indicates movement in a horizontal direction. Usually groups are used+  for two different languages. In group 0, a key might have two English+  characters, and in group 1 it might have two Hebrew characters. The Hebrew+  characters will be printed on the key next to the English characters.+-}+    getKeymapKeyGroup                       ,+#if ENABLE_OVERLOADING+    keymapKey_group                         ,+#endif+    setKeymapKeyGroup                       ,+++-- ** keycode #attr:keycode#+{- | the hardware keycode. This is an identifying number for a+  physical key.+-}+    getKeymapKeyKeycode                     ,+#if ENABLE_OVERLOADING+    keymapKey_keycode                       ,+#endif+    setKeymapKeyKeycode                     ,+++-- ** level #attr:level#+{- | indicates which symbol on the key will be used, in a vertical direction.+  So on a standard US keyboard, the key with the number “1” on it also has the+  exclamation point (\"!\") character on it. The level indicates whether to use+  the “1” or the “!” symbol. The letter keys are considered to have a lowercase+  letter at level 0, and an uppercase letter at level 1, though only the+  uppercase letter is printed.+-}+    getKeymapKeyLevel                       ,+#if ENABLE_OVERLOADING+    keymapKey_level                         ,+#endif+    setKeymapKeyLevel                       ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++-- | Memory-managed wrapper type.+newtype KeymapKey = KeymapKey (ManagedPtr KeymapKey)+instance WrappedPtr KeymapKey where+    wrappedPtrCalloc = callocBytes 12+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 12 >=> wrapPtr KeymapKey)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `KeymapKey` struct initialized to zero.+newZeroKeymapKey :: MonadIO m => m KeymapKey+newZeroKeymapKey = liftIO $ wrappedPtrCalloc >>= wrapPtr KeymapKey++instance tag ~ 'AttrSet => Constructible KeymapKey tag where+    new _ attrs = do+        o <- newZeroKeymapKey+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `KeymapKey`.+noKeymapKey :: Maybe KeymapKey+noKeymapKey = Nothing++{- |+Get the value of the “@keycode@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' keymapKey #keycode+@+-}+getKeymapKeyKeycode :: MonadIO m => KeymapKey -> m Word32+getKeymapKeyKeycode s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word32+    return val++{- |+Set the value of the “@keycode@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' keymapKey [ #keycode 'Data.GI.Base.Attributes.:=' value ]+@+-}+setKeymapKeyKeycode :: MonadIO m => KeymapKey -> Word32 -> m ()+setKeymapKeyKeycode s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Word32)++#if ENABLE_OVERLOADING+data KeymapKeyKeycodeFieldInfo+instance AttrInfo KeymapKeyKeycodeFieldInfo where+    type AttrAllowedOps KeymapKeyKeycodeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint KeymapKeyKeycodeFieldInfo = (~) Word32+    type AttrBaseTypeConstraint KeymapKeyKeycodeFieldInfo = (~) KeymapKey+    type AttrGetType KeymapKeyKeycodeFieldInfo = Word32+    type AttrLabel KeymapKeyKeycodeFieldInfo = "keycode"+    type AttrOrigin KeymapKeyKeycodeFieldInfo = KeymapKey+    attrGet _ = getKeymapKeyKeycode+    attrSet _ = setKeymapKeyKeycode+    attrConstruct = undefined+    attrClear _ = undefined++keymapKey_keycode :: AttrLabelProxy "keycode"+keymapKey_keycode = AttrLabelProxy++#endif+++{- |+Get the value of the “@group@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' keymapKey #group+@+-}+getKeymapKeyGroup :: MonadIO m => KeymapKey -> m Int32+getKeymapKeyGroup s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 4) :: IO Int32+    return val++{- |+Set the value of the “@group@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' keymapKey [ #group 'Data.GI.Base.Attributes.:=' value ]+@+-}+setKeymapKeyGroup :: MonadIO m => KeymapKey -> Int32 -> m ()+setKeymapKeyGroup s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 4) (val :: Int32)++#if ENABLE_OVERLOADING+data KeymapKeyGroupFieldInfo+instance AttrInfo KeymapKeyGroupFieldInfo where+    type AttrAllowedOps KeymapKeyGroupFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint KeymapKeyGroupFieldInfo = (~) Int32+    type AttrBaseTypeConstraint KeymapKeyGroupFieldInfo = (~) KeymapKey+    type AttrGetType KeymapKeyGroupFieldInfo = Int32+    type AttrLabel KeymapKeyGroupFieldInfo = "group"+    type AttrOrigin KeymapKeyGroupFieldInfo = KeymapKey+    attrGet _ = getKeymapKeyGroup+    attrSet _ = setKeymapKeyGroup+    attrConstruct = undefined+    attrClear _ = undefined++keymapKey_group :: AttrLabelProxy "group"+keymapKey_group = AttrLabelProxy++#endif+++{- |+Get the value of the “@level@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' keymapKey #level+@+-}+getKeymapKeyLevel :: MonadIO m => KeymapKey -> m Int32+getKeymapKeyLevel s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO Int32+    return val++{- |+Set the value of the “@level@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' keymapKey [ #level 'Data.GI.Base.Attributes.:=' value ]+@+-}+setKeymapKeyLevel :: MonadIO m => KeymapKey -> Int32 -> m ()+setKeymapKeyLevel s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Int32)++#if ENABLE_OVERLOADING+data KeymapKeyLevelFieldInfo+instance AttrInfo KeymapKeyLevelFieldInfo where+    type AttrAllowedOps KeymapKeyLevelFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint KeymapKeyLevelFieldInfo = (~) Int32+    type AttrBaseTypeConstraint KeymapKeyLevelFieldInfo = (~) KeymapKey+    type AttrGetType KeymapKeyLevelFieldInfo = Int32+    type AttrLabel KeymapKeyLevelFieldInfo = "level"+    type AttrOrigin KeymapKeyLevelFieldInfo = KeymapKey+    attrGet _ = getKeymapKeyLevel+    attrSet _ = setKeymapKeyLevel+    attrConstruct = undefined+    attrClear _ = undefined++keymapKey_level :: AttrLabelProxy "level"+keymapKey_level = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList KeymapKey+type instance O.AttributeList KeymapKey = KeymapKeyAttributeList+type KeymapKeyAttributeList = ('[ '("keycode", KeymapKeyKeycodeFieldInfo), '("group", KeymapKeyGroupFieldInfo), '("level", KeymapKeyLevelFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveKeymapKeyMethod (t :: Symbol) (o :: *) :: * where+    ResolveKeymapKeyMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveKeymapKeyMethod t KeymapKey, O.MethodInfo info KeymapKey p) => OL.IsLabel t (KeymapKey -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/KeymapKey.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.KeymapKey where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype KeymapKey = KeymapKey (ManagedPtr KeymapKey)+instance WrappedPtr KeymapKey where
+ GI/Gdk/Structs/Point.hs view
@@ -0,0 +1,201 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Defines the x and y coordinates of a point.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.Point+    ( ++-- * Exported types+    Point(..)                               ,+    newZeroPoint                            ,+    noPoint                                 ,+++ -- * Properties+-- ** x #attr:x#+{- | the x coordinate of the point.+-}+    getPointX                               ,+#if ENABLE_OVERLOADING+    point_x                                 ,+#endif+    setPointX                               ,+++-- ** y #attr:y#+{- | the y coordinate of the point.+-}+    getPointY                               ,+#if ENABLE_OVERLOADING+    point_y                                 ,+#endif+    setPointY                               ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++-- | Memory-managed wrapper type.+newtype Point = Point (ManagedPtr Point)+instance WrappedPtr Point where+    wrappedPtrCalloc = callocBytes 8+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 8 >=> wrapPtr Point)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `Point` struct initialized to zero.+newZeroPoint :: MonadIO m => m Point+newZeroPoint = liftIO $ wrappedPtrCalloc >>= wrapPtr Point++instance tag ~ 'AttrSet => Constructible Point tag where+    new _ attrs = do+        o <- newZeroPoint+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `Point`.+noPoint :: Maybe Point+noPoint = Nothing++{- |+Get the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' point #x+@+-}+getPointX :: MonadIO m => Point -> m Int32+getPointX s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int32+    return val++{- |+Set the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' point [ #x 'Data.GI.Base.Attributes.:=' value ]+@+-}+setPointX :: MonadIO m => Point -> Int32 -> m ()+setPointX s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Int32)++#if ENABLE_OVERLOADING+data PointXFieldInfo+instance AttrInfo PointXFieldInfo where+    type AttrAllowedOps PointXFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint PointXFieldInfo = (~) Int32+    type AttrBaseTypeConstraint PointXFieldInfo = (~) Point+    type AttrGetType PointXFieldInfo = Int32+    type AttrLabel PointXFieldInfo = "x"+    type AttrOrigin PointXFieldInfo = Point+    attrGet _ = getPointX+    attrSet _ = setPointX+    attrConstruct = undefined+    attrClear _ = undefined++point_x :: AttrLabelProxy "x"+point_x = AttrLabelProxy++#endif+++{- |+Get the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' point #y+@+-}+getPointY :: MonadIO m => Point -> m Int32+getPointY s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 4) :: IO Int32+    return val++{- |+Set the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' point [ #y 'Data.GI.Base.Attributes.:=' value ]+@+-}+setPointY :: MonadIO m => Point -> Int32 -> m ()+setPointY s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 4) (val :: Int32)++#if ENABLE_OVERLOADING+data PointYFieldInfo+instance AttrInfo PointYFieldInfo where+    type AttrAllowedOps PointYFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint PointYFieldInfo = (~) Int32+    type AttrBaseTypeConstraint PointYFieldInfo = (~) Point+    type AttrGetType PointYFieldInfo = Int32+    type AttrLabel PointYFieldInfo = "y"+    type AttrOrigin PointYFieldInfo = Point+    attrGet _ = getPointY+    attrSet _ = setPointY+    attrConstruct = undefined+    attrClear _ = undefined++point_y :: AttrLabelProxy "y"+point_y = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList Point+type instance O.AttributeList Point = PointAttributeList+type PointAttributeList = ('[ '("x", PointXFieldInfo), '("y", PointYFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolvePointMethod (t :: Symbol) (o :: *) :: * where+    ResolvePointMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolvePointMethod t Point, O.MethodInfo info Point p) => OL.IsLabel t (Point -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/Point.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.Point where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype Point = Point (ManagedPtr Point)+instance WrappedPtr Point where
+ GI/Gdk/Structs/RGBA.hs view
@@ -0,0 +1,644 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++A 'GI.Gdk.Structs.RGBA.RGBA' is used to represent a (possibly translucent)+color, in a way that is compatible with cairo’s notion of color.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.RGBA+    ( ++-- * Exported types+    RGBA(..)                                ,+    newZeroRGBA                             ,+    noRGBA                                  ,+++ -- * Methods+-- ** copy #method:copy#++#if ENABLE_OVERLOADING+    RGBACopyMethodInfo                      ,+#endif+    rGBACopy                                ,+++-- ** equal #method:equal#++#if ENABLE_OVERLOADING+    RGBAEqualMethodInfo                     ,+#endif+    rGBAEqual                               ,+++-- ** free #method:free#++#if ENABLE_OVERLOADING+    RGBAFreeMethodInfo                      ,+#endif+    rGBAFree                                ,+++-- ** hash #method:hash#++#if ENABLE_OVERLOADING+    RGBAHashMethodInfo                      ,+#endif+    rGBAHash                                ,+++-- ** parse #method:parse#++#if ENABLE_OVERLOADING+    RGBAParseMethodInfo                     ,+#endif+    rGBAParse                               ,+++-- ** toString #method:toString#++#if ENABLE_OVERLOADING+    RGBAToStringMethodInfo                  ,+#endif+    rGBAToString                            ,+++++ -- * Properties+-- ** alpha #attr:alpha#+{- | The opacity of the color from 0.0 for completely translucent to+  1.0 for opaque+-}+    getRGBAAlpha                            ,+#if ENABLE_OVERLOADING+    rGBA_alpha                              ,+#endif+    setRGBAAlpha                            ,+++-- ** blue #attr:blue#+{- | The intensity of the blue channel from 0.0 to 1.0 inclusive+-}+    getRGBABlue                             ,+#if ENABLE_OVERLOADING+    rGBA_blue                               ,+#endif+    setRGBABlue                             ,+++-- ** green #attr:green#+{- | The intensity of the green channel from 0.0 to 1.0 inclusive+-}+    getRGBAGreen                            ,+#if ENABLE_OVERLOADING+    rGBA_green                              ,+#endif+    setRGBAGreen                            ,+++-- ** red #attr:red#+{- | The intensity of the red channel from 0.0 to 1.0 inclusive+-}+    getRGBARed                              ,+#if ENABLE_OVERLOADING+    rGBA_red                                ,+#endif+    setRGBARed                              ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++-- | Memory-managed wrapper type.+newtype RGBA = RGBA (ManagedPtr RGBA)+foreign import ccall "gdk_rgba_get_type" c_gdk_rgba_get_type :: +    IO GType++instance BoxedObject RGBA where+    boxedType _ = c_gdk_rgba_get_type++-- | Construct a `RGBA` struct initialized to zero.+newZeroRGBA :: MonadIO m => m RGBA+newZeroRGBA = liftIO $ callocBoxedBytes 32 >>= wrapBoxed RGBA++instance tag ~ 'AttrSet => Constructible RGBA tag where+    new _ attrs = do+        o <- newZeroRGBA+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `RGBA`.+noRGBA :: Maybe RGBA+noRGBA = Nothing++{- |+Get the value of the “@red@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' rGBA #red+@+-}+getRGBARed :: MonadIO m => RGBA -> m Double+getRGBARed s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@red@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' rGBA [ #red 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRGBARed :: MonadIO m => RGBA -> Double -> m ()+setRGBARed s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 0) (val' :: CDouble)++#if ENABLE_OVERLOADING+data RGBARedFieldInfo+instance AttrInfo RGBARedFieldInfo where+    type AttrAllowedOps RGBARedFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RGBARedFieldInfo = (~) Double+    type AttrBaseTypeConstraint RGBARedFieldInfo = (~) RGBA+    type AttrGetType RGBARedFieldInfo = Double+    type AttrLabel RGBARedFieldInfo = "red"+    type AttrOrigin RGBARedFieldInfo = RGBA+    attrGet _ = getRGBARed+    attrSet _ = setRGBARed+    attrConstruct = undefined+    attrClear _ = undefined++rGBA_red :: AttrLabelProxy "red"+rGBA_red = AttrLabelProxy++#endif+++{- |+Get the value of the “@green@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' rGBA #green+@+-}+getRGBAGreen :: MonadIO m => RGBA -> m Double+getRGBAGreen s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@green@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' rGBA [ #green 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRGBAGreen :: MonadIO m => RGBA -> Double -> m ()+setRGBAGreen s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 8) (val' :: CDouble)++#if ENABLE_OVERLOADING+data RGBAGreenFieldInfo+instance AttrInfo RGBAGreenFieldInfo where+    type AttrAllowedOps RGBAGreenFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RGBAGreenFieldInfo = (~) Double+    type AttrBaseTypeConstraint RGBAGreenFieldInfo = (~) RGBA+    type AttrGetType RGBAGreenFieldInfo = Double+    type AttrLabel RGBAGreenFieldInfo = "green"+    type AttrOrigin RGBAGreenFieldInfo = RGBA+    attrGet _ = getRGBAGreen+    attrSet _ = setRGBAGreen+    attrConstruct = undefined+    attrClear _ = undefined++rGBA_green :: AttrLabelProxy "green"+rGBA_green = AttrLabelProxy++#endif+++{- |+Get the value of the “@blue@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' rGBA #blue+@+-}+getRGBABlue :: MonadIO m => RGBA -> m Double+getRGBABlue s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@blue@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' rGBA [ #blue 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRGBABlue :: MonadIO m => RGBA -> Double -> m ()+setRGBABlue s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 16) (val' :: CDouble)++#if ENABLE_OVERLOADING+data RGBABlueFieldInfo+instance AttrInfo RGBABlueFieldInfo where+    type AttrAllowedOps RGBABlueFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RGBABlueFieldInfo = (~) Double+    type AttrBaseTypeConstraint RGBABlueFieldInfo = (~) RGBA+    type AttrGetType RGBABlueFieldInfo = Double+    type AttrLabel RGBABlueFieldInfo = "blue"+    type AttrOrigin RGBABlueFieldInfo = RGBA+    attrGet _ = getRGBABlue+    attrSet _ = setRGBABlue+    attrConstruct = undefined+    attrClear _ = undefined++rGBA_blue :: AttrLabelProxy "blue"+rGBA_blue = AttrLabelProxy++#endif+++{- |+Get the value of the “@alpha@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' rGBA #alpha+@+-}+getRGBAAlpha :: MonadIO m => RGBA -> m Double+getRGBAAlpha s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@alpha@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' rGBA [ #alpha 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRGBAAlpha :: MonadIO m => RGBA -> Double -> m ()+setRGBAAlpha s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 24) (val' :: CDouble)++#if ENABLE_OVERLOADING+data RGBAAlphaFieldInfo+instance AttrInfo RGBAAlphaFieldInfo where+    type AttrAllowedOps RGBAAlphaFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RGBAAlphaFieldInfo = (~) Double+    type AttrBaseTypeConstraint RGBAAlphaFieldInfo = (~) RGBA+    type AttrGetType RGBAAlphaFieldInfo = Double+    type AttrLabel RGBAAlphaFieldInfo = "alpha"+    type AttrOrigin RGBAAlphaFieldInfo = RGBA+    attrGet _ = getRGBAAlpha+    attrSet _ = setRGBAAlpha+    attrConstruct = undefined+    attrClear _ = undefined++rGBA_alpha :: AttrLabelProxy "alpha"+rGBA_alpha = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList RGBA+type instance O.AttributeList RGBA = RGBAAttributeList+type RGBAAttributeList = ('[ '("red", RGBARedFieldInfo), '("green", RGBAGreenFieldInfo), '("blue", RGBABlueFieldInfo), '("alpha", RGBAAlphaFieldInfo)] :: [(Symbol, *)])+#endif++-- method RGBA::copy+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "rgba", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRGBA", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "RGBA"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_rgba_copy" gdk_rgba_copy :: +    Ptr RGBA ->                             -- rgba : TInterface (Name {namespace = "Gdk", name = "RGBA"})+    IO (Ptr RGBA)++{- |+Makes a copy of a 'GI.Gdk.Structs.RGBA.RGBA'.++The result must be freed through 'GI.Gdk.Structs.RGBA.rGBAFree'.++/Since: 3.0/+-}+rGBACopy ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    RGBA+    {- ^ /@rgba@/: a 'GI.Gdk.Structs.RGBA.RGBA' -}+    -> m RGBA+    {- ^ __Returns:__ A newly allocated 'GI.Gdk.Structs.RGBA.RGBA', with the same contents as /@rgba@/ -}+rGBACopy rgba = liftIO $ do+    rgba' <- unsafeManagedPtrGetPtr rgba+    result <- gdk_rgba_copy rgba'+    checkUnexpectedReturnNULL "rGBACopy" result+    result' <- (wrapBoxed RGBA) result+    touchManagedPtr rgba+    return result'++#if ENABLE_OVERLOADING+data RGBACopyMethodInfo+instance (signature ~ (m RGBA), MonadIO m) => O.MethodInfo RGBACopyMethodInfo RGBA signature where+    overloadedMethod _ = rGBACopy++#endif++-- method RGBA::equal+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "p1", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRGBA pointer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "p2", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another #GdkRGBA pointer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_rgba_equal" gdk_rgba_equal :: +    Ptr RGBA ->                             -- p1 : TInterface (Name {namespace = "Gdk", name = "RGBA"})+    Ptr RGBA ->                             -- p2 : TInterface (Name {namespace = "Gdk", name = "RGBA"})+    IO CInt++{- |+Compares two RGBA colors.++/Since: 3.0/+-}+rGBAEqual ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    RGBA+    {- ^ /@p1@/: a 'GI.Gdk.Structs.RGBA.RGBA' pointer -}+    -> RGBA+    {- ^ /@p2@/: another 'GI.Gdk.Structs.RGBA.RGBA' pointer -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the two colors compare equal -}+rGBAEqual p1 p2 = liftIO $ do+    p1' <- unsafeManagedPtrGetPtr p1+    p2' <- unsafeManagedPtrGetPtr p2+    result <- gdk_rgba_equal p1' p2'+    let result' = (/= 0) result+    touchManagedPtr p1+    touchManagedPtr p2+    return result'++#if ENABLE_OVERLOADING+data RGBAEqualMethodInfo+instance (signature ~ (RGBA -> m Bool), MonadIO m) => O.MethodInfo RGBAEqualMethodInfo RGBA signature where+    overloadedMethod _ = rGBAEqual++#endif++-- method RGBA::free+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "rgba", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRGBA", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_rgba_free" gdk_rgba_free :: +    Ptr RGBA ->                             -- rgba : TInterface (Name {namespace = "Gdk", name = "RGBA"})+    IO ()++{- |+Frees a 'GI.Gdk.Structs.RGBA.RGBA' created with 'GI.Gdk.Structs.RGBA.rGBACopy'++/Since: 3.0/+-}+rGBAFree ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    RGBA+    {- ^ /@rgba@/: a 'GI.Gdk.Structs.RGBA.RGBA' -}+    -> m ()+rGBAFree rgba = liftIO $ do+    rgba' <- unsafeManagedPtrGetPtr rgba+    gdk_rgba_free rgba'+    touchManagedPtr rgba+    return ()++#if ENABLE_OVERLOADING+data RGBAFreeMethodInfo+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo RGBAFreeMethodInfo RGBA signature where+    overloadedMethod _ = rGBAFree++#endif++-- method RGBA::hash+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "p", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRGBA pointer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_rgba_hash" gdk_rgba_hash :: +    Ptr RGBA ->                             -- p : TInterface (Name {namespace = "Gdk", name = "RGBA"})+    IO Word32++{- |+A hash function suitable for using for a hash+table that stores @/GdkRGBAs/@.++/Since: 3.0/+-}+rGBAHash ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    RGBA+    {- ^ /@p@/: a 'GI.Gdk.Structs.RGBA.RGBA' pointer -}+    -> m Word32+    {- ^ __Returns:__ The hash value for /@p@/ -}+rGBAHash p = liftIO $ do+    p' <- unsafeManagedPtrGetPtr p+    result <- gdk_rgba_hash p'+    touchManagedPtr p+    return result++#if ENABLE_OVERLOADING+data RGBAHashMethodInfo+instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo RGBAHashMethodInfo RGBA signature where+    overloadedMethod _ = rGBAHash++#endif++-- method RGBA::parse+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "rgba", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkRGBA to fill in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "spec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string specifying the color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_rgba_parse" gdk_rgba_parse :: +    Ptr RGBA ->                             -- rgba : TInterface (Name {namespace = "Gdk", name = "RGBA"})+    CString ->                              -- spec : TBasicType TUTF8+    IO CInt++{- |+Parses a textual representation of a color, filling in+the /@red@/, /@green@/, /@blue@/ and /@alpha@/ fields of the /@rgba@/ 'GI.Gdk.Structs.RGBA.RGBA'.++The string can be either one of:++* A standard name (Taken from the X11 rgb.txt file).+* A hexadecimal value in the form “#rgb”, “#rrggbb”,+“#rrrgggbbb” or ”#rrrrggggbbbb”+* A RGB color in the form “rgb(r,g,b)” (In this case the color will+have full opacity)+* A RGBA color in the form “rgba(r,g,b,a)”+++Where “r”, “g”, “b” and “a” are respectively the red, green, blue and+alpha color values. In the last two cases, “r”, “g”, and “b” are either integers+in the range 0 to 255 or percentage values in the range 0% to 100%, and+a is a floating point value in the range 0 to 1.++/Since: 3.0/+-}+rGBAParse ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    RGBA+    {- ^ /@rgba@/: the 'GI.Gdk.Structs.RGBA.RGBA' to fill in -}+    -> T.Text+    {- ^ /@spec@/: the string specifying the color -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the parsing succeeded -}+rGBAParse rgba spec = liftIO $ do+    rgba' <- unsafeManagedPtrGetPtr rgba+    spec' <- textToCString spec+    result <- gdk_rgba_parse rgba' spec'+    let result' = (/= 0) result+    touchManagedPtr rgba+    freeMem spec'+    return result'++#if ENABLE_OVERLOADING+data RGBAParseMethodInfo+instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo RGBAParseMethodInfo RGBA signature where+    overloadedMethod _ = rGBAParse++#endif++-- method RGBA::to_string+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "rgba", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRGBA", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_rgba_to_string" gdk_rgba_to_string :: +    Ptr RGBA ->                             -- rgba : TInterface (Name {namespace = "Gdk", name = "RGBA"})+    IO CString++{- |+Returns a textual specification of /@rgba@/ in the form+@rgb(r,g,b)@ or+@rgba(r g,b,a)@,+where “r”, “g”, “b” and “a” represent the red, green,+blue and alpha values respectively. “r”, “g”, and “b” are+represented as integers in the range 0 to 255, and “a”+is represented as a floating point value in the range 0 to 1.++These string forms are string forms that are supported by+the CSS3 colors module, and can be parsed by 'GI.Gdk.Structs.RGBA.rGBAParse'.++Note that this string representation may lose some+precision, since “r”, “g” and “b” are represented as 8-bit+integers. If this is a concern, you should use a+different representation.++/Since: 3.0/+-}+rGBAToString ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    RGBA+    {- ^ /@rgba@/: a 'GI.Gdk.Structs.RGBA.RGBA' -}+    -> m T.Text+    {- ^ __Returns:__ A newly allocated text string -}+rGBAToString rgba = liftIO $ do+    rgba' <- unsafeManagedPtrGetPtr rgba+    result <- gdk_rgba_to_string rgba'+    checkUnexpectedReturnNULL "rGBAToString" result+    result' <- cstringToText result+    freeMem result+    touchManagedPtr rgba+    return result'++#if ENABLE_OVERLOADING+data RGBAToStringMethodInfo+instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo RGBAToStringMethodInfo RGBA signature where+    overloadedMethod _ = rGBAToString++#endif++#if ENABLE_OVERLOADING+type family ResolveRGBAMethod (t :: Symbol) (o :: *) :: * where+    ResolveRGBAMethod "copy" o = RGBACopyMethodInfo+    ResolveRGBAMethod "equal" o = RGBAEqualMethodInfo+    ResolveRGBAMethod "free" o = RGBAFreeMethodInfo+    ResolveRGBAMethod "hash" o = RGBAHashMethodInfo+    ResolveRGBAMethod "parse" o = RGBAParseMethodInfo+    ResolveRGBAMethod "toString" o = RGBAToStringMethodInfo+    ResolveRGBAMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveRGBAMethod t RGBA, O.MethodInfo info RGBA p) => OL.IsLabel t (RGBA -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/RGBA.hs-boot view
@@ -0,0 +1,44 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.RGBA where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype RGBA = RGBA (ManagedPtr RGBA)+instance BoxedObject RGBA where+#if ENABLE_OVERLOADING+data RGBACopyMethodInfo+#endif+#if ENABLE_OVERLOADING+data RGBAEqualMethodInfo+#endif+#if ENABLE_OVERLOADING+data RGBAFreeMethodInfo+#endif+#if ENABLE_OVERLOADING+data RGBAHashMethodInfo+#endif+#if ENABLE_OVERLOADING+data RGBAParseMethodInfo+#endif+#if ENABLE_OVERLOADING+data RGBAToStringMethodInfo+#endif
+ GI/Gdk/Structs/Rectangle.hs view
@@ -0,0 +1,480 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Defines the position and size of a rectangle. It is identical to+'GI.Cairo.Structs.RectangleInt.RectangleInt'.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.Rectangle+    ( ++-- * Exported types+    Rectangle(..)                           ,+    newZeroRectangle                        ,+    noRectangle                             ,+++ -- * Methods+-- ** equal #method:equal#++#if ENABLE_OVERLOADING+    RectangleEqualMethodInfo                ,+#endif+    rectangleEqual                          ,+++-- ** intersect #method:intersect#++#if ENABLE_OVERLOADING+    RectangleIntersectMethodInfo            ,+#endif+    rectangleIntersect                      ,+++-- ** union #method:union#++#if ENABLE_OVERLOADING+    RectangleUnionMethodInfo                ,+#endif+    rectangleUnion                          ,+++++ -- * Properties+-- ** height #attr:height#+{- | /No description available in the introspection data./+-}+    getRectangleHeight                      ,+#if ENABLE_OVERLOADING+    rectangle_height                        ,+#endif+    setRectangleHeight                      ,+++-- ** width #attr:width#+{- | /No description available in the introspection data./+-}+    getRectangleWidth                       ,+#if ENABLE_OVERLOADING+    rectangle_width                         ,+#endif+    setRectangleWidth                       ,+++-- ** x #attr:x#+{- | /No description available in the introspection data./+-}+    getRectangleX                           ,+#if ENABLE_OVERLOADING+    rectangle_x                             ,+#endif+    setRectangleX                           ,+++-- ** y #attr:y#+{- | /No description available in the introspection data./+-}+    getRectangleY                           ,+#if ENABLE_OVERLOADING+    rectangle_y                             ,+#endif+    setRectangleY                           ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++-- | Memory-managed wrapper type.+newtype Rectangle = Rectangle (ManagedPtr Rectangle)+foreign import ccall "gdk_rectangle_get_type" c_gdk_rectangle_get_type :: +    IO GType++instance BoxedObject Rectangle where+    boxedType _ = c_gdk_rectangle_get_type++-- | Construct a `Rectangle` struct initialized to zero.+newZeroRectangle :: MonadIO m => m Rectangle+newZeroRectangle = liftIO $ callocBoxedBytes 16 >>= wrapBoxed Rectangle++instance tag ~ 'AttrSet => Constructible Rectangle tag where+    new _ attrs = do+        o <- newZeroRectangle+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `Rectangle`.+noRectangle :: Maybe Rectangle+noRectangle = Nothing++{- |+Get the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' rectangle #x+@+-}+getRectangleX :: MonadIO m => Rectangle -> m Int32+getRectangleX s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int32+    return val++{- |+Set the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' rectangle [ #x 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRectangleX :: MonadIO m => Rectangle -> Int32 -> m ()+setRectangleX s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Int32)++#if ENABLE_OVERLOADING+data RectangleXFieldInfo+instance AttrInfo RectangleXFieldInfo where+    type AttrAllowedOps RectangleXFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RectangleXFieldInfo = (~) Int32+    type AttrBaseTypeConstraint RectangleXFieldInfo = (~) Rectangle+    type AttrGetType RectangleXFieldInfo = Int32+    type AttrLabel RectangleXFieldInfo = "x"+    type AttrOrigin RectangleXFieldInfo = Rectangle+    attrGet _ = getRectangleX+    attrSet _ = setRectangleX+    attrConstruct = undefined+    attrClear _ = undefined++rectangle_x :: AttrLabelProxy "x"+rectangle_x = AttrLabelProxy++#endif+++{- |+Get the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' rectangle #y+@+-}+getRectangleY :: MonadIO m => Rectangle -> m Int32+getRectangleY s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 4) :: IO Int32+    return val++{- |+Set the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' rectangle [ #y 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRectangleY :: MonadIO m => Rectangle -> Int32 -> m ()+setRectangleY s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 4) (val :: Int32)++#if ENABLE_OVERLOADING+data RectangleYFieldInfo+instance AttrInfo RectangleYFieldInfo where+    type AttrAllowedOps RectangleYFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RectangleYFieldInfo = (~) Int32+    type AttrBaseTypeConstraint RectangleYFieldInfo = (~) Rectangle+    type AttrGetType RectangleYFieldInfo = Int32+    type AttrLabel RectangleYFieldInfo = "y"+    type AttrOrigin RectangleYFieldInfo = Rectangle+    attrGet _ = getRectangleY+    attrSet _ = setRectangleY+    attrConstruct = undefined+    attrClear _ = undefined++rectangle_y :: AttrLabelProxy "y"+rectangle_y = AttrLabelProxy++#endif+++{- |+Get the value of the “@width@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' rectangle #width+@+-}+getRectangleWidth :: MonadIO m => Rectangle -> m Int32+getRectangleWidth s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO Int32+    return val++{- |+Set the value of the “@width@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' rectangle [ #width 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRectangleWidth :: MonadIO m => Rectangle -> Int32 -> m ()+setRectangleWidth s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Int32)++#if ENABLE_OVERLOADING+data RectangleWidthFieldInfo+instance AttrInfo RectangleWidthFieldInfo where+    type AttrAllowedOps RectangleWidthFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RectangleWidthFieldInfo = (~) Int32+    type AttrBaseTypeConstraint RectangleWidthFieldInfo = (~) Rectangle+    type AttrGetType RectangleWidthFieldInfo = Int32+    type AttrLabel RectangleWidthFieldInfo = "width"+    type AttrOrigin RectangleWidthFieldInfo = Rectangle+    attrGet _ = getRectangleWidth+    attrSet _ = setRectangleWidth+    attrConstruct = undefined+    attrClear _ = undefined++rectangle_width :: AttrLabelProxy "width"+rectangle_width = AttrLabelProxy++#endif+++{- |+Get the value of the “@height@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' rectangle #height+@+-}+getRectangleHeight :: MonadIO m => Rectangle -> m Int32+getRectangleHeight s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 12) :: IO Int32+    return val++{- |+Set the value of the “@height@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' rectangle [ #height 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRectangleHeight :: MonadIO m => Rectangle -> Int32 -> m ()+setRectangleHeight s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 12) (val :: Int32)++#if ENABLE_OVERLOADING+data RectangleHeightFieldInfo+instance AttrInfo RectangleHeightFieldInfo where+    type AttrAllowedOps RectangleHeightFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RectangleHeightFieldInfo = (~) Int32+    type AttrBaseTypeConstraint RectangleHeightFieldInfo = (~) Rectangle+    type AttrGetType RectangleHeightFieldInfo = Int32+    type AttrLabel RectangleHeightFieldInfo = "height"+    type AttrOrigin RectangleHeightFieldInfo = Rectangle+    attrGet _ = getRectangleHeight+    attrSet _ = setRectangleHeight+    attrConstruct = undefined+    attrClear _ = undefined++rectangle_height :: AttrLabelProxy "height"+rectangle_height = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList Rectangle+type instance O.AttributeList Rectangle = RectangleAttributeList+type RectangleAttributeList = ('[ '("x", RectangleXFieldInfo), '("y", RectangleYFieldInfo), '("width", RectangleWidthFieldInfo), '("height", RectangleHeightFieldInfo)] :: [(Symbol, *)])+#endif++-- method Rectangle::equal+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "rect1", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rect2", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_rectangle_equal" gdk_rectangle_equal :: +    Ptr Rectangle ->                        -- rect1 : TInterface (Name {namespace = "Gdk", name = "Rectangle"})+    Ptr Rectangle ->                        -- rect2 : TInterface (Name {namespace = "Gdk", name = "Rectangle"})+    IO CInt++{- |+Checks if the two given rectangles are equal.++/Since: 3.20/+-}+rectangleEqual ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Rectangle+    {- ^ /@rect1@/: a 'GI.Gdk.Structs.Rectangle.Rectangle' -}+    -> Rectangle+    {- ^ /@rect2@/: a 'GI.Gdk.Structs.Rectangle.Rectangle' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the rectangles are equal. -}+rectangleEqual rect1 rect2 = liftIO $ do+    rect1' <- unsafeManagedPtrGetPtr rect1+    rect2' <- unsafeManagedPtrGetPtr rect2+    result <- gdk_rectangle_equal rect1' rect2'+    let result' = (/= 0) result+    touchManagedPtr rect1+    touchManagedPtr rect2+    return result'++#if ENABLE_OVERLOADING+data RectangleEqualMethodInfo+instance (signature ~ (Rectangle -> m Bool), MonadIO m) => O.MethodInfo RectangleEqualMethodInfo Rectangle signature where+    overloadedMethod _ = rectangleEqual++#endif++-- method Rectangle::intersect+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "src1", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src2", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the\nintersection of @src1 and @src2, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_rectangle_intersect" gdk_rectangle_intersect :: +    Ptr Rectangle ->                        -- src1 : TInterface (Name {namespace = "Gdk", name = "Rectangle"})+    Ptr Rectangle ->                        -- src2 : TInterface (Name {namespace = "Gdk", name = "Rectangle"})+    Ptr Rectangle ->                        -- dest : TInterface (Name {namespace = "Gdk", name = "Rectangle"})+    IO CInt++{- |+Calculates the intersection of two rectangles. It is allowed for+/@dest@/ to be the same as either /@src1@/ or /@src2@/. If the rectangles+do not intersect, /@dest@/’s width and height is set to 0 and its x+and y values are undefined. If you are only interested in whether+the rectangles intersect, but not in the intersecting area itself,+pass 'Nothing' for /@dest@/.+-}+rectangleIntersect ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Rectangle+    {- ^ /@src1@/: a 'GI.Gdk.Structs.Rectangle.Rectangle' -}+    -> Rectangle+    {- ^ /@src2@/: a 'GI.Gdk.Structs.Rectangle.Rectangle' -}+    -> m ((Bool, Rectangle))+    {- ^ __Returns:__ 'True' if the rectangles intersect. -}+rectangleIntersect src1 src2 = liftIO $ do+    src1' <- unsafeManagedPtrGetPtr src1+    src2' <- unsafeManagedPtrGetPtr src2+    dest <- callocBoxedBytes 16 :: IO (Ptr Rectangle)+    result <- gdk_rectangle_intersect src1' src2' dest+    let result' = (/= 0) result+    dest' <- (wrapBoxed Rectangle) dest+    touchManagedPtr src1+    touchManagedPtr src2+    return (result', dest')++#if ENABLE_OVERLOADING+data RectangleIntersectMethodInfo+instance (signature ~ (Rectangle -> m ((Bool, Rectangle))), MonadIO m) => O.MethodInfo RectangleIntersectMethodInfo Rectangle signature where+    overloadedMethod _ = rectangleIntersect++#endif++-- method Rectangle::union+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "src1", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src2", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the union of @src1 and @src2", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_rectangle_union" gdk_rectangle_union :: +    Ptr Rectangle ->                        -- src1 : TInterface (Name {namespace = "Gdk", name = "Rectangle"})+    Ptr Rectangle ->                        -- src2 : TInterface (Name {namespace = "Gdk", name = "Rectangle"})+    Ptr Rectangle ->                        -- dest : TInterface (Name {namespace = "Gdk", name = "Rectangle"})+    IO ()++{- |+Calculates the union of two rectangles.+The union of rectangles /@src1@/ and /@src2@/ is the smallest rectangle which+includes both /@src1@/ and /@src2@/ within it.+It is allowed for /@dest@/ to be the same as either /@src1@/ or /@src2@/.++Note that this function does not ignore \'empty\' rectangles (ie. with+zero width or height).+-}+rectangleUnion ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Rectangle+    {- ^ /@src1@/: a 'GI.Gdk.Structs.Rectangle.Rectangle' -}+    -> Rectangle+    {- ^ /@src2@/: a 'GI.Gdk.Structs.Rectangle.Rectangle' -}+    -> m (Rectangle)+rectangleUnion src1 src2 = liftIO $ do+    src1' <- unsafeManagedPtrGetPtr src1+    src2' <- unsafeManagedPtrGetPtr src2+    dest <- callocBoxedBytes 16 :: IO (Ptr Rectangle)+    gdk_rectangle_union src1' src2' dest+    dest' <- (wrapBoxed Rectangle) dest+    touchManagedPtr src1+    touchManagedPtr src2+    return dest'++#if ENABLE_OVERLOADING+data RectangleUnionMethodInfo+instance (signature ~ (Rectangle -> m (Rectangle)), MonadIO m) => O.MethodInfo RectangleUnionMethodInfo Rectangle signature where+    overloadedMethod _ = rectangleUnion++#endif++#if ENABLE_OVERLOADING+type family ResolveRectangleMethod (t :: Symbol) (o :: *) :: * where+    ResolveRectangleMethod "equal" o = RectangleEqualMethodInfo+    ResolveRectangleMethod "intersect" o = RectangleIntersectMethodInfo+    ResolveRectangleMethod "union" o = RectangleUnionMethodInfo+    ResolveRectangleMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveRectangleMethod t Rectangle, O.MethodInfo info Rectangle p) => OL.IsLabel t (Rectangle -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/Rectangle.hs-boot view
@@ -0,0 +1,35 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.Rectangle where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype Rectangle = Rectangle (ManagedPtr Rectangle)+instance BoxedObject Rectangle where+#if ENABLE_OVERLOADING+data RectangleEqualMethodInfo+#endif+#if ENABLE_OVERLOADING+data RectangleIntersectMethodInfo+#endif+#if ENABLE_OVERLOADING+data RectangleUnionMethodInfo+#endif
+ GI/Gdk/Structs/TimeCoord.hs view
@@ -0,0 +1,147 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++A 'GI.Gdk.Structs.TimeCoord.TimeCoord' stores a single event in a motion history.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.TimeCoord+    ( ++-- * Exported types+    TimeCoord(..)                           ,+    newZeroTimeCoord                        ,+    noTimeCoord                             ,+++ -- * Properties+-- ** time #attr:time#+{- | The timestamp for this event.+-}+    getTimeCoordTime                        ,+    setTimeCoordTime                        ,+#if ENABLE_OVERLOADING+    timeCoord_time                          ,+#endif+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++-- | Memory-managed wrapper type.+newtype TimeCoord = TimeCoord (ManagedPtr TimeCoord)+instance WrappedPtr TimeCoord where+    wrappedPtrCalloc = callocBytes 1032+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 1032 >=> wrapPtr TimeCoord)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `TimeCoord` struct initialized to zero.+newZeroTimeCoord :: MonadIO m => m TimeCoord+newZeroTimeCoord = liftIO $ wrappedPtrCalloc >>= wrapPtr TimeCoord++instance tag ~ 'AttrSet => Constructible TimeCoord tag where+    new _ attrs = do+        o <- newZeroTimeCoord+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `TimeCoord`.+noTimeCoord :: Maybe TimeCoord+noTimeCoord = Nothing++{- |+Get the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' timeCoord #time+@+-}+getTimeCoordTime :: MonadIO m => TimeCoord -> m Word32+getTimeCoordTime s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word32+    return val++{- |+Set the value of the “@time@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' timeCoord [ #time 'Data.GI.Base.Attributes.:=' value ]+@+-}+setTimeCoordTime :: MonadIO m => TimeCoord -> Word32 -> m ()+setTimeCoordTime s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Word32)++#if ENABLE_OVERLOADING+data TimeCoordTimeFieldInfo+instance AttrInfo TimeCoordTimeFieldInfo where+    type AttrAllowedOps TimeCoordTimeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint TimeCoordTimeFieldInfo = (~) Word32+    type AttrBaseTypeConstraint TimeCoordTimeFieldInfo = (~) TimeCoord+    type AttrGetType TimeCoordTimeFieldInfo = Word32+    type AttrLabel TimeCoordTimeFieldInfo = "time"+    type AttrOrigin TimeCoordTimeFieldInfo = TimeCoord+    attrGet _ = getTimeCoordTime+    attrSet _ = setTimeCoordTime+    attrConstruct = undefined+    attrClear _ = undefined++timeCoord_time :: AttrLabelProxy "time"+timeCoord_time = AttrLabelProxy++#endif+++-- XXX Skipped attribute for "TimeCoord:axes" :: Not implemented: "Don't know how to unpack C array of type TCArray False 128 (-1) (TBasicType TDouble)"++#if ENABLE_OVERLOADING+instance O.HasAttributeList TimeCoord+type instance O.AttributeList TimeCoord = TimeCoordAttributeList+type TimeCoordAttributeList = ('[ '("time", TimeCoordTimeFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveTimeCoordMethod (t :: Symbol) (o :: *) :: * where+    ResolveTimeCoordMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveTimeCoordMethod t TimeCoord, O.MethodInfo info TimeCoord p) => OL.IsLabel t (TimeCoord -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/TimeCoord.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.TimeCoord where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype TimeCoord = TimeCoord (ManagedPtr TimeCoord)+instance WrappedPtr TimeCoord where
+ GI/Gdk/Structs/WindowAttr.hs view
@@ -0,0 +1,953 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Attributes to use for a newly-created window.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.WindowAttr+    ( ++-- * Exported types+    WindowAttr(..)                          ,+    newZeroWindowAttr                       ,+    noWindowAttr                            ,+++ -- * Properties+-- ** cursor #attr:cursor#+{- | cursor for the window (see 'GI.Gdk.Objects.Window.windowSetCursor')+-}+    clearWindowAttrCursor                   ,+    getWindowAttrCursor                     ,+    setWindowAttrCursor                     ,+#if ENABLE_OVERLOADING+    windowAttr_cursor                       ,+#endif+++-- ** eventMask #attr:eventMask#+{- | event mask (see 'GI.Gdk.Objects.Window.windowSetEvents')+-}+    getWindowAttrEventMask                  ,+    setWindowAttrEventMask                  ,+#if ENABLE_OVERLOADING+    windowAttr_eventMask                    ,+#endif+++-- ** height #attr:height#+{- | height of window+-}+    getWindowAttrHeight                     ,+    setWindowAttrHeight                     ,+#if ENABLE_OVERLOADING+    windowAttr_height                       ,+#endif+++-- ** overrideRedirect #attr:overrideRedirect#+{- | 'True' to bypass the window manager+-}+    getWindowAttrOverrideRedirect           ,+    setWindowAttrOverrideRedirect           ,+#if ENABLE_OVERLOADING+    windowAttr_overrideRedirect             ,+#endif+++-- ** title #attr:title#+{- | title of the window (for toplevel windows)+-}+    clearWindowAttrTitle                    ,+    getWindowAttrTitle                      ,+    setWindowAttrTitle                      ,+#if ENABLE_OVERLOADING+    windowAttr_title                        ,+#endif+++-- ** typeHint #attr:typeHint#+{- | a hint of the function of the window+-}+    getWindowAttrTypeHint                   ,+    setWindowAttrTypeHint                   ,+#if ENABLE_OVERLOADING+    windowAttr_typeHint                     ,+#endif+++-- ** visual #attr:visual#+{- | 'GI.Gdk.Objects.Visual.Visual' for window+-}+    clearWindowAttrVisual                   ,+    getWindowAttrVisual                     ,+    setWindowAttrVisual                     ,+#if ENABLE_OVERLOADING+    windowAttr_visual                       ,+#endif+++-- ** wclass #attr:wclass#+{- | @/GDK_INPUT_OUTPUT/@ (normal window) or @/GDK_INPUT_ONLY/@ (invisible+ window that receives events)+-}+    getWindowAttrWclass                     ,+    setWindowAttrWclass                     ,+#if ENABLE_OVERLOADING+    windowAttr_wclass                       ,+#endif+++-- ** width #attr:width#+{- | width of window+-}+    getWindowAttrWidth                      ,+    setWindowAttrWidth                      ,+#if ENABLE_OVERLOADING+    windowAttr_width                        ,+#endif+++-- ** windowType #attr:windowType#+{- | type of window+-}+    getWindowAttrWindowType                 ,+    setWindowAttrWindowType                 ,+#if ENABLE_OVERLOADING+    windowAttr_windowType                   ,+#endif+++-- ** wmclassClass #attr:wmclassClass#+{- | don’t use (see @/gtk_window_set_wmclass()/@)+-}+    clearWindowAttrWmclassClass             ,+    getWindowAttrWmclassClass               ,+    setWindowAttrWmclassClass               ,+#if ENABLE_OVERLOADING+    windowAttr_wmclassClass                 ,+#endif+++-- ** wmclassName #attr:wmclassName#+{- | don’t use (see @/gtk_window_set_wmclass()/@)+-}+    clearWindowAttrWmclassName              ,+    getWindowAttrWmclassName                ,+    setWindowAttrWmclassName                ,+#if ENABLE_OVERLOADING+    windowAttr_wmclassName                  ,+#endif+++-- ** x #attr:x#+{- | X coordinate relative to parent window (see 'GI.Gdk.Objects.Window.windowMove')+-}+    getWindowAttrX                          ,+    setWindowAttrX                          ,+#if ENABLE_OVERLOADING+    windowAttr_x                            ,+#endif+++-- ** y #attr:y#+{- | Y coordinate relative to parent window (see 'GI.Gdk.Objects.Window.windowMove')+-}+    getWindowAttrY                          ,+    setWindowAttrY                          ,+#if ENABLE_OVERLOADING+    windowAttr_y                            ,+#endif+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Objects.Cursor as Gdk.Cursor+import {-# SOURCE #-} qualified GI.Gdk.Objects.Visual as Gdk.Visual++-- | Memory-managed wrapper type.+newtype WindowAttr = WindowAttr (ManagedPtr WindowAttr)+instance WrappedPtr WindowAttr where+    wrappedPtrCalloc = callocBytes 80+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 80 >=> wrapPtr WindowAttr)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `WindowAttr` struct initialized to zero.+newZeroWindowAttr :: MonadIO m => m WindowAttr+newZeroWindowAttr = liftIO $ wrappedPtrCalloc >>= wrapPtr WindowAttr++instance tag ~ 'AttrSet => Constructible WindowAttr tag where+    new _ attrs = do+        o <- newZeroWindowAttr+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `WindowAttr`.+noWindowAttr :: Maybe WindowAttr+noWindowAttr = Nothing++{- |+Get the value of the “@title@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' windowAttr #title+@+-}+getWindowAttrTitle :: MonadIO m => WindowAttr -> m (Maybe T.Text)+getWindowAttrTitle s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CString+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- cstringToText val'+        return val''+    return result++{- |+Set the value of the “@title@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' windowAttr [ #title 'Data.GI.Base.Attributes.:=' value ]+@+-}+setWindowAttrTitle :: MonadIO m => WindowAttr -> CString -> m ()+setWindowAttrTitle s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: CString)++{- |+Set the value of the “@title@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #title+@+-}+clearWindowAttrTitle :: MonadIO m => WindowAttr -> m ()+clearWindowAttrTitle s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (FP.nullPtr :: CString)++#if ENABLE_OVERLOADING+data WindowAttrTitleFieldInfo+instance AttrInfo WindowAttrTitleFieldInfo where+    type AttrAllowedOps WindowAttrTitleFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint WindowAttrTitleFieldInfo = (~) CString+    type AttrBaseTypeConstraint WindowAttrTitleFieldInfo = (~) WindowAttr+    type AttrGetType WindowAttrTitleFieldInfo = Maybe T.Text+    type AttrLabel WindowAttrTitleFieldInfo = "title"+    type AttrOrigin WindowAttrTitleFieldInfo = WindowAttr+    attrGet _ = getWindowAttrTitle+    attrSet _ = setWindowAttrTitle+    attrConstruct = undefined+    attrClear _ = clearWindowAttrTitle++windowAttr_title :: AttrLabelProxy "title"+windowAttr_title = AttrLabelProxy++#endif+++{- |+Get the value of the “@event_mask@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' windowAttr #eventMask+@+-}+getWindowAttrEventMask :: MonadIO m => WindowAttr -> m Int32+getWindowAttrEventMask s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO Int32+    return val++{- |+Set the value of the “@event_mask@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' windowAttr [ #eventMask 'Data.GI.Base.Attributes.:=' value ]+@+-}+setWindowAttrEventMask :: MonadIO m => WindowAttr -> Int32 -> m ()+setWindowAttrEventMask s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Int32)++#if ENABLE_OVERLOADING+data WindowAttrEventMaskFieldInfo+instance AttrInfo WindowAttrEventMaskFieldInfo where+    type AttrAllowedOps WindowAttrEventMaskFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint WindowAttrEventMaskFieldInfo = (~) Int32+    type AttrBaseTypeConstraint WindowAttrEventMaskFieldInfo = (~) WindowAttr+    type AttrGetType WindowAttrEventMaskFieldInfo = Int32+    type AttrLabel WindowAttrEventMaskFieldInfo = "event_mask"+    type AttrOrigin WindowAttrEventMaskFieldInfo = WindowAttr+    attrGet _ = getWindowAttrEventMask+    attrSet _ = setWindowAttrEventMask+    attrConstruct = undefined+    attrClear _ = undefined++windowAttr_eventMask :: AttrLabelProxy "eventMask"+windowAttr_eventMask = AttrLabelProxy++#endif+++{- |+Get the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' windowAttr #x+@+-}+getWindowAttrX :: MonadIO m => WindowAttr -> m Int32+getWindowAttrX s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 12) :: IO Int32+    return val++{- |+Set the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' windowAttr [ #x 'Data.GI.Base.Attributes.:=' value ]+@+-}+setWindowAttrX :: MonadIO m => WindowAttr -> Int32 -> m ()+setWindowAttrX s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 12) (val :: Int32)++#if ENABLE_OVERLOADING+data WindowAttrXFieldInfo+instance AttrInfo WindowAttrXFieldInfo where+    type AttrAllowedOps WindowAttrXFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint WindowAttrXFieldInfo = (~) Int32+    type AttrBaseTypeConstraint WindowAttrXFieldInfo = (~) WindowAttr+    type AttrGetType WindowAttrXFieldInfo = Int32+    type AttrLabel WindowAttrXFieldInfo = "x"+    type AttrOrigin WindowAttrXFieldInfo = WindowAttr+    attrGet _ = getWindowAttrX+    attrSet _ = setWindowAttrX+    attrConstruct = undefined+    attrClear _ = undefined++windowAttr_x :: AttrLabelProxy "x"+windowAttr_x = AttrLabelProxy++#endif+++{- |+Get the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' windowAttr #y+@+-}+getWindowAttrY :: MonadIO m => WindowAttr -> m Int32+getWindowAttrY s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int32+    return val++{- |+Set the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' windowAttr [ #y 'Data.GI.Base.Attributes.:=' value ]+@+-}+setWindowAttrY :: MonadIO m => WindowAttr -> Int32 -> m ()+setWindowAttrY s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int32)++#if ENABLE_OVERLOADING+data WindowAttrYFieldInfo+instance AttrInfo WindowAttrYFieldInfo where+    type AttrAllowedOps WindowAttrYFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint WindowAttrYFieldInfo = (~) Int32+    type AttrBaseTypeConstraint WindowAttrYFieldInfo = (~) WindowAttr+    type AttrGetType WindowAttrYFieldInfo = Int32+    type AttrLabel WindowAttrYFieldInfo = "y"+    type AttrOrigin WindowAttrYFieldInfo = WindowAttr+    attrGet _ = getWindowAttrY+    attrSet _ = setWindowAttrY+    attrConstruct = undefined+    attrClear _ = undefined++windowAttr_y :: AttrLabelProxy "y"+windowAttr_y = AttrLabelProxy++#endif+++{- |+Get the value of the “@width@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' windowAttr #width+@+-}+getWindowAttrWidth :: MonadIO m => WindowAttr -> m Int32+getWindowAttrWidth s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Int32+    return val++{- |+Set the value of the “@width@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' windowAttr [ #width 'Data.GI.Base.Attributes.:=' value ]+@+-}+setWindowAttrWidth :: MonadIO m => WindowAttr -> Int32 -> m ()+setWindowAttrWidth s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 20) (val :: Int32)++#if ENABLE_OVERLOADING+data WindowAttrWidthFieldInfo+instance AttrInfo WindowAttrWidthFieldInfo where+    type AttrAllowedOps WindowAttrWidthFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint WindowAttrWidthFieldInfo = (~) Int32+    type AttrBaseTypeConstraint WindowAttrWidthFieldInfo = (~) WindowAttr+    type AttrGetType WindowAttrWidthFieldInfo = Int32+    type AttrLabel WindowAttrWidthFieldInfo = "width"+    type AttrOrigin WindowAttrWidthFieldInfo = WindowAttr+    attrGet _ = getWindowAttrWidth+    attrSet _ = setWindowAttrWidth+    attrConstruct = undefined+    attrClear _ = undefined++windowAttr_width :: AttrLabelProxy "width"+windowAttr_width = AttrLabelProxy++#endif+++{- |+Get the value of the “@height@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' windowAttr #height+@+-}+getWindowAttrHeight :: MonadIO m => WindowAttr -> m Int32+getWindowAttrHeight s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO Int32+    return val++{- |+Set the value of the “@height@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' windowAttr [ #height 'Data.GI.Base.Attributes.:=' value ]+@+-}+setWindowAttrHeight :: MonadIO m => WindowAttr -> Int32 -> m ()+setWindowAttrHeight s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 24) (val :: Int32)++#if ENABLE_OVERLOADING+data WindowAttrHeightFieldInfo+instance AttrInfo WindowAttrHeightFieldInfo where+    type AttrAllowedOps WindowAttrHeightFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint WindowAttrHeightFieldInfo = (~) Int32+    type AttrBaseTypeConstraint WindowAttrHeightFieldInfo = (~) WindowAttr+    type AttrGetType WindowAttrHeightFieldInfo = Int32+    type AttrLabel WindowAttrHeightFieldInfo = "height"+    type AttrOrigin WindowAttrHeightFieldInfo = WindowAttr+    attrGet _ = getWindowAttrHeight+    attrSet _ = setWindowAttrHeight+    attrConstruct = undefined+    attrClear _ = undefined++windowAttr_height :: AttrLabelProxy "height"+windowAttr_height = AttrLabelProxy++#endif+++{- |+Get the value of the “@wclass@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' windowAttr #wclass+@+-}+getWindowAttrWclass :: MonadIO m => WindowAttr -> m Gdk.Enums.WindowWindowClass+getWindowAttrWclass s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 28) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@wclass@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' windowAttr [ #wclass 'Data.GI.Base.Attributes.:=' value ]+@+-}+setWindowAttrWclass :: MonadIO m => WindowAttr -> Gdk.Enums.WindowWindowClass -> m ()+setWindowAttrWclass s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 28) (val' :: CUInt)++#if ENABLE_OVERLOADING+data WindowAttrWclassFieldInfo+instance AttrInfo WindowAttrWclassFieldInfo where+    type AttrAllowedOps WindowAttrWclassFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint WindowAttrWclassFieldInfo = (~) Gdk.Enums.WindowWindowClass+    type AttrBaseTypeConstraint WindowAttrWclassFieldInfo = (~) WindowAttr+    type AttrGetType WindowAttrWclassFieldInfo = Gdk.Enums.WindowWindowClass+    type AttrLabel WindowAttrWclassFieldInfo = "wclass"+    type AttrOrigin WindowAttrWclassFieldInfo = WindowAttr+    attrGet _ = getWindowAttrWclass+    attrSet _ = setWindowAttrWclass+    attrConstruct = undefined+    attrClear _ = undefined++windowAttr_wclass :: AttrLabelProxy "wclass"+windowAttr_wclass = AttrLabelProxy++#endif+++{- |+Get the value of the “@visual@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' windowAttr #visual+@+-}+getWindowAttrVisual :: MonadIO m => WindowAttr -> m (Maybe Gdk.Visual.Visual)+getWindowAttrVisual s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO (Ptr Gdk.Visual.Visual)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Visual.Visual) val'+        return val''+    return result++{- |+Set the value of the “@visual@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' windowAttr [ #visual 'Data.GI.Base.Attributes.:=' value ]+@+-}+setWindowAttrVisual :: MonadIO m => WindowAttr -> Ptr Gdk.Visual.Visual -> m ()+setWindowAttrVisual s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 32) (val :: Ptr Gdk.Visual.Visual)++{- |+Set the value of the “@visual@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #visual+@+-}+clearWindowAttrVisual :: MonadIO m => WindowAttr -> m ()+clearWindowAttrVisual s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 32) (FP.nullPtr :: Ptr Gdk.Visual.Visual)++#if ENABLE_OVERLOADING+data WindowAttrVisualFieldInfo+instance AttrInfo WindowAttrVisualFieldInfo where+    type AttrAllowedOps WindowAttrVisualFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint WindowAttrVisualFieldInfo = (~) (Ptr Gdk.Visual.Visual)+    type AttrBaseTypeConstraint WindowAttrVisualFieldInfo = (~) WindowAttr+    type AttrGetType WindowAttrVisualFieldInfo = Maybe Gdk.Visual.Visual+    type AttrLabel WindowAttrVisualFieldInfo = "visual"+    type AttrOrigin WindowAttrVisualFieldInfo = WindowAttr+    attrGet _ = getWindowAttrVisual+    attrSet _ = setWindowAttrVisual+    attrConstruct = undefined+    attrClear _ = clearWindowAttrVisual++windowAttr_visual :: AttrLabelProxy "visual"+windowAttr_visual = AttrLabelProxy++#endif+++{- |+Get the value of the “@window_type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' windowAttr #windowType+@+-}+getWindowAttrWindowType :: MonadIO m => WindowAttr -> m Gdk.Enums.WindowType+getWindowAttrWindowType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@window_type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' windowAttr [ #windowType 'Data.GI.Base.Attributes.:=' value ]+@+-}+setWindowAttrWindowType :: MonadIO m => WindowAttr -> Gdk.Enums.WindowType -> m ()+setWindowAttrWindowType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 40) (val' :: CUInt)++#if ENABLE_OVERLOADING+data WindowAttrWindowTypeFieldInfo+instance AttrInfo WindowAttrWindowTypeFieldInfo where+    type AttrAllowedOps WindowAttrWindowTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint WindowAttrWindowTypeFieldInfo = (~) Gdk.Enums.WindowType+    type AttrBaseTypeConstraint WindowAttrWindowTypeFieldInfo = (~) WindowAttr+    type AttrGetType WindowAttrWindowTypeFieldInfo = Gdk.Enums.WindowType+    type AttrLabel WindowAttrWindowTypeFieldInfo = "window_type"+    type AttrOrigin WindowAttrWindowTypeFieldInfo = WindowAttr+    attrGet _ = getWindowAttrWindowType+    attrSet _ = setWindowAttrWindowType+    attrConstruct = undefined+    attrClear _ = undefined++windowAttr_windowType :: AttrLabelProxy "windowType"+windowAttr_windowType = AttrLabelProxy++#endif+++{- |+Get the value of the “@cursor@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' windowAttr #cursor+@+-}+getWindowAttrCursor :: MonadIO m => WindowAttr -> m (Maybe Gdk.Cursor.Cursor)+getWindowAttrCursor s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO (Ptr Gdk.Cursor.Cursor)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gdk.Cursor.Cursor) val'+        return val''+    return result++{- |+Set the value of the “@cursor@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' windowAttr [ #cursor 'Data.GI.Base.Attributes.:=' value ]+@+-}+setWindowAttrCursor :: MonadIO m => WindowAttr -> Ptr Gdk.Cursor.Cursor -> m ()+setWindowAttrCursor s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 48) (val :: Ptr Gdk.Cursor.Cursor)++{- |+Set the value of the “@cursor@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #cursor+@+-}+clearWindowAttrCursor :: MonadIO m => WindowAttr -> m ()+clearWindowAttrCursor s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 48) (FP.nullPtr :: Ptr Gdk.Cursor.Cursor)++#if ENABLE_OVERLOADING+data WindowAttrCursorFieldInfo+instance AttrInfo WindowAttrCursorFieldInfo where+    type AttrAllowedOps WindowAttrCursorFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint WindowAttrCursorFieldInfo = (~) (Ptr Gdk.Cursor.Cursor)+    type AttrBaseTypeConstraint WindowAttrCursorFieldInfo = (~) WindowAttr+    type AttrGetType WindowAttrCursorFieldInfo = Maybe Gdk.Cursor.Cursor+    type AttrLabel WindowAttrCursorFieldInfo = "cursor"+    type AttrOrigin WindowAttrCursorFieldInfo = WindowAttr+    attrGet _ = getWindowAttrCursor+    attrSet _ = setWindowAttrCursor+    attrConstruct = undefined+    attrClear _ = clearWindowAttrCursor++windowAttr_cursor :: AttrLabelProxy "cursor"+windowAttr_cursor = AttrLabelProxy++#endif+++{- |+Get the value of the “@wmclass_name@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' windowAttr #wmclassName+@+-}+getWindowAttrWmclassName :: MonadIO m => WindowAttr -> m (Maybe T.Text)+getWindowAttrWmclassName s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 56) :: IO CString+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- cstringToText val'+        return val''+    return result++{- |+Set the value of the “@wmclass_name@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' windowAttr [ #wmclassName 'Data.GI.Base.Attributes.:=' value ]+@+-}+setWindowAttrWmclassName :: MonadIO m => WindowAttr -> CString -> m ()+setWindowAttrWmclassName s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 56) (val :: CString)++{- |+Set the value of the “@wmclass_name@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #wmclassName+@+-}+clearWindowAttrWmclassName :: MonadIO m => WindowAttr -> m ()+clearWindowAttrWmclassName s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 56) (FP.nullPtr :: CString)++#if ENABLE_OVERLOADING+data WindowAttrWmclassNameFieldInfo+instance AttrInfo WindowAttrWmclassNameFieldInfo where+    type AttrAllowedOps WindowAttrWmclassNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint WindowAttrWmclassNameFieldInfo = (~) CString+    type AttrBaseTypeConstraint WindowAttrWmclassNameFieldInfo = (~) WindowAttr+    type AttrGetType WindowAttrWmclassNameFieldInfo = Maybe T.Text+    type AttrLabel WindowAttrWmclassNameFieldInfo = "wmclass_name"+    type AttrOrigin WindowAttrWmclassNameFieldInfo = WindowAttr+    attrGet _ = getWindowAttrWmclassName+    attrSet _ = setWindowAttrWmclassName+    attrConstruct = undefined+    attrClear _ = clearWindowAttrWmclassName++windowAttr_wmclassName :: AttrLabelProxy "wmclassName"+windowAttr_wmclassName = AttrLabelProxy++#endif+++{- |+Get the value of the “@wmclass_class@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' windowAttr #wmclassClass+@+-}+getWindowAttrWmclassClass :: MonadIO m => WindowAttr -> m (Maybe T.Text)+getWindowAttrWmclassClass s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 64) :: IO CString+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- cstringToText val'+        return val''+    return result++{- |+Set the value of the “@wmclass_class@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' windowAttr [ #wmclassClass 'Data.GI.Base.Attributes.:=' value ]+@+-}+setWindowAttrWmclassClass :: MonadIO m => WindowAttr -> CString -> m ()+setWindowAttrWmclassClass s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 64) (val :: CString)++{- |+Set the value of the “@wmclass_class@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #wmclassClass+@+-}+clearWindowAttrWmclassClass :: MonadIO m => WindowAttr -> m ()+clearWindowAttrWmclassClass s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 64) (FP.nullPtr :: CString)++#if ENABLE_OVERLOADING+data WindowAttrWmclassClassFieldInfo+instance AttrInfo WindowAttrWmclassClassFieldInfo where+    type AttrAllowedOps WindowAttrWmclassClassFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint WindowAttrWmclassClassFieldInfo = (~) CString+    type AttrBaseTypeConstraint WindowAttrWmclassClassFieldInfo = (~) WindowAttr+    type AttrGetType WindowAttrWmclassClassFieldInfo = Maybe T.Text+    type AttrLabel WindowAttrWmclassClassFieldInfo = "wmclass_class"+    type AttrOrigin WindowAttrWmclassClassFieldInfo = WindowAttr+    attrGet _ = getWindowAttrWmclassClass+    attrSet _ = setWindowAttrWmclassClass+    attrConstruct = undefined+    attrClear _ = clearWindowAttrWmclassClass++windowAttr_wmclassClass :: AttrLabelProxy "wmclassClass"+windowAttr_wmclassClass = AttrLabelProxy++#endif+++{- |+Get the value of the “@override_redirect@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' windowAttr #overrideRedirect+@+-}+getWindowAttrOverrideRedirect :: MonadIO m => WindowAttr -> m Bool+getWindowAttrOverrideRedirect s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 72) :: IO CInt+    let val' = (/= 0) val+    return val'++{- |+Set the value of the “@override_redirect@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' windowAttr [ #overrideRedirect 'Data.GI.Base.Attributes.:=' value ]+@+-}+setWindowAttrOverrideRedirect :: MonadIO m => WindowAttr -> Bool -> m ()+setWindowAttrOverrideRedirect s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 72) (val' :: CInt)++#if ENABLE_OVERLOADING+data WindowAttrOverrideRedirectFieldInfo+instance AttrInfo WindowAttrOverrideRedirectFieldInfo where+    type AttrAllowedOps WindowAttrOverrideRedirectFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint WindowAttrOverrideRedirectFieldInfo = (~) Bool+    type AttrBaseTypeConstraint WindowAttrOverrideRedirectFieldInfo = (~) WindowAttr+    type AttrGetType WindowAttrOverrideRedirectFieldInfo = Bool+    type AttrLabel WindowAttrOverrideRedirectFieldInfo = "override_redirect"+    type AttrOrigin WindowAttrOverrideRedirectFieldInfo = WindowAttr+    attrGet _ = getWindowAttrOverrideRedirect+    attrSet _ = setWindowAttrOverrideRedirect+    attrConstruct = undefined+    attrClear _ = undefined++windowAttr_overrideRedirect :: AttrLabelProxy "overrideRedirect"+windowAttr_overrideRedirect = AttrLabelProxy++#endif+++{- |+Get the value of the “@type_hint@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' windowAttr #typeHint+@+-}+getWindowAttrTypeHint :: MonadIO m => WindowAttr -> m Gdk.Enums.WindowTypeHint+getWindowAttrTypeHint s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 76) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type_hint@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' windowAttr [ #typeHint 'Data.GI.Base.Attributes.:=' value ]+@+-}+setWindowAttrTypeHint :: MonadIO m => WindowAttr -> Gdk.Enums.WindowTypeHint -> m ()+setWindowAttrTypeHint s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 76) (val' :: CUInt)++#if ENABLE_OVERLOADING+data WindowAttrTypeHintFieldInfo+instance AttrInfo WindowAttrTypeHintFieldInfo where+    type AttrAllowedOps WindowAttrTypeHintFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint WindowAttrTypeHintFieldInfo = (~) Gdk.Enums.WindowTypeHint+    type AttrBaseTypeConstraint WindowAttrTypeHintFieldInfo = (~) WindowAttr+    type AttrGetType WindowAttrTypeHintFieldInfo = Gdk.Enums.WindowTypeHint+    type AttrLabel WindowAttrTypeHintFieldInfo = "type_hint"+    type AttrOrigin WindowAttrTypeHintFieldInfo = WindowAttr+    attrGet _ = getWindowAttrTypeHint+    attrSet _ = setWindowAttrTypeHint+    attrConstruct = undefined+    attrClear _ = undefined++windowAttr_typeHint :: AttrLabelProxy "typeHint"+windowAttr_typeHint = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList WindowAttr+type instance O.AttributeList WindowAttr = WindowAttrAttributeList+type WindowAttrAttributeList = ('[ '("title", WindowAttrTitleFieldInfo), '("eventMask", WindowAttrEventMaskFieldInfo), '("x", WindowAttrXFieldInfo), '("y", WindowAttrYFieldInfo), '("width", WindowAttrWidthFieldInfo), '("height", WindowAttrHeightFieldInfo), '("wclass", WindowAttrWclassFieldInfo), '("visual", WindowAttrVisualFieldInfo), '("windowType", WindowAttrWindowTypeFieldInfo), '("cursor", WindowAttrCursorFieldInfo), '("wmclassName", WindowAttrWmclassNameFieldInfo), '("wmclassClass", WindowAttrWmclassClassFieldInfo), '("overrideRedirect", WindowAttrOverrideRedirectFieldInfo), '("typeHint", WindowAttrTypeHintFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveWindowAttrMethod (t :: Symbol) (o :: *) :: * where+    ResolveWindowAttrMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveWindowAttrMethod t WindowAttr, O.MethodInfo info WindowAttr p) => OL.IsLabel t (WindowAttr -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/WindowAttr.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.WindowAttr where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype WindowAttr = WindowAttr (ManagedPtr WindowAttr)+instance WrappedPtr WindowAttr where
+ GI/Gdk/Structs/WindowRedirect.hs view
@@ -0,0 +1,77 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++/No description available in the introspection data./+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Structs.WindowRedirect+    ( ++-- * Exported types+    WindowRedirect(..)                      ,+    noWindowRedirect                        ,+++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++-- | Memory-managed wrapper type.+newtype WindowRedirect = WindowRedirect (ManagedPtr WindowRedirect)+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?+instance WrappedPtr WindowRedirect where+    wrappedPtrCalloc = return nullPtr+    wrappedPtrCopy = return+    wrappedPtrFree = Nothing++-- | A convenience alias for `Nothing` :: `Maybe` `WindowRedirect`.+noWindowRedirect :: Maybe WindowRedirect+noWindowRedirect = Nothing+++#if ENABLE_OVERLOADING+instance O.HasAttributeList WindowRedirect+type instance O.AttributeList WindowRedirect = WindowRedirectAttributeList+type WindowRedirectAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveWindowRedirectMethod (t :: Symbol) (o :: *) :: * where+    ResolveWindowRedirectMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveWindowRedirectMethod t WindowRedirect, O.MethodInfo info WindowRedirect p) => OL.IsLabel t (WindowRedirect -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Structs/WindowRedirect.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Structs.WindowRedirect where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype WindowRedirect = WindowRedirect (ManagedPtr WindowRedirect)+instance WrappedPtr WindowRedirect where
+ GI/Gdk/Unions.hs view
@@ -0,0 +1,41 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Unions+    (     module GI.Gdk.Unions.Event              ,+++    ) where++import GI.Gdk.Unions.Event++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++
+ GI/Gdk/Unions/Event.hs view
@@ -0,0 +1,2974 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++A 'GI.Gdk.Unions.Event.Event' contains a union of all of the event types,+and allows access to the data fields in a number of ways.++The event type is always the first field in all of the event types, and+can always be accessed with the following code, no matter what type of+event it is:++=== /C code/+>+>  GdkEvent *event;+>  GdkEventType type;+>+>  type = event->type;+++To access other fields of the event, the pointer to the event+can be cast to the appropriate event type, or the union member+name can be used. For example if the event type is 'GI.Gdk.Enums.EventTypeButtonPress'+then the x coordinate of the button press can be accessed with:++=== /C code/+>+>  GdkEvent *event;+>  gdouble x;+>+>  x = ((GdkEventButton*)event)->x;++or:++=== /C code/+>+>  GdkEvent *event;+>  gdouble x;+>+>  x = event->button.x;++-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Gdk.Unions.Event+    ( ++-- * Exported types+    Event(..)                               ,+    newZeroEvent                            ,+    noEvent                                 ,+++ -- * Methods+-- ** copy #method:copy#++#if ENABLE_OVERLOADING+    EventCopyMethodInfo                     ,+#endif+    eventCopy                               ,+++-- ** free #method:free#++#if ENABLE_OVERLOADING+    EventFreeMethodInfo                     ,+#endif+    eventFree                               ,+++-- ** get #method:get#++    eventGet                                ,+++-- ** getAxis #method:getAxis#++#if ENABLE_OVERLOADING+    EventGetAxisMethodInfo                  ,+#endif+    eventGetAxis                            ,+++-- ** getButton #method:getButton#++#if ENABLE_OVERLOADING+    EventGetButtonMethodInfo                ,+#endif+    eventGetButton                          ,+++-- ** getClickCount #method:getClickCount#++#if ENABLE_OVERLOADING+    EventGetClickCountMethodInfo            ,+#endif+    eventGetClickCount                      ,+++-- ** getCoords #method:getCoords#++#if ENABLE_OVERLOADING+    EventGetCoordsMethodInfo                ,+#endif+    eventGetCoords                          ,+++-- ** getDevice #method:getDevice#++#if ENABLE_OVERLOADING+    EventGetDeviceMethodInfo                ,+#endif+    eventGetDevice                          ,+++-- ** getDeviceTool #method:getDeviceTool#++#if ENABLE_OVERLOADING+    EventGetDeviceToolMethodInfo            ,+#endif+    eventGetDeviceTool                      ,+++-- ** getEventSequence #method:getEventSequence#++#if ENABLE_OVERLOADING+    EventGetEventSequenceMethodInfo         ,+#endif+    eventGetEventSequence                   ,+++-- ** getEventType #method:getEventType#++#if ENABLE_OVERLOADING+    EventGetEventTypeMethodInfo             ,+#endif+    eventGetEventType                       ,+++-- ** getKeycode #method:getKeycode#++#if ENABLE_OVERLOADING+    EventGetKeycodeMethodInfo               ,+#endif+    eventGetKeycode                         ,+++-- ** getKeyval #method:getKeyval#++#if ENABLE_OVERLOADING+    EventGetKeyvalMethodInfo                ,+#endif+    eventGetKeyval                          ,+++-- ** getPointerEmulated #method:getPointerEmulated#++#if ENABLE_OVERLOADING+    EventGetPointerEmulatedMethodInfo       ,+#endif+    eventGetPointerEmulated                 ,+++-- ** getRootCoords #method:getRootCoords#++#if ENABLE_OVERLOADING+    EventGetRootCoordsMethodInfo            ,+#endif+    eventGetRootCoords                      ,+++-- ** getScancode #method:getScancode#++#if ENABLE_OVERLOADING+    EventGetScancodeMethodInfo              ,+#endif+    eventGetScancode                        ,+++-- ** getScreen #method:getScreen#++#if ENABLE_OVERLOADING+    EventGetScreenMethodInfo                ,+#endif+    eventGetScreen                          ,+++-- ** getScrollDeltas #method:getScrollDeltas#++#if ENABLE_OVERLOADING+    EventGetScrollDeltasMethodInfo          ,+#endif+    eventGetScrollDeltas                    ,+++-- ** getScrollDirection #method:getScrollDirection#++#if ENABLE_OVERLOADING+    EventGetScrollDirectionMethodInfo       ,+#endif+    eventGetScrollDirection                 ,+++-- ** getSeat #method:getSeat#++#if ENABLE_OVERLOADING+    EventGetSeatMethodInfo                  ,+#endif+    eventGetSeat                            ,+++-- ** getSourceDevice #method:getSourceDevice#++#if ENABLE_OVERLOADING+    EventGetSourceDeviceMethodInfo          ,+#endif+    eventGetSourceDevice                    ,+++-- ** getState #method:getState#++#if ENABLE_OVERLOADING+    EventGetStateMethodInfo                 ,+#endif+    eventGetState                           ,+++-- ** getTime #method:getTime#++#if ENABLE_OVERLOADING+    EventGetTimeMethodInfo                  ,+#endif+    eventGetTime                            ,+++-- ** getWindow #method:getWindow#++#if ENABLE_OVERLOADING+    EventGetWindowMethodInfo                ,+#endif+    eventGetWindow                          ,+++-- ** handlerSet #method:handlerSet#++    eventHandlerSet                         ,+++-- ** isScrollStopEvent #method:isScrollStopEvent#++#if ENABLE_OVERLOADING+    EventIsScrollStopEventMethodInfo        ,+#endif+    eventIsScrollStopEvent                  ,+++-- ** new #method:new#++    eventNew                                ,+++-- ** peek #method:peek#++    eventPeek                               ,+++-- ** put #method:put#++#if ENABLE_OVERLOADING+    EventPutMethodInfo                      ,+#endif+    eventPut                                ,+++-- ** requestMotions #method:requestMotions#++    eventRequestMotions                     ,+++-- ** setDevice #method:setDevice#++#if ENABLE_OVERLOADING+    EventSetDeviceMethodInfo                ,+#endif+    eventSetDevice                          ,+++-- ** setDeviceTool #method:setDeviceTool#++#if ENABLE_OVERLOADING+    EventSetDeviceToolMethodInfo            ,+#endif+    eventSetDeviceTool                      ,+++-- ** setScreen #method:setScreen#++#if ENABLE_OVERLOADING+    EventSetScreenMethodInfo                ,+#endif+    eventSetScreen                          ,+++-- ** setSourceDevice #method:setSourceDevice#++#if ENABLE_OVERLOADING+    EventSetSourceDeviceMethodInfo          ,+#endif+    eventSetSourceDevice                    ,+++-- ** triggersContextMenu #method:triggersContextMenu#++#if ENABLE_OVERLOADING+    EventTriggersContextMenuMethodInfo      ,+#endif+    eventTriggersContextMenu                ,+++++ -- * Properties+-- ** any #attr:any#+{- | a 'GI.Gdk.Structs.EventAny.EventAny'+-}+#if ENABLE_OVERLOADING+    event_any                               ,+#endif+    getEventAny                             ,+++-- ** button #attr:button#+{- | a 'GI.Gdk.Structs.EventButton.EventButton'+-}+#if ENABLE_OVERLOADING+    event_button                            ,+#endif+    getEventButton                          ,+++-- ** configure #attr:configure#+{- | a 'GI.Gdk.Structs.EventConfigure.EventConfigure'+-}+#if ENABLE_OVERLOADING+    event_configure                         ,+#endif+    getEventConfigure                       ,+++-- ** crossing #attr:crossing#+{- | a 'GI.Gdk.Structs.EventCrossing.EventCrossing'+-}+#if ENABLE_OVERLOADING+    event_crossing                          ,+#endif+    getEventCrossing                        ,+++-- ** dnd #attr:dnd#+{- | a 'GI.Gdk.Structs.EventDND.EventDND'+-}+#if ENABLE_OVERLOADING+    event_dnd                               ,+#endif+    getEventDnd                             ,+++-- ** expose #attr:expose#+{- | a 'GI.Gdk.Structs.EventExpose.EventExpose'+-}+#if ENABLE_OVERLOADING+    event_expose                            ,+#endif+    getEventExpose                          ,+++-- ** focusChange #attr:focusChange#+{- | a 'GI.Gdk.Structs.EventFocus.EventFocus'+-}+#if ENABLE_OVERLOADING+    event_focusChange                       ,+#endif+    getEventFocusChange                     ,+++-- ** grabBroken #attr:grabBroken#+{- | a 'GI.Gdk.Structs.EventGrabBroken.EventGrabBroken'+-}+#if ENABLE_OVERLOADING+    event_grabBroken                        ,+#endif+    getEventGrabBroken                      ,+++-- ** key #attr:key#+{- | a 'GI.Gdk.Structs.EventKey.EventKey'+-}+#if ENABLE_OVERLOADING+    event_key                               ,+#endif+    getEventKey                             ,+++-- ** motion #attr:motion#+{- | a 'GI.Gdk.Structs.EventMotion.EventMotion'+-}+#if ENABLE_OVERLOADING+    event_motion                            ,+#endif+    getEventMotion                          ,+++-- ** ownerChange #attr:ownerChange#+{- | a 'GI.Gdk.Structs.EventOwnerChange.EventOwnerChange'+-}+#if ENABLE_OVERLOADING+    event_ownerChange                       ,+#endif+    getEventOwnerChange                     ,+++-- ** padAxis #attr:padAxis#+{- | a 'GI.Gdk.Structs.EventPadAxis.EventPadAxis'+-}+#if ENABLE_OVERLOADING+    event_padAxis                           ,+#endif+    getEventPadAxis                         ,+++-- ** padButton #attr:padButton#+{- | a 'GI.Gdk.Structs.EventPadButton.EventPadButton'+-}+#if ENABLE_OVERLOADING+    event_padButton                         ,+#endif+    getEventPadButton                       ,+++-- ** padGroupMode #attr:padGroupMode#+{- | a 'GI.Gdk.Structs.EventPadGroupMode.EventPadGroupMode'+-}+#if ENABLE_OVERLOADING+    event_padGroupMode                      ,+#endif+    getEventPadGroupMode                    ,+++-- ** property #attr:property#+{- | a 'GI.Gdk.Structs.EventProperty.EventProperty'+-}+#if ENABLE_OVERLOADING+    event_property                          ,+#endif+    getEventProperty                        ,+++-- ** proximity #attr:proximity#+{- | a 'GI.Gdk.Structs.EventProximity.EventProximity'+-}+#if ENABLE_OVERLOADING+    event_proximity                         ,+#endif+    getEventProximity                       ,+++-- ** scroll #attr:scroll#+{- | a 'GI.Gdk.Structs.EventScroll.EventScroll'+-}+#if ENABLE_OVERLOADING+    event_scroll                            ,+#endif+    getEventScroll                          ,+++-- ** selection #attr:selection#+{- | a 'GI.Gdk.Structs.EventSelection.EventSelection'+-}+#if ENABLE_OVERLOADING+    event_selection                         ,+#endif+    getEventSelection                       ,+++-- ** setting #attr:setting#+{- | a 'GI.Gdk.Structs.EventSetting.EventSetting'+-}+#if ENABLE_OVERLOADING+    event_setting                           ,+#endif+    getEventSetting                         ,+++-- ** touch #attr:touch#+{- | a 'GI.Gdk.Structs.EventTouch.EventTouch'+-}+#if ENABLE_OVERLOADING+    event_touch                             ,+#endif+    getEventTouch                           ,+++-- ** touchpadPinch #attr:touchpadPinch#+{- | a 'GI.Gdk.Structs.EventTouchpadPinch.EventTouchpadPinch'+-}+#if ENABLE_OVERLOADING+    event_touchpadPinch                     ,+#endif+    getEventTouchpadPinch                   ,+++-- ** touchpadSwipe #attr:touchpadSwipe#+{- | a 'GI.Gdk.Structs.EventTouchpadSwipe.EventTouchpadSwipe'+-}+#if ENABLE_OVERLOADING+    event_touchpadSwipe                     ,+#endif+    getEventTouchpadSwipe                   ,+++-- ** type #attr:type#+{- | the 'GI.Gdk.Enums.EventType'+-}+#if ENABLE_OVERLOADING+    event_type                              ,+#endif+    getEventType                            ,+    setEventType                            ,+++-- ** visibility #attr:visibility#+{- | a 'GI.Gdk.Structs.EventVisibility.EventVisibility'+-}+#if ENABLE_OVERLOADING+    event_visibility                        ,+#endif+    getEventVisibility                      ,+++-- ** windowState #attr:windowState#+{- | a 'GI.Gdk.Structs.EventWindowState.EventWindowState'+-}+#if ENABLE_OVERLOADING+    event_windowState                       ,+#endif+    getEventWindowState                     ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import qualified GI.GLib.Callbacks as GLib.Callbacks+import qualified GI.Gdk.Callbacks as Gdk.Callbacks+import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums+import {-# SOURCE #-} qualified GI.Gdk.Flags as Gdk.Flags+import {-# SOURCE #-} qualified GI.Gdk.Objects.Device as Gdk.Device+import {-# SOURCE #-} qualified GI.Gdk.Objects.DeviceTool as Gdk.DeviceTool+import {-# SOURCE #-} qualified GI.Gdk.Objects.Screen as Gdk.Screen+import {-# SOURCE #-} qualified GI.Gdk.Objects.Seat as Gdk.Seat+import {-# SOURCE #-} qualified GI.Gdk.Objects.Window as Gdk.Window+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventAny as Gdk.EventAny+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventButton as Gdk.EventButton+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventConfigure as Gdk.EventConfigure+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventCrossing as Gdk.EventCrossing+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventDND as Gdk.EventDND+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventExpose as Gdk.EventExpose+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventFocus as Gdk.EventFocus+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventGrabBroken as Gdk.EventGrabBroken+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventKey as Gdk.EventKey+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventMotion as Gdk.EventMotion+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventOwnerChange as Gdk.EventOwnerChange+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventPadAxis as Gdk.EventPadAxis+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventPadButton as Gdk.EventPadButton+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventPadGroupMode as Gdk.EventPadGroupMode+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventProperty as Gdk.EventProperty+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventProximity as Gdk.EventProximity+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventScroll as Gdk.EventScroll+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventSelection as Gdk.EventSelection+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventSequence as Gdk.EventSequence+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventSetting as Gdk.EventSetting+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventTouch as Gdk.EventTouch+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventTouchpadPinch as Gdk.EventTouchpadPinch+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventTouchpadSwipe as Gdk.EventTouchpadSwipe+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventVisibility as Gdk.EventVisibility+import {-# SOURCE #-} qualified GI.Gdk.Structs.EventWindowState as Gdk.EventWindowState++-- | Memory-managed wrapper type.+newtype Event = Event (ManagedPtr Event)+foreign import ccall "gdk_event_get_type" c_gdk_event_get_type :: +    IO GType++instance BoxedObject Event where+    boxedType _ = c_gdk_event_get_type++-- | Construct a `Event` struct initialized to zero.+newZeroEvent :: MonadIO m => m Event+newZeroEvent = liftIO $ callocBoxedBytes 96 >>= wrapBoxed Event++instance tag ~ 'AttrSet => Constructible Event tag where+    new _ attrs = do+        o <- newZeroEvent+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `Event`.+noEvent :: Maybe Event+noEvent = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' event #type+@+-}+getEventType :: MonadIO m => Event -> m Gdk.Enums.EventType+getEventType s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' event [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setEventType :: MonadIO m => Event -> Gdk.Enums.EventType -> m ()+setEventType s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data EventTypeFieldInfo+instance AttrInfo EventTypeFieldInfo where+    type AttrAllowedOps EventTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint EventTypeFieldInfo = (~) Gdk.Enums.EventType+    type AttrBaseTypeConstraint EventTypeFieldInfo = (~) Event+    type AttrGetType EventTypeFieldInfo = Gdk.Enums.EventType+    type AttrLabel EventTypeFieldInfo = "type"+    type AttrOrigin EventTypeFieldInfo = Event+    attrGet _ = getEventType+    attrSet _ = setEventType+    attrConstruct = undefined+    attrClear _ = undefined++event_type :: AttrLabelProxy "type"+event_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@any@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' event #any+@+-}+getEventAny :: MonadIO m => Event -> m Gdk.EventAny.EventAny+getEventAny s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.EventAny.EventAny)+    val' <- (newPtr Gdk.EventAny.EventAny) val+    return val'++#if ENABLE_OVERLOADING+data EventAnyFieldInfo+instance AttrInfo EventAnyFieldInfo where+    type AttrAllowedOps EventAnyFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventAnyFieldInfo = (~) (Ptr Gdk.EventAny.EventAny)+    type AttrBaseTypeConstraint EventAnyFieldInfo = (~) Event+    type AttrGetType EventAnyFieldInfo = Gdk.EventAny.EventAny+    type AttrLabel EventAnyFieldInfo = "any"+    type AttrOrigin EventAnyFieldInfo = Event+    attrGet _ = getEventAny+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++event_any :: AttrLabelProxy "any"+event_any = AttrLabelProxy++#endif+++{- |+Get the value of the “@expose@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' event #expose+@+-}+getEventExpose :: MonadIO m => Event -> m Gdk.EventExpose.EventExpose+getEventExpose s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.EventExpose.EventExpose)+    val' <- (newPtr Gdk.EventExpose.EventExpose) val+    return val'++#if ENABLE_OVERLOADING+data EventExposeFieldInfo+instance AttrInfo EventExposeFieldInfo where+    type AttrAllowedOps EventExposeFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventExposeFieldInfo = (~) (Ptr Gdk.EventExpose.EventExpose)+    type AttrBaseTypeConstraint EventExposeFieldInfo = (~) Event+    type AttrGetType EventExposeFieldInfo = Gdk.EventExpose.EventExpose+    type AttrLabel EventExposeFieldInfo = "expose"+    type AttrOrigin EventExposeFieldInfo = Event+    attrGet _ = getEventExpose+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++event_expose :: AttrLabelProxy "expose"+event_expose = AttrLabelProxy++#endif+++{- |+Get the value of the “@visibility@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' event #visibility+@+-}+getEventVisibility :: MonadIO m => Event -> m Gdk.EventVisibility.EventVisibility+getEventVisibility s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.EventVisibility.EventVisibility)+    val' <- (newPtr Gdk.EventVisibility.EventVisibility) val+    return val'++#if ENABLE_OVERLOADING+data EventVisibilityFieldInfo+instance AttrInfo EventVisibilityFieldInfo where+    type AttrAllowedOps EventVisibilityFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventVisibilityFieldInfo = (~) (Ptr Gdk.EventVisibility.EventVisibility)+    type AttrBaseTypeConstraint EventVisibilityFieldInfo = (~) Event+    type AttrGetType EventVisibilityFieldInfo = Gdk.EventVisibility.EventVisibility+    type AttrLabel EventVisibilityFieldInfo = "visibility"+    type AttrOrigin EventVisibilityFieldInfo = Event+    attrGet _ = getEventVisibility+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++event_visibility :: AttrLabelProxy "visibility"+event_visibility = AttrLabelProxy++#endif+++{- |+Get the value of the “@motion@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' event #motion+@+-}+getEventMotion :: MonadIO m => Event -> m Gdk.EventMotion.EventMotion+getEventMotion s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.EventMotion.EventMotion)+    val' <- (newPtr Gdk.EventMotion.EventMotion) val+    return val'++#if ENABLE_OVERLOADING+data EventMotionFieldInfo+instance AttrInfo EventMotionFieldInfo where+    type AttrAllowedOps EventMotionFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventMotionFieldInfo = (~) (Ptr Gdk.EventMotion.EventMotion)+    type AttrBaseTypeConstraint EventMotionFieldInfo = (~) Event+    type AttrGetType EventMotionFieldInfo = Gdk.EventMotion.EventMotion+    type AttrLabel EventMotionFieldInfo = "motion"+    type AttrOrigin EventMotionFieldInfo = Event+    attrGet _ = getEventMotion+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++event_motion :: AttrLabelProxy "motion"+event_motion = AttrLabelProxy++#endif+++{- |+Get the value of the “@button@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' event #button+@+-}+getEventButton :: MonadIO m => Event -> m Gdk.EventButton.EventButton+getEventButton s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.EventButton.EventButton)+    val' <- (newPtr Gdk.EventButton.EventButton) val+    return val'++#if ENABLE_OVERLOADING+data EventButtonFieldInfo+instance AttrInfo EventButtonFieldInfo where+    type AttrAllowedOps EventButtonFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventButtonFieldInfo = (~) (Ptr Gdk.EventButton.EventButton)+    type AttrBaseTypeConstraint EventButtonFieldInfo = (~) Event+    type AttrGetType EventButtonFieldInfo = Gdk.EventButton.EventButton+    type AttrLabel EventButtonFieldInfo = "button"+    type AttrOrigin EventButtonFieldInfo = Event+    attrGet _ = getEventButton+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++event_button :: AttrLabelProxy "button"+event_button = AttrLabelProxy++#endif+++{- |+Get the value of the “@touch@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' event #touch+@+-}+getEventTouch :: MonadIO m => Event -> m Gdk.EventTouch.EventTouch+getEventTouch s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.EventTouch.EventTouch)+    val' <- (newPtr Gdk.EventTouch.EventTouch) val+    return val'++#if ENABLE_OVERLOADING+data EventTouchFieldInfo+instance AttrInfo EventTouchFieldInfo where+    type AttrAllowedOps EventTouchFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventTouchFieldInfo = (~) (Ptr Gdk.EventTouch.EventTouch)+    type AttrBaseTypeConstraint EventTouchFieldInfo = (~) Event+    type AttrGetType EventTouchFieldInfo = Gdk.EventTouch.EventTouch+    type AttrLabel EventTouchFieldInfo = "touch"+    type AttrOrigin EventTouchFieldInfo = Event+    attrGet _ = getEventTouch+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++event_touch :: AttrLabelProxy "touch"+event_touch = AttrLabelProxy++#endif+++{- |+Get the value of the “@scroll@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' event #scroll+@+-}+getEventScroll :: MonadIO m => Event -> m Gdk.EventScroll.EventScroll+getEventScroll s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.EventScroll.EventScroll)+    val' <- (newPtr Gdk.EventScroll.EventScroll) val+    return val'++#if ENABLE_OVERLOADING+data EventScrollFieldInfo+instance AttrInfo EventScrollFieldInfo where+    type AttrAllowedOps EventScrollFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventScrollFieldInfo = (~) (Ptr Gdk.EventScroll.EventScroll)+    type AttrBaseTypeConstraint EventScrollFieldInfo = (~) Event+    type AttrGetType EventScrollFieldInfo = Gdk.EventScroll.EventScroll+    type AttrLabel EventScrollFieldInfo = "scroll"+    type AttrOrigin EventScrollFieldInfo = Event+    attrGet _ = getEventScroll+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++event_scroll :: AttrLabelProxy "scroll"+event_scroll = AttrLabelProxy++#endif+++{- |+Get the value of the “@key@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' event #key+@+-}+getEventKey :: MonadIO m => Event -> m Gdk.EventKey.EventKey+getEventKey s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.EventKey.EventKey)+    val' <- (newPtr Gdk.EventKey.EventKey) val+    return val'++#if ENABLE_OVERLOADING+data EventKeyFieldInfo+instance AttrInfo EventKeyFieldInfo where+    type AttrAllowedOps EventKeyFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventKeyFieldInfo = (~) (Ptr Gdk.EventKey.EventKey)+    type AttrBaseTypeConstraint EventKeyFieldInfo = (~) Event+    type AttrGetType EventKeyFieldInfo = Gdk.EventKey.EventKey+    type AttrLabel EventKeyFieldInfo = "key"+    type AttrOrigin EventKeyFieldInfo = Event+    attrGet _ = getEventKey+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++event_key :: AttrLabelProxy "key"+event_key = AttrLabelProxy++#endif+++{- |+Get the value of the “@crossing@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' event #crossing+@+-}+getEventCrossing :: MonadIO m => Event -> m Gdk.EventCrossing.EventCrossing+getEventCrossing s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.EventCrossing.EventCrossing)+    val' <- (newPtr Gdk.EventCrossing.EventCrossing) val+    return val'++#if ENABLE_OVERLOADING+data EventCrossingFieldInfo+instance AttrInfo EventCrossingFieldInfo where+    type AttrAllowedOps EventCrossingFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventCrossingFieldInfo = (~) (Ptr Gdk.EventCrossing.EventCrossing)+    type AttrBaseTypeConstraint EventCrossingFieldInfo = (~) Event+    type AttrGetType EventCrossingFieldInfo = Gdk.EventCrossing.EventCrossing+    type AttrLabel EventCrossingFieldInfo = "crossing"+    type AttrOrigin EventCrossingFieldInfo = Event+    attrGet _ = getEventCrossing+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++event_crossing :: AttrLabelProxy "crossing"+event_crossing = AttrLabelProxy++#endif+++{- |+Get the value of the “@focus_change@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' event #focusChange+@+-}+getEventFocusChange :: MonadIO m => Event -> m Gdk.EventFocus.EventFocus+getEventFocusChange s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.EventFocus.EventFocus)+    val' <- (newPtr Gdk.EventFocus.EventFocus) val+    return val'++#if ENABLE_OVERLOADING+data EventFocusChangeFieldInfo+instance AttrInfo EventFocusChangeFieldInfo where+    type AttrAllowedOps EventFocusChangeFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventFocusChangeFieldInfo = (~) (Ptr Gdk.EventFocus.EventFocus)+    type AttrBaseTypeConstraint EventFocusChangeFieldInfo = (~) Event+    type AttrGetType EventFocusChangeFieldInfo = Gdk.EventFocus.EventFocus+    type AttrLabel EventFocusChangeFieldInfo = "focus_change"+    type AttrOrigin EventFocusChangeFieldInfo = Event+    attrGet _ = getEventFocusChange+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++event_focusChange :: AttrLabelProxy "focusChange"+event_focusChange = AttrLabelProxy++#endif+++{- |+Get the value of the “@configure@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' event #configure+@+-}+getEventConfigure :: MonadIO m => Event -> m Gdk.EventConfigure.EventConfigure+getEventConfigure s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.EventConfigure.EventConfigure)+    val' <- (newPtr Gdk.EventConfigure.EventConfigure) val+    return val'++#if ENABLE_OVERLOADING+data EventConfigureFieldInfo+instance AttrInfo EventConfigureFieldInfo where+    type AttrAllowedOps EventConfigureFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventConfigureFieldInfo = (~) (Ptr Gdk.EventConfigure.EventConfigure)+    type AttrBaseTypeConstraint EventConfigureFieldInfo = (~) Event+    type AttrGetType EventConfigureFieldInfo = Gdk.EventConfigure.EventConfigure+    type AttrLabel EventConfigureFieldInfo = "configure"+    type AttrOrigin EventConfigureFieldInfo = Event+    attrGet _ = getEventConfigure+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++event_configure :: AttrLabelProxy "configure"+event_configure = AttrLabelProxy++#endif+++{- |+Get the value of the “@property@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' event #property+@+-}+getEventProperty :: MonadIO m => Event -> m Gdk.EventProperty.EventProperty+getEventProperty s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.EventProperty.EventProperty)+    val' <- (newPtr Gdk.EventProperty.EventProperty) val+    return val'++#if ENABLE_OVERLOADING+data EventPropertyFieldInfo+instance AttrInfo EventPropertyFieldInfo where+    type AttrAllowedOps EventPropertyFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventPropertyFieldInfo = (~) (Ptr Gdk.EventProperty.EventProperty)+    type AttrBaseTypeConstraint EventPropertyFieldInfo = (~) Event+    type AttrGetType EventPropertyFieldInfo = Gdk.EventProperty.EventProperty+    type AttrLabel EventPropertyFieldInfo = "property"+    type AttrOrigin EventPropertyFieldInfo = Event+    attrGet _ = getEventProperty+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++event_property :: AttrLabelProxy "property"+event_property = AttrLabelProxy++#endif+++{- |+Get the value of the “@selection@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' event #selection+@+-}+getEventSelection :: MonadIO m => Event -> m Gdk.EventSelection.EventSelection+getEventSelection s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.EventSelection.EventSelection)+    val' <- (newPtr Gdk.EventSelection.EventSelection) val+    return val'++#if ENABLE_OVERLOADING+data EventSelectionFieldInfo+instance AttrInfo EventSelectionFieldInfo where+    type AttrAllowedOps EventSelectionFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventSelectionFieldInfo = (~) (Ptr Gdk.EventSelection.EventSelection)+    type AttrBaseTypeConstraint EventSelectionFieldInfo = (~) Event+    type AttrGetType EventSelectionFieldInfo = Gdk.EventSelection.EventSelection+    type AttrLabel EventSelectionFieldInfo = "selection"+    type AttrOrigin EventSelectionFieldInfo = Event+    attrGet _ = getEventSelection+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++event_selection :: AttrLabelProxy "selection"+event_selection = AttrLabelProxy++#endif+++{- |+Get the value of the “@owner_change@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' event #ownerChange+@+-}+getEventOwnerChange :: MonadIO m => Event -> m Gdk.EventOwnerChange.EventOwnerChange+getEventOwnerChange s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.EventOwnerChange.EventOwnerChange)+    val' <- (newPtr Gdk.EventOwnerChange.EventOwnerChange) val+    return val'++#if ENABLE_OVERLOADING+data EventOwnerChangeFieldInfo+instance AttrInfo EventOwnerChangeFieldInfo where+    type AttrAllowedOps EventOwnerChangeFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventOwnerChangeFieldInfo = (~) (Ptr Gdk.EventOwnerChange.EventOwnerChange)+    type AttrBaseTypeConstraint EventOwnerChangeFieldInfo = (~) Event+    type AttrGetType EventOwnerChangeFieldInfo = Gdk.EventOwnerChange.EventOwnerChange+    type AttrLabel EventOwnerChangeFieldInfo = "owner_change"+    type AttrOrigin EventOwnerChangeFieldInfo = Event+    attrGet _ = getEventOwnerChange+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++event_ownerChange :: AttrLabelProxy "ownerChange"+event_ownerChange = AttrLabelProxy++#endif+++{- |+Get the value of the “@proximity@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' event #proximity+@+-}+getEventProximity :: MonadIO m => Event -> m Gdk.EventProximity.EventProximity+getEventProximity s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.EventProximity.EventProximity)+    val' <- (newPtr Gdk.EventProximity.EventProximity) val+    return val'++#if ENABLE_OVERLOADING+data EventProximityFieldInfo+instance AttrInfo EventProximityFieldInfo where+    type AttrAllowedOps EventProximityFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventProximityFieldInfo = (~) (Ptr Gdk.EventProximity.EventProximity)+    type AttrBaseTypeConstraint EventProximityFieldInfo = (~) Event+    type AttrGetType EventProximityFieldInfo = Gdk.EventProximity.EventProximity+    type AttrLabel EventProximityFieldInfo = "proximity"+    type AttrOrigin EventProximityFieldInfo = Event+    attrGet _ = getEventProximity+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++event_proximity :: AttrLabelProxy "proximity"+event_proximity = AttrLabelProxy++#endif+++{- |+Get the value of the “@dnd@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' event #dnd+@+-}+getEventDnd :: MonadIO m => Event -> m Gdk.EventDND.EventDND+getEventDnd s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.EventDND.EventDND)+    val' <- (newPtr Gdk.EventDND.EventDND) val+    return val'++#if ENABLE_OVERLOADING+data EventDndFieldInfo+instance AttrInfo EventDndFieldInfo where+    type AttrAllowedOps EventDndFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventDndFieldInfo = (~) (Ptr Gdk.EventDND.EventDND)+    type AttrBaseTypeConstraint EventDndFieldInfo = (~) Event+    type AttrGetType EventDndFieldInfo = Gdk.EventDND.EventDND+    type AttrLabel EventDndFieldInfo = "dnd"+    type AttrOrigin EventDndFieldInfo = Event+    attrGet _ = getEventDnd+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++event_dnd :: AttrLabelProxy "dnd"+event_dnd = AttrLabelProxy++#endif+++{- |+Get the value of the “@window_state@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' event #windowState+@+-}+getEventWindowState :: MonadIO m => Event -> m Gdk.EventWindowState.EventWindowState+getEventWindowState s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.EventWindowState.EventWindowState)+    val' <- (newPtr Gdk.EventWindowState.EventWindowState) val+    return val'++#if ENABLE_OVERLOADING+data EventWindowStateFieldInfo+instance AttrInfo EventWindowStateFieldInfo where+    type AttrAllowedOps EventWindowStateFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventWindowStateFieldInfo = (~) (Ptr Gdk.EventWindowState.EventWindowState)+    type AttrBaseTypeConstraint EventWindowStateFieldInfo = (~) Event+    type AttrGetType EventWindowStateFieldInfo = Gdk.EventWindowState.EventWindowState+    type AttrLabel EventWindowStateFieldInfo = "window_state"+    type AttrOrigin EventWindowStateFieldInfo = Event+    attrGet _ = getEventWindowState+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++event_windowState :: AttrLabelProxy "windowState"+event_windowState = AttrLabelProxy++#endif+++{- |+Get the value of the “@setting@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' event #setting+@+-}+getEventSetting :: MonadIO m => Event -> m Gdk.EventSetting.EventSetting+getEventSetting s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.EventSetting.EventSetting)+    val' <- (newPtr Gdk.EventSetting.EventSetting) val+    return val'++#if ENABLE_OVERLOADING+data EventSettingFieldInfo+instance AttrInfo EventSettingFieldInfo where+    type AttrAllowedOps EventSettingFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventSettingFieldInfo = (~) (Ptr Gdk.EventSetting.EventSetting)+    type AttrBaseTypeConstraint EventSettingFieldInfo = (~) Event+    type AttrGetType EventSettingFieldInfo = Gdk.EventSetting.EventSetting+    type AttrLabel EventSettingFieldInfo = "setting"+    type AttrOrigin EventSettingFieldInfo = Event+    attrGet _ = getEventSetting+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++event_setting :: AttrLabelProxy "setting"+event_setting = AttrLabelProxy++#endif+++{- |+Get the value of the “@grab_broken@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' event #grabBroken+@+-}+getEventGrabBroken :: MonadIO m => Event -> m Gdk.EventGrabBroken.EventGrabBroken+getEventGrabBroken s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.EventGrabBroken.EventGrabBroken)+    val' <- (newPtr Gdk.EventGrabBroken.EventGrabBroken) val+    return val'++#if ENABLE_OVERLOADING+data EventGrabBrokenFieldInfo+instance AttrInfo EventGrabBrokenFieldInfo where+    type AttrAllowedOps EventGrabBrokenFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventGrabBrokenFieldInfo = (~) (Ptr Gdk.EventGrabBroken.EventGrabBroken)+    type AttrBaseTypeConstraint EventGrabBrokenFieldInfo = (~) Event+    type AttrGetType EventGrabBrokenFieldInfo = Gdk.EventGrabBroken.EventGrabBroken+    type AttrLabel EventGrabBrokenFieldInfo = "grab_broken"+    type AttrOrigin EventGrabBrokenFieldInfo = Event+    attrGet _ = getEventGrabBroken+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++event_grabBroken :: AttrLabelProxy "grabBroken"+event_grabBroken = AttrLabelProxy++#endif+++{- |+Get the value of the “@touchpad_swipe@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' event #touchpadSwipe+@+-}+getEventTouchpadSwipe :: MonadIO m => Event -> m Gdk.EventTouchpadSwipe.EventTouchpadSwipe+getEventTouchpadSwipe s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.EventTouchpadSwipe.EventTouchpadSwipe)+    val' <- (newPtr Gdk.EventTouchpadSwipe.EventTouchpadSwipe) val+    return val'++#if ENABLE_OVERLOADING+data EventTouchpadSwipeFieldInfo+instance AttrInfo EventTouchpadSwipeFieldInfo where+    type AttrAllowedOps EventTouchpadSwipeFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadSwipeFieldInfo = (~) (Ptr Gdk.EventTouchpadSwipe.EventTouchpadSwipe)+    type AttrBaseTypeConstraint EventTouchpadSwipeFieldInfo = (~) Event+    type AttrGetType EventTouchpadSwipeFieldInfo = Gdk.EventTouchpadSwipe.EventTouchpadSwipe+    type AttrLabel EventTouchpadSwipeFieldInfo = "touchpad_swipe"+    type AttrOrigin EventTouchpadSwipeFieldInfo = Event+    attrGet _ = getEventTouchpadSwipe+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++event_touchpadSwipe :: AttrLabelProxy "touchpadSwipe"+event_touchpadSwipe = AttrLabelProxy++#endif+++{- |+Get the value of the “@touchpad_pinch@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' event #touchpadPinch+@+-}+getEventTouchpadPinch :: MonadIO m => Event -> m Gdk.EventTouchpadPinch.EventTouchpadPinch+getEventTouchpadPinch s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.EventTouchpadPinch.EventTouchpadPinch)+    val' <- (newPtr Gdk.EventTouchpadPinch.EventTouchpadPinch) val+    return val'++#if ENABLE_OVERLOADING+data EventTouchpadPinchFieldInfo+instance AttrInfo EventTouchpadPinchFieldInfo where+    type AttrAllowedOps EventTouchpadPinchFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventTouchpadPinchFieldInfo = (~) (Ptr Gdk.EventTouchpadPinch.EventTouchpadPinch)+    type AttrBaseTypeConstraint EventTouchpadPinchFieldInfo = (~) Event+    type AttrGetType EventTouchpadPinchFieldInfo = Gdk.EventTouchpadPinch.EventTouchpadPinch+    type AttrLabel EventTouchpadPinchFieldInfo = "touchpad_pinch"+    type AttrOrigin EventTouchpadPinchFieldInfo = Event+    attrGet _ = getEventTouchpadPinch+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++event_touchpadPinch :: AttrLabelProxy "touchpadPinch"+event_touchpadPinch = AttrLabelProxy++#endif+++{- |+Get the value of the “@pad_button@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' event #padButton+@+-}+getEventPadButton :: MonadIO m => Event -> m Gdk.EventPadButton.EventPadButton+getEventPadButton s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.EventPadButton.EventPadButton)+    val' <- (newPtr Gdk.EventPadButton.EventPadButton) val+    return val'++#if ENABLE_OVERLOADING+data EventPadButtonFieldInfo+instance AttrInfo EventPadButtonFieldInfo where+    type AttrAllowedOps EventPadButtonFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventPadButtonFieldInfo = (~) (Ptr Gdk.EventPadButton.EventPadButton)+    type AttrBaseTypeConstraint EventPadButtonFieldInfo = (~) Event+    type AttrGetType EventPadButtonFieldInfo = Gdk.EventPadButton.EventPadButton+    type AttrLabel EventPadButtonFieldInfo = "pad_button"+    type AttrOrigin EventPadButtonFieldInfo = Event+    attrGet _ = getEventPadButton+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++event_padButton :: AttrLabelProxy "padButton"+event_padButton = AttrLabelProxy++#endif+++{- |+Get the value of the “@pad_axis@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' event #padAxis+@+-}+getEventPadAxis :: MonadIO m => Event -> m Gdk.EventPadAxis.EventPadAxis+getEventPadAxis s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.EventPadAxis.EventPadAxis)+    val' <- (newPtr Gdk.EventPadAxis.EventPadAxis) val+    return val'++#if ENABLE_OVERLOADING+data EventPadAxisFieldInfo+instance AttrInfo EventPadAxisFieldInfo where+    type AttrAllowedOps EventPadAxisFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventPadAxisFieldInfo = (~) (Ptr Gdk.EventPadAxis.EventPadAxis)+    type AttrBaseTypeConstraint EventPadAxisFieldInfo = (~) Event+    type AttrGetType EventPadAxisFieldInfo = Gdk.EventPadAxis.EventPadAxis+    type AttrLabel EventPadAxisFieldInfo = "pad_axis"+    type AttrOrigin EventPadAxisFieldInfo = Event+    attrGet _ = getEventPadAxis+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++event_padAxis :: AttrLabelProxy "padAxis"+event_padAxis = AttrLabelProxy++#endif+++{- |+Get the value of the “@pad_group_mode@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' event #padGroupMode+@+-}+getEventPadGroupMode :: MonadIO m => Event -> m Gdk.EventPadGroupMode.EventPadGroupMode+getEventPadGroupMode s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.EventPadGroupMode.EventPadGroupMode)+    val' <- (newPtr Gdk.EventPadGroupMode.EventPadGroupMode) val+    return val'++#if ENABLE_OVERLOADING+data EventPadGroupModeFieldInfo+instance AttrInfo EventPadGroupModeFieldInfo where+    type AttrAllowedOps EventPadGroupModeFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint EventPadGroupModeFieldInfo = (~) (Ptr Gdk.EventPadGroupMode.EventPadGroupMode)+    type AttrBaseTypeConstraint EventPadGroupModeFieldInfo = (~) Event+    type AttrGetType EventPadGroupModeFieldInfo = Gdk.EventPadGroupMode.EventPadGroupMode+    type AttrLabel EventPadGroupModeFieldInfo = "pad_group_mode"+    type AttrOrigin EventPadGroupModeFieldInfo = Event+    attrGet _ = getEventPadGroupMode+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++event_padGroupMode :: AttrLabelProxy "padGroupMode"+event_padGroupMode = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList Event+type instance O.AttributeList Event = EventAttributeList+type EventAttributeList = ('[ '("type", EventTypeFieldInfo), '("any", EventAnyFieldInfo), '("expose", EventExposeFieldInfo), '("visibility", EventVisibilityFieldInfo), '("motion", EventMotionFieldInfo), '("button", EventButtonFieldInfo), '("touch", EventTouchFieldInfo), '("scroll", EventScrollFieldInfo), '("key", EventKeyFieldInfo), '("crossing", EventCrossingFieldInfo), '("focusChange", EventFocusChangeFieldInfo), '("configure", EventConfigureFieldInfo), '("property", EventPropertyFieldInfo), '("selection", EventSelectionFieldInfo), '("ownerChange", EventOwnerChangeFieldInfo), '("proximity", EventProximityFieldInfo), '("dnd", EventDndFieldInfo), '("windowState", EventWindowStateFieldInfo), '("setting", EventSettingFieldInfo), '("grabBroken", EventGrabBrokenFieldInfo), '("touchpadSwipe", EventTouchpadSwipeFieldInfo), '("touchpadPinch", EventTouchpadPinchFieldInfo), '("padButton", EventPadButtonFieldInfo), '("padAxis", EventPadAxisFieldInfo), '("padGroupMode", EventPadGroupModeFieldInfo)] :: [(Symbol, *)])+#endif++-- method Event::new+-- method type : Constructor+-- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "Gdk", name = "EventType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEventType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Event"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_new" gdk_event_new :: +    CInt ->                                 -- type : TInterface (Name {namespace = "Gdk", name = "EventType"})+    IO (Ptr Event)++{- |+Creates a new event of the given type. All fields are set to 0.++/Since: 2.2/+-}+eventNew ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Gdk.Enums.EventType+    {- ^ /@type@/: a 'GI.Gdk.Enums.EventType' -}+    -> m Event+    {- ^ __Returns:__ a newly-allocated 'GI.Gdk.Unions.Event.Event'. The returned 'GI.Gdk.Unions.Event.Event'+should be freed with 'GI.Gdk.Unions.Event.eventFree'. -}+eventNew type_ = liftIO $ do+    let type_' = (fromIntegral . fromEnum) type_+    result <- gdk_event_new type_'+    checkUnexpectedReturnNULL "eventNew" result+    result' <- (wrapBoxed Event) result+    return result'++#if ENABLE_OVERLOADING+#endif++-- method Event::copy+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Event"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_copy" gdk_event_copy :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    IO (Ptr Event)++{- |+Copies a 'GI.Gdk.Unions.Event.Event', copying or incrementing the reference count of the+resources associated with it (e.g. 'GI.Gdk.Objects.Window.Window'’s and strings).+-}+eventCopy ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}+    -> m Event+    {- ^ __Returns:__ a copy of /@event@/. The returned 'GI.Gdk.Unions.Event.Event' should be freed with+'GI.Gdk.Unions.Event.eventFree'. -}+eventCopy event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    result <- gdk_event_copy event'+    checkUnexpectedReturnNULL "eventCopy" result+    result' <- (wrapBoxed Event) result+    touchManagedPtr event+    return result'++#if ENABLE_OVERLOADING+data EventCopyMethodInfo+instance (signature ~ (m Event), MonadIO m) => O.MethodInfo EventCopyMethodInfo Event signature where+    overloadedMethod _ = eventCopy++#endif++-- method Event::free+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_free" gdk_event_free :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    IO ()++{- |+Frees a 'GI.Gdk.Unions.Event.Event', freeing or decrementing any resources associated with it.+Note that this function should only be called with events returned from+functions such as 'GI.Gdk.Functions.eventPeek', 'GI.Gdk.Functions.eventGet', 'GI.Gdk.Unions.Event.eventCopy'+and 'GI.Gdk.Unions.Event.eventNew'.+-}+eventFree ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event'. -}+    -> m ()+eventFree event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    gdk_event_free event'+    touchManagedPtr event+    return ()++#if ENABLE_OVERLOADING+data EventFreeMethodInfo+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo EventFreeMethodInfo Event signature where+    overloadedMethod _ = eventFree++#endif++-- method Event::get_axis+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "axis_use", argType = TInterface (Name {namespace = "Gdk", name = "AxisUse"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the axis use to look for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the value found", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_axis" gdk_event_get_axis :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    CUInt ->                                -- axis_use : TInterface (Name {namespace = "Gdk", name = "AxisUse"})+    Ptr CDouble ->                          -- value : TBasicType TDouble+    IO CInt++{- |+Extract the axis value for a particular axis use from+an event structure.+-}+eventGetAxis ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}+    -> Gdk.Enums.AxisUse+    {- ^ /@axisUse@/: the axis use to look for -}+    -> m ((Bool, Double))+    {- ^ __Returns:__ 'True' if the specified axis was found, otherwise 'False' -}+eventGetAxis event axisUse = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    let axisUse' = (fromIntegral . fromEnum) axisUse+    value <- allocMem :: IO (Ptr CDouble)+    result <- gdk_event_get_axis event' axisUse' value+    let result' = (/= 0) result+    value' <- peek value+    let value'' = realToFrac value'+    touchManagedPtr event+    freeMem value+    return (result', value'')++#if ENABLE_OVERLOADING+data EventGetAxisMethodInfo+instance (signature ~ (Gdk.Enums.AxisUse -> m ((Bool, Double))), MonadIO m) => O.MethodInfo EventGetAxisMethodInfo Event signature where+    overloadedMethod _ = eventGetAxis++#endif++-- method Event::get_button+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "button", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store mouse button number", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_button" gdk_event_get_button :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    Ptr Word32 ->                           -- button : TBasicType TUInt+    IO CInt++{- |+Extract the button number from an event.++/Since: 3.2/+-}+eventGetButton ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}+    -> m ((Bool, Word32))+    {- ^ __Returns:__ 'True' if the event delivered a button number -}+eventGetButton event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    button <- allocMem :: IO (Ptr Word32)+    result <- gdk_event_get_button event' button+    let result' = (/= 0) result+    button' <- peek button+    touchManagedPtr event+    freeMem button+    return (result', button')++#if ENABLE_OVERLOADING+data EventGetButtonMethodInfo+instance (signature ~ (m ((Bool, Word32))), MonadIO m) => O.MethodInfo EventGetButtonMethodInfo Event signature where+    overloadedMethod _ = eventGetButton++#endif++-- method Event::get_click_count+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "click_count", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store click count", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_click_count" gdk_event_get_click_count :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    Ptr Word32 ->                           -- click_count : TBasicType TUInt+    IO CInt++{- |+Extracts the click count from an event.++/Since: 3.2/+-}+eventGetClickCount ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}+    -> m ((Bool, Word32))+    {- ^ __Returns:__ 'True' if the event delivered a click count -}+eventGetClickCount event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    clickCount <- allocMem :: IO (Ptr Word32)+    result <- gdk_event_get_click_count event' clickCount+    let result' = (/= 0) result+    clickCount' <- peek clickCount+    touchManagedPtr event+    freeMem clickCount+    return (result', clickCount')++#if ENABLE_OVERLOADING+data EventGetClickCountMethodInfo+instance (signature ~ (m ((Bool, Word32))), MonadIO m) => O.MethodInfo EventGetClickCountMethodInfo Event signature where+    overloadedMethod _ = eventGetClickCount++#endif++-- method Event::get_coords+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x_win", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to put event window x coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y_win", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to put event window y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_coords" gdk_event_get_coords :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    Ptr CDouble ->                          -- x_win : TBasicType TDouble+    Ptr CDouble ->                          -- y_win : TBasicType TDouble+    IO CInt++{- |+Extract the event window relative x\/y coordinates from an event.+-}+eventGetCoords ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}+    -> m ((Bool, Double, Double))+    {- ^ __Returns:__ 'True' if the event delivered event window coordinates -}+eventGetCoords event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    xWin <- allocMem :: IO (Ptr CDouble)+    yWin <- allocMem :: IO (Ptr CDouble)+    result <- gdk_event_get_coords event' xWin yWin+    let result' = (/= 0) result+    xWin' <- peek xWin+    let xWin'' = realToFrac xWin'+    yWin' <- peek yWin+    let yWin'' = realToFrac yWin'+    touchManagedPtr event+    freeMem xWin+    freeMem yWin+    return (result', xWin'', yWin'')++#if ENABLE_OVERLOADING+data EventGetCoordsMethodInfo+instance (signature ~ (m ((Bool, Double, Double))), MonadIO m) => O.MethodInfo EventGetCoordsMethodInfo Event signature where+    overloadedMethod _ = eventGetCoords++#endif++-- method Event::get_device+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Device"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_device" gdk_event_get_device :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    IO (Ptr Gdk.Device.Device)++{- |+If the event contains a “device” field, this function will return+it, else it will return 'Nothing'.++/Since: 3.0/+-}+eventGetDevice ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event'. -}+    -> m (Maybe Gdk.Device.Device)+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Device.Device', or 'Nothing'. -}+eventGetDevice event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    result <- gdk_event_get_device event'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Gdk.Device.Device) result'+        return result''+    touchManagedPtr event+    return maybeResult++#if ENABLE_OVERLOADING+data EventGetDeviceMethodInfo+instance (signature ~ (m (Maybe Gdk.Device.Device)), MonadIO m) => O.MethodInfo EventGetDeviceMethodInfo Event signature where+    overloadedMethod _ = eventGetDevice++#endif++-- method Event::get_device_tool+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "DeviceTool"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_device_tool" gdk_event_get_device_tool :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    IO (Ptr Gdk.DeviceTool.DeviceTool)++{- |+If the event was generated by a device that supports+different tools (eg. a tablet), this function will+return a 'GI.Gdk.Objects.DeviceTool.DeviceTool' representing the tool that+caused the event. Otherwise, 'Nothing' will be returned.++Note: the 'GI.Gdk.Objects.DeviceTool.DeviceTool'\<!-- -->s will be constant during+the application lifetime, if settings must be stored+persistently across runs, see 'GI.Gdk.Objects.DeviceTool.deviceToolGetSerial'++/Since: 3.22/+-}+eventGetDeviceTool ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}+    -> m Gdk.DeviceTool.DeviceTool+    {- ^ __Returns:__ The current device tool, or 'Nothing' -}+eventGetDeviceTool event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    result <- gdk_event_get_device_tool event'+    checkUnexpectedReturnNULL "eventGetDeviceTool" result+    result' <- (newObject Gdk.DeviceTool.DeviceTool) result+    touchManagedPtr event+    return result'++#if ENABLE_OVERLOADING+data EventGetDeviceToolMethodInfo+instance (signature ~ (m Gdk.DeviceTool.DeviceTool), MonadIO m) => O.MethodInfo EventGetDeviceToolMethodInfo Event signature where+    overloadedMethod _ = eventGetDeviceTool++#endif++-- method Event::get_event_sequence+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "EventSequence"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_event_sequence" gdk_event_get_event_sequence :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    IO (Ptr Gdk.EventSequence.EventSequence)++{- |+If /@event@/ if of type 'GI.Gdk.Enums.EventTypeTouchBegin', 'GI.Gdk.Enums.EventTypeTouchUpdate',+'GI.Gdk.Enums.EventTypeTouchEnd' or 'GI.Gdk.Enums.EventTypeTouchCancel', returns the 'GI.Gdk.Structs.EventSequence.EventSequence'+to which the event belongs. Otherwise, return 'Nothing'.++/Since: 3.4/+-}+eventGetEventSequence ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}+    -> m Gdk.EventSequence.EventSequence+    {- ^ __Returns:__ the event sequence that the event belongs to -}+eventGetEventSequence event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    result <- gdk_event_get_event_sequence event'+    checkUnexpectedReturnNULL "eventGetEventSequence" result+    result' <- (newBoxed Gdk.EventSequence.EventSequence) result+    touchManagedPtr event+    return result'++#if ENABLE_OVERLOADING+data EventGetEventSequenceMethodInfo+instance (signature ~ (m Gdk.EventSequence.EventSequence), MonadIO m) => O.MethodInfo EventGetEventSequenceMethodInfo Event signature where+    overloadedMethod _ = eventGetEventSequence++#endif++-- method Event::get_event_type+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "EventType"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_event_type" gdk_event_get_event_type :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    IO CInt++{- |+Retrieves the type of the event.++/Since: 3.10/+-}+eventGetEventType ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}+    -> m Gdk.Enums.EventType+    {- ^ __Returns:__ a 'GI.Gdk.Enums.EventType' -}+eventGetEventType event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    result <- gdk_event_get_event_type event'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr event+    return result'++#if ENABLE_OVERLOADING+data EventGetEventTypeMethodInfo+instance (signature ~ (m Gdk.Enums.EventType), MonadIO m) => O.MethodInfo EventGetEventTypeMethodInfo Event signature where+    overloadedMethod _ = eventGetEventType++#endif++-- method Event::get_keycode+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keycode", argType = TBasicType TUInt16, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the keycode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_keycode" gdk_event_get_keycode :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    Ptr Word16 ->                           -- keycode : TBasicType TUInt16+    IO CInt++{- |+Extracts the hardware keycode from an event.++Also see 'GI.Gdk.Unions.Event.eventGetScancode'.++/Since: 3.2/+-}+eventGetKeycode ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}+    -> m ((Bool, Word16))+    {- ^ __Returns:__ 'True' if the event delivered a hardware keycode -}+eventGetKeycode event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    keycode <- allocMem :: IO (Ptr Word16)+    result <- gdk_event_get_keycode event' keycode+    let result' = (/= 0) result+    keycode' <- peek keycode+    touchManagedPtr event+    freeMem keycode+    return (result', keycode')++#if ENABLE_OVERLOADING+data EventGetKeycodeMethodInfo+instance (signature ~ (m ((Bool, Word16))), MonadIO m) => O.MethodInfo EventGetKeycodeMethodInfo Event signature where+    overloadedMethod _ = eventGetKeycode++#endif++-- method Event::get_keyval+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keyval", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the keyval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_keyval" gdk_event_get_keyval :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    Ptr Word32 ->                           -- keyval : TBasicType TUInt+    IO CInt++{- |+Extracts the keyval from an event.++/Since: 3.2/+-}+eventGetKeyval ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}+    -> m ((Bool, Word32))+    {- ^ __Returns:__ 'True' if the event delivered a key symbol -}+eventGetKeyval event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    keyval <- allocMem :: IO (Ptr Word32)+    result <- gdk_event_get_keyval event' keyval+    let result' = (/= 0) result+    keyval' <- peek keyval+    touchManagedPtr event+    freeMem keyval+    return (result', keyval')++#if ENABLE_OVERLOADING+data EventGetKeyvalMethodInfo+instance (signature ~ (m ((Bool, Word32))), MonadIO m) => O.MethodInfo EventGetKeyvalMethodInfo Event signature where+    overloadedMethod _ = eventGetKeyval++#endif++-- method Event::get_pointer_emulated+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_pointer_emulated" gdk_event_get_pointer_emulated :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    IO CInt++{- |+@/event/@: a 'GI.Gdk.Unions.Event.Event'+Returns whether this event is an \'emulated\' pointer event (typically+from a touch event), as opposed to a real one.++/Since: 3.22/+-}+eventGetPointerEmulated ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    -> m Bool+    {- ^ __Returns:__ 'True' if this event is emulated -}+eventGetPointerEmulated event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    result <- gdk_event_get_pointer_emulated event'+    let result' = (/= 0) result+    touchManagedPtr event+    return result'++#if ENABLE_OVERLOADING+data EventGetPointerEmulatedMethodInfo+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo EventGetPointerEmulatedMethodInfo Event signature where+    overloadedMethod _ = eventGetPointerEmulated++#endif++-- method Event::get_root_coords+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x_root", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to put root window x coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y_root", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to put root window y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_root_coords" gdk_event_get_root_coords :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    Ptr CDouble ->                          -- x_root : TBasicType TDouble+    Ptr CDouble ->                          -- y_root : TBasicType TDouble+    IO CInt++{- |+Extract the root window relative x\/y coordinates from an event.+-}+eventGetRootCoords ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}+    -> m ((Bool, Double, Double))+    {- ^ __Returns:__ 'True' if the event delivered root window coordinates -}+eventGetRootCoords event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    xRoot <- allocMem :: IO (Ptr CDouble)+    yRoot <- allocMem :: IO (Ptr CDouble)+    result <- gdk_event_get_root_coords event' xRoot yRoot+    let result' = (/= 0) result+    xRoot' <- peek xRoot+    let xRoot'' = realToFrac xRoot'+    yRoot' <- peek yRoot+    let yRoot'' = realToFrac yRoot'+    touchManagedPtr event+    freeMem xRoot+    freeMem yRoot+    return (result', xRoot'', yRoot'')++#if ENABLE_OVERLOADING+data EventGetRootCoordsMethodInfo+instance (signature ~ (m ((Bool, Double, Double))), MonadIO m) => O.MethodInfo EventGetRootCoordsMethodInfo Event signature where+    overloadedMethod _ = eventGetRootCoords++#endif++-- method Event::get_scancode+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_scancode" gdk_event_get_scancode :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    IO Int32++{- |+Gets the keyboard low-level scancode of a key event.++This is usually hardware_keycode. On Windows this is the high+word of WM_KEY{DOWN,UP} lParam which contains the scancode and+some extended flags.++/Since: 3.22/+-}+eventGetScancode ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}+    -> m Int32+    {- ^ __Returns:__ The associated keyboard scancode or 0 -}+eventGetScancode event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    result <- gdk_event_get_scancode event'+    touchManagedPtr event+    return result++#if ENABLE_OVERLOADING+data EventGetScancodeMethodInfo+instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo EventGetScancodeMethodInfo Event signature where+    overloadedMethod _ = eventGetScancode++#endif++-- method Event::get_screen+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Screen"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_screen" gdk_event_get_screen :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    IO (Ptr Gdk.Screen.Screen)++{- |+Returns the screen for the event. The screen is+typically the screen for @event->any.window@, but+for events such as mouse events, it is the screen+where the pointer was when the event occurs -+that is, the screen which has the root window+to which @event->motion.x_root@ and+@event->motion.y_root@ are relative.++/Since: 2.2/+-}+eventGetScreen ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}+    -> m Gdk.Screen.Screen+    {- ^ __Returns:__ the screen for the event -}+eventGetScreen event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    result <- gdk_event_get_screen event'+    checkUnexpectedReturnNULL "eventGetScreen" result+    result' <- (newObject Gdk.Screen.Screen) result+    touchManagedPtr event+    return result'++#if ENABLE_OVERLOADING+data EventGetScreenMethodInfo+instance (signature ~ (m Gdk.Screen.Screen), MonadIO m) => O.MethodInfo EventGetScreenMethodInfo Event signature where+    overloadedMethod _ = eventGetScreen++#endif++-- method Event::get_scroll_deltas+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "delta_x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for X delta", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "delta_y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for Y delta", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_scroll_deltas" gdk_event_get_scroll_deltas :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    Ptr CDouble ->                          -- delta_x : TBasicType TDouble+    Ptr CDouble ->                          -- delta_y : TBasicType TDouble+    IO CInt++{- |+Retrieves the scroll deltas from a 'GI.Gdk.Unions.Event.Event'++/Since: 3.4/+-}+eventGetScrollDeltas ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}+    -> m ((Bool, Double, Double))+    {- ^ __Returns:__ 'True' if the event contains smooth scroll information -}+eventGetScrollDeltas event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    deltaX <- allocMem :: IO (Ptr CDouble)+    deltaY <- allocMem :: IO (Ptr CDouble)+    result <- gdk_event_get_scroll_deltas event' deltaX deltaY+    let result' = (/= 0) result+    deltaX' <- peek deltaX+    let deltaX'' = realToFrac deltaX'+    deltaY' <- peek deltaY+    let deltaY'' = realToFrac deltaY'+    touchManagedPtr event+    freeMem deltaX+    freeMem deltaY+    return (result', deltaX'', deltaY'')++#if ENABLE_OVERLOADING+data EventGetScrollDeltasMethodInfo+instance (signature ~ (m ((Bool, Double, Double))), MonadIO m) => O.MethodInfo EventGetScrollDeltasMethodInfo Event signature where+    overloadedMethod _ = eventGetScrollDeltas++#endif++-- method Event::get_scroll_direction+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "direction", argType = TInterface (Name {namespace = "Gdk", name = "ScrollDirection"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the scroll direction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_scroll_direction" gdk_event_get_scroll_direction :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    Ptr CUInt ->                            -- direction : TInterface (Name {namespace = "Gdk", name = "ScrollDirection"})+    IO CInt++{- |+Extracts the scroll direction from an event.++/Since: 3.2/+-}+eventGetScrollDirection ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}+    -> m ((Bool, Gdk.Enums.ScrollDirection))+    {- ^ __Returns:__ 'True' if the event delivered a scroll direction -}+eventGetScrollDirection event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    direction <- allocMem :: IO (Ptr CUInt)+    result <- gdk_event_get_scroll_direction event' direction+    let result' = (/= 0) result+    direction' <- peek direction+    let direction'' = (toEnum . fromIntegral) direction'+    touchManagedPtr event+    freeMem direction+    return (result', direction'')++#if ENABLE_OVERLOADING+data EventGetScrollDirectionMethodInfo+instance (signature ~ (m ((Bool, Gdk.Enums.ScrollDirection))), MonadIO m) => O.MethodInfo EventGetScrollDirectionMethodInfo Event signature where+    overloadedMethod _ = eventGetScrollDirection++#endif++-- method Event::get_seat+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Seat"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_seat" gdk_event_get_seat :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    IO (Ptr Gdk.Seat.Seat)++{- |+Returns the 'GI.Gdk.Objects.Seat.Seat' this event was generated for.++/Since: 3.20/+-}+eventGetSeat ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}+    -> m Gdk.Seat.Seat+    {- ^ __Returns:__ The 'GI.Gdk.Objects.Seat.Seat' of this event -}+eventGetSeat event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    result <- gdk_event_get_seat event'+    checkUnexpectedReturnNULL "eventGetSeat" result+    result' <- (newObject Gdk.Seat.Seat) result+    touchManagedPtr event+    return result'++#if ENABLE_OVERLOADING+data EventGetSeatMethodInfo+instance (signature ~ (m Gdk.Seat.Seat), MonadIO m) => O.MethodInfo EventGetSeatMethodInfo Event signature where+    overloadedMethod _ = eventGetSeat++#endif++-- method Event::get_source_device+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Device"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_source_device" gdk_event_get_source_device :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    IO (Ptr Gdk.Device.Device)++{- |+This function returns the hardware (slave) 'GI.Gdk.Objects.Device.Device' that has+triggered the event, falling back to the virtual (master) device+(as in 'GI.Gdk.Unions.Event.eventGetDevice') if the event wasn’t caused by+interaction with a hardware device. This may happen for example+in synthesized crossing events after a 'GI.Gdk.Objects.Window.Window' updates its+geometry or a grab is acquired\/released.++If the event does not contain a device field, this function will+return 'Nothing'.++/Since: 3.0/+-}+eventGetSourceDevice ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}+    -> m (Maybe Gdk.Device.Device)+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Device.Device', or 'Nothing'. -}+eventGetSourceDevice event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    result <- gdk_event_get_source_device event'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (newObject Gdk.Device.Device) result'+        return result''+    touchManagedPtr event+    return maybeResult++#if ENABLE_OVERLOADING+data EventGetSourceDeviceMethodInfo+instance (signature ~ (m (Maybe Gdk.Device.Device)), MonadIO m) => O.MethodInfo EventGetSourceDeviceMethodInfo Event signature where+    overloadedMethod _ = eventGetSourceDevice++#endif++-- method Event::get_state+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_state" gdk_event_get_state :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    Ptr CUInt ->                            -- state : TInterface (Name {namespace = "Gdk", name = "ModifierType"})+    IO CInt++{- |+If the event contains a “state” field, puts that field in /@state@/. Otherwise+stores an empty state (0). Returns 'True' if there was a state field+in the event. /@event@/ may be 'Nothing', in which case it’s treated+as if the event had no state field.+-}+eventGetState ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' or 'Nothing' -}+    -> m ((Bool, [Gdk.Flags.ModifierType]))+    {- ^ __Returns:__ 'True' if there was a state field in the event -}+eventGetState event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    state <- allocMem :: IO (Ptr CUInt)+    result <- gdk_event_get_state event' state+    let result' = (/= 0) result+    state' <- peek state+    let state'' = wordToGFlags state'+    touchManagedPtr event+    freeMem state+    return (result', state'')++#if ENABLE_OVERLOADING+data EventGetStateMethodInfo+instance (signature ~ (m ((Bool, [Gdk.Flags.ModifierType]))), MonadIO m) => O.MethodInfo EventGetStateMethodInfo Event signature where+    overloadedMethod _ = eventGetState++#endif++-- method Event::get_time+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUInt32)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_time" gdk_event_get_time :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    IO Word32++{- |+Returns the time stamp from /@event@/, if there is one; otherwise+returns 'GI.Gdk.Constants.CURRENT_TIME'. If /@event@/ is 'Nothing', returns 'GI.Gdk.Constants.CURRENT_TIME'.+-}+eventGetTime ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}+    -> m Word32+    {- ^ __Returns:__ time stamp field from /@event@/ -}+eventGetTime event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    result <- gdk_event_get_time event'+    touchManagedPtr event+    return result++#if ENABLE_OVERLOADING+data EventGetTimeMethodInfo+instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo EventGetTimeMethodInfo Event signature where+    overloadedMethod _ = eventGetTime++#endif++-- method Event::get_window+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get_window" gdk_event_get_window :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    IO (Ptr Gdk.Window.Window)++{- |+Extracts the 'GI.Gdk.Objects.Window.Window' associated with an event.++/Since: 3.10/+-}+eventGetWindow ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}+    -> m Gdk.Window.Window+    {- ^ __Returns:__ The 'GI.Gdk.Objects.Window.Window' associated with the event -}+eventGetWindow event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    result <- gdk_event_get_window event'+    checkUnexpectedReturnNULL "eventGetWindow" result+    result' <- (newObject Gdk.Window.Window) result+    touchManagedPtr event+    return result'++#if ENABLE_OVERLOADING+data EventGetWindowMethodInfo+instance (signature ~ (m Gdk.Window.Window), MonadIO m) => O.MethodInfo EventGetWindowMethodInfo Event signature where+    overloadedMethod _ = eventGetWindow++#endif++-- method Event::is_scroll_stop_event+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_is_scroll_stop_event" gdk_event_is_scroll_stop_event :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    IO CInt++{- |+Check whether a scroll event is a stop scroll event. Scroll sequences+with smooth scroll information may provide a stop scroll event once the+interaction with the device finishes, e.g. by lifting a finger. This+stop scroll event is the signal that a widget may trigger kinetic+scrolling based on the current velocity.++Stop scroll events always have a a delta of 0\/0.++/Since: 3.20/+-}+eventIsScrollStopEvent ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the event is a scroll stop event -}+eventIsScrollStopEvent event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    result <- gdk_event_is_scroll_stop_event event'+    let result' = (/= 0) result+    touchManagedPtr event+    return result'++#if ENABLE_OVERLOADING+data EventIsScrollStopEventMethodInfo+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo EventIsScrollStopEventMethodInfo Event signature where+    overloadedMethod _ = eventIsScrollStopEvent++#endif++-- method Event::put+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_put" gdk_event_put :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    IO ()++{- |+Appends a copy of the given event onto the front of the event+queue for event->any.window’s display, or the default event+queue if event->any.window is 'Nothing'. See 'GI.Gdk.Objects.Display.displayPutEvent'.+-}+eventPut ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event'. -}+    -> m ()+eventPut event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    gdk_event_put event'+    touchManagedPtr event+    return ()++#if ENABLE_OVERLOADING+data EventPutMethodInfo+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo EventPutMethodInfo Event signature where+    overloadedMethod _ = eventPut++#endif++-- method Event::set_device+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_set_device" gdk_event_set_device :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    Ptr Gdk.Device.Device ->                -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    IO ()++{- |+Sets the device for /@event@/ to /@device@/. The event must+have been allocated by GTK+, for instance, by+'GI.Gdk.Unions.Event.eventCopy'.++/Since: 3.0/+-}+eventSetDevice ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Device.IsDevice a) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}+    -> a+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}+    -> m ()+eventSetDevice event device = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    device' <- unsafeManagedPtrCastPtr device+    gdk_event_set_device event' device'+    touchManagedPtr event+    touchManagedPtr device+    return ()++#if ENABLE_OVERLOADING+data EventSetDeviceMethodInfo+instance (signature ~ (a -> m ()), MonadIO m, Gdk.Device.IsDevice a) => O.MethodInfo EventSetDeviceMethodInfo Event signature where+    overloadedMethod _ = eventSetDevice++#endif++-- method Event::set_device_tool+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tool", argType = TInterface (Name {namespace = "Gdk", name = "DeviceTool"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "tool to set on the event, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_set_device_tool" gdk_event_set_device_tool :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    Ptr Gdk.DeviceTool.DeviceTool ->        -- tool : TInterface (Name {namespace = "Gdk", name = "DeviceTool"})+    IO ()++{- |+Sets the device tool for this event, should be rarely used.++/Since: 3.22/+-}+eventSetDeviceTool ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.DeviceTool.IsDeviceTool a) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}+    -> Maybe (a)+    {- ^ /@tool@/: tool to set on the event, or 'Nothing' -}+    -> m ()+eventSetDeviceTool event tool = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    maybeTool <- case tool of+        Nothing -> return nullPtr+        Just jTool -> do+            jTool' <- unsafeManagedPtrCastPtr jTool+            return jTool'+    gdk_event_set_device_tool event' maybeTool+    touchManagedPtr event+    whenJust tool touchManagedPtr+    return ()++#if ENABLE_OVERLOADING+data EventSetDeviceToolMethodInfo+instance (signature ~ (Maybe (a) -> m ()), MonadIO m, Gdk.DeviceTool.IsDeviceTool a) => O.MethodInfo EventSetDeviceToolMethodInfo Event signature where+    overloadedMethod _ = eventSetDeviceTool++#endif++-- method Event::set_screen+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_set_screen" gdk_event_set_screen :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    Ptr Gdk.Screen.Screen ->                -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})+    IO ()++{- |+Sets the screen for /@event@/ to /@screen@/. The event must+have been allocated by GTK+, for instance, by+'GI.Gdk.Unions.Event.eventCopy'.++/Since: 2.2/+-}+eventSetScreen ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Screen.IsScreen a) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}+    -> a+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}+    -> m ()+eventSetScreen event screen = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    screen' <- unsafeManagedPtrCastPtr screen+    gdk_event_set_screen event' screen'+    touchManagedPtr event+    touchManagedPtr screen+    return ()++#if ENABLE_OVERLOADING+data EventSetScreenMethodInfo+instance (signature ~ (a -> m ()), MonadIO m, Gdk.Screen.IsScreen a) => O.MethodInfo EventSetScreenMethodInfo Event signature where+    overloadedMethod _ = eventSetScreen++#endif++-- method Event::set_source_device+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_set_source_device" gdk_event_set_source_device :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    Ptr Gdk.Device.Device ->                -- device : TInterface (Name {namespace = "Gdk", name = "Device"})+    IO ()++{- |+Sets the slave device for /@event@/ to /@device@/.++The event must have been allocated by GTK+,+for instance by 'GI.Gdk.Unions.Event.eventCopy'.++/Since: 3.0/+-}+eventSetSourceDevice ::+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Device.IsDevice a) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}+    -> a+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}+    -> m ()+eventSetSourceDevice event device = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    device' <- unsafeManagedPtrCastPtr device+    gdk_event_set_source_device event' device'+    touchManagedPtr event+    touchManagedPtr device+    return ()++#if ENABLE_OVERLOADING+data EventSetSourceDeviceMethodInfo+instance (signature ~ (a -> m ()), MonadIO m, Gdk.Device.IsDevice a) => O.MethodInfo EventSetSourceDeviceMethodInfo Event signature where+    overloadedMethod _ = eventSetSourceDevice++#endif++-- method Event::triggers_context_menu+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent, currently only button events are meaningful values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_triggers_context_menu" gdk_event_triggers_context_menu :: +    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gdk", name = "Event"})+    IO CInt++{- |+This function returns whether a 'GI.Gdk.Structs.EventButton.EventButton' should trigger a+context menu, according to platform conventions. The right mouse+button always triggers context menus. Additionally, if+'GI.Gdk.Objects.Keymap.keymapGetModifierMask' returns a non-0 mask for+'GI.Gdk.Enums.ModifierIntentContextMenu', then the left mouse button will+also trigger a context menu if this modifier is pressed.++This function should always be used instead of simply checking for+event->button == 'GI.Gdk.Constants.BUTTON_SECONDARY'.++/Since: 3.4/+-}+eventTriggersContextMenu ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Event+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event', currently only button events are meaningful values -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the event should trigger a context menu. -}+eventTriggersContextMenu event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    result <- gdk_event_triggers_context_menu event'+    let result' = (/= 0) result+    touchManagedPtr event+    return result'++#if ENABLE_OVERLOADING+data EventTriggersContextMenuMethodInfo+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo EventTriggersContextMenuMethodInfo Event signature where+    overloadedMethod _ = eventTriggersContextMenu++#endif++-- method Event::get+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Event"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_get" gdk_event_get :: +    IO (Ptr Event)++{- |+Checks all open displays for a 'GI.Gdk.Unions.Event.Event' to process,to be processed+on, fetching events from the windowing system if necessary.+See 'GI.Gdk.Objects.Display.displayGetEvent'.+-}+eventGet ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m (Maybe Event)+    {- ^ __Returns:__ the next 'GI.Gdk.Unions.Event.Event' to be processed, or 'Nothing'+if no events are pending. The returned 'GI.Gdk.Unions.Event.Event' should be freed+with 'GI.Gdk.Unions.Event.eventFree'. -}+eventGet  = liftIO $ do+    result <- gdk_event_get+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (wrapBoxed Event) result'+        return result''+    return maybeResult++#if ENABLE_OVERLOADING+#endif++-- method Event::handler_set+-- method type : MemberFunction+-- Args : [Arg {argCName = "func", argType = TInterface (Name {namespace = "Gdk", name = "EventFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the function to call to handle events from GDK.", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 1, argDestroy = 2, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to the function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the function to call when the handler function is removed, i.e. when\n         gdk_event_handler_set() is called with another event handler.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_handler_set" gdk_event_handler_set :: +    FunPtr Gdk.Callbacks.C_EventFunc ->     -- func : TInterface (Name {namespace = "Gdk", name = "EventFunc"})+    Ptr () ->                               -- data : TBasicType TPtr+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})+    IO ()++{- |+Sets the function to call to handle all events from GDK.++Note that GTK+ uses this to install its own event handler, so it is+usually not useful for GTK+ applications. (Although an application+can call this function then call @/gtk_main_do_event()/@ to pass+events to GTK+.)+-}+eventHandlerSet ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Gdk.Callbacks.EventFunc+    {- ^ /@func@/: the function to call to handle events from GDK. -}+    -> m ()+eventHandlerSet func = liftIO $ do+    func' <- Gdk.Callbacks.mk_EventFunc (Gdk.Callbacks.wrap_EventFunc Nothing (Gdk.Callbacks.drop_closures_EventFunc func))+    let data_ = castFunPtrToPtr func'+    let notify = safeFreeFunPtrPtr+    gdk_event_handler_set func' data_ notify+    return ()++#if ENABLE_OVERLOADING+#endif++-- method Event::peek+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Event"}))+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_peek" gdk_event_peek :: +    IO (Ptr Event)++{- |+If there is an event waiting in the event queue of some open+display, returns a copy of it. See 'GI.Gdk.Objects.Display.displayPeekEvent'.+-}+eventPeek ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m (Maybe Event)+    {- ^ __Returns:__ a copy of the first 'GI.Gdk.Unions.Event.Event' on some event+queue, or 'Nothing' if no events are in any queues. The returned+'GI.Gdk.Unions.Event.Event' should be freed with 'GI.Gdk.Unions.Event.eventFree'. -}+eventPeek  = liftIO $ do+    result <- gdk_event_peek+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- (wrapBoxed Event) result'+        return result''+    return maybeResult++#if ENABLE_OVERLOADING+#endif++-- method Event::request_motions+-- method type : MemberFunction+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "EventMotion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gdk_event_request_motions" gdk_event_request_motions :: +    Ptr Gdk.EventMotion.EventMotion ->      -- event : TInterface (Name {namespace = "Gdk", name = "EventMotion"})+    IO ()++{- |+Request more motion notifies if /@event@/ is a motion notify hint event.++This function should be used instead of 'GI.Gdk.Objects.Window.windowGetPointer' to+request further motion notifies, because it also works for extension+events where motion notifies are provided for devices other than the+core pointer. Coordinate extraction, processing and requesting more+motion events from a 'GI.Gdk.Enums.EventTypeMotionNotify' event usually works like this:+++=== /C code/+>+>{+>  // motion_event handler+>  x = motion_event->x;+>  y = motion_event->y;+>  // handle (x,y) motion+>  gdk_event_request_motions (motion_event); // handles is_hint events+>}+++/Since: 2.12/+-}+eventRequestMotions ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Gdk.EventMotion.EventMotion+    {- ^ /@event@/: a valid 'GI.Gdk.Unions.Event.Event' -}+    -> m ()+eventRequestMotions event = liftIO $ do+    event' <- unsafeManagedPtrGetPtr event+    gdk_event_request_motions event'+    touchManagedPtr event+    return ()++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type family ResolveEventMethod (t :: Symbol) (o :: *) :: * where+    ResolveEventMethod "copy" o = EventCopyMethodInfo+    ResolveEventMethod "free" o = EventFreeMethodInfo+    ResolveEventMethod "isScrollStopEvent" o = EventIsScrollStopEventMethodInfo+    ResolveEventMethod "put" o = EventPutMethodInfo+    ResolveEventMethod "triggersContextMenu" o = EventTriggersContextMenuMethodInfo+    ResolveEventMethod "getAxis" o = EventGetAxisMethodInfo+    ResolveEventMethod "getButton" o = EventGetButtonMethodInfo+    ResolveEventMethod "getClickCount" o = EventGetClickCountMethodInfo+    ResolveEventMethod "getCoords" o = EventGetCoordsMethodInfo+    ResolveEventMethod "getDevice" o = EventGetDeviceMethodInfo+    ResolveEventMethod "getDeviceTool" o = EventGetDeviceToolMethodInfo+    ResolveEventMethod "getEventSequence" o = EventGetEventSequenceMethodInfo+    ResolveEventMethod "getEventType" o = EventGetEventTypeMethodInfo+    ResolveEventMethod "getKeycode" o = EventGetKeycodeMethodInfo+    ResolveEventMethod "getKeyval" o = EventGetKeyvalMethodInfo+    ResolveEventMethod "getPointerEmulated" o = EventGetPointerEmulatedMethodInfo+    ResolveEventMethod "getRootCoords" o = EventGetRootCoordsMethodInfo+    ResolveEventMethod "getScancode" o = EventGetScancodeMethodInfo+    ResolveEventMethod "getScreen" o = EventGetScreenMethodInfo+    ResolveEventMethod "getScrollDeltas" o = EventGetScrollDeltasMethodInfo+    ResolveEventMethod "getScrollDirection" o = EventGetScrollDirectionMethodInfo+    ResolveEventMethod "getSeat" o = EventGetSeatMethodInfo+    ResolveEventMethod "getSourceDevice" o = EventGetSourceDeviceMethodInfo+    ResolveEventMethod "getState" o = EventGetStateMethodInfo+    ResolveEventMethod "getTime" o = EventGetTimeMethodInfo+    ResolveEventMethod "getWindow" o = EventGetWindowMethodInfo+    ResolveEventMethod "setDevice" o = EventSetDeviceMethodInfo+    ResolveEventMethod "setDeviceTool" o = EventSetDeviceToolMethodInfo+    ResolveEventMethod "setScreen" o = EventSetScreenMethodInfo+    ResolveEventMethod "setSourceDevice" o = EventSetSourceDeviceMethodInfo+    ResolveEventMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEventMethod t Event, O.MethodInfo info Event p) => OL.IsLabel t (Event -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/Gdk/Unions/Event.hs-boot view
@@ -0,0 +1,116 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Gdk.Unions.Event where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype Event = Event (ManagedPtr Event)+instance BoxedObject Event where+#if ENABLE_OVERLOADING+data EventCopyMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventFreeMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventGetAxisMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventGetButtonMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventGetClickCountMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventGetCoordsMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventGetDeviceMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventGetDeviceToolMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventGetEventSequenceMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventGetEventTypeMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventGetKeycodeMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventGetKeyvalMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventGetPointerEmulatedMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventGetRootCoordsMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventGetScancodeMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventGetScreenMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventGetScrollDeltasMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventGetScrollDirectionMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventGetSeatMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventGetSourceDeviceMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventGetStateMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventGetTimeMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventGetWindowMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventIsScrollStopEventMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventPutMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventSetDeviceMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventSetDeviceToolMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventSetScreenMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventSetSourceDeviceMethodInfo+#endif+#if ENABLE_OVERLOADING+data EventTriggersContextMenuMethodInfo+#endif
LICENSE view
@@ -1,3 +1,17 @@+The gi-gdk library and included works are provided under the terms of the+GNU Library General Public License (LGPL) version 2.1 with the following+exception:++Static linking of applications or any other source to the gi-gdk library+does not constitute a modified or derivative work and does not require+the author(s) to provide source code for said work, to link against the+shared gi-gdk libraries, or to link their applications against a+user-supplied version of gi-gdk. If you link applications to a modified+version of gi-gdk, then the changes to gi-gdk must be provided under the+terms of the LGPL.++----------------------------------------------------------------------------+                   GNU LESSER GENERAL PUBLIC LICENSE                        Version 2.1, February 1999 
README.md view
@@ -1,6 +1,6 @@ # Documentation Autogenerated documentation for this package can be found at -[https://hackage.haskell.org/package/gi-gdk-3.0.16/docs/GI-Gdk.html](https://hackage.haskell.org/package/gi-gdk-3.0.16/docs/GI-Gdk.html)+[https://hackage.haskell.org/package/gi-gdk-3.0.18/docs/GI-Gdk.html](https://hackage.haskell.org/package/gi-gdk-3.0.18/docs/GI-Gdk.html)  For general documentation on using [haskell-gi](https://github.com/haskell-gi/haskell-gi) based bindings, see [the project page](https://github.com/haskell-gi/haskell-gi) or [the Wiki](https://github.com/haskell-gi/haskell-gi/wiki).
gi-gdk.cabal view
@@ -1,12 +1,12 @@ name:                 gi-gdk-version:              3.0.16+version:              3.0.18 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)+maintainer:           Iñaki García Etxebarria (inaki@blueleaf.cc) category:             Bindings build-type:           Custom cabal-version:        1.24@@ -14,20 +14,20 @@ extra-source-files: README.md ChangeLog.md stack.yaml Gdk.overrides  custom-setup-      setup-depends: base >= 4.7 && < 5,+      setup-depends: base >= 4.9 && < 5,                      Cabal >= 1.24,-                     haskell-gi >= 0.21.1 && < 0.22+                     haskell-gi >= 0.21.0 && < 0.23  library       default-language: Haskell2010-      default-extensions: NoImplicitPrelude, ScopedTypeVariables, CPP, OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts+      default-extensions: NoImplicitPrelude, ScopedTypeVariables, CPP, OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts, UndecidableSuperClasses       other-extensions: PatternSynonyms, ViewPatterns       ghc-options: -fno-warn-unused-imports -fno-warn-warnings-deprecations        pkgconfig-depends: gdk-3.0       build-depends: base >= 4.7 && <5,-                     haskell-gi-base == 0.21.*,-                     haskell-gi >= 0.21.1 && < 0.22,+                     haskell-gi-base >= 0.21.0 && < 0.23,+                     haskell-gi >= 0.21.0 && < 0.23,                      haskell-gi-overloading < 1.1,                      gi-cairo == 1.0.*,                      gi-pango == 1.0.*,@@ -44,3 +44,69 @@       -- see https://ghc.haskell.org/trac/ghc/ticket/14382       if impl(ghc == 8.2.*)               build-depends: haskell-gi-overloading == 0.0++      exposed-modules: GI.Gdk,+                       GI.Gdk.Callbacks,+                       GI.Gdk.Constants,+                       GI.Gdk.Enums,+                       GI.Gdk.Flags,+                       GI.Gdk.Functions,+                       GI.Gdk.Interfaces,+                       GI.Gdk.Interfaces.DevicePad,+                       GI.Gdk.Objects,+                       GI.Gdk.Objects.AppLaunchContext,+                       GI.Gdk.Objects.Cursor,+                       GI.Gdk.Objects.Device,+                       GI.Gdk.Objects.DeviceManager,+                       GI.Gdk.Objects.DeviceTool,+                       GI.Gdk.Objects.Display,+                       GI.Gdk.Objects.DisplayManager,+                       GI.Gdk.Objects.DragContext,+                       GI.Gdk.Objects.DrawingContext,+                       GI.Gdk.Objects.FrameClock,+                       GI.Gdk.Objects.GLContext,+                       GI.Gdk.Objects.Keymap,+                       GI.Gdk.Objects.Monitor,+                       GI.Gdk.Objects.Screen,+                       GI.Gdk.Objects.Seat,+                       GI.Gdk.Objects.Visual,+                       GI.Gdk.Objects.Window,+                       GI.Gdk.Structs,+                       GI.Gdk.Structs.Atom,+                       GI.Gdk.Structs.Color,+                       GI.Gdk.Structs.EventAny,+                       GI.Gdk.Structs.EventButton,+                       GI.Gdk.Structs.EventConfigure,+                       GI.Gdk.Structs.EventCrossing,+                       GI.Gdk.Structs.EventDND,+                       GI.Gdk.Structs.EventExpose,+                       GI.Gdk.Structs.EventFocus,+                       GI.Gdk.Structs.EventGrabBroken,+                       GI.Gdk.Structs.EventKey,+                       GI.Gdk.Structs.EventMotion,+                       GI.Gdk.Structs.EventOwnerChange,+                       GI.Gdk.Structs.EventPadAxis,+                       GI.Gdk.Structs.EventPadButton,+                       GI.Gdk.Structs.EventPadGroupMode,+                       GI.Gdk.Structs.EventProperty,+                       GI.Gdk.Structs.EventProximity,+                       GI.Gdk.Structs.EventScroll,+                       GI.Gdk.Structs.EventSelection,+                       GI.Gdk.Structs.EventSequence,+                       GI.Gdk.Structs.EventSetting,+                       GI.Gdk.Structs.EventTouch,+                       GI.Gdk.Structs.EventTouchpadPinch,+                       GI.Gdk.Structs.EventTouchpadSwipe,+                       GI.Gdk.Structs.EventVisibility,+                       GI.Gdk.Structs.EventWindowState,+                       GI.Gdk.Structs.FrameTimings,+                       GI.Gdk.Structs.Geometry,+                       GI.Gdk.Structs.KeymapKey,+                       GI.Gdk.Structs.Point,+                       GI.Gdk.Structs.RGBA,+                       GI.Gdk.Structs.Rectangle,+                       GI.Gdk.Structs.TimeCoord,+                       GI.Gdk.Structs.WindowAttr,+                       GI.Gdk.Structs.WindowRedirect,+                       GI.Gdk.Unions,+                       GI.Gdk.Unions.Event
stack.yaml view
@@ -1,3 +1,3 @@ packages: - '.'-resolver: lts-9.21+resolver: lts-13.7