Copyright | (c) Sven Panne 2003-2016 |
---|---|
License | BSD3 |
Maintainer | Sven Panne <[email protected]> |
Stability | stable |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell2010 |
Sound.OpenAL.ALC.Extensions
Description
This module corresponds to the extension handling parts of section 6.3 (ALC Queries) of the OpenAL Specification and Reference (version 1.1).
Synopsis
- alcExtensions :: Device -> GettableStateVar [String]
- alcIsExtensionPresent :: Maybe Device -> String -> GettableStateVar Bool
- alcProcAddress :: Maybe Device -> String -> GettableStateVar (FunPtr a)
- alcEnumValue :: Maybe Device -> String -> GettableStateVar ALCenum
- alcVersion :: GettableStateVar String
Documentation
alcExtensions :: Device -> GettableStateVar [String] Source #
Contains a list of available context extensions.
alcIsExtensionPresent :: Maybe Device -> String -> GettableStateVar Bool Source #
To verify that a given extension is available for the current context and
the device it is associated with, use alcIsExtensionPresent
. For invalid
and unsupported string tokens it contains False
. Using Nothing
as the
device is acceptable. The extension name is not case sensitive: The
implementation will convert the name to all upper-case internally (and will
express extension names in upper-case).
alcProcAddress :: Maybe Device -> String -> GettableStateVar (FunPtr a) Source #
The application is expected to verify the applicability of an extension or
core function entry point before requesting it by name, by use of
alcIsExtensionPresent
. Extension entry points can be retrieved using
alcProcAddress
. Entry points can be device specific, but are not context
specific. Using Nothing
as the device does not guarantee that the entry
point is returned, even if available for one of the available devices.
alcEnumValue :: Maybe Device -> String -> GettableStateVar ALCenum Source #
Enumeration/token values are device independent, but tokens defined for
extensions might not be present for a given device. Using Nothing
as the
device is legal, but only the tokens defined by the AL core are
guaranteed. Availability of extension tokens depends on the ALC extension.
alcVersion :: GettableStateVar String Source #
Contains the "major.minor" specification revision for this implementation.