dwss/dwss.cc
2011-05-23 16:42:34 -04:00

59 lines
1.0 KiB
C++

#include <math.h>
#include <stdlib.h>
#include <sysexits.h>
#include <time.h>
#include <sys/time.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include "GnomeScreensaver.h"
#include "modes.h"
using namespace std;
static Mode *current_mode = NULL;
static bool expose (GnomeScreensaver & gs)
{
return current_mode != NULL ? current_mode->expose(gs) : true;
}
static bool configure (GnomeScreensaver & gs)
{
return current_mode != NULL ? current_mode->configure(gs) : true;
}
static bool update (GnomeScreensaver & gs)
{
return current_mode != NULL ? current_mode->update(gs) : true;
}
static Mode *getMode(GnomeScreensaver & gs)
{
#if 0
return new Starfield(gs);
#endif
return new Spin();
}
int main (int argc, char *argv[])
{
GnomeScreensaver gs(&argc, &argv, configure, expose, update, 12);
glShadeModel(GL_SMOOTH);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glEnable(GL_DEPTH_TEST);
current_mode = getMode(gs);
current_mode->configure(gs);
gs.mainloop();
delete current_mode;
return 0;
}