Main Page   Modules   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages   Examples  

glt/info.cpp

Go to the documentation of this file.
00001 #include "info.h"
00002 
00016 #include <glt/gl.h>
00017 #include <glt/error.h>
00018 #include <misc/config.h>
00019 
00020 #include <iostream>
00021 #include <cstdio>
00022 #include <ctime>
00023 #include <cstring>
00024 using namespace std;
00025 
00026 #ifdef GLT_ZLIB
00027 #include <zlib.h>
00028 #endif
00029 
00030 #ifdef GLT_PNG
00031 #include <png.h>
00032 #endif
00033 
00035 static string i2string(const int i)
00036 {
00037     char buffer[100];
00038     sprintf(buffer,"%d",i);
00039     return buffer;
00040 }
00041 
00042 string GltInfo()
00043 {
00044     string str;
00045 
00046     GLERROR;
00047 
00048     str += "          Vendor : ";
00049     str += (char *) glGetString(GL_VENDOR);
00050     str += '\n';
00051     
00052     str += "        Renderer : ";
00053     str += (char *) glGetString(GL_RENDERER);
00054     str += '\n';
00055 
00056     str += "         Version : ";
00057     str += (char *) glGetString(GL_VERSION);
00058     str += '\n';
00059 
00060     GLint doubleBuffering;
00061     GLint rgbaMode;
00062     GLint zDepth;
00063     GLint stencilDepth;
00064 
00065     glGetIntegerv(GL_DOUBLEBUFFER,&doubleBuffering);
00066     glGetIntegerv(GL_RGBA_MODE,&rgbaMode);
00067     glGetIntegerv(GL_DEPTH_BITS,&zDepth);
00068     glGetIntegerv(GL_STENCIL_BITS,&stencilDepth);
00069 
00070     GLERROR
00071 
00072     str += "Double-buffering : ";
00073     str += (doubleBuffering ? "" : "not " );
00074     str += "supported.\n";
00075 
00076     str += "       RGBA mode : ";
00077     str += (rgbaMode ? "" : "not " );
00078     str += "enabled.\n";
00079     
00080     str += "    Depth buffer : ";
00081     str += i2string(zDepth);
00082     str += " bit-planes.\n";
00083 
00084     str += "  Stencil buffer : ";
00085     str += i2string(stencilDepth);
00086     str += " bit-planes.";
00087 
00088     return str;
00089 }
00090 
00091 string GltDate()
00092 {
00093     time_t clock;
00094     time(&clock);
00095     return asctime(localtime(&clock));
00096 }
00097 
00098 string GltVersion()
00099 {
00100     return GLT_VERSION_STRING;
00101 }
00102 
00103 string GltVersionInformation()
00104 {
00105     string str;
00106 
00107     str += "GLT    " + GltVersion() + "\n";
00108 
00109     #ifdef GLT_ZLIB
00110     str += "zLib   " + string(ZLIB_VERSION) + "\n";
00111     #endif
00112 
00113     #ifdef GLT_PNG
00114     str += "libPNG " + string(PNG_LIBPNG_VER_STRING) + "\n";
00115     #endif
00116 
00117     return str;
00118 }

Generated on Tue Nov 5 11:11:03 2002 for GLT by doxygen1.2.18