Jun 92 Tips
Volume Number: 8
Issue Number: 2
Column Tag: Tips & Tidbits
Tips & Tidbits 
MacTutor has a new column called “Tips and Tidbits”. This column is your
opportunity to spread the word about little bits of information that you find out about.
These tidbits can be programming related or they can be user tips that are particularly
useful to programmers.
The MacTutor staff will continue to come up with tips for a little while, but we
really want to hear from you. MacTutor will pay $25 for every tip used, and the Tip of
the Month will receive $50. To submit a tip, send in a letter to the magazine.
Remember, AppleLink is our preferred method of communication, but feel free to send
something via US Mail. If you do send mail, enclose a printed copy and a disk copy of the
letter so that it does not have to be retyped.
Let us know what you think. Remember, this is your magazine. Try ‘em out and
let us know...
Tip of the Month
If you are working with offscreen GWorlds and you have set the current GWorld
to something via SetGWorld, you need to use LockPixels on the GWorld’s PixMap before
using GetCPixel or SetCPixel or anything else that directly accesses the PixMap’s
baseAddr. It turns out that the baseAddr of a PixMap is actually a Handle, and
LockPixels locks the handle and places its dereferenced value into baseAddr.
UnlockPixels unlocks the handle and places the Handle back into baseAddr. So:
GWorldPtr myOffscreenGWorld, saveWorld;
PixMapHandle myOffscreenPixMap;
GDHandle saveGDH;
RGBColor myCPix;
BuildMyGWorld( &myOffscreenGWorld);
GetGWorld( &saveWorld, &saveGDH); // Isn't it nice to save the
world?
SetGWorld( myOffscreenGWorld, NULL);
myOffscreenPixMap = GetGWorldPixMap( myOffscreenGWorld);
if (!LockPixels( myOffscreenPixMap)) DoError(); //the PixMap has
been purged
ModifyTheColorPixel( &myCPix);
SetCPixel( 10, 10, &myCPix);
UnlockPixels( myOffscreenPixMap);
SetGWorld( saveWorld, saveGDH);
- Troy Anderson
New 'STR ' resource
System 7 brings with it an interesting new 'STR ' resource. In earlier systems,
'STR ' resource -16096 contained the computer’s user name (also known as the
Chooser name, since you edited the name via the Chooser).
System 7 adds a new resource, designed to go along with the user name. 'STR '
resource -16413 contains the computer’s name. As a default, the computer’s name is
user name’s Macintosh. For example, my computer’s name is Dave Mark’s Macintosh.
How about a cdev that allows me to edit my user and computer names under
System 7???
- Dave Mark, Arlington, VA
Reading Partial resources
Trying to read a resource that’s too big to fit in memory? You should look into
ReadPartialResource() and WritePartialResource(). They are described in Inside
Macintosh, Volume VI, Chapter 13, pages 21-23. These routines really come in handy
when working with mondo-sized 'snd ' resources.
- Dave Mark, Arlington, VA