\verb'EZUI' is a system that focuses on the creation of menus that can be displayed one at a time on the screen.
\verb'EZUI' is separated in two parts: the draw call and event call.
Those two parts are dependent on the menu currently active. The draw call automatically displays all the visible elements of the menu using a struct for general purpose draw called
\verb'EZ_DRAWABLE' the event call is passed to the menu which can perform menu specific interactions, then the event call is passed to all the interactable elements in the menu. To enable an easy creation of elements in the menus we added a system that create basic elements, such as text, image, button… automatically. For the positioning of elements in the menu we opted for a solution close to what we experienced in the game engines that we used previously, for example Godot or Unity. We created a system of anchor points, which is a simple system that allows us to place elements on the screen using percentages of the screen for position (see Figure 3).

\begin{figure}[H]
	\centering
	\includegraphics[width=0.5\textwidth]{sections/partie-technique/gui/ezui/ExempleAnchorPoint.png}
	\caption{Anchor points system}
\end{figure}

This system has allowed us to create all the menus in our current application and has vastly improved our UI productivity.
