[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Graphite
From: |
Pascal Bourguignon |
Subject: |
Re: Graphite |
Date: |
Fri, 8 Feb 2002 19:57:28 +0100 (CET) |
> From: Chad Hardin <cehardin@mac.com>
> I've also just started on a Carbon API called Graphite. I'm taking a
> different approach than Apple though. The goal is to have the Carbon c
> functions utilize GNUstep APIs by subclassing or rewriting GNUstep
> classes (like NSApp). This effectively will create a c binding for
> GNUstep, and all Carbon Apps which are recompiled will be actual GNUstep
> apps.
> If anybody has any pointers about how this concept will/will not work
> please feel free to bring them up.
The concept can work. The only difficulty is in the details, you have
to implement a lot of stuff. However, since we're working from
sources, and for a binary API, it should be easier to develop and a
couple of missing functions is not catastrophic, and you don't need to
support baroque stuff.
You've probably noted that the Macintosh ToolBox is object-oriented in
its design. GrafPort <- Window <- Dialog
Control <-+- Button
|
+- Scrollbar
etc, so you have an easy correspondance of concepts.
May be the most delicate part will be the event loop, since you'll
need to have, at least conceptually, both an OpenStep event loop and a
Toolbox event loop.
Do you want to support MacOS resources too? Or have a tool to convert
some of them into Gorm files?
You'll probably want to provide a function to get the OpenStep object
underlying a given Toolbox object, to ease further migration of the
code from the Toolbox to OpenStep. I.E. once compiled a Macintosh
application with Graphite, one may want to add a couple of NSWindow
and use the Objective-C objects lying under a toolbox Control or Text.
--
__Pascal_Bourguignon__ (o_ Software patents are endangering
() ASCII ribbon against html email //\ the computer industry all around
/\ and Microsoft attachments. V_/ the world http://lpf.ai.mit.edu/
1962:DO20I=1.100 2001:my($f)=`fortune`; http://petition.eurolinux.org/
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/IT d? s++:++(+++)>++ a C+++ UB+++L++++$S+X++++>$ P- L+++ E++ W++
N++ o-- K- w------ O- M++$ V PS+E++ Y++ PGP++ t+ 5? X+ R !tv b++(+)
DI+++ D++ G++ e+++ h+(++) r? y---? UF++++
------END GEEK CODE BLOCK------