Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

UserInterface.h

Go to the documentation of this file.
00001 
00002 /*
00003     TEDDY - General graphics application library
00004     Copyright (C) 1999, 2000, 2001  Timo Suoranta
00005     tksuoran@cc.helsinki.fi
00006 
00007     This library is free software; you can redistribute it and/or
00008     modify it under the terms of the GNU Lesser General Public
00009     License as published by the Free Software Foundation; either
00010     version 2.1 of the License, or (at your option) any later version.
00011 
00012     This library is distributed in the hope that it will be useful,
00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015     Lesser General Public License for more details.
00016 
00017     You should have received a copy of the GNU Lesser General Public
00018     License along with this library; if not, write to the Free Software
00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00020 
00021     $Id: UserInterface.h,v 1.1 2002/01/08 20:47:05 tksuoran Exp $
00022 */
00023 
00024 
00025 #ifndef TEDDY__SPACE_GAME__USER_INTERFACE_H
00026 #define TEDDY__SPACE_GAME__USER_INTERFACE_H
00027 
00028 
00029 //  Forward declarations
00030 namespace Teddy {
00031     namespace Graphics           { class View;          };
00032     namespace PhysicalComponents { class Console;       };
00033     namespace PhysicalComponents { class Layer;         };
00034     namespace PhysicalComponents { class Projection;    };
00035     namespace PhysicalComponents { class WindowManager; };
00036 };
00037 using namespace Teddy::Graphics;
00038 using namespace Teddy::PhysicalComponents;
00039 
00040 
00041 namespace Teddy     {
00042 namespace SpaceGame {
00043 
00044 
00045 class Root;
00046 class FrontCamera;
00047 class Hud;
00048 class Scanner;
00049 class Sight;
00050 class SimpleText;
00051 
00052 
00057 class UserInterface {
00058 public:
00059     UserInterface( Root *root );
00060 
00061     void        addComponents      ();
00062     void        enterRunLoop       ();
00063     View       *getView            ();
00064     Console    *getConsole         ();
00065     Scanner    *getScanner         ();
00066     Projection *getActiveProjection();
00067     void        toggleCamera       ();
00068 
00069 protected:
00070     Root          *root;            
00071     View          *view;            
00072     WindowManager *window_manager;  
00073     Console       *console;         
00074     Layer         *layer;           
00075     FrontCamera   *front_camera;    
00076     FrontCamera   *front_camera2;   
00077     Sight         *sight;           
00078     Hud           *hud;             
00079     Scanner       *scanner;         
00080     unsigned long  flags;
00081 };
00082 
00083 
00084 };  //  namespace SpaceGame
00085 };  //  namespace Teddy
00086 
00087 
00088 #endif  //  TEDDY__SPACE_GAME__USER_INTERFACE_H
00089