Main Page Namespace List Class Hierarchy Alphabetical List Data Structures File List Namespace Members Data Fields Globals

# ExManagerWindow.h

Go to the documentation of this file.

    00001 /*
    00002  * ExNihilo 3D Engine
    00003  *
    00004  *  This program is free software; you can redistribute it and/or modify
    00005  *  it under the terms of the GNU General Public License as published by
    00006  *  the Free Software Foundation; either version 2 of the License, or
    00007  *  (at your option) any later version.
    00008  *
    00009  *  This program is distributed in the hope that it will be useful,
    00010  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
    00011  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    00012  *  GNU Library General Public License for more details.
    00013  *
    00014  *  You should have received a copy of the GNU General Public License
    00015  *  along with this program; if not, write to the Free Software
    00016  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
    00017  *
    00018  * Please read AUTHORS file !!!
    00019  *
    00020  * $Id: ExManagerWindow.h,v 1.16 2002/11/24 11:58:54 data Exp $
    00021  *
    00022  */
    00023
    00024 #ifndef __EXMANAGERWINDOW_H__
    00025 #define __EXMANAGERWINDOW_H__
    00026 //--------------------------------
    00027 // File to include
    00028 //--------------------------------
    00029 #include "ExDefine.h"
    00030 #include "ExMath.h"
    00031 #include "ExNihiloNameSpace.h"
    00032 #include "ExCOptions.h"
    00033 #include "ExManager.h"
    00034 //--------------------------------
    00035 class ExManagerWindow   : public ExManager
    00036 {
    00037 private:
    00038 //--------------------------------
    00039 // Variable
    00040 //--------------------------------
    00041         ExCOptions      *options;
    00042
    00043         int m_WindowHandler;
    00044         int m_WindowSizeX;
    00045         int m_WindowSizeY;
    00046         int m_WindowSizeXOld;
    00047         int m_WindowSizeYOld;
    00048         int m_WindowPosX;
    00049         int m_WindowPosY;
    00050         int m_Bits;
    00051         int m_Rate;
    00052         bool m_FullScreen;
    00053         bool m_OldMode;
    00054         char *m_Title;
    00055         char *m_IconTitle;
    00056         int m_Cursor;
    00057
    00058         bool m_ShowGrille;
    00059         bool m_ShowFps;
    00060
    00061         int frame,timeframe,timebase;
    00062         char s[30];
    00063
    00064 //--------------------------------
    00065 // Singleton creation
    00066 //--------------------------------
    00067         static bool m_flag;
    00068         static ExManagerWindow *m_instance;
    00069         ExManagerWindow(void);
    00070         ~ExManagerWindow(void);
    00071 //--------------------------------
    00072 public:
    00073         void (*GlutCallBack)();
    00074
    00075 //--------------------------------
    00076 // Methode
    00077 //--------------------------------
    00078         void CreateNewWindow(int SizeX,int SizeY,int PosX,int PosY,char *argv);
    00079         void CreateNewWindow(int SizeX,int SizeY,char *argv);
    00080         void Move(int Posx,int Posy);
    00081         void SetResolution(int SizeX,int SizeY);
    00082         inline void SetRate(int Rate){m_Rate=Rate;}
    00083         inline void SetBits(int Bits){m_Bits=Bits;}
    00084         inline void SetFullScreen(bool State){m_FullScreen=State;}
    00085         void SetWindowTitle(char *Title);
    00086         void SetIconTitle(char *Title);
    00087         void SetCursor(int Cursor);
    00088         void Apply(void);
    00089
    00090         inline int GetResolutionX(void){return m_WindowSizeX;}
    00091         inline int GetResolutionY(void){return m_WindowSizeY;}
    00092         inline int GetRate(void){return m_Rate;}
    00093         inline int GetBits(void){return m_Bits;}
    00094         inline bool GetFullScreen(void){return m_FullScreen;}
    00095
    00096
    00097         inline void SetGrilleState(bool state){m_ShowGrille=state;}
    00098         inline bool GetGrilleState(void){return m_ShowGrille;}
    00099         inline void SetFpsState(bool state){m_ShowFps=state;}
    00100         inline bool GetFpsState(void){return m_ShowFps;}
    00101
    00102         void ShowFps(void);
    00103         void ShowNetStat(void);
    00104
    00105         void Reset(void){return;}
    00106         static ExManagerWindow*  CreateSingleton(void);
    00107         ExCAction InputCommand(ExCCommand Command);
    00108         ExCAction InputAction(ExCAction Action);
    00109 //--------------------------------
    00110 // Operator
    00111 //--------------------------------
    00112 //--------------------------------
    00113 // friends
    00114 //--------------------------------
    00115 };
    00116 #endif //__EXMANAGERWINDOW_H__