00001 /* 00002 ----------------------------------------------------------------------------- 00003 This source file is part of OGRE 00004 (Object-oriented Graphics Rendering Engine) 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 program is free software; you can redistribute it and/or modify it under 00011 the terms of the GNU Lesser General Public License as published by the Free Software 00012 Foundation; either version 2 of the License, or (at your option) any later 00013 version. 00014 00015 This program is distributed in the hope that it will be useful, but WITHOUT 00016 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00017 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. 00018 00019 You should have received a copy of the GNU Lesser General Public License along with 00020 this program; if not, write to the Free Software Foundation, Inc., 59 Temple 00021 Place - Suite 330, Boston, MA 02111-1307, USA, or go to 00022 http://www.gnu.org/copyleft/lesser.txt. 00023 00024 You may alternatively use this source under the terms of a specific version of 00025 the OGRE Unrestricted License provided you have obtained such a license from 00026 Torus Knot Software Ltd. 00027 ----------------------------------------------------------------------------- 00028 */ 00029 #ifndef __FrameListener_H__ 00030 #define __FrameListener_H__ 00031 00032 00033 #include "OgrePrerequisites.h" 00034 00035 namespace Ogre { 00036 00039 struct FrameEvent 00040 { 00048 Real timeSinceLastEvent; 00055 Real timeSinceLastFrame; 00056 }; 00057 00058 00077 class _OgreExport FrameListener 00078 { 00079 /* 00080 Note that this could have been an abstract class, but I made 00081 the explicit choice not to do this, because I wanted to give 00082 people the option of only implementing the methods they wanted, 00083 rather than having to create 'do nothing' implementations for 00084 those they weren't interested in. As such this class follows 00085 the 'Adapter' classes in Java rather than pure interfaces. 00086 */ 00087 public: 00095 virtual bool frameStarted(const FrameEvent& evt) { return true; } 00096 00113 virtual bool frameRenderingQueued(const FrameEvent& evt) { return true; } 00122 virtual bool frameEnded(const FrameEvent& evt) { return true; } 00123 00124 virtual ~FrameListener() {} 00125 00126 }; 00127 } 00128 00129 #endif
Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Sep 27 22:02:23 2009