SDL-0.6.5.1: Binding to libSDL

Copyright(c) David Himmelstrup 2005
LicenseBSD-like
Maintainerlemmih@gmail.com
Stabilityprovisional
Portabilityportable
Safe HaskellNone
LanguageHaskell98

Graphics.UI.SDL.Events

Description

 

Synopsis

Documentation

data Event #

High level event structure.

Constructors

NoEvent 
GotFocus [Focus] 
LostFocus [Focus] 
KeyDown !Keysym 
KeyUp !Keysym 
MouseMotion !Word16 !Word16 !Int16 !Int16 
MouseButtonDown !Word16 !Word16 !MouseButton 
MouseButtonUp !Word16 !Word16 !MouseButton 
JoyAxisMotion !Word8 !Word8 !Int16

device index, axis index, axis value.

JoyBallMotion !Word8 !Word8 !Int16 !Int16

device index, trackball index, relative motion.

JoyHatMotion !Word8 !Word8 !Word8

device index, hat index, hat position.

JoyButtonDown !Word8 !Word8

device index, button index.

JoyButtonUp !Word8 !Word8

device index, button index.

VideoResize !Int !Int

When Resizable is passed as a flag to setVideoMode the user is allowed to resize the applications window. When the window is resized an VideoResize is reported, with the new window width and height values. When an VideoResize is recieved the window should be resized to the new dimensions using setVideoMode.

VideoExpose

A VideoExpose event is triggered when the screen has been modified outside of the application, usually by the window manager and needs to be redrawn.

Quit 
User !UserEventID !Int !(Ptr ()) !(Ptr ()) 
Unknown 

Instances

Eq Event # 

Methods

(==) :: Event -> Event -> Bool #

(/=) :: Event -> Event -> Bool #

Show Event # 

Methods

showsPrec :: Int -> Event -> ShowS #

show :: Event -> String #

showList :: [Event] -> ShowS #

Storable Event # 

Methods

sizeOf :: Event -> Int #

alignment :: Event -> Int #

peekElemOff :: Ptr Event -> Int -> IO Event #

pokeElemOff :: Ptr Event -> Int -> Event -> IO () #

peekByteOff :: Ptr b -> Int -> IO Event #

pokeByteOff :: Ptr b -> Int -> Event -> IO () #

peek :: Ptr Event -> IO Event #

poke :: Ptr Event -> Event -> IO () #

data Focus #

Instances

toSafePtr :: Typeable a => a -> IO SafePtr #

Constructs a safe pointer from an arbitrary value.

tryFromSafePtr :: Typeable a => SafePtr -> IO (Maybe a) #

Get object from a safe pointer. Nothing on type mismatch.

fromSafePtr :: Typeable a => SafePtr -> IO a #

Get object from a safe pointer. Throws an exception on type mismatch.

typeOfSafePtr :: SafePtr -> IO TypeRep #

Return the type of the object the safe pointer was created from.

enableKeyRepeat #

Arguments

:: Int

Initial delay. 0 to disable.

-> Int

Interval.

-> IO Bool 

Sets keyboard repeat rate. Returns False on error.

enableUnicode :: Bool -> IO () #

Enables or disables unicode translation.

queryUnicodeState :: IO Bool #

Returns the current state of unicode translation. See also enableUnicode.

getKeyName :: SDLKey -> String #

Gets the name of an SDL virtual keysym.

getMouseState :: IO (Int, Int, [MouseButton]) #

Retrieves the current state of the mouse. Returns (X position, Y position, pressed buttons).

getRelativeMouseState :: IO (Int, Int, [MouseButton]) #

Retrieve the current state of the mouse. Like getMouseState except that X and Y are set to the change since last call to getRelativeMouseState.

getModState :: IO [Modifier] #

Gets the state of modifier keys.

setModState :: [Modifier] -> IO () #

Sets the internal state of modifier keys.

tryPushEvent :: Event -> IO Bool #

Pushes an event onto the event queue. Returns False on error.

pushEvent :: Event -> IO () #

Pushes an event onto the event queue. Throws an exception on error.

pollEvent :: IO Event #

Polls for currently pending events.

waitEvent :: IO Event #

Waits indefinitely for the next available event.

waitEventBlocking :: IO Event #

Waits indefinitely for the next available event. Blocks Haskell threads.

pumpEvents :: IO () #

Pumps the event loop, gathering events from the input devices.

enableEvent :: SDLEvent -> Bool -> IO () #

Enable or disable events from being processed.

queryEventState :: SDLEvent -> IO Bool #

Checks current state of a event. See also enableEvent.

getAppState :: IO [Focus] #

Gets the state of the application.