VGView, a Scalable Vector Shape Viewer

This is a small interpreter for the IAppli which handles a simple vector graphics shape description language.

  • VGView.java
  • IAppli Applet page

    The shape file is a binary format, which contains the following simple vector shape commands:

    
    int8 = 8 bit byte
    int16 = 16 bit int (little endian)
    
    Set Color:
    'S'      R     G       B
    83     INT8    INT8      INT8
    
    Polyline: 16 bit integers, little endian, followed by 8 bit deltas,
     terminated by an dx and dy value of 0
    deltax, deltay are 8 bit signed bytes (byte). A polygon may have
    up to 1023 points in it.
    
    'p'    x1      y1     dx2      dy2      ...     0 0
       INT16    INT16   deltax   deltay
    
    'P' x1 y1 x2 y2 ... 65535  // all 16 bit ints
    
    Polygon fill (delta format):
    'f'    x1      y1      dx2      dy2      ...     0 0
       INT16   INT16    INT8       INT8
    
    Polygon fill (absolute point):
    'F'    x1      y1      x2      y2      ...     0 0
         INT16    INT16    INT16    INT16
    
    Text: null terminated string
    'T'     x1    y1       c1     c2      c3  ...     \000
          16    16       INT8     INT8      INT8
     * Draw bitmap (gif) image
    'I'     x1     y1     URL         \000
          INT16  INT16  charstring
    End map:
    'E'
    
    A URL is a null terminated string such as "resource:///foo.gif" or "bar.gif"
    (A relative URL is implicitly treated as an HTTP request to the app host server)