File: backends.html

package info (click to toggle)
xmlroff 0.6.2-1.1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 36,456 kB
  • sloc: ansic: 178,247; xml: 109,155; sh: 8,973; makefile: 1,331; perl: 30
file content (108 lines) | stat: -rw-r--r-- 5,499 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>FoDoc and xmlroff Backends</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
<meta name="description" content="Backends for writing xmlroff output">
<link rel="start" href="index.html" title="xmlroff Reference Manual">
<link rel="up" href="developers.html" title="Developers' Guide">
<link rel="prev" href="basic-interface.html" title="Basic Interface">
<link rel="next" href="object-hierarchy.html" title="Object Hierarchy">
<meta name="generator" content="GTK-Doc V1.10 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="users.html" title="Users' Guide">
<link rel="chapter" href="developers.html" title="Developers' Guide">
<link rel="chapter" href="object-hierarchy.html" title="Object Hierarchy">
<link rel="chapter" href="object.html" title="FoObject is wonderful">
<link rel="chapter" href="node.html" title="FoNode is wonderful">
<link rel="chapter" href="interfaces.html" title="Interfaces are truly wonderful">
<link rel="chapter" href="formatting-objects.html" title="Formatting Objects are truly wonderful">
<link rel="chapter" href="properties.html" title="Properties">
<link rel="chapter" href="areas.html" title="Area Objects">
<link rel="chapter" href="datatypes.html" title="Datatype Objects">
<link rel="chapter" href="context.html" title="Property Context Object">
<link rel="chapter" href="other-objects.html" title="Other Objects">
<link rel="chapter" href="utility-objects.html" title="Utility Objects">
<link rel="chapter" href="utility-modules.html" title="Utility Modules">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="basic-interface.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="developers.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">xmlroff Reference Manual</th>
<td><a accesskey="n" href="object-hierarchy.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr></table>
<div class="section" lang="en">
<div class="titlepage"><div>
<div><h2 class="title" style="clear: both">
<a name="backends"></a>FoDoc and xmlroff Backends</h2></div>
<div><h2 class="subtitle">Backends</h2></div>
<div><div class="abstract">
<p class="title"><b>Abstract</b></p>
<p>Backends for writing xmlroff output</p>
</div></div>
</div></div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="backends-text"></a>Backends</h3></div></div></div>
<p>xmlroff is built with one or more backends that do the work of
writing the output file, e.g., PostScript or PDF output.</p>
<p>The backends are based on other open source graphics libraries
that handle the details of the file formats.  xmlroff could have been
written to natively write PostScript, PDF, etc., but there's little
point doing that when libraries for doing that already exist (or now
exist, since, for example, the Cairo library on which the Cairo
backend is based is much newer than xmlroff).</p>
<p>The key requirement for a backend is that it is possible to
render Pango layouts using the backend.</p>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="yapc"></a>FoDoc is YAPC (Yet Another PostScript Clone)</h3></div></div></div>
<p>Graphics libraries seemingly all implement some variation on the
PostScript imaging model:</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term">Drawing is done at an active "point"</span></p></td>
<td><p>The "point" has a position, and you can move the
    "point" to an absolute or relative position on the drawing surface.</p></td>
</tr>
<tr>
<td><p><span class="term">There are a number of primitive graphic operations</span></p></td>
<td><p>Primitive operations exist for moving the point,
    drawing lines, arcs, and rectangles, and translating the origin of
    the coordinate system.</p></td>
</tr>
<tr>
<td><p><span class="term">Drawing is stateful</span></p></td>
<td><p>You can set, for example, the stroke colour, and
    that colour will be used by other drawing operations until you
    change it again.</p></td>
</tr>
<tr>
<td><p><span class="term">Graphic states can be saved on a stack</span></p></td>
<td><p>Graphic states can be saved and restored so you
    can, for example, save the state, change the stroke colour, draw
    something, then restore the state and, by doing so, restore the previous stroke
    colour, etc.</p></td>
</tr>
</tbody>
</table></div>
<p>Along with their similarities, graphic libraries have their
differences.  xmlroff hides the differences between backends by
implementing an abstract FoDoc object type that has functions for the
graphic operations that xmlroff uses.  Each backend is
implemented as a subtype of FoDoc.</p>
<p>So, as you would expect, FoDoc is yet another PostScript
clone.</p>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.10</div>
</body>
</html>