diff --git a/collects/sgl/gl.rkt b/collects/sgl/gl.rkt index 0eb835297f..802dcca43c 100644 --- a/collects/sgl/gl.rkt +++ b/collects/sgl/gl.rkt @@ -807,10 +807,13 @@ _glu-quadric _gl-double _gl-double _gl-int _gl-int _gl-double _gl-double ->) ;; 7.1 -#| -(define-foreignu gluNewNurbsRenderer -> _glu-nurbs*) -(define-foreignu gludeleteNurbsRenderer _glu-nurbs* ->) -|# +(define _glu-nurbs + (_cpointer 'nurbs _pointer #f + (lambda (q*) (register-finalizer q* gluDeleteNurbsRenderer) q*))) + +(define-foreignu gluNewNurbsRenderer -> _glu-nurbs) +(define-foreignu gluDeleteNurbsRenderer _glu-nurbs ->) + ;; 7.2 #| @@ -819,21 +822,19 @@ |# ;; 7.3 -#| -(define-foreignu gluBeginCurve _glu-nurbs* ->) +(define-foreignu gluBeginCurve _glu-nurbs ->) (define-foreignu gluNurbsCurve - _glu-nurbs* _gl-int _gl-floatv _gl-int _gl-floatv _gl-int _gl-enum ->) -(define-foreignu gluEndCurve _glu-nurbs* ->) -|# + _glu-nurbs _gl-int _gl-floatv _gl-int _gl-floatv _gl-int _gl-enum ->) +(define-foreignu gluEndCurve _glu-nurbs ->) ;; 7.4 -#| -(define-foreignu gluBeginSurface _glu-nurbs* ->) + +(define-foreignu gluBeginSurface _glu-nurbs ->) (define-foreignu gluNurbsSurface - _glu-nurbs* _gl-int _gl-floatv _gl-int _gl-floatv _gl-int + _glu-nurbs _gl-int _gl-floatv _gl-int _gl-floatv _gl-int _gl-int _gl-floatv _gl-int _gl-int _gl-enum ->) -(define-foreignu gluEndSurface _glu-nurbs* ->) -|# +(define-foreignu gluEndSurface _glu-nurbs ->) + ;; 7.5 #| @@ -843,8 +844,8 @@ |# ;; 7.6 +(define-foreignu gluNurbsProperty _glu-nurbs _gl-enum _gl-float ->) #| -(define-foreignu gluNurbsProperty _glu-nurbs* _gl-enum _gl-float ->) (define-foreignu gluLoadSamplingMatrix _glu-nurbs* _gl-floatv _gl-floatv _gl-intv ->) (define-foreignu gluGetNurbsProperty _glu-nurbs* _gl-enum _gl-floatv ->) |# diff --git a/collects/sgl/scribblings/gl.scrbl b/collects/sgl/scribblings/gl.scrbl index bbf00fcfc5..42b4322f95 100644 --- a/collects/sgl/scribblings/gl.scrbl +++ b/collects/sgl/scribblings/gl.scrbl @@ -18,7 +18,7 @@ in the GL 1.5 and GLU 1.3 specifications, except for the following: @item{Buffer object queries (GL 1.5, Section 6.1.13)} @item{Polygon tessellation (GLU 1.3, Section 5)} @item{@tt{gluQuadricCallback} (GLU 1.3, Section 6.2)} - @item{NURBS (GLU 1.3, Section 7)} + @item{NURBS callbacks (GLU 1.3, Section 7.2)} ] If one of the provided functions is not present on your system