<-- Back to AG_Intro.3


#include <agar/core.h>
#include <agar/gui.h>


After having initialized the Agar-Core library with AG_InitCore(3), Agar-GUI applications must initialize the GUI system and select a driver.


As of Agar-1.5.0, the driver modules included in the distribution are:
glxNative X11 interface (GL); see AG_DriverGLX(3).
wglNative Microsoft Windows interface (GL); see AG_DriverWGL(3).
cocoaNative MacOS X Cocoa interface (GL); see AG_DriverCocoa(3).
sdlfbSDL 1.x interface (framebuffer); see AG_DriverSDLFB(3).
sdlglSDL 1.x interface (GL); see AG_DriverSDLGL(3).


int AG_InitGraphics (const char *drivers)

void AG_DestroyGraphics (void)

int AG_InitGUI (Uint flags)

void AG_DestroyGUI (void)

The AG_InitGraphics() function initializes the Agar GUI system. If the drivers argument is NULL (the usual case), Agar selects the "best" driver available on the current platform. If drivers is non-NULL, it should be a comma-separated list of drivers, in order of preference (the special strings "<OpenGL>" and "<SDL>" may be used to select any driver with GL or SDL capability). The list of compiled-in drivers may be obtained by calling AG_ListDriverNames(3). Driver-specific parameters (which are documented on the driver's respective manual page) may be specified as a colon-separated list between parentheses:

The AG_DestroyGraphics() routine shuts down and releases all resources allocated by the Agar-GUI library.

The AG_InitGUI() routine provides an alternative to AG_InitGraphics(), which does not create any driver instance on initialization. While AG_InitGraphics() is limited to a single Agar driver instance, specialized applications may need to create multiple driver instances (e.g., an Agar application using X11 may establish multiple connections to multiple X servers). This may be done by calling AG_InitGUI(), and creating one or more driver instances with AG_DriverOpen(3).


AG_Core(3), AG_CustomEventLoop(3), AG_Driver(3), AG_EventLoop(3), AG_InitVideoSDL(3), AG_Intro(3)

Lk OpenGL

Lk Simple DirectMedia Layer

Lk Apple Developer: Cocoa Frameworks

Lk Microsoft Developer Network


The AG_InitVideo() function first appeared in Agar 1.0, and was replaced by AG_InitGraphics() in Agar 1.4.