AG_InitGraphics
—
agar GUI initialization
#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.
As of Agar 1.7.0, the standard drivers included in the
distribution are:
- AG_DriverCocoa(3)
- (-d "cocoa") MacOS X with OpenGL. Multi-window.
- AG_DriverDUMMY(3)
- (-d "dummy") No-op (prints to the debug console).
- AG_DriverGLX(3)
- (-d "glx") X Windows with OpenGL. Multi-window.
- AG_DriverSDLFB(3)
- (-d "sdlfb") SDL1 with framebuffer. Single-window.
- AG_DriverSDLGL(3)
- (-d "sdlgl") SDL1 with OpenGL. Single-window.
- AG_DriverSDL2FB(3)
- (-d "sdl2fb") SDL2 with framebuffer. Single-window. Game
controllers and joysticks are supported.
- AG_DriverSDL2GL(3)
- (-d "sdl2gl") SDL2 with OpenGL. Single-window. Game controllers
and joysticks are supported.
- AG_DriverSDL2MW(3)
- (-d "sdl2mw") SDL2 with OpenGL. Multi-window. Game controllers
and joysticks are supported.
- AG_DriverWGL(3)
- (-d "wgl") MS Windows with OpenGL. Multi-window.
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. Special selectors are available to
include drivers based on capabilities. "<OpenGL>" selects
any driver with support for OpenGL 1.1 or later. "<SDL>" any
driver based on SDL1, "<SDL2>" any driver based on SDL2 and
"<FB>" any driver based on a software framebuffer.
The full list of compiled-in drivers may be obtained by calling
AG_ListDriverNames(3).
Driver-specific parameters may be specified as a colon-separated list
enclosed in parentheses. The available options are documented on the
driver's respective manual page. Some examples:
sdlgl,sdlfb
<SDL>(width=640:height=480:depth=32)
<SDL2>(width=640:height=480)
<openGL>(stereo=1)
It is recommended that applications provide a way for the user to
specify alternate drivers, for example
agartest(1)
accepts the [-d
agar-driver]
command-line arguments.
The
AG_DestroyGraphics
()
routine shuts down and releases all resources allocated by the Agar-GUI
library.
Alternatively, the
AG_InitGUI
()
function initializes the Agar GUI system, but does not create a driver
instance upon initialization. The caller may invoke
AG_DriverOpen(3)
to create one or more driver instances. For example, an X11 application that
can talk to multiple X11 servers might call
AG_DriverOpen
()
for each X11 connection.
An AG_InitVideo
() function first appeared
in Agar 1.0. It was replaced by AG_InitGraphics
() in
Agar 1.4.0.