In message <[EMAIL PROTECTED]>, Tobias Fröschle <[EMAIL PROTECTED]> writes
Hi Tobias, I know that Chris Cave had some of the problems that you have highlighted when he was first developing his Drawing program for the QL with SMSQ/E in SBASIC. He later moved the program over to C code. I don't know if Chris is still reading this list for comment ? >Folks, > >I am currently getting myself accustomed again to programming using the >pointer interface after years of inactivity. >I would like to hear how the cracks would tackle a problem I have where >I have some alternative solutions for. >(My programs are SuperBasic, liberated or Turbo-ed) > >How do you draw graphics in the pointer coordinate system (a typical >application would be things like rubber-banding or a shape drawing >program)? The options I currently see are as follows: > > 1. Use the Graphics coordinate system - Here I find it next to > impossible to find a perfect match between pixel coordinates and > graphic coordinates using SCALE (Or am I just doing something > wrong?). I'm doing something like SCALE #channel,windowHeight%, > 0, 0 and POINT x,y-windowHeight%. This (at least sometimes) hits > the spot, but not with acceptable accurracy - the point plotted is > always a bit off the pointer position. Advantage is, you can use > INK, PAPER, and he like and have all the graphics drawing for > circles and arcs available > 2. Use BLOCK - this hits the spot perfectly, because it uses pixel > coordinates. You can also take advantage of INK and PAPER and the > like, but need to write your own routines for drawing shapes, > rectangles, arcs, lines. This could end up in a huge pile of work, > the program could also tend to be slow with implementation of > these primitives in SuperBASIC. > 3. Use the "Draw line of blobs/sprite" functionality from PE. Uses > the pixel coordinate system, so we'd be safe with pixel accuracy - > Cannot use INK, PAPER and the like, because you define the colour > in the sprite. You'd need to have an assortment of pixel-sized > sprites in order to be able to draw in different colours. Shapes > like rectangles and circles are not available as well and need to > be emulated. > 4. Use own, machine code-based SuperBasic extensions to plot and draw > in the pixel coordinate system. Not sure whether I would want to > tackle this one, especially if I want my program to be able to run > both on "standard" QLs and GD2-Based systems (Or is there > something already available - I'm not aware of such an extension - > There was an article in an old QL world, part of the DIY toolkit, > but this would hardly work in a GD2-based environment. > >What's common practice? Like to hear some recommendations. > >Regards >Tobias -- Malcolm Cadman _______________________________________________ QL-Users Mailing List http://www.q-v-d.demon.co.uk/smsqe.htm
