Hello all, I've been working on creating a "for-real" Windows version of PDCurses. That is, instead of using the current Win32 version that works using a console, I'm creating a window and drawing text to it using the GDI and so forth. It appears to be working Just Fine. (It helped, of course, that I was able to use much of the original Win32 version, some of it completely unaltered. For example, 'pdcclip.c' didn't change at all.)
For the nonce, at least, I'm calling this 'Win32a', to distinguish it from the console-based Win32 version. I did this because I wanted a full implementation of PDCurses. It has underlining, side-lining, bold and italic fonts, and blinking text. It has 256 colors and 256 color pairs. All mouse events, including wheel mice events, are supported. You can resize the window by dragging it with the mouse, or programmatically with resize_term(). About the only things that aren't supported are mouse triple-clicks and certain deprecated alternate character set bits (ALT_S1 through ALT_S9). The current source code is at http://www.projectpluto.com/win32a.zip (about 35 KBytes) Comments/thoughts for improvements are welcome. Hope it's useful, or at least interesting, to somebody other than just me. 'to_do.txt' in the above ZIP contains some of the following comments, but I'd like to raise them here... just a few questions that arose in my mind in the process of writing this code, and I'm hoping somebody with more knowledge of Curses can shed some light on them. In both this version and the SDL one, if the user clicks the Close button, exit( ) is called. This seems rather graceless. It would be nice if at least the option of perhaps the Close button putting a KEY_EXIT on the queue would be welcome. The app would then be responsible for responding appropriately to that key. I think X11 does this same sort of graceless exit. Before taking it upon myself to mess around with something this basic, though, I thought I'd ask for thoughts from this list. Also: what's the point of invisible text? I note that A_INVIS = A_ITALIC. At least for the nonce, I'm assuming that italic text is more useful than invisible text (after all, one can always fake the latter using spaces, or by setting a color pair where foreground = background). -- Bill