Initial revision
[ssr] / StraySrc / SapphToys / !DrawX / !Help
1 ____
2 | \ ___ ___ \ /
3 | \ | ___) | | ( ><
4 |_____/ | (___( |_|__) / \
5
6 © 1 9 9 4 S t r a y l i g h t
7 ___________________________________________________________
8
9 About DrawX
10
11 DrawX is, essentially, a pointless utility. It displays
12 DrawFiles in windows and allows you to scale them, and save
13 them into other applications. It is slightly quicker at
14 displaying DrawFiles than Draw is, but does the job no
15 better, and is nowhere near as good as ArtWorks. It
16 provides no editing or organisational facilities, and is,
17 in short, utterly useless in itself.
18
19 So why have I just spent the last two days writing it?
20
21 DrawX is a demonstration of Straylight's development tools
22 and libraries. It is written entirely in ARM assembler.
23 It uses our Sapphire library. Its templates were created
24 using Glass. It shows what can be done in two days of hard
25 work and tedious debugging with a powerful library like
26 Sapphire.
27
28 It's also a way thumbing my nose at Acorn a bit for putting
29 their DrawEx program in the C development system and trying
30 to pretend it's a good thing to model your applications on:
31
32 * It only allows one view at a time, unless you hack it.
33 Admittedly, this is a fairly good exercise.
34
35 * The RAM loading is done very badly, but then again, what
36 do you expect when the documentation for xferrecv is so
37 awful?
38
39 * It doesn't allow you to zoom in and out of the DrawFiles.
40
41 * It doesn't support Help, which Acorn insists everything
42 must do.
43
44 * It's far too big. The image is 70K (that's my hacked one
45 which does do multiple windows).
46
47 DrawX deals with all of these points. It allows any number
48 of windows to be open. It does all its data transfer
49 properly. It does do zooming, with fit-to-screen and
50 fit-to-window options and a zoom drag box too. It supports
51 Help on all its windows, and for menus under RISC OS 3.10
52 and higher. And the final image is 48K in size
53 (uncompressed) so it's only slightly over half the size of
54 DrawEx. Compressed, the image is only 28K.
55
56 Lastly, DrawX is a fairly good example of how to write
57 Sapphire applications. It does everything a big application
58 should do, only less so. It conforms as fully to STASIS
59 (our user interface standard) as I can make it. In fact,
60 it does so much that I had to change some bits of the
61 library to allow it to work at all. The only bad thing it
62 does is to be all in one source file. I never expected it
63 to be quite as big as it is (over 2100 lines), but then
64 again, we live and learn.
65
66 I hope DrawX provides you with as much usefulness as it has
67 provided me. That won't be too difficult. I can't imagine
68 ever using it at all.
69 _________
70
71 Mark Wooding
72 Straylight Development Centre
73 23 August 1994
74 ___________________________________________________________