CompuServe Messages

#comm/vt100/printscreen

#: 133215 S4/TelecommunicationsForum unknown
    04-Jul-88 17:15:06
Fm: Don Curtis/SYSOP 76703,4321
To: John Draper 76703,4322

This message turned up in search, but its forum couldn’t be identified from the original transcript, so it may not be linked into its thread.

Larry, A circular buffer wouldn't tell you which window was on top at the time you asked for the dump, it would only show what characters (and position sequences) had recently been placed on the screen. With a circular buffer, a background task writing to a window that was 'backed', could concievably wrap the buffer so only it's text was in the buffer. Now I realize that you could have some intelligence in your custom code to only print to the circular buffer IF the window was on top…but then you eliminate the ability of bringing a backed window to front and then doing a dump since the text wouldn't have been captured in the first place. I also see problems in the print algroithm, what if you had just issued a clear screen and then had 1 line of text printed. Your print algorithm would have to go backwards thru the circular buffer and fill out it's text dump as you went to properly re-construct the screen. To me, it would be much easier to have an 80×24 (or whatever) array and all calls to text() would also 'print' in this array. A call to print screen would then only have to print that buffer. Again, this would require that screen clears would clear that particular portion of the array and that also assumes (and I don't know for sure) if smart-refreshes calls text to re-create the text in a window that has it's size changed, or when it poped to the back or front. Probably the easiest way (althou it's still not easy) is for a print screen routine to look at the bit map and then compare bit patterns with the bit patterns in the proper font file. From that, it could re-create the text only and build it's array to send to the printer. Of course, one problem I see there is that the print-screen function would have to lock the screen until it was done. Don