Safe Haskell | Unsafe |
---|---|
Language | Haskell2010 |
- type EGLint = Int32
- type EGLboolean = Word32
- type EGLenum = Word32
- type EGLConfig = Ptr ()
- type EGLContext = Ptr ()
- type EGLDisplay = Ptr ()
- type EGLSurface = Ptr ()
- type EGLClientBuffer = Ptr ()
- type EGLNativeWindow = Ptr ()
- type EGLNativePixmap = Ptr ()
- type EGLNativeDisplay = Ptr ()
- eglGetError :: IO EGLint
- eglGetDisplay :: EGLNativeDisplay -> IO EGLDisplay
- eglInitialize :: EGLDisplay -> Ptr EGLint -> Ptr EGLint -> IO EGLboolean
- eglTerminate :: EGLDisplay -> IO EGLboolean
- eglQueryString :: EGLDisplay -> EGLint -> IO CString
- eglGetConfigs :: EGLDisplay -> Ptr EGLConfig -> EGLint -> Ptr EGLint -> IO EGLboolean
- eglChooseConfig :: EGLDisplay -> Ptr EGLint -> Ptr EGLConfig -> EGLint -> Ptr EGLint -> IO EGLboolean
- eglGetConfigAttrib :: EGLDisplay -> EGLConfig -> EGLint -> Ptr EGLint -> IO EGLboolean
- eglCreateWindowSurface :: EGLDisplay -> EGLConfig -> EGLNativeWindow -> Ptr EGLint -> IO EGLSurface
- eglCreatePbufferSurface :: EGLDisplay -> EGLConfig -> Ptr EGLint -> IO EGLSurface
- eglCreatePixmapSurface :: EGLDisplay -> EGLConfig -> EGLNativePixmap -> Ptr EGLint -> IO EGLSurface
- eglDestroySurface :: EGLDisplay -> EGLSurface -> IO EGLboolean
- eglQuerySurface :: EGLDisplay -> EGLSurface -> EGLint -> Ptr EGLint -> IO EGLboolean
- eglBindAPI :: EGLenum -> IO EGLboolean
- eglQueryAPI :: IO EGLenum
- eglWaitClient :: IO EGLboolean
- eglReleaseThread :: IO EGLboolean
- eglCreatePbufferFromClientBuffer :: EGLDisplay -> EGLenum -> EGLClientBuffer -> EGLConfig -> Ptr EGLint -> IO EGLSurface
- eglSurfaceAttrib :: EGLDisplay -> EGLSurface -> EGLint -> EGLint -> IO EGLboolean
- eglBindTexImage :: EGLDisplay -> EGLSurface -> EGLint -> IO EGLboolean
- eglReleaseTexImage :: EGLDisplay -> EGLSurface -> EGLint -> IO EGLboolean
- eglSwapInterval :: EGLDisplay -> EGLint -> IO EGLboolean
- eglCreateContext :: EGLDisplay -> EGLConfig -> EGLContext -> Ptr EGLint -> IO EGLContext
- eglDestroyContext :: EGLDisplay -> EGLContext -> IO EGLboolean
- eglMakeCurrent :: EGLDisplay -> EGLSurface -> EGLSurface -> EGLContext -> IO EGLboolean
- eglGetCurrentContext :: IO EGLContext
- eglGetCurrentSurface :: EGLint -> IO EGLSurface
- eglGetCurrentDisplay :: IO EGLDisplay
- eglQueryContext :: EGLDisplay -> EGLContext -> EGLint -> Ptr EGLint -> IO EGLboolean
- eglWaitNative :: EGLint -> IO EGLboolean
- eglSwapBuffers :: EGLDisplay -> EGLSurface -> IO EGLboolean
- eglCopyBuffers :: EGLDisplay -> EGLSurface -> EGLNativePixmap -> IO EGLboolean
- inlinePerformIO :: IO a -> a
- c_eglGetProcAddress :: CString -> IO (FunPtr a)
- eglGetProcAddress :: String -> FunPtr a
- newtype EGLConfAttr = EGLConfAttr EGLint
- newtype EGLSurfAttr = EGLSurfAttr EGLint
- newtype EGLContextAttr = EGLContextAttr EGLint
- queryString :: EGLint -> Egl -> IO String
- queryContext :: EGLint -> Egl -> IO EGLint
- type Egl = IORef EglCurrent
- data EglCurrent = EglCurrent {
- disp :: EGLDisplay
- chosen :: EGLConfig
- context :: EGLContext
- dsurf :: EGLSurface
- rsurf :: EGLSurface
- nwin :: EGLNativeWindow
- screenDims :: (Int32, Int32)
- ndisp :: Maybe EGLNativeDisplay
- confcand :: [[(EGLConfAttr, Int32)]]
- cxtconf :: [(EGLContextAttr, Int32)]
- initial :: Maybe EGLNativeDisplay -> [[(EGLConfAttr, Int32)]] -> [(EGLContextAttr, Int32)] -> EglCurrent
- showEglError :: EGLint -> String
- withAttrList :: [(EGLint, Int32)] -> (Ptr EGLint -> IO b) -> IO b
- setupEgl :: Maybe EGLNativeDisplay -> [[(EGLConfAttr, Int32)]] -> IO (EGLDisplay, EGLConfig)
- setSurface :: EGLDisplay -> EGLConfig -> EGLNativeWindow -> IO (EGLSurface, EGLint, EGLint)
EGL Types
type EGLboolean = Word32 Source
type EGLContext = Ptr () Source
type EGLDisplay = Ptr () Source
type EGLSurface = Ptr () Source
type EGLClientBuffer = Ptr () Source
Window System Types
type EGLNativeWindow = Ptr () Source
type EGLNativePixmap = Ptr () Source
type EGLNativeDisplay = Ptr () Source
Bindings to EGL
eglInitialize :: EGLDisplay -> Ptr EGLint -> Ptr EGLint -> IO EGLboolean Source
eglTerminate :: EGLDisplay -> IO EGLboolean Source
eglQueryString :: EGLDisplay -> EGLint -> IO CString Source
eglGetConfigs :: EGLDisplay -> Ptr EGLConfig -> EGLint -> Ptr EGLint -> IO EGLboolean Source
eglChooseConfig :: EGLDisplay -> Ptr EGLint -> Ptr EGLConfig -> EGLint -> Ptr EGLint -> IO EGLboolean Source
eglGetConfigAttrib :: EGLDisplay -> EGLConfig -> EGLint -> Ptr EGLint -> IO EGLboolean Source
eglCreateWindowSurface :: EGLDisplay -> EGLConfig -> EGLNativeWindow -> Ptr EGLint -> IO EGLSurface Source
eglCreatePbufferSurface :: EGLDisplay -> EGLConfig -> Ptr EGLint -> IO EGLSurface Source
eglCreatePixmapSurface :: EGLDisplay -> EGLConfig -> EGLNativePixmap -> Ptr EGLint -> IO EGLSurface Source
eglDestroySurface :: EGLDisplay -> EGLSurface -> IO EGLboolean Source
eglQuerySurface :: EGLDisplay -> EGLSurface -> EGLint -> Ptr EGLint -> IO EGLboolean Source
eglBindAPI :: EGLenum -> IO EGLboolean Source
eglCreatePbufferFromClientBuffer :: EGLDisplay -> EGLenum -> EGLClientBuffer -> EGLConfig -> Ptr EGLint -> IO EGLSurface Source
eglSurfaceAttrib :: EGLDisplay -> EGLSurface -> EGLint -> EGLint -> IO EGLboolean Source
eglBindTexImage :: EGLDisplay -> EGLSurface -> EGLint -> IO EGLboolean Source
eglReleaseTexImage :: EGLDisplay -> EGLSurface -> EGLint -> IO EGLboolean Source
eglSwapInterval :: EGLDisplay -> EGLint -> IO EGLboolean Source
eglCreateContext :: EGLDisplay -> EGLConfig -> EGLContext -> Ptr EGLint -> IO EGLContext Source
eglDestroyContext :: EGLDisplay -> EGLContext -> IO EGLboolean Source
eglMakeCurrent :: EGLDisplay -> EGLSurface -> EGLSurface -> EGLContext -> IO EGLboolean Source
eglQueryContext :: EGLDisplay -> EGLContext -> EGLint -> Ptr EGLint -> IO EGLboolean Source
eglWaitNative :: EGLint -> IO EGLboolean Source
eglSwapBuffers :: EGLDisplay -> EGLSurface -> IO EGLboolean Source
eglCopyBuffers :: EGLDisplay -> EGLSurface -> EGLNativePixmap -> IO EGLboolean Source
Obtain Extension Function Pointer
inlinePerformIO :: IO a -> a Source
Just like unsafePerformIO, but we inline it. Big performance gains as
it exposes lots of things to further inlining. Very unsafe. In
particular, you should do no memory allocation inside an
inlinePerformIO
block.
c_eglGetProcAddress :: CString -> IO (FunPtr a) Source
eglGetProcAddress :: String -> FunPtr a Source
Misc
newtype EGLConfAttr Source
newtype EGLSurfAttr Source
newtype EGLContextAttr Source
type Egl = IORef EglCurrent Source
data EglCurrent Source
EglCurrent | |
|
initial :: Maybe EGLNativeDisplay -> [[(EGLConfAttr, Int32)]] -> [(EGLContextAttr, Int32)] -> EglCurrent Source
showEglError :: EGLint -> String Source
setupEgl :: Maybe EGLNativeDisplay -> [[(EGLConfAttr, Int32)]] -> IO (EGLDisplay, EGLConfig) Source
Get an EGLDisplay and choose a suitable config
setSurface :: EGLDisplay -> EGLConfig -> EGLNativeWindow -> IO (EGLSurface, EGLint, EGLint) Source