You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-dev@xmlgraphics.apache.org by vh...@apache.org on 2001/05/11 18:10:15 UTC
cvs commit: xml-batik/xdocs/images HighLevelArchitecture.png batikUses.jpg
vhardy 01/05/11 09:10:14
Modified: xdocs architecture.xml
xdocs/images batikUses.jpg
Added: xdocs/images HighLevelArchitecture.png
Log:
Added first draft for high level architecture document.
Revision Changes Path
1.3 +81 -4 xml-batik/xdocs/architecture.xml
Index: architecture.xml
===================================================================
RCS file: /home/cvs/xml-batik/xdocs/architecture.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- architecture.xml 2001/05/11 14:52:33 1.2
+++ architecture.xml 2001/05/11 16:10:08 1.3
@@ -11,12 +11,12 @@
<!-- ========================================================================= -->
<!-- author vincent.hardy@eng.sun.com -->
-<!-- version $Id: architecture.xml,v 1.2 2001/05/11 14:52:33 vhardy Exp $ -->
+<!-- version $Id: architecture.xml,v 1.3 2001/05/11 16:10:08 vhardy Exp $ -->
<!-- ========================================================================= -->
<document>
<header>
- <title>Batik - Architecture</title>
+ <title>Batik - Architecture Overview</title>
<subtitle>Batik's modules explained</subtitle>
<authors>
<person name="Vincent Hardy" email="vincent.hardy@eng.sun.com"/>
@@ -25,8 +25,85 @@
<body>
<s1 title="Introduction">
- <p>Coming soon....</p>
- <p>In the meanwhile, UML diagrams for Batik are available following this <link href="http://opensource.objectsbydesign.com/batik/index.html">link.</link></p>
+ <p>This document briefly describes the Batik architecture and the role of each of
+ its modules. For detailed module design, you can refer to the
+ <link href="http://opensource.objectsbydesign.com/batik/index.html">Batik UML diagrams.</link></p>
+ <p>There are three types of components in the Batik archtitecture:</p>
+ <ul>
+ <li><link href="#applicationComponents">Application Components</link></li>
+ <li><link href="#coreComponents">Core Components</link></li>
+ <li><link href="#lowLevelComponents">Low Level Components</link></li>
+ </ul>
+ <p>The following figure illustrates these three components types. </p>
+ <figure src="images/HighLevelArchitecture.png" alt="Batik Architecture" />
+ <p>Application Components illustrate how to use
+ the Core Components and let users evaluate the Batik software easily by experimenting
+ with its features.</p>
+ <p>The Core Components are the heart of Batik and the primary deliverables for the
+ projects. These are the components that developers use to manipulate, generate, create,
+ convert and render SVG content</p>
+ <p>Finally, the Low Level Components are used internally by the Core Components to
+ accomplish their work. These components are not typically used by developers directly.</p>
+ </s1>
+
+ <anchor id="applicationComponents" />
+ <s1 title="Application Components">
+ <p>As mentioned earlier, the Application Components illustrate the functionalities that Batik
+ offers. </p>
+ <p>For example, the <link href="svgviewer.html">SVG Browser</link> is built using several
+ Batik Core Components (such as the <code>JSVGCanvas</code> GUI component or the <code>ImageTranscoder</code>s)
+ and illustrates how Batik lets you view, zoom, pan and rotate SVG documents, but also search them
+ and convert them to other formats (such as JPEG or PNG).</p>
+ <p>The <link href="svgpp">SVG Pretty Printer</link> is another example that shows how Batik
+ lets you manipulate and transform SVG content, here for the purposed of tidying up potentially
+ disorganized SVG files</p>
+ <p>The <link href="ttf2svg">SVG Font Converter</link> illustrates how Batik can help you embed
+ SVG Font definitions in SVG file by providing an application that converts ranges of characters
+ from a True Type Font format to the SVG Font format.</p>
+ <p>Finally, the <link href="svgrasterizer.html">SVG Rasterizer</link> shows how to leverage the
+ <link href="rasterizerTutorial">Transcoder API</link> to convert to and from SVG content</p>
+ <p>
+ Note that even though the Application Components are meant to be usefull and fun to use, they
+ are not the primary deliverables of the Batik project. Instead, they are illustrations of how the
+ Batik core components might be used and combined.</p>
+ </s1>
+
+ <anchor id="coreComponents" />
+ <s1 title="Core Components">
+ <p>The Batik core components are the heart of the Batik architecture. They can be used individually
+ or in combinations for various purposes, and the <link href="#applicationComponents">Application Components</link>
+ offer some usage examples.
+ </p>
+ <ul>
+ <li><link href="svggen.html"><code>SVGGraphics2D</code></link> is a modules that lets all
+ Java technology application easily convert their graphics to the SVG format, as easily as
+ they draw to a screen or a printer, by leveraging the Java 2D API's extensible design.</li>
+ <li><link href="domapi.html"><code>SVG DOM</code></link> an implementation of the SVG DOM API defined
+ in the SVG recommendation. It lets the programmer manipulate SVG documents in a Java program.</li>
+ <li><link href="jsvgcanvas.html"><code>JSVGCanvas</code></link> is a UI component that can display
+ SVG content and let the user interact with that content (zoom, pan, rotate, text selection, etc...)</li>
+ <li><code>Bridge</code> this component, more rarely used directly, can convert an
+ SVG document into the internal representation Batik uses for graphics, based on the
+ Graphic Vector Toolkit, GVT</li>
+ </ul>
+ </s1>
+
+ <anchor id="lowLevelComponents" />
+ <s1 title="Low Level Components">
+ <p>The Low Level Components are not expected to be used directly by developers using the Batik
+ API. Rather, they are supporting the operation of the Core Components. The Low Level Components
+ include:</p>
+ <ul>
+ <li>The <code>Graphic Vector Toolkit</code> (GVT), which represents a view of the DOM tree
+ that is more suitable for for rendering and event handling purposes. </li>
+ <li>The <code>Renderer</code> is responsible for rendering a GVT tree and perform any
+ type of task that may be necessary. For example, a raster based Renderer may perform
+ some caching (the default Renderer in Batik does that). However, a Renderer could perform
+ any task it deems necessary and does not have to be raster based.</li>
+ <li>The <code>Micro Parsers</code>. These are parsers for complex SVG attributes such as
+ <code>transform</code> or <code>color</code> attributes, which higher level modules
+ rely on</li>
+ </ul>
</s1>
</body>
</document>
1.3 +318 -263 xml-batik/xdocs/images/batikUses.jpg
<<Binary file>>
1.1 xml-batik/xdocs/images/HighLevelArchitecture.png
<<Binary file>>
---------------------------------------------------------------------
To unsubscribe, e-mail: batik-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: batik-dev-help@xml.apache.org