Re: [NTLK] Calling any MacOS 9 developers: Quickdraw calls on the Newt

From: Paul Guyot (pguyot_at_kallisys.net)
Date: Sun Aug 12 2001 - 01:45:36 EDT


À (At) 0:33 -0400 12/08/01, Sean Luke écrivait (wrote) :
>In the NewtonDev distribution (see http://www.unna.org) you can find the
>following interesting files:
>
>C++/NCT_Projects/DDKIncludes/QD/ConfigQD.h
>C++/NCT_Projects/DDKIncludes/QD/NewtQD.h
>
>These appear to be header files for Quickdraw routines.

Not really if you look at it. It's the header files for QuickDraw
structures. This is what struck me when I first looked at it. From my
old memories of QD development under MacOS (from the good old days of
System 7), you need at least a couple of functions such as SetPort
and GetPort, MoveTo, Line and so on.

Now, the good news is that NewtonOS has QuickDraw built-in and
therefore has these functions, and besides, some of them are in the
public jump table - but MoveTo and LineTo don't seem to be there :-(.

The bad news is that Bomber and Fractals which are the only programs
accessing QuickDraw natively AFAIK, only run on MP2x00 US, and this
means that it calls some functions directly in ROM (or via the
patchable jumptable), and there is very probably some reason here
(maybe simply that the primitives like MoveTo/LineTo can't be called
otherwise). Besides, we contacted the author and he can't help here.
And I heard that he found some problems in the QD headers. So in a
nutshell, there is some work.

However, apparently, there is an object called TQDLibraryDriver which
is responsible for everything. It has plenty of virtual functions for
QD routines, so if we can't call the wrappers (such as LineTo( long,
long )), we could directly call the virtual method of this object
(this isn't very very clean, I admit it, as we are not sure that this
object has the same structure in every ROM). I think this is one of
the directions we should work on.

I have a heavy to do list for the next weeks, but QuickDraw is one of
the things I want to work on if nobody does it in the meanwhile.

Paul

-- 
Home page: http://www.kallisys.com/
Newton-powered WebServer: http://newt.dyndns.org:8080/

-- This is the Newtontalk mailinglist - http://www.newtontalk.net To unsubscribe or manage: visit the above link or mailto:newtontalk-request_at_newtontalk.net?Subject=unsubscribe



This archive was generated by hypermail 2.1.2 : Sun Sep 09 2001 - 19:47:01 EDT