MercuryScreenManager.h

Go to the documentation of this file.
00001 #ifndef MERCURYSCREENMANAGER_H
00002 #define MERCURYSCREENMANAGER_H
00003 
00004 #include <vector>
00005 #include "MercuryString.h"
00006 #include "MercuryScreen.h"
00007 
00009 class MercuryScreenManager
00010 {
00011 public:
00012     MercuryScreenManager();
00013     ~MercuryScreenManager();
00014     void Update(const float dTime);
00015     void AddScreen(MercuryScreen* screen);
00016     void AddScreen(MString name);
00017     void RemoveScreen(MercuryScreen* screen, bool delScreen = false);
00018     void RemoveScreen(MString name, bool delScreen = true);
00019     void SetPrimaryScreen( MString name );
00020 
00021     MercuryScreen* GetCurrentScreen() { return m_current; }
00022 private:
00023     MercuryScreen* m_primary;
00024     MDeque<MercuryScreen*> m_screens;
00025     MercuryScreen* m_current;
00026 };
00027 
00028 extern MercuryScreenManager* SCREENMAN;
00029 
00030 #endif
00031 
00032 /* 
00033  * Copyright (c) 2005-2006, Joshua Allen
00034  * All rights reserved.
00035  *
00036  * Redistribution and use in source and binary forms, with or
00037  * without modification, are permitted provided that the following
00038  * conditions are met:
00039  *  -   Redistributions of source code must retain the above
00040  *      copyright notice, this list of conditions and the following disclaimer.
00041  *  -   Redistributions in binary form must reproduce the above copyright
00042  *      notice, this list of conditions and the following disclaimer in
00043  *      the documentation and/or other materials provided with the distribution.
00044  *  -   Neither the name of the Mercury Engine nor the names of its
00045  *      contributors may be used to endorse or promote products derived from
00046  *      this software without specific prior written permission.
00047  *
00048  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00049  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00050  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00051  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
00052  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
00053  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
00054  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
00055  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
00056  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
00057  * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00058  */

Hosted by SourceForge.net Logo