GLU32 patch (hopefully final take)
Vincent Béron
vberon at mecano.gme.usherb.ca
Wed Jun 12 10:43:39 CDT 2002
Remodified the configure.ac bit. It now spits out a warning if the lib
is there and not the header (same thing as CUPS support).
Changelog:
- Modified the glu32 prototypes to match MSDN
- Made it work with libGLU 1.1 and 1.2
- #include'd GL/glu.h instead of redefining the glu functions, and
added a check for it in configure.ac. If it's absent, don't build
glu32.dll.so.
Vincent
-------------- next part --------------
diff -urN wine-orig/configure.ac wine-pas-compil?/configure.ac
--- wine-orig/configure.ac Tue Jun 4 20:15:28 2002
+++ wine-pas-compil?/configure.ac Wed Jun 12 11:32:30 2002
@@ -300,12 +300,15 @@
fi
fi
- dnl Check for GLU32 library.
+ dnl Check for GLU library.
+ wine_cv_warn_gl_glu_h=no
AC_CHECK_LIB(GLU,gluLookAt,
- [X_PRE_LIBS="$X_PRE_LIBS -lGLU"
- GLU32FILES='$(GLU32FILES)']
- ,,
- $X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS
+ [AC_CHECK_HEADERS(GL/glu.h,
+ [X_PRE_LIBS="$X_PRE_LIBS -lGLU"
+ GLU32FILES='$(GLU32FILES)'],
+ wine_cv_warn_gl_glu_h=yes)]
+ ,,
+ $X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS
)
fi
fi
@@ -1421,6 +1424,14 @@
echo "*** support before reporting bugs."
fi
+if test "$wine_cv_warn_gl_glu_h" = "yes"
+then
+ echo
+ echo "*** Note: You have GLU runtime libraries, but no development"
+ echo "*** libraries. Install the GLU-devel package or whichever package"
+ echo "*** contains GL/glu.h to enable GLU support in Wine."
+fi
+
if test "$wine_cv_warn_cups_h" = "yes"
then
echo
diff -urN wine-orig/dlls/glu32/glu.c wine-pas-compil?/dlls/glu32/glu.c
--- wine-orig/dlls/glu32/glu.c Sat Mar 9 18:33:03 2002
+++ wine-pas-compil?/dlls/glu32/glu.c Tue Jun 11 12:19:23 2002
@@ -1,5 +1,6 @@
/*
* Copyright 2001 Marcus Meissner
+ * Copyright 2002 Vincent B?ron
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -18,362 +19,436 @@
#include "winbase.h"
+#include "config.h"
+#include "wine_gl.h"
+#include <GL/glu.h>
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(opengl);
+
+#ifndef GLU_VERSION_1_2
+typedef GLUtriangulatorObj GLUtesselator;
+#endif /* GLU_VERSION_1_2 */
+
/***********************************************************************
* gluLookAt (GLU32.@)
*/
-extern int gluLookAt(double arg0,double arg1,double arg2,double arg3,double arg4,double arg5,double arg6,double arg7,double arg8);
-int WINAPI wine_gluLookAt(double arg0,double arg1,double arg2,double arg3,double arg4,double arg5,double arg6,double arg7,double arg8) {
- return gluLookAt(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8);
+void WINAPI wine_gluLookAt( GLdouble eyex, GLdouble eyey, GLdouble eyez,
+ GLdouble centerx, GLdouble centery,
+ GLdouble centerz,
+ GLdouble upx, GLdouble upy, GLdouble upz ) {
+ gluLookAt(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz);
}
/***********************************************************************
* gluOrtho2D (GLU32.@)
*/
-extern int gluOrtho2D(double arg0,double arg1,double arg2,double arg3);
-int WINAPI wine_gluOrtho2D(double arg0,double arg1,double arg2,double arg3) {
- return gluOrtho2D(arg0,arg1,arg2,arg3);
+void WINAPI wine_gluOrtho2D( GLdouble left, GLdouble right,
+ GLdouble bottom, GLdouble top ) {
+ gluOrtho2D(left, right, bottom, top);
}
/***********************************************************************
* gluPerspective (GLU32.@)
*/
-extern int gluPerspective(double arg0,double arg1,double arg2,double arg3);
-int WINAPI wine_gluPerspective(double arg0,double arg1,double arg2,double arg3) {
- return gluPerspective(arg0,arg1,arg2,arg3);
+void WINAPI wine_gluPerspective( GLdouble fovy, GLdouble aspect,
+ GLdouble zNear, GLdouble zFar ) {
+ gluPerspective(fovy, aspect, zNear, zFar);
}
/***********************************************************************
* gluPickMatrix (GLU32.@)
*/
-extern int gluPickMatrix(double arg0,double arg1,double arg2,double arg3,void *arg4);
-int WINAPI wine_gluPickMatrix(double arg0,double arg1,double arg2,double arg3,void *arg4) {
- return gluPickMatrix(arg0,arg1,arg2,arg3,arg4);
+void WINAPI wine_gluPickMatrix( GLdouble x, GLdouble y,
+ GLdouble width, GLdouble height,
+ GLint viewport[4] ) {
+ gluPickMatrix(x, y, width, height, viewport);
}
/***********************************************************************
* gluProject (GLU32.@)
*/
-extern int gluProject(double arg0,double arg1,double arg2,void *arg3,void *arg4,void *arg5,void *arg6,void *arg7,void *arg8);
-int WINAPI wine_gluProject(double arg0,double arg1,double arg2,void *arg3,void *arg4,void *arg5,void *arg6,void *arg7,void *arg8) {
- return gluProject(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8);
+int WINAPI wine_gluProject( GLdouble objx, GLdouble objy, GLdouble objz,
+ const GLdouble modelMatrix[16],
+ const GLdouble projMatrix[16],
+ const GLint viewport[4],
+ GLdouble *winx, GLdouble *winy,
+ GLdouble *winz ) {
+ return gluProject(objx, objy, objz, modelMatrix, projMatrix, viewport, winx, winy, winz);
}
/***********************************************************************
* gluUnProject (GLU32.@)
*/
-extern int gluUnProject(double arg0,double arg1,double arg2,void *arg3,void *arg4,void *arg5,void *arg6,void *arg7,void *arg8);
-int WINAPI wine_gluUnProject(double arg0,double arg1,double arg2,void *arg3,void *arg4,void *arg5,void *arg6,void *arg7,void *arg8) {
- return gluUnProject(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8);
+int WINAPI wine_gluUnProject( GLdouble winx, GLdouble winy,
+ GLdouble winz,
+ const GLdouble modelMatrix[16],
+ const GLdouble projMatrix[16],
+ const GLint viewport[4],
+ GLdouble *objx, GLdouble *objy,
+ GLdouble *objz ) {
+ return gluUnProject(winx, winy, winz, modelMatrix, projMatrix, viewport, objx, objy, objz);
}
/***********************************************************************
* gluErrorString (GLU32.@)
*/
-extern int gluErrorString(int arg0);
-int WINAPI wine_gluErrorString(int arg0) {
- return gluErrorString(arg0);
+const GLubyte* WINAPI wine_gluErrorString( GLenum errorCode ) {
+ return gluErrorString(errorCode);
}
/***********************************************************************
* gluScaleImage (GLU32.@)
*/
-extern int gluScaleImage(int arg0,int arg1,int arg2,int arg3,void *arg4,int arg5,int arg6,int arg7,void *arg8);
-int WINAPI wine_gluScaleImage(int arg0,int arg1,int arg2,int arg3,void *arg4,int arg5,int arg6,int arg7,void *arg8) {
- return gluScaleImage(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8);
+int WINAPI wine_gluScaleImage( GLenum format,
+ GLint widthin, GLint heightin,
+ GLenum typein, const void *datain,
+ GLint widthout, GLint heightout,
+ GLenum typeout, void *dataout ) {
+ return gluScaleImage(format, widthin, heightin, typein, datain, widthout, heightout, typeout, dataout);
}
/***********************************************************************
* gluBuild1DMipmaps (GLU32.@)
*/
-extern int gluBuild1DMipmaps(int arg0,int arg1,int arg2,int arg3,int arg4,void *arg5);
-int WINAPI wine_gluBuild1DMipmaps(int arg0,int arg1,int arg2,int arg3,int arg4,void *arg5) {
- return gluBuild1DMipmaps(arg0,arg1,arg2,arg3,arg4,arg5);
+int WINAPI wine_gluBuild1DMipmaps( GLenum target, GLint components,
+ GLint width, GLenum format,
+ GLenum type, const void *data ) {
+ return gluBuild1DMipmaps(target, components, width, format, type, data);
}
/***********************************************************************
* gluBuild2DMipmaps (GLU32.@)
*/
-extern int gluBuild2DMipmaps(int arg0,int arg1,int arg2,int arg3,int arg4,int arg5,void *arg6);
-int WINAPI wine_gluBuild2DMipmaps(int arg0,int arg1,int arg2,int arg3,int arg4,int arg5,void *arg6) {
- return gluBuild2DMipmaps(arg0,arg1,arg2,arg3,arg4,arg5,arg6);
+int WINAPI wine_gluBuild2DMipmaps( GLenum target, GLint components,
+ GLint width, GLint height,
+ GLenum format,
+ GLenum type, const void *data ) {
+ return gluBuild2DMipmaps(target, components, width, height, format, type, data);
}
/***********************************************************************
* gluNewQuadric (GLU32.@)
*/
-extern int gluNewQuadric();
-int WINAPI wine_gluNewQuadric() {
+GLUquadricObj* WINAPI wine_gluNewQuadric( void ) {
return gluNewQuadric();
}
/***********************************************************************
* gluDeleteQuadric (GLU32.@)
*/
-extern int gluDeleteQuadric(void *arg0);
-int WINAPI wine_gluDeleteQuadric(void *arg0) {
- return gluDeleteQuadric(arg0);
+void WINAPI wine_gluDeleteQuadric( GLUquadricObj *state ) {
+ gluDeleteQuadric(state);
}
/***********************************************************************
* gluQuadricDrawStyle (GLU32.@)
*/
-extern int gluQuadricDrawStyle(void *arg0,int arg1);
-int WINAPI wine_gluQuadricDrawStyle(void *arg0,int arg1) {
- return gluQuadricDrawStyle(arg0,arg1);
+void WINAPI wine_gluQuadricDrawStyle( GLUquadricObj *qobj,
+ GLenum drawStyle ) {
+ gluQuadricDrawStyle(qobj, drawStyle);
}
/***********************************************************************
* gluQuadricOrientation (GLU32.@)
*/
-extern int gluQuadricOrientation(void *arg0,int arg1);
-int WINAPI wine_gluQuadricOrientation(void *arg0,int arg1) {
- return gluQuadricOrientation(arg0,arg1);
+void WINAPI wine_gluQuadricOrientation( GLUquadricObj *quadObject,
+ GLenum orientation ) {
+ gluQuadricOrientation(quadObject, orientation);
}
/***********************************************************************
* gluQuadricNormals (GLU32.@)
*/
-extern int gluQuadricNormals(void *arg0,int arg1);
-int WINAPI wine_gluQuadricNormals(void *arg0,int arg1) {
- return gluQuadricNormals(arg0,arg1);
+void WINAPI wine_gluQuadricNormals( GLUquadricObj *qobj,
+ GLenum normals ) {
+ gluQuadricNormals(qobj, normals);
}
/***********************************************************************
* gluQuadricTexture (GLU32.@)
*/
-extern int gluQuadricTexture(void *arg0,int arg1);
-int WINAPI wine_gluQuadricTexture(void *arg0,int arg1) {
- return gluQuadricTexture(arg0,arg1);
+void WINAPI wine_gluQuadricTexture( GLUquadricObj *quadObject,
+ GLboolean textureCoords ) {
+ gluQuadricTexture(quadObject, textureCoords);
}
/***********************************************************************
* gluQuadricCallback (GLU32.@)
*/
-extern int gluQuadricCallback(void *arg0,int arg1,void *arg2);
-int WINAPI wine_gluQuadricCallback(void *arg0,int arg1,void *arg2) {
- return gluQuadricCallback(arg0,arg1,arg2);
+void WINAPI wine_gluQuadricCallback( GLUquadricObj *qobj,
+ GLenum which,
+ void (* fn)() ) {
+ gluQuadricCallback(qobj, which, fn);
}
/***********************************************************************
* gluCylinder (GLU32.@)
*/
-extern int gluCylinder(void *arg0,double arg1,double arg2,double arg3,int arg4,int arg5);
-int WINAPI wine_gluCylinder(void *arg0,double arg1,double arg2,double arg3,int arg4,int arg5) {
- return gluCylinder(arg0,arg1,arg2,arg3,arg4,arg5);
+void WINAPI wine_gluCylinder( GLUquadricObj *qobj,
+ GLdouble baseRadius,
+ GLdouble topRadius,
+ GLdouble height,
+ GLint slices, GLint stacks ) {
+ gluCylinder(qobj, baseRadius, topRadius, height, slices, stacks);
}
/***********************************************************************
* gluSphere (GLU32.@)
*/
-extern int gluSphere(void *arg0,double arg1,int arg2,int arg3);
-int WINAPI wine_gluSphere(void *arg0,double arg1,int arg2,int arg3) {
- return gluSphere(arg0,arg1,arg2,arg3);
+void WINAPI wine_gluSphere( GLUquadricObj *qobj,
+ GLdouble radius,
+ GLint slices, GLint stacks ) {
+ gluSphere(qobj, radius, slices, stacks);
}
/***********************************************************************
* gluDisk (GLU32.@)
*/
-extern int gluDisk(void *arg0,double arg1,double arg2,int arg3,int arg4);
-int WINAPI wine_gluDisk(void *arg0,double arg1,double arg2,int arg3,int arg4) {
- return gluDisk(arg0,arg1,arg2,arg3,arg4);
+void WINAPI wine_gluDisk( GLUquadricObj *qobj,
+ GLdouble innerRadius, GLdouble outerRadius,
+ GLint slices, GLint loops ) {
+ gluDisk(qobj, innerRadius, outerRadius, slices, loops);
}
/***********************************************************************
* gluPartialDisk (GLU32.@)
*/
-extern int gluPartialDisk(void *arg0,double arg1,double arg2,int arg3,int arg4,double arg5,double arg6);
-int WINAPI wine_gluPartialDisk(void *arg0,double arg1,double arg2,int arg3,int arg4,double arg5,double arg6) {
- return gluPartialDisk(arg0,arg1,arg2,arg3,arg4,arg5,arg6);
+void WINAPI wine_gluPartialDisk( GLUquadricObj *qobj,
+ GLdouble innerRadius,
+ GLdouble outerRadius, GLint slices,
+ GLint loops, GLdouble startAngle,
+ GLdouble sweepAngle ) {
+ gluPartialDisk(qobj, innerRadius, outerRadius, slices, loops, startAngle, sweepAngle);
}
/***********************************************************************
* gluNewNurbsRenderer (GLU32.@)
*/
-extern int gluNewNurbsRenderer();
-int WINAPI wine_gluNewNurbsRenderer() {
+GLUnurbsObj* WINAPI wine_gluNewNurbsRenderer( void ) {
return gluNewNurbsRenderer();
}
/***********************************************************************
* gluDeleteNurbsRenderer (GLU32.@)
*/
-extern int gluDeleteNurbsRenderer(void *arg0);
-int WINAPI wine_gluDeleteNurbsRenderer(void *arg0) {
- return gluDeleteNurbsRenderer(arg0);
+void WINAPI wine_gluDeleteNurbsRenderer( GLUnurbsObj *nobj ) {
+ gluDeleteNurbsRenderer(nobj);
}
/***********************************************************************
* gluLoadSamplingMatrices (GLU32.@)
*/
-extern int gluLoadSamplingMatrices(void *arg0,void *arg1,void *arg2,void *arg3);
-int WINAPI wine_gluLoadSamplingMatrices(void *arg0,void *arg1,void *arg2,void *arg3) {
- return gluLoadSamplingMatrices(arg0,arg1,arg2,arg3);
+void WINAPI wine_gluLoadSamplingMatrices( GLUnurbsObj *nobj,
+ const GLfloat modelMatrix[16],
+ const GLfloat projMatrix[16],
+ const GLint viewport[4] ) {
+ gluLoadSamplingMatrices(nobj, modelMatrix, projMatrix, viewport);
}
/***********************************************************************
* gluNurbsProperty (GLU32.@)
*/
-extern int gluNurbsProperty(void *arg0,int arg1,int arg2);
-int WINAPI wine_gluNurbsProperty(void *arg0,int arg1,int arg2) {
- return gluNurbsProperty(arg0,arg1,arg2);
+void WINAPI wine_gluNurbsProperty( GLUnurbsObj *nobj, GLenum property,
+ GLfloat value ) {
+ gluNurbsProperty(nobj, property, value);
}
/***********************************************************************
* gluGetNurbsProperty (GLU32.@)
*/
-extern int gluGetNurbsProperty(void *arg0,int arg1,void *arg2);
-int WINAPI wine_gluGetNurbsProperty(void *arg0,int arg1,void *arg2) {
- return gluGetNurbsProperty(arg0,arg1,arg2);
+void WINAPI wine_gluGetNurbsProperty( GLUnurbsObj *nobj, GLenum property,
+ GLfloat *value ) {
+ gluGetNurbsProperty(nobj, property, value);
}
/***********************************************************************
* gluBeginCurve (GLU32.@)
*/
-extern int gluBeginCurve(void *arg0);
-int WINAPI wine_gluBeginCurve(void *arg0) {
- return gluBeginCurve(arg0);
+void WINAPI wine_gluBeginCurve( GLUnurbsObj *nobj ) {
+ gluBeginCurve(nobj);
}
/***********************************************************************
* gluEndCurve (GLU32.@)
*/
-extern int gluEndCurve(void *arg0);
-int WINAPI wine_gluEndCurve(void *arg0) {
- return gluEndCurve(arg0);
+void WINAPI wine_gluEndCurve( GLUnurbsObj *nobj ) {
+ gluEndCurve(nobj);
}
/***********************************************************************
* gluNurbsCurve (GLU32.@)
*/
-extern int gluNurbsCurve(void *arg0,int arg1,void *arg2,int arg3,void *arg4,int arg5,int arg6);
-int WINAPI wine_gluNurbsCurve(void *arg0,int arg1,void *arg2,int arg3,void *arg4,int arg5,int arg6) {
- return gluNurbsCurve(arg0,arg1,arg2,arg3,arg4,arg5,arg6);
+void WINAPI wine_gluNurbsCurve( GLUnurbsObj *nobj, GLint nknots,
+ GLfloat *knot, GLint stride,
+ GLfloat *ctlarray, GLint order,
+ GLenum type ) {
+ gluNurbsCurve(nobj, nknots, knot, stride, ctlarray, order, type);
}
/***********************************************************************
* gluBeginSurface (GLU32.@)
*/
-extern int gluBeginSurface(void *arg0);
-int WINAPI wine_gluBeginSurface(void *arg0) {
- return gluBeginSurface(arg0);
+void WINAPI wine_gluBeginSurface( GLUnurbsObj *nobj ) {
+ gluBeginSurface(nobj);
}
/***********************************************************************
* gluEndSurface (GLU32.@)
*/
-extern int gluEndSurface(void *arg0);
-int WINAPI wine_gluEndSurface(void *arg0) {
- return gluEndSurface(arg0);
+void WINAPI wine_gluEndSurface( GLUnurbsObj *nobj ) {
+ gluEndSurface(nobj);
}
/***********************************************************************
* gluNurbsSurface (GLU32.@)
*/
-extern int gluNurbsSurface(void *arg0,int arg1,void *arg2,int arg3,void *arg4,int arg5,int arg6,void *arg7,int arg8,int arg9,int arg10);
-int WINAPI wine_gluNurbsSurface(void *arg0,int arg1,void *arg2,int arg3,void *arg4,int arg5,int arg6,void *arg7,int arg8,int arg9,int arg10) {
- return gluNurbsSurface(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10);
+void WINAPI wine_gluNurbsSurface( GLUnurbsObj *nobj,
+ GLint sknot_count, GLfloat *sknot,
+ GLint tknot_count, GLfloat *tknot,
+ GLint s_stride, GLint t_stride,
+ GLfloat *ctlarray,
+ GLint sorder, GLint torder,
+ GLenum type ) {
+ gluNurbsSurface(nobj, sknot_count, sknot, tknot_count, tknot, s_stride, t_stride, ctlarray, sorder, torder, type);
}
/***********************************************************************
* gluBeginTrim (GLU32.@)
*/
-extern int gluBeginTrim(void *arg0);
-int WINAPI wine_gluBeginTrim(void *arg0) {
- return gluBeginTrim(arg0);
+void WINAPI wine_gluBeginTrim( GLUnurbsObj *nobj ) {
+ gluBeginTrim(nobj);
}
/***********************************************************************
* gluEndTrim (GLU32.@)
*/
-extern int gluEndTrim(void *arg0);
-int WINAPI wine_gluEndTrim(void *arg0) {
- return gluEndTrim(arg0);
+void WINAPI wine_gluEndTrim( GLUnurbsObj *nobj ) {
+ gluEndTrim(nobj);
}
/***********************************************************************
* gluPwlCurve (GLU32.@)
*/
-extern int gluPwlCurve(void *arg0,int arg1,void *arg2,int arg3,int arg4);
-int WINAPI wine_gluPwlCurve(void *arg0,int arg1,void *arg2,int arg3,int arg4) {
- return gluPwlCurve(arg0,arg1,arg2,arg3,arg4);
+void WINAPI wine_gluPwlCurve( GLUnurbsObj *nobj, GLint count,
+ GLfloat *array,
+ GLint stride, GLenum type ) {
+ gluPwlCurve(nobj, count, array, stride, type);
}
/***********************************************************************
* gluNurbsCallback (GLU32.@)
*/
-extern int gluNurbsCallback(void *arg0,int arg1,void *arg2);
-int WINAPI wine_gluNurbsCallback(void *arg0,int arg1,void *arg2) {
- return gluNurbsCallback(arg0,arg1,arg2);
+void WINAPI wine_gluNurbsCallback( GLUnurbsObj *nobj, GLenum which,
+ void (* fn)() ) {
+ gluNurbsCallback(nobj, which, fn);
}
/***********************************************************************
* gluNewTess (GLU32.@)
*/
-extern int gluNewTess();
-int WINAPI wine_gluNewTess() {
+GLUtesselator* WINAPI wine_gluNewTess( void ) {
return gluNewTess();
}
/***********************************************************************
* gluDeleteTess (GLU32.@)
*/
-extern int gluDeleteTess(void *arg0);
-int WINAPI wine_gluDeleteTess(void *arg0) {
- return gluDeleteTess(arg0);
+void WINAPI wine_gluDeleteTess( GLUtesselator *tess ) {
+ gluDeleteTess(tess);
}
/***********************************************************************
* gluTessVertex (GLU32.@)
*/
-extern int gluTessVertex(void *arg0,void *arg1,void *arg2);
-int WINAPI wine_gluTessVertex(void *arg0,void *arg1,void *arg2) {
- return gluTessVertex(arg0,arg1,arg2);
+void WINAPI wine_gluTessVertex( GLUtesselator *tess, GLdouble coords[3],
+ void *data ) {
+ gluTessVertex(tess, coords, data);
}
/***********************************************************************
* gluTessCallback (GLU32.@)
*/
-extern int gluTessCallback(void *arg0,int arg1,void *arg2);
-int WINAPI wine_gluTessCallback(void *arg0,int arg1,void *arg2) {
- return gluTessCallback(arg0,arg1,arg2);
+void WINAPI wine_gluTessCallback( GLUtesselator *tess, GLenum which,
+ void (* fn)() ) {
+ gluTessCallback(tess, which, fn);
}
/***********************************************************************
* gluBeginPolygon (GLU32.@)
*/
-extern int gluBeginPolygon(void *arg0);
-int WINAPI wine_gluBeginPolygon(void *arg0) {
- return gluBeginPolygon(arg0);
+void WINAPI wine_gluBeginPolygon( GLUtesselator *tess ) {
+#ifdef GLU_VERSION_1_2
+ gluTessBeginPolygon(tess, NULL);
+ gluTessBeginContour(tess);
+#else
+ gluBeginPolygon(tess);
+#endif /* GLU_VERSION_1_2 */
}
/***********************************************************************
* gluEndPolygon (GLU32.@)
*/
-extern int gluEndPolygon(void *arg0);
-int WINAPI wine_gluEndPolygon(void *arg0) {
- return gluEndPolygon(arg0);
+void WINAPI wine_gluEndPolygon( GLUtesselator *tess ) {
+#ifdef GLU_VERSION_1_2
+ gluTessEndContour(tess);
+ gluTessEndPolygon(tess);
+#else
+ gluEndPolygon(tess);
+#endif /* GLU_VERSION_1_2 */
}
/***********************************************************************
* gluNextContour (GLU32.@)
*/
-extern int gluNextContour(void *arg0,int arg1);
-int WINAPI wine_gluNextContour(void *arg0,int arg1) {
- return gluNextContour(arg0,arg1);
+void WINAPI wine_gluNextContour( GLUtesselator *tess, GLenum type ) {
+#ifdef GLU_VERSION_1_2
+ gluTessEndContour(tess);
+ gluTessBeginContour(tess);
+#else
+ gluNextContour(tess, type);
+#endif /* GLU_VERSION_1_2 */
+}
+
+/***********************************************************************
+ * gluTessProperty (GLU32.@)
+ */
+void WINAPI wine_gluTessProperty( GLUtesselator *tess, GLenum which,
+ GLdouble value ) {
+#ifdef GLU_VERSION_1_2
+ gluTessProperty(tess, which, value);
+#else
+ WARN("(%p, %d, %.06f): no libGLU 1.2 found\n", tess, which, value);
+#endif /* GLU_VERSION_1_2 */
+}
+
+/***********************************************************************
+ * gluGetTessProperty (GLU32.@)
+ */
+void WINAPI wine_gluGetTessProperty( GLUtesselator *tess, GLenum which,
+ GLdouble *value ) {
+#ifdef GLU_VERSION_1_2
+ gluGetTessProperty(tess, which, value);
+#else
+ WARN("(%p, %d, %p): no libGLU 1.2 found\n", tess, which, value);
+#endif /* GLU_VERSION_1_2 */
}
/***********************************************************************
* gluGetString (GLU32.@)
*/
-extern int gluGetString(int arg0);
-int WINAPI wine_gluGetString(int arg0) {
- return gluGetString(arg0);
+void WINAPI wine_gluTessNormal( GLUtesselator *tess, GLdouble x,
+ GLdouble y, GLdouble z ) {
+#ifdef GLU_VERSION_1_2
+ gluTessNormal(tess, x, y, z);
+#else
+ WARN("(%p, %.06f, %.06f, %.06f): no libGLU 1.2 found\n", tess, x, y, z);
+#endif /* GLU_VERSION_1_2 */
}
/***********************************************************************
- * gluCheckExtension (GLU32.@)
+ * gluGetString (GLU32.@)
*/
-int WINAPI
-wine_gluCheckExtension( const char *extName, void *extString ) {
- return 0;
+const GLubyte* WINAPI wine_gluGetString( GLenum name ) {
+ return gluGetString(name);
}
diff -urN wine-orig/dlls/glu32/glu32.spec wine-pas-compil?/dlls/glu32/glu32.spec
--- wine-orig/dlls/glu32/glu32.spec Tue May 14 17:13:54 2002
+++ wine-pas-compil?/dlls/glu32/glu32.spec Mon Jun 10 23:26:48 2002
@@ -43,5 +43,7 @@
@ stdcall gluBeginPolygon(ptr) wine_gluBeginPolygon
@ stdcall gluEndPolygon(ptr) wine_gluEndPolygon
@ stdcall gluNextContour(ptr long) wine_gluNextContour
+@ stdcall gluTessProperty(ptr long double) wine_gluTessProperty
+@ stdcall gluGetTessProperty(ptr long ptr) wine_gluGetTessProperty
+@ stdcall gluTessNormal(ptr double double double) wine_gluTessNormal
@ stdcall gluGetString(long) wine_gluGetString
-@ stdcall gluCheckExtension(str ptr) wine_gluCheckExtension
More information about the wine-patches
mailing list