<?xml version="1.0"?>
<!DOCTYPE document SYSTEM "./dtd/document-v10.dtd">
<!--

   Copyright 2000-2001  The Apache Software Foundation 

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

-->
<!-- ========================================================================= -->
<!-- author vincent.hardy@eng.sun.com                                          -->
<!-- version $Id$ -->
<!-- ========================================================================= -->

<document>
    <header>
        <title>Batik - Glossary</title>
        <subtitle>Batik and SVG Glossary</subtitle>
        <authors>
            <person name="Vincent Hardy" email="vincent.hardy@eng.sun.com"/>
        </authors>
    </header>

    <body>
        <anchor id="GVT" />
        <s1 title="GVT, Graphic Vector Toolkit">

        <p>
        GVT (Graphic Vector Toolkit) is an object oriented framework that 
        describes complex 2D graphics in terms of a tree of Java objects. GVT 
        is used in Batik to represent how SVG images are to be rendered.
        </p>

        </s1>

        <anchor id="SVGDOM" />
        <s1 title="SVG DOM">

        <p>
        The SVG DOM (Document Object Model) defines the API that programming
        languages use to interact with SVG documents. There are different 'bindings'
        of the DOM API for different languages. For example, there is an ECMAScript
        binding which allows SVG scripts to access or modify SVG documents, for example
        in reaction to events. There is also a Java technology binding which allows
        Java programs to dynamically interact with SVG documents. The Java binding
        and the ECMA Script binding are both available in Batik.
        </p>

        </s1>

        <anchor id="SVGGenerator" />
        <s1 title="SVG Generator">

        <p>
        The SVG Generator is a module of Batik that allows Java applications 
        to create SVG content without needing specific knowledge of SVG. Applications
        doing graphics in Java use an API, embodied by the Graphics2D class, to 
        do all their rendering operations. They use the same code, but different 
        implementations of that API, to render to various outputs such as a screen
        or a printer. The SVG Generator is another implementation of that API that
        instead of drawing to a screen or a printer generates SVG content. Because
        it implements the same API as for printing or drawing to the screen, the
        same code that does screen rendering and printing can be used with the 
        generator to generate SVG content. For an example of how to use this
        module, follow this <link href="svggen.html">link</link>
        </p>

        </s1>

        <anchor id="SVGParser" />
        <s1 title="SVG Parser">

        <p>
        The SVG Parser module contains 'micro parsers' specific to SVG to convert SVG specific attributes,
        such as path data, transforms or color values into equivalent Java 
        objects such as java.awt.geom.GeneralPath, java.awt.geom.AffineTransform
        or java.awt.Color.
        </p>

        </s1>



    </body>
</document>
