[comp.sys.mac.programmer] patching bottlenecks

John_Miller@mindlink.UUCP (John Miller) (04/02/91)

In article <70621@brunix.UUCP>, reb@cs.brown.edu
(Robert E. Brown) writes:
> How often and for what reasons do programs patch the Quickdraw
> bottlenecks?  I know printing causes them to be patched, but under
> what other circumstances is patching appropriate?

HyperCard seems to patch the bottlenecks to maintain consistency
between the off-screen bitmap and the displayed card window.
Each of the low level graphic routines draw into the off-screen
bitmap and then copybits the result to the screen.

I don't know about LineTo, but I do know that HyperCard is doing
this for things like inverting rectangles.

______________________________________________________________________
John Miller                         (604) 433-1795
Symplex Systems                     AppleLink (???)  CDA0461
Burnaby, British Columbia           Fax: (604) 430-8516
Canada                              usenet:  john_miller@mindlink.uucp

Macintosh Consulting and Software Development
______________________________________________________________________

time@ice.com (Tim Endres) (04/03/91)

In article <70621@brunix.UUCP>, reb@cs.brown.edu (Robert E. Brown) writes:
> How often and for what reasons do programs patch the Quickdraw bottlenecks?
> I know printing causes them to be patched, but under what other circumstances
> is patching appropriate?
> 
> The only example I have seen is that of a program that wants to resize a
> PICT but leave line-widths unchanged.
> 
> Why else would one want to patch something like LineTo?

Possibly to write translators from QD to other formats. In fact I
knew of a system that trapped QD and output IGES (CAD Exhchange).

Another reason commonly employed was to trap drawstrings to get tabs
correctly in Text Edit views.

At U of M CITI we used the routines to display Macintosh applications
on Apollo workstations by sending the traps across TCP. I also suspect
that some of these programs like Timbuktu may also trap the QD routines
to get their functionality, but I am not sure.

-------------------------------------------------------------
Tim Endres                |  time@ice.com
ICE Engineering           |  uupsi!ice.com!time
8840 Main Street          |  Voice            FAX
Whitmore Lake MI. 48189   |  (313) 449 8288   (313) 449 9208

reb@cs.brown.edu (Robert E. Brown) (04/03/91)

How often and for what reasons do programs patch the Quickdraw bottlenecks?
I know printing causes them to be patched, but under what other circumstances
is patching appropriate?

The only example I have seen is that of a program that wants to resize a
PICT but leave line-widths unchanged.

Why else would one want to patch something like LineTo?

neeri@iis.ethz.ch (Matthias Ulrich Neeracher) (04/03/91)

In article <70621@brunix.UUCP>, reb@cs.brown.edu (Robert E. Brown) writes:
>
>How often and for what reasons do programs patch the Quickdraw bottlenecks?
>I know printing causes them to be patched, but under what other circumstances
>is patching appropriate?
>
>The only example I have seen is that of a program that wants to resize a
>PICT but leave line-widths unchanged.
>
>Why else would one want to patch something like LineTo?

A patch I have seen & done is patching StdText & StdTextWidth to implement
tabs in TextEdit.

Matthias

-- 
Matthias Neeracher                                      neeri@iis.ethz.ch
   "These days, though, you have to be pretty technical before you can 
    even aspire to crudeness." -- William Gibson, _Johnny Mnemonic_