\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