I am porting PLATOTerm to the Atari ST, have finally come back to it after a few months of developing terminals for other systems.
It needs to, given an area of pixels, be able to draw lines, and individual dots. Text will be blit from a bitmap character set, as well, to any pixel position.
The problem I am trying to anticipate comes from window redraw. Assuming the window becomes occluded, I can't simply send the drawing commands again, because I will have possibly lost them in the protocol buffer, and since the protocol buffer is highly stateful, it becomes difficult to play back previous data to restore the window to the previously known good state.
On other systems, I would simply render to an off-screen bitmap, and when I received the window update, I would ask the system to blit the requisite rectangles back to the screen.
But on the ST, it seems that API functions for off-screen bitmaps are not available in most VDI implementations, most certainly not stock VDI.
So what the hell am I supposed to do?