Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site uw-beaver Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxb!mhuxn!mhuxm!mhuxj!houxm!vax135!cornell!uw-beaver!info-mac From: info-mac@uw-beaver Newsgroups: fa.info-mac Subject: Re: Quickdraw Regions Explained Message-ID: <688@uw-beaver> Date: Thu, 31-Jan-85 20:21:08 EST Article-I.D.: uw-beave.688 Posted: Thu Jan 31 20:21:08 1985 Date-Received: Sat, 2-Feb-85 11:15:29 EST Sender: daemon@uw-beaver Organization: U of Washington Computer Science Lines: 40 From: Andy Stadler c/o Congratulations to Jack Palevich for decoding the QuickDraw region structure. This is the same region structure which Atkinson, Jobs, and Apple had bragged on and on about, and are hoping to patent.... There is one thing I hope I can clarify. Close reading of the QuickDraw manual reveals that it uses a non-standard row/column numbering system. Instead of numbering each row and column of bits, the numbers are assigned to the "infinitely thin" lines between them. So the example region should have been drawn like this (top portion only): x 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 19 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | | | | | | | | | | | | | | 20 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+ y | |[]|[]| | | | | | | | |[]|[]| | 21 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | |[]|[]| | | | | | | |[]|[]| | etc. Note that this permits a cleaner definition of : ::= You see, the two numbers are actually coordinates of the "infinitely-thin" walls of a rectangle which *encloses* the bits of interest. As far as the Y-coordinates, I suppose you could look at the numbers as saying, "below this line, make the following changes...." As far as the compression goes, you are right, and this is great for rectangles. It fails on complex shapes (imagine encoding a circle!). I wonder if there are any other encoding forms for other shapes? Anyone want to try looking? Andy Stadler Arpanet: Andy Stadler c/o