Tuesday, December 2, 2008

Pointless Common Lisp wxWidgets binding now multi-platform!

Remember my nascent wxWidgets binding for Common Lisp that I mentioned before? Here's the Mac version from the previous article:



Something about this one looked odd to me when I put the picture up, by the way, but no, it turns out that native MacOS dialog boxes do tend to have their titles like that.

Here it is on Windows (excuse the watermark):


And here on Linux (GTK++).


Both Linux and Windows versions are wxWidgets 2.6.x; the Mac one is 2.8.4. Windows one is using pre-built wxc from wxHaskell, while the other two are using wxc from source from the same project.

Please note the varyingly broken stages of Unicode. For the Windows version this was because I didn't have an up-to-date CFFI with built-in UTF16/32 conversion; installing Lisp libraries on Windows is a pain. The Linux version is a bit more of a puzzle. I suspect that I was using the wrong endianness, or possibly that the older version I was using supports only UCS-4, not proper UTF-32.

Please also note that Windows, in this case, is pretty inarguably the ugliest of them all!

It's nice to see it running on all three major platforms, though, even if it is rather limited at the moment. And even if te Unicode handling clearly needs a little more work outside the wonderful world of MacOS. wxWidgets also supports X11 using its own widgets, WinCE, OS/2, and DOS. I don't plan on addressing any of those.

Well, maybe the X11 one; for the retro mismatched Unix desktop look.

0 comments: