home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C++ Games Programming
/
CPPGAMES.ISO
/
thx
/
include
/
perform.h
< prev
next >
Wrap
C/C++ Source or Header
|
1995-05-08
|
3KB
|
114 lines
// ------- perform.h
#ifndef PERFORM_H
#define PERFORM_H
#include <fastgraf.h>
#include "vocal.h"
#include "settings.h"
#include "debug.h"
#include "xms.h"
#include "media.h"
class Performer : public VocalHand {
static GraphicsMedia gfxlib;
int curlib;
int curfont;
void thx_show_print(int,int,char*);
void thx_show_number(int,int,int);
protected:
Performer(Director* d=0);
virtual ~Performer();
void load_gfxlib(char*);
void set_gfxlib(char*);
void show_image(int x,int y,int imageno);
void show_frame(int x,int y,int imageno);
void show_clipped_image(int x,int y,int imageno);
int get_image_width(int imageno);
int get_image_height(int imageno);
int get_num_images();
void load_gfxfont(char*);
void set_gfxfont(char*);
void show_print(int,int,char*);
void show_number(int,int,int);
int get_char_width(char);
int get_char_height(char);
};
inline void Performer::show_image(int x,int y,int imageno)
{
Assert(curlib!=-1);
Assert(imageno>0 && imageno<=Media::clipcount(curlib));
MediaClip& mc = gfxlib.getclip(curlib,imageno-1);
fg_move(x,y+mc.h-1);
fg_drwimage(mc.buf,mc.w,mc.h);
}
inline void Performer::show_frame(int x,int y,int imageno)
{
Assert(curlib!=-1);
Assert(imageno>0 && imageno<=Media::clipcount(curlib));
MediaClip& mc = gfxlib.getclip(curlib,imageno-1);
fg_move(x,y+mc.h-1);
fg_putimage(mc.buf,mc.w,mc.h);
}
inline void Performer::show_clipped_image(int x,int y,
int imageno)
{
Assert(curlib!=-1);
Assert(imageno>0 && imageno<=Media::clipcount(curlib));
MediaClip& mc = gfxlib.getclip(curlib,imageno-1);
fg_move(x,y+mc.h-1);
fg_clpimage(mc.buf,mc.w,mc.h);
}
inline int Performer::get_image_width(int imageno)
{
Assert(curlib!=-1);
MediaClip& mc = gfxlib.getclip(curlib,imageno-1);
return mc.w;
}
inline int Performer::get_image_height(int imageno)
{
Assert(curlib!=-1);
MediaClip& mc = gfxlib.getclip(curlib,imageno-1);
return mc.h;
}
inline int Performer::get_num_images()
{
Assert(curlib!=-1);
return Media::clipcount(curlib);
}
inline int Performer::get_char_width(char ch)
{
Assert(curfont!=-1);
MediaClip& mc = gfxlib.getclip(curfont,ch-48+26);
return mc.w;
}
inline int Performer::get_char_height(char ch)
{
Assert(curfont!=-1);
MediaClip& mc = gfxlib.getclip(curfont,ch-48+26);
return mc.h;
}
inline void Performer::show_print(int x,int y,char* str)
{
Assert(curfont!=-1);
thx_show_print(x,y,str);
}
inline void Performer::show_number(int x,int y,int num)
{
Assert(curfont!=-1);
thx_show_number(x,y,num);
}
#endif