annotate trunk/src/Modules/Output/Graphics/Devices/GraphicsOutputDeviceMovie.h @ 397:7a573750b186

- First add of a lot of graphics code from the old version. Not working yet, not even compiling yet.
author tomwalters
date Fri, 15 Oct 2010 05:40:53 +0000
parents
children 3ee03a6b95a0
rev   line source
tomwalters@397 1 // Copyright 2006-2010, Willem van Engen, Thomas Walters
tomwalters@397 2 //
tomwalters@397 3 // AIM-C: A C++ implementation of the Auditory Image Model
tomwalters@397 4 // http://www.acousticscale.org/AIMC
tomwalters@397 5 //
tomwalters@397 6 // Licensed under the Apache License, Version 2.0 (the "License");
tomwalters@397 7 // you may not use this file except in compliance with the License.
tomwalters@397 8 // You may obtain a copy of the License at
tomwalters@397 9 //
tomwalters@397 10 // http://www.apache.org/licenses/LICENSE-2.0
tomwalters@397 11 //
tomwalters@397 12 // Unless required by applicable law or agreed to in writing, software
tomwalters@397 13 // distributed under the License is distributed on an "AS IS" BASIS,
tomwalters@397 14 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
tomwalters@397 15 // See the License for the specific language governing permissions and
tomwalters@397 16 // limitations under the License.
tomwalters@397 17
tomwalters@397 18 /*!
tomwalters@397 19 * \file
tomwalters@397 20 * \brief Output device for output to a movie
tomwalters@397 21 *
tomwalters@397 22 * \author Willem van Engen <cnbh@willem.engen.nl>
tomwalters@397 23 * \date created 2006/10/16
tomwalters@397 24 * \version \$Id: $
tomwalters@397 25 */
tomwalters@397 26
tomwalters@397 27 #ifndef __GRAPHICS_OUTPUT_DEVICE_MOVIE_H__
tomwalters@397 28 #define __GRAPHICS_OUTPUT_DEVICE_MOVIE_H__
tomwalters@397 29
tomwalters@397 30 #include "Support/util.h"
tomwalters@397 31 //#include "Modules/Output/Graphics/Devices/GraphicsOutputDevicePlotutils.h"
tomwalters@397 32 #include "Modules/Output/Graphics/Devices/GraphicsOutputDeviceCairo.h"
tomwalters@397 33
tomwalters@397 34 /*!
tomwalters@397 35 * \class GraphicsOutputDeviceMovie "Output/GraphicsOutputDeviceMovie.h"
tomwalters@397 36 * \brief Output class for output to a movie
tomwalters@397 37 */
tomwalters@397 38 // GraphicsOutputDevicePlotutils is also possible here
tomwalters@397 39 class GraphicsOutputDeviceMovie : public GraphicsOutputDeviceCairo {
tomwalters@397 40 public:
tomwalters@397 41 GraphicsOutputDeviceMovie(AimParameters *pParam);
tomwalters@397 42 virtual ~GraphicsOutputDeviceMovie() { };
tomwalters@397 43
tomwalters@397 44 /*! \brief Initializes this output device, prepares plotting tools.
tomwalters@397 45 * \param sSoundFile Sound file for the movie
tomwalters@397 46 * \param sMovieFile Movie filename to produce
tomwalters@397 47 * \return true on success, false on failure.
tomwalters@397 48 *
tomwalters@397 49 * As usual, make sure to call this function before any other. If this
tomwalters@397 50 * Initialize() failed, you shouldn't try the other functions either.
tomwalters@397 51 */
tomwalters@397 52 bool Initialize(const char *sSoundFile, const char *sMovieFile);
tomwalters@397 53
tomwalters@397 54 void Start();
tomwalters@397 55 //! \brief This function now also generates the output movie.
tomwalters@397 56 void Stop();
tomwalters@397 57
tomwalters@397 58 protected:
tomwalters@397 59 /*! \brief Plots a summary of relevant parameters on the output
tomwalters@397 60 *
tomwalters@397 61 * This is intended for use in a movie as the first frame, which has no
tomwalters@397 62 * interesting data anyway, since at least one buffer of data is needed
tomwalters@397 63 * to be able to show someting.
tomwalters@397 64 *
tomwalters@397 65 * The caller must do the gGrab() and gRelease().
tomwalters@397 66 */
tomwalters@397 67 void PlotParameterScreen();
tomwalters@397 68
tomwalters@397 69 //! \brief Name of the sound file to be merged with the video
tomwalters@397 70 char m_sSoundFile[PATH_MAX];
tomwalters@397 71 //! \brief Name of the movie file to produce
tomwalters@397 72 char m_sMovieFile[PATH_MAX];
tomwalters@397 73 };
tomwalters@397 74
tomwalters@397 75 #endif /* __GRAPHICS_OUTPUT_DEVICE_MOVIE_H__ */