home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / windows / x / 14372 < prev    next >
Encoding:
Text File  |  1992-07-25  |  3.4 KB  |  78 lines

  1. Newsgroups: comp.windows.x
  2. Path: sparky!uunet!zaphod.mps.ohio-state.edu!magnus.acs.ohio-state.edu!csn!teal!raney
  3. From: raney@teal.csn.org (Scott Raney)
  4. Subject: Re: Non-rectangular bitmaps/setting pixmap background...
  5. Message-ID: <raney.712034535@teal>
  6. Sender: news@csn.org (news)
  7. Nntp-Posting-Host: teal.csn.org
  8. Organization: Colorado SuperNet, Inc.
  9. References: <1992Jul13.194934.5605@news.cs.brandeis.edu> <raney.711494247@teal> <1992Jul24.181510.29269@thunder.mcrcim.mcgill.edu>
  10. Date: Sat, 25 Jul 1992 03:22:15 GMT
  11. Lines: 65
  12.  
  13. mouse@thunder.mcrcim.mcgill.edu (der Mouse) writes:
  14.  
  15. >In article <raney.711494247@teal>, raney@teal.csn.org (Scott Raney) writes:
  16. >> mouse@thunder.mcrcim.mcgill.edu (der Mouse) writes:
  17. >>> In article <1992Jul13.194934.5605@news.cs.brandeis.edu>, slanka@chaos.cs.brandeis.edu (Ishantha Lokuge) writes:
  18. >>>> I am trying to create a non-rectangular bitmap...
  19. >>> This is not possible.  You'll have to get the effect you want some
  20. >>> other way.
  21. >> I say it *is* possible, but the process is nontrivial.
  22.  
  23. >A bitmap is a depth-1 pixmap.  Pixmaps are, by definition, rectangular
  24. >arrays of pixels.  Thus, non-rectangular bitmaps don't exist any more
  25. >than, say, OutputOnly windows do.
  26.  
  27. OK, a question of semantics.  What's important is that the *effect*
  28. can be achieved.
  29.  
  30. >> Unfortunately, the X server designers chose to implement clip masks
  31. >> by converting them to rectangle lists instead of developing a three
  32. >> element logic op.
  33.  
  34. >This has come up on the net before.  As I recall, it was done not to
  35. >avoid three-element logic but to avoid *four*-element logic.  Consider
  36. >drawing stippled text, for example.
  37.  
  38. Nope, the reason was that many "intelligent" graphics controllers
  39. couldn't handle it.  Rather than have several different ways of doing
  40. clipping, the kluge of converting clipping masks to rectangle lists
  41. was developed.
  42.  
  43. >> The result?  Setting a full screen clip mask on a 386 takes several
  44. >> seconds.  Clipping a wide polyline to the mask can take several
  45. >> *minutes*.  If it had been implemented as a mask, the results would
  46. >> be about 50% slower than regular operations.  As it is, X clipmasks
  47. >> are essentially useless.
  48.  
  49. >So don't complain; do something about it!  If you were to contribute
  50. >efficient code for doing clipmasks as masks, I'm sure lots of people
  51. >would love you for it.  (Of course, you also might, in the process,
  52. >discover why it wasn't done that way - I don't know; I haven't looked
  53. >at it at all.)
  54.  
  55. Since we're effectively doing a 3 element logic op in MetaCard, I
  56. submit that it isn't technically all that difficult.  The problem is
  57. code maintenance, not the state of the art.  The bottom line is that
  58. you can't use clipmasks for clipping to large or complex images.
  59.  
  60. >It could also just be that your 386 is a pig.  I've done circular
  61. >clocks on the Sun-3/50 on my desk that are approximately a thousand
  62. >pixels in diameter and it takes a second maybe, but not "several"
  63. >seconds.
  64.  
  65. *All* 386/VGA systems are pigs.  Our Sun 3/60 draws faster.
  66.  
  67. A circular area is a relatively easy case.  Try a 500 pixel square 50%
  68. dither!
  69.  
  70. >                    der Mouse
  71.  
  72. >                mouse@larry.mcrcim.mcgill.edu
  73. -- 
  74. ***********************************************************************
  75. * Scott Raney  303-447-3936            Remember: the better you look, *
  76. * raney@metacard.com                   the more you'll see -- Lidia   *
  77. ***********************************************************************
  78.