[comp.sys.mac.programmer] Problems when writing cdefs

pittenger-laurence@cs.yale.edu (Laurence Arthur Pittenger) (01/28/91)

Since cdefs are code resources they don't preserve the value of
register A5, and so quick-draw globals can't be accessed.  It's
possible to create a "fake" global world, by making copies of normal
quickdraw globals such as the standard patterns and the arrow.  But
what happens when a QuickDraw routine implicitly accesses the globals?
For example, when I try a FrameRect() command within one of my
(attempted) cdefs, it doesn't draw a thing, though in a non-cdef
environment the same code works just fine.

More to the point, does anyone know how to set things up when you
enter a cdef so that the Quickdraw environment is "restored" and the
cdef coding can, subsequently, function as normal?  (I tried all the
examples, and various creative variations of my own, in IM so please
don't just refer me there 'cause either it's inadequate or I'm too
stupid to get it out of the book correctly :-) ).

Thanks.

++++++++++++++++++++++++++++++++++++++++++++
Laurence Pittenger
CSNET  : pittenger-laurence@cs.yale.edu
BITNET : pitlaua@yalevm
         pittenger-laurence@yalecs
++++++++++++++++++++++++++++++++++++++++++++

-- 
++++++++++++++++++++++++++++++++++++++++++++
Laurence Pittenger
CSNET  : pittenger-laurence@cs.yale.edu
BITNET : pitlaua@yalevm