opengles-0.6.0: OpenGL ES 2.0 and 3.0 with EGL 1.4

Safe HaskellUnsafe
LanguageHaskell2010

Graphics.EGL

Contents

Description

Synopsis

Documentation

type EGL a = IO (Either EGLError a) Source

Errors

Attribute Lists

egl_none :: Int Source

EGL_CONFIG_CAVEAT value EGL_NONE | 0x3050 | 0x3051

egl_transparent_rgb :: Int Source

EGL_TRANSPARENT_TYPE value EGL_NONE | 0x3052

egl_rgb_buffer :: Int Source

EGL_COLOR_BUFFER_TYPE value 0x308E | 0x308F

egl_opengl_es_bit :: Int Source

EGL_RENDERABLE_TYPE bitmask

checkErr :: IO a -> (a -> Bool) -> (a -> IO (Either EGLError b)) -> IO (Either EGLError b) Source

checkPtr :: IO (Ptr a) -> (Ptr a -> s) -> IO (Either EGLError s) Source

withAttrList :: Enum a => [(a, Int)] -> (Ptr Int -> IO b) -> IO b Source

Initialization & Terminating

eglInitialize Source

Arguments

:: EGLDisplay 
-> EGL (Int, Int)

EGL (major, minor) version

Configuration Management

Rendering Surfaces

Rendering Contexts

data EGLReadDraw Source

Constructors

EGLRead 
EGLDraw 

Instances

Synchronization Primitives

Posting the Color Buffer

Render to Textures

Obtain Extension Function Pointers

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.

Extending EGL

withCurrent Source

Arguments

:: (EGLError -> IO a)

Error handler

-> (EGLDisplay -> EGLContext -> EGLSurface -> EGLSurface -> IO a)

Current Display in use -> Current Context -> Current Read Surface -> Current Draw Surface

-> IO a 

Types

Window-system-dependent types

EGL Types

type EGLint = Int Source

32-bit signed integer

newtype EGLConfig Source

Constructors

EGLConfig 

Fields

unC :: EGLConfig_
 

newtype EGLContext Source

Constructors

EGLContext 

Fields

unX :: EGLContext_
 

newtype EGLDisplay Source

Constructors

EGLDisplay 

Fields

unD :: EGLDisplay_
 

newtype EGLSurface Source

Constructors

EGLSurface 

Fields

unS :: EGLSurface_
 

EGL Functions