Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

XFuVideoRecorder.h

Go to the documentation of this file.
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

   
X-Forge Documentation
Confidential
Copyright © 2002-2003 Fathammer
   
Documentation generated
with doxygen
by Dimitri van Heesch