home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / snip9707.zip / SCRINTRP.HPP < prev    next >
C/C++ Source or Header  |  1997-07-05  |  950b  |  40 lines

  1. // +++Date last modified: 05-Jul-1997
  2.  
  3. // Base class for screen interpreter classes
  4. // public domain
  5. // by David Nugent <davidn@unique.blaze.net.au>
  6. // 3:632/348@fidonet
  7.  
  8. #if !defined(_scrinterp_h)
  9. #define _scrinterp_h
  10. #include "video.hpp"
  11.  
  12. class istream;
  13.  
  14. class scrinterp
  15. {
  16.   public:
  17.     scrinterp(video & v);
  18.     virtual ~scrinterp();
  19.  
  20.     void display(istream & is);
  21.     virtual void putch(int ch);
  22.     virtual void reset();
  23.     virtual void flushbuf();// Output accumulated buffer
  24.  
  25.     void flusheverychar(char state =1)    { flushevery = state; }
  26.  
  27.   protected:
  28.     static const int CBUFSZ;
  29.     video & vs;             // Video i/o device
  30.     char * chrbuf;          // Output buffer
  31.     char chridx;            // Length of data in output buffer
  32.     char flushevery;        // Flush after every chr
  33.     char insertmode;        // Insert mode
  34.  
  35.     void putbuf(int ch);    // Put chr into buffer
  36. };
  37.  
  38. #endif
  39.  
  40.