\doxysection{src/util/draw/gl.c File Reference}
\hypertarget{gl_8c}{}\label{gl_8c}\index{src/util/draw/gl.c@{src/util/draw/gl.c}}
{\ttfamily \#include "{}../../../include/graphics.\+h"{}}\newline
{\ttfamily \#include "{}../../../include/signal.\+h"{}}\newline
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structstack__index__t}{stack\+\_\+index\+\_\+t}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{gl_8c_a2737fdf992bd5a9d008f620ddaf50107}{GL\+\_\+\+AREA\+\_\+\+SIZE}}~400
\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \mbox{\hyperlink{gl_8c_a289cfe9a70bcb690eeff2639dd8a98cd}{util\+\_\+gl\+\_\+set\+\_\+arrow}} (int stack\+\_\+id, int arrows\+\_\+nb, int space\+\_\+X, int space\+\_\+Y, int space\+\_\+Z, int requested\+\_\+weight, int site, int arrow\+\_\+x, int arrow\+\_\+y, int arrow\+\_\+z)
\item 
long \mbox{\hyperlink{gl_8c_adbe03a3d239b22390e9de809443c8df9}{util\+\_\+gl\+\_\+get\+\_\+stack}} (void \texorpdfstring{$\ast$}{*}container\+\_\+widget)
\item 
long \mbox{\hyperlink{gl_8c_a5a691fdca6e3088ea9c1927096541624}{util\+\_\+gl\+\_\+is\+\_\+ready}} (void \texorpdfstring{$\ast$}{*}container\+\_\+widget)
\item 
bool \mbox{\hyperlink{gl_8c_a28b44187c7ae713705874288323e10a6}{util\+\_\+gl\+\_\+init\+\_\+stack}} (void \texorpdfstring{$\ast$}{*}container\+\_\+widget, GError \texorpdfstring{$\ast$}{*}error\+\_\+buffer)
\item 
bool \mbox{\hyperlink{gl_8c_a9d41985e1832e0a798e722d2341752f1}{util\+\_\+gl\+\_\+shutdown\+\_\+stack}} (void \texorpdfstring{$\ast$}{*}container\+\_\+widget, GError \texorpdfstring{$\ast$}{*}error\+\_\+buffer)
\item 
void \mbox{\hyperlink{gl_8c_ab0a523986944f809fac9acc1693f3029}{util\+\_\+gl\+\_\+clean\+\_\+stack\+\_\+index}} (void)
\item 
bool \mbox{\hyperlink{gl_8c_a8132a1a797f4f12eaff04b4c3610f054}{util\+\_\+gl\+\_\+render\+\_\+stack}} (Gtk\+Widget \texorpdfstring{$\ast$}{*}container\+\_\+widget)
\item 
bool \mbox{\hyperlink{gl_8c_ad830e66002a24806e3617946dc988e95}{util\+\_\+gl\+\_\+update\+\_\+axis}} (Gtk\+Widget \texorpdfstring{$\ast$}{*}container\+\_\+widget, int axis, int value)
\item 
void \mbox{\hyperlink{gl_8c_ae2198c050662c486c8e66c6e6b5a7e0b}{util\+\_\+gl\+\_\+shutdown\+\_\+all\+\_\+stacks}} (void)
\item 
Gtk\+Widget \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{gl_8c_a2cb205bd6556250d019b4de59eee3894}{create\+\_\+axis\+\_\+slider}} (int axis)
\item 
bool \mbox{\hyperlink{gl_8c_ac90dc30613c94fdefedb76cf6d2c4ac8}{util\+\_\+gl\+\_\+setup\+\_\+glarea}} (int target\+\_\+mode, Gtk\+Widget \texorpdfstring{$\ast$}{*}target\+\_\+widget)
\end{DoxyCompactItemize}
\doxysubsubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
size\+\_\+t \mbox{\hyperlink{gl_8c_a176a1af12ef0fb33a5de5cd36ef7145a}{stack\+\_\+index\+\_\+size}} = 0
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\Hypertarget{gl_8c_a2737fdf992bd5a9d008f620ddaf50107}\label{gl_8c_a2737fdf992bd5a9d008f620ddaf50107} 
\index{gl.c@{gl.c}!GL\_AREA\_SIZE@{GL\_AREA\_SIZE}}
\index{GL\_AREA\_SIZE@{GL\_AREA\_SIZE}!gl.c@{gl.c}}
\doxysubsubsection{\texorpdfstring{GL\_AREA\_SIZE}{GL\_AREA\_SIZE}}
{\footnotesize\ttfamily \#define GL\+\_\+\+AREA\+\_\+\+SIZE~400}

phantom documentation used to test the functioning of doxygen 

\doxysubsection{Function Documentation}
\Hypertarget{gl_8c_a2cb205bd6556250d019b4de59eee3894}\label{gl_8c_a2cb205bd6556250d019b4de59eee3894} 
\index{gl.c@{gl.c}!create\_axis\_slider@{create\_axis\_slider}}
\index{create\_axis\_slider@{create\_axis\_slider}!gl.c@{gl.c}}
\doxysubsubsection{\texorpdfstring{create\_axis\_slider()}{create\_axis\_slider()}}
{\footnotesize\ttfamily Gtk\+Widget \texorpdfstring{$\ast$}{*} create\+\_\+axis\+\_\+slider (\begin{DoxyParamCaption}\item[{int}]{axis }\end{DoxyParamCaption})}

Creates a slider widget


\begin{DoxyParams}{Parameters}
{\em axis} & the axis we\textquotesingle{}re building a label for\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Gtk\+Widget\texorpdfstring{$\ast$}{*}\+: pointer to the new widget 
\end{DoxyReturn}
\Hypertarget{gl_8c_ab0a523986944f809fac9acc1693f3029}\label{gl_8c_ab0a523986944f809fac9acc1693f3029} 
\index{gl.c@{gl.c}!util\_gl\_clean\_stack\_index@{util\_gl\_clean\_stack\_index}}
\index{util\_gl\_clean\_stack\_index@{util\_gl\_clean\_stack\_index}!gl.c@{gl.c}}
\doxysubsubsection{\texorpdfstring{util\_gl\_clean\_stack\_index()}{util\_gl\_clean\_stack\_index()}}
{\footnotesize\ttfamily void util\+\_\+gl\+\_\+clean\+\_\+stack\+\_\+index (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}

phantom documentation used to test the functioning of doxygen \Hypertarget{gl_8c_adbe03a3d239b22390e9de809443c8df9}\label{gl_8c_adbe03a3d239b22390e9de809443c8df9} 
\index{gl.c@{gl.c}!util\_gl\_get\_stack@{util\_gl\_get\_stack}}
\index{util\_gl\_get\_stack@{util\_gl\_get\_stack}!gl.c@{gl.c}}
\doxysubsubsection{\texorpdfstring{util\_gl\_get\_stack()}{util\_gl\_get\_stack()}}
{\footnotesize\ttfamily long util\+\_\+gl\+\_\+get\+\_\+stack (\begin{DoxyParamCaption}\item[{void \texorpdfstring{$\ast$}{*}}]{container\+\_\+widget }\end{DoxyParamCaption})}

Look for stack entry and returns stack\+\_\+id


\begin{DoxyParams}{Parameters}
{\em container\+\_\+widget} & generally the Gtk\+Box that contains the GLArea\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
stack\+\_\+id 
\end{DoxyReturn}
\Hypertarget{gl_8c_a28b44187c7ae713705874288323e10a6}\label{gl_8c_a28b44187c7ae713705874288323e10a6} 
\index{gl.c@{gl.c}!util\_gl\_init\_stack@{util\_gl\_init\_stack}}
\index{util\_gl\_init\_stack@{util\_gl\_init\_stack}!gl.c@{gl.c}}
\doxysubsubsection{\texorpdfstring{util\_gl\_init\_stack()}{util\_gl\_init\_stack()}}
{\footnotesize\ttfamily bool util\+\_\+gl\+\_\+init\+\_\+stack (\begin{DoxyParamCaption}\item[{void \texorpdfstring{$\ast$}{*}}]{container\+\_\+widget,  }\item[{GError \texorpdfstring{$\ast$}{*}}]{error\+\_\+buffer }\end{DoxyParamCaption})}

Look for stack entry and initializes Open\+GL for it


\begin{DoxyParams}{Parameters}
{\em container\+\_\+widget} & generally the Gtk\+Box that contains the GLArea \\
\hline
{\em error\+\_\+buffer} & phantom documentation used to test the functioning of doxygen\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
bool\+: true if success 
\end{DoxyReturn}
\Hypertarget{gl_8c_a5a691fdca6e3088ea9c1927096541624}\label{gl_8c_a5a691fdca6e3088ea9c1927096541624} 
\index{gl.c@{gl.c}!util\_gl\_is\_ready@{util\_gl\_is\_ready}}
\index{util\_gl\_is\_ready@{util\_gl\_is\_ready}!gl.c@{gl.c}}
\doxysubsubsection{\texorpdfstring{util\_gl\_is\_ready()}{util\_gl\_is\_ready()}}
{\footnotesize\ttfamily long util\+\_\+gl\+\_\+is\+\_\+ready (\begin{DoxyParamCaption}\item[{void \texorpdfstring{$\ast$}{*}}]{container\+\_\+widget }\end{DoxyParamCaption})}

Look for stack entry and returns stack\+\_\+id


\begin{DoxyParams}{Parameters}
{\em container\+\_\+widget} & generally the Gtk\+Box that contains the GLArea\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
stack\+\_\+id 
\end{DoxyReturn}
\Hypertarget{gl_8c_a8132a1a797f4f12eaff04b4c3610f054}\label{gl_8c_a8132a1a797f4f12eaff04b4c3610f054} 
\index{gl.c@{gl.c}!util\_gl\_render\_stack@{util\_gl\_render\_stack}}
\index{util\_gl\_render\_stack@{util\_gl\_render\_stack}!gl.c@{gl.c}}
\doxysubsubsection{\texorpdfstring{util\_gl\_render\_stack()}{util\_gl\_render\_stack()}}
{\footnotesize\ttfamily bool util\+\_\+gl\+\_\+render\+\_\+stack (\begin{DoxyParamCaption}\item[{Gtk\+Widget \texorpdfstring{$\ast$}{*}}]{container\+\_\+widget }\end{DoxyParamCaption})}

Look for stack entry and triggers Open\+GL for drawing


\begin{DoxyParams}{Parameters}
{\em container\+\_\+widget} & generally the Gtk\+Box that contains the GLArea\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
bool\+: true if success 
\end{DoxyReturn}
\Hypertarget{gl_8c_a289cfe9a70bcb690eeff2639dd8a98cd}\label{gl_8c_a289cfe9a70bcb690eeff2639dd8a98cd} 
\index{gl.c@{gl.c}!util\_gl\_set\_arrow@{util\_gl\_set\_arrow}}
\index{util\_gl\_set\_arrow@{util\_gl\_set\_arrow}!gl.c@{gl.c}}
\doxysubsubsection{\texorpdfstring{util\_gl\_set\_arrow()}{util\_gl\_set\_arrow()}}
{\footnotesize\ttfamily int util\+\_\+gl\+\_\+set\+\_\+arrow (\begin{DoxyParamCaption}\item[{int}]{stack\+\_\+id,  }\item[{int}]{arrows\+\_\+nb,  }\item[{int}]{space\+\_\+X,  }\item[{int}]{space\+\_\+Y,  }\item[{int}]{space\+\_\+Z,  }\item[{int}]{requested\+\_\+weight,  }\item[{int}]{site,  }\item[{int}]{arrow\+\_\+x,  }\item[{int}]{arrow\+\_\+y,  }\item[{int}]{arrow\+\_\+z }\end{DoxyParamCaption})}

phantom documentation used to test the functioning of doxygen \Hypertarget{gl_8c_ac90dc30613c94fdefedb76cf6d2c4ac8}\label{gl_8c_ac90dc30613c94fdefedb76cf6d2c4ac8} 
\index{gl.c@{gl.c}!util\_gl\_setup\_glarea@{util\_gl\_setup\_glarea}}
\index{util\_gl\_setup\_glarea@{util\_gl\_setup\_glarea}!gl.c@{gl.c}}
\doxysubsubsection{\texorpdfstring{util\_gl\_setup\_glarea()}{util\_gl\_setup\_glarea()}}
{\footnotesize\ttfamily bool util\+\_\+gl\+\_\+setup\+\_\+glarea (\begin{DoxyParamCaption}\item[{int}]{target\+\_\+mode,  }\item[{Gtk\+Widget \texorpdfstring{$\ast$}{*}}]{target\+\_\+widget }\end{DoxyParamCaption})}

phantom documentation used to test the functioning of doxygen \Hypertarget{gl_8c_ae2198c050662c486c8e66c6e6b5a7e0b}\label{gl_8c_ae2198c050662c486c8e66c6e6b5a7e0b} 
\index{gl.c@{gl.c}!util\_gl\_shutdown\_all\_stacks@{util\_gl\_shutdown\_all\_stacks}}
\index{util\_gl\_shutdown\_all\_stacks@{util\_gl\_shutdown\_all\_stacks}!gl.c@{gl.c}}
\doxysubsubsection{\texorpdfstring{util\_gl\_shutdown\_all\_stacks()}{util\_gl\_shutdown\_all\_stacks()}}
{\footnotesize\ttfamily void util\+\_\+gl\+\_\+shutdown\+\_\+all\+\_\+stacks (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}

Look for every stack entry and shutdowns Open\+GL for it

returns true if success ? TODO why not bool ? \Hypertarget{gl_8c_a9d41985e1832e0a798e722d2341752f1}\label{gl_8c_a9d41985e1832e0a798e722d2341752f1} 
\index{gl.c@{gl.c}!util\_gl\_shutdown\_stack@{util\_gl\_shutdown\_stack}}
\index{util\_gl\_shutdown\_stack@{util\_gl\_shutdown\_stack}!gl.c@{gl.c}}
\doxysubsubsection{\texorpdfstring{util\_gl\_shutdown\_stack()}{util\_gl\_shutdown\_stack()}}
{\footnotesize\ttfamily bool util\+\_\+gl\+\_\+shutdown\+\_\+stack (\begin{DoxyParamCaption}\item[{void \texorpdfstring{$\ast$}{*}}]{container\+\_\+widget,  }\item[{GError \texorpdfstring{$\ast$}{*}}]{error\+\_\+buffer }\end{DoxyParamCaption})}

Look for stack entry and shutdowns Open\+GL for it


\begin{DoxyParams}{Parameters}
{\em container\+\_\+widget} & generally the Gtk\+Box that contains the GLArea \\
\hline
{\em error\+\_\+buffer} & phantom documentation used to test the functioning of doxygen\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
bool\+: true if success 
\end{DoxyReturn}
\Hypertarget{gl_8c_ad830e66002a24806e3617946dc988e95}\label{gl_8c_ad830e66002a24806e3617946dc988e95} 
\index{gl.c@{gl.c}!util\_gl\_update\_axis@{util\_gl\_update\_axis}}
\index{util\_gl\_update\_axis@{util\_gl\_update\_axis}!gl.c@{gl.c}}
\doxysubsubsection{\texorpdfstring{util\_gl\_update\_axis()}{util\_gl\_update\_axis()}}
{\footnotesize\ttfamily bool util\+\_\+gl\+\_\+update\+\_\+axis (\begin{DoxyParamCaption}\item[{Gtk\+Widget \texorpdfstring{$\ast$}{*}}]{container\+\_\+widget,  }\item[{int}]{axis,  }\item[{int}]{value }\end{DoxyParamCaption})}

Look for stack entry and triggers Open\+GL for drawing


\begin{DoxyParams}{Parameters}
{\em container\+\_\+widget} & generally the Gtk\+Box that contains the GLArea \\
\hline
{\em axis} & phantom documentation used to test the functioning of doxygen \\
\hline
{\em value} & phantom documentation used to test the functioning of doxygen\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
bool\+: true if success 
\end{DoxyReturn}


\doxysubsection{Variable Documentation}
\Hypertarget{gl_8c_a176a1af12ef0fb33a5de5cd36ef7145a}\label{gl_8c_a176a1af12ef0fb33a5de5cd36ef7145a} 
\index{gl.c@{gl.c}!stack\_index\_size@{stack\_index\_size}}
\index{stack\_index\_size@{stack\_index\_size}!gl.c@{gl.c}}
\doxysubsubsection{\texorpdfstring{stack\_index\_size}{stack\_index\_size}}
{\footnotesize\ttfamily size\+\_\+t stack\+\_\+index\+\_\+size = 0}

phantom documentation used to test the functioning of doxygen 