home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C++ Games Programming
/
CPPGAMES.ISO
/
thx
/
include
/
media.h
< prev
next >
Wrap
C/C++ Source or Header
|
1995-05-08
|
1KB
|
66 lines
// --------- media.h
#ifndef MEDIA_H
#define MEDIA_H
#include "xms.h"
#include "settings.h"
// ------- media clip (sound or graphic)
struct MediaClip {
short int w, h;
long size;
char *buf;
long xoffset;
MediaClip();
~MediaClip()
{ delete buf; }
};
// ---- media library of sound or graphic clips
struct MediaLib {
char name[13];
short int clipcount;
MediaClip* clip;
short int xms_handle;
MediaLib();
~MediaLib();
};
class Media {
static short int use_xms;
short int bufsize;
char *buffer;
protected:
static MediaLib libraries[MAXFXLIBS];
static short int libcount;
Media();
~Media();
public:
static void set_xms(int mode)
{ use_xms = mode; }
void load_library(char *libfile);
MediaClip& getclip(int lib, int clp);
static short int library_number(char *fname);
static short int clipcount(int libno)
{ return libraries[libno].clipcount; }
virtual int hasdimensions() = 0;
};
class GraphicsMedia : public Media {
public:
GraphicsMedia() { }
virtual int hasdimensions()
{ return 1; }
};
class SoundMedia : public Media {
public:
SoundMedia() { }
virtual int hasdimensions()
{ return 0; }
};
#endif