{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE FunctionalDependencies #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE UndecidableInstances #-} module Reflex.SDL2.Class where import Control.Concurrent (MVar) import Control.Monad.Reader (ReaderT) import Control.Monad.Trans (lift) import Data.Word (Word32) import Reflex (Event, Reflex) import Reflex.DynamicWriter.Base (DynamicWriterT) import SDL hiding (Event) class (Reflex t, Monad m) => HasSDL2Events t m | m -> t where getTicksEvent :: m (Event t Word32) getAnySDLEvent :: m (Event t EventPayload) getWindowShownEvent :: m (Event t WindowShownEventData) getWindowHiddenEvent :: m (Event t WindowHiddenEventData) getWindowExposedEvent :: m (Event t WindowExposedEventData) getWindowMovedEvent :: m (Event t WindowMovedEventData) getWindowResizedEvent :: m (Event t WindowResizedEventData) getWindowSizeChangedEvent :: m (Event t WindowSizeChangedEventData) getWindowMinimizedEvent :: m (Event t WindowMinimizedEventData) getWindowMaximizedEvent :: m (Event t WindowMaximizedEventData) getWindowRestoredEvent :: m (Event t WindowRestoredEventData) getWindowGainedMouseFocusEvent :: m (Event t WindowGainedMouseFocusEventData) getWindowLostMouseFocusEvent :: m (Event t WindowLostMouseFocusEventData) getWindowGainedKeyboardFocusEvent :: m (Event t WindowGainedKeyboardFocusEventData) getWindowLostKeyboardFocusEvent :: m (Event t WindowLostKeyboardFocusEventData) getWindowClosedEvent :: m (Event t WindowClosedEventData) getKeyboardEvent :: m (Event t KeyboardEventData) getTextEditingEvent :: m (Event t TextEditingEventData) getTextInputEvent :: m (Event t TextInputEventData) getKeymapChangedEvent :: m (Event t ()) getMouseMotionEvent :: m (Event t MouseMotionEventData) getMouseButtonEvent :: m (Event t MouseButtonEventData) getMouseWheelEvent :: m (Event t MouseWheelEventData) getJoyAxisEvent :: m (Event t JoyAxisEventData) getJoyBallEvent :: m (Event t JoyBallEventData) getJoyHatEvent :: m (Event t JoyHatEventData) getJoyButtonEvent :: m (Event t JoyButtonEventData) getJoyDeviceEvent :: m (Event t JoyDeviceEventData) getControllerAxisEvent :: m (Event t ControllerAxisEventData) getControllerButtonEvent :: m (Event t ControllerButtonEventData) getControllerDeviceEvent :: m (Event t ControllerDeviceEventData) getAudioDeviceEvent :: m (Event t AudioDeviceEventData) getQuitEvent :: m (Event t ()) getUserEvent :: m (Event t UserEventData) getSysWMEvent :: m (Event t SysWMEventData) getTouchFingerEvent :: m (Event t TouchFingerEventData) getMultiGestureEvent :: m (Event t MultiGestureEventData) getDollarGestureEvent :: m (Event t DollarGestureEventData) getDropEvent :: m (Event t DropEventData) getClipboardUpdateEvent :: m (Event t ()) getUnknownEvent :: m (Event t UnknownEventData) getQuitVar :: m (MVar ()) instance HasSDL2Events t m => HasSDL2Events t (ReaderT r m) where getTicksEvent :: ReaderT r m (Event t Word32) getTicksEvent = m (Event t Word32) -> ReaderT r m (Event t Word32) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t Word32) forall t (m :: * -> *). HasSDL2Events t m => m (Event t Word32) getTicksEvent getAnySDLEvent :: ReaderT r m (Event t EventPayload) getAnySDLEvent = m (Event t EventPayload) -> ReaderT r m (Event t EventPayload) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t EventPayload) forall t (m :: * -> *). HasSDL2Events t m => m (Event t EventPayload) getAnySDLEvent getWindowShownEvent :: ReaderT r m (Event t WindowShownEventData) getWindowShownEvent = m (Event t WindowShownEventData) -> ReaderT r m (Event t WindowShownEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowShownEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowShownEventData) getWindowShownEvent getWindowHiddenEvent :: ReaderT r m (Event t WindowHiddenEventData) getWindowHiddenEvent = m (Event t WindowHiddenEventData) -> ReaderT r m (Event t WindowHiddenEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowHiddenEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowHiddenEventData) getWindowHiddenEvent getWindowExposedEvent :: ReaderT r m (Event t WindowExposedEventData) getWindowExposedEvent = m (Event t WindowExposedEventData) -> ReaderT r m (Event t WindowExposedEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowExposedEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowExposedEventData) getWindowExposedEvent getWindowMovedEvent :: ReaderT r m (Event t WindowMovedEventData) getWindowMovedEvent = m (Event t WindowMovedEventData) -> ReaderT r m (Event t WindowMovedEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowMovedEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowMovedEventData) getWindowMovedEvent getWindowResizedEvent :: ReaderT r m (Event t WindowResizedEventData) getWindowResizedEvent = m (Event t WindowResizedEventData) -> ReaderT r m (Event t WindowResizedEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowResizedEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowResizedEventData) getWindowResizedEvent getWindowSizeChangedEvent :: ReaderT r m (Event t WindowSizeChangedEventData) getWindowSizeChangedEvent = m (Event t WindowSizeChangedEventData) -> ReaderT r m (Event t WindowSizeChangedEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowSizeChangedEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowSizeChangedEventData) getWindowSizeChangedEvent getWindowMinimizedEvent :: ReaderT r m (Event t WindowMinimizedEventData) getWindowMinimizedEvent = m (Event t WindowMinimizedEventData) -> ReaderT r m (Event t WindowMinimizedEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowMinimizedEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowMinimizedEventData) getWindowMinimizedEvent getWindowMaximizedEvent :: ReaderT r m (Event t WindowMaximizedEventData) getWindowMaximizedEvent = m (Event t WindowMaximizedEventData) -> ReaderT r m (Event t WindowMaximizedEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowMaximizedEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowMaximizedEventData) getWindowMaximizedEvent getWindowRestoredEvent :: ReaderT r m (Event t WindowRestoredEventData) getWindowRestoredEvent = m (Event t WindowRestoredEventData) -> ReaderT r m (Event t WindowRestoredEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowRestoredEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowRestoredEventData) getWindowRestoredEvent getWindowGainedMouseFocusEvent :: ReaderT r m (Event t WindowGainedMouseFocusEventData) getWindowGainedMouseFocusEvent = m (Event t WindowGainedMouseFocusEventData) -> ReaderT r m (Event t WindowGainedMouseFocusEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowGainedMouseFocusEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowGainedMouseFocusEventData) getWindowGainedMouseFocusEvent getWindowLostMouseFocusEvent :: ReaderT r m (Event t WindowLostMouseFocusEventData) getWindowLostMouseFocusEvent = m (Event t WindowLostMouseFocusEventData) -> ReaderT r m (Event t WindowLostMouseFocusEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowLostMouseFocusEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowLostMouseFocusEventData) getWindowLostMouseFocusEvent getWindowGainedKeyboardFocusEvent :: ReaderT r m (Event t WindowGainedKeyboardFocusEventData) getWindowGainedKeyboardFocusEvent = m (Event t WindowGainedKeyboardFocusEventData) -> ReaderT r m (Event t WindowGainedKeyboardFocusEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowGainedKeyboardFocusEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowGainedKeyboardFocusEventData) getWindowGainedKeyboardFocusEvent getWindowLostKeyboardFocusEvent :: ReaderT r m (Event t WindowLostKeyboardFocusEventData) getWindowLostKeyboardFocusEvent = m (Event t WindowLostKeyboardFocusEventData) -> ReaderT r m (Event t WindowLostKeyboardFocusEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowLostKeyboardFocusEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowLostKeyboardFocusEventData) getWindowLostKeyboardFocusEvent getWindowClosedEvent :: ReaderT r m (Event t WindowClosedEventData) getWindowClosedEvent = m (Event t WindowClosedEventData) -> ReaderT r m (Event t WindowClosedEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowClosedEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowClosedEventData) getWindowClosedEvent getKeyboardEvent :: ReaderT r m (Event t KeyboardEventData) getKeyboardEvent = m (Event t KeyboardEventData) -> ReaderT r m (Event t KeyboardEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t KeyboardEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t KeyboardEventData) getKeyboardEvent getTextEditingEvent :: ReaderT r m (Event t TextEditingEventData) getTextEditingEvent = m (Event t TextEditingEventData) -> ReaderT r m (Event t TextEditingEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t TextEditingEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t TextEditingEventData) getTextEditingEvent getTextInputEvent :: ReaderT r m (Event t TextInputEventData) getTextInputEvent = m (Event t TextInputEventData) -> ReaderT r m (Event t TextInputEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t TextInputEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t TextInputEventData) getTextInputEvent getKeymapChangedEvent :: ReaderT r m (Event t ()) getKeymapChangedEvent = m (Event t ()) -> ReaderT r m (Event t ()) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t ()) forall t (m :: * -> *). HasSDL2Events t m => m (Event t ()) getKeymapChangedEvent getMouseMotionEvent :: ReaderT r m (Event t MouseMotionEventData) getMouseMotionEvent = m (Event t MouseMotionEventData) -> ReaderT r m (Event t MouseMotionEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t MouseMotionEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t MouseMotionEventData) getMouseMotionEvent getMouseButtonEvent :: ReaderT r m (Event t MouseButtonEventData) getMouseButtonEvent = m (Event t MouseButtonEventData) -> ReaderT r m (Event t MouseButtonEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t MouseButtonEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t MouseButtonEventData) getMouseButtonEvent getMouseWheelEvent :: ReaderT r m (Event t MouseWheelEventData) getMouseWheelEvent = m (Event t MouseWheelEventData) -> ReaderT r m (Event t MouseWheelEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t MouseWheelEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t MouseWheelEventData) getMouseWheelEvent getJoyAxisEvent :: ReaderT r m (Event t JoyAxisEventData) getJoyAxisEvent = m (Event t JoyAxisEventData) -> ReaderT r m (Event t JoyAxisEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t JoyAxisEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t JoyAxisEventData) getJoyAxisEvent getJoyBallEvent :: ReaderT r m (Event t JoyBallEventData) getJoyBallEvent = m (Event t JoyBallEventData) -> ReaderT r m (Event t JoyBallEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t JoyBallEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t JoyBallEventData) getJoyBallEvent getJoyHatEvent :: ReaderT r m (Event t JoyHatEventData) getJoyHatEvent = m (Event t JoyHatEventData) -> ReaderT r m (Event t JoyHatEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t JoyHatEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t JoyHatEventData) getJoyHatEvent getJoyButtonEvent :: ReaderT r m (Event t JoyButtonEventData) getJoyButtonEvent = m (Event t JoyButtonEventData) -> ReaderT r m (Event t JoyButtonEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t JoyButtonEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t JoyButtonEventData) getJoyButtonEvent getJoyDeviceEvent :: ReaderT r m (Event t JoyDeviceEventData) getJoyDeviceEvent = m (Event t JoyDeviceEventData) -> ReaderT r m (Event t JoyDeviceEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t JoyDeviceEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t JoyDeviceEventData) getJoyDeviceEvent getControllerAxisEvent :: ReaderT r m (Event t ControllerAxisEventData) getControllerAxisEvent = m (Event t ControllerAxisEventData) -> ReaderT r m (Event t ControllerAxisEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t ControllerAxisEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t ControllerAxisEventData) getControllerAxisEvent getControllerButtonEvent :: ReaderT r m (Event t ControllerButtonEventData) getControllerButtonEvent = m (Event t ControllerButtonEventData) -> ReaderT r m (Event t ControllerButtonEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t ControllerButtonEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t ControllerButtonEventData) getControllerButtonEvent getControllerDeviceEvent :: ReaderT r m (Event t ControllerDeviceEventData) getControllerDeviceEvent = m (Event t ControllerDeviceEventData) -> ReaderT r m (Event t ControllerDeviceEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t ControllerDeviceEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t ControllerDeviceEventData) getControllerDeviceEvent getAudioDeviceEvent :: ReaderT r m (Event t AudioDeviceEventData) getAudioDeviceEvent = m (Event t AudioDeviceEventData) -> ReaderT r m (Event t AudioDeviceEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t AudioDeviceEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t AudioDeviceEventData) getAudioDeviceEvent getQuitEvent :: ReaderT r m (Event t ()) getQuitEvent = m (Event t ()) -> ReaderT r m (Event t ()) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t ()) forall t (m :: * -> *). HasSDL2Events t m => m (Event t ()) getQuitEvent getUserEvent :: ReaderT r m (Event t UserEventData) getUserEvent = m (Event t UserEventData) -> ReaderT r m (Event t UserEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t UserEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t UserEventData) getUserEvent getSysWMEvent :: ReaderT r m (Event t SysWMEventData) getSysWMEvent = m (Event t SysWMEventData) -> ReaderT r m (Event t SysWMEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t SysWMEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t SysWMEventData) getSysWMEvent getTouchFingerEvent :: ReaderT r m (Event t TouchFingerEventData) getTouchFingerEvent = m (Event t TouchFingerEventData) -> ReaderT r m (Event t TouchFingerEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t TouchFingerEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t TouchFingerEventData) getTouchFingerEvent getMultiGestureEvent :: ReaderT r m (Event t MultiGestureEventData) getMultiGestureEvent = m (Event t MultiGestureEventData) -> ReaderT r m (Event t MultiGestureEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t MultiGestureEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t MultiGestureEventData) getMultiGestureEvent getDollarGestureEvent :: ReaderT r m (Event t DollarGestureEventData) getDollarGestureEvent = m (Event t DollarGestureEventData) -> ReaderT r m (Event t DollarGestureEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t DollarGestureEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t DollarGestureEventData) getDollarGestureEvent getDropEvent :: ReaderT r m (Event t DropEventData) getDropEvent = m (Event t DropEventData) -> ReaderT r m (Event t DropEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t DropEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t DropEventData) getDropEvent getClipboardUpdateEvent :: ReaderT r m (Event t ()) getClipboardUpdateEvent = m (Event t ()) -> ReaderT r m (Event t ()) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t ()) forall t (m :: * -> *). HasSDL2Events t m => m (Event t ()) getClipboardUpdateEvent getUnknownEvent :: ReaderT r m (Event t UnknownEventData) getUnknownEvent = m (Event t UnknownEventData) -> ReaderT r m (Event t UnknownEventData) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t UnknownEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t UnknownEventData) getUnknownEvent getQuitVar :: ReaderT r m (MVar ()) getQuitVar = m (MVar ()) -> ReaderT r m (MVar ()) forall (m :: * -> *) a. Monad m => m a -> ReaderT r m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (MVar ()) forall t (m :: * -> *). HasSDL2Events t m => m (MVar ()) getQuitVar instance HasSDL2Events t m => HasSDL2Events t (DynamicWriterT t w m) where getTicksEvent :: DynamicWriterT t w m (Event t Word32) getTicksEvent = m (Event t Word32) -> DynamicWriterT t w m (Event t Word32) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t Word32) forall t (m :: * -> *). HasSDL2Events t m => m (Event t Word32) getTicksEvent getAnySDLEvent :: DynamicWriterT t w m (Event t EventPayload) getAnySDLEvent = m (Event t EventPayload) -> DynamicWriterT t w m (Event t EventPayload) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t EventPayload) forall t (m :: * -> *). HasSDL2Events t m => m (Event t EventPayload) getAnySDLEvent getWindowShownEvent :: DynamicWriterT t w m (Event t WindowShownEventData) getWindowShownEvent = m (Event t WindowShownEventData) -> DynamicWriterT t w m (Event t WindowShownEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowShownEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowShownEventData) getWindowShownEvent getWindowHiddenEvent :: DynamicWriterT t w m (Event t WindowHiddenEventData) getWindowHiddenEvent = m (Event t WindowHiddenEventData) -> DynamicWriterT t w m (Event t WindowHiddenEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowHiddenEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowHiddenEventData) getWindowHiddenEvent getWindowExposedEvent :: DynamicWriterT t w m (Event t WindowExposedEventData) getWindowExposedEvent = m (Event t WindowExposedEventData) -> DynamicWriterT t w m (Event t WindowExposedEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowExposedEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowExposedEventData) getWindowExposedEvent getWindowMovedEvent :: DynamicWriterT t w m (Event t WindowMovedEventData) getWindowMovedEvent = m (Event t WindowMovedEventData) -> DynamicWriterT t w m (Event t WindowMovedEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowMovedEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowMovedEventData) getWindowMovedEvent getWindowResizedEvent :: DynamicWriterT t w m (Event t WindowResizedEventData) getWindowResizedEvent = m (Event t WindowResizedEventData) -> DynamicWriterT t w m (Event t WindowResizedEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowResizedEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowResizedEventData) getWindowResizedEvent getWindowSizeChangedEvent :: DynamicWriterT t w m (Event t WindowSizeChangedEventData) getWindowSizeChangedEvent = m (Event t WindowSizeChangedEventData) -> DynamicWriterT t w m (Event t WindowSizeChangedEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowSizeChangedEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowSizeChangedEventData) getWindowSizeChangedEvent getWindowMinimizedEvent :: DynamicWriterT t w m (Event t WindowMinimizedEventData) getWindowMinimizedEvent = m (Event t WindowMinimizedEventData) -> DynamicWriterT t w m (Event t WindowMinimizedEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowMinimizedEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowMinimizedEventData) getWindowMinimizedEvent getWindowMaximizedEvent :: DynamicWriterT t w m (Event t WindowMaximizedEventData) getWindowMaximizedEvent = m (Event t WindowMaximizedEventData) -> DynamicWriterT t w m (Event t WindowMaximizedEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowMaximizedEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowMaximizedEventData) getWindowMaximizedEvent getWindowRestoredEvent :: DynamicWriterT t w m (Event t WindowRestoredEventData) getWindowRestoredEvent = m (Event t WindowRestoredEventData) -> DynamicWriterT t w m (Event t WindowRestoredEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowRestoredEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowRestoredEventData) getWindowRestoredEvent getWindowGainedMouseFocusEvent :: DynamicWriterT t w m (Event t WindowGainedMouseFocusEventData) getWindowGainedMouseFocusEvent = m (Event t WindowGainedMouseFocusEventData) -> DynamicWriterT t w m (Event t WindowGainedMouseFocusEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowGainedMouseFocusEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowGainedMouseFocusEventData) getWindowGainedMouseFocusEvent getWindowLostMouseFocusEvent :: DynamicWriterT t w m (Event t WindowLostMouseFocusEventData) getWindowLostMouseFocusEvent = m (Event t WindowLostMouseFocusEventData) -> DynamicWriterT t w m (Event t WindowLostMouseFocusEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowLostMouseFocusEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowLostMouseFocusEventData) getWindowLostMouseFocusEvent getWindowGainedKeyboardFocusEvent :: DynamicWriterT t w m (Event t WindowGainedKeyboardFocusEventData) getWindowGainedKeyboardFocusEvent = m (Event t WindowGainedKeyboardFocusEventData) -> DynamicWriterT t w m (Event t WindowGainedKeyboardFocusEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowGainedKeyboardFocusEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowGainedKeyboardFocusEventData) getWindowGainedKeyboardFocusEvent getWindowLostKeyboardFocusEvent :: DynamicWriterT t w m (Event t WindowLostKeyboardFocusEventData) getWindowLostKeyboardFocusEvent = m (Event t WindowLostKeyboardFocusEventData) -> DynamicWriterT t w m (Event t WindowLostKeyboardFocusEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowLostKeyboardFocusEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowLostKeyboardFocusEventData) getWindowLostKeyboardFocusEvent getWindowClosedEvent :: DynamicWriterT t w m (Event t WindowClosedEventData) getWindowClosedEvent = m (Event t WindowClosedEventData) -> DynamicWriterT t w m (Event t WindowClosedEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t WindowClosedEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t WindowClosedEventData) getWindowClosedEvent getKeyboardEvent :: DynamicWriterT t w m (Event t KeyboardEventData) getKeyboardEvent = m (Event t KeyboardEventData) -> DynamicWriterT t w m (Event t KeyboardEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t KeyboardEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t KeyboardEventData) getKeyboardEvent getTextEditingEvent :: DynamicWriterT t w m (Event t TextEditingEventData) getTextEditingEvent = m (Event t TextEditingEventData) -> DynamicWriterT t w m (Event t TextEditingEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t TextEditingEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t TextEditingEventData) getTextEditingEvent getTextInputEvent :: DynamicWriterT t w m (Event t TextInputEventData) getTextInputEvent = m (Event t TextInputEventData) -> DynamicWriterT t w m (Event t TextInputEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t TextInputEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t TextInputEventData) getTextInputEvent getKeymapChangedEvent :: DynamicWriterT t w m (Event t ()) getKeymapChangedEvent = m (Event t ()) -> DynamicWriterT t w m (Event t ()) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t ()) forall t (m :: * -> *). HasSDL2Events t m => m (Event t ()) getKeymapChangedEvent getMouseMotionEvent :: DynamicWriterT t w m (Event t MouseMotionEventData) getMouseMotionEvent = m (Event t MouseMotionEventData) -> DynamicWriterT t w m (Event t MouseMotionEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t MouseMotionEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t MouseMotionEventData) getMouseMotionEvent getMouseButtonEvent :: DynamicWriterT t w m (Event t MouseButtonEventData) getMouseButtonEvent = m (Event t MouseButtonEventData) -> DynamicWriterT t w m (Event t MouseButtonEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t MouseButtonEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t MouseButtonEventData) getMouseButtonEvent getMouseWheelEvent :: DynamicWriterT t w m (Event t MouseWheelEventData) getMouseWheelEvent = m (Event t MouseWheelEventData) -> DynamicWriterT t w m (Event t MouseWheelEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t MouseWheelEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t MouseWheelEventData) getMouseWheelEvent getJoyAxisEvent :: DynamicWriterT t w m (Event t JoyAxisEventData) getJoyAxisEvent = m (Event t JoyAxisEventData) -> DynamicWriterT t w m (Event t JoyAxisEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t JoyAxisEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t JoyAxisEventData) getJoyAxisEvent getJoyBallEvent :: DynamicWriterT t w m (Event t JoyBallEventData) getJoyBallEvent = m (Event t JoyBallEventData) -> DynamicWriterT t w m (Event t JoyBallEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t JoyBallEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t JoyBallEventData) getJoyBallEvent getJoyHatEvent :: DynamicWriterT t w m (Event t JoyHatEventData) getJoyHatEvent = m (Event t JoyHatEventData) -> DynamicWriterT t w m (Event t JoyHatEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t JoyHatEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t JoyHatEventData) getJoyHatEvent getJoyButtonEvent :: DynamicWriterT t w m (Event t JoyButtonEventData) getJoyButtonEvent = m (Event t JoyButtonEventData) -> DynamicWriterT t w m (Event t JoyButtonEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t JoyButtonEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t JoyButtonEventData) getJoyButtonEvent getJoyDeviceEvent :: DynamicWriterT t w m (Event t JoyDeviceEventData) getJoyDeviceEvent = m (Event t JoyDeviceEventData) -> DynamicWriterT t w m (Event t JoyDeviceEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t JoyDeviceEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t JoyDeviceEventData) getJoyDeviceEvent getControllerAxisEvent :: DynamicWriterT t w m (Event t ControllerAxisEventData) getControllerAxisEvent = m (Event t ControllerAxisEventData) -> DynamicWriterT t w m (Event t ControllerAxisEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t ControllerAxisEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t ControllerAxisEventData) getControllerAxisEvent getControllerButtonEvent :: DynamicWriterT t w m (Event t ControllerButtonEventData) getControllerButtonEvent = m (Event t ControllerButtonEventData) -> DynamicWriterT t w m (Event t ControllerButtonEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t ControllerButtonEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t ControllerButtonEventData) getControllerButtonEvent getControllerDeviceEvent :: DynamicWriterT t w m (Event t ControllerDeviceEventData) getControllerDeviceEvent = m (Event t ControllerDeviceEventData) -> DynamicWriterT t w m (Event t ControllerDeviceEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t ControllerDeviceEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t ControllerDeviceEventData) getControllerDeviceEvent getAudioDeviceEvent :: DynamicWriterT t w m (Event t AudioDeviceEventData) getAudioDeviceEvent = m (Event t AudioDeviceEventData) -> DynamicWriterT t w m (Event t AudioDeviceEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t AudioDeviceEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t AudioDeviceEventData) getAudioDeviceEvent getQuitEvent :: DynamicWriterT t w m (Event t ()) getQuitEvent = m (Event t ()) -> DynamicWriterT t w m (Event t ()) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t ()) forall t (m :: * -> *). HasSDL2Events t m => m (Event t ()) getQuitEvent getUserEvent :: DynamicWriterT t w m (Event t UserEventData) getUserEvent = m (Event t UserEventData) -> DynamicWriterT t w m (Event t UserEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t UserEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t UserEventData) getUserEvent getSysWMEvent :: DynamicWriterT t w m (Event t SysWMEventData) getSysWMEvent = m (Event t SysWMEventData) -> DynamicWriterT t w m (Event t SysWMEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t SysWMEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t SysWMEventData) getSysWMEvent getTouchFingerEvent :: DynamicWriterT t w m (Event t TouchFingerEventData) getTouchFingerEvent = m (Event t TouchFingerEventData) -> DynamicWriterT t w m (Event t TouchFingerEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t TouchFingerEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t TouchFingerEventData) getTouchFingerEvent getMultiGestureEvent :: DynamicWriterT t w m (Event t MultiGestureEventData) getMultiGestureEvent = m (Event t MultiGestureEventData) -> DynamicWriterT t w m (Event t MultiGestureEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t MultiGestureEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t MultiGestureEventData) getMultiGestureEvent getDollarGestureEvent :: DynamicWriterT t w m (Event t DollarGestureEventData) getDollarGestureEvent = m (Event t DollarGestureEventData) -> DynamicWriterT t w m (Event t DollarGestureEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t DollarGestureEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t DollarGestureEventData) getDollarGestureEvent getDropEvent :: DynamicWriterT t w m (Event t DropEventData) getDropEvent = m (Event t DropEventData) -> DynamicWriterT t w m (Event t DropEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t DropEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t DropEventData) getDropEvent getClipboardUpdateEvent :: DynamicWriterT t w m (Event t ()) getClipboardUpdateEvent = m (Event t ()) -> DynamicWriterT t w m (Event t ()) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t ()) forall t (m :: * -> *). HasSDL2Events t m => m (Event t ()) getClipboardUpdateEvent getUnknownEvent :: DynamicWriterT t w m (Event t UnknownEventData) getUnknownEvent = m (Event t UnknownEventData) -> DynamicWriterT t w m (Event t UnknownEventData) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (Event t UnknownEventData) forall t (m :: * -> *). HasSDL2Events t m => m (Event t UnknownEventData) getUnknownEvent getQuitVar :: DynamicWriterT t w m (MVar ()) getQuitVar = m (MVar ()) -> DynamicWriterT t w m (MVar ()) forall (m :: * -> *) a. Monad m => m a -> DynamicWriterT t w m a forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. (MonadTrans t, Monad m) => m a -> t m a lift m (MVar ()) forall t (m :: * -> *). HasSDL2Events t m => m (MVar ()) getQuitVar