home *** CD-ROM | disk | FTP | other *** search
/ MegaDoom Adventures / PMWMEGADOOM.iso / doom / creators / deu52gcc / src / contrib / bcc2grx / test / ttext.c < prev   
C/C++ Source or Header  |  1993-07-24  |  3KB  |  90 lines

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #ifdef __GNUC__
  4. #  include <libbcc.h>
  5. #  include <pc.h>
  6. #  define getch() getkey()
  7. #else
  8. #  include <graphics.h>
  9. #  include <conio.h>
  10. #endif
  11.  
  12. void play_font(char *name, char *file, int *x, int *y)
  13. {
  14.   int font;
  15.  
  16.   if (*file != '\0')
  17.     font = installuserfont(file);
  18.   else {
  19.     font = DEFAULT_FONT;
  20.     file = "DEFAULT_FONT";
  21.   }
  22.   if (font >= 0) {
  23.     settextstyle(font, HORIZ_DIR, 1);
  24.     outtextxy( *x, *y, file);
  25.     outtextxy( *x+textwidth(file), *y, ": ");
  26.     outtextxy( *x+textwidth(file)+textwidth(": "), *y, name);
  27.   } else {
  28.     settextstyle(DEFAULT_FONT, HORIZ_DIR, 1);
  29.     outtextxy( *x, *y, "Couldn't install ");
  30.     outtextxy( *x+textwidth("Couldn't install "), *y, file);
  31.   }
  32.   *y += textheight( "M");
  33. }
  34.  
  35. void main(void)
  36. {
  37.   int gd, gm, x, y;
  38.   int err;
  39.   char ch[2];
  40.  
  41.   gd = DETECT;
  42.   initgraph(&gd,&gm,"c:\\bc\\bgi");
  43.   err = graphresult();
  44.   if (err != grOk) {
  45.     fprintf(stderr, "Couldn't initialize graphics\n");
  46.     exit(1);
  47.   }
  48.   setviewport( 50, 100, 150, 200, 1);
  49.   rectangle( 0, 0, 100, 100);
  50.   outtextxy( -20, 20, "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
  51.   outtextxy( -15, 40, "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
  52.   outtextxy( -10, 60, "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
  53.   outtextxy( -05, 80, "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
  54.   setviewport( getmaxx()-150, 100, getmaxx()-50, 200, 1);
  55.   settextstyle(DEFAULT_FONT, VERT_DIR, 1);
  56.   rectangle( 0, 0, 100, 100);
  57.   outtextxy(  5, -5, "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
  58.   outtextxy( 15,  5, "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
  59.   outtextxy( 95, -5, "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
  60.   outtextxy(105,  5, "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
  61.   x = 50; y = 105;
  62.   ch[0] = 'A'; ch[1] = '\0';
  63.   while (y > 0) {
  64.     outtextxy(x,y,ch);
  65.     y -= textwidth(ch);
  66.     ++ch[0];
  67.   }
  68.   settextstyle(DEFAULT_FONT, HORIZ_DIR, 1);
  69.   setviewport( 0, 0, getmaxx(), getmaxy(), 1);
  70. #ifdef __TURBOC__
  71.   outtextxy( 10, 10, "Turbo-C cuts text");
  72. #else
  73.   outtextxy( 10, 10, "BCC2GRX clips text");
  74. #endif
  75. #ifdef __GNUC__
  76.   setviewport( 100, 250, getmaxx()-100, getmaxy(), 1);
  77.   rectangle( 0, 0, getmaxx()-200, getmaxy()-250);
  78.   x = 5; y = 5;
  79.   play_font( "8x8 bit mapped characters",       "",             &x, &y);
  80.   play_font( "8x14 bit mapped characters",      "@:pc8x14.fnt", &x, &y);
  81.   play_font( "8x14 bit mapped characters thin", "pc8x14t.fnt",  &x, &y);
  82.   play_font( "8x16 bit mapped characters",      "@:pc8x16.fnt", &x, &y);
  83.   play_font( "courier 16 pixel high",           "cour16.fnt",   &x, &y);
  84.   play_font( "helvetica 17 pixel high italic",  "helv17i.fnt",  &x, &y);
  85.   play_font( "helvetica 29 pixel bold italic",  "helv29bi.fnt", &x, &y);
  86. #endif
  87.   getch();
  88.   closegraph();
  89. }
  90.