OpenPTC Java Native Code
========================

Native methods allow Java PTC to call out to native
compiled code (c/c++) in "ptc.dll" under Win32,
and "libptc.so" under UNIX.

When native methods are used, the following classes
call out to their equivalents in C++ PTC to gain
extra speed and functionality:

 Console (fullscreen modes)
 Clear (optimized surface clearing)
 Copy (optimized surface blitting)
 Timer (high precision timer)

For example, under Win32, native methods make it
possible to get fullscreen triple buffered 640x480
output running at high frame rates from inside java.

The best thing is that its all automatic, you do not
have to change any of your JavaPTC code in order to
get the speed boost. If the native libraries are
installed, PTC will use them automatically!

Currently Java PTC supports the following native
method interfaces:

JNI = Java Native Interface (sun/netscape)
RNI = Raw Native Interface (microsoft)

Other interfaces such as JDK 1.0 native methods, JRI,
and JDirect may be supported in the future, if the need
arises.

In order to get the speed boost you need to install the
native ptc libraries for your system. Win32 users can
download these libraries from:

http://www.gaffer.org/ptc/download/distributions/Win32

Please note that although i have tried extremely hard to
get native methods working perfectly for this release,
one bug still remains, palette setting does not yet work
across JNI/RNI. Stick to truecolor for now, until i can
track the bug down. sorry :)



JNI TESTING RESULTS
===================

examples:

Area (ok)
Buffer (ok)
Clear (ok)
Clip (ok)
HiColor (ok)
Image (ok)
Info (ok)
Keyboard (ok)
Modes (ok)
Palette (palette bug)
Pixel (ok)
Random (ok)
Save (ok)
Stretch (unknown jni exception!)
Timer (ok)

demos:

Fire (palette bug)
Flower (palette bug)
Tunnel (ok)



RNI TESTING RESULTS
===================

examples:

Area (ok)
Buffer (ok)
Clear (ok)
Clip (ok)
HiColor (ok)
Image (ok)
Info (ok)
Keyboard (ok)
Modes (ok)
Palette (palette bug)
Pixel (ok)
Random (ok)
Save (ok)
Stretch (unknown rni exception!)
Timer (ok)

demos:

Fire (palette bug)
Flower (palette bug)
Tunnel (ok)
