home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / Samples / C-ASM_VI.ARJ / PROGC.ZIP / PROGC010.C < prev    next >
Text File  |  1988-04-10  |  1KB  |  36 lines

  1.  
  2. /************************************************************************/
  3. /* Scroll in a loop by one pixel at a time                              */
  4. /* Scroll using arrow keys and quit if Escape is pressed                */
  5. /************************************************************************/
  6.  
  7. smooth_horizontal()
  8.         {
  9.         #define KEY_ESC         0x011B
  10.         #define KEY_UP          0x4800
  11.         #define KEY_DOWN        0x5000
  12.         #define KEY_LEFT        0x4B00
  13.         #define KEY_RIGHT       0x4D00
  14.         #define KEY_ENTER       0x1C0D
  15.  
  16.         int     x = 0, i, key;
  17.         set_more_columns(100); /* Select 100 text column mode          */
  18.         for (i = 0; i < 25;i++) /* Fill newly organized text buffer     */
  19.                 printf("\nThis is text line %2d in the new text buffer",i);
  20.         while((key = get_key()) != KEY_ENTER)
  21.                 switch (key)
  22.                     {
  23.                     case KEY_RIGHT:
  24.                         x = (++x) > 799 ? 799 : x;
  25.                         horizontal_scroll(x);           /* Scroll right */
  26.                         break;
  27.                     case KEY_LEFT:
  28.                         x = (--x) < 0 ? 0 : x;
  29.                         horizontal_scroll(x);           /* Scroll left  */
  30.                         break;
  31.                     default:
  32.                         break;
  33.                     }
  34.         horizontal_scroll(0);
  35.         }
  36.