Re: [fpc-devel] Fixes to OpenGL bindings

2005-05-22 Thread Michael Van Canneyt


On Sun, 22 May 2005, Michalis Kamburelis wrote:

> Hi
> 
> I'm attaching a trivial patch for OpenGL bindings that
> 
> 1. Fixes declarations of glGetMapiv, glGetMaterialiv and glLightiv to take
> pointer as the last parameter.
> 
> 2. Changes glGetString, gluErrorString and gluGetString to return PChar
> instead of PGLubyte. After all, GLubyte and Char are the same thing internally
> but for Pascal declaration PChar is more comfortable than PGLubyte, since
> these functions always return null-terminated strings. This is even proved in
> GLext unit implementation where you have to explicitly cast result of
> glGetString(GL_EXTENSIONS) to PChar all the time :)
> 
> I also submitted these changes to Tom Nuydens and to jedi-sdl (for
> Delphi/Kylix users that use version of these units from jedi-sdl), so all
> three copies of these units stay synched.

Thank you. Committed in version 58; merged to fix branch. 

Michael.

___
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel


[fpc-devel] Fixes to OpenGL bindings

2005-05-21 Thread Michalis Kamburelis

Hi

I'm attaching a trivial patch for OpenGL bindings that

1. Fixes declarations of glGetMapiv, glGetMaterialiv and glLightiv to 
take pointer as the last parameter.


2. Changes glGetString, gluErrorString and gluGetString to return PChar 
instead of PGLubyte. After all, GLubyte and Char are the same thing 
internally but for Pascal declaration PChar is more comfortable than 
PGLubyte, since these functions always return null-terminated strings. 
This is even proved in GLext unit implementation where you have to 
explicitly cast result of glGetString(GL_EXTENSIONS) to PChar all the 
time :)


I also submitted these changes to Tom Nuydens and to jedi-sdl (for 
Delphi/Kylix users that use version of these units from jedi-sdl), so 
all three copies of these units stay synched.


Michalis
Index: gl.pp
===
--- gl.pp	(wersja 57)
+++ gl.pp	(kopia robocza)
@@ -1270,15 +1270,15 @@
   glGetLightiv: procedure(light, pname: GLenum; params: PGLint); extdecl;
   glGetMapdv: procedure(target, query: GLenum; v: PGLdouble); extdecl;
   glGetMapfv: procedure(target, query: GLenum; v: PGLfloat); extdecl;
-  glGetMapiv: procedure(target, query: GLenum; v: GLint); extdecl;
+  glGetMapiv: procedure(target, query: GLenum; v: PGLint); extdecl;
   glGetMaterialfv: procedure(face, pname: GLenum; params: PGLfloat); extdecl;
-  glGetMaterialiv: procedure(face, pname: GLenum; params: GLint); extdecl;
+  glGetMaterialiv: procedure(face, pname: GLenum; params: PGLint); extdecl;
   glGetPixelMapfv: procedure(map: GLenum; values: PGLfloat); extdecl;
   glGetPixelMapuiv: procedure(map: GLenum; values: PGLuint); extdecl;
   glGetPixelMapusv: procedure(map: GLenum; values: PGLushort); extdecl;
   glGetPointerv: procedure(pname: GLenum; params: Pointer); extdecl;
   glGetPolygonStipple: procedure(mask: PGLubyte); extdecl;
-  glGetString: function(name: GLenum): PGLubyte; extdecl;
+  glGetString: function(name: GLenum): PChar; extdecl;
   glGetTexEnvfv: procedure(target, pname: GLenum; params: PGLfloat); extdecl;
   glGetTexEnviv: procedure(target, pname: GLenum; params: PGLint); extdecl;
   glGetTexGendv: procedure(coord, pname: GLenum; params: PGLdouble); extdecl;
@@ -1314,7 +1314,7 @@
   glLightf: procedure(light, pname: GLenum; param: GLfloat); extdecl;
   glLightfv: procedure(light, pname: GLenum; const params: PGLfloat); extdecl;
   glLighti: procedure(light, pname: GLenum; param: GLint); extdecl;
-  glLightiv: procedure(light, pname: GLenum; const params: GLint); extdecl;
+  glLightiv: procedure(light, pname: GLenum; const params: PGLint); extdecl;
   glLineStipple: procedure(factor: GLint; pattern: GLushort); extdecl;
   glLineWidth: procedure(width: GLfloat); extdecl;
   glListBase: procedure(base: GLuint); extdecl;
Index: glu.pp
===
--- glu.pp	(wersja 57)
+++ glu.pp	(kopia robocza)
@@ -83,9 +83,9 @@
   PPointer = ^Pointer;
 
 var
-  gluErrorString: function(errCode: GLenum): PGLubyte; extdecl;
+  gluErrorString: function(errCode: GLenum): PChar; extdecl;
   gluErrorUnicodeStringEXT: function(errCode: GLenum): PWideChar; extdecl;
-  gluGetString: function(name: GLenum): PGLubyte; extdecl;
+  gluGetString: function(name: GLenum): PChar; extdecl;
   gluOrtho2D: procedure(left,right, bottom, top: GLdouble); extdecl;
   gluPerspective: procedure(fovy, aspect, zNear, zFar: GLdouble); extdecl;
   gluPickMatrix: procedure(x, y, width, height: GLdouble; var viewport: TViewPortArray); extdecl;
___
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel