home *** CD-ROM | disk | FTP | other *** search
/ ftp.update.uu.se / ftp.update.uu.se.2014.03.zip / ftp.update.uu.se / pub / rainbow / cpm / emacs / emacssrc.lzh / telansi.c < prev    next >
C/C++ Source or Header  |  1992-03-11  |  1KB  |  55 lines

  1. #include "stdio.h"
  2. #include "ed.h"
  3.  
  4. #define    NROW    24            /* Screen size.            */
  5. #define    NCOL    80            /* Edit if you want to.        */
  6. #define    BEL    0x07            /* BEL character.        */
  7. #define    ESC    0x1B            /* ESC character.        */
  8. int ansiterm;
  9. char termctrl[3][10] =
  10. {    4, ESC, '=', ' ', ' ', 0,0,0,0,0,
  11.     2, ESC, 'T', 0,0, 0,0,0,0,0,
  12.     1, 26,     0,0,0, 0,0,0,0,0
  13. };
  14.     
  15. ansimove(row, col)
  16. {    register char * cp;
  17.     register int i;
  18.  
  19.     cp = &termctrl[0][0];
  20.     i = *cp++;
  21.     conout( *cp++ ); --i;
  22.     conout( *cp++ ); --i;
  23.     if ( ! ansiterm )
  24.     {    conout( row + *cp++ ); ++i;
  25.         conout( col + *cp++ ); ++i;
  26.     }
  27.     else
  28.     {    conout( ( row / 10 ) + *cp++ ); ++i;
  29.         conout( ( row % 10 ) + *cp++ ); ++i;
  30.         conout( *cp++ ); --i;
  31.         conout( ( row / 10 ) + *cp++ ); ++i;
  32.         conout( ( row % 10 ) + *cp++ ); ++i;
  33.     }
  34.     while ( --i >= 0 ) conout( *cp++ );
  35. }
  36. ansiclear()
  37. {    ctlout( 2 );
  38. }
  39. ansieeol()
  40. {    ctlout( 1 );
  41. }
  42. ctlout( x )
  43. {    register char * cp;
  44.     register int i;
  45.  
  46.     cp = &termctrl[x][0];
  47.     i = *cp++;
  48.     while ( --i >= 0 ) conout( *cp++ );
  49. }
  50.  
  51. ansibeep()
  52. {
  53.     conout( BEL );
  54. }
  55.