sdl2-2.5.2.0: Both high- and low-level bindings to the SDL library (version 2.0.6+).
Safe HaskellSafe
LanguageHaskell2010

SDL.Raw.Video

Synopsis

Display and Window Management

createWindow :: MonadIO m => CString -> CInt -> CInt -> CInt -> CInt -> Word32 -> m Window Source #

createWindowAndRenderer :: MonadIO m => CInt -> CInt -> Word32 -> Ptr Window -> Ptr Renderer -> m CInt Source #

createWindowFrom :: MonadIO m => Ptr () -> m Window Source #

destroyWindow :: MonadIO m => Window -> m () Source #

disableScreenSaver :: MonadIO m => m () Source #

enableScreenSaver :: MonadIO m => m () Source #

glBindTexture :: MonadIO m => Texture -> Ptr CFloat -> Ptr CFloat -> m CInt Source #

glCreateContext :: MonadIO m => Window -> m GLContext Source #

glDeleteContext :: MonadIO m => GLContext -> m () Source #

glExtensionSupported :: MonadIO m => CString -> m Bool Source #

glGetAttribute :: MonadIO m => GLattr -> Ptr CInt -> m CInt Source #

glGetCurrentWindow :: MonadIO m => m Window Source #

glGetDrawableSize :: MonadIO m => Window -> Ptr CInt -> Ptr CInt -> m () Source #

glGetProcAddress :: MonadIO m => CString -> m (Ptr ()) Source #

glGetSwapInterval :: MonadIO m => m CInt Source #

glLoadLibrary :: MonadIO m => CString -> m CInt Source #

glMakeCurrent :: MonadIO m => Window -> GLContext -> m CInt Source #

glResetAttributes :: MonadIO m => m () Source #

glSetAttribute :: MonadIO m => GLattr -> CInt -> m CInt Source #

glSetSwapInterval :: MonadIO m => CInt -> m CInt Source #

glSwapWindow :: MonadIO m => Window -> m () Source #

glUnbindTexture :: MonadIO m => Texture -> m CInt Source #

glUnloadLibrary :: MonadIO m => m () Source #

getClosestDisplayMode :: MonadIO m => CInt -> Ptr DisplayMode -> Ptr DisplayMode -> m (Ptr DisplayMode) Source #

getCurrentDisplayMode :: MonadIO m => CInt -> Ptr DisplayMode -> m CInt Source #

getCurrentVideoDriver :: MonadIO m => m CString Source #

getDesktopDisplayMode :: MonadIO m => CInt -> Ptr DisplayMode -> m CInt Source #

getDisplayBounds :: MonadIO m => CInt -> Ptr Rect -> m CInt Source #

getDisplayDPI :: MonadIO m => CInt -> Ptr CFloat -> Ptr CFloat -> Ptr CFloat -> m CInt Source #

getDisplayMode :: MonadIO m => CInt -> CInt -> Ptr DisplayMode -> m CInt Source #

getDisplayName :: MonadIO m => CInt -> m CString Source #

getGrabbedWindow :: MonadIO m => m Window Source #

getNumDisplayModes :: MonadIO m => CInt -> m CInt Source #

getNumVideoDisplays :: MonadIO m => m CInt Source #

getNumVideoDrivers :: MonadIO m => m CInt Source #

getVideoDriver :: MonadIO m => CInt -> m CString Source #

getWindowBrightness :: MonadIO m => Window -> m CFloat Source #

getWindowData :: MonadIO m => Window -> CString -> m (Ptr ()) Source #

getWindowDisplayIndex :: MonadIO m => Window -> m CInt Source #

getWindowDisplayMode :: MonadIO m => Window -> Ptr DisplayMode -> m CInt Source #

getWindowFlags :: MonadIO m => Window -> m Word32 Source #

getWindowFromID :: MonadIO m => Word32 -> m Window Source #

getWindowGammaRamp :: MonadIO m => Window -> Ptr Word16 -> Ptr Word16 -> Ptr Word16 -> m CInt Source #

getWindowGrab :: MonadIO m => Window -> m Bool Source #

getWindowID :: MonadIO m => Window -> m Word32 Source #

getWindowMaximumSize :: MonadIO m => Window -> Ptr CInt -> Ptr CInt -> m () Source #

getWindowMinimumSize :: MonadIO m => Window -> Ptr CInt -> Ptr CInt -> m () Source #

getWindowPixelFormat :: MonadIO m => Window -> m Word32 Source #

getWindowPosition :: MonadIO m => Window -> Ptr CInt -> Ptr CInt -> m () Source #

getWindowSize :: MonadIO m => Window -> Ptr CInt -> Ptr CInt -> m () Source #

getWindowSurface :: MonadIO m => Window -> m (Ptr Surface) Source #

getWindowTitle :: MonadIO m => Window -> m CString Source #

hideWindow :: MonadIO m => Window -> m () Source #

isScreenSaverEnabled :: MonadIO m => m Bool Source #

maximizeWindow :: MonadIO m => Window -> m () Source #

minimizeWindow :: MonadIO m => Window -> m () Source #

raiseWindow :: MonadIO m => Window -> m () Source #

restoreWindow :: MonadIO m => Window -> m () Source #

setWindowBordered :: MonadIO m => Window -> Bool -> m () Source #

setWindowBrightness :: MonadIO m => Window -> CFloat -> m CInt Source #

setWindowData :: MonadIO m => Window -> CString -> Ptr () -> m (Ptr ()) Source #

setWindowDisplayMode :: MonadIO m => Window -> Ptr DisplayMode -> m CInt Source #

setWindowFullscreen :: MonadIO m => Window -> Word32 -> m CInt Source #

setWindowGammaRamp :: MonadIO m => Window -> Ptr Word16 -> Ptr Word16 -> Ptr Word16 -> m CInt Source #

setWindowGrab :: MonadIO m => Window -> Bool -> m () Source #

setWindowIcon :: MonadIO m => Window -> Ptr Surface -> m () Source #

setWindowMaximumSize :: MonadIO m => Window -> CInt -> CInt -> m () Source #

setWindowMinimumSize :: MonadIO m => Window -> CInt -> CInt -> m () Source #

setWindowPosition :: MonadIO m => Window -> CInt -> CInt -> m () Source #

setWindowSize :: MonadIO m => Window -> CInt -> CInt -> m () Source #

setWindowTitle :: MonadIO m => Window -> CString -> m () Source #

showMessageBox :: MonadIO m => Ptr MessageBoxData -> Ptr CInt -> m CInt Source #

showSimpleMessageBox :: MonadIO m => Word32 -> CString -> CString -> Window -> m CInt Source #

showWindow :: MonadIO m => Window -> m () Source #

updateWindowSurface :: MonadIO m => Window -> m CInt Source #

updateWindowSurfaceRects :: MonadIO m => Window -> Ptr Rect -> CInt -> m CInt Source #

videoInit :: MonadIO m => CString -> m CInt Source #

videoQuit :: MonadIO m => m () Source #

2D Accelerated Rendering

createRenderer :: MonadIO m => Window -> CInt -> Word32 -> m Renderer Source #

createTexture :: MonadIO m => Renderer -> Word32 -> CInt -> CInt -> CInt -> m Texture Source #

destroyRenderer :: MonadIO m => Renderer -> m () Source #

destroyTexture :: MonadIO m => Texture -> m () Source #

getNumRenderDrivers :: MonadIO m => m CInt Source #

getRenderDrawBlendMode :: MonadIO m => Renderer -> Ptr BlendMode -> m Int Source #

getRenderDrawColor :: MonadIO m => Renderer -> Ptr Word8 -> Ptr Word8 -> Ptr Word8 -> Ptr Word8 -> m CInt Source #

getRenderDriverInfo :: MonadIO m => CInt -> Ptr RendererInfo -> m CInt Source #

getRenderTarget :: MonadIO m => Renderer -> m Texture Source #

getRenderer :: MonadIO m => Window -> m Renderer Source #

getRendererInfo :: MonadIO m => Renderer -> Ptr RendererInfo -> m CInt Source #

getRendererOutputSize :: MonadIO m => Renderer -> Ptr CInt -> Ptr CInt -> m CInt Source #

getTextureAlphaMod :: MonadIO m => Texture -> Ptr Word8 -> m CInt Source #

getTextureBlendMode :: MonadIO m => Texture -> Ptr BlendMode -> m CInt Source #

getTextureColorMod :: MonadIO m => Texture -> Ptr Word8 -> Ptr Word8 -> Ptr Word8 -> m CInt Source #

lockTexture :: MonadIO m => Texture -> Ptr Rect -> Ptr (Ptr ()) -> Ptr CInt -> m CInt Source #

queryTexture :: MonadIO m => Texture -> Ptr Word32 -> Ptr CInt -> Ptr CInt -> Ptr CInt -> m CInt Source #

renderClear :: MonadIO m => Renderer -> m CInt Source #

renderCopy :: MonadIO m => Renderer -> Texture -> Ptr Rect -> Ptr Rect -> m CInt Source #

renderCopyEx :: MonadIO m => Renderer -> Texture -> Ptr Rect -> Ptr Rect -> CDouble -> Ptr Point -> RendererFlip -> m CInt Source #

renderDrawLine :: MonadIO m => Renderer -> CInt -> CInt -> CInt -> CInt -> m CInt Source #

renderDrawLines :: MonadIO m => Renderer -> Ptr Point -> CInt -> m CInt Source #

renderDrawPoint :: MonadIO m => Renderer -> CInt -> CInt -> m CInt Source #

renderDrawPoints :: MonadIO m => Renderer -> Ptr Point -> CInt -> m CInt Source #

renderDrawRect :: MonadIO m => Renderer -> Ptr Rect -> m CInt Source #

renderDrawRects :: MonadIO m => Renderer -> Ptr Rect -> CInt -> m CInt Source #

renderFillRect :: MonadIO m => Renderer -> Ptr Rect -> m CInt Source #

renderFillRectEx :: MonadIO m => Renderer -> CInt -> CInt -> CInt -> CInt -> m CInt Source #

renderFillRects :: MonadIO m => Renderer -> Ptr Rect -> CInt -> m CInt Source #

renderGetClipRect :: MonadIO m => Renderer -> Ptr Rect -> m () Source #

renderGetLogicalSize :: MonadIO m => Renderer -> Ptr CInt -> Ptr CInt -> m () Source #

renderGetScale :: MonadIO m => Renderer -> Ptr CFloat -> Ptr CFloat -> m () Source #

renderGetViewport :: MonadIO m => Renderer -> Ptr Rect -> m () Source #

renderIsClipEnabled :: MonadIO m => Renderer -> m Bool Source #

renderPresent :: MonadIO m => Renderer -> m () Source #

renderReadPixels :: MonadIO m => Renderer -> Ptr Rect -> Word32 -> Ptr () -> CInt -> m CInt Source #

renderSetClipRect :: MonadIO m => Renderer -> Ptr Rect -> m CInt Source #

renderSetLogicalSize :: MonadIO m => Renderer -> CInt -> CInt -> m CInt Source #

renderSetScale :: MonadIO m => Renderer -> CFloat -> CFloat -> m CInt Source #

renderSetViewport :: MonadIO m => Renderer -> Ptr Rect -> m CInt Source #

renderTargetSupported :: MonadIO m => Renderer -> m Bool Source #

setRenderDrawBlendMode :: MonadIO m => Renderer -> BlendMode -> m CInt Source #

setRenderDrawColor :: MonadIO m => Renderer -> Word8 -> Word8 -> Word8 -> Word8 -> m CInt Source #

setRenderTarget :: MonadIO m => Renderer -> Texture -> m CInt Source #

setTextureAlphaMod :: MonadIO m => Texture -> Word8 -> m CInt Source #

setTextureBlendMode :: MonadIO m => Texture -> BlendMode -> m CInt Source #

setTextureColorMod :: MonadIO m => Texture -> Word8 -> Word8 -> Word8 -> m CInt Source #

unlockTexture :: MonadIO m => Texture -> m () Source #

updateTexture :: MonadIO m => Texture -> Ptr Rect -> Ptr () -> CInt -> m CInt Source #

updateYUVTexture :: MonadIO m => Texture -> Ptr Rect -> Ptr Word8 -> CInt -> Ptr Word8 -> CInt -> Ptr Word8 -> CInt -> m CInt Source #

Pixel Formats and Conversion Routines

allocFormat :: MonadIO m => Word32 -> m (Ptr PixelFormat) Source #

allocPalette :: MonadIO m => CInt -> m (Ptr Palette) Source #

calculateGammaRamp :: MonadIO m => CFloat -> Ptr Word16 -> m () Source #

freeFormat :: MonadIO m => Ptr PixelFormat -> m () Source #

freePalette :: MonadIO m => Ptr Palette -> m () Source #

getPixelFormatName :: MonadIO m => Word32 -> m CString Source #

getRGB :: MonadIO m => Word32 -> Ptr PixelFormat -> Ptr Word8 -> Ptr Word8 -> Ptr Word8 -> m () Source #

getRGBA :: MonadIO m => Word32 -> Ptr PixelFormat -> Ptr Word8 -> Ptr Word8 -> Ptr Word8 -> Ptr Word8 -> m () Source #

mapRGB :: MonadIO m => Ptr PixelFormat -> Word8 -> Word8 -> Word8 -> m Word32 Source #

mapRGBA :: MonadIO m => Ptr PixelFormat -> Word8 -> Word8 -> Word8 -> Word8 -> m Word32 Source #

masksToPixelFormatEnum :: MonadIO m => CInt -> Word32 -> Word32 -> Word32 -> Word32 -> m Word32 Source #

pixelFormatEnumToMasks :: MonadIO m => Word32 -> Ptr CInt -> Ptr Word32 -> Ptr Word32 -> Ptr Word32 -> Ptr Word32 -> m Bool Source #

setPaletteColors :: MonadIO m => Ptr Palette -> Ptr Color -> CInt -> CInt -> m CInt Source #

setPixelFormatPalette :: MonadIO m => Ptr PixelFormat -> Ptr Palette -> m CInt Source #

Rectangle Functions

enclosePoints :: MonadIO m => Ptr Point -> CInt -> Ptr Rect -> Ptr Rect -> m Bool Source #

hasIntersection :: MonadIO m => Ptr Rect -> Ptr Rect -> m Bool Source #

intersectRect :: MonadIO m => Ptr Rect -> Ptr Rect -> Ptr Rect -> m Bool Source #

intersectRectAndLine :: MonadIO m => Ptr Rect -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> m Bool Source #

unionRect :: MonadIO m => Ptr Rect -> Ptr Rect -> Ptr Rect -> m () Source #

Surface Creation and Simple Drawing

blitScaled :: MonadIO m => Ptr Surface -> Ptr Rect -> Ptr Surface -> Ptr Rect -> m CInt Source #

blitSurface :: MonadIO m => Ptr Surface -> Ptr Rect -> Ptr Surface -> Ptr Rect -> m CInt Source #

convertPixels :: MonadIO m => CInt -> CInt -> Word32 -> Ptr () -> CInt -> Word32 -> Ptr () -> CInt -> m CInt Source #

convertSurface :: MonadIO m => Ptr Surface -> Ptr PixelFormat -> Word32 -> m (Ptr Surface) Source #

convertSurfaceFormat :: MonadIO m => Ptr Surface -> Word32 -> Word32 -> m (Ptr Surface) Source #

createRGBSurface :: MonadIO m => Word32 -> CInt -> CInt -> CInt -> Word32 -> Word32 -> Word32 -> Word32 -> m (Ptr Surface) Source #

createRGBSurfaceFrom :: MonadIO m => Ptr () -> CInt -> CInt -> CInt -> CInt -> Word32 -> Word32 -> Word32 -> Word32 -> m (Ptr Surface) Source #

fillRect :: MonadIO m => Ptr Surface -> Ptr Rect -> Word32 -> m CInt Source #

fillRects :: MonadIO m => Ptr Surface -> Ptr Rect -> CInt -> Word32 -> m CInt Source #

freeSurface :: MonadIO m => Ptr Surface -> m () Source #

getClipRect :: MonadIO m => Ptr Surface -> Ptr Rect -> m () Source #

getColorKey :: MonadIO m => Ptr Surface -> Ptr Word32 -> m CInt Source #

getSurfaceAlphaMod :: MonadIO m => Ptr Surface -> Ptr Word8 -> m CInt Source #

getSurfaceBlendMode :: MonadIO m => Ptr Surface -> Ptr BlendMode -> m CInt Source #

getSurfaceColorMod :: MonadIO m => Ptr Surface -> Ptr Word8 -> Ptr Word8 -> Ptr Word8 -> m CInt Source #

loadBMP :: MonadIO m => CString -> m (Ptr Surface) Source #

loadBMP_RW :: MonadIO m => Ptr RWops -> CInt -> m (Ptr Surface) Source #

lockSurface :: MonadIO m => Ptr Surface -> m CInt Source #

lowerBlit :: MonadIO m => Ptr Surface -> Ptr Rect -> Ptr Surface -> Ptr Rect -> m CInt Source #

lowerBlitScaled :: MonadIO m => Ptr Surface -> Ptr Rect -> Ptr Surface -> Ptr Rect -> m CInt Source #

saveBMP :: MonadIO m => Ptr Surface -> CString -> m CInt Source #

saveBMP_RW :: MonadIO m => Ptr Surface -> Ptr RWops -> CInt -> m CInt Source #

setClipRect :: MonadIO m => Ptr Surface -> Ptr Rect -> m Bool Source #

setColorKey :: MonadIO m => Ptr Surface -> CInt -> Word32 -> m CInt Source #

setSurfaceAlphaMod :: MonadIO m => Ptr Surface -> Word8 -> m CInt Source #

setSurfaceBlendMode :: MonadIO m => Ptr Surface -> BlendMode -> m CInt Source #

setSurfaceColorMod :: MonadIO m => Ptr Surface -> Word8 -> Word8 -> Word8 -> m CInt Source #

setSurfacePalette :: MonadIO m => Ptr Surface -> Ptr Palette -> m CInt Source #

setSurfaceRLE :: MonadIO m => Ptr Surface -> CInt -> m CInt Source #

unlockSurface :: MonadIO m => Ptr Surface -> m () Source #

Platform-specific Window Management

getWindowWMInfo :: MonadIO m => Window -> SysWMinfo -> m Bool Source #

Clipboard Handling

getClipboardText :: MonadIO m => m CString Source #

hasClipboardText :: MonadIO m => m Bool Source #

setClipboardText :: MonadIO m => CString -> m CInt Source #

Vulkan support functions

vkLoadLibrary :: MonadIO m => CString -> m CInt Source #

vkUnloadLibrary :: MonadIO m => m () Source #

vkGetInstanceExtensions :: MonadIO m => Window -> Ptr CUInt -> Ptr CString -> m Bool Source #

vkCreateSurface :: MonadIO m => Window -> VkInstance -> Ptr VkSurfaceKHR -> m Bool Source #

vkGetDrawableSize :: MonadIO m => Window -> Ptr CInt -> Ptr CInt -> m () Source #