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

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

Graphics.GLU.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)) #