//---------------------------------------------------------------------------

#include "com_def.h"


/*---For GetEgtFont()---*/
typedef struct {
    short   GlyphOriginX;
    short   GlyphOriginY;
    short   BlackBoxX;
    short   BlackBoxY;
    short   ReferOriginX;
    short   ReferOriginY;
    short   CellIncX;
    short   CellIncY;
} CHARMET;

/*---For GetEgtFont()---*/
typedef struct  {
    short   Height;
    short   Ascent;
    short   Descent;
    short   InternalLeading;
    short   ExternalLeading;
    short   AveCharWidth;
    short   MaxCharWidth;
    short   Weight;
    short   FirstChar;
    short   LastChar;
    short   DefaultChar;
    short   BreakChar;
    short   Italic;
    short   Underlined;
    short   StruckOut;
    short   PitchAndFamily;
    short   CharSet;
    short   MaxBoundingBox[4];
} FONTMET;

typedef struct  {
    short   type;
    short   dirc;
    short   extX;
    short   extY;
    short   sltX;
    short   sltY;
}   ATTR3D;

typedef struct {
    short M11;
    short M12;
    short M21;
    short M22;
    short   TX;
    short   TY;
}   TRANSMAT;

typedef struct {
    unsigned short  LineMode;
    short   y;
    short   xl;
    short   xr;
}   RASTERLINEout;

extern "C" void    EgtSetGray(short);
extern "C" long    EgtRst(long, void **);
extern "C" long    EgtSetSiz(long, long);
extern "C" long    EgtSetIdt(short);
extern "C" long    EgtGetOtlBmp(short, char *, short, short, short);
extern "C" long    EgtGetFntBmp(short, char *, short);
extern "C" void    EgtGetSiz(short **);
extern "C" void    EgtSetWrk(void *, long);
extern "C" short   EgtSetOutput(ATTR3D *attrib);
extern "C" short   EgtSetMtx(long, TRANSMAT *);
extern "C" long    EgtGetFnt(unsigned short, long **, long **, long);
extern "C" long    EgtGetNxt(long **, long **);
extern "C" long    EgtSetClp(long, long, long, long);
extern "C" short   EgtSetDir(short DIR);
extern "C" void    EgtSetWgt(short *);

extern "C" short   EgtGetCharInfo(CHARMET *);
extern "C" short   EgtGetFontMetrics(FONTMET *);
extern "C" short   EgtGetCharReferencePnt(short, CHARMET *);
