GLURaw 1.3.0.0 → 1.4.0.0
raw patch · 11 files changed
+1146/−1140 lines, 11 filesdep ~OpenGLRawPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: OpenGLRaw
API changes (from Hackage documentation)
Files
- GLURaw.cabal +68/−61
- README.md +1/−0
- cbits/HsGLURaw.c +104/−104
- include/HsGLURaw.h +33/−33
- src/Graphics/Rendering/GLU/Raw.hs +25/−25
- src/Graphics/Rendering/GLU/Raw/APIEntry.hs +48/−48
- src/Graphics/Rendering/GLU/Raw/Callbacks.hs +191/−192
- src/Graphics/Rendering/GLU/Raw/Functions.hs +146/−147
- src/Graphics/Rendering/GLU/Raw/Tokens.hs +487/−487
- src/Graphics/Rendering/GLU/Raw/Types.hs +21/−21
- src/Graphics/Rendering/GLU/Raw/TypesInternal.hs +22/−22
GLURaw.cabal view
@@ -1,61 +1,68 @@-name: GLURaw-version: 1.3.0.0-license: BSD3-license-file: LICENSE-maintainer: Jason Dagit <dagitj@gmail.com>, Sven Panne <sven.panne@aedion.de>-bug-reports: https://github.com/haskell-opengl/GLURaw/issues-homepage: http://www.haskell.org/haskellwiki/Opengl-category: Graphics-synopsis: A raw binding for the OpenGL graphics system-description:- GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL utility library. It is- basically a 1:1 mapping of GLU's C API, intended as a basis for a nicer- interface.- .- OpenGL is the industry's most widely used and supported 2D and 3D graphics- application programming interface (API), incorporating a broad set of- rendering, texture mapping, special effects, and other powerful visualization- functions. For more information about OpenGL and its various extensions,- please see <http://www.opengl.org/>- and <http://www.opengl.org/registry/>.-build-type: Simple-cabal-version: >= 1.6-extra-source-files:- include/HsGLURaw.h--flag UseNativeWindowsLibraries- description:- When compiling under Windows, use the native libraries instead of e.g. the- ones coming with Cygwin.--library- exposed-modules:- Graphics.Rendering.GLU.Raw- Graphics.Rendering.GLU.Raw.Callbacks,- Graphics.Rendering.GLU.Raw.Functions,- Graphics.Rendering.GLU.Raw.Tokens,- Graphics.Rendering.GLU.Raw.Types- other-modules:- Graphics.Rendering.GLU.Raw.APIEntry,- Graphics.Rendering.GLU.Raw.TypesInternal- c-sources:- cbits/HsGLURaw.c- hs-Source-Dirs: src- include-dirs: include- build-depends: base >= 3 && < 5, OpenGLRaw == 1.3.*- ghc-options: -Wall- if os(windows) && flag(UseNativeWindowsLibraries)- cpp-options: "-DCALLCONV=stdcall"- cc-options: "-DUSE_GETPROCADDRESS"- extra-libraries: glu32- else- cpp-options: "-DCALLCONV=ccall"- cc-options: "-DUSE_DLSYM"- if os(darwin)- frameworks: OpenGL- else- extra-libraries: GLU--source-repository head- type: git- location: https://github.com/haskell-opengl/GLURaw+name: GLURaw +version: 1.4.0.0 +license: BSD3 +license-file: LICENSE +maintainer: Sven Panne <svenpanne@gmail.com>, Jason Dagit <dagitj@gmail.com> +bug-reports: https://github.com/haskell-opengl/GLURaw/issues +homepage: http://www.haskell.org/haskellwiki/Opengl +category: Graphics +synopsis: A raw binding for the OpenGL graphics system +description: + GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL utility library. It is + basically a 1:1 mapping of GLU's C API, intended as a basis for a nicer + interface. + . + OpenGL is the industry's most widely used and supported 2D and 3D graphics + application programming interface (API), incorporating a broad set of + rendering, texture mapping, special effects, and other powerful visualization + functions. For more information about OpenGL and its various extensions, + please see <http://www.opengl.org/> + and <http://www.opengl.org/registry/>. +build-type: Simple +cabal-version: >= 1.6 +extra-source-files: + README.md + include/HsGLURaw.h + +flag UseNativeWindowsLibraries + description: + When compiling under Windows, use the native libraries instead of e.g. the + ones coming with Cygwin. + +library + exposed-modules: + Graphics.Rendering.GLU.Raw + Graphics.Rendering.GLU.Raw.Callbacks, + Graphics.Rendering.GLU.Raw.Functions, + Graphics.Rendering.GLU.Raw.Tokens, + Graphics.Rendering.GLU.Raw.Types + other-modules: + Graphics.Rendering.GLU.Raw.APIEntry, + Graphics.Rendering.GLU.Raw.TypesInternal + c-sources: + cbits/HsGLURaw.c + hs-Source-Dirs: src + include-dirs: include + build-depends: base >= 3 && < 5, OpenGLRaw >= 1.3.0.0 + ghc-options: -Wall -O2 + if os(windows) && flag(UseNativeWindowsLibraries) + if arch(i386) + cpp-options: "-DCALLCONV=stdcall" + else + cpp-options: "-DCALLCONV=ccall" + cc-options: "-DUSE_GETPROCADDRESS" + extra-libraries: glu32 + else + cpp-options: "-DCALLCONV=ccall" + cc-options: "-DUSE_DLSYM" + if os(darwin) + frameworks: OpenGL + else + if os(ios) + frameworks: OpenGLES + else + extra-libraries: GLU + +source-repository head + type: git + location: https://github.com/haskell-opengl/GLURaw
+ README.md view
@@ -0,0 +1,1 @@+[](https://travis-ci.org/haskell-opengl/GLURaw)
cbits/HsGLURaw.c view
@@ -1,104 +1,104 @@-/* ------------------------------------------------------------------------------ *- * Module : C support for Graphics.Rendering.GLU.Raw.Extensions- * Copyright : (c) Sven Panne 2009- * License : BSD-style (see the file LICENSE)- *- * Maintainer : sven.panne@aedion.de- * Stability : stable- * Portability : portable- *- * -------------------------------------------------------------------------- */--#if defined(USE_GETPROCADDRESS)--#define WIN32_LEAN_AND_MEAN-#include <windows.h>--void*-hs_GLU_getProcAddress(const char *name)-{- static int firstTime = 1;- static HMODULE handle = NULL;-- if (firstTime) {- firstTime = 0;- handle = LoadLibrary(TEXT("glu32"));- }-- return handle ? GetProcAddress(handle, name) : NULL;-}--/* -------------------------------------------------------------------------- */-#elif defined(USE_NSADDRESSOFSYMBOL)--#include <mach-o/dyld.h>-#include <stdlib.h>-#include <string.h>--void*-hs_GLU_getProcAddress(const char *name)-{- NSSymbol symbol;-- /* Prepend a '_' for the Unix C symbol mangling convention */- char* symbolName = (char*)malloc(strlen(name) + 2);- if (!symbolName) {- return NULL;- }- symbolName[0] = '_';- strcpy(symbolName + 1, name);-- if (!NSIsSymbolNameDefined(symbolName)) {- free(symbolName);- return NULL;- }-- symbol = NSLookupAndBindSymbol(symbolName);- free(symbolName);- if (!symbol) {- return NULL;- }-- return NSAddressOfSymbol(symbol);-}--/* -------------------------------------------------------------------------- */-#elif defined(USE_DLSYM)--#include <stdlib.h>-#include <dlfcn.h>--#ifndef __APPLE__-#include <stdio.h>-#include <GL/glu.h>-#endif--void*-hs_GLU_getProcAddress(const char *name)-{- static int firstTime = 1;- static void *handle = NULL;-- if (firstTime) {- firstTime = 0;- /* Get a handle for our executable. */- handle = dlopen(NULL, RTLD_LAZY);- }--#ifndef __APPLE__- /* Hack to force linking of GLU on Linux */- FILE *bitbucket = fopen("/dev/null", "w");- fprintf(bitbucket, "%p\n", gluBeginCurve);- fclose(bitbucket); -#endif-- return handle ? dlsym(handle, name) : NULL;-}--/* -------------------------------------------------------------------------- */-#else--#error "Don't know how to retrieve GLU entries"--#endif+/* ----------------------------------------------------------------------------- + * + * Module : C support for Graphics.Rendering.GLU.Raw.Extensions + * Copyright : (c) Sven Panne 2013 + * License : BSD3 + * + * Maintainer : Sven Panne <svenpanne@gmail.com> + * Stability : stable + * Portability : portable + * + * -------------------------------------------------------------------------- */ + +#if defined(USE_GETPROCADDRESS) + +#define WIN32_LEAN_AND_MEAN +#include <windows.h> + +void* +hs_GLU_getProcAddress(const char *name) +{ + static int firstTime = 1; + static HMODULE handle = NULL; + + if (firstTime) { + firstTime = 0; + handle = LoadLibrary(TEXT("glu32")); + } + + return handle ? GetProcAddress(handle, name) : NULL; +} + +/* -------------------------------------------------------------------------- */ +#elif defined(USE_NSADDRESSOFSYMBOL) + +#include <mach-o/dyld.h> +#include <stdlib.h> +#include <string.h> + +void* +hs_GLU_getProcAddress(const char *name) +{ + NSSymbol symbol; + + /* Prepend a '_' for the Unix C symbol mangling convention */ + char* symbolName = (char*)malloc(strlen(name) + 2); + if (!symbolName) { + return NULL; + } + symbolName[0] = '_'; + strcpy(symbolName + 1, name); + + if (!NSIsSymbolNameDefined(symbolName)) { + free(symbolName); + return NULL; + } + + symbol = NSLookupAndBindSymbol(symbolName); + free(symbolName); + if (!symbol) { + return NULL; + } + + return NSAddressOfSymbol(symbol); +} + +/* -------------------------------------------------------------------------- */ +#elif defined(USE_DLSYM) + +#include <stdlib.h> +#include <dlfcn.h> + +#ifndef __APPLE__ +#include <stdio.h> +#include <GL/glu.h> +#endif + +void* +hs_GLU_getProcAddress(const char *name) +{ + static int firstTime = 1; + static void *handle = NULL; + + if (firstTime) { + firstTime = 0; + /* Get a handle for our executable. */ + handle = dlopen(NULL, RTLD_LAZY); + } + +#ifndef __APPLE__ + /* Hack to force linking of GLU on Linux */ + FILE *bitbucket = fopen("/dev/null", "w"); + fprintf(bitbucket, "%p\n", gluBeginCurve); + fclose(bitbucket); +#endif + + return handle ? dlsym(handle, name) : NULL; +} + +/* -------------------------------------------------------------------------- */ +#else + +#error "Don't know how to retrieve GLU entries" + +#endif
include/HsGLURaw.h view
@@ -1,33 +1,33 @@-/* ------------------------------------------------------------------------------ *- * Module : GL extension support for Graphics.Rendering.GLU.Raw- * Copyright : (c) Sven Panne 2009- * License : BSD-style (see the file LICENSE)- * - * Maintainer : sven.panne@aedion.de- * Stability : stable- * Portability : portable- *- * This header should only define preprocessor macros!- *- * -------------------------------------------------------------------------- */--#ifndef HSGLURAW_H-#define HSGLURAW_H--/* NOTE: The macro must immediately start with the foreign declaration,- otherwise the magic mangler (hack_foreign) in the Hugs build system- doesn't recognize it. */-#define API_ENTRY_INTERNAL(_entry,_ty,_safety) \-foreign import CALLCONV _safety "dynamic" dyn_/**/_entry :: Graphics.Rendering.GLU.Raw.APIEntry.Invoker (_ty) ; \-_entry :: (_ty) ; \-_entry = dyn_/**/_entry ptr_/**/_entry ; \-ptr_/**/_entry :: FunPtr a ; \-ptr_/**/_entry = unsafePerformIO (Graphics.Rendering.GLU.Raw.APIEntry.getAPIEntry "_entry") ; \-{-# NOINLINE ptr_/**/_entry #-}--#define API_ENTRY(_entry,_ty) API_ENTRY_INTERNAL(_entry,_ty,unsafe)--#define API_ENTRY_SAFE(_entry,_ty) API_ENTRY_INTERNAL(_entry,_ty,safe)--#endif+/* ----------------------------------------------------------------------------- + * + * Module : GL extension support for Graphics.Rendering.GLU.Raw + * Copyright : (c) Sven Panne 2013 + * License : BSD3 + * + * Maintainer : Sven Panne <svenpanne@gmail.com> + * Stability : stable + * Portability : portable + * + * This header should only define preprocessor macros! + * + * -------------------------------------------------------------------------- */ + +#ifndef HSGLURAW_H +#define HSGLURAW_H + +/* NOTE: The macro must immediately start with the foreign declaration, + otherwise the magic mangler (hack_foreign) in the Hugs build system + doesn't recognize it. */ +#define API_ENTRY_INTERNAL(_entry,_ty,_safety) \ +foreign import CALLCONV _safety "dynamic" dyn_/**/_entry :: Graphics.Rendering.GLU.Raw.APIEntry.Invoker (_ty) ; \ +_entry :: (_ty) ; \ +_entry = dyn_/**/_entry ptr_/**/_entry ; \ +ptr_/**/_entry :: FunPtr a ; \ +ptr_/**/_entry = unsafePerformIO (Graphics.Rendering.GLU.Raw.APIEntry.getAPIEntry "_entry") ; \ +{-# NOINLINE ptr_/**/_entry #-} + +#define API_ENTRY(_entry,_ty) API_ENTRY_INTERNAL(_entry,_ty,unsafe) + +#define API_ENTRY_SAFE(_entry,_ty) API_ENTRY_INTERNAL(_entry,_ty,safe) + +#endif
src/Graphics/Rendering/GLU/Raw.hs view
@@ -1,25 +1,25 @@------------------------------------------------------------------------------------ |--- Module : Graphics.Rendering.GLU.Raw--- Copyright : (c) Sven Panne 2009--- License : BSD-style (see the file LICENSE)------ Maintainer : sven.panne@aedion.de--- Stability : stable--- Portability : portable------ A 1:1 binding for the OpenGL utility library.--------------------------------------------------------------------------------------module Graphics.Rendering.GLU.Raw (- module Graphics.Rendering.GLU.Raw.Functions,- module Graphics.Rendering.GLU.Raw.Tokens,- module Graphics.Rendering.GLU.Raw.Types,- module Graphics.Rendering.GLU.Raw.Callbacks-) where--import Graphics.Rendering.GLU.Raw.Functions-import Graphics.Rendering.GLU.Raw.Tokens-import Graphics.Rendering.GLU.Raw.Types-import Graphics.Rendering.GLU.Raw.Callbacks+-------------------------------------------------------------------------------- +-- | +-- Module : Graphics.Rendering.GLU.Raw +-- Copyright : (c) Sven Panne 2013 +-- License : BSD3 +-- +-- Maintainer : Sven Panne <svenpanne@gmail.com> +-- Stability : stable +-- Portability : portable +-- +-- A 1:1 binding for the OpenGL utility library. +-- +-------------------------------------------------------------------------------- + +module Graphics.Rendering.GLU.Raw ( + module Graphics.Rendering.GLU.Raw.Functions, + module Graphics.Rendering.GLU.Raw.Tokens, + module Graphics.Rendering.GLU.Raw.Types, + module Graphics.Rendering.GLU.Raw.Callbacks +) where + +import Graphics.Rendering.GLU.Raw.Functions +import Graphics.Rendering.GLU.Raw.Tokens +import Graphics.Rendering.GLU.Raw.Types +import Graphics.Rendering.GLU.Raw.Callbacks
src/Graphics/Rendering/GLU/Raw/APIEntry.hs view
@@ -1,48 +1,48 @@-{-# LANGUAGE ForeignFunctionInterface, CPP #-}--- #hide------------------------------------------------------------------------------------ |--- Module : Graphics.Rendering.GLU.Raw.APIEntry--- Copyright : (c) Sven Panne 2009--- License : BSD-style (see the file LICENSE)------ Maintainer : sven.panne@aedion.de--- Stability : stable--- Portability : portable------ This module offers a portable way to retrieve GLUT entries, providing a--- portability layer upon platform-specific mechanisms like @dlsym@,--- @GetProcAddress@ or @NSAddressOfSymbol@.--------------------------------------------------------------------------------------module Graphics.Rendering.GLU.Raw.APIEntry (- Invoker, getAPIEntry,- FunPtr, unsafePerformIO-) where--import Foreign.C.String-import Foreign.Marshal.Error-import Foreign.Ptr-import System.IO.Unsafe--#ifdef __HUGS__-{-# CFILES cbits/HsOpenGLRaw.c #-}-#endif------------------------------------------------------------------------------------type Invoker a = FunPtr a -> a---- | Retrieve a GLU API entry by name. Throws a userError when no entry with the--- given name was found.-getAPIEntry :: String -> IO (FunPtr a)-getAPIEntry extensionEntry =- throwIfNullFunPtr ("unknown GLU entry " ++ extensionEntry) $- withCString extensionEntry hs_GLU_getProcAddress--throwIfNullFunPtr :: String -> IO (FunPtr a) -> IO (FunPtr a)-throwIfNullFunPtr = throwIf (== nullFunPtr) . const--foreign import ccall unsafe "hs_GLU_getProcAddress"- hs_GLU_getProcAddress :: CString -> IO (FunPtr a)+{-# LANGUAGE ForeignFunctionInterface, CPP #-} +{-# OPTIONS_HADDOCK hide #-} +-------------------------------------------------------------------------------- +-- | +-- Module : Graphics.Rendering.GLU.Raw.APIEntry +-- Copyright : (c) Sven Panne 2013 +-- License : BSD3 +-- +-- Maintainer : Sven Panne <svenpanne@gmail.com> +-- Stability : stable +-- Portability : portable +-- +-- This module offers a portable way to retrieve GLUT entries, providing a +-- portability layer upon platform-specific mechanisms like @dlsym@, +-- @GetProcAddress@ or @NSAddressOfSymbol@. +-- +-------------------------------------------------------------------------------- + +module Graphics.Rendering.GLU.Raw.APIEntry ( + Invoker, getAPIEntry, + FunPtr, unsafePerformIO +) where + +import Foreign.C.String +import Foreign.Marshal.Error +import Foreign.Ptr +import System.IO.Unsafe + +#ifdef __HUGS__ +{-# CFILES cbits/HsOpenGLRaw.c #-} +#endif + +-------------------------------------------------------------------------------- + +type Invoker a = FunPtr a -> a + +-- | Retrieve a GLU API entry by name. Throws a userError when no entry with the +-- given name was found. +getAPIEntry :: String -> IO (FunPtr a) +getAPIEntry extensionEntry = + throwIfNullFunPtr ("unknown GLU entry " ++ extensionEntry) $ + withCString extensionEntry hs_GLU_getProcAddress + +throwIfNullFunPtr :: String -> IO (FunPtr a) -> IO (FunPtr a) +throwIfNullFunPtr = throwIf (== nullFunPtr) . const + +foreign import ccall unsafe "hs_GLU_getProcAddress" + hs_GLU_getProcAddress :: CString -> IO (FunPtr a)
src/Graphics/Rendering/GLU/Raw/Callbacks.hs view
@@ -1,192 +1,191 @@-{-# LANGUAGE ForeignFunctionInterface, CPP #-}------------------------------------------------------------------------------------ |--- Module : Graphics.Rendering.GLU.Raw.Callbacks--- Copyright : (c) Sven Panne 2009--- License : BSD-style (see the file LICENSE)------ Maintainer : sven.panne@aedion.de--- Stability : stable--- Portability : portable------ All callbacks from GLU 1.3, see <http://www.opengl.org/>.--------------------------------------------------------------------------------------module Graphics.Rendering.GLU.Raw.Callbacks (- -- * Tessellator Callbacks- -- ** Tessellator Callbacks without Polygon Data- TessBeginCallback, makeTessBeginCallback,- TessEdgeFlagCallback, makeTessEdgeFlagCallback,- TessVertexCallback, makeTessVertexCallback,- TessEndCallback, makeTessEndCallback,- TessErrorCallback, makeTessErrorCallback,- TessCombineCallback, makeTessCombineCallback,- -- ** Tessellator Callbacks with Polygon Data- TessBeginDataCallback, makeTessBeginDataCallback,- TessEdgeFlagDataCallback, makeTessEdgeFlagDataCallback,- TessVertexDataCallback, makeTessVertexDataCallback,- TessEndDataCallback, makeTessEndDataCallback,- TessErrorDataCallback, makeTessErrorDataCallback,- TessCombineDataCallback, makeTessCombineDataCallback,- -- * Quadrics Callbacks- QuadricCallback, makeQuadricCallback,- -- * NURBS Callbacks- -- ** NURBS Callbacks without User Data- NURBSBeginCallback, makeNURBSBeginCallback,- NURBSVertexCallback, makeNURBSVertexCallback,- NURBSNormalCallback, makeNURBSNormalCallback,- NURBSColorCallback, makeNURBSColorCallback,- NURBSTexCoordCallback, makeNURBSTexCoordCallback,- NURBSEndCallback, makeNURBSEndCallback,- NURBSErrorCallback, makeNURBSErrorCallback,- -- ** NURBS Callbacks with User Data- NURBSBeginDataCallback, makeNURBSBeginDataCallback,- NURBSVertexDataCallback, makeNURBSVertexDataCallback,- NURBSNormalDataCallback, makeNURBSNormalDataCallback,- NURBSColorDataCallback, makeNURBSColorDataCallback,- NURBSTexCoordDataCallback, makeNURBSTexCoordDataCallback,- NURBSEndDataCallback, makeNURBSEndDataCallback-) where--import Foreign.Ptr-import Foreign.C.Types-import Graphics.Rendering.OpenGL.Raw-import Graphics.Rendering.OpenGL.Raw.Core31.Types------------------------------------------------------------------------------------type TessBeginCallback = GLenum -> IO ()--foreign import CALLCONV "wrapper"- makeTessBeginCallback :: TessBeginCallback -> IO (FunPtr TessBeginCallback)--type TessEdgeFlagCallback = GLboolean -> IO ()--foreign import CALLCONV "wrapper"- makeTessEdgeFlagCallback :: TessEdgeFlagCallback -> IO (FunPtr TessEdgeFlagCallback)--type TessVertexCallback v = Ptr v -> IO ()--foreign import CALLCONV "wrapper"- makeTessVertexCallback :: TessVertexCallback v -> IO (FunPtr (TessVertexCallback v))--type TessEndCallback = IO ()--foreign import CALLCONV "wrapper"- makeTessEndCallback :: TessEndCallback -> IO (FunPtr TessEndCallback)--type TessErrorCallback = GLenum -> IO ()--foreign import CALLCONV "wrapper"- makeTessErrorCallback :: TessErrorCallback -> IO (FunPtr TessErrorCallback)--type TessCombineCallback v = Ptr GLdouble -> Ptr (Ptr v) -> Ptr GLfloat -> Ptr (Ptr v) -> IO ()--foreign import CALLCONV "wrapper"- makeTessCombineCallback :: TessCombineCallback v -> IO (FunPtr (TessCombineCallback v))--type TessBeginDataCallback p = GLenum -> Ptr p -> IO ()--foreign import CALLCONV "wrapper"- makeTessBeginDataCallback :: TessBeginDataCallback p -> IO (FunPtr (TessBeginDataCallback p))--type TessEdgeFlagDataCallback p = GLboolean -> Ptr p -> IO ()--foreign import CALLCONV "wrapper"- makeTessEdgeFlagDataCallback :: TessEdgeFlagDataCallback p -> IO (FunPtr (TessEdgeFlagDataCallback p))--type TessVertexDataCallback v p = Ptr v -> Ptr p -> IO ()--foreign import CALLCONV "wrapper"- makeTessVertexDataCallback :: TessVertexDataCallback v p -> IO (FunPtr (TessVertexDataCallback v p))--type TessEndDataCallback p = Ptr p -> IO ()--foreign import CALLCONV "wrapper"- makeTessEndDataCallback :: TessEndDataCallback p -> IO (FunPtr (TessEndDataCallback p))--type TessErrorDataCallback p = GLenum -> Ptr p -> IO ()--foreign import CALLCONV "wrapper"- makeTessErrorDataCallback :: TessErrorDataCallback p -> IO (FunPtr (TessErrorDataCallback p))--type TessCombineDataCallback v p = Ptr GLdouble -> Ptr (Ptr v) -> Ptr GLfloat -> Ptr (Ptr v) -> Ptr p -> IO ()--foreign import CALLCONV "wrapper"- makeTessCombineDataCallback :: TessCombineDataCallback v p -> IO (FunPtr (TessCombineDataCallback v p))------------------------------------------------------------------------------------type QuadricCallback = GLenum -> IO ()--foreign import CALLCONV "wrapper"- makeQuadricCallback :: QuadricCallback -> IO (FunPtr QuadricCallback)------------------------------------------------------------------------------------type NURBSBeginCallback = GLenum -> IO ()--foreign import CALLCONV "wrapper"- makeNURBSBeginCallback :: NURBSBeginCallback -> IO (FunPtr NURBSBeginCallback)--type NURBSVertexCallback = Ptr GLfloat -> IO ()--foreign import CALLCONV "wrapper"- makeNURBSVertexCallback :: NURBSVertexCallback -> IO (FunPtr NURBSVertexCallback)--type NURBSNormalCallback = Ptr GLfloat -> IO ()--foreign import CALLCONV "wrapper"- makeNURBSNormalCallback :: NURBSNormalCallback -> IO (FunPtr NURBSNormalCallback)--type NURBSColorCallback = Ptr GLfloat -> IO ()--foreign import CALLCONV "wrapper"- makeNURBSColorCallback :: NURBSColorCallback -> IO (FunPtr NURBSColorCallback)--type NURBSTexCoordCallback = Ptr GLfloat -> IO ()--foreign import CALLCONV "wrapper"- makeNURBSTexCoordCallback :: NURBSTexCoordCallback -> IO (FunPtr NURBSTexCoordCallback)--type NURBSEndCallback = IO ()--foreign import CALLCONV "wrapper"- makeNURBSEndCallback :: NURBSEndCallback -> IO (FunPtr NURBSEndCallback)--type NURBSErrorCallback = GLenum -> IO ()--foreign import CALLCONV "wrapper"- makeNURBSErrorCallback :: NURBSErrorCallback -> IO (FunPtr NURBSErrorCallback)--type NURBSBeginDataCallback u = GLenum -> Ptr u -> IO ()--foreign import CALLCONV "wrapper"- makeNURBSBeginDataCallback :: NURBSBeginDataCallback u -> IO (FunPtr (NURBSBeginDataCallback u))--type NURBSVertexDataCallback u = Ptr GLfloat -> Ptr u -> IO ()--foreign import CALLCONV "wrapper"- makeNURBSVertexDataCallback :: NURBSVertexDataCallback u -> IO (FunPtr (NURBSVertexDataCallback u))--type NURBSNormalDataCallback u = Ptr GLfloat -> Ptr u -> IO ()--foreign import CALLCONV "wrapper"- makeNURBSNormalDataCallback :: NURBSNormalDataCallback u -> IO (FunPtr (NURBSNormalDataCallback u))--type NURBSColorDataCallback u = Ptr GLfloat -> Ptr u -> IO ()--foreign import CALLCONV "wrapper"- makeNURBSColorDataCallback :: NURBSColorDataCallback u -> IO (FunPtr (NURBSColorDataCallback u))--type NURBSTexCoordDataCallback u = Ptr GLfloat -> Ptr u -> IO ()--foreign import CALLCONV "wrapper"- makeNURBSTexCoordDataCallback :: NURBSTexCoordDataCallback u -> IO (FunPtr (NURBSTexCoordDataCallback u))--type NURBSEndDataCallback u = Ptr u -> IO ()--foreign import CALLCONV "wrapper"- makeNURBSEndDataCallback :: NURBSEndDataCallback u -> IO (FunPtr (NURBSEndDataCallback u))-+{-# LANGUAGE ForeignFunctionInterface, CPP #-} +-------------------------------------------------------------------------------- +-- | +-- Module : Graphics.Rendering.GLU.Raw.Callbacks +-- Copyright : (c) Sven Panne 2013 +-- License : BSD3 +-- +-- Maintainer : Sven Panne <svenpanne@gmail.com> +-- Stability : stable +-- Portability : portable +-- +-- All callbacks from GLU 1.3, see <http://www.opengl.org/>. +-- +-------------------------------------------------------------------------------- + +module Graphics.Rendering.GLU.Raw.Callbacks ( + -- * Tessellator Callbacks + -- ** Tessellator Callbacks without Polygon Data + TessBeginCallback, makeTessBeginCallback, + TessEdgeFlagCallback, makeTessEdgeFlagCallback, + TessVertexCallback, makeTessVertexCallback, + TessEndCallback, makeTessEndCallback, + TessErrorCallback, makeTessErrorCallback, + TessCombineCallback, makeTessCombineCallback, + -- ** Tessellator Callbacks with Polygon Data + TessBeginDataCallback, makeTessBeginDataCallback, + TessEdgeFlagDataCallback, makeTessEdgeFlagDataCallback, + TessVertexDataCallback, makeTessVertexDataCallback, + TessEndDataCallback, makeTessEndDataCallback, + TessErrorDataCallback, makeTessErrorDataCallback, + TessCombineDataCallback, makeTessCombineDataCallback, + -- * Quadrics Callbacks + QuadricCallback, makeQuadricCallback, + -- * NURBS Callbacks + -- ** NURBS Callbacks without User Data + NURBSBeginCallback, makeNURBSBeginCallback, + NURBSVertexCallback, makeNURBSVertexCallback, + NURBSNormalCallback, makeNURBSNormalCallback, + NURBSColorCallback, makeNURBSColorCallback, + NURBSTexCoordCallback, makeNURBSTexCoordCallback, + NURBSEndCallback, makeNURBSEndCallback, + NURBSErrorCallback, makeNURBSErrorCallback, + -- ** NURBS Callbacks with User Data + NURBSBeginDataCallback, makeNURBSBeginDataCallback, + NURBSVertexDataCallback, makeNURBSVertexDataCallback, + NURBSNormalDataCallback, makeNURBSNormalDataCallback, + NURBSColorDataCallback, makeNURBSColorDataCallback, + NURBSTexCoordDataCallback, makeNURBSTexCoordDataCallback, + NURBSEndDataCallback, makeNURBSEndDataCallback +) where + +import Foreign.Ptr +import Foreign.C.Types +import Graphics.Rendering.OpenGL.Raw + +-------------------------------------------------------------------------------- + +type TessBeginCallback = GLenum -> IO () + +foreign import CALLCONV "wrapper" + makeTessBeginCallback :: TessBeginCallback -> IO (FunPtr TessBeginCallback) + +type TessEdgeFlagCallback = GLboolean -> IO () + +foreign import CALLCONV "wrapper" + makeTessEdgeFlagCallback :: TessEdgeFlagCallback -> IO (FunPtr TessEdgeFlagCallback) + +type TessVertexCallback v = Ptr v -> IO () + +foreign import CALLCONV "wrapper" + makeTessVertexCallback :: TessVertexCallback v -> IO (FunPtr (TessVertexCallback v)) + +type TessEndCallback = IO () + +foreign import CALLCONV "wrapper" + makeTessEndCallback :: TessEndCallback -> IO (FunPtr TessEndCallback) + +type TessErrorCallback = GLenum -> IO () + +foreign import CALLCONV "wrapper" + makeTessErrorCallback :: TessErrorCallback -> IO (FunPtr TessErrorCallback) + +type TessCombineCallback v = Ptr GLdouble -> Ptr (Ptr v) -> Ptr GLfloat -> Ptr (Ptr v) -> IO () + +foreign import CALLCONV "wrapper" + makeTessCombineCallback :: TessCombineCallback v -> IO (FunPtr (TessCombineCallback v)) + +type TessBeginDataCallback p = GLenum -> Ptr p -> IO () + +foreign import CALLCONV "wrapper" + makeTessBeginDataCallback :: TessBeginDataCallback p -> IO (FunPtr (TessBeginDataCallback p)) + +type TessEdgeFlagDataCallback p = GLboolean -> Ptr p -> IO () + +foreign import CALLCONV "wrapper" + makeTessEdgeFlagDataCallback :: TessEdgeFlagDataCallback p -> IO (FunPtr (TessEdgeFlagDataCallback p)) + +type TessVertexDataCallback v p = Ptr v -> Ptr p -> IO () + +foreign import CALLCONV "wrapper" + makeTessVertexDataCallback :: TessVertexDataCallback v p -> IO (FunPtr (TessVertexDataCallback v p)) + +type TessEndDataCallback p = Ptr p -> IO () + +foreign import CALLCONV "wrapper" + makeTessEndDataCallback :: TessEndDataCallback p -> IO (FunPtr (TessEndDataCallback p)) + +type TessErrorDataCallback p = GLenum -> Ptr p -> IO () + +foreign import CALLCONV "wrapper" + makeTessErrorDataCallback :: TessErrorDataCallback p -> IO (FunPtr (TessErrorDataCallback p)) + +type TessCombineDataCallback v p = Ptr GLdouble -> Ptr (Ptr v) -> Ptr GLfloat -> Ptr (Ptr v) -> Ptr p -> IO () + +foreign import CALLCONV "wrapper" + makeTessCombineDataCallback :: TessCombineDataCallback v p -> IO (FunPtr (TessCombineDataCallback v p)) + +-------------------------------------------------------------------------------- + +type QuadricCallback = GLenum -> IO () + +foreign import CALLCONV "wrapper" + makeQuadricCallback :: QuadricCallback -> IO (FunPtr QuadricCallback) + +-------------------------------------------------------------------------------- + +type NURBSBeginCallback = GLenum -> IO () + +foreign import CALLCONV "wrapper" + makeNURBSBeginCallback :: NURBSBeginCallback -> IO (FunPtr NURBSBeginCallback) + +type NURBSVertexCallback = Ptr GLfloat -> IO () + +foreign import CALLCONV "wrapper" + makeNURBSVertexCallback :: NURBSVertexCallback -> IO (FunPtr NURBSVertexCallback) + +type NURBSNormalCallback = Ptr GLfloat -> IO () + +foreign import CALLCONV "wrapper" + makeNURBSNormalCallback :: NURBSNormalCallback -> IO (FunPtr NURBSNormalCallback) + +type NURBSColorCallback = Ptr GLfloat -> IO () + +foreign import CALLCONV "wrapper" + makeNURBSColorCallback :: NURBSColorCallback -> IO (FunPtr NURBSColorCallback) + +type NURBSTexCoordCallback = Ptr GLfloat -> IO () + +foreign import CALLCONV "wrapper" + makeNURBSTexCoordCallback :: NURBSTexCoordCallback -> IO (FunPtr NURBSTexCoordCallback) + +type NURBSEndCallback = IO () + +foreign import CALLCONV "wrapper" + makeNURBSEndCallback :: NURBSEndCallback -> IO (FunPtr NURBSEndCallback) + +type NURBSErrorCallback = GLenum -> IO () + +foreign import CALLCONV "wrapper" + makeNURBSErrorCallback :: NURBSErrorCallback -> IO (FunPtr NURBSErrorCallback) + +type NURBSBeginDataCallback u = GLenum -> Ptr u -> IO () + +foreign import CALLCONV "wrapper" + makeNURBSBeginDataCallback :: NURBSBeginDataCallback u -> IO (FunPtr (NURBSBeginDataCallback u)) + +type NURBSVertexDataCallback u = Ptr GLfloat -> Ptr u -> IO () + +foreign import CALLCONV "wrapper" + makeNURBSVertexDataCallback :: NURBSVertexDataCallback u -> IO (FunPtr (NURBSVertexDataCallback u)) + +type NURBSNormalDataCallback u = Ptr GLfloat -> Ptr u -> IO () + +foreign import CALLCONV "wrapper" + makeNURBSNormalDataCallback :: NURBSNormalDataCallback u -> IO (FunPtr (NURBSNormalDataCallback u)) + +type NURBSColorDataCallback u = Ptr GLfloat -> Ptr u -> IO () + +foreign import CALLCONV "wrapper" + makeNURBSColorDataCallback :: NURBSColorDataCallback u -> IO (FunPtr (NURBSColorDataCallback u)) + +type NURBSTexCoordDataCallback u = Ptr GLfloat -> Ptr u -> IO () + +foreign import CALLCONV "wrapper" + makeNURBSTexCoordDataCallback :: NURBSTexCoordDataCallback u -> IO (FunPtr (NURBSTexCoordDataCallback u)) + +type NURBSEndDataCallback u = Ptr u -> IO () + +foreign import CALLCONV "wrapper" + makeNURBSEndDataCallback :: NURBSEndDataCallback u -> IO (FunPtr (NURBSEndDataCallback u)) +
src/Graphics/Rendering/GLU/Raw/Functions.hs view
@@ -1,147 +1,146 @@-{-# LANGUAGE ForeignFunctionInterface, CPP #-}------------------------------------------------------------------------------------ |--- Module : Graphics.Rendering.GLU.Raw.Functions--- Copyright : (c) Sven Panne 2009--- License : BSD-style (see the file LICENSE)------ Maintainer : sven.panne@aedion.de--- Stability : stable--- Portability : portable------ All functions from GLU 1.3, see <http://www.opengl.org/>.--------------------------------------------------------------------------------------module Graphics.Rendering.GLU.Raw.Functions (- gluBeginCurve,- gluBeginPolygon,- gluBeginSurface,- gluBeginTrim,- gluBuild1DMipmapLevels,- gluBuild1DMipmaps,- gluBuild2DMipmapLevels,- gluBuild2DMipmaps,- gluBuild3DMipmapLevels,- gluBuild3DMipmaps,- gluCheckExtension,- gluCylinder,- gluDeleteNurbsRenderer,- gluDeleteQuadric,- gluDeleteTess,- gluDisk,- gluEndCurve,- gluEndPolygon,- gluEndSurface,- gluEndTrim,- gluErrorString,- gluGetNurbsProperty,- gluGetString,- gluGetTessProperty,- gluLoadSamplingMatrices,- gluLookAt,- gluNewNurbsRenderer,- gluNewQuadric,- gluNewTess,- gluNextContour,- gluNurbsCallback,- gluNurbsCallbackData,- gluNurbsCallbackDataEXT,- gluNurbsCurve,- gluNurbsProperty,- gluNurbsSurface,- gluOrtho2D,- gluPartialDisk,- gluPerspective,- gluPickMatrix,- gluProject,- gluPwlCurve,- gluQuadricCallback,- gluQuadricDrawStyle,- gluQuadricNormals,- gluQuadricOrientation,- gluQuadricTexture,- gluScaleImage,- gluSphere,- gluTessBeginContour,- gluTessBeginPolygon,- gluTessCallback,- gluTessEndContour,- gluTessEndPolygon,- gluTessNormal,- gluTessProperty,- gluTessVertex,- gluUnProject,- gluUnProject4,-) where--import Foreign.Ptr-import Foreign.C.Types-import Graphics.Rendering.GLU.Raw.APIEntry-import Graphics.Rendering.GLU.Raw.Types-import Graphics.Rendering.OpenGL.Raw.Core31-import Graphics.Rendering.OpenGL.Raw.Core31.Types--#include "HsGLURaw.h"------------------------------------------------------------------------------------API_ENTRY_SAFE(gluBeginCurve,Ptr GLUnurbs -> IO ())-API_ENTRY_SAFE(gluBeginPolygon,Ptr GLUtesselator -> IO ())-API_ENTRY_SAFE(gluBeginSurface,Ptr GLUnurbs -> IO ())-API_ENTRY_SAFE(gluBeginTrim,Ptr GLUnurbs -> IO ())-API_ENTRY(gluBuild1DMipmapLevels,GLenum -> GLint -> GLsizei -> GLenum -> GLenum -> GLint -> GLint -> GLint -> Ptr a -> IO GLint)-API_ENTRY(gluBuild1DMipmaps,GLenum -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO GLint)-API_ENTRY(gluBuild2DMipmapLevels,GLenum -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLint -> GLint -> GLint -> Ptr a -> IO GLint)-API_ENTRY(gluBuild2DMipmaps,GLenum -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO GLint)-API_ENTRY(gluBuild3DMipmapLevels,GLenum -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLint -> GLint -> GLint -> Ptr a -> IO GLint)-API_ENTRY(gluBuild3DMipmaps,GLenum -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO GLint)-API_ENTRY(gluCheckExtension,Ptr GLubyte -> Ptr GLubyte -> IO GLboolean)-API_ENTRY_SAFE(gluCylinder,Ptr GLUquadric -> GLdouble -> GLdouble -> GLdouble -> GLint -> GLint -> IO ())-API_ENTRY_SAFE(gluDeleteNurbsRenderer,Ptr GLUnurbs -> IO ())-API_ENTRY(gluDeleteQuadric,Ptr GLUquadric -> IO ())-API_ENTRY_SAFE(gluDeleteTess,Ptr GLUtesselator -> IO ())-API_ENTRY_SAFE(gluDisk,Ptr GLUquadric -> GLdouble -> GLdouble -> GLint -> GLint -> IO ())-API_ENTRY_SAFE(gluEndCurve,Ptr GLUnurbs -> IO ())-API_ENTRY_SAFE(gluEndPolygon,Ptr GLUtesselator -> IO ())-API_ENTRY_SAFE(gluEndSurface,Ptr GLUnurbs -> IO ())-API_ENTRY_SAFE(gluEndTrim,Ptr GLUnurbs -> IO ())-API_ENTRY(gluErrorString,GLenum -> IO (Ptr GLubyte))-API_ENTRY_SAFE(gluGetNurbsProperty,Ptr GLUnurbs -> GLenum -> Ptr GLfloat -> IO ())-API_ENTRY(gluGetString,GLenum -> IO (Ptr GLubyte))-API_ENTRY_SAFE(gluGetTessProperty,Ptr GLUtesselator -> GLenum -> Ptr GLdouble -> IO ())-API_ENTRY_SAFE(gluLoadSamplingMatrices,Ptr GLUnurbs -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLint -> IO ())-API_ENTRY(gluLookAt,GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())-API_ENTRY_SAFE(gluNewNurbsRenderer,IO (Ptr GLUnurbs))-API_ENTRY(gluNewQuadric,IO (Ptr GLUquadric))-API_ENTRY(gluNewTess,IO (Ptr GLUtesselator))-API_ENTRY_SAFE(gluNextContour,Ptr GLUtesselator -> GLenum -> IO ())-API_ENTRY_SAFE(gluNurbsCallback,Ptr GLUnurbs -> GLenum -> FunPtr a -> IO ())-API_ENTRY_SAFE(gluNurbsCallbackData,Ptr GLUnurbs -> Ptr a -> IO ())-API_ENTRY_SAFE(gluNurbsCallbackDataEXT,Ptr GLUnurbs -> Ptr a -> IO ())-API_ENTRY_SAFE(gluNurbsCurve,Ptr GLUnurbs -> GLint -> Ptr GLfloat -> GLint -> Ptr GLfloat -> GLint -> GLenum -> IO ())-API_ENTRY_SAFE(gluNurbsProperty,Ptr GLUnurbs -> GLenum -> GLfloat -> IO ())-API_ENTRY_SAFE(gluNurbsSurface,Ptr GLUnurbs -> GLint -> Ptr GLfloat -> GLint -> Ptr GLfloat -> GLint -> GLint -> Ptr GLfloat -> GLint -> GLint -> GLenum -> IO ())-API_ENTRY(gluOrtho2D,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())-API_ENTRY_SAFE(gluPartialDisk,Ptr GLUquadric -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> IO ())-API_ENTRY(gluPerspective,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())-API_ENTRY(gluPickMatrix,GLdouble -> GLdouble -> GLdouble -> GLdouble -> Ptr GLint -> IO ())-API_ENTRY(gluProject,GLdouble -> GLdouble -> GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLint -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> IO GLint)-API_ENTRY_SAFE(gluPwlCurve,Ptr GLUnurbs -> GLint -> Ptr GLfloat -> GLint -> GLenum -> IO ())-API_ENTRY_SAFE(gluQuadricCallback,Ptr GLUquadric -> GLenum -> FunPtr a -> IO ())-API_ENTRY_SAFE(gluQuadricDrawStyle,Ptr GLUquadric -> GLenum -> IO ())-API_ENTRY_SAFE(gluQuadricNormals,Ptr GLUquadric -> GLenum -> IO ())-API_ENTRY_SAFE(gluQuadricOrientation,Ptr GLUquadric -> GLenum -> IO ())-API_ENTRY_SAFE(gluQuadricTexture,Ptr GLUquadric -> GLboolean -> IO ())-API_ENTRY(gluScaleImage,GLenum -> GLsizei -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLenum -> Ptr b -> IO GLint)-API_ENTRY_SAFE(gluSphere,Ptr GLUquadric -> GLdouble -> GLint -> GLint -> IO ())-API_ENTRY_SAFE(gluTessBeginContour,Ptr GLUtesselator -> IO ())-API_ENTRY_SAFE(gluTessBeginPolygon,Ptr GLUtesselator -> Ptr a -> IO ())-API_ENTRY_SAFE(gluTessCallback,Ptr GLUtesselator -> GLenum -> FunPtr a -> IO ())-API_ENTRY_SAFE(gluTessEndContour,Ptr GLUtesselator -> IO ())-API_ENTRY_SAFE(gluTessEndPolygon,Ptr GLUtesselator -> IO ())-API_ENTRY(gluTessNormal,Ptr GLUtesselator -> GLdouble -> GLdouble -> GLdouble -> IO ())-API_ENTRY_SAFE(gluTessProperty,Ptr GLUtesselator -> GLenum -> GLdouble -> IO ())-API_ENTRY_SAFE(gluTessVertex,Ptr GLUtesselator -> Ptr GLdouble -> Ptr a -> IO ())-API_ENTRY(gluUnProject,GLdouble -> GLdouble -> GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLint -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> IO GLint)-API_ENTRY(gluUnProject4,GLdouble -> GLdouble -> GLdouble -> GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLint -> GLclampd -> GLclampd -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> IO GLint)+{-# LANGUAGE ForeignFunctionInterface, CPP #-} +-------------------------------------------------------------------------------- +-- | +-- Module : Graphics.Rendering.GLU.Raw.Functions +-- Copyright : (c) Sven Panne 2013 +-- License : BSD3 +-- +-- Maintainer : Sven Panne <svenpanne@gmail.com> +-- Stability : stable +-- Portability : portable +-- +-- All functions from GLU 1.3, see <http://www.opengl.org/>. +-- +-------------------------------------------------------------------------------- + +module Graphics.Rendering.GLU.Raw.Functions ( + gluBeginCurve, + gluBeginPolygon, + gluBeginSurface, + gluBeginTrim, + gluBuild1DMipmapLevels, + gluBuild1DMipmaps, + gluBuild2DMipmapLevels, + gluBuild2DMipmaps, + gluBuild3DMipmapLevels, + gluBuild3DMipmaps, + gluCheckExtension, + gluCylinder, + gluDeleteNurbsRenderer, + gluDeleteQuadric, + gluDeleteTess, + gluDisk, + gluEndCurve, + gluEndPolygon, + gluEndSurface, + gluEndTrim, + gluErrorString, + gluGetNurbsProperty, + gluGetString, + gluGetTessProperty, + gluLoadSamplingMatrices, + gluLookAt, + gluNewNurbsRenderer, + gluNewQuadric, + gluNewTess, + gluNextContour, + gluNurbsCallback, + gluNurbsCallbackData, + gluNurbsCallbackDataEXT, + gluNurbsCurve, + gluNurbsProperty, + gluNurbsSurface, + gluOrtho2D, + gluPartialDisk, + gluPerspective, + gluPickMatrix, + gluProject, + gluPwlCurve, + gluQuadricCallback, + gluQuadricDrawStyle, + gluQuadricNormals, + gluQuadricOrientation, + gluQuadricTexture, + gluScaleImage, + gluSphere, + gluTessBeginContour, + gluTessBeginPolygon, + gluTessCallback, + gluTessEndContour, + gluTessEndPolygon, + gluTessNormal, + gluTessProperty, + gluTessVertex, + gluUnProject, + gluUnProject4, +) where + +import Foreign.Ptr +import Foreign.C.Types +import Graphics.Rendering.GLU.Raw.APIEntry +import Graphics.Rendering.GLU.Raw.Types +import Graphics.Rendering.OpenGL.Raw.Core31 + +#include "HsGLURaw.h" + +-------------------------------------------------------------------------------- + +API_ENTRY_SAFE(gluBeginCurve,Ptr GLUnurbs -> IO ()) +API_ENTRY_SAFE(gluBeginPolygon,Ptr GLUtesselator -> IO ()) +API_ENTRY_SAFE(gluBeginSurface,Ptr GLUnurbs -> IO ()) +API_ENTRY_SAFE(gluBeginTrim,Ptr GLUnurbs -> IO ()) +API_ENTRY(gluBuild1DMipmapLevels,GLenum -> GLint -> GLsizei -> GLenum -> GLenum -> GLint -> GLint -> GLint -> Ptr a -> IO GLint) +API_ENTRY(gluBuild1DMipmaps,GLenum -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO GLint) +API_ENTRY(gluBuild2DMipmapLevels,GLenum -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLint -> GLint -> GLint -> Ptr a -> IO GLint) +API_ENTRY(gluBuild2DMipmaps,GLenum -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO GLint) +API_ENTRY(gluBuild3DMipmapLevels,GLenum -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLint -> GLint -> GLint -> Ptr a -> IO GLint) +API_ENTRY(gluBuild3DMipmaps,GLenum -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO GLint) +API_ENTRY(gluCheckExtension,Ptr GLubyte -> Ptr GLubyte -> IO GLboolean) +API_ENTRY_SAFE(gluCylinder,Ptr GLUquadric -> GLdouble -> GLdouble -> GLdouble -> GLint -> GLint -> IO ()) +API_ENTRY_SAFE(gluDeleteNurbsRenderer,Ptr GLUnurbs -> IO ()) +API_ENTRY(gluDeleteQuadric,Ptr GLUquadric -> IO ()) +API_ENTRY_SAFE(gluDeleteTess,Ptr GLUtesselator -> IO ()) +API_ENTRY_SAFE(gluDisk,Ptr GLUquadric -> GLdouble -> GLdouble -> GLint -> GLint -> IO ()) +API_ENTRY_SAFE(gluEndCurve,Ptr GLUnurbs -> IO ()) +API_ENTRY_SAFE(gluEndPolygon,Ptr GLUtesselator -> IO ()) +API_ENTRY_SAFE(gluEndSurface,Ptr GLUnurbs -> IO ()) +API_ENTRY_SAFE(gluEndTrim,Ptr GLUnurbs -> IO ()) +API_ENTRY(gluErrorString,GLenum -> IO (Ptr GLubyte)) +API_ENTRY_SAFE(gluGetNurbsProperty,Ptr GLUnurbs -> GLenum -> Ptr GLfloat -> IO ()) +API_ENTRY(gluGetString,GLenum -> IO (Ptr GLubyte)) +API_ENTRY_SAFE(gluGetTessProperty,Ptr GLUtesselator -> GLenum -> Ptr GLdouble -> IO ()) +API_ENTRY_SAFE(gluLoadSamplingMatrices,Ptr GLUnurbs -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLint -> IO ()) +API_ENTRY(gluLookAt,GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) +API_ENTRY_SAFE(gluNewNurbsRenderer,IO (Ptr GLUnurbs)) +API_ENTRY(gluNewQuadric,IO (Ptr GLUquadric)) +API_ENTRY(gluNewTess,IO (Ptr GLUtesselator)) +API_ENTRY_SAFE(gluNextContour,Ptr GLUtesselator -> GLenum -> IO ()) +API_ENTRY_SAFE(gluNurbsCallback,Ptr GLUnurbs -> GLenum -> FunPtr a -> IO ()) +API_ENTRY_SAFE(gluNurbsCallbackData,Ptr GLUnurbs -> Ptr a -> IO ()) +API_ENTRY_SAFE(gluNurbsCallbackDataEXT,Ptr GLUnurbs -> Ptr a -> IO ()) +API_ENTRY_SAFE(gluNurbsCurve,Ptr GLUnurbs -> GLint -> Ptr GLfloat -> GLint -> Ptr GLfloat -> GLint -> GLenum -> IO ()) +API_ENTRY_SAFE(gluNurbsProperty,Ptr GLUnurbs -> GLenum -> GLfloat -> IO ()) +API_ENTRY_SAFE(gluNurbsSurface,Ptr GLUnurbs -> GLint -> Ptr GLfloat -> GLint -> Ptr GLfloat -> GLint -> GLint -> Ptr GLfloat -> GLint -> GLint -> GLenum -> IO ()) +API_ENTRY(gluOrtho2D,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) +API_ENTRY_SAFE(gluPartialDisk,Ptr GLUquadric -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> IO ()) +API_ENTRY(gluPerspective,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) +API_ENTRY(gluPickMatrix,GLdouble -> GLdouble -> GLdouble -> GLdouble -> Ptr GLint -> IO ()) +API_ENTRY(gluProject,GLdouble -> GLdouble -> GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLint -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> IO GLint) +API_ENTRY_SAFE(gluPwlCurve,Ptr GLUnurbs -> GLint -> Ptr GLfloat -> GLint -> GLenum -> IO ()) +API_ENTRY_SAFE(gluQuadricCallback,Ptr GLUquadric -> GLenum -> FunPtr a -> IO ()) +API_ENTRY_SAFE(gluQuadricDrawStyle,Ptr GLUquadric -> GLenum -> IO ()) +API_ENTRY_SAFE(gluQuadricNormals,Ptr GLUquadric -> GLenum -> IO ()) +API_ENTRY_SAFE(gluQuadricOrientation,Ptr GLUquadric -> GLenum -> IO ()) +API_ENTRY_SAFE(gluQuadricTexture,Ptr GLUquadric -> GLboolean -> IO ()) +API_ENTRY(gluScaleImage,GLenum -> GLsizei -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLenum -> Ptr b -> IO GLint) +API_ENTRY_SAFE(gluSphere,Ptr GLUquadric -> GLdouble -> GLint -> GLint -> IO ()) +API_ENTRY_SAFE(gluTessBeginContour,Ptr GLUtesselator -> IO ()) +API_ENTRY_SAFE(gluTessBeginPolygon,Ptr GLUtesselator -> Ptr a -> IO ()) +API_ENTRY_SAFE(gluTessCallback,Ptr GLUtesselator -> GLenum -> FunPtr a -> IO ()) +API_ENTRY_SAFE(gluTessEndContour,Ptr GLUtesselator -> IO ()) +API_ENTRY_SAFE(gluTessEndPolygon,Ptr GLUtesselator -> IO ()) +API_ENTRY(gluTessNormal,Ptr GLUtesselator -> GLdouble -> GLdouble -> GLdouble -> IO ()) +API_ENTRY_SAFE(gluTessProperty,Ptr GLUtesselator -> GLenum -> GLdouble -> IO ()) +API_ENTRY_SAFE(gluTessVertex,Ptr GLUtesselator -> Ptr GLdouble -> Ptr a -> IO ()) +API_ENTRY(gluUnProject,GLdouble -> GLdouble -> GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLint -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> IO GLint) +API_ENTRY(gluUnProject4,GLdouble -> GLdouble -> GLdouble -> GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLint -> GLclampd -> GLclampd -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> IO GLint)
src/Graphics/Rendering/GLU/Raw/Tokens.hs view
@@ -1,487 +1,487 @@------------------------------------------------------------------------------------ |--- Module : Graphics.Rendering.GLU.Raw.Tokens--- Copyright : (c) Sven Panne 2009--- License : BSD-style (see the file LICENSE)------ Maintainer : sven.panne@aedion.de--- Stability : stable--- Portability : portable------ All tokens from GLU 1.3, see <http://www.opengl.org/>.--------------------------------------------------------------------------------------module Graphics.Rendering.GLU.Raw.Tokens where--import Graphics.Rendering.OpenGL.Raw.Core31-------------------------------------------------------------------------------------- Boolean-glu_FALSE :: GLenum-glu_FALSE = 0--glu_TRUE :: GLenum-glu_TRUE = 1---- StringName-glu_VERSION :: GLenum-glu_VERSION = 100800--glu_EXTENSIONS :: GLenum-glu_EXTENSIONS = 100801---- ErrorCode-glu_INVALID_ENUM :: GLenum-glu_INVALID_ENUM = 100900--glu_INVALID_VALUE :: GLenum-glu_INVALID_VALUE = 100901--glu_OUT_OF_MEMORY :: GLenum-glu_OUT_OF_MEMORY = 100902--glu_INCOMPATIBLE_GL_VERSION :: GLenum-glu_INCOMPATIBLE_GL_VERSION = 100903--glu_INVALID_OPERATION :: GLenum-glu_INVALID_OPERATION = 100904---- NurbsDisplay--- GLU_FILL-glu_OUTLINE_POLYGON :: GLenum-glu_OUTLINE_POLYGON = 100240--glu_OUTLINE_PATCH :: GLenum-glu_OUTLINE_PATCH = 100241---- NurbsCallback-glu_NURBS_ERROR :: GLenum-glu_NURBS_ERROR = 100103--glu_ERROR :: GLenum-glu_ERROR = 100103--glu_NURBS_BEGIN :: GLenum-glu_NURBS_BEGIN = 100164--glu_NURBS_BEGIN_EXT :: GLenum-glu_NURBS_BEGIN_EXT = 100164--glu_NURBS_VERTEX :: GLenum-glu_NURBS_VERTEX = 100165--glu_NURBS_VERTEX_EXT :: GLenum-glu_NURBS_VERTEX_EXT = 100165--glu_NURBS_NORMAL :: GLenum-glu_NURBS_NORMAL = 100166--glu_NURBS_NORMAL_EXT :: GLenum-glu_NURBS_NORMAL_EXT = 100166--glu_NURBS_COLOR :: GLenum-glu_NURBS_COLOR = 100167--glu_NURBS_COLOR_EXT :: GLenum-glu_NURBS_COLOR_EXT = 100167--glu_NURBS_TEXTURE_COORD :: GLenum-glu_NURBS_TEXTURE_COORD = 100168--glu_NURBS_TEX_COORD_EXT :: GLenum-glu_NURBS_TEX_COORD_EXT = 100168--glu_NURBS_END :: GLenum-glu_NURBS_END = 100169--glu_NURBS_END_EXT :: GLenum-glu_NURBS_END_EXT = 100169--glu_NURBS_BEGIN_DATA :: GLenum-glu_NURBS_BEGIN_DATA = 100170--glu_NURBS_BEGIN_DATA_EXT :: GLenum-glu_NURBS_BEGIN_DATA_EXT = 100170--glu_NURBS_VERTEX_DATA :: GLenum-glu_NURBS_VERTEX_DATA = 100171--glu_NURBS_VERTEX_DATA_EXT :: GLenum-glu_NURBS_VERTEX_DATA_EXT = 100171--glu_NURBS_NORMAL_DATA :: GLenum-glu_NURBS_NORMAL_DATA = 100172--glu_NURBS_NORMAL_DATA_EXT :: GLenum-glu_NURBS_NORMAL_DATA_EXT = 100172--glu_NURBS_COLOR_DATA :: GLenum-glu_NURBS_COLOR_DATA = 100173--glu_NURBS_COLOR_DATA_EXT :: GLenum-glu_NURBS_COLOR_DATA_EXT = 100173--glu_NURBS_TEXTURE_COORD_DATA :: GLenum-glu_NURBS_TEXTURE_COORD_DATA = 100174--glu_NURBS_TEX_COORD_DATA_EXT :: GLenum-glu_NURBS_TEX_COORD_DATA_EXT = 100174--glu_NURBS_END_DATA :: GLenum-glu_NURBS_END_DATA = 100175--glu_NURBS_END_DATA_EXT :: GLenum-glu_NURBS_END_DATA_EXT = 100175---- NurbsError-glu_NURBS_ERROR1 :: GLenum-glu_NURBS_ERROR1 = 100251--glu_NURBS_ERROR2 :: GLenum-glu_NURBS_ERROR2 = 100252--glu_NURBS_ERROR3 :: GLenum-glu_NURBS_ERROR3 = 100253--glu_NURBS_ERROR4 :: GLenum-glu_NURBS_ERROR4 = 100254--glu_NURBS_ERROR5 :: GLenum-glu_NURBS_ERROR5 = 100255--glu_NURBS_ERROR6 :: GLenum-glu_NURBS_ERROR6 = 100256--glu_NURBS_ERROR7 :: GLenum-glu_NURBS_ERROR7 = 100257--glu_NURBS_ERROR8 :: GLenum-glu_NURBS_ERROR8 = 100258--glu_NURBS_ERROR9 :: GLenum-glu_NURBS_ERROR9 = 100259--glu_NURBS_ERROR10 :: GLenum-glu_NURBS_ERROR10 = 100260--glu_NURBS_ERROR11 :: GLenum-glu_NURBS_ERROR11 = 100261--glu_NURBS_ERROR12 :: GLenum-glu_NURBS_ERROR12 = 100262--glu_NURBS_ERROR13 :: GLenum-glu_NURBS_ERROR13 = 100263--glu_NURBS_ERROR14 :: GLenum-glu_NURBS_ERROR14 = 100264--glu_NURBS_ERROR15 :: GLenum-glu_NURBS_ERROR15 = 100265--glu_NURBS_ERROR16 :: GLenum-glu_NURBS_ERROR16 = 100266--glu_NURBS_ERROR17 :: GLenum-glu_NURBS_ERROR17 = 100267--glu_NURBS_ERROR18 :: GLenum-glu_NURBS_ERROR18 = 100268--glu_NURBS_ERROR19 :: GLenum-glu_NURBS_ERROR19 = 100269--glu_NURBS_ERROR20 :: GLenum-glu_NURBS_ERROR20 = 100270--glu_NURBS_ERROR21 :: GLenum-glu_NURBS_ERROR21 = 100271--glu_NURBS_ERROR22 :: GLenum-glu_NURBS_ERROR22 = 100272--glu_NURBS_ERROR23 :: GLenum-glu_NURBS_ERROR23 = 100273--glu_NURBS_ERROR24 :: GLenum-glu_NURBS_ERROR24 = 100274--glu_NURBS_ERROR25 :: GLenum-glu_NURBS_ERROR25 = 100275--glu_NURBS_ERROR26 :: GLenum-glu_NURBS_ERROR26 = 100276--glu_NURBS_ERROR27 :: GLenum-glu_NURBS_ERROR27 = 100277--glu_NURBS_ERROR28 :: GLenum-glu_NURBS_ERROR28 = 100278--glu_NURBS_ERROR29 :: GLenum-glu_NURBS_ERROR29 = 100279--glu_NURBS_ERROR30 :: GLenum-glu_NURBS_ERROR30 = 100280--glu_NURBS_ERROR31 :: GLenum-glu_NURBS_ERROR31 = 100281--glu_NURBS_ERROR32 :: GLenum-glu_NURBS_ERROR32 = 100282--glu_NURBS_ERROR33 :: GLenum-glu_NURBS_ERROR33 = 100283--glu_NURBS_ERROR34 :: GLenum-glu_NURBS_ERROR34 = 100284--glu_NURBS_ERROR35 :: GLenum-glu_NURBS_ERROR35 = 100285--glu_NURBS_ERROR36 :: GLenum-glu_NURBS_ERROR36 = 100286--glu_NURBS_ERROR37 :: GLenum-glu_NURBS_ERROR37 = 100287---- NurbsProperty-glu_AUTO_LOAD_MATRIX :: GLenum-glu_AUTO_LOAD_MATRIX = 100200--glu_CULLING :: GLenum-glu_CULLING = 100201--glu_SAMPLING_TOLERANCE :: GLenum-glu_SAMPLING_TOLERANCE = 100203--glu_DISPLAY_MODE :: GLenum-glu_DISPLAY_MODE = 100204--glu_PARAMETRIC_TOLERANCE :: GLenum-glu_PARAMETRIC_TOLERANCE = 100202--glu_SAMPLING_METHOD :: GLenum-glu_SAMPLING_METHOD = 100205--glu_U_STEP :: GLenum-glu_U_STEP = 100206--glu_V_STEP :: GLenum-glu_V_STEP = 100207--glu_NURBS_MODE :: GLenum-glu_NURBS_MODE = 100160--glu_NURBS_MODE_EXT :: GLenum-glu_NURBS_MODE_EXT = 100160--glu_NURBS_TESSELLATOR :: GLenum-glu_NURBS_TESSELLATOR = 100161--glu_NURBS_TESSELLATOR_EXT :: GLenum-glu_NURBS_TESSELLATOR_EXT = 100161--glu_NURBS_RENDERER :: GLenum-glu_NURBS_RENDERER = 100162--glu_NURBS_RENDERER_EXT :: GLenum-glu_NURBS_RENDERER_EXT = 100162---- NurbsSampling-glu_OBJECT_PARAMETRIC_ERROR :: GLenum-glu_OBJECT_PARAMETRIC_ERROR = 100208--glu_OBJECT_PARAMETRIC_ERROR_EXT :: GLenum-glu_OBJECT_PARAMETRIC_ERROR_EXT = 100208--glu_OBJECT_PATH_LENGTH :: GLenum-glu_OBJECT_PATH_LENGTH = 100209--glu_OBJECT_PATH_LENGTH_EXT :: GLenum-glu_OBJECT_PATH_LENGTH_EXT = 100209--glu_PATH_LENGTH :: GLenum-glu_PATH_LENGTH = 100215--glu_PARAMETRIC_ERROR :: GLenum-glu_PARAMETRIC_ERROR = 100216--glu_DOMAIN_DISTANCE :: GLenum-glu_DOMAIN_DISTANCE = 100217---- NurbsTrim-glu_MAP1_TRIM_2 :: GLenum-glu_MAP1_TRIM_2 = 100210--glu_MAP1_TRIM_3 :: GLenum-glu_MAP1_TRIM_3 = 100211---- QuadricDrawStyle-glu_POINT :: GLenum-glu_POINT = 100010--glu_LINE :: GLenum-glu_LINE = 100011--glu_FILL :: GLenum-glu_FILL = 100012--glu_SILHOUETTE :: GLenum-glu_SILHOUETTE = 100013---- QuadricCallback--- GLU_ERROR---- QuadricNormal-glu_SMOOTH :: GLenum-glu_SMOOTH = 100000--glu_FLAT :: GLenum-glu_FLAT = 100001--glu_NONE :: GLenum-glu_NONE = 100002---- QuadricOrientation-glu_OUTSIDE :: GLenum-glu_OUTSIDE = 100020--glu_INSIDE :: GLenum-glu_INSIDE = 100021---- TessCallback-glu_TESS_BEGIN :: GLenum-glu_TESS_BEGIN = 100100--glu_BEGIN :: GLenum-glu_BEGIN = 100100--glu_TESS_VERTEX :: GLenum-glu_TESS_VERTEX = 100101--glu_VERTEX :: GLenum-glu_VERTEX = 100101--glu_TESS_END :: GLenum-glu_TESS_END = 100102--glu_END :: GLenum-glu_END = 100102--glu_TESS_ERROR :: GLenum-glu_TESS_ERROR = 100103--glu_TESS_EDGE_FLAG :: GLenum-glu_TESS_EDGE_FLAG = 100104--glu_EDGE_FLAG :: GLenum-glu_EDGE_FLAG = 100104--glu_TESS_COMBINE :: GLenum-glu_TESS_COMBINE = 100105--glu_TESS_BEGIN_DATA :: GLenum-glu_TESS_BEGIN_DATA = 100106--glu_TESS_VERTEX_DATA :: GLenum-glu_TESS_VERTEX_DATA = 100107--glu_TESS_END_DATA :: GLenum-glu_TESS_END_DATA = 100108--glu_TESS_ERROR_DATA :: GLenum-glu_TESS_ERROR_DATA = 100109--glu_TESS_EDGE_FLAG_DATA :: GLenum-glu_TESS_EDGE_FLAG_DATA = 100110--glu_TESS_COMBINE_DATA :: GLenum-glu_TESS_COMBINE_DATA = 100111---- TessContour-glu_CW :: GLenum-glu_CW = 100120--glu_CCW :: GLenum-glu_CCW = 100121--glu_INTERIOR :: GLenum-glu_INTERIOR = 100122--glu_EXTERIOR :: GLenum-glu_EXTERIOR = 100123--glu_UNKNOWN :: GLenum-glu_UNKNOWN = 100124---- TessProperty-glu_TESS_WINDING_RULE :: GLenum-glu_TESS_WINDING_RULE = 100140--glu_TESS_BOUNDARY_ONLY :: GLenum-glu_TESS_BOUNDARY_ONLY = 100141--glu_TESS_TOLERANCE :: GLenum-glu_TESS_TOLERANCE = 100142---- TessError-glu_TESS_ERROR1 :: GLenum-glu_TESS_ERROR1 = 100151--glu_TESS_ERROR2 :: GLenum-glu_TESS_ERROR2 = 100152--glu_TESS_ERROR3 :: GLenum-glu_TESS_ERROR3 = 100153--glu_TESS_ERROR4 :: GLenum-glu_TESS_ERROR4 = 100154--glu_TESS_ERROR5 :: GLenum-glu_TESS_ERROR5 = 100155--glu_TESS_ERROR6 :: GLenum-glu_TESS_ERROR6 = 100156--glu_TESS_ERROR7 :: GLenum-glu_TESS_ERROR7 = 100157--glu_TESS_ERROR8 :: GLenum-glu_TESS_ERROR8 = 100158--glu_TESS_MISSING_BEGIN_POLYGON :: GLenum-glu_TESS_MISSING_BEGIN_POLYGON = 100151--glu_TESS_MISSING_BEGIN_CONTOUR :: GLenum-glu_TESS_MISSING_BEGIN_CONTOUR = 100152--glu_TESS_MISSING_END_POLYGON :: GLenum-glu_TESS_MISSING_END_POLYGON = 100153--glu_TESS_MISSING_END_CONTOUR :: GLenum-glu_TESS_MISSING_END_CONTOUR = 100154--glu_TESS_COORD_TOO_LARGE :: GLenum-glu_TESS_COORD_TOO_LARGE = 100155--glu_TESS_NEED_COMBINE_CALLBACK :: GLenum-glu_TESS_NEED_COMBINE_CALLBACK = 100156---- TessWinding-glu_TESS_WINDING_ODD :: GLenum-glu_TESS_WINDING_ODD = 100130--glu_TESS_WINDING_NONZERO :: GLenum-glu_TESS_WINDING_NONZERO = 100131--glu_TESS_WINDING_POSITIVE :: GLenum-glu_TESS_WINDING_POSITIVE = 100132--glu_TESS_WINDING_NEGATIVE :: GLenum-glu_TESS_WINDING_NEGATIVE = 100133--glu_TESS_WINDING_ABS_GEQ_TWO :: GLenum-glu_TESS_WINDING_ABS_GEQ_TWO = 100134+-------------------------------------------------------------------------------- +-- | +-- Module : Graphics.Rendering.GLU.Raw.Tokens +-- Copyright : (c) Sven Panne 2013 +-- License : BSD3 +-- +-- Maintainer : Sven Panne <svenpanne@gmail.com> +-- Stability : stable +-- Portability : portable +-- +-- All tokens from GLU 1.3, see <http://www.opengl.org/>. +-- +-------------------------------------------------------------------------------- + +module Graphics.Rendering.GLU.Raw.Tokens where + +import Graphics.Rendering.OpenGL.Raw.Core31 + +-------------------------------------------------------------------------------- + +-- Boolean +glu_FALSE :: GLenum +glu_FALSE = 0 + +glu_TRUE :: GLenum +glu_TRUE = 1 + +-- StringName +glu_VERSION :: GLenum +glu_VERSION = 100800 + +glu_EXTENSIONS :: GLenum +glu_EXTENSIONS = 100801 + +-- ErrorCode +glu_INVALID_ENUM :: GLenum +glu_INVALID_ENUM = 100900 + +glu_INVALID_VALUE :: GLenum +glu_INVALID_VALUE = 100901 + +glu_OUT_OF_MEMORY :: GLenum +glu_OUT_OF_MEMORY = 100902 + +glu_INCOMPATIBLE_GL_VERSION :: GLenum +glu_INCOMPATIBLE_GL_VERSION = 100903 + +glu_INVALID_OPERATION :: GLenum +glu_INVALID_OPERATION = 100904 + +-- NurbsDisplay +-- GLU_FILL +glu_OUTLINE_POLYGON :: GLenum +glu_OUTLINE_POLYGON = 100240 + +glu_OUTLINE_PATCH :: GLenum +glu_OUTLINE_PATCH = 100241 + +-- NurbsCallback +glu_NURBS_ERROR :: GLenum +glu_NURBS_ERROR = 100103 + +glu_ERROR :: GLenum +glu_ERROR = 100103 + +glu_NURBS_BEGIN :: GLenum +glu_NURBS_BEGIN = 100164 + +glu_NURBS_BEGIN_EXT :: GLenum +glu_NURBS_BEGIN_EXT = 100164 + +glu_NURBS_VERTEX :: GLenum +glu_NURBS_VERTEX = 100165 + +glu_NURBS_VERTEX_EXT :: GLenum +glu_NURBS_VERTEX_EXT = 100165 + +glu_NURBS_NORMAL :: GLenum +glu_NURBS_NORMAL = 100166 + +glu_NURBS_NORMAL_EXT :: GLenum +glu_NURBS_NORMAL_EXT = 100166 + +glu_NURBS_COLOR :: GLenum +glu_NURBS_COLOR = 100167 + +glu_NURBS_COLOR_EXT :: GLenum +glu_NURBS_COLOR_EXT = 100167 + +glu_NURBS_TEXTURE_COORD :: GLenum +glu_NURBS_TEXTURE_COORD = 100168 + +glu_NURBS_TEX_COORD_EXT :: GLenum +glu_NURBS_TEX_COORD_EXT = 100168 + +glu_NURBS_END :: GLenum +glu_NURBS_END = 100169 + +glu_NURBS_END_EXT :: GLenum +glu_NURBS_END_EXT = 100169 + +glu_NURBS_BEGIN_DATA :: GLenum +glu_NURBS_BEGIN_DATA = 100170 + +glu_NURBS_BEGIN_DATA_EXT :: GLenum +glu_NURBS_BEGIN_DATA_EXT = 100170 + +glu_NURBS_VERTEX_DATA :: GLenum +glu_NURBS_VERTEX_DATA = 100171 + +glu_NURBS_VERTEX_DATA_EXT :: GLenum +glu_NURBS_VERTEX_DATA_EXT = 100171 + +glu_NURBS_NORMAL_DATA :: GLenum +glu_NURBS_NORMAL_DATA = 100172 + +glu_NURBS_NORMAL_DATA_EXT :: GLenum +glu_NURBS_NORMAL_DATA_EXT = 100172 + +glu_NURBS_COLOR_DATA :: GLenum +glu_NURBS_COLOR_DATA = 100173 + +glu_NURBS_COLOR_DATA_EXT :: GLenum +glu_NURBS_COLOR_DATA_EXT = 100173 + +glu_NURBS_TEXTURE_COORD_DATA :: GLenum +glu_NURBS_TEXTURE_COORD_DATA = 100174 + +glu_NURBS_TEX_COORD_DATA_EXT :: GLenum +glu_NURBS_TEX_COORD_DATA_EXT = 100174 + +glu_NURBS_END_DATA :: GLenum +glu_NURBS_END_DATA = 100175 + +glu_NURBS_END_DATA_EXT :: GLenum +glu_NURBS_END_DATA_EXT = 100175 + +-- NurbsError +glu_NURBS_ERROR1 :: GLenum +glu_NURBS_ERROR1 = 100251 + +glu_NURBS_ERROR2 :: GLenum +glu_NURBS_ERROR2 = 100252 + +glu_NURBS_ERROR3 :: GLenum +glu_NURBS_ERROR3 = 100253 + +glu_NURBS_ERROR4 :: GLenum +glu_NURBS_ERROR4 = 100254 + +glu_NURBS_ERROR5 :: GLenum +glu_NURBS_ERROR5 = 100255 + +glu_NURBS_ERROR6 :: GLenum +glu_NURBS_ERROR6 = 100256 + +glu_NURBS_ERROR7 :: GLenum +glu_NURBS_ERROR7 = 100257 + +glu_NURBS_ERROR8 :: GLenum +glu_NURBS_ERROR8 = 100258 + +glu_NURBS_ERROR9 :: GLenum +glu_NURBS_ERROR9 = 100259 + +glu_NURBS_ERROR10 :: GLenum +glu_NURBS_ERROR10 = 100260 + +glu_NURBS_ERROR11 :: GLenum +glu_NURBS_ERROR11 = 100261 + +glu_NURBS_ERROR12 :: GLenum +glu_NURBS_ERROR12 = 100262 + +glu_NURBS_ERROR13 :: GLenum +glu_NURBS_ERROR13 = 100263 + +glu_NURBS_ERROR14 :: GLenum +glu_NURBS_ERROR14 = 100264 + +glu_NURBS_ERROR15 :: GLenum +glu_NURBS_ERROR15 = 100265 + +glu_NURBS_ERROR16 :: GLenum +glu_NURBS_ERROR16 = 100266 + +glu_NURBS_ERROR17 :: GLenum +glu_NURBS_ERROR17 = 100267 + +glu_NURBS_ERROR18 :: GLenum +glu_NURBS_ERROR18 = 100268 + +glu_NURBS_ERROR19 :: GLenum +glu_NURBS_ERROR19 = 100269 + +glu_NURBS_ERROR20 :: GLenum +glu_NURBS_ERROR20 = 100270 + +glu_NURBS_ERROR21 :: GLenum +glu_NURBS_ERROR21 = 100271 + +glu_NURBS_ERROR22 :: GLenum +glu_NURBS_ERROR22 = 100272 + +glu_NURBS_ERROR23 :: GLenum +glu_NURBS_ERROR23 = 100273 + +glu_NURBS_ERROR24 :: GLenum +glu_NURBS_ERROR24 = 100274 + +glu_NURBS_ERROR25 :: GLenum +glu_NURBS_ERROR25 = 100275 + +glu_NURBS_ERROR26 :: GLenum +glu_NURBS_ERROR26 = 100276 + +glu_NURBS_ERROR27 :: GLenum +glu_NURBS_ERROR27 = 100277 + +glu_NURBS_ERROR28 :: GLenum +glu_NURBS_ERROR28 = 100278 + +glu_NURBS_ERROR29 :: GLenum +glu_NURBS_ERROR29 = 100279 + +glu_NURBS_ERROR30 :: GLenum +glu_NURBS_ERROR30 = 100280 + +glu_NURBS_ERROR31 :: GLenum +glu_NURBS_ERROR31 = 100281 + +glu_NURBS_ERROR32 :: GLenum +glu_NURBS_ERROR32 = 100282 + +glu_NURBS_ERROR33 :: GLenum +glu_NURBS_ERROR33 = 100283 + +glu_NURBS_ERROR34 :: GLenum +glu_NURBS_ERROR34 = 100284 + +glu_NURBS_ERROR35 :: GLenum +glu_NURBS_ERROR35 = 100285 + +glu_NURBS_ERROR36 :: GLenum +glu_NURBS_ERROR36 = 100286 + +glu_NURBS_ERROR37 :: GLenum +glu_NURBS_ERROR37 = 100287 + +-- NurbsProperty +glu_AUTO_LOAD_MATRIX :: GLenum +glu_AUTO_LOAD_MATRIX = 100200 + +glu_CULLING :: GLenum +glu_CULLING = 100201 + +glu_SAMPLING_TOLERANCE :: GLenum +glu_SAMPLING_TOLERANCE = 100203 + +glu_DISPLAY_MODE :: GLenum +glu_DISPLAY_MODE = 100204 + +glu_PARAMETRIC_TOLERANCE :: GLenum +glu_PARAMETRIC_TOLERANCE = 100202 + +glu_SAMPLING_METHOD :: GLenum +glu_SAMPLING_METHOD = 100205 + +glu_U_STEP :: GLenum +glu_U_STEP = 100206 + +glu_V_STEP :: GLenum +glu_V_STEP = 100207 + +glu_NURBS_MODE :: GLenum +glu_NURBS_MODE = 100160 + +glu_NURBS_MODE_EXT :: GLenum +glu_NURBS_MODE_EXT = 100160 + +glu_NURBS_TESSELLATOR :: GLenum +glu_NURBS_TESSELLATOR = 100161 + +glu_NURBS_TESSELLATOR_EXT :: GLenum +glu_NURBS_TESSELLATOR_EXT = 100161 + +glu_NURBS_RENDERER :: GLenum +glu_NURBS_RENDERER = 100162 + +glu_NURBS_RENDERER_EXT :: GLenum +glu_NURBS_RENDERER_EXT = 100162 + +-- NurbsSampling +glu_OBJECT_PARAMETRIC_ERROR :: GLenum +glu_OBJECT_PARAMETRIC_ERROR = 100208 + +glu_OBJECT_PARAMETRIC_ERROR_EXT :: GLenum +glu_OBJECT_PARAMETRIC_ERROR_EXT = 100208 + +glu_OBJECT_PATH_LENGTH :: GLenum +glu_OBJECT_PATH_LENGTH = 100209 + +glu_OBJECT_PATH_LENGTH_EXT :: GLenum +glu_OBJECT_PATH_LENGTH_EXT = 100209 + +glu_PATH_LENGTH :: GLenum +glu_PATH_LENGTH = 100215 + +glu_PARAMETRIC_ERROR :: GLenum +glu_PARAMETRIC_ERROR = 100216 + +glu_DOMAIN_DISTANCE :: GLenum +glu_DOMAIN_DISTANCE = 100217 + +-- NurbsTrim +glu_MAP1_TRIM_2 :: GLenum +glu_MAP1_TRIM_2 = 100210 + +glu_MAP1_TRIM_3 :: GLenum +glu_MAP1_TRIM_3 = 100211 + +-- QuadricDrawStyle +glu_POINT :: GLenum +glu_POINT = 100010 + +glu_LINE :: GLenum +glu_LINE = 100011 + +glu_FILL :: GLenum +glu_FILL = 100012 + +glu_SILHOUETTE :: GLenum +glu_SILHOUETTE = 100013 + +-- QuadricCallback +-- GLU_ERROR + +-- QuadricNormal +glu_SMOOTH :: GLenum +glu_SMOOTH = 100000 + +glu_FLAT :: GLenum +glu_FLAT = 100001 + +glu_NONE :: GLenum +glu_NONE = 100002 + +-- QuadricOrientation +glu_OUTSIDE :: GLenum +glu_OUTSIDE = 100020 + +glu_INSIDE :: GLenum +glu_INSIDE = 100021 + +-- TessCallback +glu_TESS_BEGIN :: GLenum +glu_TESS_BEGIN = 100100 + +glu_BEGIN :: GLenum +glu_BEGIN = 100100 + +glu_TESS_VERTEX :: GLenum +glu_TESS_VERTEX = 100101 + +glu_VERTEX :: GLenum +glu_VERTEX = 100101 + +glu_TESS_END :: GLenum +glu_TESS_END = 100102 + +glu_END :: GLenum +glu_END = 100102 + +glu_TESS_ERROR :: GLenum +glu_TESS_ERROR = 100103 + +glu_TESS_EDGE_FLAG :: GLenum +glu_TESS_EDGE_FLAG = 100104 + +glu_EDGE_FLAG :: GLenum +glu_EDGE_FLAG = 100104 + +glu_TESS_COMBINE :: GLenum +glu_TESS_COMBINE = 100105 + +glu_TESS_BEGIN_DATA :: GLenum +glu_TESS_BEGIN_DATA = 100106 + +glu_TESS_VERTEX_DATA :: GLenum +glu_TESS_VERTEX_DATA = 100107 + +glu_TESS_END_DATA :: GLenum +glu_TESS_END_DATA = 100108 + +glu_TESS_ERROR_DATA :: GLenum +glu_TESS_ERROR_DATA = 100109 + +glu_TESS_EDGE_FLAG_DATA :: GLenum +glu_TESS_EDGE_FLAG_DATA = 100110 + +glu_TESS_COMBINE_DATA :: GLenum +glu_TESS_COMBINE_DATA = 100111 + +-- TessContour +glu_CW :: GLenum +glu_CW = 100120 + +glu_CCW :: GLenum +glu_CCW = 100121 + +glu_INTERIOR :: GLenum +glu_INTERIOR = 100122 + +glu_EXTERIOR :: GLenum +glu_EXTERIOR = 100123 + +glu_UNKNOWN :: GLenum +glu_UNKNOWN = 100124 + +-- TessProperty +glu_TESS_WINDING_RULE :: GLenum +glu_TESS_WINDING_RULE = 100140 + +glu_TESS_BOUNDARY_ONLY :: GLenum +glu_TESS_BOUNDARY_ONLY = 100141 + +glu_TESS_TOLERANCE :: GLenum +glu_TESS_TOLERANCE = 100142 + +-- TessError +glu_TESS_ERROR1 :: GLenum +glu_TESS_ERROR1 = 100151 + +glu_TESS_ERROR2 :: GLenum +glu_TESS_ERROR2 = 100152 + +glu_TESS_ERROR3 :: GLenum +glu_TESS_ERROR3 = 100153 + +glu_TESS_ERROR4 :: GLenum +glu_TESS_ERROR4 = 100154 + +glu_TESS_ERROR5 :: GLenum +glu_TESS_ERROR5 = 100155 + +glu_TESS_ERROR6 :: GLenum +glu_TESS_ERROR6 = 100156 + +glu_TESS_ERROR7 :: GLenum +glu_TESS_ERROR7 = 100157 + +glu_TESS_ERROR8 :: GLenum +glu_TESS_ERROR8 = 100158 + +glu_TESS_MISSING_BEGIN_POLYGON :: GLenum +glu_TESS_MISSING_BEGIN_POLYGON = 100151 + +glu_TESS_MISSING_BEGIN_CONTOUR :: GLenum +glu_TESS_MISSING_BEGIN_CONTOUR = 100152 + +glu_TESS_MISSING_END_POLYGON :: GLenum +glu_TESS_MISSING_END_POLYGON = 100153 + +glu_TESS_MISSING_END_CONTOUR :: GLenum +glu_TESS_MISSING_END_CONTOUR = 100154 + +glu_TESS_COORD_TOO_LARGE :: GLenum +glu_TESS_COORD_TOO_LARGE = 100155 + +glu_TESS_NEED_COMBINE_CALLBACK :: GLenum +glu_TESS_NEED_COMBINE_CALLBACK = 100156 + +-- TessWinding +glu_TESS_WINDING_ODD :: GLenum +glu_TESS_WINDING_ODD = 100130 + +glu_TESS_WINDING_NONZERO :: GLenum +glu_TESS_WINDING_NONZERO = 100131 + +glu_TESS_WINDING_POSITIVE :: GLenum +glu_TESS_WINDING_POSITIVE = 100132 + +glu_TESS_WINDING_NEGATIVE :: GLenum +glu_TESS_WINDING_NEGATIVE = 100133 + +glu_TESS_WINDING_ABS_GEQ_TWO :: GLenum +glu_TESS_WINDING_ABS_GEQ_TWO = 100134
src/Graphics/Rendering/GLU/Raw/Types.hs view
@@ -1,21 +1,21 @@------------------------------------------------------------------------------------ |--- Module : Graphics.Rendering.GLU.Raw.Types--- Copyright : (c) Sven Panne 2009--- License : BSD-style (see the file LICENSE)------ Maintainer : sven.panne@aedion.de--- Stability : stable--- Portability : portable------ All (abstract) types from GLU 1.3, see <http://www.opengl.org/>.--------------------------------------------------------------------------------------module Graphics.Rendering.GLU.Raw.Types (- GLUnurbs,- GLUquadric,- GLUtesselator-) where--import Graphics.Rendering.GLU.Raw.TypesInternal+-------------------------------------------------------------------------------- +-- | +-- Module : Graphics.Rendering.GLU.Raw.Types +-- Copyright : (c) Sven Panne 2013 +-- License : BSD3 +-- +-- Maintainer : Sven Panne <svenpanne@gmail.com> +-- Stability : stable +-- Portability : portable +-- +-- All (abstract) types from GLU 1.3, see <http://www.opengl.org/>. +-- +-------------------------------------------------------------------------------- + +module Graphics.Rendering.GLU.Raw.Types ( + GLUnurbs, + GLUquadric, + GLUtesselator +) where + +import Graphics.Rendering.GLU.Raw.TypesInternal
src/Graphics/Rendering/GLU/Raw/TypesInternal.hs view
@@ -1,22 +1,22 @@--- #hide------------------------------------------------------------------------------------ |--- Module : Graphics.Rendering.GLU.Raw.TypesInternal--- Copyright : (c) Sven Panne 2009--- License : BSD-style (see the file LICENSE)------ Maintainer : sven.panne@aedion.de--- Stability : stable--- Portability : portable------ All types from GLU 1.3, see <http://www.opengl.org/>.--------------------------------------------------------------------------------------module Graphics.Rendering.GLU.Raw.TypesInternal where--data GLUnurbs = GLUnurbs--data GLUquadric = GLUquadric--data GLUtesselator = GLUtesselator+{-# OPTIONS_HADDOCK hide #-} +-------------------------------------------------------------------------------- +-- | +-- Module : Graphics.Rendering.GLU.Raw.TypesInternal +-- Copyright : (c) Sven Panne 2013 +-- License : BSD3 +-- +-- Maintainer : Sven Panne <svenpanne@gmail.com> +-- Stability : stable +-- Portability : portable +-- +-- All types from GLU 1.3, see <http://www.opengl.org/>. +-- +-------------------------------------------------------------------------------- + +module Graphics.Rendering.GLU.Raw.TypesInternal where + +data GLUnurbs = GLUnurbs + +data GLUquadric = GLUquadric + +data GLUtesselator = GLUtesselator