home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / sys / atari / st / tech / 5613 < prev    next >
Encoding:
Text File  |  1992-11-12  |  2.4 KB  |  47 lines

  1. Path: sparky!uunet!mcsun!ub4b!news.cs.kuleuven.ac.be!blekul11!frmop11!dearn!dmswwu1a!kuhnu
  2. Organisation: Westfaelische Wilhelms-Universitaet, Muenster, Germany
  3. Date: Wednesday, 11 Nov 1992 13:41:25 MEZ
  4. From: U.Kuehn <KUHNU@DMSWWU1A.UNI-MUENSTER.DE>
  5. Message-ID: <92316.134125KUHNU@DMSWWU1A.UNI-MUENSTER.DE>
  6. Newsgroups: comp.sys.atari.st.tech
  7. Subject: Re: Raster Copy [for window scrolling]
  8. References:  <H.KtV1EXXhvs6@elfhaven.ersys.edmonton.ab.ca>
  9. Lines: 36
  10.  
  11. In article <H.KtV1EXXhvs6@elfhaven.ersys.edmonton.ab.ca>,
  12. mforget@elfhaven.ersys.edmonton.ab.ca (Michel Forget) says:
  13. >Scrolling the window (fast) is the problem.
  14. >
  15. >The only method I know of (that I have been able to use) is to redraw the
  16. >entire window when a scroll was needed.  This is, to say the very least,
  17. >extremely slow.  I know that there are faster ways to do this, one of
  18. >which would seem to be a raster copy.  After all, would it not be faster
  19. >to simply move the last twenty lines up two lines, and then draw the
  20. >new information at the bottom of the window?
  21. >
  22. >In short (long?) I would be grateful to anyone who could share with me the
  23. >secrets of window scrolling.  The faster, the better.  To keep things legal,
  24. >though, I imagine only VDI calls should be used.
  25. >
  26. >I have also heard that the speed of output to the window can be increased
  27. >by aligning the window on a sixteen bit boundary?  How would this be done?
  28. >
  29. To scroll up a window, one _must_ go along the rectangle list (the window
  30. might not be on top) and scroll up the contents of every rectangle.
  31. If the region is high enough, use vr_cpyfm() to copy the lower part of the
  32. region to the upper and the redraw the lower part, as the new things
  33. could have lain under another window.
  34. An alignment to a 16 bit boundary is used to speed things a bit up, especially
  35. text  output, as the pixel to write dont have to be shifted around so much.
  36. To align a window,make sure that it x-coordinate of the _inner_ left edge
  37. is divisible through 16, and the do a wind_calc() to calculate the outer
  38. bounds of the window, then make it open there or move it there or what so ever.
  39.  
  40. Hope that helps
  41. Ulrich
  42.  
  43. +---------------+----------------------------+-------------------------+
  44. | Ulrich Kuehn  | Internet:                  | Do they know that they  ║
  45. | Cand.Math.Inf | kuehn@math.uni-muenster.de | cannot eat their money? ║
  46. +---------------+----------------------------+-------------------------+
  47.