]> git.mxchange.org Git - flightgear.git/blob - utils/fgpanel/FGGLApplication.hxx
Simplify logic now SGPath::desktop works on Windows.
[flightgear.git] / utils / fgpanel / FGGLApplication.hxx
1 //
2 //  Written and (c) Torsten Dreyer - Torsten(at)t3r_dot_de
3 //
4 //  This program is free software; you can redistribute it and/or
5 //  modify it under the terms of the GNU General Public License as
6 //  published by the Free Software Foundation; either version 2 of the
7 //  License, or (at your option) any later version.
8 // 
9 //  This program is distributed in the hope that it will be useful, but
10 //  WITHOUT ANY WARRANTY; without even the implied warranty of
11 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 //  General Public License for more details.
13 //
14 //  You should have received a copy of the GNU General Public License
15 //  along with this program; if not, write to the Free Software
16 //  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
17 //
18 #ifndef __FGGLAPPLICATION_HXX
19 #define __FGGLAPPLICATION_HXX
20
21 class FGGLApplication {
22 public:
23   FGGLApplication( const char * name, int argc, char ** argv );
24   virtual ~FGGLApplication();
25   void Run( int glutMode, bool gameMode, int widht=-1, int height=-1, int bpp = 32 );
26 protected:
27   virtual void Key( unsigned char key, int x, int y ) {}
28   virtual void Idle() {}
29   virtual void Display() {}
30   virtual void Reshape( int width, int height ) {}
31
32   virtual void Init() {}
33
34   int windowId;
35   bool gameMode;
36
37   const char * name;
38
39   static FGGLApplication * application;
40 private:
41   static void KeyCallback( unsigned char key, int x, int y );
42   static void IdleCallback();
43   static void DisplayCallback();
44   static void ReshapeCallback( int width, int height );
45
46 };
47
48 #endif