SFML - Simple and Fast Multimedia Library

SFML 2.5.1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions | List of all members
sf::Context Class Reference
Window module

Class holding a valid drawing context. More...

`#include <Context.hpp>`

Inheritance diagram for sf::Context:

## 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...

## Detailed Description

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:

void threadFunction(void*)
{
sf::Context context;
// from now on, you have a valid context
// you can make OpenGL calls
glClear(GL_DEPTH_BUFFER_BIT);
}
// the context is automatically deactivated and destroyed
// by the sf::Context destructor
sf::Context
Class holding a valid drawing context.
Definition: Context.hpp:51

Definition at line 50 of file Context.hpp.

## Constructor & Destructor Documentation

## ◆ Context() [1/2]

sf::Context::Context | ( |  | ) |

Default constructor.

The constructor creates and activates the context

## ◆ ~Context()

sf::Context::~Context | ( |  | ) |

Destructor.

The destructor deactivates and destroys the context

## ◆ Context() [2/2]

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.

Parameters

  settings | Creation parameters
  width | Back buffer width
  height | Back buffer height

## Member Function Documentation

## ◆ getActiveContext()

static const Context * sf::Context::getActiveContext | ( |  | ) |
| 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.

Returns
  The currently active context or NULL if none is active

## ◆ getActiveContextId()

static Uint64 sf::Context::getActiveContextId | ( |  | ) |
| static

Get the currently active context's ID.

The context ID is used to identify contexts when managing unshareable OpenGL resources.

Returns
  The active context's ID or 0 if no context is currently active

## ◆ getFunction()

static GlFunctionPointer sf::Context::getFunction | ( | const char * | name | ) |
| static

Get the address of an OpenGL function.

Parameters

  name | Name of the function to get the address of

Returns
  Address of the OpenGL function, 0 on failure

## ◆ getSettings()

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.

Returns
  Structure containing the settings

## ◆ isExtensionAvailable()

static bool sf::Context::isExtensionAvailable | ( | const char * | name | ) |
| static

Check whether a given OpenGL extension is available.

Parameters

  name | Name of the extension to check for

Returns
  True if available, false if unavailable

## ◆ setActive()

bool sf::Context::setActive | ( | bool | active | ) |

Activate or deactivate explicitly the context.

Parameters

  active | True to activate, false to deactivate

Returns
  True on success, false on failure

The documentation for this class was generated from the following file:

- Context.hpp