Class holding a valid drawing context. More...
#include <Context.hpp>
Public Member Functions | |
Context () | |
Default constructor. More... | |
~Context () | |
Destructor. More... | |
bool | setActive (bool active) |
Activate or deactivate explicitly the context. More... | |
const ContextSettings & | getSettings () const |
Get the settings of the context. More... | |
Context (const ContextSettings &settings, unsigned int width, unsigned int height) | |
Construct a in-memory context. More... | |
Static Public Member Functions | |
static bool | isExtensionAvailable (const char *name) |
Check whether a given OpenGL extension is available. More... | |
static GlFunctionPointer | getFunction (const char *name) |
Get the address of an OpenGL function. More... | |
static const Context * | getActiveContext () |
Get the currently active context. More... | |
static Uint64 | getActiveContextId () |
Get the currently active context's ID. More... | |
Static Private Member Functions | |
static void | registerContextDestroyCallback (ContextDestroyCallback callback, void *arg) |
Register a function to be called when a context is destroyed. More... | |
Class holding a valid drawing context.
If you need to make OpenGL calls without having an active window (like in a thread), you can use an instance of this class to get a valid context.
Having a valid context is necessary for every OpenGL call.
Note that a context is only active in its current thread, if you create a new thread it will have no valid context by default.
To use a sf::Context instance, just construct it and let it live as long as you need a valid context. No explicit activation is needed, all it has to do is to exist. Its destructor will take care of deactivating and freeing all the attached resources.
Usage example:
Definition at line 50 of file Context.hpp.
sf::Context::Context | ( | ) |
Default constructor.
The constructor creates and activates the context
sf::Context::~Context | ( | ) |
Destructor.
The destructor deactivates and destroys the context
sf::Context::Context | ( | const ContextSettings & | settings, |
unsigned int | width, | ||
unsigned int | height | ||
) |
Construct a in-memory context.
This constructor is for internal use, you don't need to bother with it.
settings | Creation parameters |
width | Back buffer width |
height | Back buffer height |
|
static |
Get the currently active context.
This function will only return sf::Context objects. Contexts created e.g. by RenderTargets or for internal use will not be returned by this function.
|
static |
Get the currently active context's ID.
The context ID is used to identify contexts when managing unshareable OpenGL resources.
|
static |
Get the address of an OpenGL function.
name | Name of the function to get the address of |
const ContextSettings& sf::Context::getSettings | ( | ) | const |
Get the settings of the context.
Note that these settings may be different than the ones passed to the constructor; they are indeed adjusted if the original settings are not directly supported by the system.
|
static |
Check whether a given OpenGL extension is available.
name | Name of the extension to check for |
bool sf::Context::setActive | ( | bool | active | ) |
Activate or deactivate explicitly the context.
active | True to activate, false to deactivate |