SFML
Simple and Fast Multimedia Library
Loading...
Searching...
No Matches
GlResource.hpp
Go to the documentation of this file.
1
2
//
3
// SFML - Simple and Fast Multimedia Library
4
// Copyright (C) 2007-2024 Laurent Gomila (laurent@sfml-dev.org)
5
//
6
// This software is provided 'as-is', without any express or implied warranty.
7
// In no event will the authors be held liable for any damages arising from the use of this software.
8
//
9
// Permission is granted to anyone to use this software for any purpose,
10
// including commercial applications, and to alter it and redistribute it freely,
11
// subject to the following restrictions:
12
//
13
// 1. The origin of this software must not be misrepresented;
14
// you must not claim that you wrote the original software.
15
// If you use this software in a product, an acknowledgment
16
// in the product documentation would be appreciated but is not required.
17
//
18
// 2. Altered source versions must be plainly marked as such,
19
// and must not be misrepresented as being the original software.
20
//
21
// 3. This notice may not be removed or altered from any source distribution.
22
//
24
25
#pragma once
26
28
// Headers
30
#include <
SFML/Window/Export.hpp
>
31
32
#include <memory>
33
34
35
namespace
sf
36
{
37
using
ContextDestroyCallback
= void (*)(
void
*);
38
43
class
SFML_WINDOW_API
GlResource
44
{
45
protected
:
50
GlResource
();
51
62
static
void
registerUnsharedGlObject
(std::shared_ptr<void>
object
);
63
70
static
void
unregisterUnsharedGlObject
(std::shared_ptr<void>
object
);
71
76
class
SFML_WINDOW_API
TransientContextLock
77
{
78
public
:
83
TransientContextLock
();
84
89
~TransientContextLock
();
90
95
TransientContextLock
(
const
TransientContextLock
&) =
delete
;
96
101
TransientContextLock
&
operator=
(
const
TransientContextLock
&) =
delete
;
102
};
103
104
private
:
106
// Member data
108
std::shared_ptr<void> m_sharedContext;
109
};
110
111
}
// namespace sf
112
113
Export.hpp
SFML_WINDOW_API
#define SFML_WINDOW_API
Definition
Export.hpp:42
sf::GlResource::TransientContextLock::~TransientContextLock
~TransientContextLock()
Destructor.
sf::GlResource::TransientContextLock::TransientContextLock
TransientContextLock(const TransientContextLock &)=delete
Deleted copy constructor.
sf::GlResource::TransientContextLock::TransientContextLock
TransientContextLock()
Default constructor.
sf::GlResource::TransientContextLock::operator=
TransientContextLock & operator=(const TransientContextLock &)=delete
Deleted copy assignment.
sf::GlResource::unregisterUnsharedGlObject
static void unregisterUnsharedGlObject(std::shared_ptr< void > object)
Unregister an OpenGL object from its containing context.
sf::GlResource::GlResource
GlResource()
Default constructor.
sf::GlResource::registerUnsharedGlObject
static void registerUnsharedGlObject(std::shared_ptr< void > object)
Register an OpenGL object to be destroyed when its containing context is destroyed.
sf
Definition
BlendMode.hpp:34
sf::ContextDestroyCallback
void(*)(void *) ContextDestroyCallback
Definition
GlResource.hpp:37
SFML
Window
GlResource.hpp
Generated by
1.16.1