From 5cf3b3f34c0582ee0f6ce3b7b6dfc07a4201cb0e Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Thu, 24 Mar 2011 14:53:19 -0400 Subject: [PATCH] create a mode through getMode() interface --- dwss.cc | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/dwss.cc b/dwss.cc index 727059e..9fcffc3 100644 --- a/dwss.cc +++ b/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; }