home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / comp / windows / x / 20519 < prev    next >
Encoding:
Internet Message Format  |  1992-12-23  |  2.9 KB

  1. From: hstroyan@hpfcso.FC.HP.COM (Howard Stroyan)
  2. Date: Tue, 22 Dec 1992 23:36:11 GMT
  3. Subject: Re: An Open Challenge (it can't be done!)
  4. Message-ID: <7320056@hpfcso.FC.HP.COM>
  5. Organization: Hewlett-Packard, Fort Collins, CO, USA
  6. Path: sparky!uunet!cs.utexas.edu!sdd.hp.com!hpscit.sc.hp.com!hplextra!hpfcso!hstroyan
  7. Newsgroups: comp.windows.x
  8. References: <78716@hydra.gatech.EDU>
  9. Lines: 66
  10.  
  11. In comp.windows.x, gt4417a@prism.gatech.EDU (SKELTON,JOEL PHILLIP) writes:
  12.  
  13. > Here's the short form:
  14. >  - 8 bit image in backing pixmap used to update window
  15. >  - Image drawn in 8 bit X window
  16. >  - Want to draw diagonal lines on top of image that can
  17. >    be removed quickly (i.e. replace them with the data they so
  18. >    recently covered)
  19. >  - Can't do server extensions (too many platforms to support)
  20.   
  21. Well, how about a hardware solution ???  :-)
  22.  
  23. There are two levels of hardware solutions I would suggest:
  24.  
  25.     1. This is the really neat but kinda pricey solution.
  26.  
  27.        Some X framebuffers actually support overlay planes 
  28.        which allow rendering of such annotation in a seperate
  29.        set of hardware planes.  The added value of this approach
  30.        is that you will probably get the use a second hardware 
  31.        colormap in the overlays (seperate from the image colormap)
  32.        and such framebuffers also feature 24 bit DirectColor image
  33.        planes.  Checkout the CRX24 display on HP series 700s for 
  34.        starters. You can get one on a 715/33 for under $14K list.
  35.        OK, OK, I said it was kind of pricey :-)
  36.  
  37.     2. The second solution is sort of hardware oriented but much
  38.        more generic.
  39.  
  40.        Get a workstation / X server with a reasonably high pixmap
  41.        to framebuffer transfer rate and just beat the problem into
  42.        submission.  If you can transfer pixmaps at say ~40 Mbytes/sec
  43.        into the framebuffer, a little extra block transferring can be
  44.        acceptable.  Keep a bounding box for the involved area so as
  45.        to minimize the size of the transfer.  If you want to get 
  46.        clever, fill diagonal lines with a series of smallish blocks
  47.        along the line.
  48.  
  49.                 -------    
  50.             |   \  |
  51.             |    \ |
  52.             |     \
  53.             -------\-------
  54.                    |\     |
  55.                    | \    |
  56.                    |  \   |
  57.                 ---\--
  58.                     \    . . .
  59.  
  60. Here's a software solution that can be used, but involves an 
  61. obvious tradeoff which violates your requirements. 
  62. But I have seen folks use it successfully! 
  63.  
  64.     3. Give up 1 bit in your 8 bit framebuffer for annotation.
  65.        (Yes that means 128 of your colors!)
  66.        This allows you to use plane masks to select rendering of
  67.        the annotation and the image.  And clearing the annotation
  68.        will reveal the unmodified image which remains in the lower
  69.        half of the colormap/framebuffer.
  70.        This is basicly a software emulation of a 1 bit overlay plane
  71.        and a 7 bit image plane framebuffer configuration.
  72.  
  73. --
  74. Howard Stroyan                                         
  75. Hewlett-Packard                                        hstroyan@fc.hp.com
  76. User Interface Technology Division                     
  77.