<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>The lglTemplate Structure</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<title>LibGlabels 3.0 Reference Manual: The lglTemplate Structure</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="LibGlabels 3.0 Reference Manual">
<link rel="up" href="ch01.html" title="Basic LibGlabels Usage">
<link rel="prev" href="libglabels-3.0-db.html" title="Database">
<link rel="next" href="libglabels-3.0-paper.html" title="The lglPaper Structure">
-<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.20 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</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="libglabels-3.0-db.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.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">LibGlabels 3.0 Reference Manual</th>
-<td><a accesskey="n" href="libglabels-3.0-paper.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#libglabels-3.0-template.synopsis" class="shortcut">Top</a>
- |
- <a href="#libglabels-3.0-template.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="10"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#libglabels-3.0-template.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span>
+ <a href="#libglabels-3.0-template.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="libglabels-3.0-db.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="libglabels-3.0-paper.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="libglabels-3.0-template"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<h2><span class="refentrytitle"><a name="libglabels-3.0-template.top_of_page"></a>The lglTemplate Structure</span></h2>
<p>The lglTemplate Structure — How templates are represented in memory</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="libglabels-3.0-template.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">
-#include <libglabels/lgl-template.h>
-
-struct <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate">lglTemplate</a>;
-
-enum <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameShape" title="enum lglTemplateFrameShape">lglTemplateFrameShape</a>;
-union <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame">lglTemplateFrame</a>;
-struct <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll">lglTemplateFrameAll</a>;
-struct <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameRect" title="struct lglTemplateFrameRect">lglTemplateFrameRect</a>;
-struct <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameEllipse" title="struct lglTemplateFrameEllipse">lglTemplateFrameEllipse</a>;
-struct <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameRound" title="struct lglTemplateFrameRound">lglTemplateFrameRound</a>;
-struct <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameCD" title="struct lglTemplateFrameCD">lglTemplateFrameCD</a>;
-
-struct <a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout">lglTemplateLayout</a>;
-
-enum <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupType" title="enum lglTemplateMarkupType">lglTemplateMarkupType</a>;
-union <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup">lglTemplateMarkup</a>;
-struct <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupMargin" title="struct lglTemplateMarkupMargin">lglTemplateMarkupMargin</a>;
-struct <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupLine" title="struct lglTemplateMarkupLine">lglTemplateMarkupLine</a>;
-struct <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupCircle" title="struct lglTemplateMarkupCircle">lglTemplateMarkupCircle</a>;
-struct <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupRect" title="struct lglTemplateMarkupRect">lglTemplateMarkupRect</a>;
-struct <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupEllipse" title="struct lglTemplateMarkupEllipse">lglTemplateMarkupEllipse</a>;
-
-struct <a class="link" href="libglabels-3.0-template.html#lglTemplateOrigin" title="struct lglTemplateOrigin">lglTemplateOrigin</a>;
-
-<a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="returnvalue">lglTemplate</span></a> * <a class="link" href="libglabels-3.0-template.html#lgl-template-new" title="lgl_template_new ()">lgl_template_new</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *brand</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *part</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *description</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *paper_id</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> page_width</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> page_height</code></em>);
-<a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="returnvalue">lglTemplate</span></a> * <a class="link" href="libglabels-3.0-template.html#lgl-template-new-from-equiv" title="lgl_template_new_from_equiv ()">lgl_template_new_from_equiv</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *brand</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *part</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *equiv_part</code></em>);
-<a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="returnvalue">lglTemplate</span></a> * <a class="link" href="libglabels-3.0-template.html#lgl-template-dup" title="lgl_template_dup ()">lgl_template_dup</a> (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *orig_template</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="libglabels-3.0-template.html#lgl-template-free" title="lgl_template_free ()">lgl_template_free</a> (<em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="libglabels-3.0-template.html#lgl-template-add-category" title="lgl_template_add_category ()">lgl_template_add_category</a> (<em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *category_id</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="libglabels-3.0-template.html#lgl-template-add-frame" title="lgl_template_add_frame ()">lgl_template_add_frame</a> (<em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template</code></em>,
- <em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>);
-
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="libglabels-3.0-template.html#lgl-template-get-name" title="lgl_template_get_name ()">lgl_template_get_name</a> (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="libglabels-3.0-template.html#lgl-template-do-templates-match" title="lgl_template_do_templates_match ()">lgl_template_do_templates_match</a> (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template1</code></em>,
- <em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template2</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="libglabels-3.0-template.html#lgl-template-does-brand-match" title="lgl_template_does_brand_match ()">lgl_template_does_brand_match</a> (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *brand</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="libglabels-3.0-template.html#lgl-template-does-page-size-match" title="lgl_template_does_page_size_match ()">lgl_template_does_page_size_match</a> (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *paper_id</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="libglabels-3.0-template.html#lgl-template-does-category-match" title="lgl_template_does_category_match ()">lgl_template_does_category_match</a> (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *category_id</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="libglabels-3.0-template.html#lgl-template-are-templates-identical" title="lgl_template_are_templates_identical ()">lgl_template_are_templates_identical</a>
- (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template1</code></em>,
- <em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template2</code></em>);
-
-<a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="returnvalue">lglTemplateFrame</span></a> * <a class="link" href="libglabels-3.0-template.html#lgl-template-frame-rect-new" title="lgl_template_frame_rect_new ()">lgl_template_frame_rect_new</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> w</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> h</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> r</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> x_waste</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> y_waste</code></em>);
-<a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="returnvalue">lglTemplateFrame</span></a> * <a class="link" href="libglabels-3.0-template.html#lgl-template-frame-ellipse-new" title="lgl_template_frame_ellipse_new ()">lgl_template_frame_ellipse_new</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> w</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> h</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> waste</code></em>);
-<a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="returnvalue">lglTemplateFrame</span></a> * <a class="link" href="libglabels-3.0-template.html#lgl-template-frame-round-new" title="lgl_template_frame_round_new ()">lgl_template_frame_round_new</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> r</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> waste</code></em>);
-<a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="returnvalue">lglTemplateFrame</span></a> * <a class="link" href="libglabels-3.0-template.html#lgl-template-frame-cd-new" title="lgl_template_frame_cd_new ()">lgl_template_frame_cd_new</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> r1</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> r2</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> w</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> h</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> waste</code></em>);
-<a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="returnvalue">lglTemplateFrame</span></a> * <a class="link" href="libglabels-3.0-template.html#lgl-template-frame-dup" title="lgl_template_frame_dup ()">lgl_template_frame_dup</a> (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *orig_frame</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="libglabels-3.0-template.html#lgl-template-frame-free" title="lgl_template_frame_free ()">lgl_template_frame_free</a> (<em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="libglabels-3.0-template.html#lgl-template-frame-add-layout" title="lgl_template_frame_add_layout ()">lgl_template_frame_add_layout</a> (<em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>,
- <em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout"><span class="type">lglTemplateLayout</span></a> *layout</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="libglabels-3.0-template.html#lgl-template-frame-add-markup" title="lgl_template_frame_add_markup ()">lgl_template_frame_add_markup</a> (<em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>,
- <em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="type">lglTemplateMarkup</span></a> *markup</code></em>);
-
-<span class="returnvalue">void</span> <a class="link" href="libglabels-3.0-template.html#lgl-template-frame-get-size" title="lgl_template_frame_get_size ()">lgl_template_frame_get_size</a> (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *w</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *h</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> <a class="link" href="libglabels-3.0-template.html#lgl-template-frame-get-n-labels" title="lgl_template_frame_get_n_labels ()">lgl_template_frame_get_n_labels</a> (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>);
-<a class="link" href="libglabels-3.0-template.html#lglTemplateOrigin" title="struct lglTemplateOrigin"><span class="returnvalue">lglTemplateOrigin</span></a> * <a class="link" href="libglabels-3.0-template.html#lgl-template-frame-get-origins" title="lgl_template_frame_get_origins ()">lgl_template_frame_get_origins</a> (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="libglabels-3.0-template.html#lgl-template-frame-get-layout-description" title="lgl_template_frame_get_layout_description ()">lgl_template_frame_get_layout_description</a>
- (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="libglabels-3.0-template.html#lgl-template-frame-get-size-description" title="lgl_template_frame_get_size_description ()">lgl_template_frame_get_size_description</a>
- (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>,
- <em class="parameter"><code><a class="link" href="libglabels-3.0-units.html#lglUnits" title="enum lglUnits"><span class="type">lglUnits</span></a> units</code></em>);
-
-<a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout"><span class="returnvalue">lglTemplateLayout</span></a> * <a class="link" href="libglabels-3.0-template.html#lgl-template-layout-new" title="lgl_template_layout_new ()">lgl_template_layout_new</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> nx</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> ny</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> x0</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> y0</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> dx</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> dy</code></em>);
-<a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout"><span class="returnvalue">lglTemplateLayout</span></a> * <a class="link" href="libglabels-3.0-template.html#lgl-template-layout-dup" title="lgl_template_layout_dup ()">lgl_template_layout_dup</a> (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout"><span class="type">lglTemplateLayout</span></a> *orig_layout</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="libglabels-3.0-template.html#lgl-template-layout-free" title="lgl_template_layout_free ()">lgl_template_layout_free</a> (<em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout"><span class="type">lglTemplateLayout</span></a> *layout</code></em>);
-
-<a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="returnvalue">lglTemplateMarkup</span></a> * <a class="link" href="libglabels-3.0-template.html#lgl-template-markup-margin-new" title="lgl_template_markup_margin_new ()">lgl_template_markup_margin_new</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> size</code></em>);
-<a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="returnvalue">lglTemplateMarkup</span></a> * <a class="link" href="libglabels-3.0-template.html#lgl-template-markup-line-new" title="lgl_template_markup_line_new ()">lgl_template_markup_line_new</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> x1</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> y1</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> x2</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> y2</code></em>);
-<a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="returnvalue">lglTemplateMarkup</span></a> * <a class="link" href="libglabels-3.0-template.html#lgl-template-markup-circle-new" title="lgl_template_markup_circle_new ()">lgl_template_markup_circle_new</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> x0</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> y0</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> r</code></em>);
-<a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="returnvalue">lglTemplateMarkup</span></a> * <a class="link" href="libglabels-3.0-template.html#lgl-template-markup-rect-new" title="lgl_template_markup_rect_new ()">lgl_template_markup_rect_new</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> x1</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> y1</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> w</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> h</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> r</code></em>);
-<a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="returnvalue">lglTemplateMarkup</span></a> * <a class="link" href="libglabels-3.0-template.html#lgl-template-markup-ellipse-new" title="lgl_template_markup_ellipse_new ()">lgl_template_markup_ellipse_new</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> x1</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> y1</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> w</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> h</code></em>);
-<a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="returnvalue">lglTemplateMarkup</span></a> * <a class="link" href="libglabels-3.0-template.html#lgl-template-markup-dup" title="lgl_template_markup_dup ()">lgl_template_markup_dup</a> (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="type">lglTemplateMarkup</span></a> *orig_markup</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="libglabels-3.0-template.html#lgl-template-markup-free" title="lgl_template_markup_free ()">lgl_template_markup_free</a> (<em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="type">lglTemplateMarkup</span></a> *markup</code></em>);
-
-<span class="returnvalue">void</span> <a class="link" href="libglabels-3.0-template.html#lgl-template-print" title="lgl_template_print ()">lgl_template_print</a> (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template</code></em>);
-</pre>
-</div>
-<div class="refsect1">
-<a name="libglabels-3.0-template.description"></a><h2>Description</h2>
-<p>
-This section describes a set of structures that represent a template in memory. It also
-describes functions to help create and interpret these structures.
-</p>
-</div>
<div class="refsect1">
-<a name="libglabels-3.0-template.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="lglTemplate"></a><h3>struct lglTemplate</h3>
-<pre class="programlisting">struct lglTemplate {
- gchar *brand;
- gchar *part;
- gchar *equiv_part;
-
- gchar *description;
- gchar *paper_id;
- gdouble page_width;
- gdouble page_height;
-
- /* Meta information. */
- gchar *product_url; /* URL to manufacturer's product website. */
- GList *category_ids; /* List of (gchar *) category ids. */
-
- /* List of (lglTemplateFrame *) label frame structures.
- * Currently glabels only supports a single label frame per
- * template. */
- GList *frames;
-};
-</pre>
-<p>
-This is the main structure of a libglabels template. A template represents a single sheet
-of peel-off labels or cards.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<a name="libglabels-3.0-template.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="lglTemplate.brand"></a>brand</code></em>;</span></p></td>
-<td>Vendor or brand name of label or card. E.g. "Avery."</td>
+<td class="function_type">
+<a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="returnvalue">lglTemplate</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-new" title="lgl_template_new ()">lgl_template_new</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="lglTemplate.part"></a>part</code></em>;</span></p></td>
-<td>Part name or number of label or card. E.g. "8160."</td>
+<td class="function_type">
+<a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="returnvalue">lglTemplate</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-new-from-equiv" title="lgl_template_new_from_equiv ()">lgl_template_new_from_equiv</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="lglTemplate.equiv-part"></a>equiv_part</code></em>;</span></p></td>
-<td>Part name or number of a part with identical layout. Must be from same vendor.</td>
+<td class="function_type">
+<a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="returnvalue">lglTemplate</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-dup" title="lgl_template_dup ()">lgl_template_dup</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="lglTemplate.description"></a>description</code></em>;</span></p></td>
-<td>A description of the template. E.g. "Mailing labels."</td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-free" title="lgl_template_free ()">lgl_template_free</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="lglTemplate.paper-id"></a>paper_id</code></em>;</span></p></td>
-<td>A paper ID. E.g. "A4" or "US-Letter."</td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-add-category" title="lgl_template_add_category ()">lgl_template_add_category</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplate.page-width"></a>page_width</code></em>;</span></p></td>
-<td>Page width in points. Used only if paper_id is "Other."</td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-add-frame" title="lgl_template_add_frame ()">lgl_template_add_frame</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplate.page-height"></a>page_height</code></em>;</span></p></td>
-<td>Page height in points. Used only if paper_id is "Other."</td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-get-name" title="lgl_template_get_name ()">lgl_template_get_name</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="lglTemplate.product-url"></a>product_url</code></em>;</span></p></td>
-<td>URL to a webpage describing product.</td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-do-templates-match" title="lgl_template_do_templates_match ()">lgl_template_do_templates_match</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="lglTemplate.category-ids"></a>category_ids</code></em>;</span></p></td>
-<td>A list of category IDs that this template belongs to.</td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-does-brand-match" title="lgl_template_does_brand_match ()">lgl_template_does_brand_match</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="lglTemplate.frames"></a>frames</code></em>;</span></p></td>
-<td>A list of (<a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *) structures. GLabels currently only supports one frame
-per template -- future versions may support multiple frames per template.</td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-does-page-size-match" title="lgl_template_does_page_size_match ()">lgl_template_does_page_size_match</a> <span class="c_punctuation">()</span>
+</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="lglTemplateFrameShape"></a><h3>enum lglTemplateFrameShape</h3>
-<pre class="programlisting">typedef enum {
- LGL_TEMPLATE_FRAME_SHAPE_RECT,
- LGL_TEMPLATE_FRAME_SHAPE_ELLIPSE,
- LGL_TEMPLATE_FRAME_SHAPE_ROUND,
- LGL_TEMPLATE_FRAME_SHAPE_CD
-} lglTemplateFrameShape;
-</pre>
-<p>
-This enumeration defines frame types that are supported by libglabels
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
<tr>
-<td><p><a name="LGL-TEMPLATE-FRAME-SHAPE-RECT:CAPS"></a><span class="term"><code class="literal">LGL_TEMPLATE_FRAME_SHAPE_RECT</code></span></p></td>
-<td>A rectangular frame. (May have rounded corners.)
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-does-category-match" title="lgl_template_does_category_match ()">lgl_template_does_category_match</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="LGL-TEMPLATE-FRAME-SHAPE-ELLIPSE:CAPS"></a><span class="term"><code class="literal">LGL_TEMPLATE_FRAME_SHAPE_ELLIPSE</code></span></p></td>
-<td>An elliptical frame.
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-are-templates-identical" title="lgl_template_are_templates_identical ()">lgl_template_are_templates_identical</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="LGL-TEMPLATE-FRAME-SHAPE-ROUND:CAPS"></a><span class="term"><code class="literal">LGL_TEMPLATE_FRAME_SHAPE_ROUND</code></span></p></td>
-<td>A round frame.
+<td class="function_type">
+<a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="returnvalue">lglTemplateFrame</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-frame-rect-new" title="lgl_template_frame_rect_new ()">lgl_template_frame_rect_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="LGL-TEMPLATE-FRAME-SHAPE-CD:CAPS"></a><span class="term"><code class="literal">LGL_TEMPLATE_FRAME_SHAPE_CD</code></span></p></td>
-<td>A CD or DVD frame. (Includes credit-card style CDs.)
+<td class="function_type">
+<a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="returnvalue">lglTemplateFrame</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-frame-ellipse-new" title="lgl_template_frame_ellipse_new ()">lgl_template_frame_ellipse_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="lglTemplateFrame"></a><h3>union lglTemplateFrame</h3>
-<pre class="programlisting">union _lglTemplateFrame{
-
- lglTemplateFrameShape shape;
-
- lglTemplateFrameAll all;
- lglTemplateFrameRect rect;
- lglTemplateFrameEllipse ellipse;
- lglTemplateFrameRound round;
- lglTemplateFrameCD cd;
-};
-</pre>
-<p>
-A union of all possible frame structures. The type of structure is indicated by the shape
-member, which overlays the first field of all other member structures.
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="lglTemplateFrameAll"></a><h3>struct lglTemplateFrameAll</h3>
-<pre class="programlisting">struct lglTemplateFrameAll {
- /* Begin Common Fields */
- lglTemplateFrameShape shape;
-
- gchar *id; /* Id, currently always "0" */
- GList *layouts; /* List of lglTemplateLayouts */
- GList *markups; /* List of lglTemplateMarkups */
- /* End Common Fields */
-};
-</pre>
-<p>
-This structure is composed of a set of fields common to all frame structures. All frame types
-can be cast to this structure.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
<tr>
-<td><p><span class="term"><a class="link" href="libglabels-3.0-template.html#lglTemplateFrameShape" title="enum lglTemplateFrameShape"><span class="type">lglTemplateFrameShape</span></a> <em class="structfield"><code><a name="lglTemplateFrameAll.shape"></a>shape</code></em>;</span></p></td>
-<td>The shape of the frame.</td>
+<td class="function_type">
+<a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="returnvalue">lglTemplateFrame</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-frame-round-new" title="lgl_template_frame_round_new ()">lgl_template_frame_round_new</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="lglTemplateFrameAll.id"></a>id</code></em>;</span></p></td>
-<td>Reserved for future use. Should always be zero.</td>
+<td class="function_type">
+<a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="returnvalue">lglTemplateFrame</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-frame-cd-new" title="lgl_template_frame_cd_new ()">lgl_template_frame_cd_new</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="lglTemplateFrameAll.layouts"></a>layouts</code></em>;</span></p></td>
-<td>A list of (<a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout"><span class="type">lglTemplateLayout</span></a> *) structures. Typically a frame will have a single
-layout, representing a simple grid of labels or cards. If the layout of labels or cards is
-more complex, multiple (<a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout"><span class="type">lglTemplateLayout</span></a> *) structures may be needed.</td>
+<td class="function_type">
+<a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="returnvalue">lglTemplateFrame</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-frame-dup" title="lgl_template_frame_dup ()">lgl_template_frame_dup</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="lglTemplateFrameAll.markups"></a>markups</code></em>;</span></p></td>
-<td>A list of (<a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="type">lglTemplateMarkup</span></a> *) structures, which represent non-printing markup lines.</td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-frame-free" title="lgl_template_frame_free ()">lgl_template_frame_free</a> <span class="c_punctuation">()</span>
+</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="lglTemplateFrameRect"></a><h3>struct lglTemplateFrameRect</h3>
-<pre class="programlisting">struct lglTemplateFrameRect {
- /* Begin Common Fields */
- lglTemplateFrameShape shape; /* Always LGL_TEMPLATE_FRAME_SHAPE_RECT. */
-
- gchar *id; /* Id, currently always "0" */
- GList *layouts; /* List of lglTemplateLayouts */
- GList *markups; /* List of lglTemplateMarkups */
- /* End Common Fields */
-
- gdouble w; /* Width */
- gdouble h; /* Height */
- gdouble r; /* Corner radius */
- gdouble x_waste; /* Amount of horiz overprint allowed. */
- gdouble y_waste; /* Amount of vert overprint allowed. */
-};
-</pre>
-<p>
-This structure defines the frame for a rectangular label or card.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
<tr>
-<td><p><span class="term"><a class="link" href="libglabels-3.0-template.html#lglTemplateFrameShape" title="enum lglTemplateFrameShape"><span class="type">lglTemplateFrameShape</span></a> <em class="structfield"><code><a name="lglTemplateFrameRect.shape"></a>shape</code></em>;</span></p></td>
-<td>Common field. Always <a class="link" href="libglabels-3.0-template.html#LGL-TEMPLATE-FRAME-SHAPE-RECT:CAPS"><span class="type">LGL_TEMPLATE_FRAME_SHAPE_RECT</span></a> for <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameRect" title="struct lglTemplateFrameRect"><span class="type">lglTemplateFrameRect</span></a>.</td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-frame-add-layout" title="lgl_template_frame_add_layout ()">lgl_template_frame_add_layout</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-frame-add-markup" title="lgl_template_frame_add_markup ()">lgl_template_frame_add_markup</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="lglTemplateFrameRect.id"></a>id</code></em>;</span></p></td>
-<td>Common field. See <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll"><span class="type">lglTemplateFrameAll</span></a>.</td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-frame-get-size" title="lgl_template_frame_get_size ()">lgl_template_frame_get_size</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-frame-get-n-labels" title="lgl_template_frame_get_n_labels ()">lgl_template_frame_get_n_labels</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="lglTemplateFrameRect.layouts"></a>layouts</code></em>;</span></p></td>
-<td>Common field. See <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll"><span class="type">lglTemplateFrameAll</span></a>.</td>
+<td class="function_type">
+<a class="link" href="libglabels-3.0-template.html#lglTemplateOrigin" title="struct lglTemplateOrigin"><span class="returnvalue">lglTemplateOrigin</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-frame-get-origins" title="lgl_template_frame_get_origins ()">lgl_template_frame_get_origins</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="lglTemplateFrameRect.markups"></a>markups</code></em>;</span></p></td>
-<td>Common field. See <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll"><span class="type">lglTemplateFrameAll</span></a>.</td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-frame-get-layout-description" title="lgl_template_frame_get_layout_description ()">lgl_template_frame_get_layout_description</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameRect.w"></a>w</code></em>;</span></p></td>
-<td>Width of label or card in points.</td>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-frame-get-size-description" title="lgl_template_frame_get_size_description ()">lgl_template_frame_get_size_description</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameRect.h"></a>h</code></em>;</span></p></td>
-<td>Height of label or card in points.</td>
+<td class="function_type">
+<a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout"><span class="returnvalue">lglTemplateLayout</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-layout-new" title="lgl_template_layout_new ()">lgl_template_layout_new</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameRect.r"></a>r</code></em>;</span></p></td>
-<td>Radius of corners in points.</td>
+<td class="function_type">
+<a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout"><span class="returnvalue">lglTemplateLayout</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-layout-dup" title="lgl_template_layout_dup ()">lgl_template_layout_dup</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameRect.x-waste"></a>x_waste</code></em>;</span></p></td>
-<td>Amount of horizontal over-print to allow in points.</td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-layout-free" title="lgl_template_layout_free ()">lgl_template_layout_free</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameRect.y-waste"></a>y_waste</code></em>;</span></p></td>
-<td>Amount of vertical over-print to allow in points.</td>
+<td class="function_type">
+<a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="returnvalue">lglTemplateMarkup</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-markup-margin-new" title="lgl_template_markup_margin_new ()">lgl_template_markup_margin_new</a> <span class="c_punctuation">()</span>
+</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="lglTemplateFrameEllipse"></a><h3>struct lglTemplateFrameEllipse</h3>
-<pre class="programlisting">struct lglTemplateFrameEllipse {
- /* Begin Common Fields */
- lglTemplateFrameShape shape; /* Always LGL_TEMPLATE_FRAME_SHAPE_ELLIPSE. */
-
- gchar *id; /* Id, currently always "0" */
- GList *layouts; /* List of lglTemplateLayouts */
- GList *markups; /* List of lglTemplateMarkups */
- /* End Common Fields */
-
- gdouble w; /* Width */
- gdouble h; /* Height */
- gdouble waste; /* Amount of overprint allowed. */
-};
-</pre>
-<p>
-This structure defines the frame for an elliptical label or card.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
<tr>
-<td><p><span class="term"><a class="link" href="libglabels-3.0-template.html#lglTemplateFrameShape" title="enum lglTemplateFrameShape"><span class="type">lglTemplateFrameShape</span></a> <em class="structfield"><code><a name="lglTemplateFrameEllipse.shape"></a>shape</code></em>;</span></p></td>
-<td>Common field. Always <a class="link" href="libglabels-3.0-template.html#LGL-TEMPLATE-FRAME-SHAPE-ELLIPSE:CAPS"><span class="type">LGL_TEMPLATE_FRAME_SHAPE_ELLIPSE</span></a> for <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameEllipse" title="struct lglTemplateFrameEllipse"><span class="type">lglTemplateFrameEllipse</span></a>.</td>
+<td class="function_type">
+<a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="returnvalue">lglTemplateMarkup</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-markup-line-new" title="lgl_template_markup_line_new ()">lgl_template_markup_line_new</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="lglTemplateFrameEllipse.id"></a>id</code></em>;</span></p></td>
-<td>Common field. See <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll"><span class="type">lglTemplateFrameAll</span></a>.</td>
+<td class="function_type">
+<a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="returnvalue">lglTemplateMarkup</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-markup-circle-new" title="lgl_template_markup_circle_new ()">lgl_template_markup_circle_new</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="lglTemplateFrameEllipse.layouts"></a>layouts</code></em>;</span></p></td>
-<td>Common field. See <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll"><span class="type">lglTemplateFrameAll</span></a>.</td>
+<td class="function_type">
+<a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="returnvalue">lglTemplateMarkup</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-markup-rect-new" title="lgl_template_markup_rect_new ()">lgl_template_markup_rect_new</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="lglTemplateFrameEllipse.markups"></a>markups</code></em>;</span></p></td>
-<td>Common field. See <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll"><span class="type">lglTemplateFrameAll</span></a>.</td>
+<td class="function_type">
+<a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="returnvalue">lglTemplateMarkup</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-markup-ellipse-new" title="lgl_template_markup_ellipse_new ()">lgl_template_markup_ellipse_new</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameEllipse.w"></a>w</code></em>;</span></p></td>
-<td>Width of label or card in points.</td>
+<td class="function_type">
+<a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="returnvalue">lglTemplateMarkup</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-markup-dup" title="lgl_template_markup_dup ()">lgl_template_markup_dup</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameEllipse.h"></a>h</code></em>;</span></p></td>
-<td>Height of label or card in points.</td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-markup-free" title="lgl_template_markup_free ()">lgl_template_markup_free</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameEllipse.waste"></a>waste</code></em>;</span></p></td>
-<td>Amount of over-print to allow in points.</td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libglabels-3.0-template.html#lgl-template-print" title="lgl_template_print ()">lgl_template_print</a> <span class="c_punctuation">()</span>
+</td>
</tr>
</tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="lglTemplateFrameRound"></a><h3>struct lglTemplateFrameRound</h3>
-<pre class="programlisting">struct lglTemplateFrameRound {
- /* Begin Common Fields */
- lglTemplateFrameShape shape; /* Always LGL_TEMPLATE_FRAME_SHAPE_ROUND. */
-
- gchar *id; /* Id, currently always "0" */
- GList *layouts; /* List of lglTemplateLayouts */
- GList *markups; /* List of lglTemplateMarkups */
- /* End Common Fields */
-
- gdouble r; /* Radius */
- gdouble waste; /* Amount of overprint allowed. */
-};
-</pre>
-<p>
-This structure defines the frame for a round label or card.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<div class="refsect1">
+<a name="libglabels-3.0-template.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><a class="link" href="libglabels-3.0-template.html#lglTemplateFrameShape" title="enum lglTemplateFrameShape"><span class="type">lglTemplateFrameShape</span></a> <em class="structfield"><code><a name="lglTemplateFrameRound.shape"></a>shape</code></em>;</span></p></td>
-<td>Common field. Always <a class="link" href="libglabels-3.0-template.html#LGL-TEMPLATE-FRAME-SHAPE-ROUND:CAPS"><span class="type">LGL_TEMPLATE_FRAME_SHAPE_ROUND</span></a> for <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameRound" title="struct lglTemplateFrameRound"><span class="type">lglTemplateFrameRound</span></a>.</td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate">lglTemplate</a></td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="lglTemplateFrameRound.id"></a>id</code></em>;</span></p></td>
-<td>Common field. See <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll"><span class="type">lglTemplateFrameAll</span></a>.</td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="libglabels-3.0-template.html#lglTemplateFrameShape" title="enum lglTemplateFrameShape">lglTemplateFrameShape</a></td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="lglTemplateFrameRound.layouts"></a>layouts</code></em>;</span></p></td>
-<td>Common field. See <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll"><span class="type">lglTemplateFrameAll</span></a>.</td>
+<td class="datatype_keyword">union</td>
+<td class="function_name"><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame">lglTemplateFrame</a></td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="lglTemplateFrameRound.markups"></a>markups</code></em>;</span></p></td>
-<td>Common field. See <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll"><span class="type">lglTemplateFrameAll</span></a>.</td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll">lglTemplateFrameAll</a></td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameRound.r"></a>r</code></em>;</span></p></td>
-<td>Radius of label or card in points.</td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libglabels-3.0-template.html#lglTemplateFrameRect" title="struct lglTemplateFrameRect">lglTemplateFrameRect</a></td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameRound.waste"></a>waste</code></em>;</span></p></td>
-<td>Amount of over-print to allow in points.</td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libglabels-3.0-template.html#lglTemplateFrameEllipse" title="struct lglTemplateFrameEllipse">lglTemplateFrameEllipse</a></td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="lglTemplateFrameCD"></a><h3>struct lglTemplateFrameCD</h3>
-<pre class="programlisting">struct lglTemplateFrameCD {
- /* Begin Common Fields */
- lglTemplateFrameShape shape; /* Always LGL_TEMPLATE_FRAME_SHAPE_CD. */
-
- gchar *id; /* Id, currently always "0" */
- GList *layouts; /* List of lglTemplateLayouts */
- GList *markups; /* List of lglTemplateMarkups */
- /* End Common Fields */
-
- gdouble r1; /* Outer radius */
- gdouble r2; /* Inner radius (hole) */
- gdouble w; /* Clip width, business card CDs */
- gdouble h; /* Clip height, business card CDs */
- gdouble waste; /* Amount of overprint allowed. */
-};
-</pre>
-<p>
-This structure defines the frame for a CD or DVD label. This structure also supports
-credit-card CD labels.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
<tr>
-<td><p><span class="term"><a class="link" href="libglabels-3.0-template.html#lglTemplateFrameShape" title="enum lglTemplateFrameShape"><span class="type">lglTemplateFrameShape</span></a> <em class="structfield"><code><a name="lglTemplateFrameCD.shape"></a>shape</code></em>;</span></p></td>
-<td>Common field. Always <a class="link" href="libglabels-3.0-template.html#LGL-TEMPLATE-FRAME-SHAPE-CD:CAPS"><span class="type">LGL_TEMPLATE_FRAME_SHAPE_CD</span></a> for <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameCD" title="struct lglTemplateFrameCD"><span class="type">lglTemplateFrameCD</span></a>.</td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libglabels-3.0-template.html#lglTemplateFrameRound" title="struct lglTemplateFrameRound">lglTemplateFrameRound</a></td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="lglTemplateFrameCD.id"></a>id</code></em>;</span></p></td>
-<td>Common field. See <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll"><span class="type">lglTemplateFrameAll</span></a>.</td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libglabels-3.0-template.html#lglTemplateFrameCD" title="struct lglTemplateFrameCD">lglTemplateFrameCD</a></td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="lglTemplateFrameCD.layouts"></a>layouts</code></em>;</span></p></td>
-<td>Common field. See <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll"><span class="type">lglTemplateFrameAll</span></a>.</td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout">lglTemplateLayout</a></td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="lglTemplateFrameCD.markups"></a>markups</code></em>;</span></p></td>
-<td>Common field. See <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll"><span class="type">lglTemplateFrameAll</span></a>.</td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupType" title="enum lglTemplateMarkupType">lglTemplateMarkupType</a></td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameCD.r1"></a>r1</code></em>;</span></p></td>
-<td>Outer radius of label in points.</td>
+<td class="datatype_keyword">union</td>
+<td class="function_name"><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup">lglTemplateMarkup</a></td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameCD.r2"></a>r2</code></em>;</span></p></td>
-<td>Radius of center hole in points.</td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupMargin" title="struct lglTemplateMarkupMargin">lglTemplateMarkupMargin</a></td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameCD.w"></a>w</code></em>;</span></p></td>
-<td>Clip width in points. Used for credit-card CD labels. This field is ignored if zero.</td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupLine" title="struct lglTemplateMarkupLine">lglTemplateMarkupLine</a></td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameCD.h"></a>h</code></em>;</span></p></td>
-<td>Clip height in points. Used for credit-card CD labels. This field is ignored if zero.</td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupCircle" title="struct lglTemplateMarkupCircle">lglTemplateMarkupCircle</a></td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameCD.waste"></a>waste</code></em>;</span></p></td>
-<td>Amount of over-print to allow in points.</td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupRect" title="struct lglTemplateMarkupRect">lglTemplateMarkupRect</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupEllipse" title="struct lglTemplateMarkupEllipse">lglTemplateMarkupEllipse</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libglabels-3.0-template.html#lglTemplateOrigin" title="struct lglTemplateOrigin">lglTemplateOrigin</a></td>
</tr>
</tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="lglTemplateLayout"></a><h3>struct lglTemplateLayout</h3>
-<pre class="programlisting">struct lglTemplateLayout {
- gint nx; /* Number of labels across */
- gint ny; /* Number of labels up and down */
-
- gdouble x0; /* Left of grid from left edge of paper */
- gdouble y0; /* Top of grid from top edge of paper */
-
- gdouble dx; /* Horizontal pitch of grid */
- gdouble dy; /* Vertical pitch of grid */
-};
+<div class="refsect1">
+<a name="libglabels-3.0-template.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">
</pre>
+</div>
+<div class="refsect1">
+<a name="libglabels-3.0-template.includes"></a><h2>Includes</h2>
+<pre class="synopsis">#include <libglabels/lgl-template.h>
+</pre>
+</div>
+<div class="refsect1">
+<a name="libglabels-3.0-template.description"></a><h2>Description</h2>
<p>
-This structure defines a simple grid layout of labels or cards.
+This section describes a set of structures that represent a template in memory. It also
+describes functions to help create and interpret these structures.
</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+</div>
+<div class="refsect1">
+<a name="libglabels-3.0-template.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="lgl-template-new"></a><h3>lgl_template_new ()</h3>
+<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="returnvalue">lglTemplate</span></a> *
+lgl_template_new (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *brand</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *part</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *description</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *paper_id</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> page_width</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> page_height</code></em>);</pre>
+<p>Create a new template structure, with the given top-level attributes. The
+created template will have no initial categories, or frames associated with
+it. See <a class="link" href="libglabels-3.0-template.html#lgl-template-add-category" title="lgl_template_add_category ()"><code class="function">lgl_template_add_category()</code></a> and <a class="link" href="libglabels-3.0-template.html#lgl-template-add-frame" title="lgl_template_add_frame ()"><code class="function">lgl_template_add_frame()</code></a> to add
+these.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.2.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="lglTemplateLayout.nx"></a>nx</code></em>;</span></p></td>
-<td>Number of labels or cards across in the grid (horizontal).</td>
+<td class="parameter_name"><p>brand</p></td>
+<td class="parameter_description"><p>Template brand</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="lglTemplateLayout.ny"></a>ny</code></em>;</span></p></td>
-<td>Number of labels or cards down in the grid (vertical).</td>
+<td class="parameter_name"><p>part</p></td>
+<td class="parameter_description"><p>Template part name/number</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateLayout.x0"></a>x0</code></em>;</span></p></td>
-<td>Distance (in points) from the left edge of page to the left edge of the left column of
-cards or labels in the layout.</td>
+<td class="parameter_name"><p>description</p></td>
+<td class="parameter_description"><p>Template descriptions</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateLayout.y0"></a>y0</code></em>;</span></p></td>
-<td>Distance (in points) from the top edge of page to the top edge of the top row of
-cards or labels in the layout.</td>
+<td class="parameter_name"><p>paper_id</p></td>
+<td class="parameter_description"><p>Page size id</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateLayout.dx"></a>dx</code></em>;</span></p></td>
-<td>Horizontal pitch of grid in points. This is the distance from left edge to left edge
-(not the gap between labels or cards).</td>
+<td class="parameter_name"><p>page_width</p></td>
+<td class="parameter_description"><p>Page width in points, set to zero unless paper_id="Other"</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateLayout.dy"></a>dy</code></em>;</span></p></td>
-<td>Vertical pitch of grid in points. This is the distance from top edge to top edge
-(not the gap between labels or cards).</td>
+<td class="parameter_name"><p>page_height</p></td>
+<td class="parameter_description"><p>Page height in points, set to zero unless paper_id="Other"</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.2.6"></a><h4>Returns</h4>
+<p> pointer to a newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> structure.</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lglTemplateMarkupType"></a><h3>enum lglTemplateMarkupType</h3>
-<pre class="programlisting">typedef enum {
- LGL_TEMPLATE_MARKUP_MARGIN,
- LGL_TEMPLATE_MARKUP_LINE,
- LGL_TEMPLATE_MARKUP_CIRCLE,
- LGL_TEMPLATE_MARKUP_RECT,
- LGL_TEMPLATE_MARKUP_ELLIPSE
-} lglTemplateMarkupType;
-</pre>
-<p>
-This enumeration defines markup types that are supported by libglabels
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<a name="lgl-template-new-from-equiv"></a><h3>lgl_template_new_from_equiv ()</h3>
+<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="returnvalue">lglTemplate</span></a> *
+lgl_template_new_from_equiv (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *brand</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *part</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *equiv_part</code></em>);</pre>
+<p>Create a new template structure based on an existing template. The
+created template will be a duplicate of the original template, except with
+the new part name/number.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.3.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><a name="LGL-TEMPLATE-MARKUP-MARGIN:CAPS"></a><span class="term"><code class="literal">LGL_TEMPLATE_MARKUP_MARGIN</code></span></p></td>
-<td>A margin line around perimeter of label or card.
-</td>
-</tr>
-<tr>
-<td><p><a name="LGL-TEMPLATE-MARKUP-LINE:CAPS"></a><span class="term"><code class="literal">LGL_TEMPLATE_MARKUP_LINE</code></span></p></td>
-<td>A simple line segment.
-</td>
-</tr>
-<tr>
-<td><p><a name="LGL-TEMPLATE-MARKUP-CIRCLE:CAPS"></a><span class="term"><code class="literal">LGL_TEMPLATE_MARKUP_CIRCLE</code></span></p></td>
-<td>A circle.
-</td>
+<td class="parameter_name"><p>brand</p></td>
+<td class="parameter_description"><p>Template brand</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><a name="LGL-TEMPLATE-MARKUP-RECT:CAPS"></a><span class="term"><code class="literal">LGL_TEMPLATE_MARKUP_RECT</code></span></p></td>
-<td>A rectangle. Possibly with rounded corners.
-</td>
+<td class="parameter_name"><p>part</p></td>
+<td class="parameter_description"><p>Template part name/number</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><a name="LGL-TEMPLATE-MARKUP-ELLIPSE:CAPS"></a><span class="term"><code class="literal">LGL_TEMPLATE_MARKUP_ELLIPSE</code></span></p></td>
-<td>An ellipse.
-</td>
+<td class="parameter_name"><p>equiv_part</p></td>
+<td class="parameter_description"><p>Name of equivalent part to base template on</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.3.6"></a><h4>Returns</h4>
+<p> pointer to a newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> structure.</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lglTemplateMarkup"></a><h3>union lglTemplateMarkup</h3>
-<pre class="programlisting">union _lglTemplateMarkup {
-
- lglTemplateMarkupType type;
-
- lglTemplateMarkupMargin margin;
- lglTemplateMarkupLine line;
- lglTemplateMarkupCircle circle;
- lglTemplateMarkupRect rect;
- lglTemplateMarkupEllipse ellipse;
-};
-</pre>
-<p>
-A union of all possible markup structures. The type of structure is indicated by the type
-member, which overlays the first field of all other member structures.
-</p>
+<a name="lgl-template-dup"></a><h3>lgl_template_dup ()</h3>
+<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="returnvalue">lglTemplate</span></a> *
+lgl_template_dup (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *orig_template</code></em>);</pre>
+<p>This function duplicates a template structure.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.4.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>orig_template</p></td>
+<td class="parameter_description"><p>Template to duplicate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.4.6"></a><h4>Returns</h4>
+<p> a newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> structure.</p>
+<p></p>
+</div>
</div>
<hr>
<div class="refsect2">
-<a name="lglTemplateMarkupMargin"></a><h3>struct lglTemplateMarkupMargin</h3>
-<pre class="programlisting">struct lglTemplateMarkupMargin {
- lglTemplateMarkupType type; /* Always LGL_TEMPLATE_MARKUP_MARGIN */
-
- gdouble size; /* Margin size */
-};
-</pre>
-<p>
-This structure defines a simple margin markup around the perimeter of a label or card.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<a name="lgl-template-free"></a><h3>lgl_template_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+lgl_template_free (<em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template</code></em>);</pre>
+<p>This function frees all memory associated with given template structure.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.5.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>template</p></td>
+<td class="parameter_description"><p>Template to free.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="lgl-template-add-category"></a><h3>lgl_template_add_category ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+lgl_template_add_category (<em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *category_id</code></em>);</pre>
+<p>This function adds the given category ID to a templates category list.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.6.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupType" title="enum lglTemplateMarkupType"><span class="type">lglTemplateMarkupType</span></a> <em class="structfield"><code><a name="lglTemplateMarkupMargin.type"></a>type</code></em>;</span></p></td>
-<td>Common field. Always <a class="link" href="libglabels-3.0-template.html#LGL-TEMPLATE-MARKUP-MARGIN:CAPS"><span class="type">LGL_TEMPLATE_MARKUP_MARGIN</span></a> for <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupMargin" title="struct lglTemplateMarkupMargin"><span class="type">lglTemplateMarkupMargin</span></a>.</td>
+<td class="parameter_name"><p>template</p></td>
+<td class="parameter_description"><p>Pointer to template structure</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupMargin.size"></a>size</code></em>;</span></p></td>
-<td>Distance of margin from edge of label or card.</td>
+<td class="parameter_name"><p>category_id</p></td>
+<td class="parameter_description"><p>Category ID string</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lglTemplateMarkupLine"></a><h3>struct lglTemplateMarkupLine</h3>
-<pre class="programlisting">struct lglTemplateMarkupLine {
- lglTemplateMarkupType type; /* Always LGL_TEMPLATE_MARKUP_LINE */
-
- gdouble x1, y1; /* 1st endpoint */
- gdouble x2, y2; /* 2nd endpoint */
-};
-</pre>
-<p>
-This structure defines a simple line segment markup.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<a name="lgl-template-add-frame"></a><h3>lgl_template_add_frame ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+lgl_template_add_frame (<em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template</code></em>,
+ <em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>);</pre>
+<p>This function adds the given frame structure to the template. Once added,
+the frame structure belongs to the given template; do not attempt to free
+it.</p>
+<p>Note: Currently glabels only supports a single frame per template.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.7.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupType" title="enum lglTemplateMarkupType"><span class="type">lglTemplateMarkupType</span></a> <em class="structfield"><code><a name="lglTemplateMarkupLine.type"></a>type</code></em>;</span></p></td>
-<td>Common field. Always <a class="link" href="libglabels-3.0-template.html#LGL-TEMPLATE-MARKUP-LINE:CAPS"><span class="type">LGL_TEMPLATE_MARKUP_LINE</span></a> for <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupLine" title="struct lglTemplateMarkupLine"><span class="type">lglTemplateMarkupLine</span></a>.</td>
-</tr>
-<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupLine.x1"></a>x1</code></em>;</span></p></td>
-<td>Distance (in points) of first endpoint from left edge of label or card.</td>
-</tr>
-<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupLine.y1"></a>y1</code></em>;</span></p></td>
-<td>Distance (in points) of first endpoint from top edge of label or card.</td>
-</tr>
-<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupLine.x2"></a>x2</code></em>;</span></p></td>
-<td>Distance (in points) of second endpoint from left edge of label or card.</td>
+<td class="parameter_name"><p>template</p></td>
+<td class="parameter_description"><p>Pointer to template structure</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupLine.y2"></a>y2</code></em>;</span></p></td>
-<td>Distance (in points) of second endpoint from top edge of label or card.</td>
+<td class="parameter_name"><p>frame</p></td>
+<td class="parameter_description"><p>Pointer to frame structure</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lglTemplateMarkupCircle"></a><h3>struct lglTemplateMarkupCircle</h3>
-<pre class="programlisting">struct lglTemplateMarkupCircle {
- lglTemplateMarkupType type; /* Always LGL_TEMPLATE_MARKUP_CIRCLE */
-
- gdouble x0, y0; /* Center of circle */
- gdouble r; /* Radius of circle */
-};
-</pre>
-<p>
-This structure defines a simple circle markup.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<a name="lgl-template-get-name"></a><h3>lgl_template_get_name ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+lgl_template_get_name (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template</code></em>);</pre>
+<p>This function returns the name of the given template. The name is the concetenation
+of the brand and part name/number.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.8.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>template</p></td>
+<td class="parameter_description"><p>Pointer to template structure to test</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.8.6"></a><h4>Returns</h4>
+<p> A pointer to a newly allocated name string. Should be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="lgl-template-do-templates-match"></a><h3>lgl_template_do_templates_match ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+lgl_template_do_templates_match (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template1</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template2</code></em>);</pre>
+<p>This function tests if the given templates match. This is a simple test that only tests
+the brand and part name/number. It does not test if they are actually identical.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.9.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupType" title="enum lglTemplateMarkupType"><span class="type">lglTemplateMarkupType</span></a> <em class="structfield"><code><a name="lglTemplateMarkupCircle.type"></a>type</code></em>;</span></p></td>
-<td>Common field. Always <a class="link" href="libglabels-3.0-template.html#LGL-TEMPLATE-MARKUP-CIRCLE:CAPS"><span class="type">LGL_TEMPLATE_MARKUP_CIRCLE</span></a> for <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupCircle" title="struct lglTemplateMarkupCircle"><span class="type">lglTemplateMarkupCircle</span></a>.</td>
+<td class="parameter_name"><p>template1</p></td>
+<td class="parameter_description"><p>Pointer to 1st template structure to test</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupCircle.x0"></a>x0</code></em>;</span></p></td>
-<td>Distance (in points) of vertex from left edge of label or card.</td>
+<td class="parameter_name"><p>template2</p></td>
+<td class="parameter_description"><p>Pointer to 2nd template structure to test</p></td>
+<td class="parameter_annotations"> </td>
</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.9.6"></a><h4>Returns</h4>
+<p> TRUE if the two templates match.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="lgl-template-does-brand-match"></a><h3>lgl_template_does_brand_match ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+lgl_template_does_brand_match (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *brand</code></em>);</pre>
+<p>This function tests if the brand of the template matches the given brand.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.10.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupCircle.y0"></a>y0</code></em>;</span></p></td>
-<td>Distance (in points) of vertex from top edge of label or card.</td>
+<td class="parameter_name"><p>template</p></td>
+<td class="parameter_description"><p>Pointer to template structure to test</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupCircle.r"></a>r</code></em>;</span></p></td>
-<td>Radius of circle in points.</td>
+<td class="parameter_name"><p>brand</p></td>
+<td class="parameter_description"><p>Brand string</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.10.6"></a><h4>Returns</h4>
+<p> TRUE if the template matches the given brand.</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lglTemplateMarkupRect"></a><h3>struct lglTemplateMarkupRect</h3>
-<pre class="programlisting">struct lglTemplateMarkupRect {
- lglTemplateMarkupType type; /* Always LGL_TEMPLATE_MARKUP_RECT */
-
- gdouble x1, y1; /* Upper left corner */
- gdouble w, h; /* Width and height. */
- gdouble r; /* Radius of corners. */
-};
-</pre>
-<p>
-This structure defines a simple rectangle markup. The rectangle can have rounded corners.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<a name="lgl-template-does-page-size-match"></a><h3>lgl_template_does_page_size_match ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+lgl_template_does_page_size_match (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *paper_id</code></em>);</pre>
+<p>This function tests if the page size of the template matches the given ID.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.11.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupType" title="enum lglTemplateMarkupType"><span class="type">lglTemplateMarkupType</span></a> <em class="structfield"><code><a name="lglTemplateMarkupRect.type"></a>type</code></em>;</span></p></td>
-<td>Common field. Always <a class="link" href="libglabels-3.0-template.html#LGL-TEMPLATE-MARKUP-RECT:CAPS"><span class="type">LGL_TEMPLATE_MARKUP_RECT</span></a> for <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupRect" title="struct lglTemplateMarkupRect"><span class="type">lglTemplateMarkupRect</span></a>.</td>
+<td class="parameter_name"><p>template</p></td>
+<td class="parameter_description"><p>Pointer to template structure to test</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupRect.x1"></a>x1</code></em>;</span></p></td>
-<td>Distance (in points) of left edge of markup from left edge of label or card.</td>
+<td class="parameter_name"><p>paper_id</p></td>
+<td class="parameter_description"><p>Page size ID string</p></td>
+<td class="parameter_annotations"> </td>
</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.11.6"></a><h4>Returns</h4>
+<p> TRUE if the template matches the given page size ID.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="lgl-template-does-category-match"></a><h3>lgl_template_does_category_match ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+lgl_template_does_category_match (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *category_id</code></em>);</pre>
+<p>This function tests if the given template belongs to the given category ID.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.12.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupRect.y1"></a>y1</code></em>;</span></p></td>
-<td>Distance (in points) of top edge of markup from top edge of label or card.</td>
+<td class="parameter_name"><p>template</p></td>
+<td class="parameter_description"><p>Pointer to template structure to test</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupRect.w"></a>w</code></em>;</span></p></td>
-<td>Width of rectangle in points.</td>
+<td class="parameter_name"><p>category_id</p></td>
+<td class="parameter_description"><p>Category ID string</p></td>
+<td class="parameter_annotations"> </td>
</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.12.6"></a><h4>Returns</h4>
+<p> TRUE if the template matches the given category ID.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="lgl-template-are-templates-identical"></a><h3>lgl_template_are_templates_identical ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+lgl_template_are_templates_identical (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template1</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template2</code></em>);</pre>
+<p>This function tests if the given templates have identical size and layout properties.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.13.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupRect.h"></a>h</code></em>;</span></p></td>
-<td>Height of rectangle in points.</td>
+<td class="parameter_name"><p>template1</p></td>
+<td class="parameter_description"><p>Pointer to 1st template structure to test</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupRect.r"></a>r</code></em>;</span></p></td>
-<td>Radius of corners in points. Should be zero for sharp corners.</td>
+<td class="parameter_name"><p>template2</p></td>
+<td class="parameter_description"><p>Pointer to 2nd template structure to test</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.13.6"></a><h4>Returns</h4>
+<p> TRUE if the two templates are identical.</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lglTemplateMarkupEllipse"></a><h3>struct lglTemplateMarkupEllipse</h3>
-<pre class="programlisting">struct lglTemplateMarkupEllipse {
- lglTemplateMarkupType type; /* Always LGL_TEMPLATE_MARKUP_ELLIPSE */
-
- gdouble x1, y1; /* Upper left corner */
- gdouble w, h; /* Width and height. */
-};
-</pre>
-<p>
-This structure defines a simple elliptical markup.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<a name="lgl-template-frame-rect-new"></a><h3>lgl_template_frame_rect_new ()</h3>
+<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="returnvalue">lglTemplateFrame</span></a> *
+lgl_template_frame_rect_new (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> w</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> h</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> r</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> x_waste</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> y_waste</code></em>);</pre>
+<p>This function creates a new template frame for a rectangular label or card.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.14.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupType" title="enum lglTemplateMarkupType"><span class="type">lglTemplateMarkupType</span></a> <em class="structfield"><code><a name="lglTemplateMarkupEllipse.type"></a>type</code></em>;</span></p></td>
-<td>Common field. Always <a class="link" href="libglabels-3.0-template.html#LGL-TEMPLATE-MARKUP-ELLIPSE:CAPS"><span class="type">LGL_TEMPLATE_MARKUP_ELLIPSE</span></a> for <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupEllipse" title="struct lglTemplateMarkupEllipse"><span class="type">lglTemplateMarkupEllipse</span></a>.</td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>ID of frame. (This should currently always be "0").</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupEllipse.x1"></a>x1</code></em>;</span></p></td>
-<td>Distance (in points) of left edge of markup from left edge of label or card.</td>
+<td class="parameter_name"><p>w</p></td>
+<td class="parameter_description"><p>width of frame in points.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupEllipse.y1"></a>y1</code></em>;</span></p></td>
-<td>Distance (in points) of top edge of markup from top edge of label or card.</td>
+<td class="parameter_name"><p>h</p></td>
+<td class="parameter_description"><p>height of frame in points.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupEllipse.w"></a>w</code></em>;</span></p></td>
-<td>Width of rectangle in points.</td>
+<td class="parameter_name"><p>r</p></td>
+<td class="parameter_description"><p>radius of rounded corners in points. (Should be 0 for square corners.)</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupEllipse.h"></a>h</code></em>;</span></p></td>
-<td>Height of rectangle in points.</td>
+<td class="parameter_name"><p>x_waste</p></td>
+<td class="parameter_description"><p>Amount of overprint to allow in the horizontal direction.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>y_waste</p></td>
+<td class="parameter_description"><p>Amount of overprint to allow in the vertical direction.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.14.6"></a><h4>Returns</h4>
+<p> Pointer to newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> structure.</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lglTemplateOrigin"></a><h3>struct lglTemplateOrigin</h3>
-<pre class="programlisting">struct lglTemplateOrigin {
- gdouble x, y; /* Label origin relative to upper
- * upper left hand corner of paper */
-};
-</pre>
-<p>
-This structure represents the cartesian coordinates of the origin of a label or card on the page.
-The orign is the upper left corner of the extent of the label or card. These coordinates are
-relative to the upper left corner of the page.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<a name="lgl-template-frame-ellipse-new"></a><h3>lgl_template_frame_ellipse_new ()</h3>
+<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="returnvalue">lglTemplateFrame</span></a> *
+lgl_template_frame_ellipse_new (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> w</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> h</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> waste</code></em>);</pre>
+<p>This function creates a new template frame for an elliptical label or card.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.15.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateOrigin.x"></a>x</code></em>;</span></p></td>
-<td>Distance in points from top edge of page.</td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>ID of frame. (This should currently always be "0").</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>w</p></td>
+<td class="parameter_description"><p>width of frame in points.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>h</p></td>
+<td class="parameter_description"><p>height of frame in points.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateOrigin.y"></a>y</code></em>;</span></p></td>
-<td>Distance in points from left edge of page.</td>
+<td class="parameter_name"><p>waste</p></td>
+<td class="parameter_description"><p>Amount of overprint to allow in points.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.15.6"></a><h4>Returns</h4>
+<p> Pointer to newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> structure.</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-new"></a><h3>lgl_template_new ()</h3>
-<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="returnvalue">lglTemplate</span></a> * lgl_template_new (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *brand</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *part</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *description</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *paper_id</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> page_width</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> page_height</code></em>);</pre>
-<p>
-Create a new template structure, with the given top-level attributes. The
-created template will have no initial categories, or frames associated with
-it. See <a class="link" href="libglabels-3.0-template.html#lgl-template-add-category" title="lgl_template_add_category ()"><code class="function">lgl_template_add_category()</code></a> and <a class="link" href="libglabels-3.0-template.html#lgl-template-add-frame" title="lgl_template_add_frame ()"><code class="function">lgl_template_add_frame()</code></a> to add
-these.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<a name="lgl-template-frame-round-new"></a><h3>lgl_template_frame_round_new ()</h3>
+<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="returnvalue">lglTemplateFrame</span></a> *
+lgl_template_frame_round_new (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> r</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> waste</code></em>);</pre>
+<p>This function creates a new template frame for a round label.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.16.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>brand</code></em> :</span></p></td>
-<td>Template brand</td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>ID of frame. (This should currently always be "0").</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>part</code></em> :</span></p></td>
-<td>Template part name/number</td>
+<td class="parameter_name"><p>r</p></td>
+<td class="parameter_description"><p>radius of label in points.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>waste</p></td>
+<td class="parameter_description"><p>Amount of overprint to allow.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.16.6"></a><h4>Returns</h4>
+<p> Pointer to newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> structure.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="lgl-template-frame-cd-new"></a><h3>lgl_template_frame_cd_new ()</h3>
+<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="returnvalue">lglTemplateFrame</span></a> *
+lgl_template_frame_cd_new (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> r1</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> r2</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> w</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> h</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> waste</code></em>);</pre>
+<p>This function creates a new template frame for a CD/DVD label.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.17.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>ID of frame. (This should currently always be "0").</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>description</code></em> :</span></p></td>
-<td>Template descriptions</td>
+<td class="parameter_name"><p>r1</p></td>
+<td class="parameter_description"><p>outer radius of label in points.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>paper_id</code></em> :</span></p></td>
-<td>Page size id</td>
+<td class="parameter_name"><p>r2</p></td>
+<td class="parameter_description"><p>radius of center hole in points.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>page_width</code></em> :</span></p></td>
-<td>Page width in points, set to zero unless paper_id="Other"</td>
+<td class="parameter_name"><p>w</p></td>
+<td class="parameter_description"><p>clip width of frame in points for business card CDs. Should be 0 for no clipping.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>page_height</code></em> :</span></p></td>
-<td>Page height in points, set to zero unless paper_id="Other"</td>
+<td class="parameter_name"><p>h</p></td>
+<td class="parameter_description"><p>clip height of frame in points for business card CDs. Should be 0 for no clipping.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>pointer to a newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> structure.</td>
+<td class="parameter_name"><p>waste</p></td>
+<td class="parameter_description"><p>Amount of overprint to allow.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.17.6"></a><h4>Returns</h4>
+<p> Pointer to newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> structure.</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-new-from-equiv"></a><h3>lgl_template_new_from_equiv ()</h3>
-<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="returnvalue">lglTemplate</span></a> * lgl_template_new_from_equiv (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *brand</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *part</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *equiv_part</code></em>);</pre>
-<p>
-Create a new template structure based on an existing template. The
-created template will be a duplicate of the original template, except with
-the new part name/number.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<a name="lgl-template-frame-dup"></a><h3>lgl_template_frame_dup ()</h3>
+<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="returnvalue">lglTemplateFrame</span></a> *
+lgl_template_frame_dup (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *orig_frame</code></em>);</pre>
+<p>This function duplicates a template frame structure.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.18.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>orig_frame</p></td>
+<td class="parameter_description"><p>Frame to duplicate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.18.6"></a><h4>Returns</h4>
+<p> a newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> structure.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="lgl-template-frame-free"></a><h3>lgl_template_frame_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+lgl_template_frame_free (<em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>);</pre>
+<p>This function frees all memory associated with given template frame structure.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.19.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>frame</p></td>
+<td class="parameter_description"><p>Frame to free.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="lgl-template-frame-add-layout"></a><h3>lgl_template_frame_add_layout ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+lgl_template_frame_add_layout (<em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>,
+ <em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout"><span class="type">lglTemplateLayout</span></a> *layout</code></em>);</pre>
+<p>This function adds a layout structure to the given template frame.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.20.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>brand</code></em> :</span></p></td>
-<td>Template brand</td>
+<td class="parameter_name"><p>frame</p></td>
+<td class="parameter_description"><p>Pointer to template frame to add layout to.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>part</code></em> :</span></p></td>
-<td>Template part name/number</td>
+<td class="parameter_name"><p>layout</p></td>
+<td class="parameter_description"><p>Pointer to layout structure to add to frame.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="lgl-template-frame-add-markup"></a><h3>lgl_template_frame_add_markup ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+lgl_template_frame_add_markup (<em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>,
+ <em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="type">lglTemplateMarkup</span></a> *markup</code></em>);</pre>
+<p>This function adds a markup structure to the given template frame.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.21.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>equiv_part</code></em> :</span></p></td>
-<td>Name of equivalent part to base template on</td>
+<td class="parameter_name"><p>frame</p></td>
+<td class="parameter_description"><p>Pointer to template frame to add markup to.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>pointer to a newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> structure.</td>
+<td class="parameter_name"><p>markup</p></td>
+<td class="parameter_description"><p>Pointer to markup structure to add to frame.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-dup"></a><h3>lgl_template_dup ()</h3>
-<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="returnvalue">lglTemplate</span></a> * lgl_template_dup (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *orig_template</code></em>);</pre>
-<p>
-This function duplicates a template structure.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<a name="lgl-template-frame-get-size"></a><h3>lgl_template_frame_get_size ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+lgl_template_frame_get_size (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *w</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *h</code></em>);</pre>
+<p>Get size (width and height) of given <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> in points.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.22.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>orig_template</code></em> :</span></p></td>
-<td>Template to duplicate.</td>
+<td class="parameter_name"><p>frame</p></td>
+<td class="parameter_description"><p><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> structure to query</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>w</p></td>
+<td class="parameter_description"><p>pointer to location to receive width of frame</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> structure.</td>
+<td class="parameter_name"><p>h</p></td>
+<td class="parameter_description"><p>pointer to location to receive height of frame</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-free"></a><h3>lgl_template_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> lgl_template_free (<em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template</code></em>);</pre>
-<p>
-This function frees all memory associated with given template structure.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<a name="lgl-template-frame-get-n-labels"></a><h3>lgl_template_frame_get_n_labels ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+lgl_template_frame_get_n_labels (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>);</pre>
+<p>Get total number of labels per sheet corresponding to the given frame.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.23.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>template</code></em> :</span></p></td>
-<td>Template to free.</td>
+<td class="parameter_name"><p>frame</p></td>
+<td class="parameter_description"><p><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> structure to query</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.23.6"></a><h4>Returns</h4>
+<p> number of labels per sheet.</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-add-category"></a><h3>lgl_template_add_category ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> lgl_template_add_category (<em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *category_id</code></em>);</pre>
-<p>
-This function adds the given category ID to a templates category list.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<a name="lgl-template-frame-get-origins"></a><h3>lgl_template_frame_get_origins ()</h3>
+<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateOrigin" title="struct lglTemplateOrigin"><span class="returnvalue">lglTemplateOrigin</span></a> *
+lgl_template_frame_get_origins (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>);</pre>
+<p>Get an array of label origins for the given frame. These origins represent the
+upper left hand corner of each label on a page corresponding to the given frame.
+The origins will be ordered geometrically left to right and then top to bottom.
+The array should be freed using <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.24.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>frame</p></td>
+<td class="parameter_description"><p><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> structure to query</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.24.6"></a><h4>Returns</h4>
+<p> A newly allocated array of <a class="link" href="libglabels-3.0-template.html#lglTemplateOrigin" title="struct lglTemplateOrigin"><span class="type">lglTemplateOrigin</span></a> structures.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="lgl-template-frame-get-layout-description"></a><h3>lgl_template_frame_get_layout_description ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+lgl_template_frame_get_layout_description
+ (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>);</pre>
+<p>Get a description of the label layout including number of labels per sheet.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.25.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>frame</p></td>
+<td class="parameter_description"><p><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> structure to query</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.25.6"></a><h4>Returns</h4>
+<p> a newly allocation description string.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="lgl-template-frame-get-size-description"></a><h3>lgl_template_frame_get_size_description ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+lgl_template_frame_get_size_description
+ (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>,
+ <em class="parameter"><code><a class="link" href="libglabels-3.0-units.html#lglUnits" title="enum lglUnits"><span class="type">lglUnits</span></a> units</code></em>);</pre>
+<p>Get a description of the label size.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.26.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>template</code></em> :</span></p></td>
-<td>Pointer to template structure</td>
+<td class="parameter_name"><p>frame</p></td>
+<td class="parameter_description"><p><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> structure to query</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>category_id</code></em> :</span></p></td>
-<td>Category ID string</td>
+<td class="parameter_name"><p>units</p></td>
+<td class="parameter_description"><p><a class="link" href="libglabels-3.0-units.html#lglUnits" title="enum lglUnits"><span class="type">lglUnits</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.26.6"></a><h4>Returns</h4>
+<p> a newly allocation description string.</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-add-frame"></a><h3>lgl_template_add_frame ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> lgl_template_add_frame (<em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template</code></em>,
- <em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>);</pre>
-<p>
-This function adds the given frame structure to the template. Once added,
-the frame structure belongs to the given template; do not attempt to free
-it.
-</p>
-<p>
-Note: Currently glabels only supports a single frame per template.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<a name="lgl-template-layout-new"></a><h3>lgl_template_layout_new ()</h3>
+<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout"><span class="returnvalue">lglTemplateLayout</span></a> *
+lgl_template_layout_new (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> nx</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> ny</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> x0</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> y0</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> dx</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> dy</code></em>);</pre>
+<p>This function creates a new layout structure with the given parameters.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.27.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>template</code></em> :</span></p></td>
-<td>Pointer to template structure</td>
+<td class="parameter_name"><p>nx</p></td>
+<td class="parameter_description"><p>Number of labels across.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ny</p></td>
+<td class="parameter_description"><p>Number of labels down.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>x0</p></td>
+<td class="parameter_description"><p>X coordinate of the top-left corner of the top-left label in the layout in points.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
-<td>Pointer to frame structure</td>
+<td class="parameter_name"><p>y0</p></td>
+<td class="parameter_description"><p>Y coordinate of the top-left corner of the top-left label in the layout in points.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>dx</p></td>
+<td class="parameter_description"><p>Horizontal pitch in points. This is the distance from left-edge to left-edge.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>dy</p></td>
+<td class="parameter_description"><p>Vertical pitch in points. This is the distance from top-edge to top-edge.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.27.6"></a><h4>Returns</h4>
+<p> a newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout"><span class="type">lglTemplateLayout</span></a> structure.</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-get-name"></a><h3>lgl_template_get_name ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * lgl_template_get_name (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template</code></em>);</pre>
-<p>
-This function returns the name of the given template. The name is the concetenation
-of the brand and part name/number.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<a name="lgl-template-layout-dup"></a><h3>lgl_template_layout_dup ()</h3>
+<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout"><span class="returnvalue">lglTemplateLayout</span></a> *
+lgl_template_layout_dup (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout"><span class="type">lglTemplateLayout</span></a> *orig_layout</code></em>);</pre>
+<p>This function duplicates a template layout structure.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.28.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>orig_layout</p></td>
+<td class="parameter_description"><p>Layout to duplicate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.28.6"></a><h4>Returns</h4>
+<p> a newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout"><span class="type">lglTemplateLayout</span></a> structure.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="lgl-template-layout-free"></a><h3>lgl_template_layout_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+lgl_template_layout_free (<em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout"><span class="type">lglTemplateLayout</span></a> *layout</code></em>);</pre>
+<p>This function frees all memory associated with given template layout structure.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.29.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>layout</p></td>
+<td class="parameter_description"><p>Layout to free.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="lgl-template-markup-margin-new"></a><h3>lgl_template_markup_margin_new ()</h3>
+<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="returnvalue">lglTemplateMarkup</span></a> *
+lgl_template_markup_margin_new (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> size</code></em>);</pre>
+<p>This function creates a new margin markup structure.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.30.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>margin size in points.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.30.6"></a><h4>Returns</h4>
+<p> a newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="type">lglTemplateMarkup</span></a> structure.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="lgl-template-markup-line-new"></a><h3>lgl_template_markup_line_new ()</h3>
+<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="returnvalue">lglTemplateMarkup</span></a> *
+lgl_template_markup_line_new (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> x1</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> y1</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> x2</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> y2</code></em>);</pre>
+<p>This function creates a new line markup structure.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.31.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>template</code></em> :</span></p></td>
-<td>Pointer to template structure to test</td>
+<td class="parameter_name"><p>x1</p></td>
+<td class="parameter_description"><p>x coordinate of first endpoint.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>y1</p></td>
+<td class="parameter_description"><p>y coordinate of first endpoint.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>x2</p></td>
+<td class="parameter_description"><p>x coordinate of second endpoint.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>A pointer to a newly allocated name string. Should be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>.</td>
+<td class="parameter_name"><p>y2</p></td>
+<td class="parameter_description"><p>y coordinate of second endpoint.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.31.6"></a><h4>Returns</h4>
+<p> a newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="type">lglTemplateMarkup</span></a> structure.</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-do-templates-match"></a><h3>lgl_template_do_templates_match ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> lgl_template_do_templates_match (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template1</code></em>,
- <em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template2</code></em>);</pre>
-<p>
-This function tests if the given templates match. This is a simple test that only tests
-the brand and part name/number. It does not test if they are actually identical.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<a name="lgl-template-markup-circle-new"></a><h3>lgl_template_markup_circle_new ()</h3>
+<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="returnvalue">lglTemplateMarkup</span></a> *
+lgl_template_markup_circle_new (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> x0</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> y0</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> r</code></em>);</pre>
+<p>This function creates a new circle markup structure.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.32.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>template1</code></em> :</span></p></td>
-<td>Pointer to 1st template structure to test</td>
+<td class="parameter_name"><p>x0</p></td>
+<td class="parameter_description"><p>x coordinate of center of circle.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>template2</code></em> :</span></p></td>
-<td>Pointer to 2nd template structure to test</td>
+<td class="parameter_name"><p>y0</p></td>
+<td class="parameter_description"><p>y coordinate of center of circle.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>TRUE if the two templates match.</td>
+<td class="parameter_name"><p>r</p></td>
+<td class="parameter_description"><p>radius of circle.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.32.6"></a><h4>Returns</h4>
+<p> a newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="type">lglTemplateMarkup</span></a> structure.</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-does-brand-match"></a><h3>lgl_template_does_brand_match ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> lgl_template_does_brand_match (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *brand</code></em>);</pre>
-<p>
-This function tests if the brand of the template matches the given brand.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<a name="lgl-template-markup-rect-new"></a><h3>lgl_template_markup_rect_new ()</h3>
+<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="returnvalue">lglTemplateMarkup</span></a> *
+lgl_template_markup_rect_new (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> x1</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> y1</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> w</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> h</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> r</code></em>);</pre>
+<p>This function creates a new rectangle markup structure.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.33.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>template</code></em> :</span></p></td>
-<td>Pointer to template structure to test</td>
+<td class="parameter_name"><p>x1</p></td>
+<td class="parameter_description"><p>x coordinate of top-left corner of rectangle.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>y1</p></td>
+<td class="parameter_description"><p>y coordinate of top-left corner of rectangle.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>w</p></td>
+<td class="parameter_description"><p>width of rectangle.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>brand</code></em> :</span></p></td>
-<td>Brand string</td>
+<td class="parameter_name"><p>h</p></td>
+<td class="parameter_description"><p>height of rectangle.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>TRUE if the template matches the given brand.</td>
+<td class="parameter_name"><p>r</p></td>
+<td class="parameter_description"><p>radius of rounded corner.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.33.6"></a><h4>Returns</h4>
+<p> a newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="type">lglTemplateMarkup</span></a> structure.</p>
+<p></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-does-page-size-match"></a><h3>lgl_template_does_page_size_match ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> lgl_template_does_page_size_match (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *paper_id</code></em>);</pre>
-<p>
-This function tests if the page size of the template matches the given ID.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<a name="lgl-template-markup-ellipse-new"></a><h3>lgl_template_markup_ellipse_new ()</h3>
+<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="returnvalue">lglTemplateMarkup</span></a> *
+lgl_template_markup_ellipse_new (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> x1</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> y1</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> w</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> h</code></em>);</pre>
+<p>This function creates a new ellipse markup structure.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.34.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>template</code></em> :</span></p></td>
-<td>Pointer to template structure to test</td>
+<td class="parameter_name"><p>x1</p></td>
+<td class="parameter_description"><p>x coordinate of top-left corner of ellipse.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>y1</p></td>
+<td class="parameter_description"><p>y coordinate of top-left corner of ellipse.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>paper_id</code></em> :</span></p></td>
-<td>Page size ID string</td>
+<td class="parameter_name"><p>w</p></td>
+<td class="parameter_description"><p>width of ellipse.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>TRUE if the template matches the given page size ID.</td>
+<td class="parameter_name"><p>h</p></td>
+<td class="parameter_description"><p>height of ellipse.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.34.6"></a><h4>Returns</h4>
+<p> a newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="type">lglTemplateMarkup</span></a> structure.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="lgl-template-markup-dup"></a><h3>lgl_template_markup_dup ()</h3>
+<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="returnvalue">lglTemplateMarkup</span></a> *
+lgl_template_markup_dup (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="type">lglTemplateMarkup</span></a> *orig_markup</code></em>);</pre>
+<p>This function duplicates a template markup structure.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.35.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>orig_markup</p></td>
+<td class="parameter_description"><p>Markup to duplicate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.3.8.35.6"></a><h4>Returns</h4>
+<p> a newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="type">lglTemplateMarkup</span></a> structure.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="lgl-template-markup-free"></a><h3>lgl_template_markup_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+lgl_template_markup_free (<em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="type">lglTemplateMarkup</span></a> *markup</code></em>);</pre>
+<p>This function frees all memory associated with given template markup structure.</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.36.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>markup</p></td>
+<td class="parameter_description"><p>Markup to free.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-does-category-match"></a><h3>lgl_template_does_category_match ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> lgl_template_does_category_match (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *category_id</code></em>);</pre>
+<a name="lgl-template-print"></a><h3>lgl_template_print ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+lgl_template_print (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template</code></em>);</pre>
+<p>Print template details (for debugging purposes).</p>
+<div class="refsect3">
+<a name="id-1.2.3.8.37.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>template</p></td>
+<td class="parameter_description"><p>template</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="libglabels-3.0-template.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="lglTemplate"></a><h3>struct lglTemplate</h3>
+<pre class="programlisting">struct lglTemplate {
+ gchar *brand;
+ gchar *part;
+ gchar *equiv_part;
+
+ gchar *description;
+ gchar *paper_id;
+ gdouble page_width;
+ gdouble page_height;
+
+ /* Meta information. */
+ gchar *product_url; /* URL to manufacturer's product website. */
+ GList *category_ids; /* List of (gchar *) category ids. */
+
+ /* List of (lglTemplateFrame *) label frame structures.
+ * Currently glabels only supports a single label frame per
+ * template. */
+ GList *frames;
+};
+</pre>
<p>
-This function tests if the given template belongs to the given category ID.
+This is the main structure of a libglabels template. A template represents a single sheet
+of peel-off labels or cards.
</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<div class="refsect3">
+<a name="id-1.2.3.9.2.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>template</code></em> :</span></p></td>
-<td>Pointer to template structure to test</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="lglTemplate.brand"></a>brand</code></em>;</p></td>
+<td class="struct_member_description"><p>Vendor or brand name of label or card. E.g. "Avery."</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="lglTemplate.part"></a>part</code></em>;</p></td>
+<td class="struct_member_description"><p>Part name or number of label or card. E.g. "8160."</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="lglTemplate.equiv-part"></a>equiv_part</code></em>;</p></td>
+<td class="struct_member_description"><p>Part name or number of a part with identical layout. Must be from same vendor.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="lglTemplate.description"></a>description</code></em>;</p></td>
+<td class="struct_member_description"><p>A description of the template. E.g. "Mailing labels."</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="lglTemplate.paper-id"></a>paper_id</code></em>;</p></td>
+<td class="struct_member_description"><p>A paper ID. E.g. "A4" or "US-Letter."</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplate.page-width"></a>page_width</code></em>;</p></td>
+<td class="struct_member_description"><p>Page width in points. Used only if paper_id is "Other."</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplate.page-height"></a>page_height</code></em>;</p></td>
+<td class="struct_member_description"><p>Page height in points. Used only if paper_id is "Other."</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="lglTemplate.product-url"></a>product_url</code></em>;</p></td>
+<td class="struct_member_description"><p>URL to a webpage describing product.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>category_id</code></em> :</span></p></td>
-<td>Category ID string</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="lglTemplate.category-ids"></a>category_ids</code></em>;</p></td>
+<td class="struct_member_description"><p>A list of category IDs that this template belongs to.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>TRUE if the template matches the given category ID.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="lglTemplate.frames"></a>frames</code></em>;</p></td>
+<td class="struct_member_description"><p>A list of (<a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *) structures. GLabels currently only supports one frame
+per template -- future versions may support multiple frames per template.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-are-templates-identical"></a><h3>lgl_template_are_templates_identical ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> lgl_template_are_templates_identical
- (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template1</code></em>,
- <em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template2</code></em>);</pre>
+<a name="lglTemplateFrameShape"></a><h3>enum lglTemplateFrameShape</h3>
<p>
-This function tests if the given templates have identical size and layout properties.
+This enumeration defines frame types that are supported by libglabels
</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<div class="refsect3">
+<a name="id-1.2.3.9.3.4"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>template1</code></em> :</span></p></td>
-<td>Pointer to 1st template structure to test</td>
+<td class="enum_member_name"><p><a name="LGL-TEMPLATE-FRAME-SHAPE-RECT:CAPS"></a>LGL_TEMPLATE_FRAME_SHAPE_RECT</p></td>
+<td class="enum_member_description">
+<p>A rectangular frame. (May have rounded corners.)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="LGL-TEMPLATE-FRAME-SHAPE-ELLIPSE:CAPS"></a>LGL_TEMPLATE_FRAME_SHAPE_ELLIPSE</p></td>
+<td class="enum_member_description">
+<p>An elliptical frame.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>template2</code></em> :</span></p></td>
-<td>Pointer to 2nd template structure to test</td>
+<td class="enum_member_name"><p><a name="LGL-TEMPLATE-FRAME-SHAPE-ROUND:CAPS"></a>LGL_TEMPLATE_FRAME_SHAPE_ROUND</p></td>
+<td class="enum_member_description">
+<p>A round frame.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>TRUE if the two templates are identical.</td>
+<td class="enum_member_name"><p><a name="LGL-TEMPLATE-FRAME-SHAPE-CD:CAPS"></a>LGL_TEMPLATE_FRAME_SHAPE_CD</p></td>
+<td class="enum_member_description">
+<p>A CD or DVD frame. (Includes credit-card style CDs.)</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-frame-rect-new"></a><h3>lgl_template_frame_rect_new ()</h3>
-<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="returnvalue">lglTemplateFrame</span></a> * lgl_template_frame_rect_new (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> w</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> h</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> r</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> x_waste</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> y_waste</code></em>);</pre>
+<a name="lglTemplateFrame"></a><h3>union lglTemplateFrame</h3>
<p>
-This function creates a new template frame for a rectangular label or card.
+A union of all possible frame structures. The type of structure is indicated by the shape
+member, which overlays the first field of all other member structures.
</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
-<td>ID of frame. (This should currently always be "0").</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>w</code></em> :</span></p></td>
-<td>width of frame in points.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>h</code></em> :</span></p></td>
-<td>height of frame in points.</td>
-</tr>
+</div>
+<hr>
+<div class="refsect2">
+<a name="lglTemplateFrameAll"></a><h3>struct lglTemplateFrameAll</h3>
+<pre class="programlisting">struct lglTemplateFrameAll {
+ /* Begin Common Fields */
+ lglTemplateFrameShape shape;
+
+ gchar *id; /* Id, currently always "0" */
+ GList *layouts; /* List of lglTemplateLayouts */
+ GList *markups; /* List of lglTemplateMarkups */
+ /* End Common Fields */
+};
+</pre>
+<p>
+This structure is composed of a set of fields common to all frame structures. All frame types
+can be cast to this structure.
+</p>
+<div class="refsect3">
+<a name="id-1.2.3.9.5.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>r</code></em> :</span></p></td>
-<td>radius of rounded corners in points. (Should be 0 for square corners.)</td>
+<td class="struct_member_name"><p><a class="link" href="libglabels-3.0-template.html#lglTemplateFrameShape" title="enum lglTemplateFrameShape"><span class="type">lglTemplateFrameShape</span></a> <em class="structfield"><code><a name="lglTemplateFrameAll.shape"></a>shape</code></em>;</p></td>
+<td class="struct_member_description"><p>The shape of the frame.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>x_waste</code></em> :</span></p></td>
-<td>Amount of overprint to allow in the horizontal direction.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="lglTemplateFrameAll.id"></a>id</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use. Should always be zero.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>y_waste</code></em> :</span></p></td>
-<td>Amount of overprint to allow in the vertical direction.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="lglTemplateFrameAll.layouts"></a>layouts</code></em>;</p></td>
+<td class="struct_member_description"><p>A list of (<a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout"><span class="type">lglTemplateLayout</span></a> *) structures. Typically a frame will have a single
+layout, representing a simple grid of labels or cards. If the layout of labels or cards is
+more complex, multiple (<a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout"><span class="type">lglTemplateLayout</span></a> *) structures may be needed.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Pointer to newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> structure.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="lglTemplateFrameAll.markups"></a>markups</code></em>;</p></td>
+<td class="struct_member_description"><p>A list of (<a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="type">lglTemplateMarkup</span></a> *) structures, which represent non-printing markup lines.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-frame-ellipse-new"></a><h3>lgl_template_frame_ellipse_new ()</h3>
-<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="returnvalue">lglTemplateFrame</span></a> * lgl_template_frame_ellipse_new (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> w</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> h</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> waste</code></em>);</pre>
+<a name="lglTemplateFrameRect"></a><h3>struct lglTemplateFrameRect</h3>
+<pre class="programlisting">struct lglTemplateFrameRect {
+ /* Begin Common Fields */
+ lglTemplateFrameShape shape; /* Always LGL_TEMPLATE_FRAME_SHAPE_RECT. */
+
+ gchar *id; /* Id, currently always "0" */
+ GList *layouts; /* List of lglTemplateLayouts */
+ GList *markups; /* List of lglTemplateMarkups */
+ /* End Common Fields */
+
+ gdouble w; /* Width */
+ gdouble h; /* Height */
+ gdouble r; /* Corner radius */
+ gdouble x_waste; /* Amount of horiz overprint allowed. */
+ gdouble y_waste; /* Amount of vert overprint allowed. */
+};
+</pre>
<p>
-This function creates a new template frame for an elliptical label or card.
+This structure defines the frame for a rectangular label or card.
</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<div class="refsect3">
+<a name="id-1.2.3.9.6.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
-<td>ID of frame. (This should currently always be "0").</td>
+<td class="struct_member_name"><p><a class="link" href="libglabels-3.0-template.html#lglTemplateFrameShape" title="enum lglTemplateFrameShape"><span class="type">lglTemplateFrameShape</span></a> <em class="structfield"><code><a name="lglTemplateFrameRect.shape"></a>shape</code></em>;</p></td>
+<td class="struct_member_description"><p>Common field. Always <a class="link" href="libglabels-3.0-template.html#LGL-TEMPLATE-FRAME-SHAPE-RECT:CAPS"><span class="type">LGL_TEMPLATE_FRAME_SHAPE_RECT</span></a> for <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameRect" title="struct lglTemplateFrameRect"><span class="type">lglTemplateFrameRect</span></a>.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>w</code></em> :</span></p></td>
-<td>width of frame in points.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="lglTemplateFrameRect.id"></a>id</code></em>;</p></td>
+<td class="struct_member_description"><p>Common field. See <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll"><span class="type">lglTemplateFrameAll</span></a>.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>h</code></em> :</span></p></td>
-<td>height of frame in points.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="lglTemplateFrameRect.layouts"></a>layouts</code></em>;</p></td>
+<td class="struct_member_description"><p> Common field. See <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll"><span class="type">lglTemplateFrameAll</span></a>.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>waste</code></em> :</span></p></td>
-<td>Amount of overprint to allow in points.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="lglTemplateFrameRect.markups"></a>markups</code></em>;</p></td>
+<td class="struct_member_description"><p> Common field. See <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll"><span class="type">lglTemplateFrameAll</span></a>.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Pointer to newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> structure.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameRect.w"></a>w</code></em>;</p></td>
+<td class="struct_member_description"><p>Width of label or card in points.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="lgl-template-frame-round-new"></a><h3>lgl_template_frame_round_new ()</h3>
-<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="returnvalue">lglTemplateFrame</span></a> * lgl_template_frame_round_new (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> r</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> waste</code></em>);</pre>
-<p>
-This function creates a new template frame for a round label.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
-<td>ID of frame. (This should currently always be "0").</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameRect.h"></a>h</code></em>;</p></td>
+<td class="struct_member_description"><p>Height of label or card in points.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>r</code></em> :</span></p></td>
-<td>radius of label in points.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameRect.r"></a>r</code></em>;</p></td>
+<td class="struct_member_description"><p>Radius of corners in points.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>waste</code></em> :</span></p></td>
-<td>Amount of overprint to allow.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameRect.x-waste"></a>x_waste</code></em>;</p></td>
+<td class="struct_member_description"><p>Amount of horizontal over-print to allow in points.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Pointer to newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> structure.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameRect.y-waste"></a>y_waste</code></em>;</p></td>
+<td class="struct_member_description"><p>Amount of vertical over-print to allow in points.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-frame-cd-new"></a><h3>lgl_template_frame_cd_new ()</h3>
-<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="returnvalue">lglTemplateFrame</span></a> * lgl_template_frame_cd_new (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> r1</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> r2</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> w</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> h</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> waste</code></em>);</pre>
+<a name="lglTemplateFrameEllipse"></a><h3>struct lglTemplateFrameEllipse</h3>
+<pre class="programlisting">struct lglTemplateFrameEllipse {
+ /* Begin Common Fields */
+ lglTemplateFrameShape shape; /* Always LGL_TEMPLATE_FRAME_SHAPE_ELLIPSE. */
+
+ gchar *id; /* Id, currently always "0" */
+ GList *layouts; /* List of lglTemplateLayouts */
+ GList *markups; /* List of lglTemplateMarkups */
+ /* End Common Fields */
+
+ gdouble w; /* Width */
+ gdouble h; /* Height */
+ gdouble waste; /* Amount of overprint allowed. */
+};
+</pre>
<p>
-This function creates a new template frame for a CD/DVD label.
+This structure defines the frame for an elliptical label or card.
</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<div class="refsect3">
+<a name="id-1.2.3.9.7.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
-<td>ID of frame. (This should currently always be "0").</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>r1</code></em> :</span></p></td>
-<td>outer radius of label in points.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>r2</code></em> :</span></p></td>
-<td>radius of center hole in points.</td>
+<td class="struct_member_name"><p><a class="link" href="libglabels-3.0-template.html#lglTemplateFrameShape" title="enum lglTemplateFrameShape"><span class="type">lglTemplateFrameShape</span></a> <em class="structfield"><code><a name="lglTemplateFrameEllipse.shape"></a>shape</code></em>;</p></td>
+<td class="struct_member_description"><p>Common field. Always <a class="link" href="libglabels-3.0-template.html#LGL-TEMPLATE-FRAME-SHAPE-ELLIPSE:CAPS"><span class="type">LGL_TEMPLATE_FRAME_SHAPE_ELLIPSE</span></a> for <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameEllipse" title="struct lglTemplateFrameEllipse"><span class="type">lglTemplateFrameEllipse</span></a>.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>w</code></em> :</span></p></td>
-<td>clip width of frame in points for business card CDs. Should be 0 for no clipping.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="lglTemplateFrameEllipse.id"></a>id</code></em>;</p></td>
+<td class="struct_member_description"><p>Common field. See <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll"><span class="type">lglTemplateFrameAll</span></a>.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>h</code></em> :</span></p></td>
-<td>clip height of frame in points for business card CDs. Should be 0 for no clipping.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="lglTemplateFrameEllipse.layouts"></a>layouts</code></em>;</p></td>
+<td class="struct_member_description"><p> Common field. See <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll"><span class="type">lglTemplateFrameAll</span></a>.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>waste</code></em> :</span></p></td>
-<td>Amount of overprint to allow.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="lglTemplateFrameEllipse.markups"></a>markups</code></em>;</p></td>
+<td class="struct_member_description"><p> Common field. See <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll"><span class="type">lglTemplateFrameAll</span></a>.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Pointer to newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> structure.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameEllipse.w"></a>w</code></em>;</p></td>
+<td class="struct_member_description"><p>Width of label or card in points.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="lgl-template-frame-dup"></a><h3>lgl_template_frame_dup ()</h3>
-<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="returnvalue">lglTemplateFrame</span></a> * lgl_template_frame_dup (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *orig_frame</code></em>);</pre>
-<p>
-This function duplicates a template frame structure.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>orig_frame</code></em> :</span></p></td>
-<td>Frame to duplicate.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameEllipse.h"></a>h</code></em>;</p></td>
+<td class="struct_member_description"><p>Height of label or card in points.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> structure.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameEllipse.waste"></a>waste</code></em>;</p></td>
+<td class="struct_member_description"><p>Amount of over-print to allow in points.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="lgl-template-frame-free"></a><h3>lgl_template_frame_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> lgl_template_frame_free (<em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>);</pre>
-<p>
-This function frees all memory associated with given template frame structure.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
-<td>Frame to free.</td>
-</tr></tbody>
-</table></div>
</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-frame-add-layout"></a><h3>lgl_template_frame_add_layout ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> lgl_template_frame_add_layout (<em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>,
- <em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout"><span class="type">lglTemplateLayout</span></a> *layout</code></em>);</pre>
+<a name="lglTemplateFrameRound"></a><h3>struct lglTemplateFrameRound</h3>
+<pre class="programlisting">struct lglTemplateFrameRound {
+ /* Begin Common Fields */
+ lglTemplateFrameShape shape; /* Always LGL_TEMPLATE_FRAME_SHAPE_ROUND. */
+
+ gchar *id; /* Id, currently always "0" */
+ GList *layouts; /* List of lglTemplateLayouts */
+ GList *markups; /* List of lglTemplateMarkups */
+ /* End Common Fields */
+
+ gdouble r; /* Radius */
+ gdouble waste; /* Amount of overprint allowed. */
+};
+</pre>
<p>
-This function adds a layout structure to the given template frame.
+This structure defines the frame for a round label or card.
</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<div class="refsect3">
+<a name="id-1.2.3.9.8.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
-<td>Pointer to template frame to add layout to.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>layout</code></em> :</span></p></td>
-<td>Pointer to layout structure to add to frame.</td>
+<td class="struct_member_name"><p><a class="link" href="libglabels-3.0-template.html#lglTemplateFrameShape" title="enum lglTemplateFrameShape"><span class="type">lglTemplateFrameShape</span></a> <em class="structfield"><code><a name="lglTemplateFrameRound.shape"></a>shape</code></em>;</p></td>
+<td class="struct_member_description"><p>Common field. Always <a class="link" href="libglabels-3.0-template.html#LGL-TEMPLATE-FRAME-SHAPE-ROUND:CAPS"><span class="type">LGL_TEMPLATE_FRAME_SHAPE_ROUND</span></a> for <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameRound" title="struct lglTemplateFrameRound"><span class="type">lglTemplateFrameRound</span></a>.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="lgl-template-frame-add-markup"></a><h3>lgl_template_frame_add_markup ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> lgl_template_frame_add_markup (<em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>,
- <em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="type">lglTemplateMarkup</span></a> *markup</code></em>);</pre>
-<p>
-This function adds a markup structure to the given template frame.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
-<td>Pointer to template frame to add markup to.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="lglTemplateFrameRound.id"></a>id</code></em>;</p></td>
+<td class="struct_member_description"><p>Common field. See <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll"><span class="type">lglTemplateFrameAll</span></a>.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>markup</code></em> :</span></p></td>
-<td>Pointer to markup structure to add to frame.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="lglTemplateFrameRound.layouts"></a>layouts</code></em>;</p></td>
+<td class="struct_member_description"><p>Common field. See <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll"><span class="type">lglTemplateFrameAll</span></a>.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="lgl-template-frame-get-size"></a><h3>lgl_template_frame_get_size ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> lgl_template_frame_get_size (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *w</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *h</code></em>);</pre>
-<p>
-Get size (width and height) of given <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> in points.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
-<td>
-<a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> structure to query</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="lglTemplateFrameRound.markups"></a>markups</code></em>;</p></td>
+<td class="struct_member_description"><p>Common field. See <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll"><span class="type">lglTemplateFrameAll</span></a>.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>w</code></em> :</span></p></td>
-<td>pointer to location to receive width of frame</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameRound.r"></a>r</code></em>;</p></td>
+<td class="struct_member_description"><p>Radius of label or card in points.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>h</code></em> :</span></p></td>
-<td>pointer to location to receive height of frame</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameRound.waste"></a>waste</code></em>;</p></td>
+<td class="struct_member_description"><p>Amount of over-print to allow in points.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-frame-get-n-labels"></a><h3>lgl_template_frame_get_n_labels ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> lgl_template_frame_get_n_labels (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>);</pre>
+<a name="lglTemplateFrameCD"></a><h3>struct lglTemplateFrameCD</h3>
+<pre class="programlisting">struct lglTemplateFrameCD {
+ /* Begin Common Fields */
+ lglTemplateFrameShape shape; /* Always LGL_TEMPLATE_FRAME_SHAPE_CD. */
+
+ gchar *id; /* Id, currently always "0" */
+ GList *layouts; /* List of lglTemplateLayouts */
+ GList *markups; /* List of lglTemplateMarkups */
+ /* End Common Fields */
+
+ gdouble r1; /* Outer radius */
+ gdouble r2; /* Inner radius (hole) */
+ gdouble w; /* Clip width, business card CDs */
+ gdouble h; /* Clip height, business card CDs */
+ gdouble waste; /* Amount of overprint allowed. */
+};
+</pre>
<p>
-Get total number of labels per sheet corresponding to the given frame.
+This structure defines the frame for a CD or DVD label. This structure also supports
+credit-card CD labels.
</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<div class="refsect3">
+<a name="id-1.2.3.9.9.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
-<td>
-<a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> structure to query</td>
+<td class="struct_member_name"><p><a class="link" href="libglabels-3.0-template.html#lglTemplateFrameShape" title="enum lglTemplateFrameShape"><span class="type">lglTemplateFrameShape</span></a> <em class="structfield"><code><a name="lglTemplateFrameCD.shape"></a>shape</code></em>;</p></td>
+<td class="struct_member_description"><p>Common field. Always <a class="link" href="libglabels-3.0-template.html#LGL-TEMPLATE-FRAME-SHAPE-CD:CAPS"><span class="type">LGL_TEMPLATE_FRAME_SHAPE_CD</span></a> for <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameCD" title="struct lglTemplateFrameCD"><span class="type">lglTemplateFrameCD</span></a>.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>number of labels per sheet.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="lglTemplateFrameCD.id"></a>id</code></em>;</p></td>
+<td class="struct_member_description"><p>Common field. See <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll"><span class="type">lglTemplateFrameAll</span></a>.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="lgl-template-frame-get-origins"></a><h3>lgl_template_frame_get_origins ()</h3>
-<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateOrigin" title="struct lglTemplateOrigin"><span class="returnvalue">lglTemplateOrigin</span></a> * lgl_template_frame_get_origins (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>);</pre>
-<p>
-Get an array of label origins for the given frame. These origins represent the
-upper left hand corner of each label on a page corresponding to the given frame.
-The origins will be ordered geometrically left to right and then top to bottom.
-The array should be freed using <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
-<td>
-<a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> structure to query</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="lglTemplateFrameCD.layouts"></a>layouts</code></em>;</p></td>
+<td class="struct_member_description"><p>Common field. See <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll"><span class="type">lglTemplateFrameAll</span></a>.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>A newly allocated array of <a class="link" href="libglabels-3.0-template.html#lglTemplateOrigin" title="struct lglTemplateOrigin"><span class="type">lglTemplateOrigin</span></a> structures.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="lglTemplateFrameCD.markups"></a>markups</code></em>;</p></td>
+<td class="struct_member_description"><p>Common field. See <a class="link" href="libglabels-3.0-template.html#lglTemplateFrameAll" title="struct lglTemplateFrameAll"><span class="type">lglTemplateFrameAll</span></a>.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="lgl-template-frame-get-layout-description"></a><h3>lgl_template_frame_get_layout_description ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * lgl_template_frame_get_layout_description
- (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>);</pre>
-<p>
-Get a description of the label layout including number of labels per sheet.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
-<td>
-<a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> structure to query</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameCD.r1"></a>r1</code></em>;</p></td>
+<td class="struct_member_description"><p>Outer radius of label in points.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a newly allocation description string.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameCD.r2"></a>r2</code></em>;</p></td>
+<td class="struct_member_description"><p>Radius of center hole in points.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="lgl-template-frame-get-size-description"></a><h3>lgl_template_frame_get_size_description ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * lgl_template_frame_get_size_description
- (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> *frame</code></em>,
- <em class="parameter"><code><a class="link" href="libglabels-3.0-units.html#lglUnits" title="enum lglUnits"><span class="type">lglUnits</span></a> units</code></em>);</pre>
-<p>
-Get a description of the label size.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
-<td>
-<a class="link" href="libglabels-3.0-template.html#lglTemplateFrame" title="union lglTemplateFrame"><span class="type">lglTemplateFrame</span></a> structure to query</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameCD.w"></a>w</code></em>;</p></td>
+<td class="struct_member_description"><p>Clip width in points. Used for credit-card CD labels. This field is ignored if zero.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>units</code></em> :</span></p></td>
-<td><a class="link" href="libglabels-3.0-units.html#lglUnits" title="enum lglUnits"><span class="type">lglUnits</span></a></td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameCD.h"></a>h</code></em>;</p></td>
+<td class="struct_member_description"><p>Clip height in points. Used for credit-card CD labels. This field is ignored if zero.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a newly allocation description string.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateFrameCD.waste"></a>waste</code></em>;</p></td>
+<td class="struct_member_description"><p>Amount of over-print to allow in points.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-layout-new"></a><h3>lgl_template_layout_new ()</h3>
-<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout"><span class="returnvalue">lglTemplateLayout</span></a> * lgl_template_layout_new (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> nx</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> ny</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> x0</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> y0</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> dx</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> dy</code></em>);</pre>
+<a name="lglTemplateLayout"></a><h3>struct lglTemplateLayout</h3>
+<pre class="programlisting">struct lglTemplateLayout {
+ gint nx; /* Number of labels across */
+ gint ny; /* Number of labels up and down */
+
+ gdouble x0; /* Left of grid from left edge of paper */
+ gdouble y0; /* Top of grid from top edge of paper */
+
+ gdouble dx; /* Horizontal pitch of grid */
+ gdouble dy; /* Vertical pitch of grid */
+};
+</pre>
<p>
-This function creates a new layout structure with the given parameters.
+This structure defines a simple grid layout of labels or cards.
</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<div class="refsect3">
+<a name="id-1.2.3.9.10.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>nx</code></em> :</span></p></td>
-<td>Number of labels across.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>ny</code></em> :</span></p></td>
-<td>Number of labels down.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="lglTemplateLayout.nx"></a>nx</code></em>;</p></td>
+<td class="struct_member_description"><p>Number of labels or cards across in the grid (horizontal).</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>x0</code></em> :</span></p></td>
-<td>X coordinate of the top-left corner of the top-left label in the layout in points.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="lglTemplateLayout.ny"></a>ny</code></em>;</p></td>
+<td class="struct_member_description"><p>Number of labels or cards down in the grid (vertical).</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>y0</code></em> :</span></p></td>
-<td>Y coordinate of the top-left corner of the top-left label in the layout in points.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateLayout.x0"></a>x0</code></em>;</p></td>
+<td class="struct_member_description"><p>Distance (in points) from the left edge of page to the left edge of the left column of
+cards or labels in the layout.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>dx</code></em> :</span></p></td>
-<td>Horizontal pitch in points. This is the distance from left-edge to left-edge.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateLayout.y0"></a>y0</code></em>;</p></td>
+<td class="struct_member_description"><p>Distance (in points) from the top edge of page to the top edge of the top row of
+cards or labels in the layout.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>dy</code></em> :</span></p></td>
-<td>Vertical pitch in points. This is the distance from top-edge to top-edge.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateLayout.dx"></a>dx</code></em>;</p></td>
+<td class="struct_member_description"><p>Horizontal pitch of grid in points. This is the distance from left edge to left edge
+(not the gap between labels or cards).</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout"><span class="type">lglTemplateLayout</span></a> structure.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateLayout.dy"></a>dy</code></em>;</p></td>
+<td class="struct_member_description"><p>Vertical pitch of grid in points. This is the distance from top edge to top edge
+(not the gap between labels or cards).</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-layout-dup"></a><h3>lgl_template_layout_dup ()</h3>
-<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout"><span class="returnvalue">lglTemplateLayout</span></a> * lgl_template_layout_dup (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout"><span class="type">lglTemplateLayout</span></a> *orig_layout</code></em>);</pre>
+<a name="lglTemplateMarkupType"></a><h3>enum lglTemplateMarkupType</h3>
<p>
-This function duplicates a template layout structure.
+This enumeration defines markup types that are supported by libglabels
</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<div class="refsect3">
+<a name="id-1.2.3.9.11.4"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>orig_layout</code></em> :</span></p></td>
-<td>Layout to duplicate.</td>
+<td class="enum_member_name"><p><a name="LGL-TEMPLATE-MARKUP-MARGIN:CAPS"></a>LGL_TEMPLATE_MARKUP_MARGIN</p></td>
+<td class="enum_member_description">
+<p>A margin line around perimeter of label or card.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="LGL-TEMPLATE-MARKUP-LINE:CAPS"></a>LGL_TEMPLATE_MARKUP_LINE</p></td>
+<td class="enum_member_description">
+<p>A simple line segment.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="LGL-TEMPLATE-MARKUP-CIRCLE:CAPS"></a>LGL_TEMPLATE_MARKUP_CIRCLE</p></td>
+<td class="enum_member_description">
+<p>A circle.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="LGL-TEMPLATE-MARKUP-RECT:CAPS"></a>LGL_TEMPLATE_MARKUP_RECT</p></td>
+<td class="enum_member_description">
+<p>A rectangle. Possibly with rounded corners.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout"><span class="type">lglTemplateLayout</span></a> structure.</td>
+<td class="enum_member_name"><p><a name="LGL-TEMPLATE-MARKUP-ELLIPSE:CAPS"></a>LGL_TEMPLATE_MARKUP_ELLIPSE</p></td>
+<td class="enum_member_description">
+<p>An ellipse.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-layout-free"></a><h3>lgl_template_layout_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> lgl_template_layout_free (<em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplateLayout" title="struct lglTemplateLayout"><span class="type">lglTemplateLayout</span></a> *layout</code></em>);</pre>
+<a name="lglTemplateMarkup"></a><h3>union lglTemplateMarkup</h3>
<p>
-This function frees all memory associated with given template layout structure.
+A union of all possible markup structures. The type of structure is indicated by the type
+member, which overlays the first field of all other member structures.
</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>layout</code></em> :</span></p></td>
-<td>Layout to free.</td>
-</tr></tbody>
-</table></div>
</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-markup-margin-new"></a><h3>lgl_template_markup_margin_new ()</h3>
-<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="returnvalue">lglTemplateMarkup</span></a> * lgl_template_markup_margin_new (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> size</code></em>);</pre>
+<a name="lglTemplateMarkupMargin"></a><h3>struct lglTemplateMarkupMargin</h3>
+<pre class="programlisting">struct lglTemplateMarkupMargin {
+ lglTemplateMarkupType type; /* Always LGL_TEMPLATE_MARKUP_MARGIN */
+
+ gdouble size; /* Margin size */
+};
+</pre>
<p>
-This function creates a new margin markup structure.
+This structure defines a simple margin markup around the perimeter of a label or card.
</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<div class="refsect3">
+<a name="id-1.2.3.9.13.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
-<td>margin size in points.</td>
+<td class="struct_member_name"><p><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupType" title="enum lglTemplateMarkupType"><span class="type">lglTemplateMarkupType</span></a> <em class="structfield"><code><a name="lglTemplateMarkupMargin.type"></a>type</code></em>;</p></td>
+<td class="struct_member_description"><p>Common field. Always <a class="link" href="libglabels-3.0-template.html#LGL-TEMPLATE-MARKUP-MARGIN:CAPS"><span class="type">LGL_TEMPLATE_MARKUP_MARGIN</span></a> for <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupMargin" title="struct lglTemplateMarkupMargin"><span class="type">lglTemplateMarkupMargin</span></a>.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="type">lglTemplateMarkup</span></a> structure.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupMargin.size"></a>size</code></em>;</p></td>
+<td class="struct_member_description"><p>Distance of margin from edge of label or card.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-markup-line-new"></a><h3>lgl_template_markup_line_new ()</h3>
-<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="returnvalue">lglTemplateMarkup</span></a> * lgl_template_markup_line_new (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> x1</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> y1</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> x2</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> y2</code></em>);</pre>
+<a name="lglTemplateMarkupLine"></a><h3>struct lglTemplateMarkupLine</h3>
+<pre class="programlisting">struct lglTemplateMarkupLine {
+ lglTemplateMarkupType type; /* Always LGL_TEMPLATE_MARKUP_LINE */
+
+ gdouble x1, y1; /* 1st endpoint */
+ gdouble x2, y2; /* 2nd endpoint */
+};
+</pre>
<p>
-This function creates a new line markup structure.
+This structure defines a simple line segment markup.
</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<div class="refsect3">
+<a name="id-1.2.3.9.14.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>x1</code></em> :</span></p></td>
-<td>x coordinate of first endpoint.</td>
+<td class="struct_member_name"><p><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupType" title="enum lglTemplateMarkupType"><span class="type">lglTemplateMarkupType</span></a> <em class="structfield"><code><a name="lglTemplateMarkupLine.type"></a>type</code></em>;</p></td>
+<td class="struct_member_description"><p>Common field. Always <a class="link" href="libglabels-3.0-template.html#LGL-TEMPLATE-MARKUP-LINE:CAPS"><span class="type">LGL_TEMPLATE_MARKUP_LINE</span></a> for <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupLine" title="struct lglTemplateMarkupLine"><span class="type">lglTemplateMarkupLine</span></a>.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>y1</code></em> :</span></p></td>
-<td>y coordinate of first endpoint.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupLine.x1"></a>x1</code></em>;</p></td>
+<td class="struct_member_description"><p>Distance (in points) of first endpoint from left edge of label or card.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>x2</code></em> :</span></p></td>
-<td>x coordinate of second endpoint.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupLine.y1"></a>y1</code></em>;</p></td>
+<td class="struct_member_description"><p>Distance (in points) of first endpoint from top edge of label or card.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>y2</code></em> :</span></p></td>
-<td>y coordinate of second endpoint.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupLine.x2"></a>x2</code></em>;</p></td>
+<td class="struct_member_description"><p>Distance (in points) of second endpoint from left edge of label or card.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="type">lglTemplateMarkup</span></a> structure.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupLine.y2"></a>y2</code></em>;</p></td>
+<td class="struct_member_description"><p>Distance (in points) of second endpoint from top edge of label or card.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-markup-circle-new"></a><h3>lgl_template_markup_circle_new ()</h3>
-<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="returnvalue">lglTemplateMarkup</span></a> * lgl_template_markup_circle_new (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> x0</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> y0</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> r</code></em>);</pre>
+<a name="lglTemplateMarkupCircle"></a><h3>struct lglTemplateMarkupCircle</h3>
+<pre class="programlisting">struct lglTemplateMarkupCircle {
+ lglTemplateMarkupType type; /* Always LGL_TEMPLATE_MARKUP_CIRCLE */
+
+ gdouble x0, y0; /* Center of circle */
+ gdouble r; /* Radius of circle */
+};
+</pre>
<p>
-This function creates a new circle markup structure.
+This structure defines a simple circle markup.
</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<div class="refsect3">
+<a name="id-1.2.3.9.15.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>x0</code></em> :</span></p></td>
-<td>x coordinate of center of circle.</td>
+<td class="struct_member_name"><p><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupType" title="enum lglTemplateMarkupType"><span class="type">lglTemplateMarkupType</span></a> <em class="structfield"><code><a name="lglTemplateMarkupCircle.type"></a>type</code></em>;</p></td>
+<td class="struct_member_description"><p>Common field. Always <a class="link" href="libglabels-3.0-template.html#LGL-TEMPLATE-MARKUP-CIRCLE:CAPS"><span class="type">LGL_TEMPLATE_MARKUP_CIRCLE</span></a> for <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupCircle" title="struct lglTemplateMarkupCircle"><span class="type">lglTemplateMarkupCircle</span></a>.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>y0</code></em> :</span></p></td>
-<td>y coordinate of center of circle.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupCircle.x0"></a>x0</code></em>;</p></td>
+<td class="struct_member_description"><p>Distance (in points) of vertex from left edge of label or card.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>r</code></em> :</span></p></td>
-<td>radius of circle.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupCircle.y0"></a>y0</code></em>;</p></td>
+<td class="struct_member_description"><p>Distance (in points) of vertex from top edge of label or card.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="type">lglTemplateMarkup</span></a> structure.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupCircle.r"></a>r</code></em>;</p></td>
+<td class="struct_member_description"><p>Radius of circle in points.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-markup-rect-new"></a><h3>lgl_template_markup_rect_new ()</h3>
-<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="returnvalue">lglTemplateMarkup</span></a> * lgl_template_markup_rect_new (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> x1</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> y1</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> w</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> h</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> r</code></em>);</pre>
+<a name="lglTemplateMarkupRect"></a><h3>struct lglTemplateMarkupRect</h3>
+<pre class="programlisting">struct lglTemplateMarkupRect {
+ lglTemplateMarkupType type; /* Always LGL_TEMPLATE_MARKUP_RECT */
+
+ gdouble x1, y1; /* Upper left corner */
+ gdouble w, h; /* Width and height. */
+ gdouble r; /* Radius of corners. */
+};
+</pre>
<p>
-This function creates a new rectangle markup structure.
+This structure defines a simple rectangle markup. The rectangle can have rounded corners.
</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<div class="refsect3">
+<a name="id-1.2.3.9.16.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>x1</code></em> :</span></p></td>
-<td>x coordinate of top-left corner of rectangle.</td>
+<td class="struct_member_name"><p><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupType" title="enum lglTemplateMarkupType"><span class="type">lglTemplateMarkupType</span></a> <em class="structfield"><code><a name="lglTemplateMarkupRect.type"></a>type</code></em>;</p></td>
+<td class="struct_member_description"><p>Common field. Always <a class="link" href="libglabels-3.0-template.html#LGL-TEMPLATE-MARKUP-RECT:CAPS"><span class="type">LGL_TEMPLATE_MARKUP_RECT</span></a> for <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupRect" title="struct lglTemplateMarkupRect"><span class="type">lglTemplateMarkupRect</span></a>.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>y1</code></em> :</span></p></td>
-<td>y coordinate of top-left corner of rectangle.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupRect.x1"></a>x1</code></em>;</p></td>
+<td class="struct_member_description"><p>Distance (in points) of left edge of markup from left edge of label or card.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>w</code></em> :</span></p></td>
-<td>width of rectangle.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupRect.y1"></a>y1</code></em>;</p></td>
+<td class="struct_member_description"><p>Distance (in points) of top edge of markup from top edge of label or card.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>h</code></em> :</span></p></td>
-<td>height of rectangle.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupRect.w"></a>w</code></em>;</p></td>
+<td class="struct_member_description"><p>Width of rectangle in points.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>r</code></em> :</span></p></td>
-<td>radius of rounded corner.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupRect.h"></a>h</code></em>;</p></td>
+<td class="struct_member_description"><p>Height of rectangle in points.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="type">lglTemplateMarkup</span></a> structure.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupRect.r"></a>r</code></em>;</p></td>
+<td class="struct_member_description"><p>Radius of corners in points. Should be zero for sharp corners.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-markup-ellipse-new"></a><h3>lgl_template_markup_ellipse_new ()</h3>
-<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="returnvalue">lglTemplateMarkup</span></a> * lgl_template_markup_ellipse_new (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> x1</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> y1</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> w</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> h</code></em>);</pre>
+<a name="lglTemplateMarkupEllipse"></a><h3>struct lglTemplateMarkupEllipse</h3>
+<pre class="programlisting">struct lglTemplateMarkupEllipse {
+ lglTemplateMarkupType type; /* Always LGL_TEMPLATE_MARKUP_ELLIPSE */
+
+ gdouble x1, y1; /* Upper left corner */
+ gdouble w, h; /* Width and height. */
+};
+</pre>
<p>
-This function creates a new ellipse markup structure.
+This structure defines a simple elliptical markup.
</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<div class="refsect3">
+<a name="id-1.2.3.9.17.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>x1</code></em> :</span></p></td>
-<td>x coordinate of top-left corner of ellipse.</td>
+<td class="struct_member_name"><p><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupType" title="enum lglTemplateMarkupType"><span class="type">lglTemplateMarkupType</span></a> <em class="structfield"><code><a name="lglTemplateMarkupEllipse.type"></a>type</code></em>;</p></td>
+<td class="struct_member_description"><p>Common field. Always <a class="link" href="libglabels-3.0-template.html#LGL-TEMPLATE-MARKUP-ELLIPSE:CAPS"><span class="type">LGL_TEMPLATE_MARKUP_ELLIPSE</span></a> for <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkupEllipse" title="struct lglTemplateMarkupEllipse"><span class="type">lglTemplateMarkupEllipse</span></a>.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>y1</code></em> :</span></p></td>
-<td>y coordinate of top-left corner of ellipse.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupEllipse.x1"></a>x1</code></em>;</p></td>
+<td class="struct_member_description"><p>Distance (in points) of left edge of markup from left edge of label or card.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>w</code></em> :</span></p></td>
-<td>width of ellipse.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupEllipse.y1"></a>y1</code></em>;</p></td>
+<td class="struct_member_description"><p>Distance (in points) of top edge of markup from top edge of label or card.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>h</code></em> :</span></p></td>
-<td>height of ellipse.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupEllipse.w"></a>w</code></em>;</p></td>
+<td class="struct_member_description"><p>Width of rectangle in points.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="type">lglTemplateMarkup</span></a> structure.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateMarkupEllipse.h"></a>h</code></em>;</p></td>
+<td class="struct_member_description"><p>Height of rectangle in points.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="lgl-template-markup-dup"></a><h3>lgl_template_markup_dup ()</h3>
-<pre class="programlisting"><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="returnvalue">lglTemplateMarkup</span></a> * lgl_template_markup_dup (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="type">lglTemplateMarkup</span></a> *orig_markup</code></em>);</pre>
+<a name="lglTemplateOrigin"></a><h3>struct lglTemplateOrigin</h3>
+<pre class="programlisting">struct lglTemplateOrigin {
+ gdouble x, y; /* Label origin relative to upper
+ * upper left hand corner of paper */
+};
+</pre>
<p>
-This function duplicates a template markup structure.
+This structure represents the cartesian coordinates of the origin of a label or card on the page.
+The orign is the upper left corner of the extent of the label or card. These coordinates are
+relative to the upper left corner of the page.
</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
+<div class="refsect3">
+<a name="id-1.2.3.9.18.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>orig_markup</code></em> :</span></p></td>
-<td>Markup to duplicate.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateOrigin.x"></a>x</code></em>;</p></td>
+<td class="struct_member_description"><p>Distance in points from top edge of page.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a newly allocated <a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="type">lglTemplateMarkup</span></a> structure.</td>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="lglTemplateOrigin.y"></a>y</code></em>;</p></td>
+<td class="struct_member_description"><p>Distance in points from left edge of page.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="lgl-template-markup-free"></a><h3>lgl_template_markup_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> lgl_template_markup_free (<em class="parameter"><code><a class="link" href="libglabels-3.0-template.html#lglTemplateMarkup" title="union lglTemplateMarkup"><span class="type">lglTemplateMarkup</span></a> *markup</code></em>);</pre>
-<p>
-This function frees all memory associated with given template markup structure.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>markup</code></em> :</span></p></td>
-<td>Markup to free.</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="lgl-template-print"></a><h3>lgl_template_print ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> lgl_template_print (<em class="parameter"><code>const <a class="link" href="libglabels-3.0-template.html#lglTemplate" title="struct lglTemplate"><span class="type">lglTemplate</span></a> *template</code></em>);</pre>
-<p>
-Print template details (for debugging purposes).
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>template</code></em> :</span></p></td>
-<td>template</td>
-</tr></tbody>
-</table></div>
</div>
</div>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.18</div>
+ Generated by GTK-Doc V1.20</div>
</body>
</html>
\ No newline at end of file