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

SDL.Video

Synopsis

Documentation

Window Management

data Window Source #

Instances

Instances details
Eq Window Source # 
Instance details

Defined in SDL.Internal.Types

Methods

(==) :: Window -> Window -> Bool

(/=) :: Window -> Window -> Bool

Data Window Source # 
Instance details

Defined in SDL.Internal.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Window -> c Window

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Window

toConstr :: Window -> Constr

dataTypeOf :: Window -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Window)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Window)

gmapT :: (forall b. Data b => b -> b) -> Window -> Window

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Window -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Window -> r

gmapQ :: (forall d. Data d => d -> u) -> Window -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> Window -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Window -> m Window

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Window -> m Window

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Window -> m Window

Ord Window Source # 
Instance details

Defined in SDL.Internal.Types

Methods

compare :: Window -> Window -> Ordering

(<) :: Window -> Window -> Bool

(<=) :: Window -> Window -> Bool

(>) :: Window -> Window -> Bool

(>=) :: Window -> Window -> Bool

max :: Window -> Window -> Window

min :: Window -> Window -> Window

Show Window Source # 
Instance details

Defined in SDL.Internal.Types

Methods

showsPrec :: Int -> Window -> ShowS

show :: Window -> String

showList :: [Window] -> ShowS

Generic Window Source # 
Instance details

Defined in SDL.Internal.Types

Associated Types

type Rep Window :: Type -> Type

Methods

from :: Window -> Rep Window x

to :: Rep Window x -> Window

type Rep Window Source # 
Instance details

Defined in SDL.Internal.Types

type Rep Window = D1 ('MetaData "Window" "SDL.Internal.Types" "sdl2-2.5.2.0-Cx4Ipj2keSJFpflqvJYEGr" 'True) (C1 ('MetaCons "Window" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Window)))

createWindow :: MonadIO m => Text -> WindowConfig -> m Window Source #

Create a window with the given title and configuration.

Throws SDLException on failure.

defaultWindow :: WindowConfig Source #

Default configuration for windows. Use the record update syntax to override any of the defaults.

defaultWindow = WindowConfig
  { windowBorder          = True
  , windowHighDPI         = False
  , windowInputGrabbed    = False
  , windowMode            = Windowed
  , windowGraphicsContext = NoGraphicsContext
  , windowPosition        = Wherever
  , windowResizable       = False
  , windowInitialSize     = V2 800 600
  , windowVisible         = True
  }

data WindowConfig Source #

Constructors

WindowConfig 

Fields

Instances

Instances details
Eq WindowConfig Source # 
Instance details

Defined in SDL.Video

Methods

(==) :: WindowConfig -> WindowConfig -> Bool

(/=) :: WindowConfig -> WindowConfig -> Bool

Ord WindowConfig Source # 
Instance details

Defined in SDL.Video

Read WindowConfig Source # 
Instance details

Defined in SDL.Video

Methods

readsPrec :: Int -> ReadS WindowConfig

readList :: ReadS [WindowConfig]

readPrec :: ReadPrec WindowConfig

readListPrec :: ReadPrec [WindowConfig]

Show WindowConfig Source # 
Instance details

Defined in SDL.Video

Methods

showsPrec :: Int -> WindowConfig -> ShowS

show :: WindowConfig -> String

showList :: [WindowConfig] -> ShowS

Generic WindowConfig Source # 
Instance details

Defined in SDL.Video

Associated Types

type Rep WindowConfig :: Type -> Type

type Rep WindowConfig Source # 
Instance details

Defined in SDL.Video

type Rep WindowConfig = D1 ('MetaData "WindowConfig" "SDL.Video" "sdl2-2.5.2.0-Cx4Ipj2keSJFpflqvJYEGr" 'False) (C1 ('MetaCons "WindowConfig" 'PrefixI 'True) (((S1 ('MetaSel ('Just "windowBorder") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "windowHighDPI") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "windowInputGrabbed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "windowMode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 WindowMode))) :*: ((S1 ('MetaSel ('Just "windowGraphicsContext") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 WindowGraphicsContext) :*: S1 ('MetaSel ('Just "windowPosition") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 WindowPosition)) :*: (S1 ('MetaSel ('Just "windowResizable") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "windowInitialSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 CInt)) :*: S1 ('MetaSel ('Just "windowVisible") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))))

data WindowGraphicsContext Source #

Configuration of additional graphics context that will be created for window.

Can not be changed after window creation.

Constructors

NoGraphicsContext

Window will be created without any additional graphics context.

OpenGLContext OpenGLConfig

Window will be created with OpenGL support with parameters from OpenGLConfig.

VulkanContext

Window will be created with Vulkan support. The following functions will be implicitly called by SDL C library:

  1. analogue of vkLoadLibrary Nothing will be called automatically before first window creation;
  2. analogue of vkUnloadLibrary will be called after last window destruction.

Instances

Instances details
Eq WindowGraphicsContext Source # 
Instance details

Defined in SDL.Video

Ord WindowGraphicsContext Source # 
Instance details

Defined in SDL.Video

Read WindowGraphicsContext Source # 
Instance details

Defined in SDL.Video

Show WindowGraphicsContext Source # 
Instance details

Defined in SDL.Video

Methods

showsPrec :: Int -> WindowGraphicsContext -> ShowS

show :: WindowGraphicsContext -> String

showList :: [WindowGraphicsContext] -> ShowS

Generic WindowGraphicsContext Source # 
Instance details

Defined in SDL.Video

Associated Types

type Rep WindowGraphicsContext :: Type -> Type

type Rep WindowGraphicsContext Source # 
Instance details

Defined in SDL.Video

type Rep WindowGraphicsContext = D1 ('MetaData "WindowGraphicsContext" "SDL.Video" "sdl2-2.5.2.0-Cx4Ipj2keSJFpflqvJYEGr" 'False) (C1 ('MetaCons "NoGraphicsContext" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "OpenGLContext" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OpenGLConfig)) :+: C1 ('MetaCons "VulkanContext" 'PrefixI 'False) (U1 :: Type -> Type)))

data WindowMode Source #

Constructors

Fullscreen

Real fullscreen with a video mode change

FullscreenDesktop

Fake fullscreen that takes the size of the desktop

Maximized 
Minimized 
Windowed 

Instances

Instances details
Bounded WindowMode Source # 
Instance details

Defined in SDL.Video

Enum WindowMode Source # 
Instance details

Defined in SDL.Video

Eq WindowMode Source # 
Instance details

Defined in SDL.Video

Methods

(==) :: WindowMode -> WindowMode -> Bool

(/=) :: WindowMode -> WindowMode -> Bool

Data WindowMode Source # 
Instance details

Defined in SDL.Video

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> WindowMode -> c WindowMode

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c WindowMode

toConstr :: WindowMode -> Constr

dataTypeOf :: WindowMode -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c WindowMode)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c WindowMode)

gmapT :: (forall b. Data b => b -> b) -> WindowMode -> WindowMode

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> WindowMode -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> WindowMode -> r

gmapQ :: (forall d. Data d => d -> u) -> WindowMode -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> WindowMode -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> WindowMode -> m WindowMode

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> WindowMode -> m WindowMode

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> WindowMode -> m WindowMode

Ord WindowMode Source # 
Instance details

Defined in SDL.Video

Read WindowMode Source # 
Instance details

Defined in SDL.Video

Methods

readsPrec :: Int -> ReadS WindowMode

readList :: ReadS [WindowMode]

readPrec :: ReadPrec WindowMode

readListPrec :: ReadPrec [WindowMode]

Show WindowMode Source # 
Instance details

Defined in SDL.Video

Methods

showsPrec :: Int -> WindowMode -> ShowS

show :: WindowMode -> String

showList :: [WindowMode] -> ShowS

Generic WindowMode Source # 
Instance details

Defined in SDL.Video

Associated Types

type Rep WindowMode :: Type -> Type

Methods

from :: WindowMode -> Rep WindowMode x

to :: Rep WindowMode x -> WindowMode

ToNumber WindowMode Word32 Source # 
Instance details

Defined in SDL.Video

Methods

toNumber :: WindowMode -> Word32 Source #

FromNumber WindowMode Word32 Source # 
Instance details

Defined in SDL.Video

Methods

fromNumber :: Word32 -> WindowMode Source #

type Rep WindowMode Source # 
Instance details

Defined in SDL.Video

type Rep WindowMode = D1 ('MetaData "WindowMode" "SDL.Video" "sdl2-2.5.2.0-Cx4Ipj2keSJFpflqvJYEGr" 'False) ((C1 ('MetaCons "Fullscreen" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FullscreenDesktop" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Maximized" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Minimized" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Windowed" 'PrefixI 'False) (U1 :: Type -> Type))))

data WindowPosition Source #

Constructors

Centered 
Wherever

Let the window mananger decide where it's best to place the window.

Absolute (Point V2 CInt) 

Instances

Instances details
Eq WindowPosition Source # 
Instance details

Defined in SDL.Video

Ord WindowPosition Source # 
Instance details

Defined in SDL.Video

Read WindowPosition Source # 
Instance details

Defined in SDL.Video

Methods

readsPrec :: Int -> ReadS WindowPosition

readList :: ReadS [WindowPosition]

readPrec :: ReadPrec WindowPosition

readListPrec :: ReadPrec [WindowPosition]

Show WindowPosition Source # 
Instance details

Defined in SDL.Video

Methods

showsPrec :: Int -> WindowPosition -> ShowS

show :: WindowPosition -> String

showList :: [WindowPosition] -> ShowS

Generic WindowPosition Source # 
Instance details

Defined in SDL.Video

Associated Types

type Rep WindowPosition :: Type -> Type

type Rep WindowPosition Source # 
Instance details

Defined in SDL.Video

type Rep WindowPosition = D1 ('MetaData "WindowPosition" "SDL.Video" "sdl2-2.5.2.0-Cx4Ipj2keSJFpflqvJYEGr" 'False) (C1 ('MetaCons "Centered" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Wherever" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Absolute" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Point V2 CInt)))))

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

Destroy the given window. The Window handler may not be used afterwards.

Window Actions

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

Hide a window.

See SDL_HideWindow for C documentation.

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

Raise the window above other windows and set the input focus.

See SDL_RaiseWindow for C documentation.

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

Show a window.

See SDL_ShowWindow for C documentation.

Window Attributes

windowMinimumSize :: Window -> StateVar (V2 CInt) Source #

Get or set the minimum size of a window's client area.

This StateVar can be modified using $= and the current value retrieved with get.

See SDL_SetWindowMinimumSize and SDL_GetWindowMinimumSize for C documentation.

windowMaximumSize :: Window -> StateVar (V2 CInt) Source #

Get or set the maximum size of a window's client area.

This StateVar can be modified using $= and the current value retrieved with get.

See SDL_SetWindowMaximumSize and SDL_GetWindowMaximumSize for C documentation.

windowSize :: Window -> StateVar (V2 CInt) Source #

Get or set the size of a window's client area. Values beyond the maximum supported size are clamped.

If window was created with windowHighDPI flag, this size may differ from the size in pixels. Use glGetDrawableSize or vkGetDrawableSize to get size in pixels.

This StateVar can be modified using $= and the current value retrieved with get.

See SDL_SetWindowSize and SDL_GetWindowSize for C documentation.

windowBordered :: Window -> StateVar Bool Source #

Get or set if the window should have a border.

This StateVar can be modified using $= and the current value retrieved with get.

windowBrightness :: Window -> StateVar Float Source #

Get or set the window's brightness, where 0.0 is completely dark and 1.0 is normal brightness.

Throws SDLException if the hardware does not support gamma correction, or if the system has run out of memory.

This StateVar can be modified using $= and the current value retrieved with get.

windowGammaRamp :: Window -> StateVar (V3 (Vector Word16)) Source #

Gets or sets the gamma ramp for the display that owns a given window.

Note that the data for the gamma ramp - the V3 (Vector Word16) - must contain 256 element arrays. This triple is a set of translation vectors for each of the 16-bit red, green and blue channels.

This StateVar can be modified using $= and the current value retrieved with get.

Despite the name and signature, this method retrieves the gamma ramp of the entire display, not an individual window. A window is considered to be owned by the display that contains the window's center pixel.

windowGrab :: Window -> StateVar Bool Source #

Get or set whether the mouse shall be confined to the window.

This StateVar can be modified using $= and the current value retrieved with get.

setWindowMode :: MonadIO m => Window -> WindowMode -> m () Source #

Change between window modes.

Throws SDLException on failure.

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

Get the position of the window.

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

Set the position of the window.

windowTitle :: Window -> StateVar Text Source #

Get or set the title of the window. If the window has no title, then an empty string is returned.

This StateVar can be modified using $= and the current value retrieved with get.

See SDL_SetWindowTitle and SDL_GetWindowTitle for C documentation.

windowData :: Window -> CString -> StateVar (Ptr ()) Source #

Get or set the pointer to arbitrary user data associated with the given window and name.

This StateVar can be modified using $= and the current value retrieved with get.

getWindowConfig :: MonadIO m => Window -> m WindowConfig Source #

Retrieve the configuration of the given window.

Note that NoGraphicsContext will be returned instead of potential OpenGL parameters used during the creation of the window.

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

Get the pixel format that is used for the given window.

data PixelFormat Source #

Instances

Instances details
Bounded PixelFormat Source # 
Instance details

Defined in SDL.Video.Renderer

Enum PixelFormat Source # 
Instance details

Defined in SDL.Video.Renderer

Eq PixelFormat Source # 
Instance details

Defined in SDL.Video.Renderer

Methods

(==) :: PixelFormat -> PixelFormat -> Bool

(/=) :: PixelFormat -> PixelFormat -> Bool

Data PixelFormat Source # 
Instance details

Defined in SDL.Video.Renderer

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PixelFormat -> c PixelFormat

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PixelFormat

toConstr :: PixelFormat -> Constr

dataTypeOf :: PixelFormat -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PixelFormat)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PixelFormat)

gmapT :: (forall b. Data b => b -> b) -> PixelFormat -> PixelFormat

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PixelFormat -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PixelFormat -> r

gmapQ :: (forall d. Data d => d -> u) -> PixelFormat -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> PixelFormat -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PixelFormat -> m PixelFormat

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PixelFormat -> m PixelFormat

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PixelFormat -> m PixelFormat

Ord PixelFormat Source # 
Instance details

Defined in SDL.Video.Renderer

Read PixelFormat Source # 
Instance details

Defined in SDL.Video.Renderer

Methods

readsPrec :: Int -> ReadS PixelFormat

readList :: ReadS [PixelFormat]

readPrec :: ReadPrec PixelFormat

readListPrec :: ReadPrec [PixelFormat]

Show PixelFormat Source # 
Instance details

Defined in SDL.Video.Renderer

Methods

showsPrec :: Int -> PixelFormat -> ShowS

show :: PixelFormat -> String

showList :: [PixelFormat] -> ShowS

Generic PixelFormat Source # 
Instance details

Defined in SDL.Video.Renderer

Associated Types

type Rep PixelFormat :: Type -> Type

Methods

from :: PixelFormat -> Rep PixelFormat x

to :: Rep PixelFormat x -> PixelFormat

ToNumber PixelFormat Word32 Source # 
Instance details

Defined in SDL.Video.Renderer

Methods

toNumber :: PixelFormat -> Word32 Source #

FromNumber PixelFormat Word32 Source # 
Instance details

Defined in SDL.Video.Renderer

Methods

fromNumber :: Word32 -> PixelFormat Source #

type Rep PixelFormat Source # 
Instance details

Defined in SDL.Video.Renderer

type Rep PixelFormat = D1 ('MetaData "PixelFormat" "SDL.Video.Renderer" "sdl2-2.5.2.0-Cx4Ipj2keSJFpflqvJYEGr" 'False) (((((C1 ('MetaCons "Unknown" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Index1LSB" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Index1MSB" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Index4LSB" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Index4MSB" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Index8" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RGB332" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RGB444" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RGB555" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "BGR555" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ARGB4444" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RGBA4444" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ABGR4444" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "BGRA4444" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ARGB1555" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RGBA5551" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ABGR1555" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BGRA5551" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "RGB565" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BGR565" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RGB24" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BGR24" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "RGB888" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RGBX8888" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BGR888" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BGRX8888" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ARGB8888" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "RGBA8888" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ABGR8888" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BGRA8888" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ARGB2101010" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "YV12" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IYUV" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "YUY2" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "UYVY" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "YVYU" 'PrefixI 'False) (U1 :: Type -> Type)))))))

Renderer Management

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

createSoftwareRenderer :: MonadIO m => Surface -> m Renderer Source #

Create a 2D software rendering context for the given surface.

See https://wiki.libsdl.org/SDL_CreateSoftwareRenderer

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

Clipboard Handling

getClipboardText :: MonadIO m => m Text Source #

Get the text from the clipboard.

Throws SDLException on failure.

hasClipboardText :: MonadIO m => m Bool Source #

Checks if the clipboard exists, and has some text in it.

setClipboardText :: MonadIO m => Text -> m () Source #

Replace the contents of the clipboard with the given text.

Throws SDLException on failure.

Display

getDisplays :: MonadIO m => m [Display] Source #

Throws SDLException on failure.

data Display Source #

Constructors

Display 

Fields

Instances

Instances details
Eq Display Source # 
Instance details

Defined in SDL.Video

Methods

(==) :: Display -> Display -> Bool

(/=) :: Display -> Display -> Bool

Ord Display Source # 
Instance details

Defined in SDL.Video

Methods

compare :: Display -> Display -> Ordering

(<) :: Display -> Display -> Bool

(<=) :: Display -> Display -> Bool

(>) :: Display -> Display -> Bool

(>=) :: Display -> Display -> Bool

max :: Display -> Display -> Display

min :: Display -> Display -> Display

Read Display Source # 
Instance details

Defined in SDL.Video

Methods

readsPrec :: Int -> ReadS Display

readList :: ReadS [Display]

readPrec :: ReadPrec Display

readListPrec :: ReadPrec [Display]

Show Display Source # 
Instance details

Defined in SDL.Video

Methods

showsPrec :: Int -> Display -> ShowS

show :: Display -> String

showList :: [Display] -> ShowS

Generic Display Source # 
Instance details

Defined in SDL.Video

Associated Types

type Rep Display :: Type -> Type

Methods

from :: Display -> Rep Display x

to :: Rep Display x -> Display

type Rep Display Source # 
Instance details

Defined in SDL.Video

type Rep Display = D1 ('MetaData "Display" "SDL.Video" "sdl2-2.5.2.0-Cx4Ipj2keSJFpflqvJYEGr" 'False) (C1 ('MetaCons "Display" 'PrefixI 'True) ((S1 ('MetaSel ('Just "displayName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "displayBoundsPosition") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Point V2 CInt))) :*: (S1 ('MetaSel ('Just "displayBoundsSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 CInt)) :*: S1 ('MetaSel ('Just "displayModes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DisplayMode]))))

data DisplayMode Source #

Constructors

DisplayMode 

Fields

Instances

Instances details
Eq DisplayMode Source # 
Instance details

Defined in SDL.Video

Methods

(==) :: DisplayMode -> DisplayMode -> Bool

(/=) :: DisplayMode -> DisplayMode -> Bool

Ord DisplayMode Source # 
Instance details

Defined in SDL.Video

Read DisplayMode Source # 
Instance details

Defined in SDL.Video

Methods

readsPrec :: Int -> ReadS DisplayMode

readList :: ReadS [DisplayMode]

readPrec :: ReadPrec DisplayMode

readListPrec :: ReadPrec [DisplayMode]

Show DisplayMode Source # 
Instance details

Defined in SDL.Video

Methods

showsPrec :: Int -> DisplayMode -> ShowS

show :: DisplayMode -> String

showList :: [DisplayMode] -> ShowS

Generic DisplayMode Source # 
Instance details

Defined in SDL.Video

Associated Types

type Rep DisplayMode :: Type -> Type

Methods

from :: DisplayMode -> Rep DisplayMode x

to :: Rep DisplayMode x -> DisplayMode

type Rep DisplayMode Source # 
Instance details

Defined in SDL.Video

type Rep DisplayMode = D1 ('MetaData "DisplayMode" "SDL.Video" "sdl2-2.5.2.0-Cx4Ipj2keSJFpflqvJYEGr" 'False) (C1 ('MetaCons "DisplayMode" 'PrefixI 'True) (S1 ('MetaSel ('Just "displayModeFormat") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PixelFormat) :*: (S1 ('MetaSel ('Just "displayModeSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 CInt)) :*: S1 ('MetaSel ('Just "displayModeRefreshRate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CInt))))

data VideoDriver Source #

Constructors

VideoDriver 

Fields

Instances

Instances details
Eq VideoDriver Source # 
Instance details

Defined in SDL.Video

Methods

(==) :: VideoDriver -> VideoDriver -> Bool

(/=) :: VideoDriver -> VideoDriver -> Bool

Data VideoDriver Source # 
Instance details

Defined in SDL.Video

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> VideoDriver -> c VideoDriver

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c VideoDriver

toConstr :: VideoDriver -> Constr

dataTypeOf :: VideoDriver -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c VideoDriver)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c VideoDriver)

gmapT :: (forall b. Data b => b -> b) -> VideoDriver -> VideoDriver

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> VideoDriver -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> VideoDriver -> r

gmapQ :: (forall d. Data d => d -> u) -> VideoDriver -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> VideoDriver -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> VideoDriver -> m VideoDriver

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> VideoDriver -> m VideoDriver

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> VideoDriver -> m VideoDriver

Ord VideoDriver Source # 
Instance details

Defined in SDL.Video

Read VideoDriver Source # 
Instance details

Defined in SDL.Video

Methods

readsPrec :: Int -> ReadS VideoDriver

readList :: ReadS [VideoDriver]

readPrec :: ReadPrec VideoDriver

readListPrec :: ReadPrec [VideoDriver]

Show VideoDriver Source # 
Instance details

Defined in SDL.Video

Methods

showsPrec :: Int -> VideoDriver -> ShowS

show :: VideoDriver -> String

showList :: [VideoDriver] -> ShowS

Generic VideoDriver Source # 
Instance details

Defined in SDL.Video

Associated Types

type Rep VideoDriver :: Type -> Type

Methods

from :: VideoDriver -> Rep VideoDriver x

to :: Rep VideoDriver x -> VideoDriver

type Rep VideoDriver Source # 
Instance details

Defined in SDL.Video

type Rep VideoDriver = D1 ('MetaData "VideoDriver" "SDL.Video" "sdl2-2.5.2.0-Cx4Ipj2keSJFpflqvJYEGr" 'False) (C1 ('MetaCons "VideoDriver" 'PrefixI 'True) (S1 ('MetaSel ('Just "videoDriverName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

Screen Savers

Screen savers should be disabled when the sudden enablement of the monitor's power saving features would be inconvenient for when the user hasn't provided any input for some period of time, such as during video playback.

Screen savers are disabled by default upon the initialization of the video subsystem.

screenSaverEnabled :: StateVar Bool Source #

Get or set whether to allow the screen to be blanked by a screen saver.

Screen savers are re-enabled, if needed, when SDL quits.

Message Box

showSimpleMessageBox :: MonadIO m => Maybe Window -> MessageKind -> Text -> Text -> m () Source #

Show a simple message box with the given title and a message. Consider writing your messages to stderr too.

Throws SDLException if there are no available video targets.

data MessageKind Source #

Constructors

Error 
Warning 
Information 

Instances

Instances details
Bounded MessageKind Source # 
Instance details

Defined in SDL.Video

Enum MessageKind Source # 
Instance details

Defined in SDL.Video

Eq MessageKind Source # 
Instance details

Defined in SDL.Video

Methods

(==) :: MessageKind -> MessageKind -> Bool

(/=) :: MessageKind -> MessageKind -> Bool

Data MessageKind Source # 
Instance details

Defined in SDL.Video

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MessageKind -> c MessageKind

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MessageKind

toConstr :: MessageKind -> Constr

dataTypeOf :: MessageKind -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MessageKind)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MessageKind)

gmapT :: (forall b. Data b => b -> b) -> MessageKind -> MessageKind

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MessageKind -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MessageKind -> r

gmapQ :: (forall d. Data d => d -> u) -> MessageKind -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> MessageKind -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> MessageKind -> m MessageKind

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MessageKind -> m MessageKind

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MessageKind -> m MessageKind

Ord MessageKind Source # 
Instance details

Defined in SDL.Video

Read MessageKind Source # 
Instance details

Defined in SDL.Video

Methods

readsPrec :: Int -> ReadS MessageKind

readList :: ReadS [MessageKind]

readPrec :: ReadPrec MessageKind

readListPrec :: ReadPrec [MessageKind]

Show MessageKind Source # 
Instance details

Defined in SDL.Video

Methods

showsPrec :: Int -> MessageKind -> ShowS

show :: MessageKind -> String

showList :: [MessageKind] -> ShowS

Generic MessageKind Source # 
Instance details

Defined in SDL.Video

Associated Types

type Rep MessageKind :: Type -> Type

Methods

from :: MessageKind -> Rep MessageKind x

to :: Rep MessageKind x -> MessageKind

ToNumber MessageKind Word32 Source # 
Instance details

Defined in SDL.Video

Methods

toNumber :: MessageKind -> Word32 Source #

type Rep MessageKind Source # 
Instance details

Defined in SDL.Video

type Rep MessageKind = D1 ('MetaData "MessageKind" "SDL.Video" "sdl2-2.5.2.0-Cx4Ipj2keSJFpflqvJYEGr" 'False) (C1 ('MetaCons "Error" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Warning" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Information" 'PrefixI 'False) (U1 :: Type -> Type)))