From 4ad28c9d9a992f387eadfaf057a815e7bbbf9a8e Mon Sep 17 00:00:00 2001
From: Philippe Houdoin <phoudoin@freedesktop.org>
Date: Sun, 15 Aug 2004 14:06:00 +0000
Subject: GLInfo now show GLU and GLUT infos too. Fix the includes paths

---
 progs/beos/GLInfo.cpp | 43 ++++++++++++++++++++++++++++++++++++-------
 progs/beos/Makefile   |  6 ++++--
 2 files changed, 40 insertions(+), 9 deletions(-)

diff --git a/progs/beos/GLInfo.cpp b/progs/beos/GLInfo.cpp
index b8788decd2..cfa8c83af8 100644
--- a/progs/beos/GLInfo.cpp
+++ b/progs/beos/GLInfo.cpp
@@ -12,6 +12,12 @@
 #include <String.h>
 
 #include <GL/gl.h>
+#include <GL/glu.h>
+
+#define GLUT_INFO 1
+#ifdef GLUT_INFO
+	#include <GL/glut.h>
+#endif
 
 
 class GLInfoWindow : public BWindow 
@@ -66,11 +72,7 @@ GLInfoWindow::GLInfoWindow(BRect frame)
 	
 	// gl->LockGL();
 	
-	s = (char *) glGetString(GL_RENDERER);
-	if (!s)
-		goto error;
-		
-	list->AddItem(new BStringItem(s));
+	list->AddItem(new BStringItem("OpenGL", 0));
 
 	s = (char *) glGetString(GL_VENDOR);
 	if (s) {
@@ -92,7 +94,7 @@ GLInfoWindow::GLInfoWindow(BRect frame)
 
 	s = (char *) glGetString(GL_EXTENSIONS);
 	if (s) {
-		list->AddItem(new BStringItem("OpenGL Extensions", 1));
+		list->AddItem(new BStringItem("Extensions", 1));
 		while (*s) {
 			char extname[255];
 			int n = strcspn(s, " ");
@@ -105,9 +107,36 @@ GLInfoWindow::GLInfoWindow(BRect frame)
 		}
 	}
 
+	list->AddItem(new BStringItem("GLU", 0));
+	s = (char *) gluGetString(GLU_VERSION);
+	if (s) {
+		l = ""; l << "Version: " << s;
+		list->AddItem(new BStringItem(l.String(), 1));
+	}
+
+	s = (char *) gluGetString(GLU_EXTENSIONS);
+	if (s) {
+		list->AddItem(new BStringItem("Extensions", 1));
+		while (*s) {
+			char extname[255];
+			int n = strcspn(s, " ");
+			strncpy(extname, s, n);
+			extname[n] = 0;
+			list->AddItem(new BStringItem(extname, 2));
+			if (! s[n])
+				break;
+			s += (n + 1);	// next !
+		}
+	}
+
+#ifdef GLUT_INFO
+	list->AddItem(new BStringItem("GLUT", 0));
+	l = "API version: "; l << GLUT_API_VERSION;
+	list->AddItem(new BStringItem(l.String(), 1));
+#endif
+
 	// gl->UnlockGL();
 
-error:
 	UnlockLooper();
 }
 
diff --git a/progs/beos/Makefile b/progs/beos/Makefile
index fae54160c4..45782fb3cf 100644
--- a/progs/beos/Makefile
+++ b/progs/beos/Makefile
@@ -12,6 +12,8 @@ include $(TOP)/configs/current
 
 LDFLAGS += -soname=_APP_ $(APP_LIB_DEPS)
 
+INCLUDES = -I. -I- -I../../include
+
 default: demo sample GLInfo
 
 clean:
@@ -25,7 +27,7 @@ sample: sample.o
 	$(LD) sample.o $(LDFLAGS) -o $@
 
 GTLInfo: GLInfo.o
-	$(LD) GLInfo.o $(LDFLAGS) -o $@
+	$(LD) GLInfo.o $(INCLUDES) $(LDFLAGS) -o $@
 
 .cpp.o:
-	$(CC) -c $< $(CFLAGS) -o $@
+	$(CC) -c $< $(INCLUDES) $(CFLAGS) -o $@
-- 
cgit v1.2.3