home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
rtsi.com
/
2014.01.www.rtsi.com.tar
/
www.rtsi.com
/
OS9
/
MM1
/
DRIVERS
/
windio56.lzh
/
EXAMPLES
/
fonttest.c
next >
Wrap
C/C++ Source or Header
|
1995-10-25
|
1KB
|
61 lines
#include <stdio.h>
#include <types.h>
#include <MACHINE/reg.h>
#define DS_FontInfo 177
#define I_SetStt 0x8e
#define I_GetStt 0x8d
typedef struct fontinfo {
short f_gr_id,
f_bf_id,
f_sz_x,
f_sz_y,
f_cp_x,
f_cp_y,
f_attr;
} FONTINFO;
#define ISCURSOR(x) !(x & (1 << 0))
#define ISUNDLN(x) x & (1 << 1)
#define ISREV(x) x & (1 << 2)
#define ISPROP(x) x & (1 << 3)
#define ISBOLD(x) x & (1 << 4)
#define ISTRANS(x) x & (1 << 7)
_gs_fontinfo(path, fontPacket)
int path;
FONTINFO *fontPacket;
{
REGISTERS reg;
reg.d[0] = path;
reg.d[1] = DS_FontInfo;
reg.a[0] = fontPacket;
if (_osk(I_GetStt,®) == -1) {
return(-1);
}
return(0);
}
main(argc, argv)
int argc;
char **argv;
{
FONTINFO p;
_gs_fontinfo(1, &p);
printf("Group = %d, Buffer = %d\n", p.f_gr_id, p.f_bf_id);
printf("SizeX = %d, SizeY = %d\n", p.f_sz_x, p.f_sz_y);
printf("CurrX = %d, CurrY = %d\n", p.f_cp_x, p.f_cp_y);
printf("Cursor is %s\n", ISCURSOR(p.f_attr) ? "on" : "off");
printf("Underline is %s\n", ISUNDLN(p.f_attr) ? "on" : "off");
printf("Reverse is %s\n", ISREV(p.f_attr) ? "on" : "off");
printf("Proportional is %s\n", ISPROP(p.f_attr) ? "on" : "off");
printf("Bold is %s\n", ISBOLD(p.f_attr) ? "on" : "off");
printf("Transparent is %s\n", ISTRANS(p.f_attr) ? "on" : "off");
exit(0);
}