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-2006 Torus Knot Software Ltd 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 void setVisible(bool visible) {} 00114 00117 virtual bool isActive(void) const { return mActive && isVisible(); } 00118 00121 virtual bool isClosed(void) const = 0; 00122 00129 virtual bool isPrimary(void) const; 00130 00151 virtual void swapBuffers(bool waitForVSync = true) = 0; 00152 00154 virtual void update(void); 00169 virtual void update(bool swapBuffers); 00170 00173 virtual bool isFullScreen(void) const; 00174 00178 virtual void getMetrics(unsigned int& width, unsigned int& height, unsigned int& colourDepth, 00179 int& left, int& top); 00180 00181 protected: 00182 bool mIsFullScreen; 00183 bool mIsPrimary; 00184 int mLeft; 00185 int mTop; 00186 00190 void _setPrimary() { mIsPrimary = true; } 00191 00192 friend class Root; 00193 }; 00194 00201 typedef void (*DLL_CREATERENDERWINDOW)(RenderWindow** ppWindow); 00202 00203 } // Namespace 00204 #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 25 13:03:16 2007