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 >
C/C++ Source or Header  |  1995-10-25  |  1KB  |  61 lines

  1. #include <stdio.h>
  2. #include <types.h>
  3. #include <MACHINE/reg.h>
  4.  
  5. #define    DS_FontInfo    177
  6. #define I_SetStt     0x8e
  7. #define I_GetStt     0x8d
  8.  
  9. typedef struct fontinfo {
  10.     short    f_gr_id,
  11.             f_bf_id,
  12.             f_sz_x,
  13.             f_sz_y,
  14.             f_cp_x,
  15.             f_cp_y,
  16.             f_attr;
  17. } FONTINFO;
  18.  
  19. #define    ISCURSOR(x)    !(x & (1 << 0))
  20. #define    ISUNDLN(x)    x & (1 << 1)
  21. #define    ISREV(x)    x & (1 << 2)
  22. #define    ISPROP(x)    x & (1 << 3)
  23. #define    ISBOLD(x)    x & (1 << 4)
  24. #define    ISTRANS(x)    x & (1 << 7)
  25.  
  26. _gs_fontinfo(path, fontPacket)
  27. int path;
  28. FONTINFO *fontPacket;
  29. {
  30.     REGISTERS reg;
  31.  
  32.     reg.d[0] = path;
  33.     reg.d[1] = DS_FontInfo;
  34.     reg.a[0] = fontPacket;
  35.     if (_osk(I_GetStt,®) == -1) {
  36.         return(-1);
  37.     }
  38.     return(0);
  39. }
  40.  
  41.  
  42. main(argc, argv)
  43. int argc;
  44. char **argv;
  45. {
  46.     FONTINFO p;
  47.  
  48.     _gs_fontinfo(1, &p);
  49.  
  50.     printf("Group = %d, Buffer = %d\n", p.f_gr_id, p.f_bf_id);
  51.     printf("SizeX = %d, SizeY  = %d\n", p.f_sz_x, p.f_sz_y);
  52.     printf("CurrX = %d, CurrY  = %d\n", p.f_cp_x, p.f_cp_y);
  53.     printf("Cursor is %s\n", ISCURSOR(p.f_attr) ? "on" : "off");
  54.     printf("Underline is %s\n", ISUNDLN(p.f_attr) ? "on" : "off");
  55.     printf("Reverse is %s\n", ISREV(p.f_attr) ? "on" : "off");
  56.     printf("Proportional is %s\n", ISPROP(p.f_attr) ? "on" : "off");
  57.     printf("Bold is %s\n", ISBOLD(p.f_attr) ? "on" : "off");
  58.     printf("Transparent is %s\n", ISTRANS(p.f_attr) ? "on" : "off");
  59.     exit(0);
  60. }
  61.