-----------------------------------------------------------------------
Personal Configuration AWT notes
-----------------------------------------------------------------------

-----------------------------------------------------------------------
1.1  General
-----------------------------------------------------------------------

VisualAge Micro Edition AWT class libraries are implemented to the API
signatures defined in the Java 2 platform, Standard Edition V1.2
Specifications.  This includes the Personal Configuration library.
However, not all packages and features of Java 2 Platform AWT are
implemented.

If you develop code using these AWT class libraries with the intent
to run the code on a JDK 1.1.x compliant VM (such as found in Internet
Explorer), you should take special care not to use JDK 1.2 API
methods.  Such methods are marked as "Since JDK1.2" in the
JavaDoc.

The Win32 and QNX Neutrino platform versions of VAME AWT are
considered to be production quality.  The Linux Motif version
is provided as a beta release.

-----------------------------------------------------------------------
1.2 System properties
-----------------------------------------------------------------------

The following system properties are available to modify the
behavior of AWT:

---------------
com.ibm.oti.awt.MaxImageDataSizeForcingFinalization=<integer>

This value is the limit on the amount of data allocated for images before
performing an explicit finalization run.  Once the limit is exceeded, a
finalization is run, and the counter is reset.  This value can be tuned
to cause finalization to run more frequently to keep garbage collected
images from wasting memory.  The counter is cumulative, and does not
take into account images which have been flushed (resources returned
to the system).

The default value is 1000000 (1 megabyte).

---------------
com.ibm.oti.awt.MaxImageDataSize=<integer>

This value is the maximum limit on the amount of data allocated for
images at any point in time.  Once the limit is exceeded, an OutOfMemory
exception will be thrown.

The default value is 8000000 (8 megabytes).

---------------
com.ibm.oti.awt.ShowSecondaryWindows=<true|false>

Determines whether secondary windows can be displayed.  For example,
whether an applet can launch another Frame, Window, or Dialog.

The default value is true.

---------------
com.ibm.oti.awt.DefaultFontSize=<integer>

This value is the default font size in points.

The default value is 12.

---------------
com.ibm.oti.awt.FontDPI=<integer>

This value is the Dots Per Inch value for the device.  Use it
as a scaling factor if your system is significantly different
than the default.

The default value is 96.

---------------
com.ibm.oti.awt.AlphaChannel=<true|false>

This value indicates whether Alpha Channel support is used
for image processing, 

The default value is true.


-----------------------------------------------------------------------
1.3  Graphics Drawing
-----------------------------------------------------------------------

In some cases, graphics operations are not processed when they should be
(for example, during resizing of a frame).  

Most Java 2D and 3D APIs are not supported at this time.

-----------------------------------------------------------------------
1.4  Images
-----------------------------------------------------------------------

Image loading is not optimal at this time.

Image loading is not asynchronous.

AreaAveragingScaleFilter has the same algorithm as its superclass,
ReplicateScaleFilter.

Animated GIFs are not handled.

32-bit color depth for images is not supported.

Custom cursors are not supported.

-----------------------------------------------------------------------
1.5  Alpha channel
-----------------------------------------------------------------------

Alpha channel support is provided using the com.ibm.oti.awt.AlphaChannel 
system property.  It is enabled by default, but it is recommended that
you set the value to "false" on QNX release 6.0 or earlier, due to 
memory issues on that platform (the problem has been resolved in 
QNX 6.1). 

On Windows and Linux, it is strongly recommended that you use the -jit 
VM option for optimum performance of alpha data processing.

-----------------------------------------------------------------------
1.6  Key Events
-----------------------------------------------------------------------

A KeyListener on a TextField or TextArea on QNX6 (Photon) does
not receive the keyTyped() message for certain special keys
such as tab and backspace.

-----------------------------------------------------------------------
1.7  Peers
-----------------------------------------------------------------------

The java.awt.peer package is minimally supported, only to allow certain
applications to run without generating missing class exceptions.

Methods to get/create peers are not implemented.

The peer layer is not exposed.

-----------------------------------------------------------------------
1.8  Event Resending
-----------------------------------------------------------------------

Consuming of events is not implemented.

Modifying and re-posting AWT events is not supported.

Posting a new AWT event is not implemented.

-----------------------------------------------------------------------
1.9  Printing
-----------------------------------------------------------------------

API exists but does nothing.

-----------------------------------------------------------------------
1.10  System Colors
-----------------------------------------------------------------------

Some system colors are not available. The default value
is answered.

-----------------------------------------------------------------------
1.11  Security and permissions
-----------------------------------------------------------------------

The Java security "sandbox" (i.e. java.awt.AWTPermission) is
not currently supported.

-----------------------------------------------------------------------
1.12  Bean model
-----------------------------------------------------------------------

The AWT bean model is not fully implemented, and as such,
methods like firePropertyChange() are unimplemented.

-----------------------------------------------------------------------
1.13  Filename filters
-----------------------------------------------------------------------

Filename filters are not currently supported by java.awt.FileDialog.

-----------------------------------------------------------------------
1.14  End-Of-Line sequences in TextAreas on Win32
-----------------------------------------------------------------------

VisualAge Micro Edition's AWT deviates from the JDK implementation 
in how end-of-line characters are represented on Windows for the 
TextArea component. According to the JDK specifications, the 
end-of-line character for TextArea components for all platforms 
is '\n'.  In this implementation, however, the end-of-line character
is represented by "\r\n" for TextArea components on Windows.
This difference will be reflected in position-sensitive methods 
such as select(int,int) and setCursorPosition(int), as well as 
in the getText() method, which will return "\r\n" sequences for 
end-of-line instead of '\n'.

This will be fixed in a future release.