Package org.xwt

The core XWT engine classes.

See:
          Description

Interface Summary
VectorGraphics.Paint  
 

Class Summary
Font  
HTTP This object encapsulates a *single* HTTP connection.
HTTP.Proxy encapsulates most of the proxy logic; some is shared in HTTP.java
HTTP.Proxy.Authorization  
HTTP.Proxy.NTLM An implementation of Microsoft's proprietary NTLM authentication protocol.
HTTP.Proxy.ProxyAutoConfigRootScope  
Main Entry point for the XWT Engine; handles splash screen, initial xwar loading, and argument processing
Picture The in-memory representation of a PNG or GIF image.
PixelBuffer A block of pixels which can be drawn on.
Platform Abstracts away the small irregularities in JVM implementations.
Res base class for XWT resources
Res.Builtin the Builtin resource
Res.ByteArray byte arrays
Res.Cab "unwrap" a Cab archive
Res.CachedRes subclass from this if you want a CachedInputStream for each path
Res.File a file
Res.Graft shadow resource which replaces the graft
Res.HTTP HTTP or HTTPS resource
Res.ProgressWatcher shadow resource which replaces the graft
Res.Ref what you get when you reference a subresource
Res.Zip "unwrap" a Zip archive
Scheduler Implements cooperative multitasking
Scheduler.Task  
Surface A Surface, as described in the XWT Reference.
Surface.DoubleBufferedSurface  
Template Encapsulates a template node (the <template/> element of a .xwt file, or any child element thereof).
TinySSL TinySSL: a tiny SSL implementation in Java, built on the bouncycastle.org lightweight crypto library.
Trap This class encapsulates a single trap placed on a given node.
VectorGraphics XWT's fully conformant Static SVG Viewer; see SVG spec, section G.7
VectorGraphics.Affine an affine transform; all operations are destructive
VectorGraphics.PathTokenizer  
VectorGraphics.RasterPath a vector path
VectorGraphics.SingleColorPaint  
VectorGraphics.VectorPath an abstract path; may contain splines and arcs
XWT Singleton class that provides all functionality in the xwt.* namespace
 

Exception Summary
TinySSL.SSLException  
 

Package org.xwt Description

The core XWT engine classes.

Interfacing with other code

This engine is not meant to be used as a library or to interface with any other code. Because of this, all classes and methods have package (nonpublic) access, except where interpackage calls or reflection demand that they be public. Authors of other software should NEVER depend on any of these APIs.

An important note about Threads

All operations are single-threaded, except sleep(), yield(), xmlrpc calls, and MessageQueue message loop. That means that while one thread is rendering or executing a script, no other thread can be rendering or executing a script.

For performance reasons, we do not enforce this single-threadedness with Java synchronization primitives. If you change the engine code, be very careful not to violate this invariant. In general, you should only render or execute JavaScripts if (Thread.currentThread() == MessageQueue.singleton). The only exception is instances of ThreadMessage -- they include logic to block the MessageQueue thread on a semaphore, execute some javascript, and unblock the MessageQueue thread once the javascript has returned or performed some blocking operation. Be especially careful not to manipulate instances of Box from within the AWT thread. @see MessageQueue ThreadMessage