Magnum::Platform::GlxApplication class

GLX application.

Application using pure X11 and GLX. Supports keyboard and mouse handling.

This application library is available on desktop OpenGL and OpenGL ES emulation on desktop on Linux. It depends on the X11 library and is built if WITH_GLXAPPLICATION is enabled in CMake.

Bootstrap application

The usage is very similar to Sdl2Application, for which fully contained base application along with CMake setup is available, see its documentation for more information.

General usage

In order to use this library from Cmake, you need to request the GlxApplication component of the Magnum package and link to the Magnum::GlxApplication target:

find_package(Magnum REQUIRED GlxApplication)

# ...
target_link_libraries(your-app Magnum::GlxApplication)

If no other application is requested, you can also use the generic Magnum::Application alias to simplify porting. See Downloading and building and Usage with CMake for more information.

In C++ code you need to implement at least drawEvent() to be able to draw on the screen. The subclass can be then used directly in main() — see convenience macro MAGNUM_GLXAPPLICATION_MAIN(). See Platform support for more information.

class MyApplication: public Platform::GlxApplication {
    // implement required methods...
};
MAGNUM_GLXAPPLICATION_MAIN(MyApplication)

If no other application header is included, this class is also aliased to Platform::Application and the macro is aliased to MAGNUM_APPLICATION_MAIN() to simplify porting.

Base classes

class AbstractXApplication
Base for X11-based applications.

Constructors, destructors, conversion operators

GlxApplication(const Arguments& arguments, const Configuration& configuration = Configuration()) explicit
Default constructor.
GlxApplication(const Arguments& arguments, NoCreateT) explicit
Constructor.
GlxApplication(const Arguments& arguments, std::nullptr_t) deprecated explicit
Constructor.

Function documentation

Magnum::Platform::GlxApplication::GlxApplication(const Arguments& arguments, const Configuration& configuration = Configuration()) explicit

Default constructor.

Parameters
arguments Application arguments
configuration Configuration

Creates application with default or user-specified configuration. See Configuration for more information. The program exits if the context cannot be created, see below for an alternative.

Magnum::Platform::GlxApplication::GlxApplication(const Arguments& arguments, NoCreateT) explicit

Constructor.

Parameters
arguments Application arguments

Unlike above, the context is not created and must be created later with createContext() or tryCreateContext().

Magnum::Platform::GlxApplication::GlxApplication(const Arguments& arguments, std::nullptr_t) explicit

Constructor.