00001 /*------------------------------------------------------------------------- 00002 This source file is a part of OGRE 00003 (Object-oriented Graphics Rendering Engine) 00004 00005 For the latest info, see http://www.ogre3d.org/ 00006 00007 Copyright (c) 2000-2005 The OGRE Team 00008 Also see acknowledgements in Readme.html 00009 00010 This library is free software; you can redistribute it and/or modify it 00011 under the terms of the GNU Lesser General Public License (LGPL) as 00012 published by the Free Software Foundation; either version 2.1 of the 00013 License, or (at your option) any later version. 00014 00015 This library is distributed in the hope that it will be useful, but 00016 WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 00017 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 00018 License for more details. 00019 00020 You should have received a copy of the GNU Lesser General Public License 00021 along with this library; if not, write to the Free Software Foundation, 00022 Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA or go to 00023 http://www.gnu.org/copyleft/lesser.txt 00024 -------------------------------------------------------------------------*/ 00025 #ifndef __RenderWindow_H__ 00026 #define __RenderWindow_H__ 00027 00028 #include "OgrePrerequisites.h" 00029 00030 #include "OgreRenderTarget.h" 00031 00032 namespace Ogre 00033 { 00055 class _OgreExport RenderWindow : public RenderTarget 00056 { 00057 00058 public: 00061 RenderWindow(); 00062 00086 virtual void create(const String& name, unsigned int width, unsigned int height, 00087 bool fullScreen, const NameValuePairList *miscParams) = 0; 00088 00091 virtual void destroy(void) = 0; 00092 00095 virtual void resize(unsigned int width, unsigned int height) = 0; 00096 00101 virtual void windowMovedOrResized() {} 00102 00105 virtual void reposition(int left, int top) = 0; 00106 00109 virtual bool isVisible(void) const { return true; } 00110 00113 virtual bool isActive(void) const { return mActive && isVisible(); } 00114 00117 virtual bool isClosed(void) const = 0; 00118 00125 virtual bool isPrimary(void) const; 00126 00147 virtual void swapBuffers(bool waitForVSync = true) = 0; 00148 00150 virtual void update(void); 00165 virtual void update(bool swapBuffers); 00166 00169 virtual bool isFullScreen(void) const; 00170 00174 virtual void getMetrics(unsigned int& width, unsigned int& height, unsigned int& colourDepth, 00175 int& left, int& top); 00176 00177 protected: 00178 bool mIsFullScreen; 00179 bool mIsPrimary; 00180 int mLeft; 00181 int mTop; 00182 00186 void _setPrimary() { mIsPrimary = true; } 00187 00188 friend class Root; 00189 }; 00190 00197 typedef void (*DLL_CREATERENDERWINDOW)(RenderWindow** ppWindow); 00198 00199 } // Namespace 00200 #endif
Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Mar 12 14:37:48 2006