create a mode through getMode() interface
This commit is contained in:
parent
937bd8cdf4
commit
5cf3b3f34c
18
dwss.cc
18
dwss.cc
@ -30,28 +30,26 @@ static bool update (GnomeScreensaver & gs)
|
||||
return current_mode != NULL ? current_mode->update(gs) : true;
|
||||
}
|
||||
|
||||
static Mode *getMode(GnomeScreensaver & gs)
|
||||
{
|
||||
return new Starfield(gs);
|
||||
}
|
||||
|
||||
int main (int argc, char *argv[])
|
||||
{
|
||||
GnomeScreensaver gs(&argc, &argv, configure, expose, update, 12);
|
||||
|
||||
Mode *modes[] = {
|
||||
new Starfield(gs),
|
||||
new Spin(),
|
||||
new Flip()
|
||||
};
|
||||
|
||||
glShadeModel(GL_SMOOTH);
|
||||
glEnable(GL_LIGHTING);
|
||||
glEnable(GL_LIGHT0);
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
|
||||
modes[0]->configure(gs);
|
||||
current_mode = modes[0];
|
||||
current_mode = getMode(gs);
|
||||
current_mode->configure(gs);
|
||||
|
||||
gs.mainloop();
|
||||
|
||||
for (int i = 0; i < sizeof(modes)/sizeof(modes[0]); i++)
|
||||
delete modes[i];
|
||||
delete current_mode;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user