XFuVideoRecorder.h Source File

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