Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10 UW 5/3/83; site uw-beaver
Path: utzoo!watmath!clyde!burl!ulysses!cbosgd!cbdkc1!desoto!packard!hoxna!houxm!vax135!cornell!uw-beaver!info-mac
From: info-mac@uw-beaver (info-mac)
Newsgroups: fa.info-mac
Subject: Bypassing quickdraw
Message-ID: <1815@uw-beaver>
Date: Fri, 28-Sep-84 20:18:12 EDT
Article-I.D.: uw-beave.1815
Posted: Fri Sep 28 20:18:12 1984
Date-Received: Thu, 4-Oct-84 01:57:10 EDT
Sender: daemon@uw-beave
Organization: U of Washington Computer Science
Lines: 33

From: Gustavo Fernandez 
If you look carefully, you will notice that this is exactly what 
quickdraw does when drawing on top of the cursol. However,
it is very smart, and knows when it has to hide the cursor and when it
it can be left alone. By the way, quickdraw isn't sacred at al.
There are a number of instances where it is best to do your own screen
hacking (albeit not many)
 
1. When implementing line operations where a descision must be made at
each point on the line. Z buffering for 3-D graphics is a good example.
 
2. When dealing with the screen on a pixel-by pixel basis. A conventional
implemntation of LIFE might be a good example. However, there are array
based algorithms (see the SMALLTALK issue of BYTE a few Augusts back)
which would use a series of at least 34 COPYBITS operations per generation.
Because of the highly optimized nature of COPYBITS, this might be more
efficient than pixel by pixel for a large field (the entire screen)
 
3. When doing apple II style picture block arcade graphics. Again, this
has yet to be seen whether copybits is not faster. Here, I believe, an
advantage would be gained with small objects.
 
4. when implementing bizarre things like the system bugs desk accessory.
 
Perhaps Bill Atkinson might take exception to asll this. If so, i would not
mind being proven wrong. In any case, it is still a very good idea to at least
use quickdraw to open a grafport and get your screen parameters from 
there. Under no circumstances should you hardwire things like screen
address and vertical and horisontal resolution.
 
						Gus Fernandez
						FERNANDEZ@SU-SCORE
-------