\section{lib/gvc/gvevent.c File Reference}
\label{gvevent_8c}\index{lib/gvc/gvevent.\-c@{lib/gvc/gvevent.\-c}}
{\ttfamily \#include \char`\"{}config.\-h\char`\"{}}\\*
{\ttfamily \#include $<$string.\-h$>$}\\*
{\ttfamily \#include $<$stdlib.\-h$>$}\\*
{\ttfamily \#include $<$math.\-h$>$}\\*
{\ttfamily \#include \char`\"{}gvplugin\-\_\-layout.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}gvcint.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}gvcproc.\-h\char`\"{}}\\*
Include dependency graph for gvevent.\-c\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gvevent_8c__incl}
\end{center}
\end{figure}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define {\bf P\-A\-N\-F\-A\-C\-T\-O\-R}~10
\item 
\#define {\bf Z\-O\-O\-M\-F\-A\-C\-T\-O\-R}~1.\-1
\item 
\#define {\bf E\-P\-S\-I\-L\-O\-N}~.\-0001
\item 
\#define {\bf C\-L\-O\-S\-E\-E\-N\-O\-U\-G\-H}~1
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
char $\ast$ {\bf strdup\-\_\-and\-\_\-subst\-\_\-obj} (char $\ast${\bf str}, void $\ast$n)
\item 
void {\bf emit\-\_\-graph} ({\bf G\-V\-J\-\_\-t} $\ast$job, {\bf graph\-\_\-t} $\ast$g)
\item 
{\bf boolean} {\bf overlap\-\_\-edge} ({\bf edge\-\_\-t} $\ast$e, {\bf boxf} b)
\item 
{\bf boolean} {\bf overlap\-\_\-node} ({\bf node\-\_\-t} $\ast$n, {\bf boxf} b)
\item 
{\bf int} {\bf gv\-Layout} ({\bf G\-V\-C\-\_\-t} $\ast${\bf gvc}, {\bf graph\-\_\-t} $\ast$g, const char $\ast$engine)
\item 
{\bf int} {\bf gv\-Render\-Filename} ({\bf G\-V\-C\-\_\-t} $\ast${\bf gvc}, {\bf graph\-\_\-t} $\ast$g, const char $\ast$format, const char $\ast$filename)
\item 
void {\bf graph\-\_\-cleanup} ({\bf graph\-\_\-t} $\ast$g)
\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
{\bf gvevent\-\_\-key\-\_\-binding\-\_\-t} {\bf gvevent\-\_\-key\-\_\-binding} [$\,$]
\item 
{\bf int} {\bf gvevent\-\_\-key\-\_\-binding\-\_\-size} = {\bf A\-R\-R\-A\-Y\-\_\-\-S\-I\-Z\-E}({\bf gvevent\-\_\-key\-\_\-binding})
\item 
{\bf gvdevice\-\_\-callbacks\-\_\-t} {\bf gvdevice\-\_\-callbacks}
\end{DoxyCompactItemize}


\subsection{Macro Definition Documentation}
\index{gvevent.\-c@{gvevent.\-c}!C\-L\-O\-S\-E\-E\-N\-O\-U\-G\-H@{C\-L\-O\-S\-E\-E\-N\-O\-U\-G\-H}}
\index{C\-L\-O\-S\-E\-E\-N\-O\-U\-G\-H@{C\-L\-O\-S\-E\-E\-N\-O\-U\-G\-H}!gvevent.c@{gvevent.\-c}}
\subsubsection[{C\-L\-O\-S\-E\-E\-N\-O\-U\-G\-H}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\-L\-O\-S\-E\-E\-N\-O\-U\-G\-H~1}\label{gvevent_8c_a0ec347749213e7991f50c51c8205cee2}


Definition at line 300 of file gvevent.\-c.

\index{gvevent.\-c@{gvevent.\-c}!E\-P\-S\-I\-L\-O\-N@{E\-P\-S\-I\-L\-O\-N}}
\index{E\-P\-S\-I\-L\-O\-N@{E\-P\-S\-I\-L\-O\-N}!gvevent.c@{gvevent.\-c}}
\subsubsection[{E\-P\-S\-I\-L\-O\-N}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\-P\-S\-I\-L\-O\-N~.\-0001}\label{gvevent_8c_a002b2f4894492820fe708b1b7e7c5e70}


Definition at line 34 of file gvevent.\-c.

\index{gvevent.\-c@{gvevent.\-c}!P\-A\-N\-F\-A\-C\-T\-O\-R@{P\-A\-N\-F\-A\-C\-T\-O\-R}}
\index{P\-A\-N\-F\-A\-C\-T\-O\-R@{P\-A\-N\-F\-A\-C\-T\-O\-R}!gvevent.c@{gvevent.\-c}}
\subsubsection[{P\-A\-N\-F\-A\-C\-T\-O\-R}]{\setlength{\rightskip}{0pt plus 5cm}\#define P\-A\-N\-F\-A\-C\-T\-O\-R~10}\label{gvevent_8c_a26d1595b271173331b8c27b4a742660b}


Definition at line 32 of file gvevent.\-c.

\index{gvevent.\-c@{gvevent.\-c}!Z\-O\-O\-M\-F\-A\-C\-T\-O\-R@{Z\-O\-O\-M\-F\-A\-C\-T\-O\-R}}
\index{Z\-O\-O\-M\-F\-A\-C\-T\-O\-R@{Z\-O\-O\-M\-F\-A\-C\-T\-O\-R}!gvevent.c@{gvevent.\-c}}
\subsubsection[{Z\-O\-O\-M\-F\-A\-C\-T\-O\-R}]{\setlength{\rightskip}{0pt plus 5cm}\#define Z\-O\-O\-M\-F\-A\-C\-T\-O\-R~1.\-1}\label{gvevent_8c_a23c183723bd26780cd3aa0a20cfc7191}


Definition at line 33 of file gvevent.\-c.



\subsection{Function Documentation}
\index{gvevent.\-c@{gvevent.\-c}!emit\-\_\-graph@{emit\-\_\-graph}}
\index{emit\-\_\-graph@{emit\-\_\-graph}!gvevent.c@{gvevent.\-c}}
\subsubsection[{emit\-\_\-graph}]{\setlength{\rightskip}{0pt plus 5cm}void emit\-\_\-graph (
\begin{DoxyParamCaption}
\item[{{\bf G\-V\-J\-\_\-t} $\ast$}]{job, }
\item[{{\bf graph\-\_\-t} $\ast$}]{g}
\end{DoxyParamCaption}
)}\label{gvevent_8c_af2b8964d2a9bf177fbcf4496f5baa8b3}


Definition at line 3545 of file emit.\-c.



References agattr(), agfstnode(), agnxtnode(), A\-G\-R\-A\-P\-H, G\-V\-J\-\_\-s\-::devscale, G\-V\-J\-\_\-s\-::dpi, E\-M\-I\-T\-\_\-\-C\-O\-L\-O\-R\-S, G\-V\-J\-\_\-s\-::flags, G\-V\-J\-\_\-s\-::focus, gvrender\-\_\-begin\-\_\-layer(), gvrender\-\_\-comment(), gvrender\-\_\-end\-\_\-layer(), G\-V\-R\-E\-N\-D\-E\-R\-\_\-\-Y\-\_\-\-G\-O\-E\-S\-\_\-\-D\-O\-W\-N, G\-V\-J\-\_\-s\-::height, late\-\_\-string(), G\-V\-J\-\_\-s\-::layer\-Num, N\-D\-\_\-state, P\-O\-I\-N\-T\-S\-\_\-\-P\-E\-R\-\_\-\-I\-N\-C\-H, G\-V\-J\-\_\-s\-::rotation, G\-V\-J\-\_\-s\-::scale, G\-V\-J\-\_\-s\-::view, G\-V\-J\-\_\-s\-::width, pointf\-\_\-s\-::x, pointf\-\_\-s\-::y, Y\-\_\-invert, and G\-V\-J\-\_\-s\-::zoom.



Referenced by gv\-Render\-Jobs().

\index{gvevent.\-c@{gvevent.\-c}!graph\-\_\-cleanup@{graph\-\_\-cleanup}}
\index{graph\-\_\-cleanup@{graph\-\_\-cleanup}!gvevent.c@{gvevent.\-c}}
\subsubsection[{graph\-\_\-cleanup}]{\setlength{\rightskip}{0pt plus 5cm}void graph\-\_\-cleanup (
\begin{DoxyParamCaption}
\item[{{\bf graph\-\_\-t} $\ast$}]{g}
\end{DoxyParamCaption}
)}\label{gvevent_8c_abb8fffd41174d94daec60f98fb046ca3}


Definition at line 847 of file input.\-c.

\index{gvevent.\-c@{gvevent.\-c}!gv\-Layout@{gv\-Layout}}
\index{gv\-Layout@{gv\-Layout}!gvevent.c@{gvevent.\-c}}
\subsubsection[{gv\-Layout}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int} gv\-Layout (
\begin{DoxyParamCaption}
\item[{{\bf G\-V\-C\-\_\-t} $\ast$}]{gvc, }
\item[{{\bf graph\-\_\-t} $\ast$}]{g, }
\item[{const char $\ast$}]{engine}
\end{DoxyParamCaption}
)}\label{gvevent_8c_a61596ae3c9c9373f4f5e4ac498941122}


Definition at line 53 of file gvc.\-c.



References agerr(), A\-G\-E\-R\-R, agsafeset(), G\-D\-\_\-bb, G\-D\-\_\-drawing, gvlayout\-\_\-select(), gv\-Layout\-Jobs(), gvplugin\-\_\-list(), N\-O\-\_\-\-S\-U\-P\-P\-O\-R\-T, and R\-O\-U\-N\-D.



Referenced by layout().

\index{gvevent.\-c@{gvevent.\-c}!gv\-Render\-Filename@{gv\-Render\-Filename}}
\index{gv\-Render\-Filename@{gv\-Render\-Filename}!gvevent.c@{gvevent.\-c}}
\subsubsection[{gv\-Render\-Filename}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int} gv\-Render\-Filename (
\begin{DoxyParamCaption}
\item[{{\bf G\-V\-C\-\_\-t} $\ast$}]{gvc, }
\item[{{\bf graph\-\_\-t} $\ast$}]{g, }
\item[{const char $\ast$}]{format, }
\item[{const char $\ast$}]{filename}
\end{DoxyParamCaption}
)}\label{gvevent_8c_ae074e161c1dd2329956abe90763470c5}


Definition at line 117 of file gvc.\-c.



References agerr(), A\-G\-E\-R\-R, agerrorf(), G\-V\-J\-\_\-s\-::flags, gvdevice\-\_\-finalize(), gvjobs\-\_\-delete(), gvjobs\-\_\-output\-\_\-filename(), gvjobs\-\_\-output\-\_\-langname(), gvplugin\-\_\-list(), gvrender\-\_\-end\-\_\-job(), gvrender\-\_\-select(), gv\-Render\-Jobs(), G\-V\-C\-\_\-s\-::job, L\-A\-Y\-O\-U\-T\-\_\-\-D\-O\-N\-E, L\-A\-Y\-O\-U\-T\-\_\-\-N\-O\-T\-\_\-\-R\-E\-Q\-U\-I\-R\-E\-D, N\-O\-\_\-\-S\-U\-P\-P\-O\-R\-T, G\-V\-J\-\_\-s\-::output\-\_\-lang, G\-V\-J\-\_\-s\-::output\-\_\-langname, and Agraph\-\_\-s\-::root.



Referenced by render().

\index{gvevent.\-c@{gvevent.\-c}!overlap\-\_\-edge@{overlap\-\_\-edge}}
\index{overlap\-\_\-edge@{overlap\-\_\-edge}!gvevent.c@{gvevent.\-c}}
\subsubsection[{overlap\-\_\-edge}]{\setlength{\rightskip}{0pt plus 5cm}{\bf boolean} overlap\-\_\-edge (
\begin{DoxyParamCaption}
\item[{{\bf edge\-\_\-t} $\ast$}]{e, }
\item[{{\bf boxf}}]{b}
\end{DoxyParamCaption}
)}\label{gvevent_8c_aec020dee69092ff10dcadbe239945f8b}


Definition at line 1690 of file utils.\-c.



References splines\-::bb, E\-D\-\_\-label, E\-D\-\_\-spl, F\-A\-L\-S\-E, splines\-::list, overlap\-\_\-label(), splines\-::size, and T\-R\-U\-E.

\index{gvevent.\-c@{gvevent.\-c}!overlap\-\_\-node@{overlap\-\_\-node}}
\index{overlap\-\_\-node@{overlap\-\_\-node}!gvevent.c@{gvevent.\-c}}
\subsubsection[{overlap\-\_\-node}]{\setlength{\rightskip}{0pt plus 5cm}{\bf boolean} overlap\-\_\-node (
\begin{DoxyParamCaption}
\item[{{\bf node\-\_\-t} $\ast$}]{n, }
\item[{{\bf boxf}}]{b}
\end{DoxyParamCaption}
)}\label{gvevent_8c_a2986fc72a59e64abaaca3453b9fe5056}


Definition at line 1626 of file utils.\-c.



References inside\-\_\-t\-::bp, F\-A\-L\-S\-E, boxf\-::\-L\-L, inside\-\_\-t\-::n, N\-D\-\_\-bb, N\-D\-\_\-coord, N\-D\-\_\-shape, N\-U\-L\-L, O\-V\-E\-R\-L\-A\-P, inside\-\_\-t\-::s, and boxf\-::\-U\-R.

\index{gvevent.\-c@{gvevent.\-c}!strdup\-\_\-and\-\_\-subst\-\_\-obj@{strdup\-\_\-and\-\_\-subst\-\_\-obj}}
\index{strdup\-\_\-and\-\_\-subst\-\_\-obj@{strdup\-\_\-and\-\_\-subst\-\_\-obj}!gvevent.c@{gvevent.\-c}}
\subsubsection[{strdup\-\_\-and\-\_\-subst\-\_\-obj}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ strdup\-\_\-and\-\_\-subst\-\_\-obj (
\begin{DoxyParamCaption}
\item[{char $\ast$}]{str, }
\item[{void $\ast$}]{n}
\end{DoxyParamCaption}
)}\label{gvevent_8c_a132d32ead31051e48db1240ad0506d97}


Definition at line 451 of file labels.\-c.



Referenced by graph\-\_\-init(), and init\-Map\-Data().



\subsection{Variable Documentation}
\index{gvevent.\-c@{gvevent.\-c}!gvdevice\-\_\-callbacks@{gvdevice\-\_\-callbacks}}
\index{gvdevice\-\_\-callbacks@{gvdevice\-\_\-callbacks}!gvevent.c@{gvevent.\-c}}
\subsubsection[{gvdevice\-\_\-callbacks}]{\setlength{\rightskip}{0pt plus 5cm}{\bf gvdevice\-\_\-callbacks\-\_\-t} gvdevice\-\_\-callbacks}\label{gvevent_8c_ad179dd9b9e6d2abdc4af8004c7e0732c}
{\bfseries Initial value\-:}
\begin{DoxyCode}
= \{
    gvevent\_refresh,
    gvevent\_button\_press,
    gvevent\_button\_release,
    gvevent\_motion,
    gvevent\_modify,
    gvevent\_delete,
    gvevent\_read,
    gvevent\_layout,
    gvevent\_render,
\}
\end{DoxyCode}


Definition at line 663 of file gvevent.\-c.



Referenced by gv\-Render\-Jobs().

\index{gvevent.\-c@{gvevent.\-c}!gvevent\-\_\-key\-\_\-binding@{gvevent\-\_\-key\-\_\-binding}}
\index{gvevent\-\_\-key\-\_\-binding@{gvevent\-\_\-key\-\_\-binding}!gvevent.c@{gvevent.\-c}}
\subsubsection[{gvevent\-\_\-key\-\_\-binding}]{\setlength{\rightskip}{0pt plus 5cm}{\bf gvevent\-\_\-key\-\_\-binding\-\_\-t} gvevent\-\_\-key\-\_\-binding[$\,$]}\label{gvevent_8c_aad799ff2267196086f8b1e04e2692cd0}
{\bfseries Initial value\-:}
\begin{DoxyCode}
= \{
    \{\textcolor{stringliteral}{"Q"}, quit\_cb\},
    \{\textcolor{stringliteral}{"Left"}, left\_cb\},
    \{\textcolor{stringliteral}{"KP\_Left"}, left\_cb\},
    \{\textcolor{stringliteral}{"Right"}, right\_cb\},
    \{\textcolor{stringliteral}{"KP\_Right"}, right\_cb\},
    \{\textcolor{stringliteral}{"Up"}, up\_cb\},
    \{\textcolor{stringliteral}{"KP\_Up"}, up\_cb\},
    \{\textcolor{stringliteral}{"Down"}, down\_cb\},
    \{\textcolor{stringliteral}{"KP\_Down"}, down\_cb\},
    \{\textcolor{stringliteral}{"plus"}, zoom\_in\_cb\},
    \{\textcolor{stringliteral}{"KP\_Add"}, zoom\_in\_cb\},
    \{\textcolor{stringliteral}{"minus"}, zoom\_out\_cb\},
    \{\textcolor{stringliteral}{"KP\_Subtract"}, zoom\_out\_cb\},
    \{\textcolor{stringliteral}{"F"}, toggle\_fit\_cb\},
\}
\end{DoxyCode}


Definition at line 644 of file gvevent.\-c.



Referenced by gv\-Render\-Jobs().

\index{gvevent.\-c@{gvevent.\-c}!gvevent\-\_\-key\-\_\-binding\-\_\-size@{gvevent\-\_\-key\-\_\-binding\-\_\-size}}
\index{gvevent\-\_\-key\-\_\-binding\-\_\-size@{gvevent\-\_\-key\-\_\-binding\-\_\-size}!gvevent.c@{gvevent.\-c}}
\subsubsection[{gvevent\-\_\-key\-\_\-binding\-\_\-size}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int} gvevent\-\_\-key\-\_\-binding\-\_\-size = {\bf A\-R\-R\-A\-Y\-\_\-\-S\-I\-Z\-E}({\bf gvevent\-\_\-key\-\_\-binding})}\label{gvevent_8c_abb5e0ea5045f2369992edf624937af39}


Definition at line 661 of file gvevent.\-c.



Referenced by gv\-Render\-Jobs().

