From: ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University)
Newsgroups: comp.sys.mac.programmer
Subject: Re: Curves in QuickDraw GX
Date: 24 Dec 92 13:13:41 +1300
Organization: University of Waikato, Hamilton, New Zealand

In article <Bzp7x4.90D@iat.holonet.net>, bwilliam@iat.holonet.net
(Bill Williams) posts his thoroughly fascinating notes on QuickDraw GX.
Thanks Bill! There's a place for your posting in my archive of USENET snippets.

> Wow, wow, wow. It is definitely NOT as fast as display postscript, but in
> many ways it seemed faster.

That's a little worrying, considering the sort of hardware it seems to take
to run Display PostScript (eg 68040-based NeXTs). Will QuickDraw GX not
run on 68000 CPUs?

> No words or tokens are used in the imaging model,

Well, there'll be another lot of extensions to the QuickDraw picture format,
won't there?

> there is no server level

No big loss. Having one X Window System is bad enough. :-)

> Like DisplayPostscript, QD GX is a single pixel color model, and
> anti-aliasing and ramping is not supported.

You can use the existing anti-aliasing capabilities of Color QuickDraw,
can't you?

> You may mix Quickdraw commands interspersed with QuickDraw GX without too
> much effort. Unfortunately, if you do, you must be careful to use a CASE
> SENSITIVE LANGUAGE such as Modula-2, C, C++ because there is a RPointS and
> a RpointS as well as QuickDraws RRectS and the new QuickDraw GXUs RrectS.
> Though on one slide I saw the word RrectangleS instead of rect, so I
> assume in Pascal they have a RgxPointS and a RrectangleS redefinition.

Another option is to use a language with scope control, eg "OldQuickDraw.Point"
versus "QuickDrawGX.Point". Modula-2 allows you to do this. But of course,
language vendors will hack the interfaces to suit themselves. :-)

> Shapes are defined by fixed point, to prevent degradation after any series
> of permanent transformations.

You'll get rounding errors, though. Does QuickDraw GX support "CORDIC"
transformations? I think these are a representation of trig functions that
allow you to do endlessly-repeated rotational transformations with zero rounding
error.

> The new font support is almost as complete as postscripts with some
> amazing differences. Primarily the ability to use different fancy fonts
> based on the characters adjacent to the font. Some astoundingly beautiful
> effects were shown with a slightly altered Zapf Chancery. Letters on the
> ends of words had bold sweeping flourishes, and capital letters at the
> beginning of words had long sweeping tails under the adjacent characters.
> WOW. Apple said they are commissioning a company to create a special "Old
> English" font for them.

Ah, the legendary "Line Layout Manager"! I saw a demo of this way back in
1988 (?), back when it was part of the promised feature set for System 7.
The ligatures would appear and disappear as you were typing and deleting
characters. I'm drooling just thinking about it...

> The famous QD pattern scrolling bug (user preference?) is now selectable
> by programmer, patterns can be fixed or positional.

Is this the one where patterns are normally aligned to (0,0) in the coordinate
space? You could always change that, it just wasn't very well explained how to
do it. :-)

Lawrence D'Oliveiro                       fone: +64-7-856-2889
Computer Services Dept                     fax: +64-7-838-4066
University of Waikato            electric mail: ldo@waikato.ac.nz
Hamilton, New Zealand    37^ 47' 26" S, 175^ 19' 7" E, GMT+13:00
At first all I could do, in fact, was what I've been doing since the age of
seven when any disaster has struck: ask myself how Batman would have acted
in similar circumstances.                                -- PCW Oct '92