Safe Haskell | None |
---|---|
Language | Haskell2010 |
- module SDL.Video.OpenGL
- module SDL.Video.Renderer
- data Window
- createWindow :: MonadIO m => Text -> WindowConfig -> m Window
- defaultWindow :: WindowConfig
- data WindowConfig = WindowConfig {}
- data WindowMode
- data WindowPosition
- destroyWindow :: MonadIO m => Window -> m ()
- hideWindow :: MonadIO m => Window -> m ()
- raiseWindow :: MonadIO m => Window -> m ()
- showWindow :: MonadIO m => Window -> m ()
- windowMinimumSize :: Window -> StateVar (V2 CInt)
- windowMaximumSize :: Window -> StateVar (V2 CInt)
- windowSize :: Window -> StateVar (V2 CInt)
- windowBordered :: Window -> StateVar Bool
- windowBrightness :: Window -> StateVar Float
- windowGammaRamp :: Window -> StateVar (V3 (Vector Word16))
- windowGrab :: Window -> StateVar Bool
- setWindowMode :: MonadIO m => Window -> WindowMode -> m ()
- getWindowAbsolutePosition :: MonadIO m => Window -> m (V2 CInt)
- setWindowPosition :: MonadIO m => Window -> WindowPosition -> m ()
- windowTitle :: Window -> StateVar Text
- windowData :: Window -> CString -> StateVar (Ptr ())
- getWindowConfig :: MonadIO m => Window -> m WindowConfig
- getWindowPixelFormat :: MonadIO m => Window -> m PixelFormat
- data PixelFormat
- = Unknown
- | Index1LSB
- | Index1MSB
- | Index4LSB
- | Index4MSB
- | Index8
- | RGB332
- | RGB444
- | RGB555
- | BGR555
- | ARGB4444
- | RGBA4444
- | ABGR4444
- | BGRA4444
- | ARGB1555
- | RGBA5551
- | ABGR1555
- | BGRA5551
- | RGB565
- | BGR565
- | RGB24
- | BGR24
- | RGB888
- | RGBX8888
- | BGR888
- | BGRX8888
- | ARGB8888
- | RGBA8888
- | ABGR8888
- | BGRA8888
- | ARGB2101010
- | YV12
- | IYUV
- | YUY2
- | UYVY
- | YVYU
- createRenderer :: MonadIO m => Window -> CInt -> RendererConfig -> m Renderer
- destroyRenderer :: MonadIO m => Renderer -> m ()
- getClipboardText :: MonadIO m => m Text
- hasClipboardText :: MonadIO m => m Bool
- setClipboardText :: MonadIO m => Text -> m ()
- getDisplays :: MonadIO m => m [Display]
- data Display = Display {}
- data DisplayMode = DisplayMode {}
- data VideoDriver = VideoDriver {}
- disableScreenSaver :: MonadIO m => m ()
- enableScreenSaver :: MonadIO m => m ()
- isScreenSaverEnabled :: MonadIO m => m Bool
- showSimpleMessageBox :: MonadIO m => Maybe Window -> MessageKind -> Text -> Text -> m ()
- data MessageKind
- = Error
- | Warning
- | Information
Documentation
module SDL.Video.OpenGL
module SDL.Video.Renderer
Window Management
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
,windowOpenGL
= Nothing ,windowPosition
=Wherever
,windowResizable
= False ,windowInitialSize
= V2 800 600 }
data WindowConfig Source
WindowConfig | |
|
data WindowMode Source
Fullscreen | Real fullscreen with a video mode change |
FullscreenDesktop | Fake fullscreen that takes the size of the desktop |
Maximized | |
Minimized | |
Windowed |
data WindowPosition Source
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.
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
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
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
.
See SDL_SetWindowTitle
and SDL_GetWindowTitle
for C documentation.
getWindowConfig :: MonadIO m => Window -> m WindowConfig Source
Retrieve the configuration of the given window.
Note that Nothing
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
Renderer Management
createRenderer :: MonadIO m => Window -> CInt -> RendererConfig -> m Renderer Source
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.
Display | |
|
data DisplayMode Source
DisplayMode | |
|
data VideoDriver Source
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.
disableScreenSaver :: MonadIO m => m () Source
Prevent the screen from being blanked by a screen saver. If you disable the screensaver, it is automatically re-enabled when SDL quits.
See SDL_DisableScreenSaver
for C documentation.
enableScreenSaver :: MonadIO m => m () Source
Allow the screen to be blanked by a screen saver.
See SDL_EnableScreenSaver
for C documentation.
isScreenSaverEnabled :: MonadIO m => m Bool Source
Check whether screen savers are enabled .
See SDL_IsScreenSaverEnabled
for C documentation.
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.