00001 /*! \file 00002 * X-Forge Util <br> 00003 * Copyright 2000-2003 Fathammer Ltd 00004 * 00005 * \brief Video recorder class (for desktop use) 00006 * 00007 * $Id: XFuVideoRecorder.h,v 1.3 2003/08/12 13:33:52 lars Exp $ 00008 * $Date: 2003/08/12 13:33:52 $ 00009 * $Revision: 1.3 $ 00010 */ 00011 00012 #ifndef XFUVIDEORECORDER_H_INCLUDED 00013 #define XFUVIDEORECORDER_H_INCLUDED 00014 00015 //! Utility to help creation of video files from running x-forge applications. 00016 class XFuVideoRecorder 00017 { 00018 protected: 00019 //! Hidden constructor 00020 XFuVideoRecorder(); 00021 FLOAT32 mLastTick; //!< Last tick handled 00022 FLOAT32 mTicksPerFrame; //!< Ticks each frame takes 00023 INT32 mFrame; //!< Next frame number 00024 CHAR *mPrefix; //!< Filename prefix 00025 //! Called by tick() to store a single frame. 00026 /*! May get several calls with the same frame if framerate is too low. 00027 * Defined as virtual so that it is possible to create new video store 00028 * methods. The basic implementation stores 24-bit BMP files. 00029 */ 00030 virtual void storeFrame(XFcGLSurface *aSurface); 00031 00032 public: 00033 //! Creation function. Framerates such as 24 or 15 are typically good for video. 00034 static XFuVideoRecorder * create(const CHAR *aPrefix, INT32 aDesiredFPS); 00035 //! Ticking function. Should be called once per tick after all rendering is done. 00036 void tick(XFcGLSurface *aSurface); 00037 //! Virtual destructor. 00038 virtual ~XFuVideoRecorder(); 00039 }; 00040 00041 #endif
![]() | ||||
![]() |
Confidential Copyright © 2002-2003 Fathammer | with doxygen by Dimitri van Heesch |