kaffe-0.9.0 problem with fonts?

Jim Pick jim at jimpick.com
Thu May 22 16:08:56 PDT 1997

> Well, I certainly can sit and wait for a new release of Biss-AWT,
> but I must admit I have no clue what you're talking about wrt.
> Biss-AWT non-kernel classes, or BissPeers.java-1.1 class.
> How *do* I use them? Please?

I haven't really used Biss-AWT yet (other than compiling it and trying
the demos), but here's my understanding (based on the documentation,
which is really good):

There are two parts to Biss-AWT, the toolkit classes (classes that 
make up most of the widgets) in biss.awt, and the kernel classes
in biss.awt.kernel.

The toolkit classes use a small subset of Sun's AWT to do all of their 
magic (Component, Container, Window, Panel, Frame, and Canvas).  If
you are using the biss.awt toolkit classes with Sun's JDK, you don't
need the kernel classes (they're basically just for Kaffe).

Because these classes use such a small chunk of Sun's AWT, they
haven't been affected much by the transition from JDK 1.0.2 to
JDK 1.1.1 -- only one file (BissPeers.java) is different.

So if you want to use the Biss-AWT classes to build your application,
you can already use them with JDK 1.1.1.  This is a great testament
to the good design that went into them.

The kernel classes in biss.awt.kernel are needed if you are using 
Biss-AWT as an AWT replacement for Kaffe.  These need to be changed 
since Sun has changed the interfaces that the classes implement.  Since 
these deal with low-level things like clipping, fonts, colors,
and such - this is a fair bit of work.  Once these work, then we
should be able to use the Biss-AWT classes with kaffe, but not as
a full AWT replacement.

Full compatibility with Java's AWT is quite a bit more difficult.  
Since their higher-level AWT stuff involves lots of native 
methods which wrap OS-dependent widgets (with not a lot of clear 
documentation), it can be tricky matching the implementation up.
And they've made major modifications: 

      Data Transfer/Clipboard 
      Desktop Colors 
      Delegation Event Model 
      Graphics and Images 
      Lightweight UI Framework 
      Mouseless Operation 
      Popup Menu 
      ScrollPane Container 

Some of these features almost seem like they were copied from Biss-AWT.
What this means though, is that major things that Biss-AWT does now
(event handling, lightweight UI framework, printing, colors, etc.) will
have to be reworked to do things in the Sun way of doing things, if we
want to continue to use Biss-AWT as a AWT clone.  So that means that
each class out of the biss.awt that acts as a "peer" will have to be
modified for the new features - and there are quite a few of these.

To make things even worse (or better, depending on your perspective),
Sun is working on "peerless" components for the next major release of
the AWT.  This essentially means that they are going to be doing things
the same way Biss-AWT does them (I wonder if they peeked).  But the 
implementation will be different, so it will still be a lot of work.

Of course, the nice thing is that, as a user of the Biss-AWT framework, 
we could just choose to ignore Sun's AWT, and just program with the 
Biss-AWT components.  :-)


 - Jim

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 284 bytes
Desc: not available
Url : http://kaffe.org/pipermail/kaffe/attachments/19970522/9f7d57dc/attachment-0003.pgp 

More information about the kaffe mailing list