home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / C / Libraries / stdwin / Appls / test / test5.c < prev    next >
Encoding:
C/C++ Source or Header  |  1991-05-14  |  1.3 KB  |  84 lines  |  [TEXT/????]

  1. /* Debugging test -- print events and details */
  2.  
  3. #include "stdwin.h"
  4.  
  5. void
  6. drawproc(win, l, t, r, b)
  7.     WINDOW *win;
  8. {
  9.     printf("drawproc called\n");
  10.     wdrawtext(0, 0, "Hello, world", -1);
  11. }
  12.  
  13. char *evname[] = {
  14.     "null",
  15.     "activate",
  16.     "char",
  17.     "command",
  18.     "mouse_down",
  19.     "mouse_move",
  20.     "mouse_up",
  21.     "menu",
  22.     "size",
  23.     "(move)",
  24.     "draw",
  25.     "timer",
  26.     "deactivate",
  27.     0
  28. };
  29.  
  30. char *cmname[] = {
  31.     "(null)",
  32.     "close",
  33.     "left",
  34.     "right",
  35.     "up",
  36.     "down",
  37.     "cancel",
  38.     "backspace",
  39.     "tab",
  40.     "return",
  41.     0
  42. };
  43.  
  44. main(argc, argv)
  45.     int argc;
  46.     char **argv;
  47. {
  48.     WINDOW *win;
  49.     winitargs(&argc, &argv);
  50.     win= wopen("Hello test", drawproc);
  51.     for (;;) {
  52.         EVENT e;
  53.         wgetevent(&e);
  54.         switch (e.type) {
  55.         case WE_MOUSE_DOWN:
  56.         case WE_MOUSE_MOVE:
  57.         case WE_MOUSE_UP:
  58.             printf("%s event: b=%d, h=%d, v=%d\n",
  59.                 evname[e.type], e.u.where.button,
  60.                 e.u.where.h, e.u.where.v);
  61.             break;
  62.         case WE_COMMAND:
  63.             printf("command event (%s)\n", cmname[e.u.command]);
  64.             break;
  65.         case WE_CHAR:
  66.             printf("char event ('%c', 0x%02x)\n",
  67.                 e.u.character, e.u.character & 0xff);
  68.             break;
  69.         default:
  70.             printf("%s event\n", evname[e.type]);
  71.             break;
  72.         }
  73.         if (e.type == WE_CHAR && e.u.character == 'q')
  74.             break;
  75.         if (e.type == WE_CLOSE ||
  76.             e.type == WE_COMMAND &&
  77.             (e.u.command == WC_CLOSE || e.u.command == WC_CANCEL))
  78.             break;
  79.     }
  80.     wclose(win);
  81.     wdone();
  82.     exit(0);
  83. }
  84.