home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Hack-Phreak Scene Programs
/
cleanhpvac.zip
/
cleanhpvac
/
FNTPAK32.ZIP
/
C.EXE
/
FONT_PAK.H
< prev
next >
Wrap
Text File
|
1995-08-16
|
5KB
|
170 lines
/*********************************************************** Font_Pak.H
C prototypes for Font Pak functions.
All functions are FAR calls. All function names are UPPER case.
And all ASSEMBLER functions use the PASCAL calling convention (you
only need to declare them properly, then call them as usual).
** Functions in the language-specific ONDISK_?.Obj module
(written in C) are called using the C calling convention.
Except for one case, pass ALL parameters by VALUE. The exception
is rsButtonPressed. Pass Row and Column by reference so we can
update and return them to you.
************************************************************************/
/*
Prototype for declaring OBJ fonts you've created with Font2Asm.
void extern pascal far [calling name] (int Block); replace [calling name]
*/
/*=========================== Video-related functions: Video.Obj */
/*
Determine type of monitor in use. Returns : : :
0 = None (no monitor) 1 = Monochrome
3 = Color (CGA) 4 = EGA (or MultiSync)
7 = VGA Monochrome 8 = VGA Color (or MultiSync)
*/
int extern pascal far GETMONITOR(void);
/*
Needed only for shareware versions
*/
void extern pascal far FPINITIALIZE (void);
/*
Select brite backgrounds -or- blinking.
*/
void extern pascal far BRIGHTBG (int OnOff);
/*
Switch color palettes to achieve bright backgrounds, preserve blinking colors.
*/
void extern pascal far DEFAULTPALETTE (int Which);
/*
Select dark blue background, preserve blinking -- a subset of DefaultPalette.
NOTE: In Microsoft C you may get GREY instead of Dark Blue.
*/
void extern pascal far DARKBLUE(void);
/*
Set the maximum # of lines on the screen -- based on the size
of the font you're loading.
*/
int extern pascal far SETMAXLINES(int FontHeight);
/*
If you change # of lines beyond the normal 25, 43 or 50, your compiler
may protest if you try to print to or "locate" beyond 25/43/50. The
next 2 routines can help overcome these limitations.
*/
void extern pascal far WRITECHAR (int Row, int Col, int AscCode, int Colr);
void extern pascal far SETCURSORPOS (int Row, int Col);
/*====================== Text-mode Font-related functions: Fonts.Obj */
/*
Select 1 or 2 blocks to turn on font(s) you loaded into these blocks.
*/
void extern pascal far RSWHICHFONTS (int Block1, int Block2);
/*
Pre-load font blocks, or restore default font.
*/
void extern pascal far RSLOADDEFAULT (int FontSize, int Block);
/*
Called by ONDISK... routines, help load font from disk, or a transformed one.
*/
void extern pascal far RSLOADFONT (int FontSeg, int FontAddr, int block, int NumChars, int FontHeight, int FirstChr);
/*
To load fonts from disk. Found in Ondisk_?.C. Calls RSLOADFONT.
*/
int extern LOADFONTFILE (char *Fontfile, int Block);
/*============================== Mouse-related functions: Mouse.Obj */
/*
Initialze the mouse and see if there is one.
*/
int extern pascal far RSTHEREISAMOUSE(void);
/*
Hide or display mouse cursor.
*/
void extern pascal far RSSHOWCURSOR(void);
void extern pascal far RSHIDECURSOR(void);
/*
rsButtonPressed returns which mouse button was pressed, and if so, where.
- NOTE that Row and Column MUST be passed by reference so we can update them.
- GFXorText: Pass 0 to get text mode Row/Col,
or -1 to get graphics mode pixel coordinates
- returns which button was pressed: 0 (none) 1 (left) 2(right)
3 (both) 4 (middle)
*/
int extern pascal far RSBUTTONPRESSED (int *MouseRow, int *MouseCol, int GFXorText);
/*===================== Text-mode mouse shape functions: LdCursor.Obj */
/*
To select the ASCII char to be used as mouse cursor shape.
Also select the colors of mouse cursor.
*/
void extern pascal far RSSETTEXTCURSOR (int ForeGround, int BackGround, int AsciiChar);
void extern pascal far RSSETTEXTCURSORC (int AsciiChar);
/*
To select a mouse cursor shape from our custom library of shapes: 8x16 or 8x8
*/
void extern pascal far RSLOADMOUSECURSOR (int Block, int WhichShape, int ASCIICode);
void extern pascal far RSLOADMOUSE8 (int Block, int WhichShape, int ASCIICode);
/*
Determine how many 16- and 8-point mouse shapes are in our libraries
*/
int extern pascal far NUM16SHAPES(void);
int extern pascal far NUM8SHAPES(void);
/*=================================== GRAPHICS-mode mouse shape procedures
To select a GRAPHICS-MODE mouse cursor shape from a library of shapes.
*/
void extern pascal far RSLOADGFXCURSOR (int WhichShape, int HotSpotX, int HotSpotY);
int extern pascal far NUMGFXSHAPES (void);
/*====================================== TEXT-mode Symbol/Icon procedures
To select the 1- or 2-byte symbols or icons. Also see rsLoadMouseCursor
which contains other 1-byte shapes which may be used as symbols/icons.
*/
void extern pascal far RSLOADSYMBOL (int Block, int WhichShape, int ASCIICode);
int extern pascal far NUM16SYMBOLS (void);
/*================ Graphics-mode Font-related functions: GFX_FONT.Obj */
/*
In EGA/VGA graphics modes ONLY, select the 8-, 14- or 16-point font
or restore the default font.
*/
void extern pascal far GFXFont08(void);
void extern pascal far GFXFont14(void);
void extern pascal far GFXFont15(void);