@ -117,7 +117,16 @@ class WindowlessWglApplication {
static int create ( LRESULT ( CALLBACK windowProcedure ) ( HWND , UINT , WPARAM , LPARAM ) ) ;
# endif
/** @copydoc Sdl2Application::Sdl2Application(const Arguments&, const Configuration&) */
/**
* @ brief Default constructor
* @ param arguments Application arguments
* @ param configuration Configuration
*
* Creates application with default or user - specified configuration .
* See @ ref Configuration for more information . The program exits if
* the context cannot be created , see @ ref tryCreateContext ( ) for an
* alternative .
*/
# ifdef DOXYGEN_GENERATING_OUTPUT
explicit WindowlessWglApplication ( const Arguments & arguments , const Configuration & configuration = Configuration ( ) ) ;
# else
@ -126,7 +135,13 @@ class WindowlessWglApplication {
explicit WindowlessWglApplication ( const Arguments & arguments ) ;
# endif
/** @copydoc Sdl2Application::Sdl2Application(const Arguments&, std::nullptr_t) */
/**
* @ brief Constructor
* @ param arguments Application arguments
*
* Unlike above , the context is not created and must be created later
* with @ ref createContext ( ) or @ ref tryCreateContext ( ) .
*/
explicit WindowlessWglApplication ( const Arguments & arguments , std : : nullptr_t ) ;
/** @brief Copying is not allowed */
@ -155,7 +170,23 @@ class WindowlessWglApplication {
thus this is faster than public pure virtual destructor */
~ WindowlessWglApplication ( ) ;
/** @copydoc Sdl2Application::createContext() */
/**
* @ brief Create context with given configuration
*
* Must be called if and only if the context wasn ' t created by the
* constructor itself . Error message is printed and the program exits
* if the context cannot be created , see @ ref tryCreateContext ( ) for an
* alternative .
*
* On desktop GL , if version is not specified in @ p configuration , the
* application first tries to create core context ( OpenGL 3.1 + ) and if
* that fails , falls back to compatibility OpenGL 2.1 context . However ,
* on binary AMD and NVidia drivers , creating core context does not use
* the largest available version . If the application detects such case ,
* the core context is destroyed and compatibility OpenGL 2.1 context
* is created instead to make the driver use the latest available
* version .
*/
# ifdef DOXYGEN_GENERATING_OUTPUT
void createContext ( const Configuration & configuration = Configuration ( ) ) ;
# else
@ -164,7 +195,12 @@ class WindowlessWglApplication {
void createContext ( ) ;
# endif
/** @copydoc Sdl2Application::tryCreateContext() */
/**
* @ brief Try to create context with given configuration
*
* Unlike @ ref createContext ( ) returns ` false ` if the context cannot be
* created , ` true ` otherwise .
*/
bool tryCreateContext ( const Configuration & configuration ) ;
private :