Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

avicapture.h

Go to the documentation of this file.
00001 // avicapture.h
00002 //
00003 // Copyright (C) 2001, Chris Laurel <claurel@shatters.net>
00004 //
00005 // This program is free software; you can redistribute it and/or
00006 // modify it under the terms of the GNU General Public License
00007 // as published by the Free Software Foundation; either version 2
00008 // of the License, or (at your option) any later version.
00009 
00010 #ifndef _AVICAPTURE_H_
00011 #define _AVICAPTURE_H_
00012 
00013 #include <windowsx.h>
00014 #include <vfw.h>
00015 #include "moviecapture.h"
00016 
00017 
00018 class AVICapture : public MovieCapture
00019 {
00020  public:
00021     AVICapture();
00022     virtual ~AVICapture();
00023 
00024     bool start(const std::string& filename, int w, int h, float fps);
00025     bool end();
00026     bool captureFrame();
00027 
00028     int getWidth() const;
00029     int getHeight() const;
00030     float getFrameRate() const;
00031     int getFrameCount() const;
00032 
00033  private:
00034     void cleanup();
00035 
00036  private:
00037     int width;
00038     int height;
00039     float frameRate;
00040     int frameCounter;
00041     bool capturing;
00042     PAVIFILE aviFile;
00043     PAVISTREAM aviStream;
00044     PAVISTREAM compAviStream;
00045     unsigned char* image;
00046 };
00047 
00048 #endif // _AVICAPTURE_H_

Generated on Sat Jan 14 22:30:29 2006 for Celestia by  doxygen 1.4.1