Graphics.Rendering.GLU.Raw.Callbacks

GLURaw-1.5.0.2: A raw binding for the OpenGL graphics system

Copyright | (c) Sven Panne 2013
License | BSD3
Maintainer | Sven Panne <svenpanne@gmail.com>
Stability | stable
Portability | portable
Safe Haskell | None
Language | Haskell2010

Graphics.Rendering.GLU.Raw.Callbacks

Contents

- Tessellator Callbacks
  - Tessellator Callbacks without Polygon Data
  - Tessellator Callbacks with Polygon Data
- Quadrics Callbacks
- NURBS Callbacks
  - NURBS Callbacks without User Data
  - NURBS Callbacks with User Data

Description

All callbacks from GLU 1.3, see http://www.opengl.org/.

Synopsis

- type TessBeginCallback = GLenum -> IO ()
- makeTessBeginCallback :: TessBeginCallback -> IO (FunPtr TessBeginCallback)
- type TessEdgeFlagCallback = GLboolean -> IO ()
- makeTessEdgeFlagCallback :: TessEdgeFlagCallback -> IO (FunPtr TessEdgeFlagCallback)
- type TessVertexCallback v = Ptr v -> IO ()
- makeTessVertexCallback :: TessVertexCallback v -> IO (FunPtr (TessVertexCallback v))
- type TessEndCallback = IO ()
- makeTessEndCallback :: TessEndCallback -> IO (FunPtr TessEndCallback)
- type TessErrorCallback = GLenum -> IO ()
- makeTessErrorCallback :: TessErrorCallback -> IO (FunPtr TessErrorCallback)
- type TessCombineCallback v = Ptr GLdouble -> Ptr (Ptr v) -> Ptr GLfloat -> Ptr (Ptr v) -> IO ()
- makeTessCombineCallback :: TessCombineCallback v -> IO (FunPtr (TessCombineCallback v))
- type TessBeginDataCallback p = GLenum -> Ptr p -> IO ()
- makeTessBeginDataCallback :: TessBeginDataCallback p -> IO (FunPtr (TessBeginDataCallback p))
- type TessEdgeFlagDataCallback p = GLboolean -> Ptr p -> IO ()
- makeTessEdgeFlagDataCallback :: TessEdgeFlagDataCallback p -> IO (FunPtr (TessEdgeFlagDataCallback p))
- type TessVertexDataCallback v p = Ptr v -> Ptr p -> IO ()
- makeTessVertexDataCallback :: TessVertexDataCallback v p -> IO (FunPtr (TessVertexDataCallback v p))
- type TessEndDataCallback p = Ptr p -> IO ()
- makeTessEndDataCallback :: TessEndDataCallback p -> IO (FunPtr (TessEndDataCallback p))
- type TessErrorDataCallback p = GLenum -> Ptr p -> IO ()
- makeTessErrorDataCallback :: TessErrorDataCallback p -> IO (FunPtr (TessErrorDataCallback p))
- type TessCombineDataCallback v p = Ptr GLdouble -> Ptr (Ptr v) -> Ptr GLfloat -> Ptr (Ptr v) -> Ptr p -> IO ()
- makeTessCombineDataCallback :: TessCombineDataCallback v p -> IO (FunPtr (TessCombineDataCallback v p))
- type QuadricCallback = GLenum -> IO ()
- makeQuadricCallback :: QuadricCallback -> IO (FunPtr QuadricCallback)
- type NURBSBeginCallback = GLenum -> IO ()
- makeNURBSBeginCallback :: NURBSBeginCallback -> IO (FunPtr NURBSBeginCallback)
- type NURBSVertexCallback = Ptr GLfloat -> IO ()
- makeNURBSVertexCallback :: NURBSVertexCallback -> IO (FunPtr NURBSVertexCallback)
- type NURBSNormalCallback = Ptr GLfloat -> IO ()
- makeNURBSNormalCallback :: NURBSNormalCallback -> IO (FunPtr NURBSNormalCallback)
- type NURBSColorCallback = Ptr GLfloat -> IO ()
- makeNURBSColorCallback :: NURBSColorCallback -> IO (FunPtr NURBSColorCallback)
- type NURBSTexCoordCallback = Ptr GLfloat -> IO ()
- makeNURBSTexCoordCallback :: NURBSTexCoordCallback -> IO (FunPtr NURBSTexCoordCallback)
- type NURBSEndCallback = IO ()
- makeNURBSEndCallback :: NURBSEndCallback -> IO (FunPtr NURBSEndCallback)
- type NURBSErrorCallback = GLenum -> IO ()
- makeNURBSErrorCallback :: NURBSErrorCallback -> IO (FunPtr NURBSErrorCallback)
- type NURBSBeginDataCallback u = GLenum -> Ptr u -> IO ()
- makeNURBSBeginDataCallback :: NURBSBeginDataCallback u -> IO (FunPtr (NURBSBeginDataCallback u))
- type NURBSVertexDataCallback u = Ptr GLfloat -> Ptr u -> IO ()
- makeNURBSVertexDataCallback :: NURBSVertexDataCallback u -> IO (FunPtr (NURBSVertexDataCallback u))
- type NURBSNormalDataCallback u = Ptr GLfloat -> Ptr u -> IO ()
- makeNURBSNormalDataCallback :: NURBSNormalDataCallback u -> IO (FunPtr (NURBSNormalDataCallback u))
- type NURBSColorDataCallback u = Ptr GLfloat -> Ptr u -> IO ()
- makeNURBSColorDataCallback :: NURBSColorDataCallback u -> IO (FunPtr (NURBSColorDataCallback u))
- type NURBSTexCoordDataCallback u = Ptr GLfloat -> Ptr u -> IO ()
- makeNURBSTexCoordDataCallback :: NURBSTexCoordDataCallback u -> IO (FunPtr (NURBSTexCoordDataCallback u))
- type NURBSEndDataCallback u = Ptr u -> IO ()
- makeNURBSEndDataCallback :: NURBSEndDataCallback u -> IO (FunPtr (NURBSEndDataCallback u))

# Tessellator Callbacks

## Tessellator Callbacks without Polygon Data

type TessBeginCallback = GLenum -> IO ()

makeTessBeginCallback :: TessBeginCallback -> IO (FunPtr TessBeginCallback)

type TessEdgeFlagCallback = GLboolean -> IO ()

makeTessEdgeFlagCallback :: TessEdgeFlagCallback -> IO (FunPtr TessEdgeFlagCallback)

type TessVertexCallback v = Ptr v -> IO ()

makeTessVertexCallback :: TessVertexCallback v -> IO (FunPtr (TessVertexCallback v))

type TessEndCallback = IO ()

makeTessEndCallback :: TessEndCallback -> IO (FunPtr TessEndCallback)

type TessErrorCallback = GLenum -> IO ()

makeTessErrorCallback :: TessErrorCallback -> IO (FunPtr TessErrorCallback)

type TessCombineCallback v = Ptr GLdouble -> Ptr (Ptr v) -> Ptr GLfloat -> Ptr (Ptr v) -> IO ()

makeTessCombineCallback :: TessCombineCallback v -> IO (FunPtr (TessCombineCallback v))

## Tessellator Callbacks with Polygon Data

type TessBeginDataCallback p = GLenum -> Ptr p -> IO ()

makeTessBeginDataCallback :: TessBeginDataCallback p -> IO (FunPtr (TessBeginDataCallback p))

type TessEdgeFlagDataCallback p = GLboolean -> Ptr p -> IO ()

makeTessEdgeFlagDataCallback :: TessEdgeFlagDataCallback p -> IO (FunPtr (TessEdgeFlagDataCallback p))

type TessVertexDataCallback v p = Ptr v -> Ptr p -> IO ()

makeTessVertexDataCallback :: TessVertexDataCallback v p -> IO (FunPtr (TessVertexDataCallback v p))

type TessEndDataCallback p = Ptr p -> IO ()

makeTessEndDataCallback :: TessEndDataCallback p -> IO (FunPtr (TessEndDataCallback p))

type TessErrorDataCallback p = GLenum -> Ptr p -> IO ()

makeTessErrorDataCallback :: TessErrorDataCallback p -> IO (FunPtr (TessErrorDataCallback p))

type TessCombineDataCallback v p = Ptr GLdouble -> Ptr (Ptr v) -> Ptr GLfloat -> Ptr (Ptr v) -> Ptr p -> IO ()

makeTessCombineDataCallback :: TessCombineDataCallback v p -> IO (FunPtr (TessCombineDataCallback v p))

# Quadrics Callbacks

type QuadricCallback = GLenum -> IO ()

makeQuadricCallback :: QuadricCallback -> IO (FunPtr QuadricCallback)

# NURBS Callbacks

## NURBS Callbacks without User Data

type NURBSBeginCallback = GLenum -> IO ()

makeNURBSBeginCallback :: NURBSBeginCallback -> IO (FunPtr NURBSBeginCallback)

type NURBSVertexCallback = Ptr GLfloat -> IO ()

makeNURBSVertexCallback :: NURBSVertexCallback -> IO (FunPtr NURBSVertexCallback)

type NURBSNormalCallback = Ptr GLfloat -> IO ()

makeNURBSNormalCallback :: NURBSNormalCallback -> IO (FunPtr NURBSNormalCallback)

type NURBSColorCallback = Ptr GLfloat -> IO ()

makeNURBSColorCallback :: NURBSColorCallback -> IO (FunPtr NURBSColorCallback)

type NURBSTexCoordCallback = Ptr GLfloat -> IO ()

makeNURBSTexCoordCallback :: NURBSTexCoordCallback -> IO (FunPtr NURBSTexCoordCallback)

type NURBSEndCallback = IO ()

makeNURBSEndCallback :: NURBSEndCallback -> IO (FunPtr NURBSEndCallback)

type NURBSErrorCallback = GLenum -> IO ()

makeNURBSErrorCallback :: NURBSErrorCallback -> IO (FunPtr NURBSErrorCallback)

## NURBS Callbacks with User Data

type NURBSBeginDataCallback u = GLenum -> Ptr u -> IO ()

makeNURBSBeginDataCallback :: NURBSBeginDataCallback u -> IO (FunPtr (NURBSBeginDataCallback u))

type NURBSVertexDataCallback u = Ptr GLfloat -> Ptr u -> IO ()

makeNURBSVertexDataCallback :: NURBSVertexDataCallback u -> IO (FunPtr (NURBSVertexDataCallback u))

type NURBSNormalDataCallback u = Ptr GLfloat -> Ptr u -> IO ()

makeNURBSNormalDataCallback :: NURBSNormalDataCallback u -> IO (FunPtr (NURBSNormalDataCallback u))

type NURBSColorDataCallback u = Ptr GLfloat -> Ptr u -> IO ()

makeNURBSColorDataCallback :: NURBSColorDataCallback u -> IO (FunPtr (NURBSColorDataCallback u))

type NURBSTexCoordDataCallback u = Ptr GLfloat -> Ptr u -> IO ()

makeNURBSTexCoordDataCallback :: NURBSTexCoordDataCallback u -> IO (FunPtr (NURBSTexCoordDataCallback u))

type NURBSEndDataCallback u = Ptr u -> IO ()

makeNURBSEndDataCallback :: NURBSEndDataCallback u -> IO (FunPtr (NURBSEndDataCallback u))