home *** CD-ROM | disk | FTP | other *** search
-
- /************************************************************************/
- /* Scroll smoothly in 100 column text screen using cursor keys */
- /* Quit on Escape key. */
- /************************************************************************/
-
- smooth_text_scroll()
- {
- #define KEY_ESC 0x011B
- #define KEY_UP 0x4800
- #define KEY_DOWN 0x5000
- #define KEY_LEFT 0x4B00
- #define KEY_RIGHT 0x4D00
- #define KEY_ENTER 0x1C0D
-
- int x = 0, y = 0, i, key;
- set_more_columns(100); /* Select 100 text column mode */
- set_cursor_position(0,0);
- for (i = 0; i < 100;i++)/* Fill newly organized text buffer */
- write_string(i, 0,
- "This is text line in the new 100 column text buffer");
- while((key = get_key()) != KEY_ENTER)
- switch (key)
- {
- case KEY_RIGHT: /* Scroll right */
- x = (x < 799) ? ++x : 799;
- smooth_scroll(x,y);
- break;
- case KEY_LEFT: /* Scroll left */
- x = ( x > 0) ? --x : 0;
- smooth_scroll(x, y);
- break;
- case KEY_UP: /* Scroll up */
- y = (y > 0) ? --y : 0;
- smooth_scroll(x, y);
- break;
- case KEY_DOWN: /* Scroll down */
- y = (y < 1399) ? ++y : 1399;
- smooth_scroll(x, y);
- break;
- default:
- break;
- }
- smooth_scroll(0,0);
- }