SDL-0.6.7.0: Binding to libSDL

Copyright | (c) David Himmelstrup 2005
License | BSD-like
Maintainer | lemmih@gmail.com
Stability | provisional
Portability | portable
Safe Haskell | None
Language | Haskell98

Graphics.UI.SDL.Video

Description

Synopsis

- data Palette
- data Toggle
  - = Disable
  - | Enable
  - | Query
- fromToggle :: Num a => Toggle -> a
- toToggle :: (Eq a, Num a) => a -> Toggle
- tryGetVideoSurface :: IO (Maybe Surface)
- getVideoSurface :: IO Surface
- tryVideoDriverName :: IO (Maybe String)
- videoDriverName :: IO String
- getVideoInfo :: IO VideoInfo
- data ListModes
  - = Modes [Rect]
  - | NonAvailable
  - | AnyOK
- listModes :: Maybe PixelFormat -> [SurfaceFlag] -> IO ListModes
- videoModeOK :: Int -> Int -> Int -> [SurfaceFlag] -> IO (Maybe Int)
- trySetVideoMode :: Int -> Int -> Int -> [SurfaceFlag] -> IO (Maybe Surface)
- setVideoMode :: Int -> Int -> Int -> [SurfaceFlag] -> IO Surface
- updateRect :: Surface -> Rect -> IO ()
- updateRects :: Surface -> [Rect] -> IO ()
- tryFlip :: Surface -> IO Bool
- flip :: Surface -> IO ()
- setColors :: Surface -> [Color] -> Int -> IO Bool
- setPalette :: Surface -> [Palette] -> [Color] -> Int -> IO Bool
- setGamma :: Float -> Float -> Float -> IO Bool
- tryGetGammaRamp :: IO (Maybe ([Word16], [Word16], [Word16]))
- getGammaRamp :: IO ([Word16], [Word16], [Word16])
- trySetGammaRamp :: [Word16] -> [Word16] -> [Word16] -> IO Bool
- setGammaRamp :: [Word16] -> [Word16] -> [Word16] -> IO ()
- mapRGB :: PixelFormat -> Word8 -> Word8 -> Word8 -> IO Pixel
- mapRGBA :: PixelFormat -> Word8 -> Word8 -> Word8 -> Word8 -> IO Pixel
- getRGB :: Pixel -> PixelFormat -> IO (Word8, Word8, Word8)
- getRGBA :: Pixel -> PixelFormat -> IO (Word8, Word8, Word8, Word8)
- tryCreateRGBSurface :: [SurfaceFlag] -> Int -> Int -> Int -> Word32 -> Word32 -> Word32 -> Word32 -> IO (Maybe Surface)
- createRGBSurface :: [SurfaceFlag] -> Int -> Int -> Int -> Word32 -> Word32 -> Word32 -> Word32 -> IO Surface
- tryCreateRGBSurfaceEndian :: [SurfaceFlag] -> Int -> Int -> Int -> IO (Maybe Surface)
- createRGBSurfaceEndian :: [SurfaceFlag] -> Int -> Int -> Int -> IO Surface
- tryCreateRGBSurfaceFrom :: Ptr a -> Int -> Int -> Int -> Int -> Word32 -> Word32 -> Word32 -> Word32 -> IO (Maybe Surface)
- createRGBSurfaceFrom :: Ptr a -> Int -> Int -> Int -> Int -> Word32 -> Word32 -> Word32 -> Word32 -> IO Surface
- freeSurface :: Surface -> IO ()
- lockSurface :: Surface -> IO Bool
- unlockSurface :: Surface -> IO ()
- loadBMP :: FilePath -> IO Surface
- saveBMP :: Surface -> FilePath -> IO Bool
- setColorKey :: Surface -> [SurfaceFlag] -> Pixel -> IO Bool
- setAlpha :: Surface -> [SurfaceFlag] -> Word8 -> IO Bool
- setClipRect :: Surface -> Maybe Rect -> IO ()
- getClipRect :: Surface -> IO Rect
- withClipRect :: Surface -> Maybe Rect -> IO a -> IO a
- tryConvertSurface :: Surface -> PixelFormat -> [SurfaceFlag] -> IO (Maybe Surface)
- convertSurface :: Surface -> PixelFormat -> [SurfaceFlag] -> IO Surface
- blitSurface :: Surface -> Maybe Rect -> Surface -> Maybe Rect -> IO Bool
- fillRect :: Surface -> Maybe Rect -> Pixel -> IO Bool
- tryDisplayFormat :: Surface -> IO (Maybe Surface)
- displayFormat :: Surface -> IO Surface
- tryDisplayFormatAlpha :: Surface -> IO (Maybe Surface)
- displayFormatAlpha :: Surface -> IO Surface
- warpMouse :: Word16 -> Word16 -> IO ()
- showCursor :: Bool -> IO ()
- queryCursorState :: IO Bool
- type GLAttr = CInt
- type GLValue = CInt
- glRedSize :: GLAttr
- glGreenSize :: GLAttr
- glBlueSize :: GLAttr
- glAlphaSize :: GLAttr
- glBufferSize :: GLAttr
- glDoubleBuffer :: GLAttr
- glDepthSize :: GLAttr
- glStencilSize :: GLAttr
- glAccumRedSize :: GLAttr
- glAccumGreenSize :: GLAttr
- glAccumBlueSize :: GLAttr
- glAccumAlphaSize :: GLAttr
- glStereo :: GLAttr
- glMultiSampleBuffers :: GLAttr
- glMultiSampleSamples :: GLAttr
- tryGLGetAttribute :: GLAttr -> IO (Maybe GLValue)
- glGetAttribute :: GLAttr -> IO GLValue
- tryGLSetAttribute :: GLAttr -> GLValue -> IO Bool
- glSetAttribute :: GLAttr -> GLValue -> IO ()
- glSwapBuffers :: IO ()
- mkFinalizedSurface :: Ptr SurfaceStruct -> IO Surface

# Documentation

data Palette Source #

Instances

Bounded Palette Source # |
Instance details Defined in Graphics.UI.SDL.Video Methods minBound :: Palette Source # maxBound :: Palette Source #
Eq Palette Source # |
Instance details Defined in Graphics.UI.SDL.Video Methods (==) :: Palette -> Palette -> Bool Source # (/=) :: Palette -> Palette -> Bool Source #
Ord Palette Source # |
Instance details Defined in Graphics.UI.SDL.Video Methods compare :: Palette -> Palette -> Ordering Source # (<) :: Palette -> Palette -> Bool Source # (<=) :: Palette -> Palette -> Bool Source # (>) :: Palette -> Palette -> Bool Source # (>=) :: Palette -> Palette -> Bool Source # max :: Palette -> Palette -> Palette Source # min :: Palette -> Palette -> Palette Source #
Show Palette Source # |
Instance details Defined in Graphics.UI.SDL.Video Methods showsPrec :: Int -> Palette -> ShowS Source # show :: Palette -> String Source # showList :: [Palette] -> ShowS Source #
Enum Palette Int Source # |
Instance details Defined in Graphics.UI.SDL.Video Methods succ :: Palette -> Palette Source # pred :: Palette -> Palette Source # toEnum :: Int -> Palette Source # fromEnum :: Palette -> Int Source # enumFromTo :: Palette -> Palette -> [Palette] Source #

data Toggle Source #

Constructors

Disable |
Enable |
Query |

Instances

Eq Toggle Source # |
Instance details Defined in Graphics.UI.SDL.Video Methods (==) :: Toggle -> Toggle -> Bool Source # (/=) :: Toggle -> Toggle -> Bool Source #
Ord Toggle Source # |
Instance details Defined in Graphics.UI.SDL.Video Methods compare :: Toggle -> Toggle -> Ordering Source # (<) :: Toggle -> Toggle -> Bool Source # (<=) :: Toggle -> Toggle -> Bool Source # (>) :: Toggle -> Toggle -> Bool Source # (>=) :: Toggle -> Toggle -> Bool Source # max :: Toggle -> Toggle -> Toggle Source # min :: Toggle -> Toggle -> Toggle Source #
Show Toggle Source # |
Instance details Defined in Graphics.UI.SDL.Video Methods showsPrec :: Int -> Toggle -> ShowS Source # show :: Toggle -> String Source # showList :: [Toggle] -> ShowS Source #

fromToggle :: Num a => Toggle -> a Source #

toToggle :: (Eq a, Num a) => a -> Toggle Source #

tryGetVideoSurface :: IO (Maybe Surface) Source #

Returns the video surface or `Nothing` on error.

getVideoSurface :: IO Surface Source #

Returns the video surface, throwing an exception on error.

tryVideoDriverName :: IO (Maybe String) Source #

Returns the video driver name or `Nothing` on error. Notice, the driver name is limited to 256 chars.

videoDriverName :: IO String Source #

Returns the video driver name, throwing an exception on error. See also `tryVideoDriverName`.

getVideoInfo :: IO VideoInfo Source #

data ListModes Source #

Constructors

Modes [Rect] | List of available resolutions.
NonAvailable | No modes available!
AnyOK | All resolutions available.

Instances

Eq ListModes Source # |
Instance details Defined in Graphics.UI.SDL.Video Methods (==) :: ListModes -> ListModes -> Bool Source # (/=) :: ListModes -> ListModes -> Bool Source #
Ord ListModes Source # |

Instance details

Defined in Graphics.UI.SDL.Video

Methods

compare :: ListModes -> ListModes -> Ordering Source #

(<) :: ListModes -> ListModes -> Bool Source #

(<=) :: ListModes -> ListModes -> Bool Source #

(>) :: ListModes -> ListModes -> Bool Source #

(>=) :: ListModes -> ListModes -> Bool Source #

max :: ListModes -> ListModes -> ListModes Source #

min :: ListModes -> ListModes -> ListModes Source #

Show ListModes Source # |
Instance details Defined in Graphics.UI.SDL.Video Methods showsPrec :: Int -> ListModes -> ShowS Source # show :: ListModes -> String Source # showList :: [ListModes] -> ShowS Source #

listModes Source #

Arguments

:: Maybe PixelFormat | Will use SDL_GetVideoInfo()->vfmt when `Nothing`.
-> [SurfaceFlag] |
-> IO ListModes |

Returns the available screen resolutions for the given format and video flags.

videoModeOK Source #

Arguments

:: Int | Width.
-> Int | Height.
-> Int | Bits-per-pixel.
-> [SurfaceFlag] | Flags.
-> IO (Maybe Int) |

Check to see if a particular video mode is supported. Returns the bits-per-pixel of the closest available mode with the given width, height and requested surface flags, or `Nothing` on error.

trySetVideoMode Source #

Arguments

:: Int | Width.
-> Int | Height.
-> Int | Bits-per-pixel.
-> [SurfaceFlag] | Flags.
-> IO (Maybe Surface) |

Set up a video mode with the specified width, height and bits-per-pixel. Returns `Nothing` on error.

setVideoMode :: Int -> Int -> Int -> [SurfaceFlag] -> IO Surface Source #

Same as `trySetVideoMode` except it throws an exception on error.

updateRect :: Surface -> Rect -> IO () Source #

Makes sure the given area is updated on the given screen.

updateRects :: Surface -> [Rect] -> IO () Source #

Makes sure the given list of rectangles is updated on the given screen. The rectangles are not automatically merged or checked for overlap. In general, the programmer can use his knowledge about his particular rectangles to merge them in an efficient way, to avoid overdraw.

tryFlip :: Surface -> IO Bool Source #

Swaps screen buffers.

flip :: Surface -> IO () Source #

Same as `tryFlip` but throws an exception on error.

setColors :: Surface -> [Color] -> Int -> IO Bool Source #

Sets a portion of the colormap for the given 8-bit surface.

setPalette :: Surface -> [Palette] -> [Color] -> Int -> IO Bool Source #

Sets the colors in the palette of an 8-bit surface.

setGamma :: Float -> Float -> Float -> IO Bool Source #

tryGetGammaRamp :: IO (Maybe ([Word16], [Word16], [Word16])) Source #

getGammaRamp :: IO ([Word16], [Word16], [Word16]) Source #

trySetGammaRamp :: [Word16] -> [Word16] -> [Word16] -> IO Bool Source #

setGammaRamp :: [Word16] -> [Word16] -> [Word16] -> IO () Source #

mapRGB Source #

Arguments

:: PixelFormat |
-> Word8 | Red value.
-> Word8 | Green value.
-> Word8 | Blue value.
-> IO Pixel |

Map a RGB color value to a pixel format.

mapRGBA Source #

Arguments

:: PixelFormat |
-> Word8 | Red value.
-> Word8 | Green value.
-> Word8 | Blue value.
-> Word8 | Alpha value.
-> IO Pixel |

Map a RGBA color value to a pixel format.

getRGB :: Pixel -> PixelFormat -> IO (Word8, Word8, Word8) Source #

Get RGB values from a pixel in the specified pixel format.

getRGBA :: Pixel -> PixelFormat -> IO (Word8, Word8, Word8, Word8) Source #

Gets RGBA values from a pixel in the specified pixel format.

tryCreateRGBSurface :: [SurfaceFlag] -> Int -> Int -> Int -> Word32 -> Word32 -> Word32 -> Word32 -> IO (Maybe Surface) Source #

Creates an empty `Surface`. Returns `Nothing` on error.

createRGBSurface :: [SurfaceFlag] -> Int -> Int -> Int -> Word32 -> Word32 -> Word32 -> Word32 -> IO Surface Source #

Creates an empty `Surface`. Throws an exception on error.

tryCreateRGBSurfaceEndian :: [SurfaceFlag] -> Int -> Int -> Int -> IO (Maybe Surface) Source #

Creates an empty `Surface` with (r/g/b/a)mask determined from the local endian. Returns `Nothing` on error.

createRGBSurfaceEndian :: [SurfaceFlag] -> Int -> Int -> Int -> IO Surface Source #

Creates an empty `Surface` with (r/g/b/a)mask determined from the local endian. Throws an exception on error.

tryCreateRGBSurfaceFrom :: Ptr a -> Int -> Int -> Int -> Int -> Word32 -> Word32 -> Word32 -> Word32 -> IO (Maybe Surface) Source #

createRGBSurfaceFrom :: Ptr a -> Int -> Int -> Int -> Int -> Word32 -> Word32 -> Word32 -> Word32 -> IO Surface Source #

freeSurface :: Surface -> IO () Source #

Forces the finalization of a `Surface`. Only supported with GHC.

lockSurface :: Surface -> IO Bool Source #

Locks a surface for direct access.

unlockSurface :: Surface -> IO () Source #

Unlocks a previously locked surface.

loadBMP :: FilePath -> IO Surface Source #

saveBMP :: Surface -> FilePath -> IO Bool Source #

setColorKey :: Surface -> [SurfaceFlag] -> Pixel -> IO Bool Source #

setAlpha :: Surface -> [SurfaceFlag] -> Word8 -> IO Bool Source #

Adjusts the alpha properties of a surface.

setClipRect :: Surface -> Maybe Rect -> IO () Source #

Sets the clipping rectangle for a surface.

getClipRect :: Surface -> IO Rect Source #

Gets the clipping rectangle for a surface.

withClipRect :: Surface -> Maybe Rect -> IO a -> IO a Source #

Run an action with a given clipping rect applied. If an exception is raised, then withClipRect will re-raise the exception (after resetting the original clipping rect).

tryConvertSurface :: Surface -> PixelFormat -> [SurfaceFlag] -> IO (Maybe Surface) Source #

Converts a surface to the same format as another surface. Returns `Nothing` on error.

convertSurface :: Surface -> PixelFormat -> [SurfaceFlag] -> IO Surface Source #

Converts a surface to the same format as another surface. Throws an exception on error.

blitSurface :: Surface -> Maybe Rect -> Surface -> Maybe Rect -> IO Bool Source #

This function performs a fast blit from the source surface to the destination surface.

fillRect :: Surface -> Maybe Rect -> Pixel -> IO Bool Source #

This function performs a fast fill of the given rectangle with some color.

tryDisplayFormat :: Surface -> IO (Maybe Surface) Source #

Converts a surface to the display format. Returns `Nothing` on error.

displayFormat :: Surface -> IO Surface Source #

Converts a surface to the display format. Throws an exception on error.

tryDisplayFormatAlpha :: Surface -> IO (Maybe Surface) Source #

Converts a surface to the display format. Returns `Nothing` on error.

displayFormatAlpha :: Surface -> IO Surface Source #

Converts a surface to the display format. Throws an exception on error.

warpMouse Source #

Arguments

:: Word16 | Mouse X position.
-> Word16 | Mouse Y position.
-> IO () |

Sets the position of the mouse cursor.

showCursor :: Bool -> IO () Source #

Toggle whether or not the cursor is shown on the screen.

queryCursorState :: IO Bool Source #

Returns `True` when the cursor is set to visible. See also `showCursor`.

type GLAttr = CInt Source #

type GLValue = CInt Source #

glRedSize :: GLAttr Source #

glGreenSize :: GLAttr Source #

glBlueSize :: GLAttr Source #

glAlphaSize :: GLAttr Source #

glBufferSize :: GLAttr Source #

glDoubleBuffer :: GLAttr Source #

glDepthSize :: GLAttr Source #

glStencilSize :: GLAttr Source #

glAccumRedSize :: GLAttr Source #

glAccumGreenSize :: GLAttr Source #

glAccumBlueSize :: GLAttr Source #

glAccumAlphaSize :: GLAttr Source #

glStereo :: GLAttr Source #

glMultiSampleBuffers :: GLAttr Source #

glMultiSampleSamples :: GLAttr Source #

tryGLGetAttribute :: GLAttr -> IO (Maybe GLValue) Source #

Gets the value of a special SDL/OpenGL attribute. Returns `Nothing` on error.

glGetAttribute :: GLAttr -> IO GLValue Source #

Gets the value of a special SDL/OpenGL attribute. Throws an exception on error.

tryGLSetAttribute :: GLAttr -> GLValue -> IO Bool Source #

Sets a special SDL/OpenGL attribute. Returns `False` on error.

glSetAttribute :: GLAttr -> GLValue -> IO () Source #

Sets a special SDL/OpenGL attribute. Throws an exception on error.

glSwapBuffers :: IO () Source #

Swaps OpenGL framebuffers/Update Display.

mkFinalizedSurface :: Ptr SurfaceStruct -> IO Surface Source #