Jun 92 Tips
|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 GWorlds PixMap before using GetCPixel or SetCPixel or anything else that directly accesses the PixMaps 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;
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
SetCPixel( 10, 10, &myCPix);
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 computers 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 computers name. As a default, the computers name is user names Macintosh. For example, my computers name is Dave Marks 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 thats 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