Index: /Include/abgl.ab
===================================================================
--- /Include/abgl.ab	(revision 101)
+++ /Include/abgl.ab	(revision 102)
@@ -873,4 +873,8 @@
 	Static Function FromRGB(r As GLubyte, g As GLubyte, b As GLubyte) As Color4f
 		Dim ret As Color4f(r/255,g/255,b/255,1.0)
+		Return ret
+	End Function
+	Static Function FromARGB(a As GLubyte, r As GLubyte, g As GLubyte, b As GLubyte) As Color4f
+		Dim ret As Color4f(r/255,g/255,b/255,a/255)
 		Return ret
 	End Function
@@ -1010,4 +1014,8 @@
 		Return ret
 	End Function
+	Static Function FromARGB(a As GLubyte, r As GLubyte, g As GLubyte, b As GLubyte) As Color4d
+		Dim ret As Color4d(r/255,g/255,b/255,a/255)
+		Return ret
+	End Function
 	Static Function FromCOLORREF(c As COLORREF) As Color4d
 		Dim ret As Color4d((c and &hff)/255,(c>>8 and &hff)/255,(c>>16 and &hff)/255,1.0)
@@ -1246,5 +1254,5 @@
 	Sub LoadIdentity()
 		Dim mode As GLenum
-		glGetIntegerv(GL_MATRIX_MODE,VarPtr(mode))
+		glGetIntegerv(GL_MATRIX_MODE,VarPtr(mode) As *Long)
 		If mode<>GL_MODELVIEW Then glMatrixMode(GL_MODELVIEW)
 		glLoadIdentity()
@@ -1260,5 +1268,5 @@
 	Sub RotateX(angle As GLdouble)
 		Dim mode As GLenum
-		glGetIntegerv(GL_MATRIX_MODE,VarPtr(mode))
+		glGetIntegerv(GL_MATRIX_MODE,VarPtr(mode) As *Long)
 		If mode<>GL_MODELVIEW Then glMatrixMode(GL_MODELVIEW)
 		glRotated(angle, 1.0 As GLdouble, 0.0 As GLdouble, 0.0 As GLdouble)
@@ -1274,5 +1282,5 @@
 	Sub RotateY(angle As GLdouble)
 		Dim mode As GLenum
-		glGetIntegerv(GL_MATRIX_MODE,VarPtr(mode))
+		glGetIntegerv(GL_MATRIX_MODE,VarPtr(mode) As *Long)
 		If mode<>GL_MODELVIEW Then glMatrixMode(GL_MODELVIEW)
 		glRotated(angle, 0.0 As GLdouble, 1.0 As GLdouble, 0.0 As GLdouble)
@@ -1323,5 +1331,5 @@
 	Sub Translate(x As GLfloat, y As GLfloat, z As GLfloat)
 		Dim mode As GLenum
-		glGetIntegerv(GL_MATRIX_MODE,VarPtr(mode))
+		glGetIntegerv(GL_MATRIX_MODE,VarPtr(mode) As *Long)
 		If mode<>GL_MODELVIEW Then glMatrixMode(GL_MODELVIEW)
 		glTranslatef(x, y, z)
@@ -1334,5 +1342,5 @@
 	Sub LoadIdentity()
 		Dim mode As GLenum
-		glGetIntegerv(GL_MATRIX_MODE,VarPtr(mode))
+		glGetIntegerv(GL_MATRIX_MODE,VarPtr(mode) As *Long)
 		If mode<>GL_PROJECTION Then glMatrixMode(GL_PROJECTION)
 		glLoadIdentity()
@@ -1362,5 +1370,5 @@
 	Sub Perspective(fovy As GLdouble, aspect As GLdouble, zNear As GLdouble, zFar As GLdouble)
 		Dim mode As GLenum
-		glGetIntegerv(GL_MATRIX_MODE,VarPtr(mode))
+		glGetIntegerv(GL_MATRIX_MODE,VarPtr(mode) As *Long)
 		If mode<>GL_PROJECTION Then glMatrixMode(GL_PROJECTION)
 		gluPerspective(fovy, aspect, zNear, zFar)
@@ -1876,14 +1884,14 @@
 	End Sub
 	Sub Color(c As Color3f)
-		glColor3fv(VarPtr(c.rgb))
+		glColor3fv(VarPtr(c.rgb) As *Single)
 	End Sub
 	Sub Color(c As Color4f)
-		glColor4fv(VarPtr(c.rgba))
+		glColor4fv(VarPtr(c.rgba) As *Single)
 	End Sub
 	Sub Color(c As Color3d)
-		glColor3dv(VarPtr(c.rgb))
+		glColor3dv(VarPtr(c.rgb) As *Double)
 	End Sub
 	Sub Color(c As Color4d)
-		glColor4dv(VarPtr(c.rgba))
+		glColor4dv(VarPtr(c.rgba) As *Double)
 	End Sub
 
