From 84adefa331c4159d432d22840663c38f155cd4c1 Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Fri, 20 Nov 2009 14:54:40 +0000 Subject: The R13B03 release. --- lib/wx/c_src/wxe_gl.h | 135 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 lib/wx/c_src/wxe_gl.h (limited to 'lib/wx/c_src/wxe_gl.h') diff --git a/lib/wx/c_src/wxe_gl.h b/lib/wx/c_src/wxe_gl.h new file mode 100644 index 0000000000..3a47b3c1bd --- /dev/null +++ b/lib/wx/c_src/wxe_gl.h @@ -0,0 +1,135 @@ +/* + * %CopyrightBegin% + * + * Copyright Ericsson AB 2008-2009. All Rights Reserved. + * + * The contents of this file are subject to the Erlang Public License, + * Version 1.1, (the "License"); you may not use this file except in + * compliance with the License. You should have received a copy of the + * Erlang Public License along with this software. If not, it can be + * retrieved online at http://www.erlang.org/. + * + * Software distributed under the License is distributed on an "AS IS" + * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + * the License for the specific language governing rights and limitations + * under the License. + * + * %CopyrightEnd% + */ + + +#ifndef _WIN32 +# include +#endif + +#ifndef __WXMAC__ +# include +# include /* Header File For The OpenGL Library */ +#else +# include /* Header File For The OpenGL Library */ +#endif + +#ifndef CALLBACK +# define CALLBACK +#endif + +#ifdef _WIN32 +# ifndef _GLUfuncptr +// Visual studio CPP ++ compiler +# define _GLUfuncptr void (_stdcall *)() +# endif +#endif + +#ifdef _GLUfuncptr +# define GLUfuncptr _GLUfuncptr +#elif defined(TESS_CB_TIGER_STYLE) +# define GLUfuncptr GLvoid (*)(...) +#else +# define GLUfuncptr GLvoid (*)() +#endif + +#ifdef WIN32 +#include +#include +#elif defined(HAVE_GL_GL_H) +#include +#elif defined(HAVE_OPENGL_GL_H) +#endif + +#ifndef APIENTRY +#define APIENTRY +#endif + +int initOpenGL(); +void gl_error(); +extern int gl_error_op; +extern ErlDrvTermData gl_active; + +/* Some new GL types (eliminates the need for glext.h) */ + +#ifndef HAVE_GLINTPTR +#ifndef HAVE_GLINTPTRARB +# include +/* GL types for handling large vertex buffer objects */ +typedef ptrdiff_t GLintptrARB; +typedef ptrdiff_t GLsizeiptrARB; +#endif /* HAVE_GLINTPTRARB */ +typedef GLintptrARB GLintptr; +typedef GLsizeiptrARB GLsizeiptr; +#endif /* HAVE_GLINTPTR */ + +#ifndef HAVE_GLCHAR +# ifndef HAVE_GLCHARARB +/* GL types for handling shader object handles and characters */ +typedef char GLcharARB; /* native character */ +typedef unsigned int GLhandleARB; /* shader object handle */ +#endif /* HAVE_GLCHARARB */ +typedef GLcharARB GLchar; +#endif + +#ifndef HAVE_GLHALFARB +/* GL types for "half" precision (s10e5) float data in host memory */ +typedef unsigned short GLhalfARB; +#endif + +/* Define int32_t, int64_t, and uint64_t types for UST/MSC */ +/* (as used in the GLX_OML_sync_control extension). */ +#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +#include +#elif defined(__sun__) +#include +#if defined(__STDC__) +#if defined(__arch64__) +typedef long int int64_t; +typedef unsigned long int uint64_t; +#else +typedef long long int int64_t; +typedef unsigned long long int uint64_t; +#endif /* __arch64__ */ +#endif /* __STDC__ */ +#elif defined( __VMS ) +#include +#elif defined(__SCO__) || defined(__USLC__) +#include +#elif defined(__UNIXOS2__) || defined(__SOL64__) +typedef long int int32_t; +typedef long long int int64_t; +typedef unsigned long long int uint64_t; +#elif defined(WIN32) && defined(_MSC_VER) +typedef long int int32_t; +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; +#elif defined(WIN32) && defined(__GNUC__) +#include +#else +#include /* Fallback option */ +#endif + +#ifndef HAVE_GLINT64EXT +typedef int64_t GLint64EXT; +typedef uint64_t GLuint64EXT; +#endif + +void init_tess(); +void exit_tess(); +int wxe_tess_impl(char* buff, ErlDrvTermData caller); -- cgit v1.2.3