Files

44 lines
936 B
C++
Raw Permalink Normal View History

#pragma once
#include <amstream.h> // DirectShow multimedia stream interfaces
#include <ddstream.h> // DirectDraw multimedia stream interfaces
#include <mmstream.h> // multimedia stream interfaces
2019-01-18 17:03:37 +01:00
class gxGraphics;
class gxCanvas;
2019-01-18 17:03:37 +01:00
class gxMovie {
public:
gxMovie(gxGraphics* gfx, IMultiMediaStream* mm_stream);
~gxMovie();
private:
bool playing;
RECT src_rect;
gxGraphics* gfx;
gxCanvas* canvas;
IDirectDrawSurface* dd_surf;
IMediaStream* vid_stream;
IDirectDrawMediaStream* dd_stream;
IDirectDrawStreamSample* dd_sample;
IMultiMediaStream* mm_stream;
/***** GX INTERFACE *****/
public:
bool draw(gxCanvas* dest, int x, int y, int w, int h);
inline bool isPlaying() const
2019-01-18 17:03:37 +01:00
{
return playing;
}
inline int getWidth() const
2019-01-18 17:03:37 +01:00
{
return src_rect.right;
}
inline int getHeight() const
2019-01-18 17:03:37 +01:00
{
return src_rect.bottom;
}
};