Mercurial > fife-parpg
diff engine/core/controller/engine.i @ 0:4a0efb7baf70
* Datasets becomes the new trunk and retires after that :-)
author | mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Sun, 29 Jun 2008 18:44:17 +0000 |
parents | |
children | 90005975cdbb |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/engine/core/controller/engine.i Sun Jun 29 18:44:17 2008 +0000 @@ -0,0 +1,103 @@ +/*************************************************************************** + * Copyright (C) 2005-2008 by the FIFE team * + * http://www.fifengine.de * + * This file is part of FIFE. * + * * + * FIFE is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * + ***************************************************************************/ +%module fife +%{ +#include "controller/engine.h" +%} + +namespace FIFE { + + class SoundManager; + class EventManager; + class TimeManager; + class GUIManager; + class ImagePool; + class AnimationPool; + class SoundClipPool; + class RenderBackend; + class View; + class Model; + class LogManager; + class GuiFont; + class VFS; + class Cursor; + + class EngineSettings { + public: + ~EngineSettings(); + void validate() const; + void setBitsPerPixel(unsigned int bitsperpixel); + unsigned int getBitsPerPixel() const; + std::vector<unsigned int> getPossibleBitsPerPixel() const; + void setFullScreen(bool fullscreen); + bool isFullScreen() const; + void setInitialVolume(float volume); + float getInitialVolume() const; + float getMaxVolume() const; + void setRenderBackend(const std::string& renderbackend); + const std::string getRenderBackend() const; + std::vector<std::string> getPossibleRenderBackends(); + void setSDLRemoveFakeAlpha(bool sldremovefakealpha); + bool isSDLRemoveFakeAlpha(bool sldremovefakealpha) const; + void setScreenWidth(unsigned int screenwidth); + unsigned int getScreenWidth() const; + void setScreenHeight(unsigned int screenheight); + unsigned int getScreenHeight() const; + void setDefaultFontPath(const std::string& defaultfontpath); + std::string getDefaultFontPath() const; + void setDefaultFontSize(const unsigned int defaultfontsize); + unsigned int getDefaultFontSize() const; + void setDefaultFontGlyphs(const std::string& defaultfontglyphs); + std::string getDefaultFontGlyphs() const; + void setImageChunkingSize(unsigned int size); + unsigned int getImageChunkingSize(); + + private: + EngineSettings(); + }; + + class Engine { + public: + Engine(); + virtual ~Engine(); + void initializePumping(); + void finalizePumping(); + void pump(); + + EngineSettings& getSettings(); + void init(); + + SoundManager* getSoundManager(); + EventManager* getEventManager(); + TimeManager* getTimeManager(); + GUIManager* getGuiManager(); + ImagePool* getImagePool(); + AnimationPool* getAnimationPool(); + SoundClipPool* getSoundClipPool(); + RenderBackend* getRenderBackend(); + View* getView(); + Model* getModel(); + LogManager* getLogManager(); + GuiFont* getDefaultFont(); + VFS* getVFS(); + Cursor* getCursor(); + }; +}