____ | \ ___ ___ \ / | \ | ___) | | ( >< |_____/ | (___( |_|__) / \ © 1 9 9 4 S t r a y l i g h t ___________________________________________________________ About DrawX DrawX is, essentially, a pointless utility. It displays DrawFiles in windows and allows you to scale them, and save them into other applications. It is slightly quicker at displaying DrawFiles than Draw is, but does the job no better, and is nowhere near as good as ArtWorks. It provides no editing or organisational facilities, and is, in short, utterly useless in itself. So why have I just spent the last two days writing it? DrawX is a demonstration of Straylight's development tools and libraries. It is written entirely in ARM assembler. It uses our Sapphire library. Its templates were created using Glass. It shows what can be done in two days of hard work and tedious debugging with a powerful library like Sapphire. It's also a way thumbing my nose at Acorn a bit for putting their DrawEx program in the C development system and trying to pretend it's a good thing to model your applications on: * It only allows one view at a time, unless you hack it. Admittedly, this is a fairly good exercise. * The RAM loading is done very badly, but then again, what do you expect when the documentation for xferrecv is so awful? * It doesn't allow you to zoom in and out of the DrawFiles. * It doesn't support Help, which Acorn insists everything must do. * It's far too big. The image is 70K (that's my hacked one which does do multiple windows). DrawX deals with all of these points. It allows any number of windows to be open. It does all its data transfer properly. It does do zooming, with fit-to-screen and fit-to-window options and a zoom drag box too. It supports Help on all its windows, and for menus under RISC OS 3.10 and higher. And the final image is 48K in size (uncompressed) so it's only slightly over half the size of DrawEx. Compressed, the image is only 28K. Lastly, DrawX is a fairly good example of how to write Sapphire applications. It does everything a big application should do, only less so. It conforms as fully to STASIS (our user interface standard) as I can make it. In fact, it does so much that I had to change some bits of the library to allow it to work at all. The only bad thing it does is to be all in one source file. I never expected it to be quite as big as it is (over 2100 lines), but then again, we live and learn. I hope DrawX provides you with as much usefulness as it has provided me. That won't be too difficult. I can't imagine ever using it at all. _________ Mark Wooding Straylight Development Centre 23 August 1994 ___________________________________________________________