From 48484c953755ca0216487ed7862212e938eddcad Mon Sep 17 00:00:00 2001
From: lecoanet
Date: Wed, 13 Mar 2002 13:46:36 +0000
Subject: Nouvelle mouture qui devrait marcher en pdf, dvi et html. Donc avec
 les commandes pdflatex, latex et latex2html. A manipuler avec soin. Pour
 m�moire, il est indispensable que la commande latex puisse s'executer.

---
 doc/refman.tex | 496 ++++++++++++++++++++++++++-------------------------------
 1 file changed, 226 insertions(+), 270 deletions(-)

(limited to 'doc/refman.tex')

diff --git a/doc/refman.tex b/doc/refman.tex
index 3be4b21..793aea7 100644
--- a/doc/refman.tex
+++ b/doc/refman.tex
@@ -1,44 +1,50 @@
 \documentclass[11pt,twoside]{book}
 
+%----------------------------------------------------------------------
+
+
+
 \newif\ifpdf
-\ifx\pdfoutput\undefined
+  \ifx\pdfoutput\undefined
     \pdffalse           % we are not running PDFLaTeX
-\else
+  \else
     \pdfoutput=1        % we are running PDFLaTeX
-    \pdftrue
-\fi
-%----------------------------------------------------------------------
+     \pdftrue
+  \fi
 
 \ifpdf
-    \usepackage[pdftex,
-        colorlinks=true,
-        urlcolor=rltblue,
-        anchorcolor=rltbrightblue,
-        filecolor=rltgreen,
-        linkcolor=rltred,
-        menucolor=webdarkblue,
-        citecolor=webbrightgreen,
-        pdftitle={Zinc, an advanced scriptable Canvas.},
-        pdfauthor={Patrick Lecoanet, Centre d'�tude de la Navigation A�rienne},
-        pdfsubject={The 3.2 Reference Manual.},
-        pdfkeywords={tk tcl perl x11 canvas opengl script gui zinc},
-        pagebackref,
-        pdfpagemode=None,
-        bookmarksopen=true
-        ]{hyperref}
-        \pdfcompresslevel=9
-        \usepackage[pdftex]{graphicx}
-        \usepackage{thumbpdf}
+  \usepackage[pdftex,
+    colorlinks=true,
+    urlcolor=rltblue,
+    anchorcolor=rltbrightblue,
+    filecolor=rltgreen,
+    linkcolor=rltred,
+    menucolor=webdarkblue,
+    citecolor=webbrightgreen,
+    pdftitle={Zinc, an advanced scriptable Canvas.},
+    pdfauthor={Patrick Lecoanet, Centre d'�tude de la Navigation A�rienne},
+    pdfsubject={The 3.2 Reference Manual.},
+    pdfkeywords={tk tcl perl x11 canvas opengl script gui zinc},
+    pagebackref,
+    pdfpagemode=None,
+    bookmarksopen=true
+  ]{hyperref}
+  \pdfcompresslevel=9
+  \usepackage[pdftex]{graphicx}
+  \usepackage{thumbpdf}
+  \usepackage{color}
+  \definecolor{rltred}{rgb}{0.75,0,0.20}
+  \definecolor{rltgreen}{rgb}{0,0.5,0}
+  \definecolor{rltblue}{rgb}{0,0,0.75}
 \else
-    \usepackage{graphicx}
-    \usepackage{html}
+  \usepackage{graphicx}
 \fi
+
+
+\usepackage{html}
 \usepackage{a4wide}
 \usepackage{makeidx}
-\usepackage{color}
-\definecolor{rltred}{rgb}{0.75,0,0.20}
-\definecolor{rltgreen}{rgb}{0,0.5,0}
-\definecolor{rltblue}{rgb}{0,0,0.75}
+
 
 \newcommand{\cident}[1] {%
   {\tt #1}}
@@ -54,11 +60,7 @@
 \newcommand{\option}[3]{%
   \label{opt:#1}
   \index{#1}
-  \ifpdf
-  \hyperdef{opt}{#1}{}
-  \else
-  \htmlrule[WIDTH="300" left]
-  \fi
+  \latexhtml{\ifpdf\hyperdef{opt}{#1}{}\fi}{\htmlrule[WIDTH="300" left]}
   \begin{tabular}{rl}
     Command line switch: & \ident{-#1} \\
     Database name: & \ident{#2} \\
@@ -68,24 +70,16 @@
 \newcommand{\command}[3]{%
   \label{cmd:#2}
   \index{#2}
-  \ifpdf
-  \hyperdef{cmd}{#2}{}
-  \else
-  \htmlrule[WIDTH="300" left]
-  \fi
+  \latexhtml{\ifpdf\hyperdef{cmd}{#2}{}\fi}{\htmlrule[WIDTH="300" left]}
   {\tt\large #1 {\bf #2} #3}}
 
 \newcommand{\zinccmd}[2]{%
   \command{pathname}{#1}{#2}}
 
 \newcommand{\mapinfocmd}[3]{%
-  \label{mpcmd:#2}
+  \label{mapcmd:#2}
   \index{#2}
-  \ifpdf
-  \hyperdef{mapcmd}{#2}{}
-  \else
-  \htmlrule[WIDTH="300" left]
-  \fi
+  \latexhtml{\ifpdf\hyperdef{mapcmd}{#2}{}\fi}{\htmlrule[WIDTH="300" left]}
   {\tt\large mapinfo #1 {\bf #2} #3}\\
   {\tt\large \$zinc->mapinfo(#1, {\bf #2}, #3) }
   % slightly buggy XXX : missing commas when #3 contains many words
@@ -94,88 +88,77 @@
 \newcommand{\attrtype}[1]{%
   \label{attrtype:#1}
   \index{#1}
-  \ifpdf
-  \hyperdef{attrtype}{#1}{}
-  \else
-  \htmlrule[WIDTH="300" left]
-  \fi
+  \latexhtml{\ifpdf\hyperdef{attrtype}{#1}{}\fi}{\htmlrule[WIDTH="300" left]}
   {\tt {\bf #1}}
   \vspace{-2\parskip}}
 
 \newcommand{\available}[1]{%
-  \ifpdf
-  \hyperlink{obj.#1}{\ident{#1}}
-  \else
-  \hyperref[page]{\ident{#1}}{\ident{#1} (}{)}{obj:#1}
-  \fi
+  \latexhtml{\ifpdf\hyperlink{obj.#1}{\ident{#1}}\fi}{%
+    \hyperref[page]{\ident{#1}}{\ident{#1} (}{)}{obj:#1}}
   }
 
 \newcommand{\refopt}[1]{%
-  \ifpdf
-  \hyperlink{opt.#1}{\ident{#1}}
-  \else
-  \hyperref[page]{\ident{#1}}{\ident{#1} (}{)}{opt:#1}
-  \fi
+  \latexhtml{\ifpdf\hyperlink{opt.#1}{\ident{#1}}\fi}{%
+    \hyperref[page]{\ident{#1}}{\ident{#1} (}{)}{opt:#1}}
   }
 
 \newcommand{\cmdref}[1]{%
   \index{#1}
-  \ifpdf
-  \hyperlink{cmd.#1}{\ident{#1}}
-  \else
-  \hyperref[page]{\ident{#1}}{\ident{#1} (}{)}{cmd:#1}
-  \fi
+  \latexhtml{\ifpdf\hyperlink{cmd.#1}{\ident{#1}}\fi}{%
+    \hyperref[page]{\ident{#1}}{\ident{#1} (}{)}{cmd:#1}}
   }
 
 \newcommand{\attribute}[3]{%
   \label{attribute:#1}
   \ident{-#1 }%
-  \ifpdf%
-  \hyperlink{attrtype.#2}{\ident{#2}}
-  \else%
-  \hyperref[no]{\tt \bf #2}{\ident{#2}}{attrtype:#2}%
-  \fi%
+  \latexhtml{\ifpdf\hyperlink{attrtype.#2}{\ident{#2}}\fi}{%
+    \hyperref[no]{\tt \bf #2}{\ident{#2}}{attrtype:#2}}
   \begin{quotation}#3\end{quotation}
   }
 
 \newcommand{\attributeref}[1]{%
-  \ifpdf%
-  \hyperlink{attribute.#1}{\ident{-#1}}
-  \else%
-  \hyperref[page]{\ident{#1}}{\ident{#1} (}{)}{attribute:#1}
-  \fi%
+  \latexhtml{\ifpdf\hyperlink{attribute.#1}{\ident{-#1}}\fi}{%
+    \hyperref[page]{\ident{#1}}{\ident{#1} (}{)}{attribute:#1}}
   }
 
 \newcommand{\object}[1]{%
   \label{obj:#1}
-  \ifpdf
-  \hyperdef{obj}{#1}{}
-  \fi  
+  \latexhtml{\ifpdf\hyperdef{obj}{#1}{}\fi}{}
   }
 
 \newcommand{\concept}[1]{%
   \label{concept:#1}
-  \ifpdf
-  \hyperdef{concept}{#1}{}
-  \fi  
+  \latexhtml{\ifpdf\hyperdef{concept}{#1}{}\fi}{}
   }
 
 \newcommand{\objectref}[1]{%
-  \ifpdf
-  \hyperlink{obj.#1}{\ident{#1}}
-  \else
-  \hyperref[page]{\ident{#1}}{\ident{#1} (}{)}{obj:#1}
-  \fi
+  \latexhtml{\ifpdf\hyperlink{obj.#1}{\ident{#1}}\fi}{%
+    \hyperref[page]{\ident{#1}}{\ident{#1} (}{)}{obj:#1}}
   }
 
 \newcommand{\conceptref}[2]{%
-  \ifpdf
-  \hyperlink{concept.#2}{\ident{#1}}
-  \else
-  \hyperref[page]{#1}{#1 (page }{)}{concept:#2}
-  \fi
+  \latexhtml{\ifpdf\hyperlink{concept.#2}{\ident{#1}}\fi}{%
+    \hyperref[page]{#1}{#1 (page }{)}{concept:#2}}
   }
 
+\newcommand{\includeimage}[1]{%
+  \latexhtml{\ifpdf\includegraphics{#1.png}\else\includegraphics{#1.eps}\fi}{%
+    \htmladdimg{#1.png}}
+  }
+
+% Premier parametre nom du fichier image
+% Deuxieme parametre legende
+% Troisieme parametre label
+\newcommand{\includefigure}[3]{%
+  \latexhtml{
+    \begin{figure}[htbp]       
+      \centering
+      \ifpdf\includegraphics{#1.png}\else\includegraphics{#1.eps}\fi
+      \caption{#2}
+      \label{#3}
+    \end{figure}}{
+    \htmladdimg{#1.png}}
+  }
 
 
 \makeindex
@@ -190,43 +173,47 @@
 
 \begin{document}
 
-\DeclareGraphicsExtensions{.png,.ps,.eps,.pdf}
+\latex{\DeclareGraphicsExtensions{.png,.ps,.eps,.pdf}}
 
 \maketitle
 
 \tableofcontents
 
-\concept{introduction}
 \chapter{Introduction}
+\concept{introduction}
 
-\section{What is this document about?}
+\section{What is this document about ?}
 
 This reference manual describes the Tk \ident{zinc} widget interface. It shows
 how to create and configure a \ident{zinc} widget, and how to use the commands
-it provides to create and manipulate items. As the \ident{zinc} widget is very similar
-to the Tk canvas widget, this document is structured in a very similar way. The next chapter
-\conceptref{Widget options}{options} describes how to create a new widget and which options
-and resources are available. The chapter \conceptref{Groups, Display List and Transformations}{coordinates}
+it provides to create and manipulate items. As the \ident{zinc} widget is very
+similar to the Tk canvas widget, this document is structured in a very similar
+way. The next chapter \conceptref{Widget options}{options} describes how to
+create a new widget and which options and resources are available. The chapter
+\conceptref{Groups, Display List and Transformations}{coordinates}
 describes the use of groups and coordinates transformations. The chapter
-\conceptref{Item IDs and Tags}{tagOrId} describes the Items ID as well as tags and some special
-tags. It also describes the notion of field tags used with some items (\objectref{track},
-\objectref{waypoint}, \objectref{tabular}) and the notion of partNames for items \objectref{track} and
-\objectref{waypoint}. Then the chapter \conceptref{Indices}{indices} describes the use of indices XXX.
-The important {\bf chapter \conceptref{Widget commands}{commands}} describes the 50 commands which
-apply to a  \ident{zinc} widget. They are used for
+\conceptref{Item IDs and Tags}{tagOrId} describes the Items ID as well as tags
+and some special tags. It also describes the notion of field tags used with some
+items (\objectref{track}, \objectref{waypoint}, \objectref{tabular}) and the
+notion of partNames for items \objectref{track} and \objectref{waypoint}. Then
+the chapter \conceptref{Indices}{indices} describes the use of indices XXX.
+The important {\bf chapter \conceptref{Widget commands}{commands}} describes the 50
+commands which apply to a  \ident{zinc} widget. They are used for
 creating, modifying or deleting objects, applying transformation... The chapter
-\conceptref{Attributes Types}{types} describes the type of all attributes (or options)
-available for the items described in the important {\bf chapter \conceptref{Item types}{items}}.
-The chapter \conceptref{Labels, fields and label}{labelsandfields} describes the use of labels,
-the possible attributes of label fields and finally the labelformat syntax. The chapter
-\conceptref{The mapinfo commands}{mapinfocmds} describes the use of mapinfo, a kind of
-simple map, which can be build by commands listed in this chapter. The chapter
-\conceptref{The videomap commands}{videomapcmds} describes the use of videomap,
-a proprietary format of simple map file used in french Air Traffic Control Centres.
-Finally the chapter \conceptref{Other resources provided by the widget}{otherresources}
-describes some resources provided by \ident{zinc}.
-
-\section{What is \ident{zinc}?}
+\conceptref{Attributes Types}{types} describes the type of all attributes
+(or options) available for the items described in the important {\bf chapter
+\conceptref{Item types}{items}}.
+The chapter \conceptref{Labels, fields and label}{labelsandfields} describes
+the use of labels, the possible attributes of label fields and finally the
+labelformat syntax. The chapter \conceptref{The mapinfo commands}{mapinfocmds}
+describes the use of mapinfo, a kind of simple map, which can be build by
+commands listed in this chapter. The chapter \conceptref{The videomap commands}
+{videomapcmds} describes the use of videomap, a proprietary format of simple map
+file used in french Air Traffic Control Centres. Finally the chapter
+\conceptref{Other resources provided by the widget}{otherresources} describes
+some resources provided by \ident{zinc}.
+
+\section{What is \ident{zinc} ?}
 
 \ident{Zinc} widgets are very similar to Tk \ident{canvas}es in that they support
 structured graphics. Like the \ident{canvas}, \ident{zinc} implements items used to
@@ -250,27 +237,8 @@ As an exemple of \ident{zinc} capabilities when combined with openGL, we reprodu
  with Illustrator (from Adobe) and then programmed as a perl module. It is now delivered
  as a \ident{zinc} goodies.
 
-\ifpdf
-  \includegraphics{tkzinclogo}
-\else
-\latexhtml{
-  \htmladdimg{tkzinclogo.png}
-  }
-\fi
-
-\ifpdf
-\begin{figure}[htbp]            
-\centering
-\includegraphics{tkzinclogo}    
-\caption{Logo Zinc written as a Perl/zinc module}
-\label{fig:logozinc}
-\end{figure}
-\else
-\latexhtml{
-  \htmladdimg{tkzinclogo.png}
-  }
-\fi
 
+\includefigure{tkzinclogo}{Zinc logo written as a Perl/zinc module}{fig:logozinc}
 
 
 The \ident{zinc} widget is available for the Tcl/Tk and the Perl/Tk environment.
@@ -279,7 +247,7 @@ oriented but it should be easy for Python programmers to adapt. Every time a
 \ident{zinc} command is described in this document, it is given first in Tcl/Tk
 idiom and then in Perl/Tk idiom.
 
-\section{Where can I find zinc and documentation?}
+\section{Where can I find zinc and documentation ?}
 
 \ident{Zinc} is available at http://www.openatc.org/zinc or
 http://freshmeat.net/projects/zincisnotcanvas/. The software is available as
@@ -351,23 +319,25 @@ in \ident{zinc} development. We are managing a mailing list. To subscribe, pleas
 consult the web site http://www.openatc.org/Zinc/ .
 
 \begin{itemize}
-\item The very first way to contribute is to use \ident{zinc} and to report any bug or
-problem you may experiment. Of course, if you propose a correction or a patch, your
-report will be easer to take into account.
-\item The second way to contribute is by commenting and proposing enhancement to this
-reference manual. As it has been written by french native writers, native english
-writers may really help in making this document easier to read. If you really
-feel ambitious, you may even try to write a tutorial, but that is a real challenge!
-\item The third way to contribute (and may be the funniest way) is to enriche the set
-of small demos (see chapter \conceptref{Other resources provided by the widget}{otherresources}).
-Feel free to send us your productions. They may be simple but demonstrative or more complex.
-It is up to you! They will be integrated in the next release of \ident{zinc} if they are
-worth it.
+\item The very first way to contribute is to use \ident{zinc} and to report
+any bug or problem you may experiment. Of course, if you propose a correction
+or a patch, your report will be easer to take into account.
+\item The second way to contribute is by commenting and proposing enhancement
+to this reference manual. As it has been written by french native writers, native
+english writers may really help in making this document easier to read. If you
+really feel ambitious, you may even try to write a tutorial, but that is a real
+challenge!
+\item The third way to contribute (and may be the funniest way) is to enriche the
+set of small demos (see chapter \conceptref{Other resources provided by the
+widget}{otherresources}). Feel free to send us your productions. They may be
+simple but demonstrative or more complex.
+It is up to you! They will be integrated in the next release of \ident{zinc} if
+they are worth it.
 \end{itemize}
 
 
-\concept{options}
 \chapter{Widget options}
+\concept{options}
 
 The \ident{zinc} command creates a new \ident{zinc} widget, the general form is
 \begin{quotation}
@@ -382,9 +352,9 @@ options are described below in this chapter.
 
 Any new \ident{zinc} widget comes with an initial group, always identified by
 the id 1. This group will contain all other items, either directly or
-indirectly through other groups created themselves (directly or in other groups... )
-in group 1. The chapter \conceptref{Groups, Display List and Transformations}{coordinates}
-describes the use of groups)
+indirectly through other groups created themselves (directly or in other
+groups... ) in group 1. The chapter \conceptref{Groups, Display List and
+Transformations}{coordinates} describes the use of groups).
 
 
 \option{borderwidth}{borderWidth}{BorderWidth}
@@ -628,76 +598,108 @@ describes the use of groups)
 \end{blockindent}
 
 
-\concept{coordinates}
 \chapter{Groups, Display List and Transformations}
+\concept{coordinates}
 
 Groups items are very powerful objects in \ident{zinc}. They have many uses in
 \ident{zinc} and we will describe them in this chapter. The main usages are:
-\itemize
+\begin{itemize}
 \item to apply them transformation (translation, rotation or scaling)
 \item appl
+\end{itemize}
+
+\section{The root group}
 
-\section{The root group 1}
-When creating an other item
-(such as an \objectref{track}, a \objectref{rectangle}, or a \objectref{curve}) it is
-always put inside a group. Only the root group, the group 1, is not explicitly created
-in a group; in fact it is created jointly with the \ident{zinc} widget, and by convention,
-the group of group 1 is in the group 1 itself. It is not possible to change the
-group of the root group 1.
+When creating an other item (such as an \objectref{track},
+a \objectref{rectangle}, or a \objectref{curve}), it is always created
+inside a group. The root group (group 1) is not explicitly created.
+In fact it is created jointly with the \ident{zinc} widget, and by
+convention, the group 1 is its own group.
+It is not possible to change the group of the root group and it is not
+possible to delete it.
 
 \section{Priority and display list}
 
-Groups and the items  \ident{-priority} attributes are sued together for ordering the order
-in which objects are displayed. The algorithm is the following :
+Groups and the items  \ident{-priority} attributes are sued together for
+ordering the order in which objects are displayed. The algorithm is the
+following :
 \begin{itemize}
 \item{rule 1} The drawing starts from the root group 1
 \item{rule 2} Inside a group, items with the lowest priority are drawn
   below those with the highest priority.
 \item{rule 3} Inside a group, when items have the same priority, the items are
-  displayed according to their creation order (first created are below last created)
-\item{rule 4} If one of the item of group A is a group B, every items inside the group B are displayed
- according to the rules 2 and 3 during the display of the group B.
- That means that a group is always entirely drawn before treating a sibling (having priority).
+  displayed according to their creation order (first created are below last
+  created)
+\item{rule 4} If one of the item of group A is a group B, every items inside
+  the group B are displayed according to the rules 2 and 3 during the display
+  of the group B. That means that a group is always entirely drawn before
+  treating a sibling (having priority).
 \end{itemize}
 
-To change the priority of an item you can use the following commands: \cmdref{raise}, \cmdref{lower}, or \cmdref{itemconfigure} with the attribute \ident{-priority}.
+To change the priority of an item you can use the following commands:
+\cmdref{raise}, \cmdref{lower}, or \cmdref{itemconfigure} with the
+attribute \ident{-priority}.
 
 \section{Transformation and groups}
 
-Items grouped together inside a same group can be transformed together. By translating a group
-you translate every items contained in this group. This also apply to items included in sub-groups
-of the translated group. In fact the transformation is recursively applied to all children of
+Items grouped together inside a same group can be transformed together.
+By translating a group you translate every items contained in this group.
+This also apply to items included in sub-groups of the translated group.
+In fact the transformation is recursively applied to all children of
 the transformated group.
 
-However, every object have the attributes \ident{-composescale} and \ident{-composerotation}. These attributes
-are defaulted to \ident{true}. If set to \ident{false} a transformation (respectively a \cmdref{scale} and \cmdref{rotate} to its group will not be applied to the item.
+However, every object have the attributes \ident{-composescale} and
+\ident{-composerotation}. These attributes default to \ident{true}.
+If set to \ident{false} a transformation (respectively a \cmdref{scale}
+ and \cmdref{rotate} to its group will not be applied to the item.
 
-For converting coordinates between two coordinates systems, (i.e. between two groups) you must use the \cmdref{transform} command. For being able to convert to/from the device coordinate, the only way to proceed is to use the \cmdref{transform} comman to/from a group having the same coordinate system as the device coordinate. That is why {\bf it is highly recommended not to apply transforms to the root group 1}. This garantee that the coordinate system of group 1 is always equivalent to the device coordinates (except for a translation depending on the toplevel window position).
+For converting coordinates between two coordinates systems, (i.e. between two
+groups) you must use the \cmdref{transform} command. For being able to convert
+to/from the device coordinate, the only way to proceed is to use the
+\cmdref{transform} comman to/from a group having the same coordinate
+system as the device coordinate. That is why {\bf it is highly recommended not to 
+  apply transforms to the root group 1}. This garantee that the coordinate
+system of the root group is always equivalent to the window coordinates.
 
 \section{Attributes propagated to the group children}
 
 The following attributes are propagated to the group children:
 \begin{itemize}
-\item\ident{-sensitive} : the sensitivity (to keyboards or mouse event) can be set at the group level,
+\item\ident{-sensitive} : the sensitivity (to keyboards or mouse event) can be
+  set at the group level,
 \item\ident{-visible} : the visibility  can be set at the group level,
-\item\ident{-alpha} : the alphablending (i.e. the transparency) can be set at the group level. However this will work only if the \ident{zinc} widget support the openGL rendering.
+\item\ident{-alpha} : the alpha-blending (i.e. the transparency) can be set at
+  the group level. However this will work only if the \ident{zinc} widget
+  support the openGL rendering.
 \end{itemize}
 
 \section{Clipping and groups}
 
-All the items inside a group can be clipped with one of the item (the ``clipper'') of the group. The clipper item must be of the following type: \objectref{rectangle}, \objectref{curve}, \objectref{bezier}, \objectref{arc}. XXX TBC! As items \objectref{curve} can have multiple contours (i.e. with hole(s) or made of disjoint parts) this allows the design of some objects very trickky or weird to implement with other widgets or toolkits.   
+All the items inside a group can be clipped with one of the item (the ``clipper'')
+of the group. The clipper item must be of the following type:
+ \objectref{rectangle}, \objectref{curve}, \objectref{bezier}, \objectref{arc}.
+ XXX TBC! As items \objectref{curve} can have multiple contours
+(i.e. with hole(s) or made of disjoint parts) this allows the design of
+some objects very trickky or weird to implement with other widgets or toolkits.   
 
 \section{Other functions related to groups}
 
-A group may be \attributeref{atomic}. This means that the group will catch and treat events normally caught by the group children. The typical use is for binding the same callbacks to many items composing a group. As \attributeref{atomic} is an attribute, it may be modified dynamically, thus modifying the group comportment.
+A group may be \attributeref{atomic}. This means that the group will catch
+and process events normally caught by the group children. The typical use is
+for binding the same callbacks to many items composing a group.
+As \attributeref{atomic} is an attribute, it may be modified dynamically,
+thus modifying the group comportment.
 
-A group may be cloned with the \cmdref{clone} command. This will clone the group and all its children.
+A group may be cloned with the \cmdref{clone} command. This will clone the group
+and all its children.
 
-Finally, a group may be deleted as a whole with the \cmdref{remove} command. However, it is also possible to delete only a child, by applying the \cmdref{remove} command directly to the child.
+Finally, a group may be deleted as a whole with the \cmdref{remove} command.
+However, it is also possible to delete only a child, by applying the
+\cmdref{remove} command directly to the child.
 
 
-\concept{tagOrId}
 \chapter{Item IDs and Tags}
+\concept{tagOrId}
 
 id
 tag all
@@ -711,13 +713,13 @@ n'
 Parler de current, all.
 
 
-\concept{indices}
 \chapter{Indices}
+\concept{indices}
 
 XXX c'est quoi? Voir la commande index.
 
-\concept{commands}
 \chapter{Widget commands}
+\concept{commands}
 
 The available commands are listed in alphabetical order.
 
@@ -1854,8 +1856,8 @@ reference) and all list parameters are given as array references.
 \end{blockindent}
 
 
-\concept{types}
 \chapter{Attribute types}
+\concept{types}
 
 \attrtype{alignment}
 \begin{blockindent}
@@ -2177,12 +2179,12 @@ reference) and all list parameters are given as array references.
 
 
 
-\concept{labelsandfields}
 \chapter{Labels, label formats and fields}
+\concept{labelsandfields}
 
+\section {Labels, label formats}
 \concept{label}
 \concept{labelformat}
-\section {Labels, label formats}
 
 \object{field}
 \section{Attributes for fields}
@@ -2250,8 +2252,8 @@ Applicable attributes for fields are:
   Specifies if the field is displayed. The default value is {\tt true}.}
 
 
-\concept{items}
 \chapter{Item types}
+\concept{items}
 
 This chapter introduces the item types that can be used in \ident{zinc}. Each
 item type provides a set of options that may be used to query or change the
@@ -2260,8 +2262,8 @@ use special parameters with some command. Those cases are noted in the descripti
 of the item.
 
 
-\object{group}
 \section{Group items}
+\object{group}
 
 Group items are used for grouping objects together. Their usage is
 very powerfull and their use is best described in a previous chapter
@@ -2294,8 +2296,8 @@ Applicable attributes for \ident{group} are:
   displayed. The defaut value is {\tt true}.}
 
 
-\object{track}
 \section{Track items}
+\object{track}
 
 Track items have been designed for figuring out typical radar information
 for Air Traffic Control. However they may certainly be used by other kinds of
@@ -2324,16 +2326,18 @@ be set such as color, width, ticks... Its partName is \ident{speedvector}
 
 The following picture shows a simple \ident{track} with a label of 5 fields and 5 past positions. 
 
-\ifpdf
-  \includegraphics{trackexemple}
-\else
-\latexhtml{
-  \htmladdimg{trackexemple.png}
-  }
-\fi
+\includeimage{trackexemple}
 
-An other very important feature of \ident{track} is that \ident{zinc} offers an anti-overlap manager. This manager tries to avoid any overlap of tracks labels. It also avoids that the label overlap the speedvector. This manager is stable over time: there should be few cases where labels are moved to a very different position. This manager applies to all tracks included in a group (by default the group 1). It can be enabled/disabled with the attributes XXX. New labels positions are computed by the overlap  manager every time a track is moved, a track is created or destroyed and every time the \ident{zinc} widget is resized.  
-Due to software licence limitation, \ident{zinc} {\bf DO NOT include} the very last version of this anti-overlap manager. 
+An other very important feature of \ident{track} is that \ident{zinc} offers an
+anti-overlap manager. This manager tries to avoid any overlap of tracks labels.
+It also avoids that the label overlap the speedvector. This manager is stable
+over time: there should be few cases where labels are moved to a very different
+position. This manager applies to all tracks included in a group (by default the
+group 1). It can be enabled/disabled with the attributes XXX. New labels
+positions are computed by the overlap  manager every time a track is moved,
+a track is created or destroyed and every time the \ident{zinc} widget is resized.
+Due to software licence limitation, \ident{zinc} {\bf DO NOT} include the very last
+ version of this anti-overlap manager. 
 
 Applicable attributes for \ident{track}
 
@@ -2456,8 +2460,8 @@ The default is {\tt false}.}
   be displayed. The default value is {\tt 6}.}
 
 
-\object{waypoint}
 \section{WayPoint items}
+\object{waypoint}
 
 Waypoints items have been initially designed for figuring out typical fixed position
 objects (i.e. beacons or fixes in the ATC vocabulary) with
@@ -2562,8 +2566,8 @@ Applicable attributes for \ident{waypoint} are:
   value is {\tt true}.}
 
 
-\object{tabular}
 \section{Tabular items}
+\object{tabular}
 
 Tabular items have been initially designed for displaying block of textual
 information, organised in lists or spread out on a radar display.
@@ -2603,8 +2607,8 @@ Applicable attributes for \ident{tabular} are:
   value is {\tt true}.}
 
 
-\object{text}
 \section{Text items}
+\object{text}
 
 Text items are used for displaying text. They can also be used for text input.
  In this case, they must get the focus for keyboards events with the command \cmdref{focus}.
@@ -2659,8 +2663,8 @@ Applicable attributes for \ident{text} are:
   The default value is {\tt 0}.}
 
 
-\object{icon}
 \section{Icon items}
+\object{icon}
 
 Icon items are used for XXX.
 
@@ -2697,8 +2701,8 @@ Applicable attributes for \ident{icon} are:
   value is {\tt true}.}
 
 
-\object{reticle}
 \section{Reticle items}
+\object{reticle}
 
 Reticle items are used for XXX.
 
@@ -2742,8 +2746,8 @@ Applicable attributes for \ident{reticle} are:
   value is {\tt true}.}
 
 
-\object{map}
 \section{Map items}
+\object{map}
 
 
 Map items are used for XXX.
@@ -2779,8 +2783,8 @@ Map items are used for XXX.
   value is {\tt true}.}
 
 
-\object{rectangle}
 \section{Rectangle items}
+\object{rectangle}
 
 
   Items of type \ident{rectangle} display a rectangular shape, optionally
@@ -2830,9 +2834,8 @@ Map items are used for XXX.
   value is {\tt true}.}
 
 
-\object{arc}
 \section{Arc items}
-
+\object{arc}
 
   Items of type \ident{arc} display an oval section, optionally filled,
   delimited by two angles. The oval is described by its enclosing rectangle.
@@ -2902,8 +2905,8 @@ Map items are used for XXX.
   value is {\tt true}.}
 
 
-\object{curve}
 \section{Curve items}
+\object{curve}
 
 
   Items of type \ident{curve} display a path of line segments connected by their
@@ -2976,8 +2979,8 @@ Map items are used for XXX.
   value is {\tt true}.}
 
 
-\object{bezier}
 \section{Bezier items}
+\object{bezier}
 
 
   Items of type \ident{bezier} display a path of Bezier cubic segments connected
@@ -3043,15 +3046,16 @@ Applicable attributes for \ident{bezier} are:
   value is {\tt true}.}
 
 
-\object{triangles}
 \section{Triangles items}
+\object{triangles}
 
 
  Triangles items are used for XXX.
 
  Applicable attributes for \ident{triangles} are:
 
-\attribute{colors}{gradientarray}{Specifies the colors of each vertex of the triangles XXX.}
+\attribute{colors}{gradientarray}{Specifies the colors of each vertex of the
+ triangles XXX.}
 \attribute{composerotation}{boolean}{Specifies if the current rotation should
   be composed with the local transform. The default value is {\tt true}.}
 \attribute{composescale}{boolean}{Specifies if the current scale should be
@@ -3067,8 +3071,8 @@ Applicable attributes for \ident{bezier} are:
   value is {\tt true}.}
 
 
-\object{window}
 \section{Window items}
+\object{window}
 
   Items of type \ident{window} display an X11 window at a given position in the
   widget.
@@ -3124,16 +3128,8 @@ Applicable attributes for \ident{window} are:
   The default value is {\tt ""}.}
 
 
-<<<<<<< variant A
-\concept{mapinfocmds}
 \chapter{The mapinfo commands}
->>>>>>> variant B
-\chapter{The mapinfo command}
-\label{mapinfocmd}
-####### Ancestor
-\chapter{The \ident{mapinfo} command}
-\label{mapinfocmd}
-======= end
+\concept{mapinfocmds}
 
   MapInfo objects are used to describe graphical primitives that will be
   displayed in map items. It is possible to describe lines, arcs, symbols
@@ -3246,14 +3242,8 @@ Applicable attributes for \ident{window} are:
 
 
 
-<<<<<<< variant A
-\concept{videomapcmds}
 \chapter{The videomap commands}
->>>>>>> variant B
-\chapter{The videomap command}
-####### Ancestor
-\chapter{The \ident{videomap} command}
-======= end
+\concept{videomapcmds}
 
 \command{videomap}{ids}{fileName}
 \begin{blockindent}
@@ -3273,8 +3263,8 @@ Applicable attributes for \ident{window} are:
 
 
 
-\concept{otherresources}
 \chapter{Other resources provided by the widget}
+\concept{otherresources}
 
 \section{Bitmaps}
 \label{builtinbitmaps}
@@ -3284,51 +3274,17 @@ Zinc creates two sets of bitmaps.
 The first set contains symbols for ATC tracks, maps and
 waypoints, these bitmaps are named AtcSymbol1 to AtcSymbol22.
 
-<<<<<<< variant A
-\ifpdf
-  \includegraphics{atcsymb}
-\else
-\latexhtml{
->>>>>>> variant B
-\ifpdf
-  \includegraphics{atcsymb}
-\else
-\latexhtml{%
-  \includegraphics{atcsymb.ps}}{%
-####### Ancestor
-\latexhtml{%
-  \includegraphics{atcsymb.ps}}{%
-======= end
-  \htmladdimg{atcsymb.png}
-  }
-\fi
+\includeimage{atcsymb}
 
 The second set provides stipples that can be used to implement
 transparency, they are named AlphaStipple0 to AlphaStipple15,
 AlphaStipple0 being the most transparent.
 
-<<<<<<< variant A
-\ifpdf
-  \includegraphics{alphastip}
-\else
-\latexhtml{
->>>>>>> variant B
-\ifpdf
-  \includegraphics{alphastip}
-\else
-\latexhtml{%
-  \includegraphics{alphastip.ps}}{%
-####### Ancestor
-\latexhtml{%
-  \includegraphics{alphastip.ps}}{%
-======= end
-  \htmladdimg{alphastip.png}
-  }
-\fi
+\includeimage{alphastip}
+
+\latexhtml{\tolerance 2000  %allow somewhat looser lines.
+  \hbadness 10000}{}        %don't complain about underfull lines.
 
-\ifpdf\else\latex {\tolerance 2000  %allow somewhat looser lines.
-  \hbadness 10000 }                 %don't complain about underfull lines.
-\fi
 
 
 \section{ZincDebug.pm}
-- 
cgit v1.1

