mirror of
https://github.com/SFML/SFML.git
synced 2024-11-25 04:41:05 +08:00
Use 'nullptr' instead of 'NULL'
This commit is contained in:
parent
bd12438916
commit
c9f7cb3d52
@ -142,7 +142,7 @@ void draw(sf::Window& window, float elapsedTime)
|
|||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
// Open a connection with the X server
|
// Open a connection with the X server
|
||||||
Display* display = XOpenDisplay(NULL);
|
Display* display = XOpenDisplay(nullptr);
|
||||||
if (!display)
|
if (!display)
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
|
|
||||||
@ -171,13 +171,13 @@ int main()
|
|||||||
DefaultDepth(display, screen),
|
DefaultDepth(display, screen),
|
||||||
InputOutput,
|
InputOutput,
|
||||||
DefaultVisual(display, screen),
|
DefaultVisual(display, screen),
|
||||||
0, NULL);
|
0, nullptr);
|
||||||
Window view2 = XCreateWindow(display, window,
|
Window view2 = XCreateWindow(display, window,
|
||||||
330, 10, 310, 310, 0,
|
330, 10, 310, 310, 0,
|
||||||
DefaultDepth(display, screen),
|
DefaultDepth(display, screen),
|
||||||
InputOutput,
|
InputOutput,
|
||||||
DefaultVisual(display, screen),
|
DefaultVisual(display, screen),
|
||||||
0, NULL);
|
0, nullptr);
|
||||||
|
|
||||||
// Show our windows
|
// Show our windows
|
||||||
XMapWindow(display, window);
|
XMapWindow(display, window);
|
||||||
|
@ -23,7 +23,7 @@ int vibrate(sf::Time duration)
|
|||||||
{
|
{
|
||||||
// First we'll need the native activity handle
|
// First we'll need the native activity handle
|
||||||
ANativeActivity *activity = sf::getNativeActivity();
|
ANativeActivity *activity = sf::getNativeActivity();
|
||||||
|
|
||||||
// Retrieve the JVM and JNI environment
|
// Retrieve the JVM and JNI environment
|
||||||
JavaVM* vm = activity->vm;
|
JavaVM* vm = activity->vm;
|
||||||
JNIEnv* env = activity->env;
|
JNIEnv* env = activity->env;
|
||||||
@ -32,7 +32,7 @@ int vibrate(sf::Time duration)
|
|||||||
JavaVMAttachArgs attachargs;
|
JavaVMAttachArgs attachargs;
|
||||||
attachargs.version = JNI_VERSION_1_6;
|
attachargs.version = JNI_VERSION_1_6;
|
||||||
attachargs.name = "NativeThread";
|
attachargs.name = "NativeThread";
|
||||||
attachargs.group = NULL;
|
attachargs.group = nullptr;
|
||||||
jint res = vm->AttachCurrentThread(&env, &attachargs);
|
jint res = vm->AttachCurrentThread(&env, &attachargs);
|
||||||
|
|
||||||
if (res == JNI_ERR)
|
if (res == JNI_ERR)
|
||||||
@ -41,22 +41,22 @@ int vibrate(sf::Time duration)
|
|||||||
// Retrieve class information
|
// Retrieve class information
|
||||||
jclass natact = env->FindClass("android/app/NativeActivity");
|
jclass natact = env->FindClass("android/app/NativeActivity");
|
||||||
jclass context = env->FindClass("android/content/Context");
|
jclass context = env->FindClass("android/content/Context");
|
||||||
|
|
||||||
// Get the value of a constant
|
// Get the value of a constant
|
||||||
jfieldID fid = env->GetStaticFieldID(context, "VIBRATOR_SERVICE", "Ljava/lang/String;");
|
jfieldID fid = env->GetStaticFieldID(context, "VIBRATOR_SERVICE", "Ljava/lang/String;");
|
||||||
jobject svcstr = env->GetStaticObjectField(context, fid);
|
jobject svcstr = env->GetStaticObjectField(context, fid);
|
||||||
|
|
||||||
// Get the method 'getSystemService' and call it
|
// Get the method 'getSystemService' and call it
|
||||||
jmethodID getss = env->GetMethodID(natact, "getSystemService", "(Ljava/lang/String;)Ljava/lang/Object;");
|
jmethodID getss = env->GetMethodID(natact, "getSystemService", "(Ljava/lang/String;)Ljava/lang/Object;");
|
||||||
jobject vib_obj = env->CallObjectMethod(activity->clazz, getss, svcstr);
|
jobject vib_obj = env->CallObjectMethod(activity->clazz, getss, svcstr);
|
||||||
|
|
||||||
// Get the object's class and retrieve the member name
|
// Get the object's class and retrieve the member name
|
||||||
jclass vib_cls = env->GetObjectClass(vib_obj);
|
jclass vib_cls = env->GetObjectClass(vib_obj);
|
||||||
jmethodID vibrate = env->GetMethodID(vib_cls, "vibrate", "(J)V");
|
jmethodID vibrate = env->GetMethodID(vib_cls, "vibrate", "(J)V");
|
||||||
|
|
||||||
// Determine the timeframe
|
// Determine the timeframe
|
||||||
jlong length = duration.asMilliseconds();
|
jlong length = duration.asMilliseconds();
|
||||||
|
|
||||||
// Bzzz!
|
// Bzzz!
|
||||||
env->CallVoidMethod(vib_obj, vibrate, length);
|
env->CallVoidMethod(vib_obj, vibrate, length);
|
||||||
|
|
||||||
@ -66,7 +66,7 @@ int vibrate(sf::Time duration)
|
|||||||
env->DeleteLocalRef(svcstr);
|
env->DeleteLocalRef(svcstr);
|
||||||
env->DeleteLocalRef(context);
|
env->DeleteLocalRef(context);
|
||||||
env->DeleteLocalRef(natact);
|
env->DeleteLocalRef(natact);
|
||||||
|
|
||||||
// Detach thread again
|
// Detach thread again
|
||||||
vm->DetachCurrentThread();
|
vm->DetachCurrentThread();
|
||||||
}
|
}
|
||||||
@ -133,7 +133,7 @@ int main(int argc, char *argv[])
|
|||||||
case sf::Event::GainedFocus:
|
case sf::Event::GainedFocus:
|
||||||
background = sf::Color::White;
|
background = sf::Color::White;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// On Android MouseLeft/MouseEntered are (for now) triggered,
|
// On Android MouseLeft/MouseEntered are (for now) triggered,
|
||||||
// whenever the app loses or gains focus.
|
// whenever the app loses or gains focus.
|
||||||
case sf::Event::MouseLeft:
|
case sf::Event::MouseLeft:
|
||||||
|
@ -56,7 +56,7 @@
|
|||||||
// work for characters like é or à.
|
// work for characters like é or à.
|
||||||
const char *cstr = [self cStringUsingEncoding:NSISOLatin1StringEncoding];
|
const char *cstr = [self cStringUsingEncoding:NSISOLatin1StringEncoding];
|
||||||
|
|
||||||
if (cstr != NULL)
|
if (cstr != nullptr)
|
||||||
return std::string(cstr);
|
return std::string(cstr);
|
||||||
else
|
else
|
||||||
return "";
|
return "";
|
||||||
|
@ -66,7 +66,7 @@ protected:
|
|||||||
|
|
||||||
static const sf::Font& getFont()
|
static const sf::Font& getFont()
|
||||||
{
|
{
|
||||||
assert(s_font != NULL);
|
assert(s_font != nullptr);
|
||||||
return *s_font;
|
return *s_font;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
|
||||||
|
|
||||||
const sf::Font* Effect::s_font = NULL;
|
const sf::Font* Effect::s_font = nullptr;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
// "Pixelate" fragment shader
|
// "Pixelate" fragment shader
|
||||||
|
@ -29,7 +29,7 @@ std::string resourcesDir()
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
std::srand(static_cast<unsigned int>(std::time(NULL)));
|
std::srand(static_cast<unsigned int>(std::time(nullptr)));
|
||||||
|
|
||||||
// Define some constants
|
// Define some constants
|
||||||
const float pi = 3.14159f;
|
const float pi = 3.14159f;
|
||||||
|
@ -49,7 +49,7 @@ LRESULT CALLBACK onEvent(HWND handle, UINT message, WPARAM wParam, LPARAM lParam
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
HINSTANCE instance = GetModuleHandle(NULL);
|
HINSTANCE instance = GetModuleHandle(nullptr);
|
||||||
|
|
||||||
// Define a class for our main window
|
// Define a class for our main window
|
||||||
WNDCLASS windowClass;
|
WNDCLASS windowClass;
|
||||||
@ -58,22 +58,22 @@ int main()
|
|||||||
windowClass.cbClsExtra = 0;
|
windowClass.cbClsExtra = 0;
|
||||||
windowClass.cbWndExtra = 0;
|
windowClass.cbWndExtra = 0;
|
||||||
windowClass.hInstance = instance;
|
windowClass.hInstance = instance;
|
||||||
windowClass.hIcon = NULL;
|
windowClass.hIcon = nullptr;
|
||||||
windowClass.hCursor = 0;
|
windowClass.hCursor = 0;
|
||||||
windowClass.hbrBackground = reinterpret_cast<HBRUSH>(COLOR_BACKGROUND);
|
windowClass.hbrBackground = reinterpret_cast<HBRUSH>(COLOR_BACKGROUND);
|
||||||
windowClass.lpszMenuName = NULL;
|
windowClass.lpszMenuName = nullptr;
|
||||||
windowClass.lpszClassName = TEXT("SFML App");
|
windowClass.lpszClassName = TEXT("SFML App");
|
||||||
RegisterClass(&windowClass);
|
RegisterClass(&windowClass);
|
||||||
|
|
||||||
// Let's create the main window
|
// Let's create the main window
|
||||||
HWND window = CreateWindow(TEXT("SFML App"), TEXT("SFML Win32"), WS_SYSMENU | WS_VISIBLE, 200, 200, 660, 520, NULL, NULL, instance, NULL);
|
HWND window = CreateWindow(TEXT("SFML App"), TEXT("SFML Win32"), WS_SYSMENU | WS_VISIBLE, 200, 200, 660, 520, nullptr, nullptr, instance, nullptr);
|
||||||
|
|
||||||
// Add a button for exiting
|
// Add a button for exiting
|
||||||
button = CreateWindow(TEXT("BUTTON"), TEXT("Quit"), WS_CHILD | WS_VISIBLE, 560, 440, 80, 40, window, NULL, instance, NULL);
|
button = CreateWindow(TEXT("BUTTON"), TEXT("Quit"), WS_CHILD | WS_VISIBLE, 560, 440, 80, 40, window, nullptr, instance, nullptr);
|
||||||
|
|
||||||
// Let's create two SFML views
|
// Let's create two SFML views
|
||||||
HWND view1 = CreateWindow(TEXT("STATIC"), NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS, 20, 20, 300, 400, window, NULL, instance, NULL);
|
HWND view1 = CreateWindow(TEXT("STATIC"), nullptr, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS, 20, 20, 300, 400, window, nullptr, instance, nullptr);
|
||||||
HWND view2 = CreateWindow(TEXT("STATIC"), NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS, 340, 20, 300, 400, window, NULL, instance, NULL);
|
HWND view2 = CreateWindow(TEXT("STATIC"), nullptr, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS, 340, 20, 300, 400, window, nullptr, instance, nullptr);
|
||||||
sf::RenderWindow SFMLView1(view1);
|
sf::RenderWindow SFMLView1(view1);
|
||||||
sf::RenderWindow SFMLView2(view2);
|
sf::RenderWindow SFMLView2(view2);
|
||||||
|
|
||||||
@ -94,7 +94,7 @@ int main()
|
|||||||
message.message = static_cast<UINT>(~WM_QUIT);
|
message.message = static_cast<UINT>(~WM_QUIT);
|
||||||
while (message.message != WM_QUIT)
|
while (message.message != WM_QUIT)
|
||||||
{
|
{
|
||||||
if (PeekMessage(&message, NULL, 0, 0, PM_REMOVE))
|
if (PeekMessage(&message, nullptr, 0, 0, PM_REMOVE))
|
||||||
{
|
{
|
||||||
// If a message was waiting in the message queue, process it
|
// If a message was waiting in the message queue, process it
|
||||||
TranslateMessage(&message);
|
TranslateMessage(&message);
|
||||||
|
@ -158,7 +158,7 @@ public:
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Get the audio buffer attached to the sound
|
/// \brief Get the audio buffer attached to the sound
|
||||||
///
|
///
|
||||||
/// \return Sound buffer attached to the sound (can be NULL)
|
/// \return Sound buffer attached to the sound (can be a null pointer)
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
const SoundBuffer* getBuffer() const;
|
const SoundBuffer* getBuffer() const;
|
||||||
|
@ -651,7 +651,7 @@ public:
|
|||||||
/// // draw OpenGL stuff that use s1...
|
/// // draw OpenGL stuff that use s1...
|
||||||
/// sf::Shader::bind(&s2);
|
/// sf::Shader::bind(&s2);
|
||||||
/// // draw OpenGL stuff that use s2...
|
/// // draw OpenGL stuff that use s2...
|
||||||
/// sf::Shader::bind(NULL);
|
/// sf::Shader::bind(nullptr);
|
||||||
/// // draw OpenGL stuff that use no shader...
|
/// // draw OpenGL stuff that use no shader...
|
||||||
/// \endcode
|
/// \endcode
|
||||||
///
|
///
|
||||||
@ -696,7 +696,7 @@ private:
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Compile the shader(s) and create the program
|
/// \brief Compile the shader(s) and create the program
|
||||||
///
|
///
|
||||||
/// If one of the arguments is NULL, the corresponding shader
|
/// If one of the arguments is a null pointer, the corresponding shader
|
||||||
/// is not created.
|
/// is not created.
|
||||||
///
|
///
|
||||||
/// \param vertexShaderCode Source code of the vertex shader
|
/// \param vertexShaderCode Source code of the vertex shader
|
||||||
@ -867,7 +867,7 @@ private:
|
|||||||
/// \code
|
/// \code
|
||||||
/// sf::Shader::bind(&shader);
|
/// sf::Shader::bind(&shader);
|
||||||
/// ... render OpenGL geometry ...
|
/// ... render OpenGL geometry ...
|
||||||
/// sf::Shader::bind(NULL);
|
/// sf::Shader::bind(nullptr);
|
||||||
/// \endcode
|
/// \endcode
|
||||||
///
|
///
|
||||||
/// \see sf::Glsl
|
/// \see sf::Glsl
|
||||||
|
@ -60,7 +60,7 @@ public:
|
|||||||
/// a pointer to the one that you passed to this function.
|
/// a pointer to the one that you passed to this function.
|
||||||
/// If the source texture is destroyed and the shape tries to
|
/// If the source texture is destroyed and the shape tries to
|
||||||
/// use it, the behavior is undefined.
|
/// use it, the behavior is undefined.
|
||||||
/// \a texture can be NULL to disable texturing.
|
/// \a texture can be a null pointer to disable texturing.
|
||||||
/// If \a resetRect is true, the TextureRect property of
|
/// If \a resetRect is true, the TextureRect property of
|
||||||
/// the shape is automatically adjusted to the size of the new
|
/// the shape is automatically adjusted to the size of the new
|
||||||
/// texture. If it is false, the texture rect is left unchanged.
|
/// texture. If it is false, the texture rect is left unchanged.
|
||||||
@ -134,7 +134,7 @@ public:
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Get the source texture of the shape
|
/// \brief Get the source texture of the shape
|
||||||
///
|
///
|
||||||
/// If the shape has no source texture, a NULL pointer is returned.
|
/// If the shape has no source texture, a null pointer is returned.
|
||||||
/// The returned pointer is const, which means that you can't
|
/// The returned pointer is const, which means that you can't
|
||||||
/// modify the texture when you retrieve it with this function.
|
/// modify the texture when you retrieve it with this function.
|
||||||
///
|
///
|
||||||
|
@ -130,7 +130,7 @@ public:
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Get the source texture of the sprite
|
/// \brief Get the source texture of the sprite
|
||||||
///
|
///
|
||||||
/// If the sprite has no source texture, a NULL pointer is returned.
|
/// If the sprite has no source texture, a null pointer is returned.
|
||||||
/// The returned pointer is const, which means that you can't
|
/// The returned pointer is const, which means that you can't
|
||||||
/// modify the texture when you retrieve it with this function.
|
/// modify the texture when you retrieve it with this function.
|
||||||
///
|
///
|
||||||
|
@ -272,7 +272,7 @@ public:
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Get the text's font
|
/// \brief Get the text's font
|
||||||
///
|
///
|
||||||
/// If the text has no font attached, a NULL pointer is returned.
|
/// If the text has no font attached, a null pointer is returned.
|
||||||
/// The returned pointer is const, which means that you
|
/// The returned pointer is const, which means that you
|
||||||
/// cannot modify the font when you get it from this function.
|
/// cannot modify the font when you get it from this function.
|
||||||
///
|
///
|
||||||
|
@ -552,7 +552,7 @@ public:
|
|||||||
/// // draw OpenGL stuff that use t1...
|
/// // draw OpenGL stuff that use t1...
|
||||||
/// sf::Texture::bind(&t2);
|
/// sf::Texture::bind(&t2);
|
||||||
/// // draw OpenGL stuff that use t2...
|
/// // draw OpenGL stuff that use t2...
|
||||||
/// sf::Texture::bind(NULL);
|
/// sf::Texture::bind(nullptr);
|
||||||
/// // draw OpenGL stuff that use no texture...
|
/// // draw OpenGL stuff that use no texture...
|
||||||
/// \endcode
|
/// \endcode
|
||||||
///
|
///
|
||||||
@ -725,7 +725,7 @@ private:
|
|||||||
/// \code
|
/// \code
|
||||||
/// sf::Texture::bind(&texture);
|
/// sf::Texture::bind(&texture);
|
||||||
/// ... render OpenGL geometry ...
|
/// ... render OpenGL geometry ...
|
||||||
/// sf::Texture::bind(NULL);
|
/// sf::Texture::bind(nullptr);
|
||||||
/// \endcode
|
/// \endcode
|
||||||
///
|
///
|
||||||
/// \see sf::Sprite, sf::Image, sf::RenderTexture
|
/// \see sf::Sprite, sf::Image, sf::RenderTexture
|
||||||
|
@ -297,7 +297,7 @@ public:
|
|||||||
/// // draw OpenGL stuff that use vb1...
|
/// // draw OpenGL stuff that use vb1...
|
||||||
/// sf::VertexBuffer::bind(&vb2);
|
/// sf::VertexBuffer::bind(&vb2);
|
||||||
/// // draw OpenGL stuff that use vb2...
|
/// // draw OpenGL stuff that use vb2...
|
||||||
/// sf::VertexBuffer::bind(NULL);
|
/// sf::VertexBuffer::bind(nullptr);
|
||||||
/// // draw OpenGL stuff that use no vertex buffer...
|
/// // draw OpenGL stuff that use no vertex buffer...
|
||||||
/// \endcode
|
/// \endcode
|
||||||
///
|
///
|
||||||
|
@ -105,7 +105,7 @@ public:
|
|||||||
/// Warning: the returned pointer may become invalid after
|
/// Warning: the returned pointer may become invalid after
|
||||||
/// you append data to the packet, therefore it should never
|
/// you append data to the packet, therefore it should never
|
||||||
/// be stored.
|
/// be stored.
|
||||||
/// The return pointer is NULL if the packet is empty.
|
/// The return pointer is a null pointer if the packet is empty.
|
||||||
///
|
///
|
||||||
/// \return Pointer to the data
|
/// \return Pointer to the data
|
||||||
///
|
///
|
||||||
|
@ -69,7 +69,7 @@ SFML_SYSTEM_API std::ostream& err();
|
|||||||
/// std::streambuf* previous = sf::err().rdbuf(file.rdbuf());
|
/// std::streambuf* previous = sf::err().rdbuf(file.rdbuf());
|
||||||
///
|
///
|
||||||
/// // Redirect to nothing
|
/// // Redirect to nothing
|
||||||
/// sf::err().rdbuf(NULL);
|
/// sf::err().rdbuf(nullptr);
|
||||||
///
|
///
|
||||||
/// // Restore the original output
|
/// // Restore the original output
|
||||||
/// sf::err().rdbuf(previous);
|
/// sf::err().rdbuf(previous);
|
||||||
|
@ -66,7 +66,7 @@ struct ThreadMemberFunc : ThreadFunc
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
template <typename F>
|
template <typename F>
|
||||||
Thread::Thread(F functor) :
|
Thread::Thread(F functor) :
|
||||||
m_impl (NULL),
|
m_impl (nullptr),
|
||||||
m_entryPoint(new priv::ThreadFunctor<F>(functor))
|
m_entryPoint(new priv::ThreadFunctor<F>(functor))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -75,7 +75,7 @@ m_entryPoint(new priv::ThreadFunctor<F>(functor))
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
template <typename F, typename A>
|
template <typename F, typename A>
|
||||||
Thread::Thread(F function, A argument) :
|
Thread::Thread(F function, A argument) :
|
||||||
m_impl (NULL),
|
m_impl (nullptr),
|
||||||
m_entryPoint(new priv::ThreadFunctorWithArg<F, A>(function, argument))
|
m_entryPoint(new priv::ThreadFunctorWithArg<F, A>(function, argument))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -84,7 +84,7 @@ m_entryPoint(new priv::ThreadFunctorWithArg<F, A>(function, argument))
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
template <typename C>
|
template <typename C>
|
||||||
Thread::Thread(void(C::*function)(), C* object) :
|
Thread::Thread(void(C::*function)(), C* object) :
|
||||||
m_impl (NULL),
|
m_impl (nullptr),
|
||||||
m_entryPoint(new priv::ThreadMemberFunc<C>(function, object))
|
m_entryPoint(new priv::ThreadMemberFunc<C>(function, object))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -54,7 +54,7 @@ public:
|
|||||||
/// \param value Optional value to initialize the variable
|
/// \param value Optional value to initialize the variable
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
ThreadLocal(void* value = NULL);
|
ThreadLocal(void* value = nullptr);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Destructor
|
/// \brief Destructor
|
||||||
|
@ -48,7 +48,7 @@ public:
|
|||||||
/// \param value Optional value to initialize the variable
|
/// \param value Optional value to initialize the variable
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
ThreadLocalPtr(T* value = NULL);
|
ThreadLocalPtr(T* value = nullptr);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Overload of unary operator *
|
/// \brief Overload of unary operator *
|
||||||
|
@ -116,7 +116,7 @@ public:
|
|||||||
/// Contexts created e.g. by RenderTargets or for internal
|
/// Contexts created e.g. by RenderTargets or for internal
|
||||||
/// use will not be returned by this function.
|
/// use will not be returned by this function.
|
||||||
///
|
///
|
||||||
/// \return The currently active context or NULL if none is active
|
/// \return The currently active context or a null pointer if none is active
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
static const Context* getActiveContext();
|
static const Context* getActiveContext();
|
||||||
|
@ -454,7 +454,7 @@ private:
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Get the fullscreen window
|
/// \brief Get the fullscreen window
|
||||||
///
|
///
|
||||||
/// \return The fullscreen window or NULL if there is none
|
/// \return The fullscreen window or a null pointer if there is none
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
const WindowBase* getFullscreenWindow();
|
const WindowBase* getFullscreenWindow();
|
||||||
|
@ -34,8 +34,8 @@
|
|||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
ALCdevice* audioDevice = NULL;
|
ALCdevice* audioDevice = nullptr;
|
||||||
ALCcontext* audioContext = NULL;
|
ALCcontext* audioContext = nullptr;
|
||||||
|
|
||||||
float listenerVolume = 100.f;
|
float listenerVolume = 100.f;
|
||||||
sf::Vector3f listenerPosition (0.f, 0.f, 0.f);
|
sf::Vector3f listenerPosition (0.f, 0.f, 0.f);
|
||||||
@ -51,12 +51,12 @@ namespace priv
|
|||||||
AudioDevice::AudioDevice()
|
AudioDevice::AudioDevice()
|
||||||
{
|
{
|
||||||
// Create the device
|
// Create the device
|
||||||
audioDevice = alcOpenDevice(NULL);
|
audioDevice = alcOpenDevice(nullptr);
|
||||||
|
|
||||||
if (audioDevice)
|
if (audioDevice)
|
||||||
{
|
{
|
||||||
// Create the context
|
// Create the context
|
||||||
audioContext = alcCreateContext(audioDevice, NULL);
|
audioContext = alcCreateContext(audioDevice, nullptr);
|
||||||
|
|
||||||
if (audioContext)
|
if (audioContext)
|
||||||
{
|
{
|
||||||
@ -90,7 +90,7 @@ AudioDevice::AudioDevice()
|
|||||||
AudioDevice::~AudioDevice()
|
AudioDevice::~AudioDevice()
|
||||||
{
|
{
|
||||||
// Destroy the context
|
// Destroy the context
|
||||||
alcMakeContextCurrent(NULL);
|
alcMakeContextCurrent(nullptr);
|
||||||
if (audioContext)
|
if (audioContext)
|
||||||
alcDestroyContext(audioContext);
|
alcDestroyContext(audioContext);
|
||||||
|
|
||||||
|
@ -40,8 +40,8 @@ namespace sf
|
|||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
InputSoundFile::InputSoundFile() :
|
InputSoundFile::InputSoundFile() :
|
||||||
m_reader (NULL),
|
m_reader (nullptr),
|
||||||
m_stream (NULL),
|
m_stream (nullptr),
|
||||||
m_streamOwned (false),
|
m_streamOwned (false),
|
||||||
m_sampleOffset (0),
|
m_sampleOffset (0),
|
||||||
m_sampleCount (0),
|
m_sampleCount (0),
|
||||||
@ -260,7 +260,7 @@ void InputSoundFile::close()
|
|||||||
{
|
{
|
||||||
// Destroy the reader
|
// Destroy the reader
|
||||||
delete m_reader;
|
delete m_reader;
|
||||||
m_reader = NULL;
|
m_reader = nullptr;
|
||||||
|
|
||||||
// Destroy the stream if we own it
|
// Destroy the stream if we own it
|
||||||
if (m_streamOwned)
|
if (m_streamOwned)
|
||||||
@ -268,7 +268,7 @@ void InputSoundFile::close()
|
|||||||
delete m_stream;
|
delete m_stream;
|
||||||
m_streamOwned = false;
|
m_streamOwned = false;
|
||||||
}
|
}
|
||||||
m_stream = NULL;
|
m_stream = nullptr;
|
||||||
m_sampleOffset = 0;
|
m_sampleOffset = 0;
|
||||||
|
|
||||||
// Reset the sound file attributes
|
// Reset the sound file attributes
|
||||||
|
@ -34,7 +34,7 @@ namespace sf
|
|||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
OutputSoundFile::OutputSoundFile() :
|
OutputSoundFile::OutputSoundFile() :
|
||||||
m_writer(NULL)
|
m_writer(nullptr)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,7 +82,7 @@ void OutputSoundFile::close()
|
|||||||
{
|
{
|
||||||
// Destroy the reader
|
// Destroy the reader
|
||||||
delete m_writer;
|
delete m_writer;
|
||||||
m_writer = NULL;
|
m_writer = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace sf
|
} // namespace sf
|
||||||
|
@ -34,14 +34,14 @@ namespace sf
|
|||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
Sound::Sound() :
|
Sound::Sound() :
|
||||||
m_buffer(NULL)
|
m_buffer(nullptr)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
Sound::Sound(const SoundBuffer& buffer) :
|
Sound::Sound(const SoundBuffer& buffer) :
|
||||||
m_buffer(NULL)
|
m_buffer(nullptr)
|
||||||
{
|
{
|
||||||
setBuffer(buffer);
|
setBuffer(buffer);
|
||||||
}
|
}
|
||||||
@ -50,7 +50,7 @@ m_buffer(NULL)
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
Sound::Sound(const Sound& copy) :
|
Sound::Sound(const Sound& copy) :
|
||||||
SoundSource(copy),
|
SoundSource(copy),
|
||||||
m_buffer (NULL)
|
m_buffer (nullptr)
|
||||||
{
|
{
|
||||||
if (copy.m_buffer)
|
if (copy.m_buffer)
|
||||||
setBuffer(*copy.m_buffer);
|
setBuffer(*copy.m_buffer);
|
||||||
@ -172,7 +172,7 @@ Sound& Sound::operator =(const Sound& right)
|
|||||||
{
|
{
|
||||||
stop();
|
stop();
|
||||||
m_buffer->detachSound(this);
|
m_buffer->detachSound(this);
|
||||||
m_buffer = NULL;
|
m_buffer = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Copy the remaining sound attributes
|
// Copy the remaining sound attributes
|
||||||
@ -195,7 +195,7 @@ void Sound::resetBuffer()
|
|||||||
{
|
{
|
||||||
alCheck(alSourcei(m_source, AL_BUFFER, 0));
|
alCheck(alSourcei(m_source, AL_BUFFER, 0));
|
||||||
m_buffer->detachSound(this);
|
m_buffer->detachSound(this);
|
||||||
m_buffer = NULL;
|
m_buffer = nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -162,7 +162,7 @@ bool SoundBuffer::saveToFile(const std::string& filename) const
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
const Int16* SoundBuffer::getSamples() const
|
const Int16* SoundBuffer::getSamples() const
|
||||||
{
|
{
|
||||||
return m_samples.empty() ? NULL : &m_samples[0];
|
return m_samples.empty() ? nullptr : &m_samples[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@ SoundFileReader* SoundFileFactory::createReaderFromFilename(const std::string& f
|
|||||||
FileInputStream stream;
|
FileInputStream stream;
|
||||||
if (!stream.open(filename)) {
|
if (!stream.open(filename)) {
|
||||||
err() << "Failed to open sound file \"" << filename << "\" (couldn't open stream)" << std::endl;
|
err() << "Failed to open sound file \"" << filename << "\" (couldn't open stream)" << std::endl;
|
||||||
return NULL;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test the filename in all the registered factories
|
// Test the filename in all the registered factories
|
||||||
@ -85,7 +85,7 @@ SoundFileReader* SoundFileFactory::createReaderFromFilename(const std::string& f
|
|||||||
|
|
||||||
// No suitable reader found
|
// No suitable reader found
|
||||||
err() << "Failed to open sound file \"" << filename << "\" (format not supported)" << std::endl;
|
err() << "Failed to open sound file \"" << filename << "\" (format not supported)" << std::endl;
|
||||||
return NULL;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -109,7 +109,7 @@ SoundFileReader* SoundFileFactory::createReaderFromMemory(const void* data, std:
|
|||||||
|
|
||||||
// No suitable reader found
|
// No suitable reader found
|
||||||
err() << "Failed to open sound file from memory (format not supported)" << std::endl;
|
err() << "Failed to open sound file from memory (format not supported)" << std::endl;
|
||||||
return NULL;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -129,7 +129,7 @@ SoundFileReader* SoundFileFactory::createReaderFromStream(InputStream& stream)
|
|||||||
|
|
||||||
// No suitable reader found
|
// No suitable reader found
|
||||||
err() << "Failed to open sound file from stream (format not supported)" << std::endl;
|
err() << "Failed to open sound file from stream (format not supported)" << std::endl;
|
||||||
return NULL;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -148,7 +148,7 @@ SoundFileWriter* SoundFileFactory::createWriterFromFilename(const std::string& f
|
|||||||
|
|
||||||
// No suitable writer found
|
// No suitable writer found
|
||||||
err() << "Failed to open sound file \"" << filename << "\" (format not supported)" << std::endl;
|
err() << "Failed to open sound file \"" << filename << "\" (format not supported)" << std::endl;
|
||||||
return NULL;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace sf
|
} // namespace sf
|
||||||
|
@ -191,7 +191,7 @@ bool SoundFileReaderFlac::check(InputStream& stream)
|
|||||||
ClientData data;
|
ClientData data;
|
||||||
data.stream = &stream;
|
data.stream = &stream;
|
||||||
data.error = false;
|
data.error = false;
|
||||||
FLAC__stream_decoder_init_stream(decoder, &streamRead, &streamSeek, &streamTell, &streamLength, &streamEof, &streamWrite, NULL, &streamError, &data);
|
FLAC__stream_decoder_init_stream(decoder, &streamRead, &streamSeek, &streamTell, &streamLength, &streamEof, &streamWrite, nullptr, &streamError, &data);
|
||||||
|
|
||||||
// Read the header
|
// Read the header
|
||||||
bool valid = FLAC__stream_decoder_process_until_end_of_metadata(decoder) != 0;
|
bool valid = FLAC__stream_decoder_process_until_end_of_metadata(decoder) != 0;
|
||||||
@ -206,7 +206,7 @@ bool SoundFileReaderFlac::check(InputStream& stream)
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
SoundFileReaderFlac::SoundFileReaderFlac() :
|
SoundFileReaderFlac::SoundFileReaderFlac() :
|
||||||
m_decoder(NULL),
|
m_decoder(nullptr),
|
||||||
m_clientData()
|
m_clientData()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -255,7 +255,7 @@ void SoundFileReaderFlac::seek(Uint64 sampleOffset)
|
|||||||
assert(m_decoder);
|
assert(m_decoder);
|
||||||
|
|
||||||
// Reset the callback data (the "write" callback will be called)
|
// Reset the callback data (the "write" callback will be called)
|
||||||
m_clientData.buffer = NULL;
|
m_clientData.buffer = nullptr;
|
||||||
m_clientData.remaining = 0;
|
m_clientData.remaining = 0;
|
||||||
m_clientData.leftovers.clear();
|
m_clientData.leftovers.clear();
|
||||||
|
|
||||||
@ -331,7 +331,7 @@ void SoundFileReaderFlac::close()
|
|||||||
{
|
{
|
||||||
FLAC__stream_decoder_finish(m_decoder);
|
FLAC__stream_decoder_finish(m_decoder);
|
||||||
FLAC__stream_decoder_delete(m_decoder);
|
FLAC__stream_decoder_delete(m_decoder);
|
||||||
m_decoder = NULL;
|
m_decoder = nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ namespace
|
|||||||
return static_cast<long>(stream->tell());
|
return static_cast<long>(stream->tell());
|
||||||
}
|
}
|
||||||
|
|
||||||
static ov_callbacks callbacks = {&read, &seek, NULL, &tell};
|
static ov_callbacks callbacks = {&read, &seek, nullptr, &tell};
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace sf
|
namespace sf
|
||||||
@ -74,7 +74,7 @@ namespace priv
|
|||||||
bool SoundFileReaderOgg::check(InputStream& stream)
|
bool SoundFileReaderOgg::check(InputStream& stream)
|
||||||
{
|
{
|
||||||
OggVorbis_File file;
|
OggVorbis_File file;
|
||||||
if (ov_test_callbacks(&stream, &file, NULL, 0, callbacks) == 0)
|
if (ov_test_callbacks(&stream, &file, nullptr, 0, callbacks) == 0)
|
||||||
{
|
{
|
||||||
ov_clear(&file);
|
ov_clear(&file);
|
||||||
return true;
|
return true;
|
||||||
@ -91,7 +91,7 @@ SoundFileReaderOgg::SoundFileReaderOgg() :
|
|||||||
m_vorbis (),
|
m_vorbis (),
|
||||||
m_channelCount(0)
|
m_channelCount(0)
|
||||||
{
|
{
|
||||||
m_vorbis.datasource = NULL;
|
m_vorbis.datasource = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -106,7 +106,7 @@ SoundFileReaderOgg::~SoundFileReaderOgg()
|
|||||||
bool SoundFileReaderOgg::open(InputStream& stream, Info& info)
|
bool SoundFileReaderOgg::open(InputStream& stream, Info& info)
|
||||||
{
|
{
|
||||||
// Open the Vorbis stream
|
// Open the Vorbis stream
|
||||||
int status = ov_open_callbacks(&stream, &m_vorbis, NULL, 0, callbacks);
|
int status = ov_open_callbacks(&stream, &m_vorbis, nullptr, 0, callbacks);
|
||||||
if (status < 0)
|
if (status < 0)
|
||||||
{
|
{
|
||||||
err() << "Failed to open Vorbis file for reading" << std::endl;
|
err() << "Failed to open Vorbis file for reading" << std::endl;
|
||||||
@ -145,7 +145,7 @@ Uint64 SoundFileReaderOgg::read(Int16* samples, Uint64 maxCount)
|
|||||||
while (count < maxCount)
|
while (count < maxCount)
|
||||||
{
|
{
|
||||||
int bytesToRead = static_cast<int>(maxCount - count) * static_cast<int>(sizeof(Int16));
|
int bytesToRead = static_cast<int>(maxCount - count) * static_cast<int>(sizeof(Int16));
|
||||||
long bytesRead = ov_read(&m_vorbis, reinterpret_cast<char*>(samples), bytesToRead, 0, 2, 1, NULL);
|
long bytesRead = ov_read(&m_vorbis, reinterpret_cast<char*>(samples), bytesToRead, 0, 2, 1, nullptr);
|
||||||
if (bytesRead > 0)
|
if (bytesRead > 0)
|
||||||
{
|
{
|
||||||
long samplesRead = bytesRead / static_cast<long>(sizeof(Int16));
|
long samplesRead = bytesRead / static_cast<long>(sizeof(Int16));
|
||||||
@ -169,7 +169,7 @@ void SoundFileReaderOgg::close()
|
|||||||
if (m_vorbis.datasource)
|
if (m_vorbis.datasource)
|
||||||
{
|
{
|
||||||
ov_clear(&m_vorbis);
|
ov_clear(&m_vorbis);
|
||||||
m_vorbis.datasource = NULL;
|
m_vorbis.datasource = nullptr;
|
||||||
m_channelCount = 0;
|
m_channelCount = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -117,7 +117,7 @@ bool SoundFileReaderWav::check(InputStream& stream)
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
SoundFileReaderWav::SoundFileReaderWav() :
|
SoundFileReaderWav::SoundFileReaderWav() :
|
||||||
m_stream (NULL),
|
m_stream (nullptr),
|
||||||
m_bytesPerSample(0),
|
m_bytesPerSample(0),
|
||||||
m_dataStart (0),
|
m_dataStart (0),
|
||||||
m_dataEnd (0)
|
m_dataEnd (0)
|
||||||
|
@ -56,7 +56,7 @@ bool SoundFileWriterFlac::check(const std::string& filename)
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
SoundFileWriterFlac::SoundFileWriterFlac() :
|
SoundFileWriterFlac::SoundFileWriterFlac() :
|
||||||
m_encoder (NULL),
|
m_encoder (nullptr),
|
||||||
m_channelCount(0),
|
m_channelCount(0),
|
||||||
m_samples32 ()
|
m_samples32 ()
|
||||||
{
|
{
|
||||||
@ -87,7 +87,7 @@ bool SoundFileWriterFlac::open(const std::string& filename, unsigned int sampleR
|
|||||||
FLAC__stream_encoder_set_sample_rate(m_encoder, sampleRate);
|
FLAC__stream_encoder_set_sample_rate(m_encoder, sampleRate);
|
||||||
|
|
||||||
// Initialize the output stream
|
// Initialize the output stream
|
||||||
if (FLAC__stream_encoder_init_file(m_encoder, filename.c_str(), NULL, NULL) != FLAC__STREAM_ENCODER_INIT_STATUS_OK)
|
if (FLAC__stream_encoder_init_file(m_encoder, filename.c_str(), nullptr, nullptr) != FLAC__STREAM_ENCODER_INIT_STATUS_OK)
|
||||||
{
|
{
|
||||||
err() << "Failed to write flac file \"" << filename << "\" (failed to open the file)" << std::endl;
|
err() << "Failed to write flac file \"" << filename << "\" (failed to open the file)" << std::endl;
|
||||||
close();
|
close();
|
||||||
@ -132,7 +132,7 @@ void SoundFileWriterFlac::close()
|
|||||||
|
|
||||||
// Destroy the encoder
|
// Destroy the encoder
|
||||||
FLAC__stream_encoder_delete(m_encoder);
|
FLAC__stream_encoder_delete(m_encoder);
|
||||||
m_encoder = NULL;
|
m_encoder = nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -175,7 +175,7 @@ void SoundFileWriterOgg::flushBlocks()
|
|||||||
while (vorbis_analysis_blockout(&m_state, &block) == 1)
|
while (vorbis_analysis_blockout(&m_state, &block) == 1)
|
||||||
{
|
{
|
||||||
// Let the automatic bitrate management do its job
|
// Let the automatic bitrate management do its job
|
||||||
vorbis_analysis(&block, NULL);
|
vorbis_analysis(&block, nullptr);
|
||||||
vorbis_bitrate_addblock(&block);
|
vorbis_bitrate_addblock(&block);
|
||||||
|
|
||||||
// Get new packets from the bitrate management engine
|
// Get new packets from the bitrate management engine
|
||||||
|
@ -40,7 +40,7 @@
|
|||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
ALCdevice* captureDevice = NULL;
|
ALCdevice* captureDevice = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace sf
|
namespace sf
|
||||||
@ -148,7 +148,7 @@ std::vector<std::string> SoundRecorder::getAvailableDevices()
|
|||||||
{
|
{
|
||||||
std::vector<std::string> deviceNameList;
|
std::vector<std::string> deviceNameList;
|
||||||
|
|
||||||
const ALchar* deviceList = alcGetString(NULL, ALC_CAPTURE_DEVICE_SPECIFIER);
|
const ALchar* deviceList = alcGetString(nullptr, ALC_CAPTURE_DEVICE_SPECIFIER);
|
||||||
if (deviceList)
|
if (deviceList)
|
||||||
{
|
{
|
||||||
while (*deviceList)
|
while (*deviceList)
|
||||||
@ -165,7 +165,7 @@ std::vector<std::string> SoundRecorder::getAvailableDevices()
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
std::string SoundRecorder::getDefaultDevice()
|
std::string SoundRecorder::getDefaultDevice()
|
||||||
{
|
{
|
||||||
return alcGetString(NULL, ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER);
|
return alcGetString(nullptr, ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -324,7 +324,7 @@ void SoundRecorder::cleanup()
|
|||||||
|
|
||||||
// Close the device
|
// Close the device
|
||||||
alcCaptureCloseDevice(captureDevice);
|
alcCaptureCloseDevice(captureDevice);
|
||||||
captureDevice = NULL;
|
captureDevice = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace sf
|
} // namespace sf
|
||||||
|
@ -414,14 +414,14 @@ bool SoundStream::fillAndPushBuffer(unsigned int bufferNum, bool immediateLoop)
|
|||||||
bool requestStop = false;
|
bool requestStop = false;
|
||||||
|
|
||||||
// Acquire audio data, also address EOF and error cases if they occur
|
// Acquire audio data, also address EOF and error cases if they occur
|
||||||
Chunk data = {NULL, 0};
|
Chunk data = {nullptr, 0};
|
||||||
for (Uint32 retryCount = 0; !onGetData(data) && (retryCount < BufferRetries); ++retryCount)
|
for (Uint32 retryCount = 0; !onGetData(data) && (retryCount < BufferRetries); ++retryCount)
|
||||||
{
|
{
|
||||||
// Check if the stream must loop or stop
|
// Check if the stream must loop or stop
|
||||||
if (!m_loop)
|
if (!m_loop)
|
||||||
{
|
{
|
||||||
// Not looping: Mark this buffer as ending with 0 and request stop
|
// Not looping: Mark this buffer as ending with 0 and request stop
|
||||||
if (data.samples != NULL && data.sampleCount != 0)
|
if (data.samples != nullptr && data.sampleCount != 0)
|
||||||
m_bufferSeeks[bufferNum] = 0;
|
m_bufferSeeks[bufferNum] = 0;
|
||||||
requestStop = true;
|
requestStop = true;
|
||||||
break;
|
break;
|
||||||
@ -432,7 +432,7 @@ bool SoundStream::fillAndPushBuffer(unsigned int bufferNum, bool immediateLoop)
|
|||||||
m_bufferSeeks[bufferNum] = onLoop();
|
m_bufferSeeks[bufferNum] = onLoop();
|
||||||
|
|
||||||
// If we got data, break and process it, else try to fill the buffer once again
|
// If we got data, break and process it, else try to fill the buffer once again
|
||||||
if (data.samples != NULL && data.sampleCount != 0)
|
if (data.samples != nullptr && data.sampleCount != 0)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// If immediateLoop is specified, we have to immediately adjust the sample count
|
// If immediateLoop is specified, we have to immediately adjust the sample count
|
||||||
|
@ -85,16 +85,16 @@ namespace sf
|
|||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
Font::Font() :
|
Font::Font() :
|
||||||
m_library (NULL),
|
m_library (nullptr),
|
||||||
m_face (NULL),
|
m_face (nullptr),
|
||||||
m_streamRec(NULL),
|
m_streamRec(nullptr),
|
||||||
m_stroker (NULL),
|
m_stroker (nullptr),
|
||||||
m_refCount (NULL),
|
m_refCount (nullptr),
|
||||||
m_isSmooth (true),
|
m_isSmooth (true),
|
||||||
m_info ()
|
m_info ()
|
||||||
{
|
{
|
||||||
#ifdef SFML_SYSTEM_ANDROID
|
#ifdef SFML_SYSTEM_ANDROID
|
||||||
m_stream = NULL;
|
m_stream = nullptr;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -112,7 +112,7 @@ m_pages (copy.m_pages),
|
|||||||
m_pixelBuffer(copy.m_pixelBuffer)
|
m_pixelBuffer(copy.m_pixelBuffer)
|
||||||
{
|
{
|
||||||
#ifdef SFML_SYSTEM_ANDROID
|
#ifdef SFML_SYSTEM_ANDROID
|
||||||
m_stream = NULL;
|
m_stream = nullptr;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Note: as FreeType doesn't provide functions for copying/cloning,
|
// Note: as FreeType doesn't provide functions for copying/cloning,
|
||||||
@ -283,7 +283,7 @@ bool Font::loadFromStream(InputStream& stream)
|
|||||||
// Prepare a wrapper for our stream, that we'll pass to FreeType callbacks
|
// Prepare a wrapper for our stream, that we'll pass to FreeType callbacks
|
||||||
FT_StreamRec* rec = new FT_StreamRec;
|
FT_StreamRec* rec = new FT_StreamRec;
|
||||||
std::memset(rec, 0, sizeof(*rec));
|
std::memset(rec, 0, sizeof(*rec));
|
||||||
rec->base = NULL;
|
rec->base = nullptr;
|
||||||
rec->size = static_cast<unsigned long>(stream.getSize());
|
rec->size = static_cast<unsigned long>(stream.getSize());
|
||||||
rec->pos = 0;
|
rec->pos = 0;
|
||||||
rec->descriptor.pointer = &stream;
|
rec->descriptor.pointer = &stream;
|
||||||
@ -557,11 +557,11 @@ void Font::cleanup()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Reset members
|
// Reset members
|
||||||
m_library = NULL;
|
m_library = nullptr;
|
||||||
m_face = NULL;
|
m_face = nullptr;
|
||||||
m_stroker = NULL;
|
m_stroker = nullptr;
|
||||||
m_streamRec = NULL;
|
m_streamRec = nullptr;
|
||||||
m_refCount = NULL;
|
m_refCount = nullptr;
|
||||||
m_pages.clear();
|
m_pages.clear();
|
||||||
std::vector<Uint8>().swap(m_pixelBuffer);
|
std::vector<Uint8>().swap(m_pixelBuffer);
|
||||||
}
|
}
|
||||||
@ -735,7 +735,7 @@ Glyph Font::loadGlyph(Uint32 codePoint, unsigned int characterSize, bool bold, f
|
|||||||
IntRect Font::findGlyphRect(Page& page, unsigned int width, unsigned int height) const
|
IntRect Font::findGlyphRect(Page& page, unsigned int width, unsigned int height) const
|
||||||
{
|
{
|
||||||
// Find the line that fits well the glyph
|
// Find the line that fits well the glyph
|
||||||
Row* row = NULL;
|
Row* row = nullptr;
|
||||||
float bestRatio = 0;
|
float bestRatio = 0;
|
||||||
for (std::vector<Row>::iterator it = page.rows.begin(); it != page.rows.end() && !row; ++it)
|
for (std::vector<Row>::iterator it = page.rows.begin(); it != page.rows.end() && !row; ++it)
|
||||||
{
|
{
|
||||||
|
@ -59,7 +59,7 @@ void Image::create(unsigned int width, unsigned int height, const Color& color)
|
|||||||
{
|
{
|
||||||
// Create a new pixel buffer first for exception safety's sake
|
// Create a new pixel buffer first for exception safety's sake
|
||||||
std::vector<Uint8> newPixels(width * height * 4);
|
std::vector<Uint8> newPixels(width * height * 4);
|
||||||
|
|
||||||
// Fill it with the specified color
|
// Fill it with the specified color
|
||||||
Uint8* ptr = &newPixels[0];
|
Uint8* ptr = &newPixels[0];
|
||||||
Uint8* end = ptr + newPixels.size();
|
Uint8* end = ptr + newPixels.size();
|
||||||
@ -70,10 +70,10 @@ void Image::create(unsigned int width, unsigned int height, const Color& color)
|
|||||||
*ptr++ = color.b;
|
*ptr++ = color.b;
|
||||||
*ptr++ = color.a;
|
*ptr++ = color.a;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Commit the new pixel buffer
|
// Commit the new pixel buffer
|
||||||
m_pixels.swap(newPixels);
|
m_pixels.swap(newPixels);
|
||||||
|
|
||||||
// Assign the new size
|
// Assign the new size
|
||||||
m_size.x = width;
|
m_size.x = width;
|
||||||
m_size.y = height;
|
m_size.y = height;
|
||||||
@ -82,7 +82,7 @@ void Image::create(unsigned int width, unsigned int height, const Color& color)
|
|||||||
{
|
{
|
||||||
// Dump the pixel buffer
|
// Dump the pixel buffer
|
||||||
std::vector<Uint8>().swap(m_pixels);
|
std::vector<Uint8>().swap(m_pixels);
|
||||||
|
|
||||||
// Assign the new size
|
// Assign the new size
|
||||||
m_size.x = 0;
|
m_size.x = 0;
|
||||||
m_size.y = 0;
|
m_size.y = 0;
|
||||||
@ -97,10 +97,10 @@ void Image::create(unsigned int width, unsigned int height, const Uint8* pixels)
|
|||||||
{
|
{
|
||||||
// Create a new pixel buffer first for exception safety's sake
|
// Create a new pixel buffer first for exception safety's sake
|
||||||
std::vector<Uint8> newPixels(pixels, pixels + width * height * 4);
|
std::vector<Uint8> newPixels(pixels, pixels + width * height * 4);
|
||||||
|
|
||||||
// Commit the new pixel buffer
|
// Commit the new pixel buffer
|
||||||
m_pixels.swap(newPixels);
|
m_pixels.swap(newPixels);
|
||||||
|
|
||||||
// Assign the new size
|
// Assign the new size
|
||||||
m_size.x = width;
|
m_size.x = width;
|
||||||
m_size.y = height;
|
m_size.y = height;
|
||||||
@ -109,7 +109,7 @@ void Image::create(unsigned int width, unsigned int height, const Uint8* pixels)
|
|||||||
{
|
{
|
||||||
// Dump the pixel buffer
|
// Dump the pixel buffer
|
||||||
std::vector<Uint8>().swap(m_pixels);
|
std::vector<Uint8>().swap(m_pixels);
|
||||||
|
|
||||||
// Assign the new size
|
// Assign the new size
|
||||||
m_size.x = 0;
|
m_size.x = 0;
|
||||||
m_size.y = 0;
|
m_size.y = 0;
|
||||||
@ -294,7 +294,7 @@ const Uint8* Image::getPixelsPtr() const
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
err() << "Trying to access the pixels of an empty image" << std::endl;
|
err() << "Trying to access the pixels of an empty image" << std::endl;
|
||||||
return NULL;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,8 +43,8 @@ const RenderStates RenderStates::Default(BlendMode(
|
|||||||
RenderStates::RenderStates() :
|
RenderStates::RenderStates() :
|
||||||
blendMode(BlendAlpha),
|
blendMode(BlendAlpha),
|
||||||
transform(),
|
transform(),
|
||||||
texture (NULL),
|
texture (nullptr),
|
||||||
shader (NULL)
|
shader (nullptr)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -53,8 +53,8 @@ shader (NULL)
|
|||||||
RenderStates::RenderStates(const Transform& theTransform) :
|
RenderStates::RenderStates(const Transform& theTransform) :
|
||||||
blendMode(BlendAlpha),
|
blendMode(BlendAlpha),
|
||||||
transform(theTransform),
|
transform(theTransform),
|
||||||
texture (NULL),
|
texture (nullptr),
|
||||||
shader (NULL)
|
shader (nullptr)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,8 +63,8 @@ shader (NULL)
|
|||||||
RenderStates::RenderStates(const BlendMode& theBlendMode) :
|
RenderStates::RenderStates(const BlendMode& theBlendMode) :
|
||||||
blendMode(theBlendMode),
|
blendMode(theBlendMode),
|
||||||
transform(),
|
transform(),
|
||||||
texture (NULL),
|
texture (nullptr),
|
||||||
shader (NULL)
|
shader (nullptr)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -74,7 +74,7 @@ RenderStates::RenderStates(const Texture* theTexture) :
|
|||||||
blendMode(BlendAlpha),
|
blendMode(BlendAlpha),
|
||||||
transform(),
|
transform(),
|
||||||
texture (theTexture),
|
texture (theTexture),
|
||||||
shader (NULL)
|
shader (nullptr)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -83,7 +83,7 @@ shader (NULL)
|
|||||||
RenderStates::RenderStates(const Shader* theShader) :
|
RenderStates::RenderStates(const Shader* theShader) :
|
||||||
blendMode(BlendAlpha),
|
blendMode(BlendAlpha),
|
||||||
transform(),
|
transform(),
|
||||||
texture (NULL),
|
texture (nullptr),
|
||||||
shader (theShader)
|
shader (theShader)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -174,7 +174,7 @@ void RenderTarget::clear(const Color& color)
|
|||||||
if (RenderTargetImpl::isActive(m_id) || setActive(true))
|
if (RenderTargetImpl::isActive(m_id) || setActive(true))
|
||||||
{
|
{
|
||||||
// Unbind texture to fix RenderTexture preventing clear
|
// Unbind texture to fix RenderTexture preventing clear
|
||||||
applyTexture(NULL);
|
applyTexture(nullptr);
|
||||||
|
|
||||||
glCheck(glClearColor(color.r / 255.f, color.g / 255.f, color.b / 255.f, color.a / 255.f));
|
glCheck(glClearColor(color.r / 255.f, color.g / 255.f, color.b / 255.f, color.a / 255.f));
|
||||||
glCheck(glClear(GL_COLOR_BUFFER_BIT));
|
glCheck(glClear(GL_COLOR_BUFFER_BIT));
|
||||||
@ -404,7 +404,7 @@ void RenderTarget::draw(const VertexBuffer& vertexBuffer, std::size_t firstVerte
|
|||||||
drawPrimitives(vertexBuffer.getPrimitiveType(), firstVertex, vertexCount);
|
drawPrimitives(vertexBuffer.getPrimitiveType(), firstVertex, vertexCount);
|
||||||
|
|
||||||
// Unbind vertex buffer
|
// Unbind vertex buffer
|
||||||
VertexBuffer::bind(NULL);
|
VertexBuffer::bind(nullptr);
|
||||||
|
|
||||||
cleanupDraw(states);
|
cleanupDraw(states);
|
||||||
|
|
||||||
@ -556,12 +556,12 @@ void RenderTarget::resetGLStates()
|
|||||||
|
|
||||||
// Apply the default SFML states
|
// Apply the default SFML states
|
||||||
applyBlendMode(BlendAlpha);
|
applyBlendMode(BlendAlpha);
|
||||||
applyTexture(NULL);
|
applyTexture(nullptr);
|
||||||
if (shaderAvailable)
|
if (shaderAvailable)
|
||||||
applyShader(NULL);
|
applyShader(nullptr);
|
||||||
|
|
||||||
if (vertexBufferAvailable)
|
if (vertexBufferAvailable)
|
||||||
glCheck(VertexBuffer::bind(NULL));
|
glCheck(VertexBuffer::bind(nullptr));
|
||||||
|
|
||||||
m_cache.texCoordsArrayEnabled = true;
|
m_cache.texCoordsArrayEnabled = true;
|
||||||
|
|
||||||
@ -771,12 +771,12 @@ void RenderTarget::cleanupDraw(const RenderStates& states)
|
|||||||
{
|
{
|
||||||
// Unbind the shader, if any
|
// Unbind the shader, if any
|
||||||
if (states.shader)
|
if (states.shader)
|
||||||
applyShader(NULL);
|
applyShader(nullptr);
|
||||||
|
|
||||||
// If the texture we used to draw belonged to a RenderTexture, then forcibly unbind that texture.
|
// If the texture we used to draw belonged to a RenderTexture, then forcibly unbind that texture.
|
||||||
// This prevents a bug where some drivers do not clear RenderTextures properly.
|
// This prevents a bug where some drivers do not clear RenderTextures properly.
|
||||||
if (states.texture && states.texture->m_fboAttachment)
|
if (states.texture && states.texture->m_fboAttachment)
|
||||||
applyTexture(NULL);
|
applyTexture(nullptr);
|
||||||
|
|
||||||
// Re-enable the cache at the end of the draw if it was disabled
|
// Re-enable the cache at the end of the draw if it was disabled
|
||||||
m_cache.enable = true;
|
m_cache.enable = true;
|
||||||
|
@ -35,7 +35,7 @@ namespace sf
|
|||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
RenderTexture::RenderTexture() :
|
RenderTexture::RenderTexture() :
|
||||||
m_impl(NULL)
|
m_impl(nullptr)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -117,7 +117,7 @@ m_depthStencilBuffer(0),
|
|||||||
m_colorBuffer (0),
|
m_colorBuffer (0),
|
||||||
m_width (0),
|
m_width (0),
|
||||||
m_height (0),
|
m_height (0),
|
||||||
m_context (NULL),
|
m_context (nullptr),
|
||||||
m_textureId (0),
|
m_textureId (0),
|
||||||
m_multisample (false),
|
m_multisample (false),
|
||||||
m_stencil (false),
|
m_stencil (false),
|
||||||
@ -541,7 +541,7 @@ bool RenderTextureImplFBO::activate(bool active)
|
|||||||
Lock lock(mutex);
|
Lock lock(mutex);
|
||||||
|
|
||||||
std::map<Uint64, unsigned int>::iterator iter;
|
std::map<Uint64, unsigned int>::iterator iter;
|
||||||
|
|
||||||
if (m_multisample)
|
if (m_multisample)
|
||||||
{
|
{
|
||||||
iter = m_multisampleFrameBuffers.find(contextId);
|
iter = m_multisampleFrameBuffers.find(contextId);
|
||||||
|
@ -252,11 +252,11 @@ bool Shader::loadFromFile(const std::string& filename, Type type)
|
|||||||
|
|
||||||
// Compile the shader program
|
// Compile the shader program
|
||||||
if (type == Vertex)
|
if (type == Vertex)
|
||||||
return compile(&shader[0], NULL, NULL);
|
return compile(&shader[0], nullptr, nullptr);
|
||||||
else if (type == Geometry)
|
else if (type == Geometry)
|
||||||
return compile(NULL, &shader[0], NULL);
|
return compile(nullptr, &shader[0], nullptr);
|
||||||
else
|
else
|
||||||
return compile(NULL, NULL, &shader[0]);
|
return compile(nullptr, nullptr, &shader[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -280,7 +280,7 @@ bool Shader::loadFromFile(const std::string& vertexShaderFilename, const std::st
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Compile the shader program
|
// Compile the shader program
|
||||||
return compile(&vertexShader[0], NULL, &fragmentShader[0]);
|
return compile(&vertexShader[0], nullptr, &fragmentShader[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -321,11 +321,11 @@ bool Shader::loadFromMemory(const std::string& shader, Type type)
|
|||||||
{
|
{
|
||||||
// Compile the shader program
|
// Compile the shader program
|
||||||
if (type == Vertex)
|
if (type == Vertex)
|
||||||
return compile(shader.c_str(), NULL, NULL);
|
return compile(shader.c_str(), nullptr, nullptr);
|
||||||
else if (type == Geometry)
|
else if (type == Geometry)
|
||||||
return compile(NULL, shader.c_str(), NULL);
|
return compile(nullptr, shader.c_str(), nullptr);
|
||||||
else
|
else
|
||||||
return compile(NULL, NULL, shader.c_str());
|
return compile(nullptr, nullptr, shader.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -333,7 +333,7 @@ bool Shader::loadFromMemory(const std::string& shader, Type type)
|
|||||||
bool Shader::loadFromMemory(const std::string& vertexShader, const std::string& fragmentShader)
|
bool Shader::loadFromMemory(const std::string& vertexShader, const std::string& fragmentShader)
|
||||||
{
|
{
|
||||||
// Compile the shader program
|
// Compile the shader program
|
||||||
return compile(vertexShader.c_str(), NULL, fragmentShader.c_str());
|
return compile(vertexShader.c_str(), nullptr, fragmentShader.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -358,11 +358,11 @@ bool Shader::loadFromStream(InputStream& stream, Type type)
|
|||||||
|
|
||||||
// Compile the shader program
|
// Compile the shader program
|
||||||
if (type == Vertex)
|
if (type == Vertex)
|
||||||
return compile(&shader[0], NULL, NULL);
|
return compile(&shader[0], nullptr, nullptr);
|
||||||
else if (type == Geometry)
|
else if (type == Geometry)
|
||||||
return compile(NULL, &shader[0], NULL);
|
return compile(nullptr, &shader[0], nullptr);
|
||||||
else
|
else
|
||||||
return compile(NULL, NULL, &shader[0]);
|
return compile(nullptr, nullptr, &shader[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -386,7 +386,7 @@ bool Shader::loadFromStream(InputStream& vertexShaderStream, InputStream& fragme
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Compile the shader program
|
// Compile the shader program
|
||||||
return compile(&vertexShader[0], NULL, &fragmentShader[0]);
|
return compile(&vertexShader[0], nullptr, &fragmentShader[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -864,7 +864,7 @@ bool Shader::compile(const char* vertexShaderCode, const char* geometryShaderCod
|
|||||||
// Create and compile the shader
|
// Create and compile the shader
|
||||||
GLEXT_GLhandle vertexShader;
|
GLEXT_GLhandle vertexShader;
|
||||||
glCheck(vertexShader = GLEXT_glCreateShaderObject(GLEXT_GL_VERTEX_SHADER));
|
glCheck(vertexShader = GLEXT_glCreateShaderObject(GLEXT_GL_VERTEX_SHADER));
|
||||||
glCheck(GLEXT_glShaderSource(vertexShader, 1, &vertexShaderCode, NULL));
|
glCheck(GLEXT_glShaderSource(vertexShader, 1, &vertexShaderCode, nullptr));
|
||||||
glCheck(GLEXT_glCompileShader(vertexShader));
|
glCheck(GLEXT_glCompileShader(vertexShader));
|
||||||
|
|
||||||
// Check the compile log
|
// Check the compile log
|
||||||
@ -891,7 +891,7 @@ bool Shader::compile(const char* vertexShaderCode, const char* geometryShaderCod
|
|||||||
{
|
{
|
||||||
// Create and compile the shader
|
// Create and compile the shader
|
||||||
GLEXT_GLhandle geometryShader = GLEXT_glCreateShaderObject(GLEXT_GL_GEOMETRY_SHADER);
|
GLEXT_GLhandle geometryShader = GLEXT_glCreateShaderObject(GLEXT_GL_GEOMETRY_SHADER);
|
||||||
glCheck(GLEXT_glShaderSource(geometryShader, 1, &geometryShaderCode, NULL));
|
glCheck(GLEXT_glShaderSource(geometryShader, 1, &geometryShaderCode, nullptr));
|
||||||
glCheck(GLEXT_glCompileShader(geometryShader));
|
glCheck(GLEXT_glCompileShader(geometryShader));
|
||||||
|
|
||||||
// Check the compile log
|
// Check the compile log
|
||||||
@ -919,7 +919,7 @@ bool Shader::compile(const char* vertexShaderCode, const char* geometryShaderCod
|
|||||||
// Create and compile the shader
|
// Create and compile the shader
|
||||||
GLEXT_GLhandle fragmentShader;
|
GLEXT_GLhandle fragmentShader;
|
||||||
glCheck(fragmentShader = GLEXT_glCreateShaderObject(GLEXT_GL_FRAGMENT_SHADER));
|
glCheck(fragmentShader = GLEXT_glCreateShaderObject(GLEXT_GL_FRAGMENT_SHADER));
|
||||||
glCheck(GLEXT_glShaderSource(fragmentShader, 1, &fragmentShaderCode, NULL));
|
glCheck(GLEXT_glShaderSource(fragmentShader, 1, &fragmentShaderCode, nullptr));
|
||||||
glCheck(GLEXT_glCompileShader(fragmentShader));
|
glCheck(GLEXT_glCompileShader(fragmentShader));
|
||||||
|
|
||||||
// Check the compile log
|
// Check the compile log
|
||||||
|
@ -157,7 +157,7 @@ FloatRect Shape::getGlobalBounds() const
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
Shape::Shape() :
|
Shape::Shape() :
|
||||||
m_texture (NULL),
|
m_texture (nullptr),
|
||||||
m_textureRect (),
|
m_textureRect (),
|
||||||
m_fillColor (255, 255, 255),
|
m_fillColor (255, 255, 255),
|
||||||
m_outlineColor (255, 255, 255),
|
m_outlineColor (255, 255, 255),
|
||||||
@ -220,7 +220,7 @@ void Shape::draw(RenderTarget& target, RenderStates states) const
|
|||||||
// Render the outline
|
// Render the outline
|
||||||
if (m_outlineThickness != 0)
|
if (m_outlineThickness != 0)
|
||||||
{
|
{
|
||||||
states.texture = NULL;
|
states.texture = nullptr;
|
||||||
target.draw(m_outlineVertices, states);
|
target.draw(m_outlineVertices, states);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,7 @@ namespace sf
|
|||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
Sprite::Sprite() :
|
Sprite::Sprite() :
|
||||||
m_texture (NULL),
|
m_texture (nullptr),
|
||||||
m_textureRect()
|
m_textureRect()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -43,7 +43,7 @@ m_textureRect()
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
Sprite::Sprite(const Texture& texture) :
|
Sprite::Sprite(const Texture& texture) :
|
||||||
m_texture (NULL),
|
m_texture (nullptr),
|
||||||
m_textureRect()
|
m_textureRect()
|
||||||
{
|
{
|
||||||
setTexture(texture, true);
|
setTexture(texture, true);
|
||||||
@ -52,7 +52,7 @@ m_textureRect()
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
Sprite::Sprite(const Texture& texture, const IntRect& rectangle) :
|
Sprite::Sprite(const Texture& texture, const IntRect& rectangle) :
|
||||||
m_texture (NULL),
|
m_texture (nullptr),
|
||||||
m_textureRect()
|
m_textureRect()
|
||||||
{
|
{
|
||||||
// Compute the texture area
|
// Compute the texture area
|
||||||
|
@ -77,7 +77,7 @@ namespace sf
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
Text::Text() :
|
Text::Text() :
|
||||||
m_string (),
|
m_string (),
|
||||||
m_font (NULL),
|
m_font (nullptr),
|
||||||
m_characterSize (30),
|
m_characterSize (30),
|
||||||
m_letterSpacingFactor(1.f),
|
m_letterSpacingFactor(1.f),
|
||||||
m_lineSpacingFactor (1.f),
|
m_lineSpacingFactor (1.f),
|
||||||
|
@ -206,7 +206,7 @@ bool Texture::create(unsigned int width, unsigned int height)
|
|||||||
|
|
||||||
// Initialize the texture
|
// Initialize the texture
|
||||||
glCheck(glBindTexture(GL_TEXTURE_2D, m_texture));
|
glCheck(glBindTexture(GL_TEXTURE_2D, m_texture));
|
||||||
glCheck(glTexImage2D(GL_TEXTURE_2D, 0, (m_sRgb ? GLEXT_GL_SRGB8_ALPHA8 : GL_RGBA), static_cast<GLsizei>(m_actualSize.x), static_cast<GLsizei>(m_actualSize.y), 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL));
|
glCheck(glTexImage2D(GL_TEXTURE_2D, 0, (m_sRgb ? GLEXT_GL_SRGB8_ALPHA8 : GL_RGBA), static_cast<GLsizei>(m_actualSize.x), static_cast<GLsizei>(m_actualSize.y), 0, GL_RGBA, GL_UNSIGNED_BYTE, nullptr));
|
||||||
glCheck(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, m_isRepeated ? GL_REPEAT : (textureEdgeClamp ? GLEXT_GL_CLAMP_TO_EDGE : GLEXT_GL_CLAMP)));
|
glCheck(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, m_isRepeated ? GL_REPEAT : (textureEdgeClamp ? GLEXT_GL_CLAMP_TO_EDGE : GLEXT_GL_CLAMP)));
|
||||||
glCheck(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, m_isRepeated ? GL_REPEAT : (textureEdgeClamp ? GLEXT_GL_CLAMP_TO_EDGE : GLEXT_GL_CLAMP)));
|
glCheck(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, m_isRepeated ? GL_REPEAT : (textureEdgeClamp ? GLEXT_GL_CLAMP_TO_EDGE : GLEXT_GL_CLAMP)));
|
||||||
glCheck(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, m_isSmooth ? GL_LINEAR : GL_NEAREST));
|
glCheck(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, m_isSmooth ? GL_LINEAR : GL_NEAREST));
|
||||||
|
@ -65,11 +65,11 @@ int getAndroidApiLevel(ANativeActivity* activity)
|
|||||||
JNIEnv* lJNIEnv = activity->env;
|
JNIEnv* lJNIEnv = activity->env;
|
||||||
|
|
||||||
jclass versionClass = lJNIEnv->FindClass("android/os/Build$VERSION");
|
jclass versionClass = lJNIEnv->FindClass("android/os/Build$VERSION");
|
||||||
if (versionClass == NULL)
|
if (versionClass == nullptr)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
jfieldID sdkIntFieldID = lJNIEnv->GetStaticFieldID(versionClass, "SDK_INT", "I");
|
jfieldID sdkIntFieldID = lJNIEnv->GetStaticFieldID(versionClass, "SDK_INT", "I");
|
||||||
if (sdkIntFieldID == NULL)
|
if (sdkIntFieldID == nullptr)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
jint sdkInt = 0;
|
jint sdkInt = 0;
|
||||||
@ -82,7 +82,7 @@ int getAndroidApiLevel(ANativeActivity* activity)
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
ActivityStates* retrieveStates(ANativeActivity* activity)
|
ActivityStates* retrieveStates(ANativeActivity* activity)
|
||||||
{
|
{
|
||||||
assert(activity != NULL);
|
assert(activity != nullptr);
|
||||||
|
|
||||||
// Hide the ugly cast we find in each callback function
|
// Hide the ugly cast we find in each callback function
|
||||||
return (ActivityStates*)activity->instance;
|
return (ActivityStates*)activity->instance;
|
||||||
@ -132,7 +132,7 @@ void* main(ActivityStates* states)
|
|||||||
initializeMain(states);
|
initializeMain(states);
|
||||||
|
|
||||||
sleep(seconds(0.5));
|
sleep(seconds(0.5));
|
||||||
::main(0, NULL);
|
::main(0, nullptr);
|
||||||
|
|
||||||
// Terminate properly the main thread and wait until it's done
|
// Terminate properly the main thread and wait until it's done
|
||||||
terminateMain(states);
|
terminateMain(states);
|
||||||
@ -143,7 +143,7 @@ void* main(ActivityStates* states)
|
|||||||
states->terminated = true;
|
states->terminated = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return NULL;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace priv
|
} // namespace priv
|
||||||
@ -330,7 +330,7 @@ static void onDestroy(ANativeActivity* activity)
|
|||||||
delete states;
|
delete states;
|
||||||
|
|
||||||
// Reset the activity pointer for all modules
|
// Reset the activity pointer for all modules
|
||||||
sf::priv::resetActivity(NULL);
|
sf::priv::resetActivity(nullptr);
|
||||||
|
|
||||||
// The application should now terminate
|
// The application should now terminate
|
||||||
}
|
}
|
||||||
@ -372,7 +372,7 @@ static void onNativeWindowDestroyed(ANativeActivity* activity, ANativeWindow* wi
|
|||||||
sf::Lock lock(states->mutex);
|
sf::Lock lock(states->mutex);
|
||||||
|
|
||||||
// Update the activity states
|
// Update the activity states
|
||||||
states->window = NULL;
|
states->window = nullptr;
|
||||||
|
|
||||||
// Notify SFML mechanism
|
// Notify SFML mechanism
|
||||||
sf::Event event;
|
sf::Event event;
|
||||||
@ -416,7 +416,7 @@ static void onInputQueueCreated(ANativeActivity* activity, AInputQueue* queue)
|
|||||||
{
|
{
|
||||||
sf::Lock lock(states->mutex);
|
sf::Lock lock(states->mutex);
|
||||||
|
|
||||||
AInputQueue_attachLooper(queue, states->looper, 1, states->processEvent, NULL);
|
AInputQueue_attachLooper(queue, states->looper, 1, states->processEvent, nullptr);
|
||||||
states->inputQueue = queue;
|
states->inputQueue = queue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -433,7 +433,7 @@ static void onInputQueueDestroyed(ANativeActivity* activity, AInputQueue* queue)
|
|||||||
sf::Lock lock(states->mutex);
|
sf::Lock lock(states->mutex);
|
||||||
|
|
||||||
AInputQueue_detachLooper(queue);
|
AInputQueue_detachLooper(queue);
|
||||||
states->inputQueue = NULL;
|
states->inputQueue = nullptr;
|
||||||
|
|
||||||
ALooper_release(states->looper);
|
ALooper_release(states->looper);
|
||||||
}
|
}
|
||||||
@ -458,7 +458,7 @@ static void onContentRectChanged(ANativeActivity* activity, const ARect* rect)
|
|||||||
sf::Lock lock(states->mutex);
|
sf::Lock lock(states->mutex);
|
||||||
|
|
||||||
// Make sure the window still exists before we access the dimensions on it
|
// Make sure the window still exists before we access the dimensions on it
|
||||||
if (states->window != NULL) {
|
if (states->window != nullptr) {
|
||||||
// Send an event to warn people about the window move/resize
|
// Send an event to warn people about the window move/resize
|
||||||
sf::Event event;
|
sf::Event event;
|
||||||
event.type = sf::Event::Resized;
|
event.type = sf::Event::Resized;
|
||||||
@ -483,7 +483,7 @@ static void* onSaveInstanceState(ANativeActivity* activity, size_t* outLen)
|
|||||||
(void) activity;
|
(void) activity;
|
||||||
*outLen = 0;
|
*outLen = 0;
|
||||||
|
|
||||||
return NULL;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -498,15 +498,15 @@ static void onLowMemory(ANativeActivity* activity)
|
|||||||
JNIEXPORT void ANativeActivity_onCreate(ANativeActivity* activity, void* savedState, size_t savedStateSize)
|
JNIEXPORT void ANativeActivity_onCreate(ANativeActivity* activity, void* savedState, size_t savedStateSize)
|
||||||
{
|
{
|
||||||
// Create an activity states (will keep us in the know, about events we care)
|
// Create an activity states (will keep us in the know, about events we care)
|
||||||
sf::priv::ActivityStates* states = NULL;
|
sf::priv::ActivityStates* states = nullptr;
|
||||||
states = new sf::priv::ActivityStates;
|
states = new sf::priv::ActivityStates;
|
||||||
|
|
||||||
// Initialize the states value
|
// Initialize the states value
|
||||||
states->activity = NULL;
|
states->activity = nullptr;
|
||||||
states->window = NULL;
|
states->window = nullptr;
|
||||||
states->looper = NULL;
|
states->looper = nullptr;
|
||||||
states->inputQueue = NULL;
|
states->inputQueue = nullptr;
|
||||||
states->config = NULL;
|
states->config = nullptr;
|
||||||
|
|
||||||
for (unsigned int i = 0; i < sf::Mouse::ButtonCount; i++)
|
for (unsigned int i = 0; i < sf::Mouse::ButtonCount; i++)
|
||||||
states->isButtonPressed[i] = false;
|
states->isButtonPressed[i] = false;
|
||||||
@ -514,7 +514,7 @@ JNIEXPORT void ANativeActivity_onCreate(ANativeActivity* activity, void* savedSt
|
|||||||
gladLoaderLoadEGL(EGL_DEFAULT_DISPLAY);
|
gladLoaderLoadEGL(EGL_DEFAULT_DISPLAY);
|
||||||
states->display = eglGetDisplay(EGL_DEFAULT_DISPLAY);
|
states->display = eglGetDisplay(EGL_DEFAULT_DISPLAY);
|
||||||
|
|
||||||
if (savedState != NULL)
|
if (savedState != nullptr)
|
||||||
{
|
{
|
||||||
states->savedState = malloc(savedStateSize);
|
states->savedState = malloc(savedStateSize);
|
||||||
states->savedStateSize = savedStateSize;
|
states->savedStateSize = savedStateSize;
|
||||||
@ -560,7 +560,7 @@ JNIEXPORT void ANativeActivity_onCreate(ANativeActivity* activity, void* savedSt
|
|||||||
AWINDOW_FLAG_KEEP_SCREEN_ON);
|
AWINDOW_FLAG_KEEP_SCREEN_ON);
|
||||||
|
|
||||||
// Initialize the display
|
// Initialize the display
|
||||||
eglInitialize(states->display, NULL, NULL);
|
eglInitialize(states->display, nullptr, nullptr);
|
||||||
|
|
||||||
getScreenSizeInPixels(activity, &states->screenSize.x, &states->screenSize.y);
|
getScreenSizeInPixels(activity, &states->screenSize.x, &states->screenSize.y);
|
||||||
|
|
||||||
|
@ -61,7 +61,7 @@ const char *getLibraryName(JNIEnv* lJNIEnv, jobject& objectActivityInfo)
|
|||||||
jstring valueString = (jstring)lJNIEnv->CallObjectMethod(objectMetaData, methodGetString, objectName);
|
jstring valueString = (jstring)lJNIEnv->CallObjectMethod(objectMetaData, methodGetString, objectName);
|
||||||
|
|
||||||
// No meta-data "sfml.app.lib_name" was found so we abort and inform the user
|
// No meta-data "sfml.app.lib_name" was found so we abort and inform the user
|
||||||
if (valueString == NULL)
|
if (valueString == nullptr)
|
||||||
{
|
{
|
||||||
LOGE("No meta-data 'sfml.app.lib_name' found in AndroidManifest.xml file");
|
LOGE("No meta-data 'sfml.app.lib_name' found in AndroidManifest.xml file");
|
||||||
exit(1);
|
exit(1);
|
||||||
@ -69,7 +69,7 @@ const char *getLibraryName(JNIEnv* lJNIEnv, jobject& objectActivityInfo)
|
|||||||
|
|
||||||
// Convert the application name to a C++ string and return it
|
// Convert the application name to a C++ string and return it
|
||||||
const jsize applicationNameLength = lJNIEnv->GetStringUTFLength(valueString);
|
const jsize applicationNameLength = lJNIEnv->GetStringUTFLength(valueString);
|
||||||
const char* applicationName = lJNIEnv->GetStringUTFChars(valueString, NULL);
|
const char* applicationName = lJNIEnv->GetStringUTFChars(valueString, nullptr);
|
||||||
|
|
||||||
if (applicationNameLength >= 256)
|
if (applicationNameLength >= 256)
|
||||||
{
|
{
|
||||||
@ -109,7 +109,7 @@ void* loadLibrary(const char* libraryName, JNIEnv* lJNIEnv, jobject& ObjectActiv
|
|||||||
// Get the library absolute path and convert it
|
// Get the library absolute path and convert it
|
||||||
jmethodID MethodGetPath = lJNIEnv->GetMethodID(ClassFile, "getPath", "()Ljava/lang/String;");
|
jmethodID MethodGetPath = lJNIEnv->GetMethodID(ClassFile, "getPath", "()Ljava/lang/String;");
|
||||||
jstring javaLibraryPath = static_cast<jstring>(lJNIEnv->CallObjectMethod(ObjectFile, MethodGetPath));
|
jstring javaLibraryPath = static_cast<jstring>(lJNIEnv->CallObjectMethod(ObjectFile, MethodGetPath));
|
||||||
const char* libraryPath = lJNIEnv->GetStringUTFChars(javaLibraryPath, NULL);
|
const char* libraryPath = lJNIEnv->GetStringUTFChars(javaLibraryPath, nullptr);
|
||||||
|
|
||||||
// Manually load the library
|
// Manually load the library
|
||||||
void * handle = dlopen(libraryPath, RTLD_NOW | RTLD_GLOBAL);
|
void * handle = dlopen(libraryPath, RTLD_NOW | RTLD_GLOBAL);
|
||||||
|
@ -193,8 +193,8 @@ void IpAddress::resolve(const std::string& address)
|
|||||||
addrinfo hints;
|
addrinfo hints;
|
||||||
std::memset(&hints, 0, sizeof(hints));
|
std::memset(&hints, 0, sizeof(hints));
|
||||||
hints.ai_family = AF_INET;
|
hints.ai_family = AF_INET;
|
||||||
addrinfo* result = NULL;
|
addrinfo* result = nullptr;
|
||||||
if (getaddrinfo(address.c_str(), NULL, &hints, &result) == 0)
|
if (getaddrinfo(address.c_str(), nullptr, &hints, &result) == 0)
|
||||||
{
|
{
|
||||||
if (result)
|
if (result)
|
||||||
{
|
{
|
||||||
|
@ -82,7 +82,7 @@ void Packet::clear()
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
const void* Packet::getData() const
|
const void* Packet::getData() const
|
||||||
{
|
{
|
||||||
return !m_data.empty() ? &m_data[0] : NULL;
|
return !m_data.empty() ? &m_data[0] : nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -103,7 +103,7 @@ bool Packet::endOfPacket() const
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
Packet::operator BoolType() const
|
Packet::operator BoolType() const
|
||||||
{
|
{
|
||||||
return m_isValid ? &Packet::checkSize : NULL;
|
return m_isValid ? &Packet::checkSize : nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -165,7 +165,7 @@ bool SocketSelector::wait(Time timeout)
|
|||||||
|
|
||||||
// Wait until one of the sockets is ready for reading, or timeout is reached
|
// Wait until one of the sockets is ready for reading, or timeout is reached
|
||||||
// The first parameter is ignored on Windows
|
// The first parameter is ignored on Windows
|
||||||
int count = select(m_impl->maxSocket + 1, &m_impl->socketsReady, NULL, NULL, timeout != Time::Zero ? &time : NULL);
|
int count = select(m_impl->maxSocket + 1, &m_impl->socketsReady, nullptr, nullptr, timeout != Time::Zero ? &time : nullptr);
|
||||||
|
|
||||||
return count > 0;
|
return count > 0;
|
||||||
}
|
}
|
||||||
|
@ -178,7 +178,7 @@ Socket::Status TcpSocket::connect(const IpAddress& remoteAddress, unsigned short
|
|||||||
time.tv_usec = static_cast<long>(timeout.asMicroseconds() % 1000000);
|
time.tv_usec = static_cast<long>(timeout.asMicroseconds() % 1000000);
|
||||||
|
|
||||||
// Wait for something to write on our socket (which means that the connection request has returned)
|
// Wait for something to write on our socket (which means that the connection request has returned)
|
||||||
if (select(static_cast<int>(getHandle() + 1), NULL, &selector, NULL, &time) > 0)
|
if (select(static_cast<int>(getHandle() + 1), nullptr, &selector, nullptr, &time) > 0)
|
||||||
{
|
{
|
||||||
// At this point the connection may have been either accepted or refused.
|
// At this point the connection may have been either accepted or refused.
|
||||||
// To know whether it's a success or a failure, we must check the address of the connected peer
|
// To know whether it's a success or a failure, we must check the address of the connected peer
|
||||||
|
@ -60,7 +60,7 @@ namespace priv
|
|||||||
|
|
||||||
ActivityStates*& getActivityStatesPtr()
|
ActivityStates*& getActivityStatesPtr()
|
||||||
{
|
{
|
||||||
static ActivityStates* states = NULL;
|
static ActivityStates* states = nullptr;
|
||||||
return states;
|
return states;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ void resetActivity(ActivityStates* initializedStates)
|
|||||||
ActivityStates& getActivity()
|
ActivityStates& getActivity()
|
||||||
{
|
{
|
||||||
ActivityStates* const states = getActivityStatesPtr();
|
ActivityStates* const states = getActivityStatesPtr();
|
||||||
assert(states != NULL);
|
assert(states != nullptr);
|
||||||
return *states;
|
return *states;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ namespace priv
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
ResourceStream::ResourceStream(const std::string& filename) :
|
ResourceStream::ResourceStream(const std::string& filename) :
|
||||||
m_file (NULL)
|
m_file (nullptr)
|
||||||
{
|
{
|
||||||
ActivityStates& states = getActivity();
|
ActivityStates& states = getActivity();
|
||||||
Lock lock(states.mutex);
|
Lock lock(states.mutex);
|
||||||
|
@ -35,7 +35,7 @@ namespace sf
|
|||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
FileInputStream::FileInputStream()
|
FileInputStream::FileInputStream()
|
||||||
: m_file(NULL)
|
: m_file(nullptr)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -68,7 +68,7 @@ bool FileInputStream::open(const std::string& filename)
|
|||||||
|
|
||||||
m_file = std::fopen(filename.c_str(), "rb");
|
m_file = std::fopen(filename.c_str(), "rb");
|
||||||
|
|
||||||
return m_file != NULL;
|
return m_file != nullptr;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ namespace sf
|
|||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
MemoryInputStream::MemoryInputStream() :
|
MemoryInputStream::MemoryInputStream() :
|
||||||
m_data (NULL),
|
m_data (nullptr),
|
||||||
m_size (0),
|
m_size (0),
|
||||||
m_offset(0)
|
m_offset(0)
|
||||||
{
|
{
|
||||||
|
@ -60,7 +60,7 @@ void Thread::wait()
|
|||||||
{
|
{
|
||||||
m_impl->wait();
|
m_impl->wait();
|
||||||
delete m_impl;
|
delete m_impl;
|
||||||
m_impl = NULL;
|
m_impl = nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ void Thread::terminate()
|
|||||||
{
|
{
|
||||||
m_impl->terminate();
|
m_impl->terminate();
|
||||||
delete m_impl;
|
delete m_impl;
|
||||||
m_impl = NULL;
|
m_impl = nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ namespace priv
|
|||||||
ThreadImpl::ThreadImpl(Thread* owner) :
|
ThreadImpl::ThreadImpl(Thread* owner) :
|
||||||
m_isActive(true)
|
m_isActive(true)
|
||||||
{
|
{
|
||||||
m_isActive = pthread_create(&m_thread, NULL, &ThreadImpl::entryPoint, owner) == 0;
|
m_isActive = pthread_create(&m_thread, nullptr, &ThreadImpl::entryPoint, owner) == 0;
|
||||||
|
|
||||||
if (!m_isActive)
|
if (!m_isActive)
|
||||||
std::cerr << "Failed to create thread" << std::endl;
|
std::cerr << "Failed to create thread" << std::endl;
|
||||||
@ -52,7 +52,7 @@ void ThreadImpl::wait()
|
|||||||
if (m_isActive)
|
if (m_isActive)
|
||||||
{
|
{
|
||||||
assert(pthread_equal(pthread_self(), m_thread) == 0); // A thread cannot wait for itself!
|
assert(pthread_equal(pthread_self(), m_thread) == 0); // A thread cannot wait for itself!
|
||||||
pthread_join(m_thread, NULL);
|
pthread_join(m_thread, nullptr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -80,13 +80,13 @@ void* ThreadImpl::entryPoint(void* userData)
|
|||||||
|
|
||||||
#ifndef SFML_SYSTEM_ANDROID
|
#ifndef SFML_SYSTEM_ANDROID
|
||||||
// Tell the thread to handle cancel requests immediately
|
// Tell the thread to handle cancel requests immediately
|
||||||
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
|
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, nullptr);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Forward to the owner
|
// Forward to the owner
|
||||||
owner->run();
|
owner->run();
|
||||||
|
|
||||||
return NULL;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace priv
|
} // namespace priv
|
||||||
|
@ -36,7 +36,7 @@ namespace priv
|
|||||||
ThreadLocalImpl::ThreadLocalImpl() :
|
ThreadLocalImpl::ThreadLocalImpl() :
|
||||||
m_key(0)
|
m_key(0)
|
||||||
{
|
{
|
||||||
pthread_key_create(&m_key, NULL);
|
pthread_key_create(&m_key, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ namespace priv
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
ThreadImpl::ThreadImpl(Thread* owner)
|
ThreadImpl::ThreadImpl(Thread* owner)
|
||||||
{
|
{
|
||||||
m_thread = reinterpret_cast<HANDLE>(_beginthreadex(NULL, 0, &ThreadImpl::entryPoint, owner, 0, &m_threadId));
|
m_thread = reinterpret_cast<HANDLE>(_beginthreadex(nullptr, 0, &ThreadImpl::entryPoint, owner, 0, &m_threadId));
|
||||||
|
|
||||||
if (!m_thread)
|
if (!m_thread)
|
||||||
err() << "Failed to create thread" << std::endl;
|
err() << "Failed to create thread" << std::endl;
|
||||||
|
@ -61,7 +61,7 @@ void InputImpl::setVirtualKeyboardVisible(bool visible)
|
|||||||
JavaVMAttachArgs lJavaVMAttachArgs;
|
JavaVMAttachArgs lJavaVMAttachArgs;
|
||||||
lJavaVMAttachArgs.version = JNI_VERSION_1_6;
|
lJavaVMAttachArgs.version = JNI_VERSION_1_6;
|
||||||
lJavaVMAttachArgs.name = "NativeThread";
|
lJavaVMAttachArgs.name = "NativeThread";
|
||||||
lJavaVMAttachArgs.group = NULL;
|
lJavaVMAttachArgs.group = nullptr;
|
||||||
|
|
||||||
lResult=lJavaVM->AttachCurrentThread(&lJNIEnv, &lJavaVMAttachArgs);
|
lResult=lJavaVM->AttachCurrentThread(&lJNIEnv, &lJavaVMAttachArgs);
|
||||||
|
|
||||||
@ -136,7 +136,7 @@ void InputImpl::setVirtualKeyboardVisible(bool visible)
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
bool InputImpl::isMouseButtonPressed(Mouse::Button button)
|
bool InputImpl::isMouseButtonPressed(Mouse::Button button)
|
||||||
{
|
{
|
||||||
ALooper_pollAll(0, NULL, NULL, NULL);
|
ALooper_pollAll(0, nullptr, nullptr, nullptr);
|
||||||
|
|
||||||
priv::ActivityStates& states = priv::getActivity();
|
priv::ActivityStates& states = priv::getActivity();
|
||||||
Lock lock(states.mutex);
|
Lock lock(states.mutex);
|
||||||
@ -148,7 +148,7 @@ bool InputImpl::isMouseButtonPressed(Mouse::Button button)
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
Vector2i InputImpl::getMousePosition()
|
Vector2i InputImpl::getMousePosition()
|
||||||
{
|
{
|
||||||
ALooper_pollAll(0, NULL, NULL, NULL);
|
ALooper_pollAll(0, nullptr, nullptr, nullptr);
|
||||||
|
|
||||||
priv::ActivityStates& states = priv::getActivity();
|
priv::ActivityStates& states = priv::getActivity();
|
||||||
Lock lock(states.mutex);
|
Lock lock(states.mutex);
|
||||||
@ -181,7 +181,7 @@ void InputImpl::setMousePosition(const Vector2i& position, const WindowBase& rel
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
bool InputImpl::isTouchDown(unsigned int finger)
|
bool InputImpl::isTouchDown(unsigned int finger)
|
||||||
{
|
{
|
||||||
ALooper_pollAll(0, NULL, NULL, NULL);
|
ALooper_pollAll(0, nullptr, nullptr, nullptr);
|
||||||
|
|
||||||
priv::ActivityStates& states = priv::getActivity();
|
priv::ActivityStates& states = priv::getActivity();
|
||||||
Lock lock(states.mutex);
|
Lock lock(states.mutex);
|
||||||
@ -193,7 +193,7 @@ bool InputImpl::isTouchDown(unsigned int finger)
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
Vector2i InputImpl::getTouchPosition(unsigned int finger)
|
Vector2i InputImpl::getTouchPosition(unsigned int finger)
|
||||||
{
|
{
|
||||||
ALooper_pollAll(0, NULL, NULL, NULL);
|
ALooper_pollAll(0, nullptr, nullptr, nullptr);
|
||||||
|
|
||||||
priv::ActivityStates& states = priv::getActivity();
|
priv::ActivityStates& states = priv::getActivity();
|
||||||
Lock lock(states.mutex);
|
Lock lock(states.mutex);
|
||||||
|
@ -58,7 +58,7 @@ void SensorImpl::initialize()
|
|||||||
|
|
||||||
// Create the sensor events queue and attach it to the looper
|
// Create the sensor events queue and attach it to the looper
|
||||||
sensorEventQueue = ASensorManager_createEventQueue(sensorManager, looper,
|
sensorEventQueue = ASensorManager_createEventQueue(sensorManager, looper,
|
||||||
1, &processSensorEvents, NULL);
|
1, &processSensorEvents, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -113,7 +113,7 @@ void SensorImpl::close()
|
|||||||
Vector3f SensorImpl::update()
|
Vector3f SensorImpl::update()
|
||||||
{
|
{
|
||||||
// Update our sensor data list
|
// Update our sensor data list
|
||||||
ALooper_pollAll(0, NULL, NULL, NULL);
|
ALooper_pollAll(0, nullptr, nullptr, nullptr);
|
||||||
|
|
||||||
return sensorData[m_index];
|
return sensorData[m_index];
|
||||||
}
|
}
|
||||||
|
@ -105,7 +105,7 @@ private:
|
|||||||
///
|
///
|
||||||
/// \param type Type of the sensor
|
/// \param type Type of the sensor
|
||||||
///
|
///
|
||||||
/// \return The default Android sensor, NULL otherwise
|
/// \return The default Android sensor, a null pointer otherwise
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
static ASensor const* getDefaultSensor(Sensor::Type sensor);
|
static ASensor const* getDefaultSensor(Sensor::Type sensor);
|
||||||
|
@ -46,7 +46,7 @@ namespace sf
|
|||||||
{
|
{
|
||||||
namespace priv
|
namespace priv
|
||||||
{
|
{
|
||||||
WindowImplAndroid* WindowImplAndroid::singleInstance = NULL;
|
WindowImplAndroid* WindowImplAndroid::singleInstance = nullptr;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
WindowImplAndroid::WindowImplAndroid(WindowHandle handle)
|
WindowImplAndroid::WindowImplAndroid(WindowHandle handle)
|
||||||
@ -84,7 +84,7 @@ WindowImplAndroid::WindowImplAndroid(VideoMode mode, const String& title, unsign
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
WindowImplAndroid::~WindowImplAndroid()
|
WindowImplAndroid::~WindowImplAndroid()
|
||||||
{
|
{
|
||||||
WindowImplAndroid::singleInstance = NULL;
|
WindowImplAndroid::singleInstance = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -102,7 +102,7 @@ WindowHandle WindowImplAndroid::getSystemHandle() const
|
|||||||
void WindowImplAndroid::processEvents()
|
void WindowImplAndroid::processEvents()
|
||||||
{
|
{
|
||||||
// Process incoming OS events
|
// Process incoming OS events
|
||||||
ALooper_pollAll(0, NULL, NULL, NULL);
|
ALooper_pollAll(0, nullptr, nullptr, nullptr);
|
||||||
|
|
||||||
ActivityStates& states = getActivity();
|
ActivityStates& states = getActivity();
|
||||||
Lock lock(states.mutex);
|
Lock lock(states.mutex);
|
||||||
@ -217,7 +217,7 @@ bool WindowImplAndroid::hasFocus() const
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
void WindowImplAndroid::forwardEvent(const Event& event)
|
void WindowImplAndroid::forwardEvent(const Event& event)
|
||||||
{
|
{
|
||||||
if (WindowImplAndroid::singleInstance != NULL)
|
if (WindowImplAndroid::singleInstance != nullptr)
|
||||||
{
|
{
|
||||||
ActivityStates& states = getActivity();
|
ActivityStates& states = getActivity();
|
||||||
|
|
||||||
@ -245,7 +245,7 @@ int WindowImplAndroid::processEvent(int fd, int events, void* data)
|
|||||||
ActivityStates& states = getActivity();
|
ActivityStates& states = getActivity();
|
||||||
Lock lock(states.mutex);
|
Lock lock(states.mutex);
|
||||||
|
|
||||||
AInputEvent* _event = NULL;
|
AInputEvent* _event = nullptr;
|
||||||
|
|
||||||
if (AInputQueue_getEvent(states.inputQueue, &_event) >= 0)
|
if (AInputQueue_getEvent(states.inputQueue, &_event) >= 0)
|
||||||
{
|
{
|
||||||
@ -326,7 +326,7 @@ int WindowImplAndroid::processScrollEvent(AInputEvent* _event, ActivityStates& s
|
|||||||
JavaVMAttachArgs lJavaVMAttachArgs;
|
JavaVMAttachArgs lJavaVMAttachArgs;
|
||||||
lJavaVMAttachArgs.version = JNI_VERSION_1_6;
|
lJavaVMAttachArgs.version = JNI_VERSION_1_6;
|
||||||
lJavaVMAttachArgs.name = "NativeThread";
|
lJavaVMAttachArgs.name = "NativeThread";
|
||||||
lJavaVMAttachArgs.group = NULL;
|
lJavaVMAttachArgs.group = nullptr;
|
||||||
|
|
||||||
lResult=lJavaVM->AttachCurrentThread(&lJNIEnv, &lJavaVMAttachArgs);
|
lResult=lJavaVM->AttachCurrentThread(&lJNIEnv, &lJavaVMAttachArgs);
|
||||||
|
|
||||||
@ -691,7 +691,7 @@ int WindowImplAndroid::getUnicode(AInputEvent* event)
|
|||||||
JavaVMAttachArgs lJavaVMAttachArgs;
|
JavaVMAttachArgs lJavaVMAttachArgs;
|
||||||
lJavaVMAttachArgs.version = JNI_VERSION_1_6;
|
lJavaVMAttachArgs.version = JNI_VERSION_1_6;
|
||||||
lJavaVMAttachArgs.name = "NativeThread";
|
lJavaVMAttachArgs.name = "NativeThread";
|
||||||
lJavaVMAttachArgs.group = NULL;
|
lJavaVMAttachArgs.group = nullptr;
|
||||||
|
|
||||||
lResult=lJavaVM->AttachCurrentThread(&lJNIEnv, &lJavaVMAttachArgs);
|
lResult=lJavaVM->AttachCurrentThread(&lJNIEnv, &lJavaVMAttachArgs);
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ namespace
|
|||||||
namespace ContextImpl
|
namespace ContextImpl
|
||||||
{
|
{
|
||||||
// This per-thread variable holds the current context for each thread
|
// This per-thread variable holds the current context for each thread
|
||||||
sf::ThreadLocalPtr<sf::Context> currentContext(NULL);
|
sf::ThreadLocalPtr<sf::Context> currentContext(nullptr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ bool Context::setActive(bool active)
|
|||||||
bool result = m_context->setActive(active);
|
bool result = m_context->setActive(active);
|
||||||
|
|
||||||
if (result)
|
if (result)
|
||||||
ContextImpl::currentContext = (active ? this : NULL);
|
ContextImpl::currentContext = (active ? this : nullptr);
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -86,7 +86,7 @@ const Context* Context::getActiveContext()
|
|||||||
if (currentContext && currentContext->m_context == priv::GlContext::getActiveContext())
|
if (currentContext && currentContext->m_context == priv::GlContext::getActiveContext())
|
||||||
return currentContext;
|
return currentContext;
|
||||||
else
|
else
|
||||||
return NULL;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ namespace
|
|||||||
if (display == EGL_NO_DISPLAY)
|
if (display == EGL_NO_DISPLAY)
|
||||||
{
|
{
|
||||||
eglCheck(display = eglGetDisplay(EGL_DEFAULT_DISPLAY));
|
eglCheck(display = eglGetDisplay(EGL_DEFAULT_DISPLAY));
|
||||||
eglCheck(eglInitialize(display, NULL, NULL));
|
eglCheck(eglInitialize(display, nullptr, nullptr));
|
||||||
}
|
}
|
||||||
|
|
||||||
return display;
|
return display;
|
||||||
@ -105,7 +105,7 @@ EglContext::EglContext(EglContext* shared) :
|
|||||||
m_display (EGL_NO_DISPLAY),
|
m_display (EGL_NO_DISPLAY),
|
||||||
m_context (EGL_NO_CONTEXT),
|
m_context (EGL_NO_CONTEXT),
|
||||||
m_surface (EGL_NO_SURFACE),
|
m_surface (EGL_NO_SURFACE),
|
||||||
m_config (NULL)
|
m_config (nullptr)
|
||||||
{
|
{
|
||||||
EglContextImpl::ensureInit();
|
EglContextImpl::ensureInit();
|
||||||
|
|
||||||
@ -116,7 +116,7 @@ m_config (NULL)
|
|||||||
m_config = getBestConfig(m_display, VideoMode::getDesktopMode().bitsPerPixel, ContextSettings());
|
m_config = getBestConfig(m_display, VideoMode::getDesktopMode().bitsPerPixel, ContextSettings());
|
||||||
updateSettings();
|
updateSettings();
|
||||||
|
|
||||||
// Note: The EGL specs say that attrib_list can be NULL when passed to eglCreatePbufferSurface,
|
// Note: The EGL specs say that attrib_list can be a null pointer when passed to eglCreatePbufferSurface,
|
||||||
// but this is resulting in a segfault. Bug in Android?
|
// but this is resulting in a segfault. Bug in Android?
|
||||||
EGLint attrib_list[] = {
|
EGLint attrib_list[] = {
|
||||||
EGL_WIDTH, 1,
|
EGL_WIDTH, 1,
|
||||||
@ -136,7 +136,7 @@ EglContext::EglContext(EglContext* shared, const ContextSettings& settings, cons
|
|||||||
m_display (EGL_NO_DISPLAY),
|
m_display (EGL_NO_DISPLAY),
|
||||||
m_context (EGL_NO_CONTEXT),
|
m_context (EGL_NO_CONTEXT),
|
||||||
m_surface (EGL_NO_SURFACE),
|
m_surface (EGL_NO_SURFACE),
|
||||||
m_config (NULL)
|
m_config (nullptr)
|
||||||
{
|
{
|
||||||
EglContextImpl::ensureInit();
|
EglContextImpl::ensureInit();
|
||||||
|
|
||||||
@ -173,7 +173,7 @@ EglContext::EglContext(EglContext* /*shared*/, const ContextSettings& /*settings
|
|||||||
m_display (EGL_NO_DISPLAY),
|
m_display (EGL_NO_DISPLAY),
|
||||||
m_context (EGL_NO_CONTEXT),
|
m_context (EGL_NO_CONTEXT),
|
||||||
m_surface (EGL_NO_SURFACE),
|
m_surface (EGL_NO_SURFACE),
|
||||||
m_config (NULL)
|
m_config (nullptr)
|
||||||
{
|
{
|
||||||
EglContextImpl::ensureInit();
|
EglContextImpl::ensureInit();
|
||||||
|
|
||||||
@ -281,7 +281,7 @@ void EglContext::createContext(EglContext* shared)
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
void EglContext::createSurface(EGLNativeWindowType window)
|
void EglContext::createSurface(EGLNativeWindowType window)
|
||||||
{
|
{
|
||||||
eglCheck(m_surface = eglCreateWindowSurface(m_display, m_config, window, NULL));
|
eglCheck(m_surface = eglCreateWindowSurface(m_display, m_config, window, nullptr));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ public:
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Create a new context, not associated to a window
|
/// \brief Create a new context, not associated to a window
|
||||||
///
|
///
|
||||||
/// \param shared Context to share the new one with (can be NULL)
|
/// \param shared Context to share the new one with (can be a null pointer)
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
EglContext(EglContext* shared);
|
EglContext(EglContext* shared);
|
||||||
@ -126,7 +126,7 @@ public:
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Create the context
|
/// \brief Create the context
|
||||||
///
|
///
|
||||||
/// \param shared Context to share the new one with (can be NULL)
|
/// \param shared Context to share the new one with (can be a null pointer)
|
||||||
/// \param bitsPerPixel Pixel depth, in bits per pixel
|
/// \param bitsPerPixel Pixel depth, in bits per pixel
|
||||||
/// \param settings Creation parameters
|
/// \param settings Creation parameters
|
||||||
///
|
///
|
||||||
|
@ -162,7 +162,7 @@ namespace priv
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
void JoystickImpl::initialize()
|
void JoystickImpl::initialize()
|
||||||
{
|
{
|
||||||
hid_init(NULL);
|
hid_init(nullptr);
|
||||||
|
|
||||||
// Do an initial scan
|
// Do an initial scan
|
||||||
updatePluggedList();
|
updatePluggedList();
|
||||||
|
@ -164,10 +164,10 @@ namespace
|
|||||||
unsigned int resourceCount = 0;
|
unsigned int resourceCount = 0;
|
||||||
|
|
||||||
// This per-thread variable holds the current context for each thread
|
// This per-thread variable holds the current context for each thread
|
||||||
sf::ThreadLocalPtr<sf::priv::GlContext> currentContext(NULL);
|
sf::ThreadLocalPtr<sf::priv::GlContext> currentContext(nullptr);
|
||||||
|
|
||||||
// The hidden, inactive context that will be shared with all other contexts
|
// The hidden, inactive context that will be shared with all other contexts
|
||||||
ContextType* sharedContext = NULL;
|
ContextType* sharedContext = nullptr;
|
||||||
|
|
||||||
// Unique identifier, used for identifying contexts when managing unshareable OpenGL resources
|
// Unique identifier, used for identifying contexts when managing unshareable OpenGL resources
|
||||||
sf::Uint64 id = 1; // start at 1, zero is "no context"
|
sf::Uint64 id = 1; // start at 1, zero is "no context"
|
||||||
@ -229,7 +229,7 @@ namespace
|
|||||||
|
|
||||||
// This per-thread variable tracks if and how a transient
|
// This per-thread variable tracks if and how a transient
|
||||||
// context is currently being used on the current thread
|
// context is currently being used on the current thread
|
||||||
sf::ThreadLocalPtr<TransientContext> transientContext(NULL);
|
sf::ThreadLocalPtr<TransientContext> transientContext(nullptr);
|
||||||
|
|
||||||
// Supported OpenGL extensions
|
// Supported OpenGL extensions
|
||||||
std::vector<std::string> extensions;
|
std::vector<std::string> extensions;
|
||||||
@ -337,7 +337,7 @@ void GlContext::initResource()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Create the shared context
|
// Create the shared context
|
||||||
sharedContext = new ContextType(NULL);
|
sharedContext = new ContextType(nullptr);
|
||||||
sharedContext->initialize(ContextSettings());
|
sharedContext->initialize(ContextSettings());
|
||||||
|
|
||||||
// Load our extensions vector
|
// Load our extensions vector
|
||||||
@ -373,7 +373,7 @@ void GlContext::cleanupResource()
|
|||||||
|
|
||||||
// Destroy the shared context
|
// Destroy the shared context
|
||||||
delete sharedContext;
|
delete sharedContext;
|
||||||
sharedContext = NULL;
|
sharedContext = nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -425,7 +425,7 @@ void GlContext::releaseTransientContext()
|
|||||||
if (transientContext->referenceCount == 0)
|
if (transientContext->referenceCount == 0)
|
||||||
{
|
{
|
||||||
delete transientContext;
|
delete transientContext;
|
||||||
transientContext = NULL;
|
transientContext = nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -437,11 +437,11 @@ GlContext* GlContext::create()
|
|||||||
using GlContextImpl::sharedContext;
|
using GlContextImpl::sharedContext;
|
||||||
|
|
||||||
// Make sure that there's an active context (context creation may need extensions, and thus a valid context)
|
// Make sure that there's an active context (context creation may need extensions, and thus a valid context)
|
||||||
assert(sharedContext != NULL);
|
assert(sharedContext != nullptr);
|
||||||
|
|
||||||
Lock lock(mutex);
|
Lock lock(mutex);
|
||||||
|
|
||||||
GlContext* context = NULL;
|
GlContext* context = nullptr;
|
||||||
|
|
||||||
// We don't use acquireTransientContext here since we have
|
// We don't use acquireTransientContext here since we have
|
||||||
// to ensure we have exclusive access to the shared context
|
// to ensure we have exclusive access to the shared context
|
||||||
@ -470,7 +470,7 @@ GlContext* GlContext::create(const ContextSettings& settings, const WindowImpl*
|
|||||||
using GlContextImpl::loadExtensions;
|
using GlContextImpl::loadExtensions;
|
||||||
|
|
||||||
// Make sure that there's an active context (context creation may need extensions, and thus a valid context)
|
// Make sure that there's an active context (context creation may need extensions, and thus a valid context)
|
||||||
assert(sharedContext != NULL);
|
assert(sharedContext != nullptr);
|
||||||
|
|
||||||
Lock lock(mutex);
|
Lock lock(mutex);
|
||||||
|
|
||||||
@ -486,14 +486,14 @@ GlContext* GlContext::create(const ContextSettings& settings, const WindowImpl*
|
|||||||
ContextSettings sharedSettings(0, 0, 0, settings.majorVersion, settings.minorVersion, settings.attributeFlags);
|
ContextSettings sharedSettings(0, 0, 0, settings.majorVersion, settings.minorVersion, settings.attributeFlags);
|
||||||
|
|
||||||
delete sharedContext;
|
delete sharedContext;
|
||||||
sharedContext = new ContextType(NULL, sharedSettings, 1, 1);
|
sharedContext = new ContextType(nullptr, sharedSettings, 1, 1);
|
||||||
sharedContext->initialize(sharedSettings);
|
sharedContext->initialize(sharedSettings);
|
||||||
|
|
||||||
// Reload our extensions vector
|
// Reload our extensions vector
|
||||||
loadExtensions();
|
loadExtensions();
|
||||||
}
|
}
|
||||||
|
|
||||||
GlContext* context = NULL;
|
GlContext* context = nullptr;
|
||||||
|
|
||||||
// We don't use acquireTransientContext here since we have
|
// We don't use acquireTransientContext here since we have
|
||||||
// to ensure we have exclusive access to the shared context
|
// to ensure we have exclusive access to the shared context
|
||||||
@ -523,7 +523,7 @@ GlContext* GlContext::create(const ContextSettings& settings, unsigned int width
|
|||||||
using GlContextImpl::loadExtensions;
|
using GlContextImpl::loadExtensions;
|
||||||
|
|
||||||
// Make sure that there's an active context (context creation may need extensions, and thus a valid context)
|
// Make sure that there's an active context (context creation may need extensions, and thus a valid context)
|
||||||
assert(sharedContext != NULL);
|
assert(sharedContext != nullptr);
|
||||||
|
|
||||||
Lock lock(mutex);
|
Lock lock(mutex);
|
||||||
|
|
||||||
@ -539,14 +539,14 @@ GlContext* GlContext::create(const ContextSettings& settings, unsigned int width
|
|||||||
ContextSettings sharedSettings(0, 0, 0, settings.majorVersion, settings.minorVersion, settings.attributeFlags);
|
ContextSettings sharedSettings(0, 0, 0, settings.majorVersion, settings.minorVersion, settings.attributeFlags);
|
||||||
|
|
||||||
delete sharedContext;
|
delete sharedContext;
|
||||||
sharedContext = new ContextType(NULL, sharedSettings, 1, 1);
|
sharedContext = new ContextType(nullptr, sharedSettings, 1, 1);
|
||||||
sharedContext->initialize(sharedSettings);
|
sharedContext->initialize(sharedSettings);
|
||||||
|
|
||||||
// Reload our extensions vector
|
// Reload our extensions vector
|
||||||
loadExtensions();
|
loadExtensions();
|
||||||
}
|
}
|
||||||
|
|
||||||
GlContext* context = NULL;
|
GlContext* context = nullptr;
|
||||||
|
|
||||||
// We don't use acquireTransientContext here since we have
|
// We don't use acquireTransientContext here since we have
|
||||||
// to ensure we have exclusive access to the shared context
|
// to ensure we have exclusive access to the shared context
|
||||||
@ -610,7 +610,7 @@ GlContext::~GlContext()
|
|||||||
if (sharedContext)
|
if (sharedContext)
|
||||||
{
|
{
|
||||||
if (this == currentContext)
|
if (this == currentContext)
|
||||||
currentContext = NULL;
|
currentContext = nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -662,7 +662,7 @@ bool GlContext::setActive(bool active)
|
|||||||
// Deactivate the context
|
// Deactivate the context
|
||||||
if (makeCurrent(false))
|
if (makeCurrent(false))
|
||||||
{
|
{
|
||||||
currentContext = NULL;
|
currentContext = nullptr;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -728,7 +728,7 @@ void GlContext::cleanupUnsharedResources()
|
|||||||
|
|
||||||
// If this context is already active there is no need to save it
|
// If this context is already active there is no need to save it
|
||||||
if (contextToRestore == this)
|
if (contextToRestore == this)
|
||||||
contextToRestore = NULL;
|
contextToRestore = nullptr;
|
||||||
|
|
||||||
// Make this context active so resources can be freed
|
// Make this context active so resources can be freed
|
||||||
setActive(true);
|
setActive(true);
|
||||||
|
@ -160,7 +160,7 @@ public:
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Get the currently active context
|
/// \brief Get the currently active context
|
||||||
///
|
///
|
||||||
/// \return The currently active context or NULL if none is active
|
/// \return The currently active context or a null pointer if none is active
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
static const GlContext* getActiveContext();
|
static const GlContext* getActiveContext();
|
||||||
|
@ -163,7 +163,7 @@ namespace priv
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
void JoystickImpl::initialize()
|
void JoystickImpl::initialize()
|
||||||
{
|
{
|
||||||
hid_init(NULL);
|
hid_init(nullptr);
|
||||||
|
|
||||||
// Do an initial scan
|
// Do an initial scan
|
||||||
updatePluggedList();
|
updatePluggedList();
|
||||||
|
@ -178,7 +178,7 @@ private:
|
|||||||
///
|
///
|
||||||
/// \param page HID page like kHIDPage_GenericDesktop
|
/// \param page HID page like kHIDPage_GenericDesktop
|
||||||
/// \param usage HID usage page like kHIDUsage_GD_Keyboard or kHIDUsage_GD_Mouse
|
/// \param usage HID usage page like kHIDUsage_GD_Keyboard or kHIDUsage_GD_Mouse
|
||||||
/// \return a retained CFSetRef of IOHIDDeviceRef or NULL
|
/// \return a retained CFSetRef of IOHIDDeviceRef or a null pointer
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CFSetRef copyDevices(UInt32 page, UInt32 usage);
|
CFSetRef copyDevices(UInt32 page, UInt32 usage);
|
||||||
|
@ -150,7 +150,7 @@ void HIDInputManager::initializeKeyboard()
|
|||||||
|
|
||||||
// Get only keyboards
|
// Get only keyboards
|
||||||
CFSetRef keyboards = copyDevices(kHIDPage_GenericDesktop, kHIDUsage_GD_Keyboard);
|
CFSetRef keyboards = copyDevices(kHIDPage_GenericDesktop, kHIDUsage_GD_Keyboard);
|
||||||
if (keyboards == NULL)
|
if (keyboards == nullptr)
|
||||||
{
|
{
|
||||||
sf::err() << "No keyboard detected by the HID manager!" << std::endl;
|
sf::err() << "No keyboard detected by the HID manager!" << std::endl;
|
||||||
freeUp();
|
freeUp();
|
||||||
@ -181,9 +181,9 @@ void HIDInputManager::initializeKeyboard()
|
|||||||
void HIDInputManager::loadKeyboard(IOHIDDeviceRef keyboard)
|
void HIDInputManager::loadKeyboard(IOHIDDeviceRef keyboard)
|
||||||
{
|
{
|
||||||
CFArrayRef keys = IOHIDDeviceCopyMatchingElements(keyboard,
|
CFArrayRef keys = IOHIDDeviceCopyMatchingElements(keyboard,
|
||||||
NULL,
|
nullptr,
|
||||||
kIOHIDOptionsTypeNone);
|
kIOHIDOptionsTypeNone);
|
||||||
if (keys == NULL)
|
if (keys == nullptr)
|
||||||
{
|
{
|
||||||
sf::err() << "We got a keyboard without any keys (1)" << std::endl;
|
sf::err() << "We got a keyboard without any keys (1)" << std::endl;
|
||||||
return;
|
return;
|
||||||
@ -342,15 +342,15 @@ CFSetRef HIDInputManager::copyDevices(UInt32 page, UInt32 usage)
|
|||||||
mask = 0;
|
mask = 0;
|
||||||
|
|
||||||
CFSetRef devices = IOHIDManagerCopyDevices(m_manager);
|
CFSetRef devices = IOHIDManagerCopyDevices(m_manager);
|
||||||
if (devices == NULL)
|
if (devices == nullptr)
|
||||||
return NULL;
|
return nullptr;
|
||||||
|
|
||||||
// Is there at least one device?
|
// Is there at least one device?
|
||||||
CFIndex deviceCount = CFSetGetCount(devices);
|
CFIndex deviceCount = CFSetGetCount(devices);
|
||||||
if (deviceCount < 1)
|
if (deviceCount < 1)
|
||||||
{
|
{
|
||||||
CFRelease(devices);
|
CFRelease(devices);
|
||||||
return NULL;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
return devices;
|
return devices;
|
||||||
@ -358,7 +358,7 @@ CFSetRef HIDInputManager::copyDevices(UInt32 page, UInt32 usage)
|
|||||||
|
|
||||||
bool HIDInputManager::isPressed(IOHIDElements& elements)
|
bool HIDInputManager::isPressed(IOHIDElements& elements)
|
||||||
{
|
{
|
||||||
if (!m_isValid)
|
if (!m_isValid)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// state = true if at least one corresponding HID button is pressed
|
// state = true if at least one corresponding HID button is pressed
|
||||||
|
@ -85,7 +85,7 @@ m_joystickCount(0)
|
|||||||
maskArray[0] = mask0;
|
maskArray[0] = mask0;
|
||||||
maskArray[1] = mask1;
|
maskArray[1] = mask1;
|
||||||
|
|
||||||
CFArrayRef mask = CFArrayCreate(NULL, (const void**)maskArray, 2, NULL);
|
CFArrayRef mask = CFArrayCreate(nullptr, (const void**)maskArray, 2, nullptr);
|
||||||
|
|
||||||
IOHIDManagerSetDeviceMatchingMultiple(m_manager, mask);
|
IOHIDManagerSetDeviceMatchingMultiple(m_manager, mask);
|
||||||
CFRelease(mask);
|
CFRelease(mask);
|
||||||
@ -111,8 +111,8 @@ HIDJoystickManager::~HIDJoystickManager()
|
|||||||
CFRunLoopGetCurrent(),
|
CFRunLoopGetCurrent(),
|
||||||
RunLoopMode);
|
RunLoopMode);
|
||||||
|
|
||||||
IOHIDManagerRegisterDeviceMatchingCallback(m_manager, NULL, 0);
|
IOHIDManagerRegisterDeviceMatchingCallback(m_manager, nullptr, 0);
|
||||||
IOHIDManagerRegisterDeviceRemovalCallback(m_manager, NULL, 0);
|
IOHIDManagerRegisterDeviceRemovalCallback(m_manager, nullptr, 0);
|
||||||
|
|
||||||
IOHIDManagerClose(m_manager, kIOHIDOptionsTypeNone);
|
IOHIDManagerClose(m_manager, kIOHIDOptionsTypeNone);
|
||||||
}
|
}
|
||||||
|
@ -69,7 +69,7 @@ public:
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Copy the devices associated with this HID manager
|
/// \brief Copy the devices associated with this HID manager
|
||||||
///
|
///
|
||||||
/// \return a retained CFSetRef of IOHIDDeviceRef or NULL
|
/// \return a retained CFSetRef of IOHIDDeviceRef or a null pointer
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CFSetRef copyJoysticks();
|
CFSetRef copyJoysticks();
|
||||||
|
@ -188,7 +188,7 @@ void InputImpl::setMousePosition(const Vector2i& position)
|
|||||||
CGPoint pos = CGPointMake(position.x / scale, position.y / scale);
|
CGPoint pos = CGPointMake(position.x / scale, position.y / scale);
|
||||||
|
|
||||||
// Place the cursor.
|
// Place the cursor.
|
||||||
CGEventRef event = CGEventCreateMouseEvent(NULL,
|
CGEventRef event = CGEventCreateMouseEvent(nullptr,
|
||||||
kCGEventMouseMoved,
|
kCGEventMouseMoved,
|
||||||
pos,
|
pos,
|
||||||
/* we don't care about this: */ kCGMouseButtonLeft);
|
/* we don't care about this: */ kCGMouseButtonLeft);
|
||||||
|
@ -138,7 +138,7 @@ bool JoystickImpl::isConnected(unsigned int index)
|
|||||||
// Get all devices
|
// Get all devices
|
||||||
CFSetRef devices = HIDJoystickManager::getInstance().copyJoysticks();
|
CFSetRef devices = HIDJoystickManager::getInstance().copyJoysticks();
|
||||||
|
|
||||||
if (devices != NULL)
|
if (devices != nullptr)
|
||||||
{
|
{
|
||||||
CFIndex size = CFSetGetCount(devices);
|
CFIndex size = CFSetGetCount(devices);
|
||||||
if (size > 0)
|
if (size > 0)
|
||||||
@ -184,12 +184,12 @@ bool JoystickImpl::open(unsigned int index)
|
|||||||
{
|
{
|
||||||
AutoreleasePool pool;
|
AutoreleasePool pool;
|
||||||
m_index = index;
|
m_index = index;
|
||||||
m_hat = NULL;
|
m_hat = nullptr;
|
||||||
Location deviceLoc = m_locationIDs[index]; // The device we need to load
|
Location deviceLoc = m_locationIDs[index]; // The device we need to load
|
||||||
|
|
||||||
// Get all devices
|
// Get all devices
|
||||||
CFSetRef devices = HIDJoystickManager::getInstance().copyJoysticks();
|
CFSetRef devices = HIDJoystickManager::getInstance().copyJoysticks();
|
||||||
if (devices == NULL)
|
if (devices == nullptr)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Get a usable copy of the joysticks devices.
|
// Get a usable copy of the joysticks devices.
|
||||||
@ -217,9 +217,9 @@ bool JoystickImpl::open(unsigned int index)
|
|||||||
m_identification.productId = getDeviceUint(self, CFSTR(kIOHIDProductIDKey), m_index);
|
m_identification.productId = getDeviceUint(self, CFSTR(kIOHIDProductIDKey), m_index);
|
||||||
|
|
||||||
// Get a list of all elements attached to the device.
|
// Get a list of all elements attached to the device.
|
||||||
CFArrayRef elements = IOHIDDeviceCopyMatchingElements(self, NULL, kIOHIDOptionsTypeNone);
|
CFArrayRef elements = IOHIDDeviceCopyMatchingElements(self, nullptr, kIOHIDOptionsTypeNone);
|
||||||
|
|
||||||
if (elements == NULL)
|
if (elements == nullptr)
|
||||||
{
|
{
|
||||||
CFRelease(devices);
|
CFRelease(devices);
|
||||||
return false;
|
return false;
|
||||||
@ -311,7 +311,7 @@ bool JoystickImpl::open(unsigned int index)
|
|||||||
CFRetain(*it);
|
CFRetain(*it);
|
||||||
for (AxisMap::iterator it(m_axis.begin()); it != m_axis.end(); ++it)
|
for (AxisMap::iterator it(m_axis.begin()); it != m_axis.end(); ++it)
|
||||||
CFRetain(it->second);
|
CFRetain(it->second);
|
||||||
if (m_hat != NULL)
|
if (m_hat != nullptr)
|
||||||
CFRetain(m_hat);
|
CFRetain(m_hat);
|
||||||
|
|
||||||
// Note: we didn't retain element in the switch because we might have multiple
|
// Note: we didn't retain element in the switch because we might have multiple
|
||||||
@ -337,9 +337,9 @@ void JoystickImpl::close()
|
|||||||
CFRelease(it->second);
|
CFRelease(it->second);
|
||||||
m_axis.clear();
|
m_axis.clear();
|
||||||
|
|
||||||
if (m_hat != NULL)
|
if (m_hat != nullptr)
|
||||||
CFRelease(m_hat);
|
CFRelease(m_hat);
|
||||||
m_hat = NULL;
|
m_hat = nullptr;
|
||||||
|
|
||||||
// And we unregister this joystick
|
// And we unregister this joystick
|
||||||
m_locationIDs[m_index] = 0;
|
m_locationIDs[m_index] = 0;
|
||||||
@ -359,7 +359,7 @@ JoystickCaps JoystickImpl::getCapabilities() const
|
|||||||
for (AxisMap::const_iterator it(m_axis.begin()); it != m_axis.end(); ++it)
|
for (AxisMap::const_iterator it(m_axis.begin()); it != m_axis.end(); ++it)
|
||||||
caps.axes[it->first] = true;
|
caps.axes[it->first] = true;
|
||||||
|
|
||||||
if (m_hat != NULL)
|
if (m_hat != nullptr)
|
||||||
caps.axes[Joystick::PovX] = caps.axes[Joystick::PovY] = true;
|
caps.axes[Joystick::PovX] = caps.axes[Joystick::PovY] = true;
|
||||||
|
|
||||||
return caps;
|
return caps;
|
||||||
@ -390,7 +390,7 @@ JoystickState JoystickImpl::update()
|
|||||||
|
|
||||||
// Get all devices
|
// Get all devices
|
||||||
CFSetRef devices = HIDJoystickManager::getInstance().copyJoysticks();
|
CFSetRef devices = HIDJoystickManager::getInstance().copyJoysticks();
|
||||||
if (devices == NULL)
|
if (devices == nullptr)
|
||||||
return disconnectedState;
|
return disconnectedState;
|
||||||
|
|
||||||
// Get a usable copy of the joysticks devices.
|
// Get a usable copy of the joysticks devices.
|
||||||
@ -468,7 +468,7 @@ JoystickState JoystickImpl::update()
|
|||||||
// West / 6 Null / 8 East / 2
|
// West / 6 Null / 8 East / 2
|
||||||
// South-West / 5 South / 4 South-East / 3
|
// South-West / 5 South / 4 South-East / 3
|
||||||
//
|
//
|
||||||
if (m_hat != NULL)
|
if (m_hat != nullptr)
|
||||||
{
|
{
|
||||||
IOHIDValueRef value = 0;
|
IOHIDValueRef value = 0;
|
||||||
IOHIDDeviceGetValue(IOHIDElementGetDevice(m_hat), m_hat, &value);
|
IOHIDDeviceGetValue(IOHIDElementGetDevice(m_hat), m_hat, &value);
|
||||||
|
@ -68,7 +68,7 @@ public:
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Create a new context, not associated to a window
|
/// \brief Create a new context, not associated to a window
|
||||||
///
|
///
|
||||||
/// \param shared Context to share the new one with (can be NULL)
|
/// \param shared Context to share the new one with (can be a null pointer)
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
SFContext(SFContext* shared);
|
SFContext(SFContext* shared);
|
||||||
@ -149,7 +149,7 @@ private:
|
|||||||
/// \brief Create the context
|
/// \brief Create the context
|
||||||
/// \note Must only be called from Ctor.
|
/// \note Must only be called from Ctor.
|
||||||
///
|
///
|
||||||
/// \param shared Context to share the new one with (can be NULL)
|
/// \param shared Context to share the new one with (can be a null pointer)
|
||||||
/// \param bitsPerPixel bpp
|
/// \param bitsPerPixel bpp
|
||||||
/// \param settings Creation parameters
|
/// \param settings Creation parameters
|
||||||
///
|
///
|
||||||
|
@ -119,7 +119,7 @@ SFContext::~SFContext()
|
|||||||
GlFunctionPointer SFContext::getFunction(const char* name)
|
GlFunctionPointer SFContext::getFunction(const char* name)
|
||||||
{
|
{
|
||||||
AutoreleasePool pool;
|
AutoreleasePool pool;
|
||||||
static void* image = NULL;
|
static void* image = nullptr;
|
||||||
|
|
||||||
if (!image)
|
if (!image)
|
||||||
image = dlopen("/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL", RTLD_LAZY);
|
image = dlopen("/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL", RTLD_LAZY);
|
||||||
@ -272,7 +272,7 @@ void SFContext::createContext(SFContext* shared,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Use the shared context if one is given.
|
// Use the shared context if one is given.
|
||||||
NSOpenGLContext* sharedContext = shared != NULL ? shared->m_context : nil;
|
NSOpenGLContext* sharedContext = shared != nullptr ? shared->m_context : nil;
|
||||||
|
|
||||||
if (sharedContext != nil)
|
if (sharedContext != nil)
|
||||||
{
|
{
|
||||||
|
@ -42,9 +42,9 @@ std::vector<VideoMode> VideoModeImpl::getFullscreenModes()
|
|||||||
std::vector<VideoMode> modes;
|
std::vector<VideoMode> modes;
|
||||||
|
|
||||||
// Retrieve all modes available for main screen only.
|
// Retrieve all modes available for main screen only.
|
||||||
CFArrayRef cgmodes = CGDisplayCopyAllDisplayModes(CGMainDisplayID(), NULL);
|
CFArrayRef cgmodes = CGDisplayCopyAllDisplayModes(CGMainDisplayID(), nullptr);
|
||||||
|
|
||||||
if (cgmodes == NULL)
|
if (cgmodes == nullptr)
|
||||||
{
|
{
|
||||||
sf::err() << "Couldn't get VideoMode for main display." << std::endl;
|
sf::err() << "Couldn't get VideoMode for main display." << std::endl;
|
||||||
return modes;
|
return modes;
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
// The shared display and its reference counter
|
// The shared display and its reference counter
|
||||||
Display* sharedDisplay = NULL;
|
Display* sharedDisplay = nullptr;
|
||||||
unsigned int referenceCount = 0;
|
unsigned int referenceCount = 0;
|
||||||
sf::Mutex mutex;
|
sf::Mutex mutex;
|
||||||
|
|
||||||
@ -57,7 +57,7 @@ Display* OpenDisplay()
|
|||||||
|
|
||||||
if (referenceCount == 0)
|
if (referenceCount == 0)
|
||||||
{
|
{
|
||||||
sharedDisplay = XOpenDisplay(NULL);
|
sharedDisplay = XOpenDisplay(nullptr);
|
||||||
|
|
||||||
// Opening display failed: The best we can do at the moment is to output a meaningful error message
|
// Opening display failed: The best we can do at the moment is to output a meaningful error message
|
||||||
// and cause an abnormal program termination
|
// and cause an abnormal program termination
|
||||||
|
@ -108,9 +108,9 @@ namespace priv
|
|||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
GlxContext::GlxContext(GlxContext* shared) :
|
GlxContext::GlxContext(GlxContext* shared) :
|
||||||
m_display (NULL),
|
m_display (nullptr),
|
||||||
m_window (0),
|
m_window (0),
|
||||||
m_context (NULL),
|
m_context (nullptr),
|
||||||
m_pbuffer (0),
|
m_pbuffer (0),
|
||||||
m_ownsWindow(false)
|
m_ownsWindow(false)
|
||||||
{
|
{
|
||||||
@ -133,9 +133,9 @@ m_ownsWindow(false)
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
GlxContext::GlxContext(GlxContext* shared, const ContextSettings& settings, const WindowImpl* owner, unsigned int /*bitsPerPixel*/) :
|
GlxContext::GlxContext(GlxContext* shared, const ContextSettings& settings, const WindowImpl* owner, unsigned int /*bitsPerPixel*/) :
|
||||||
m_display (NULL),
|
m_display (nullptr),
|
||||||
m_window (0),
|
m_window (0),
|
||||||
m_context (NULL),
|
m_context (nullptr),
|
||||||
m_pbuffer (0),
|
m_pbuffer (0),
|
||||||
m_ownsWindow(false)
|
m_ownsWindow(false)
|
||||||
{
|
{
|
||||||
@ -158,9 +158,9 @@ m_ownsWindow(false)
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
GlxContext::GlxContext(GlxContext* shared, const ContextSettings& settings, unsigned int width, unsigned int height) :
|
GlxContext::GlxContext(GlxContext* shared, const ContextSettings& settings, unsigned int width, unsigned int height) :
|
||||||
m_display (NULL),
|
m_display (nullptr),
|
||||||
m_window (0),
|
m_window (0),
|
||||||
m_context (NULL),
|
m_context (nullptr),
|
||||||
m_pbuffer (0),
|
m_pbuffer (0),
|
||||||
m_ownsWindow(false)
|
m_ownsWindow(false)
|
||||||
{
|
{
|
||||||
@ -195,7 +195,7 @@ GlxContext::~GlxContext()
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (glXGetCurrentContext() == m_context)
|
if (glXGetCurrentContext() == m_context)
|
||||||
glXMakeCurrent(m_display, None, NULL);
|
glXMakeCurrent(m_display, None, nullptr);
|
||||||
glXDestroyContext(m_display, m_context);
|
glXDestroyContext(m_display, m_context);
|
||||||
|
|
||||||
#if defined(GLX_DEBUGGING)
|
#if defined(GLX_DEBUGGING)
|
||||||
@ -253,7 +253,7 @@ bool GlxContext::makeCurrent(bool current)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
result = glXMakeCurrent(m_display, None, NULL);
|
result = glXMakeCurrent(m_display, None, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(GLX_DEBUGGING)
|
#if defined(GLX_DEBUGGING)
|
||||||
@ -332,7 +332,7 @@ XVisualInfo GlxContext::selectBestVisual(::Display* display, unsigned int bitsPe
|
|||||||
|
|
||||||
// Retrieve all the visuals
|
// Retrieve all the visuals
|
||||||
int count;
|
int count;
|
||||||
XVisualInfo* visuals = XGetVisualInfo(display, 0, NULL, &count);
|
XVisualInfo* visuals = XGetVisualInfo(display, 0, nullptr, &count);
|
||||||
if (visuals)
|
if (visuals)
|
||||||
{
|
{
|
||||||
// Evaluate all the returned visuals, and pick the best one
|
// Evaluate all the returned visuals, and pick the best one
|
||||||
@ -492,13 +492,13 @@ void GlxContext::createSurface(GlxContext* shared, unsigned int width, unsigned
|
|||||||
if (hasCreatePbuffer)
|
if (hasCreatePbuffer)
|
||||||
{
|
{
|
||||||
// Get a GLXFBConfig that matches the visual
|
// Get a GLXFBConfig that matches the visual
|
||||||
GLXFBConfig* config = NULL;
|
GLXFBConfig* config = nullptr;
|
||||||
|
|
||||||
// We don't supply attributes to match against, since
|
// We don't supply attributes to match against, since
|
||||||
// the visual we are matching against was already
|
// the visual we are matching against was already
|
||||||
// deemed suitable in selectBestVisual()
|
// deemed suitable in selectBestVisual()
|
||||||
int nbConfigs = 0;
|
int nbConfigs = 0;
|
||||||
GLXFBConfig* configs = glXChooseFBConfig(m_display, DefaultScreen(m_display), NULL, &nbConfigs);
|
GLXFBConfig* configs = glXChooseFBConfig(m_display, DefaultScreen(m_display), nullptr, &nbConfigs);
|
||||||
|
|
||||||
for (int i = 0; configs && (i < nbConfigs); ++i)
|
for (int i = 0; configs && (i < nbConfigs); ++i)
|
||||||
{
|
{
|
||||||
@ -583,7 +583,7 @@ void GlxContext::createContext(GlxContext* shared)
|
|||||||
// Get a working copy of the context settings
|
// Get a working copy of the context settings
|
||||||
ContextSettings settings = m_settings;
|
ContextSettings settings = m_settings;
|
||||||
|
|
||||||
XVisualInfo* visualInfo = NULL;
|
XVisualInfo* visualInfo = nullptr;
|
||||||
|
|
||||||
if (m_pbuffer)
|
if (m_pbuffer)
|
||||||
{
|
{
|
||||||
@ -631,7 +631,7 @@ void GlxContext::createContext(GlxContext* shared)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Get the context to share display lists with
|
// Get the context to share display lists with
|
||||||
GLXContext toShare = shared ? shared->m_context : NULL;
|
GLXContext toShare = shared ? shared->m_context : nullptr;
|
||||||
|
|
||||||
// There are no GLX versions prior to 1.0
|
// There are no GLX versions prior to 1.0
|
||||||
int major = 0;
|
int major = 0;
|
||||||
@ -647,13 +647,13 @@ void GlxContext::createContext(GlxContext* shared)
|
|||||||
if (hasCreateContextArb)
|
if (hasCreateContextArb)
|
||||||
{
|
{
|
||||||
// Get a GLXFBConfig that matches the window's visual, for glXCreateContextAttribsARB
|
// Get a GLXFBConfig that matches the window's visual, for glXCreateContextAttribsARB
|
||||||
GLXFBConfig* config = NULL;
|
GLXFBConfig* config = nullptr;
|
||||||
|
|
||||||
// We don't supply attributes to match against, since
|
// We don't supply attributes to match against, since
|
||||||
// the visual we are matching against was already
|
// the visual we are matching against was already
|
||||||
// deemed suitable in selectBestVisual()
|
// deemed suitable in selectBestVisual()
|
||||||
int nbConfigs = 0;
|
int nbConfigs = 0;
|
||||||
GLXFBConfig* configs = glXChooseFBConfig(m_display, DefaultScreen(m_display), NULL, &nbConfigs);
|
GLXFBConfig* configs = glXChooseFBConfig(m_display, DefaultScreen(m_display), nullptr, &nbConfigs);
|
||||||
|
|
||||||
for (int i = 0; configs && (i < nbConfigs); ++i)
|
for (int i = 0; configs && (i < nbConfigs); ++i)
|
||||||
{
|
{
|
||||||
@ -718,7 +718,7 @@ void GlxContext::createContext(GlxContext* shared)
|
|||||||
|
|
||||||
if (toShare)
|
if (toShare)
|
||||||
{
|
{
|
||||||
if (!glXMakeCurrent(m_display, None, NULL))
|
if (!glXMakeCurrent(m_display, None, nullptr))
|
||||||
{
|
{
|
||||||
err() << "Failed to deactivate shared context before sharing" << std::endl;
|
err() << "Failed to deactivate shared context before sharing" << std::endl;
|
||||||
return;
|
return;
|
||||||
@ -773,7 +773,7 @@ void GlxContext::createContext(GlxContext* shared)
|
|||||||
|
|
||||||
if (toShare)
|
if (toShare)
|
||||||
{
|
{
|
||||||
if (!glXMakeCurrent(m_display, None, NULL))
|
if (!glXMakeCurrent(m_display, None, nullptr))
|
||||||
{
|
{
|
||||||
err() << "Failed to deactivate shared context before sharing" << std::endl;
|
err() << "Failed to deactivate shared context before sharing" << std::endl;
|
||||||
return;
|
return;
|
||||||
|
@ -48,7 +48,7 @@ public:
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Create a new default context
|
/// \brief Create a new default context
|
||||||
///
|
///
|
||||||
/// \param shared Context to share the new one with (can be NULL)
|
/// \param shared Context to share the new one with (can be a null pointer)
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
GlxContext(GlxContext* shared);
|
GlxContext(GlxContext* shared);
|
||||||
@ -151,7 +151,7 @@ private:
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Create the context's drawing surface
|
/// \brief Create the context's drawing surface
|
||||||
///
|
///
|
||||||
/// \param shared Context to share the new one with (can be NULL)
|
/// \param shared Context to share the new one with (can be a null pointer)
|
||||||
/// \param width Back buffer width, in pixels
|
/// \param width Back buffer width, in pixels
|
||||||
/// \param height Back buffer height, in pixels
|
/// \param height Back buffer height, in pixels
|
||||||
/// \param bitsPerPixel Pixel depth, in bits per pixel
|
/// \param bitsPerPixel Pixel depth, in bits per pixel
|
||||||
@ -170,7 +170,7 @@ private:
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Create the context
|
/// \brief Create the context
|
||||||
///
|
///
|
||||||
/// \param shared Context to share the new one with (can be NULL)
|
/// \param shared Context to share the new one with (can be a null pointer)
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
void createContext(GlxContext* shared);
|
void createContext(GlxContext* shared);
|
||||||
|
@ -112,7 +112,7 @@ namespace
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void updatePluggedList(udev_device* udevDevice = NULL)
|
void updatePluggedList(udev_device* udevDevice = nullptr)
|
||||||
{
|
{
|
||||||
if (udevDevice)
|
if (udevDevice)
|
||||||
{
|
{
|
||||||
@ -258,7 +258,7 @@ namespace
|
|||||||
FD_SET(monitorFd, &descriptorSet);
|
FD_SET(monitorFd, &descriptorSet);
|
||||||
timeval timeout = {0, 0};
|
timeval timeout = {0, 0};
|
||||||
|
|
||||||
return (select(monitorFd + 1, &descriptorSet, NULL, NULL, &timeout) > 0) &&
|
return (select(monitorFd + 1, &descriptorSet, nullptr, nullptr, &timeout) > 0) &&
|
||||||
FD_ISSET(monitorFd, &descriptorSet);
|
FD_ISSET(monitorFd, &descriptorSet);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -274,7 +274,7 @@ namespace
|
|||||||
udev_device* udevDeviceParent = udev_device_get_parent_with_subsystem_devtype(udevDevice, "usb", "usb_device");
|
udev_device* udevDeviceParent = udev_device_get_parent_with_subsystem_devtype(udevDevice, "usb", "usb_device");
|
||||||
|
|
||||||
if (!udevDeviceParent)
|
if (!udevDeviceParent)
|
||||||
return NULL;
|
return nullptr;
|
||||||
|
|
||||||
return udev_device_get_sysattr_value(udevDeviceParent, attributeName.c_str());
|
return udev_device_get_sysattr_value(udevDeviceParent, attributeName.c_str());
|
||||||
}
|
}
|
||||||
@ -289,7 +289,7 @@ namespace
|
|||||||
unsigned int value = 0;
|
unsigned int value = 0;
|
||||||
|
|
||||||
if (attribute)
|
if (attribute)
|
||||||
value = static_cast<unsigned int>(std::strtoul(attribute, NULL, 16));
|
value = static_cast<unsigned int>(std::strtoul(attribute, nullptr, 16));
|
||||||
|
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
@ -304,7 +304,7 @@ namespace
|
|||||||
unsigned int value = 0;
|
unsigned int value = 0;
|
||||||
|
|
||||||
if (attribute)
|
if (attribute)
|
||||||
value = static_cast<unsigned int>(std::strtoul(attribute, NULL, 16));
|
value = static_cast<unsigned int>(std::strtoul(attribute, nullptr, 16));
|
||||||
|
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
@ -466,7 +466,7 @@ void JoystickImpl::initialize()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int error = udev_monitor_filter_add_match_subsystem_devtype(udevMonitor, "input", NULL);
|
int error = udev_monitor_filter_add_match_subsystem_devtype(udevMonitor, "input", nullptr);
|
||||||
|
|
||||||
if (error < 0)
|
if (error < 0)
|
||||||
{
|
{
|
||||||
@ -528,7 +528,7 @@ bool JoystickImpl::isConnected(unsigned int index)
|
|||||||
udev_device* udevDevice = udev_monitor_receive_device(udevMonitor);
|
udev_device* udevDevice = udev_monitor_receive_device(udevMonitor);
|
||||||
|
|
||||||
// If we can get the specific device, we check that,
|
// If we can get the specific device, we check that,
|
||||||
// otherwise just do a full scan if udevDevice == NULL
|
// otherwise just do a full scan if udevDevice == nullptr
|
||||||
updatePluggedList(udevDevice);
|
updatePluggedList(udevDevice);
|
||||||
|
|
||||||
if (udevDevice)
|
if (udevDevice)
|
||||||
|
@ -41,7 +41,7 @@ namespace
|
|||||||
struct VulkanLibraryWrapper
|
struct VulkanLibraryWrapper
|
||||||
{
|
{
|
||||||
VulkanLibraryWrapper() :
|
VulkanLibraryWrapper() :
|
||||||
library(NULL)
|
library(nullptr)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -65,21 +65,21 @@ namespace
|
|||||||
if (!loadEntryPoint(vkGetInstanceProcAddr, "vkGetInstanceProcAddr"))
|
if (!loadEntryPoint(vkGetInstanceProcAddr, "vkGetInstanceProcAddr"))
|
||||||
{
|
{
|
||||||
dlclose(library);
|
dlclose(library);
|
||||||
library = NULL;
|
library = nullptr;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!loadEntryPoint(vkEnumerateInstanceLayerProperties, "vkEnumerateInstanceLayerProperties"))
|
if (!loadEntryPoint(vkEnumerateInstanceLayerProperties, "vkEnumerateInstanceLayerProperties"))
|
||||||
{
|
{
|
||||||
dlclose(library);
|
dlclose(library);
|
||||||
library = NULL;
|
library = nullptr;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!loadEntryPoint(vkEnumerateInstanceExtensionProperties, "vkEnumerateInstanceExtensionProperties"))
|
if (!loadEntryPoint(vkEnumerateInstanceExtensionProperties, "vkEnumerateInstanceExtensionProperties"))
|
||||||
{
|
{
|
||||||
dlclose(library);
|
dlclose(library);
|
||||||
library = NULL;
|
library = nullptr;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -91,7 +91,7 @@ namespace
|
|||||||
{
|
{
|
||||||
entryPoint = reinterpret_cast<T>(dlsym(library, name));
|
entryPoint = reinterpret_cast<T>(dlsym(library, name));
|
||||||
|
|
||||||
return (entryPoint != NULL);
|
return (entryPoint != nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void* library;
|
void* library;
|
||||||
@ -133,7 +133,7 @@ bool VulkanImplX11::isAvailable(bool requireGraphics)
|
|||||||
|
|
||||||
uint32_t extensionCount = 0;
|
uint32_t extensionCount = 0;
|
||||||
|
|
||||||
wrapper.vkEnumerateInstanceExtensionProperties(0, &extensionCount, NULL);
|
wrapper.vkEnumerateInstanceExtensionProperties(0, &extensionCount, nullptr);
|
||||||
|
|
||||||
extensionProperties.resize(extensionCount);
|
extensionProperties.resize(extensionCount);
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ namespace
|
|||||||
// A nested named namespace is used here to allow unity builds of SFML.
|
// A nested named namespace is used here to allow unity builds of SFML.
|
||||||
namespace WindowsImplX11Impl
|
namespace WindowsImplX11Impl
|
||||||
{
|
{
|
||||||
sf::priv::WindowImplX11* fullscreenWindow = NULL;
|
sf::priv::WindowImplX11* fullscreenWindow = nullptr;
|
||||||
std::vector<sf::priv::WindowImplX11*> allWindows;
|
std::vector<sf::priv::WindowImplX11*> allWindows;
|
||||||
sf::Mutex allWindowsMutex;
|
sf::Mutex allWindowsMutex;
|
||||||
sf::String windowManagerName;
|
sf::String windowManagerName;
|
||||||
@ -292,13 +292,13 @@ namespace
|
|||||||
::Window getParentWindow(::Display* disp, ::Window win)
|
::Window getParentWindow(::Display* disp, ::Window win)
|
||||||
{
|
{
|
||||||
::Window root, parent;
|
::Window root, parent;
|
||||||
::Window* children = NULL;
|
::Window* children = nullptr;
|
||||||
unsigned int numChildren;
|
unsigned int numChildren;
|
||||||
|
|
||||||
XQueryTree(disp, win, &root, &parent, &children, &numChildren);
|
XQueryTree(disp, win, &root, &parent, &children, &numChildren);
|
||||||
|
|
||||||
// Children information is not used, so must be freed.
|
// Children information is not used, so must be freed.
|
||||||
if (children != NULL)
|
if (children != nullptr)
|
||||||
XFree(children);
|
XFree(children);
|
||||||
|
|
||||||
return parent;
|
return parent;
|
||||||
@ -321,7 +321,7 @@ namespace
|
|||||||
int actualFormat;
|
int actualFormat;
|
||||||
unsigned long numItems;
|
unsigned long numItems;
|
||||||
unsigned long numBytesLeft;
|
unsigned long numBytesLeft;
|
||||||
unsigned char* data = NULL;
|
unsigned char* data = nullptr;
|
||||||
|
|
||||||
int result = XGetWindowProperty(disp,
|
int result = XGetWindowProperty(disp,
|
||||||
win,
|
win,
|
||||||
@ -338,7 +338,7 @@ namespace
|
|||||||
|
|
||||||
if ((result == Success) && (actualType == XA_CARDINAL) &&
|
if ((result == Success) && (actualType == XA_CARDINAL) &&
|
||||||
(actualFormat == 32) && (numItems == 4) && (numBytesLeft == 0) &&
|
(actualFormat == 32) && (numItems == 4) && (numBytesLeft == 0) &&
|
||||||
(data != NULL))
|
(data != nullptr))
|
||||||
{
|
{
|
||||||
gotFrameExtents = true;
|
gotFrameExtents = true;
|
||||||
|
|
||||||
@ -352,7 +352,7 @@ namespace
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Always free data.
|
// Always free data.
|
||||||
if (data != NULL)
|
if (data != nullptr)
|
||||||
XFree(data);
|
XFree(data);
|
||||||
|
|
||||||
return gotFrameExtents;
|
return gotFrameExtents;
|
||||||
@ -497,8 +497,8 @@ namespace priv
|
|||||||
WindowImplX11::WindowImplX11(WindowHandle handle) :
|
WindowImplX11::WindowImplX11(WindowHandle handle) :
|
||||||
m_window (0),
|
m_window (0),
|
||||||
m_screen (0),
|
m_screen (0),
|
||||||
m_inputMethod (NULL),
|
m_inputMethod (nullptr),
|
||||||
m_inputContext (NULL),
|
m_inputContext (nullptr),
|
||||||
m_isExternal (true),
|
m_isExternal (true),
|
||||||
m_oldVideoMode (0),
|
m_oldVideoMode (0),
|
||||||
m_oldRRCrtc (0),
|
m_oldRRCrtc (0),
|
||||||
@ -548,8 +548,8 @@ m_lastInputTime (0)
|
|||||||
WindowImplX11::WindowImplX11(VideoMode mode, const String& title, unsigned long style, const ContextSettings& settings) :
|
WindowImplX11::WindowImplX11(VideoMode mode, const String& title, unsigned long style, const ContextSettings& settings) :
|
||||||
m_window (0),
|
m_window (0),
|
||||||
m_screen (0),
|
m_screen (0),
|
||||||
m_inputMethod (NULL),
|
m_inputMethod (nullptr),
|
||||||
m_inputContext (NULL),
|
m_inputContext (nullptr),
|
||||||
m_isExternal (false),
|
m_isExternal (false),
|
||||||
m_oldVideoMode (0),
|
m_oldVideoMode (0),
|
||||||
m_oldRRCrtc (0),
|
m_oldRRCrtc (0),
|
||||||
@ -590,7 +590,7 @@ m_lastInputTime (0)
|
|||||||
unsigned int width = mode.width;
|
unsigned int width = mode.width;
|
||||||
unsigned int height = mode.height;
|
unsigned int height = mode.height;
|
||||||
|
|
||||||
Visual* visual = NULL;
|
Visual* visual = nullptr;
|
||||||
int depth = 0;
|
int depth = 0;
|
||||||
|
|
||||||
// Check if the user chose to not create an OpenGL context (settings.attributeFlags will be 0xFFFFFFFF)
|
// Check if the user chose to not create an OpenGL context (settings.attributeFlags will be 0xFFFFFFFF)
|
||||||
@ -978,21 +978,21 @@ void WindowImplX11::setTitle(const String& title)
|
|||||||
m_window,
|
m_window,
|
||||||
title.toAnsiString().c_str(),
|
title.toAnsiString().c_str(),
|
||||||
title.toAnsiString().c_str(),
|
title.toAnsiString().c_str(),
|
||||||
NULL,
|
nullptr,
|
||||||
0,
|
0,
|
||||||
NULL,
|
nullptr,
|
||||||
NULL,
|
nullptr,
|
||||||
NULL);
|
nullptr);
|
||||||
#else
|
#else
|
||||||
XmbSetWMProperties(m_display,
|
XmbSetWMProperties(m_display,
|
||||||
m_window,
|
m_window,
|
||||||
title.toAnsiString().c_str(),
|
title.toAnsiString().c_str(),
|
||||||
title.toAnsiString().c_str(),
|
title.toAnsiString().c_str(),
|
||||||
NULL,
|
nullptr,
|
||||||
0,
|
0,
|
||||||
NULL,
|
nullptr,
|
||||||
NULL,
|
nullptr,
|
||||||
NULL);
|
nullptr);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1232,7 +1232,7 @@ void WindowImplX11::requestFocus()
|
|||||||
// Otherwise: display urgency hint (flashing application logo)
|
// Otherwise: display urgency hint (flashing application logo)
|
||||||
// Ensure WM hints exist, allocate if necessary
|
// Ensure WM hints exist, allocate if necessary
|
||||||
XWMHints* hints = XGetWMHints(m_display, m_window);
|
XWMHints* hints = XGetWMHints(m_display, m_window);
|
||||||
if (hints == NULL)
|
if (hints == nullptr)
|
||||||
hints = XAllocWMHints();
|
hints = XAllocWMHints();
|
||||||
|
|
||||||
// Add urgency (notification) flag to hints
|
// Add urgency (notification) flag to hints
|
||||||
@ -1470,7 +1470,7 @@ void WindowImplX11::resetVideoMode()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Reset the fullscreen window
|
// Reset the fullscreen window
|
||||||
fullscreenWindow = NULL;
|
fullscreenWindow = nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1607,7 +1607,7 @@ void WindowImplX11::initialize()
|
|||||||
using namespace WindowsImplX11Impl;
|
using namespace WindowsImplX11Impl;
|
||||||
|
|
||||||
// Create the input context
|
// Create the input context
|
||||||
m_inputMethod = XOpenIM(m_display, NULL, NULL, NULL);
|
m_inputMethod = XOpenIM(m_display, nullptr, nullptr, nullptr);
|
||||||
|
|
||||||
if (m_inputMethod)
|
if (m_inputMethod)
|
||||||
{
|
{
|
||||||
@ -1618,11 +1618,11 @@ void WindowImplX11::initialize()
|
|||||||
m_window,
|
m_window,
|
||||||
XNInputStyle,
|
XNInputStyle,
|
||||||
XIMPreeditNothing | XIMStatusNothing,
|
XIMPreeditNothing | XIMStatusNothing,
|
||||||
NULL);
|
nullptr);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_inputContext = NULL;
|
m_inputContext = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!m_inputContext)
|
if (!m_inputContext)
|
||||||
@ -1690,7 +1690,7 @@ void WindowImplX11::createHiddenCursor()
|
|||||||
{
|
{
|
||||||
// Create the cursor's pixmap (1x1 pixels)
|
// Create the cursor's pixmap (1x1 pixels)
|
||||||
Pixmap cursorPixmap = XCreatePixmap(m_display, m_window, 1, 1, 1);
|
Pixmap cursorPixmap = XCreatePixmap(m_display, m_window, 1, 1, 1);
|
||||||
GC graphicsContext = XCreateGC(m_display, cursorPixmap, 0, NULL);
|
GC graphicsContext = XCreateGC(m_display, cursorPixmap, 0, nullptr);
|
||||||
XDrawPoint(m_display, cursorPixmap, graphicsContext, 0, 0);
|
XDrawPoint(m_display, cursorPixmap, graphicsContext, 0, 0);
|
||||||
XFreeGC(m_display, graphicsContext);
|
XFreeGC(m_display, graphicsContext);
|
||||||
|
|
||||||
@ -1796,7 +1796,7 @@ bool WindowImplX11::processEvent(XEvent& windowEvent)
|
|||||||
|
|
||||||
// If the window has been previously marked urgent (notification) as a result of a focus request, undo that
|
// If the window has been previously marked urgent (notification) as a result of a focus request, undo that
|
||||||
XWMHints* hints = XGetWMHints(m_display, m_window);
|
XWMHints* hints = XGetWMHints(m_display, m_window);
|
||||||
if (hints != NULL)
|
if (hints != nullptr)
|
||||||
{
|
{
|
||||||
// Remove urgency (notification) flag from hints
|
// Remove urgency (notification) flag from hints
|
||||||
hints->flags &= ~XUrgencyHint;
|
hints->flags &= ~XUrgencyHint;
|
||||||
@ -1911,7 +1911,7 @@ bool WindowImplX11::processEvent(XEvent& windowEvent)
|
|||||||
&windowEvent.xkey,
|
&windowEvent.xkey,
|
||||||
reinterpret_cast<char*>(keyBuffer),
|
reinterpret_cast<char*>(keyBuffer),
|
||||||
sizeof(keyBuffer),
|
sizeof(keyBuffer),
|
||||||
NULL,
|
nullptr,
|
||||||
&status
|
&status
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -1933,7 +1933,7 @@ bool WindowImplX11::processEvent(XEvent& windowEvent)
|
|||||||
{
|
{
|
||||||
static XComposeStatus status;
|
static XComposeStatus status;
|
||||||
char keyBuffer[16];
|
char keyBuffer[16];
|
||||||
if (XLookupString(&windowEvent.xkey, keyBuffer, sizeof(keyBuffer), NULL, &status))
|
if (XLookupString(&windowEvent.xkey, keyBuffer, sizeof(keyBuffer), nullptr, &status))
|
||||||
{
|
{
|
||||||
Event textEvent;
|
Event textEvent;
|
||||||
textEvent.type = Event::TextEntered;
|
textEvent.type = Event::TextEntered;
|
||||||
|
@ -66,7 +66,7 @@ VulkanFunctionPointer Vulkan::getFunction(const char* name)
|
|||||||
{
|
{
|
||||||
#if defined(SFML_VULKAN_IMPLEMENTATION_NOT_AVAILABLE)
|
#if defined(SFML_VULKAN_IMPLEMENTATION_NOT_AVAILABLE)
|
||||||
|
|
||||||
return NULL;
|
return nullptr;
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ String ClipboardImpl::getString()
|
|||||||
return text;
|
return text;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!OpenClipboard(NULL))
|
if (!OpenClipboard(nullptr))
|
||||||
{
|
{
|
||||||
std::cerr << "Failed to open the Win32 clipboard." << std::endl;
|
std::cerr << "Failed to open the Win32 clipboard." << std::endl;
|
||||||
return text;
|
return text;
|
||||||
@ -72,7 +72,7 @@ String ClipboardImpl::getString()
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
void ClipboardImpl::setString(const String& text)
|
void ClipboardImpl::setString(const String& text)
|
||||||
{
|
{
|
||||||
if (!OpenClipboard(NULL))
|
if (!OpenClipboard(nullptr))
|
||||||
{
|
{
|
||||||
std::cerr << "Failed to open the Win32 clipboard." << std::endl;
|
std::cerr << "Failed to open the Win32 clipboard." << std::endl;
|
||||||
return;
|
return;
|
||||||
|
@ -36,7 +36,7 @@ namespace priv
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CursorImpl::CursorImpl() :
|
CursorImpl::CursorImpl() :
|
||||||
m_cursor(NULL),
|
m_cursor(nullptr),
|
||||||
m_systemCursor(false)
|
m_systemCursor(false)
|
||||||
{
|
{
|
||||||
// That's it.
|
// That's it.
|
||||||
@ -70,18 +70,18 @@ bool CursorImpl::loadFromPixels(const Uint8* pixels, Vector2u size, Vector2u hot
|
|||||||
bitmapHeader.bV5BlueMask = 0x000000ff;
|
bitmapHeader.bV5BlueMask = 0x000000ff;
|
||||||
bitmapHeader.bV5AlphaMask = 0xff000000;
|
bitmapHeader.bV5AlphaMask = 0xff000000;
|
||||||
|
|
||||||
Uint32* bitmapData = NULL;
|
Uint32* bitmapData = nullptr;
|
||||||
|
|
||||||
HDC screenDC = GetDC(NULL);
|
HDC screenDC = GetDC(nullptr);
|
||||||
HBITMAP color = CreateDIBSection(
|
HBITMAP color = CreateDIBSection(
|
||||||
screenDC,
|
screenDC,
|
||||||
reinterpret_cast<const BITMAPINFO*>(&bitmapHeader),
|
reinterpret_cast<const BITMAPINFO*>(&bitmapHeader),
|
||||||
DIB_RGB_COLORS,
|
DIB_RGB_COLORS,
|
||||||
reinterpret_cast<void**>(&bitmapData),
|
reinterpret_cast<void**>(&bitmapData),
|
||||||
NULL,
|
nullptr,
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
ReleaseDC(NULL, screenDC);
|
ReleaseDC(nullptr, screenDC);
|
||||||
|
|
||||||
if (!color)
|
if (!color)
|
||||||
{
|
{
|
||||||
@ -98,7 +98,7 @@ bool CursorImpl::loadFromPixels(const Uint8* pixels, Vector2u size, Vector2u hot
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Create a dummy mask bitmap (it won't be used)
|
// Create a dummy mask bitmap (it won't be used)
|
||||||
HBITMAP mask = CreateBitmap(static_cast<int>(size.x), static_cast<int>(size.y), 1, 1, NULL);
|
HBITMAP mask = CreateBitmap(static_cast<int>(size.x), static_cast<int>(size.y), 1, 1, nullptr);
|
||||||
|
|
||||||
if (!mask)
|
if (!mask)
|
||||||
{
|
{
|
||||||
@ -142,7 +142,7 @@ bool CursorImpl::loadFromSystem(Cursor::Type type)
|
|||||||
{
|
{
|
||||||
release();
|
release();
|
||||||
|
|
||||||
LPCTSTR shape = NULL;
|
LPCTSTR shape = nullptr;
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case Cursor::Arrow: shape = IDC_ARROW; break;
|
case Cursor::Arrow: shape = IDC_ARROW; break;
|
||||||
@ -169,7 +169,7 @@ bool CursorImpl::loadFromSystem(Cursor::Type type)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Get the shared system cursor and make sure not to destroy it
|
// Get the shared system cursor and make sure not to destroy it
|
||||||
m_cursor = LoadCursor(NULL, shape);
|
m_cursor = LoadCursor(nullptr, shape);
|
||||||
m_systemCursor = true;
|
m_systemCursor = true;
|
||||||
|
|
||||||
if (m_cursor)
|
if (m_cursor)
|
||||||
@ -189,7 +189,7 @@ void CursorImpl::release()
|
|||||||
{
|
{
|
||||||
if (m_cursor && !m_systemCursor) {
|
if (m_cursor && !m_systemCursor) {
|
||||||
DestroyCursor(m_cursor);
|
DestroyCursor(m_cursor);
|
||||||
m_cursor = NULL;
|
m_cursor = nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,8 +68,8 @@ namespace
|
|||||||
const GUID GUID_RyAxis = {0xa36d02f5, 0xc9f3, 0x11cf, {0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00}};
|
const GUID GUID_RyAxis = {0xa36d02f5, 0xc9f3, 0x11cf, {0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00}};
|
||||||
}
|
}
|
||||||
|
|
||||||
HMODULE dinput8dll = NULL;
|
HMODULE dinput8dll = nullptr;
|
||||||
IDirectInput8W* directInput = NULL;
|
IDirectInput8W* directInput = nullptr;
|
||||||
|
|
||||||
struct JoystickRecord
|
struct JoystickRecord
|
||||||
{
|
{
|
||||||
@ -117,7 +117,7 @@ namespace
|
|||||||
{
|
{
|
||||||
PTCHAR buffer;
|
PTCHAR buffer;
|
||||||
|
|
||||||
if (FormatMessage(FORMAT_MESSAGE_MAX_WIDTH_MASK | FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, error, 0, reinterpret_cast<PTCHAR>(&buffer), 0, NULL) == 0)
|
if (FormatMessage(FORMAT_MESSAGE_MAX_WIDTH_MASK | FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, nullptr, error, 0, reinterpret_cast<PTCHAR>(&buffer), 0, nullptr) == 0)
|
||||||
return "Unknown error.";
|
return "Unknown error.";
|
||||||
|
|
||||||
sf::String message = buffer;
|
sf::String message = buffer;
|
||||||
@ -167,7 +167,7 @@ namespace
|
|||||||
TCHAR keyData[256];
|
TCHAR keyData[256];
|
||||||
DWORD keyDataSize = sizeof(keyData);
|
DWORD keyDataSize = sizeof(keyData);
|
||||||
|
|
||||||
result = RegQueryValueEx(currentKey, subkey.c_str(), NULL, NULL, reinterpret_cast<LPBYTE>(keyData), &keyDataSize);
|
result = RegQueryValueEx(currentKey, subkey.c_str(), nullptr, nullptr, reinterpret_cast<LPBYTE>(keyData), &keyDataSize);
|
||||||
RegCloseKey(currentKey);
|
RegCloseKey(currentKey);
|
||||||
|
|
||||||
if (result != ERROR_SUCCESS)
|
if (result != ERROR_SUCCESS)
|
||||||
@ -190,7 +190,7 @@ namespace
|
|||||||
|
|
||||||
keyDataSize = sizeof(keyData);
|
keyDataSize = sizeof(keyData);
|
||||||
|
|
||||||
result = RegQueryValueEx(currentKey, REGSTR_VAL_JOYOEMNAME, NULL, NULL, reinterpret_cast<LPBYTE>(keyData), &keyDataSize);
|
result = RegQueryValueEx(currentKey, REGSTR_VAL_JOYOEMNAME, nullptr, nullptr, reinterpret_cast<LPBYTE>(keyData), &keyDataSize);
|
||||||
RegCloseKey(currentKey);
|
RegCloseKey(currentKey);
|
||||||
|
|
||||||
if (result != ERROR_SUCCESS)
|
if (result != ERROR_SUCCESS)
|
||||||
@ -409,14 +409,14 @@ void JoystickImpl::initializeDInput()
|
|||||||
if (directInput8Create)
|
if (directInput8Create)
|
||||||
{
|
{
|
||||||
// Try to acquire a DirectInput 8.x interface
|
// Try to acquire a DirectInput 8.x interface
|
||||||
HRESULT result = directInput8Create(GetModuleHandleW(NULL), 0x0800, guids::IID_IDirectInput8W, reinterpret_cast<void**>(&directInput), NULL);
|
HRESULT result = directInput8Create(GetModuleHandleW(nullptr), 0x0800, guids::IID_IDirectInput8W, reinterpret_cast<void**>(&directInput), nullptr);
|
||||||
|
|
||||||
if (FAILED(result))
|
if (FAILED(result))
|
||||||
{
|
{
|
||||||
// De-initialize everything
|
// De-initialize everything
|
||||||
directInput = NULL;
|
directInput = nullptr;
|
||||||
FreeLibrary(dinput8dll);
|
FreeLibrary(dinput8dll);
|
||||||
dinput8dll = NULL;
|
dinput8dll = nullptr;
|
||||||
|
|
||||||
err() << "Failed to initialize DirectInput: " << result << std::endl;
|
err() << "Failed to initialize DirectInput: " << result << std::endl;
|
||||||
}
|
}
|
||||||
@ -425,7 +425,7 @@ void JoystickImpl::initializeDInput()
|
|||||||
{
|
{
|
||||||
// Unload dinput8.dll
|
// Unload dinput8.dll
|
||||||
FreeLibrary(dinput8dll);
|
FreeLibrary(dinput8dll);
|
||||||
dinput8dll = NULL;
|
dinput8dll = nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -438,7 +438,7 @@ void JoystickImpl::cleanupDInput()
|
|||||||
if (directInput)
|
if (directInput)
|
||||||
{
|
{
|
||||||
directInput->Release();
|
directInput->Release();
|
||||||
directInput = NULL;
|
directInput = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Unload dinput8.dll
|
// Unload dinput8.dll
|
||||||
@ -469,7 +469,7 @@ void JoystickImpl::updateConnectionsDInput()
|
|||||||
joystickList[i].plugged = false;
|
joystickList[i].plugged = false;
|
||||||
|
|
||||||
// Enumerate devices
|
// Enumerate devices
|
||||||
HRESULT result = directInput->EnumDevices(DI8DEVCLASS_GAMECTRL, &JoystickImpl::deviceEnumerationCallback, NULL, DIEDFL_ATTACHEDONLY);
|
HRESULT result = directInput->EnumDevices(DI8DEVCLASS_GAMECTRL, &JoystickImpl::deviceEnumerationCallback, nullptr, DIEDFL_ATTACHEDONLY);
|
||||||
|
|
||||||
// Remove devices that were not connected during the enumeration
|
// Remove devices that were not connected during the enumeration
|
||||||
for (std::vector<JoystickRecord>::iterator i = joystickList.begin(); i != joystickList.end();)
|
for (std::vector<JoystickRecord>::iterator i = joystickList.begin(); i != joystickList.end();)
|
||||||
@ -509,7 +509,7 @@ void JoystickImpl::updateConnectionsDInput()
|
|||||||
bool JoystickImpl::openDInput(unsigned int index)
|
bool JoystickImpl::openDInput(unsigned int index)
|
||||||
{
|
{
|
||||||
// Initialize DirectInput members
|
// Initialize DirectInput members
|
||||||
m_device = NULL;
|
m_device = nullptr;
|
||||||
|
|
||||||
for (int i = 0; i < Joystick::AxisCount; ++i)
|
for (int i = 0; i < Joystick::AxisCount; ++i)
|
||||||
m_axes[i] = -1;
|
m_axes[i] = -1;
|
||||||
@ -528,7 +528,7 @@ bool JoystickImpl::openDInput(unsigned int index)
|
|||||||
if (it->index == index)
|
if (it->index == index)
|
||||||
{
|
{
|
||||||
// Create device
|
// Create device
|
||||||
HRESULT result = directInput->CreateDevice(it->guid, &m_device, NULL);
|
HRESULT result = directInput->CreateDevice(it->guid, &m_device, nullptr);
|
||||||
|
|
||||||
if (FAILED(result))
|
if (FAILED(result))
|
||||||
{
|
{
|
||||||
@ -559,7 +559,7 @@ bool JoystickImpl::openDInput(unsigned int index)
|
|||||||
{
|
{
|
||||||
// Device is blacklisted
|
// Device is blacklisted
|
||||||
m_device->Release();
|
m_device->Release();
|
||||||
m_device = NULL;
|
m_device = nullptr;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -650,7 +650,7 @@ bool JoystickImpl::openDInput(unsigned int index)
|
|||||||
|
|
||||||
for (int i = 0; i < sf::Joystick::ButtonCount; ++i)
|
for (int i = 0; i < sf::Joystick::ButtonCount; ++i)
|
||||||
{
|
{
|
||||||
data[8 * 4 + 4 + i].pguid = NULL;
|
data[8 * 4 + 4 + i].pguid = nullptr;
|
||||||
data[8 * 4 + 4 + i].dwOfs = static_cast<DWORD>(DIJOFS_BUTTON(i));
|
data[8 * 4 + 4 + i].dwOfs = static_cast<DWORD>(DIJOFS_BUTTON(i));
|
||||||
data[8 * 4 + 4 + i].dwType = buttonType;
|
data[8 * 4 + 4 + i].dwType = buttonType;
|
||||||
data[8 * 4 + 4 + i].dwFlags = 0;
|
data[8 * 4 + 4 + i].dwFlags = 0;
|
||||||
@ -674,7 +674,7 @@ bool JoystickImpl::openDInput(unsigned int index)
|
|||||||
err() << "Failed to set DirectInput device data format: " << result << std::endl;
|
err() << "Failed to set DirectInput device data format: " << result << std::endl;
|
||||||
|
|
||||||
m_device->Release();
|
m_device->Release();
|
||||||
m_device = NULL;
|
m_device = nullptr;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -687,7 +687,7 @@ bool JoystickImpl::openDInput(unsigned int index)
|
|||||||
err() << "Failed to get DirectInput device capabilities: " << result << std::endl;
|
err() << "Failed to get DirectInput device capabilities: " << result << std::endl;
|
||||||
|
|
||||||
m_device->Release();
|
m_device->Release();
|
||||||
m_device = NULL;
|
m_device = nullptr;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -700,7 +700,7 @@ bool JoystickImpl::openDInput(unsigned int index)
|
|||||||
err() << "Failed to enumerate DirectInput device objects: " << result << std::endl;
|
err() << "Failed to enumerate DirectInput device objects: " << result << std::endl;
|
||||||
|
|
||||||
m_device->Release();
|
m_device->Release();
|
||||||
m_device = NULL;
|
m_device = nullptr;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -724,7 +724,7 @@ bool JoystickImpl::openDInput(unsigned int index)
|
|||||||
<< m_identification.name.toAnsiString() << "\": " << result << std::endl;
|
<< m_identification.name.toAnsiString() << "\": " << result << std::endl;
|
||||||
|
|
||||||
m_device->Release();
|
m_device->Release();
|
||||||
m_device = NULL;
|
m_device = nullptr;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -756,7 +756,7 @@ bool JoystickImpl::openDInput(unsigned int index)
|
|||||||
<< m_identification.name.toAnsiString() << "\": " << result << std::endl;
|
<< m_identification.name.toAnsiString() << "\": " << result << std::endl;
|
||||||
|
|
||||||
m_device->Release();
|
m_device->Release();
|
||||||
m_device = NULL;
|
m_device = nullptr;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -778,7 +778,7 @@ bool JoystickImpl::openDInput(unsigned int index)
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_device->Release();
|
m_device->Release();
|
||||||
m_device = NULL;
|
m_device = nullptr;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -812,7 +812,7 @@ bool JoystickImpl::openDInput(unsigned int index)
|
|||||||
<< m_identification.name.toAnsiString() << "\": " << result << std::endl;
|
<< m_identification.name.toAnsiString() << "\": " << result << std::endl;
|
||||||
|
|
||||||
m_device->Release();
|
m_device->Release();
|
||||||
m_device = NULL;
|
m_device = nullptr;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -832,7 +832,7 @@ void JoystickImpl::closeDInput()
|
|||||||
{
|
{
|
||||||
// Release the device
|
// Release the device
|
||||||
m_device->Release();
|
m_device->Release();
|
||||||
m_device = NULL;
|
m_device = nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -885,7 +885,7 @@ JoystickState JoystickImpl::updateDInputBuffered()
|
|||||||
if ((result == DIERR_NOTACQUIRED) || (result == DIERR_INPUTLOST))
|
if ((result == DIERR_NOTACQUIRED) || (result == DIERR_INPUTLOST))
|
||||||
{
|
{
|
||||||
m_device->Release();
|
m_device->Release();
|
||||||
m_device = NULL;
|
m_device = nullptr;
|
||||||
|
|
||||||
return m_state;
|
return m_state;
|
||||||
}
|
}
|
||||||
@ -979,7 +979,7 @@ JoystickState JoystickImpl::updateDInputPolled()
|
|||||||
if ((result == DIERR_NOTACQUIRED) || (result == DIERR_INPUTLOST))
|
if ((result == DIERR_NOTACQUIRED) || (result == DIERR_INPUTLOST))
|
||||||
{
|
{
|
||||||
m_device->Release();
|
m_device->Release();
|
||||||
m_device = NULL;
|
m_device = nullptr;
|
||||||
|
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
@ -43,7 +43,7 @@ std::vector<VideoMode> VideoModeImpl::getFullscreenModes()
|
|||||||
DEVMODE win32Mode;
|
DEVMODE win32Mode;
|
||||||
win32Mode.dmSize = sizeof(win32Mode);
|
win32Mode.dmSize = sizeof(win32Mode);
|
||||||
win32Mode.dmDriverExtra = 0;
|
win32Mode.dmDriverExtra = 0;
|
||||||
for (int count = 0; EnumDisplaySettings(NULL, static_cast<DWORD>(count), &win32Mode); ++count)
|
for (int count = 0; EnumDisplaySettings(nullptr, static_cast<DWORD>(count), &win32Mode); ++count)
|
||||||
{
|
{
|
||||||
// Convert to sf::VideoMode
|
// Convert to sf::VideoMode
|
||||||
VideoMode mode(win32Mode.dmPelsWidth, win32Mode.dmPelsHeight, win32Mode.dmBitsPerPel);
|
VideoMode mode(win32Mode.dmPelsWidth, win32Mode.dmPelsHeight, win32Mode.dmBitsPerPel);
|
||||||
@ -63,7 +63,7 @@ VideoMode VideoModeImpl::getDesktopMode()
|
|||||||
DEVMODE win32Mode;
|
DEVMODE win32Mode;
|
||||||
win32Mode.dmSize = sizeof(win32Mode);
|
win32Mode.dmSize = sizeof(win32Mode);
|
||||||
win32Mode.dmDriverExtra = 0;
|
win32Mode.dmDriverExtra = 0;
|
||||||
EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &win32Mode);
|
EnumDisplaySettings(nullptr, ENUM_CURRENT_SETTINGS, &win32Mode);
|
||||||
|
|
||||||
return VideoMode(win32Mode.dmPelsWidth, win32Mode.dmPelsHeight, win32Mode.dmBitsPerPel);
|
return VideoMode(win32Mode.dmPelsWidth, win32Mode.dmPelsHeight, win32Mode.dmBitsPerPel);
|
||||||
}
|
}
|
||||||
|
@ -43,7 +43,7 @@ namespace
|
|||||||
struct VulkanLibraryWrapper
|
struct VulkanLibraryWrapper
|
||||||
{
|
{
|
||||||
VulkanLibraryWrapper() :
|
VulkanLibraryWrapper() :
|
||||||
library(NULL)
|
library(nullptr)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -67,21 +67,21 @@ namespace
|
|||||||
if (!loadEntryPoint(vkGetInstanceProcAddr, "vkGetInstanceProcAddr"))
|
if (!loadEntryPoint(vkGetInstanceProcAddr, "vkGetInstanceProcAddr"))
|
||||||
{
|
{
|
||||||
FreeLibrary(library);
|
FreeLibrary(library);
|
||||||
library = NULL;
|
library = nullptr;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!loadEntryPoint(vkEnumerateInstanceLayerProperties, "vkEnumerateInstanceLayerProperties"))
|
if (!loadEntryPoint(vkEnumerateInstanceLayerProperties, "vkEnumerateInstanceLayerProperties"))
|
||||||
{
|
{
|
||||||
FreeLibrary(library);
|
FreeLibrary(library);
|
||||||
library = NULL;
|
library = nullptr;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!loadEntryPoint(vkEnumerateInstanceExtensionProperties, "vkEnumerateInstanceExtensionProperties"))
|
if (!loadEntryPoint(vkEnumerateInstanceExtensionProperties, "vkEnumerateInstanceExtensionProperties"))
|
||||||
{
|
{
|
||||||
FreeLibrary(library);
|
FreeLibrary(library);
|
||||||
library = NULL;
|
library = nullptr;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ namespace
|
|||||||
{
|
{
|
||||||
entryPoint = reinterpret_cast<T>(reinterpret_cast<void*>(GetProcAddress(library, name)));
|
entryPoint = reinterpret_cast<T>(reinterpret_cast<void*>(GetProcAddress(library, name)));
|
||||||
|
|
||||||
return (entryPoint != NULL);
|
return (entryPoint != nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
HMODULE library;
|
HMODULE library;
|
||||||
@ -135,7 +135,7 @@ bool VulkanImplWin32::isAvailable(bool requireGraphics)
|
|||||||
|
|
||||||
uint32_t extensionCount = 0;
|
uint32_t extensionCount = 0;
|
||||||
|
|
||||||
wrapper.vkEnumerateInstanceExtensionProperties(0, &extensionCount, NULL);
|
wrapper.vkEnumerateInstanceExtensionProperties(0, &extensionCount, nullptr);
|
||||||
|
|
||||||
extensionProperties.resize(extensionCount);
|
extensionProperties.resize(extensionCount);
|
||||||
|
|
||||||
@ -210,7 +210,7 @@ bool VulkanImplWin32::createVulkanSurface(const VkInstance& instance, WindowHand
|
|||||||
|
|
||||||
VkWin32SurfaceCreateInfoKHR surfaceCreateInfo = VkWin32SurfaceCreateInfoKHR();
|
VkWin32SurfaceCreateInfoKHR surfaceCreateInfo = VkWin32SurfaceCreateInfoKHR();
|
||||||
surfaceCreateInfo.sType = VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR;
|
surfaceCreateInfo.sType = VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR;
|
||||||
surfaceCreateInfo.hinstance = GetModuleHandleA(NULL);
|
surfaceCreateInfo.hinstance = GetModuleHandleA(nullptr);
|
||||||
surfaceCreateInfo.hwnd = windowHandle;
|
surfaceCreateInfo.hwnd = windowHandle;
|
||||||
|
|
||||||
return (vkCreateWin32SurfaceKHR(instance, &surfaceCreateInfo, allocator, &surface) == VK_SUCCESS);
|
return (vkCreateWin32SurfaceKHR(instance, &surfaceCreateInfo, allocator, &surface) == VK_SUCCESS);
|
||||||
|
@ -48,7 +48,7 @@ namespace
|
|||||||
{
|
{
|
||||||
// Some drivers are bugged and don't track the current HDC/HGLRC properly
|
// Some drivers are bugged and don't track the current HDC/HGLRC properly
|
||||||
// In order to deactivate successfully, we need to track it ourselves as well
|
// In order to deactivate successfully, we need to track it ourselves as well
|
||||||
sf::ThreadLocalPtr<sf::priv::WglContext> currentContext(NULL);
|
sf::ThreadLocalPtr<sf::priv::WglContext> currentContext(nullptr);
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
@ -59,7 +59,7 @@ namespace
|
|||||||
{
|
{
|
||||||
initialized = true;
|
initialized = true;
|
||||||
|
|
||||||
gladLoadWGL(NULL, sf::priv::WglContext::getFunction);
|
gladLoadWGL(nullptr, sf::priv::WglContext::getFunction);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -89,7 +89,7 @@ namespace priv
|
|||||||
String getErrorString(DWORD errorCode)
|
String getErrorString(DWORD errorCode)
|
||||||
{
|
{
|
||||||
PTCHAR buffer;
|
PTCHAR buffer;
|
||||||
if (FormatMessage(FORMAT_MESSAGE_MAX_WIDTH_MASK | FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, errorCode, 0, reinterpret_cast<LPTSTR>(&buffer), 256, NULL) != 0)
|
if (FormatMessage(FORMAT_MESSAGE_MAX_WIDTH_MASK | FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, nullptr, errorCode, 0, reinterpret_cast<LPTSTR>(&buffer), 256, nullptr) != 0)
|
||||||
{
|
{
|
||||||
String errMsg(buffer);
|
String errMsg(buffer);
|
||||||
LocalFree(buffer);
|
LocalFree(buffer);
|
||||||
@ -104,10 +104,10 @@ String getErrorString(DWORD errorCode)
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
WglContext::WglContext(WglContext* shared) :
|
WglContext::WglContext(WglContext* shared) :
|
||||||
m_window (NULL),
|
m_window (nullptr),
|
||||||
m_pbuffer (NULL),
|
m_pbuffer (nullptr),
|
||||||
m_deviceContext(NULL),
|
m_deviceContext(nullptr),
|
||||||
m_context (NULL),
|
m_context (nullptr),
|
||||||
m_ownsWindow (false)
|
m_ownsWindow (false)
|
||||||
{
|
{
|
||||||
WglContextImpl::ensureInit();
|
WglContextImpl::ensureInit();
|
||||||
@ -127,10 +127,10 @@ m_ownsWindow (false)
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
WglContext::WglContext(WglContext* shared, const ContextSettings& settings, const WindowImpl* owner, unsigned int bitsPerPixel) :
|
WglContext::WglContext(WglContext* shared, const ContextSettings& settings, const WindowImpl* owner, unsigned int bitsPerPixel) :
|
||||||
m_window (NULL),
|
m_window (nullptr),
|
||||||
m_pbuffer (NULL),
|
m_pbuffer (nullptr),
|
||||||
m_deviceContext(NULL),
|
m_deviceContext(nullptr),
|
||||||
m_context (NULL),
|
m_context (nullptr),
|
||||||
m_ownsWindow (false)
|
m_ownsWindow (false)
|
||||||
{
|
{
|
||||||
WglContextImpl::ensureInit();
|
WglContextImpl::ensureInit();
|
||||||
@ -148,10 +148,10 @@ m_ownsWindow (false)
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
WglContext::WglContext(WglContext* shared, const ContextSettings& settings, unsigned int width, unsigned int height) :
|
WglContext::WglContext(WglContext* shared, const ContextSettings& settings, unsigned int width, unsigned int height) :
|
||||||
m_window (NULL),
|
m_window (nullptr),
|
||||||
m_pbuffer (NULL),
|
m_pbuffer (nullptr),
|
||||||
m_deviceContext(NULL),
|
m_deviceContext(nullptr),
|
||||||
m_context (NULL),
|
m_context (nullptr),
|
||||||
m_ownsWindow (false)
|
m_ownsWindow (false)
|
||||||
{
|
{
|
||||||
WglContextImpl::ensureInit();
|
WglContextImpl::ensureInit();
|
||||||
@ -178,8 +178,8 @@ WglContext::~WglContext()
|
|||||||
{
|
{
|
||||||
if (WglContextImpl::currentContext == this)
|
if (WglContextImpl::currentContext == this)
|
||||||
{
|
{
|
||||||
if (wglMakeCurrent(m_deviceContext, NULL) == TRUE)
|
if (wglMakeCurrent(m_deviceContext, nullptr) == TRUE)
|
||||||
WglContextImpl::currentContext = NULL;
|
WglContextImpl::currentContext = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
wglDeleteContext(m_context);
|
wglDeleteContext(m_context);
|
||||||
@ -219,7 +219,7 @@ GlFunctionPointer WglContext::getFunction(const char* name)
|
|||||||
return address;
|
return address;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HMODULE module = NULL;
|
static HMODULE module = nullptr;
|
||||||
|
|
||||||
if (!module)
|
if (!module)
|
||||||
module = GetModuleHandleA("OpenGL32.dll");
|
module = GetModuleHandleA("OpenGL32.dll");
|
||||||
@ -237,13 +237,13 @@ bool WglContext::makeCurrent(bool current)
|
|||||||
if (!m_deviceContext || !m_context)
|
if (!m_deviceContext || !m_context)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (wglMakeCurrent(m_deviceContext, current ? m_context : NULL) == FALSE)
|
if (wglMakeCurrent(m_deviceContext, current ? m_context : nullptr) == FALSE)
|
||||||
{
|
{
|
||||||
err() << "Failed to " << (current ? "activate" : "deactivate") << " OpenGL context: " << getErrorString(GetLastError()).toAnsiString() << std::endl;
|
err() << "Failed to " << (current ? "activate" : "deactivate") << " OpenGL context: " << getErrorString(GetLastError()).toAnsiString() << std::endl;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
WglContextImpl::currentContext = (current ? this : NULL);
|
WglContextImpl::currentContext = (current ? this : nullptr);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -305,7 +305,7 @@ int WglContext::selectBestPixelFormat(HDC deviceContext, unsigned int bitsPerPix
|
|||||||
// Let's check how many formats are supporting our requirements
|
// Let's check how many formats are supporting our requirements
|
||||||
int formats[512];
|
int formats[512];
|
||||||
UINT nbFormats = 0; // We must initialize to 0 otherwise broken drivers might fill with garbage in the following call
|
UINT nbFormats = 0; // We must initialize to 0 otherwise broken drivers might fill with garbage in the following call
|
||||||
bool isValid = wglChoosePixelFormatARB(deviceContext, intAttributes, NULL, 512, formats, &nbFormats) != FALSE;
|
bool isValid = wglChoosePixelFormatARB(deviceContext, intAttributes, nullptr, 512, formats, &nbFormats) != FALSE;
|
||||||
|
|
||||||
if (!isValid)
|
if (!isValid)
|
||||||
err() << "Failed to enumerate pixel formats: " << getErrorString(GetLastError()).toAnsiString() << std::endl;
|
err() << "Failed to enumerate pixel formats: " << getErrorString(GetLastError()).toAnsiString() << std::endl;
|
||||||
@ -563,7 +563,7 @@ void WglContext::createSurface(WglContext* shared, unsigned int width, unsigned
|
|||||||
err() << "Failed to retrieve pixel buffer device context: " << getErrorString(GetLastError()).toAnsiString() << std::endl;
|
err() << "Failed to retrieve pixel buffer device context: " << getErrorString(GetLastError()).toAnsiString() << std::endl;
|
||||||
|
|
||||||
wglDestroyPbufferARB(m_pbuffer);
|
wglDestroyPbufferARB(m_pbuffer);
|
||||||
m_pbuffer = NULL;
|
m_pbuffer = nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -580,7 +580,7 @@ void WglContext::createSurface(WglContext* shared, unsigned int width, unsigned
|
|||||||
// with other contexts and thus wglShareLists would always fail
|
// with other contexts and thus wglShareLists would always fail
|
||||||
|
|
||||||
// Create the hidden window
|
// Create the hidden window
|
||||||
m_window = CreateWindowA("STATIC", "", WS_POPUP | WS_DISABLED, 0, 0, static_cast<int>(width), static_cast<int>(height), NULL, NULL, GetModuleHandle(NULL), NULL);
|
m_window = CreateWindowA("STATIC", "", WS_POPUP | WS_DISABLED, 0, 0, static_cast<int>(width), static_cast<int>(height), nullptr, nullptr, GetModuleHandle(nullptr), nullptr);
|
||||||
ShowWindow(m_window, SW_HIDE);
|
ShowWindow(m_window, SW_HIDE);
|
||||||
m_deviceContext = GetDC(m_window);
|
m_deviceContext = GetDC(m_window);
|
||||||
|
|
||||||
@ -620,7 +620,7 @@ void WglContext::createContext(WglContext* shared)
|
|||||||
ContextSettings settings = m_settings;
|
ContextSettings settings = m_settings;
|
||||||
|
|
||||||
// Get the context to share display lists with
|
// Get the context to share display lists with
|
||||||
HGLRC sharedContext = shared ? shared->m_context : NULL;
|
HGLRC sharedContext = shared ? shared->m_context : nullptr;
|
||||||
|
|
||||||
// Create the OpenGL context -- first try using wglCreateContextAttribsARB
|
// Create the OpenGL context -- first try using wglCreateContextAttribsARB
|
||||||
while (!m_context && m_settings.majorVersion)
|
while (!m_context && m_settings.majorVersion)
|
||||||
@ -669,13 +669,13 @@ void WglContext::createContext(WglContext* shared)
|
|||||||
|
|
||||||
if (WglContextImpl::currentContext == shared)
|
if (WglContextImpl::currentContext == shared)
|
||||||
{
|
{
|
||||||
if (wglMakeCurrent(shared->m_deviceContext, NULL) == FALSE)
|
if (wglMakeCurrent(shared->m_deviceContext, nullptr) == FALSE)
|
||||||
{
|
{
|
||||||
err() << "Failed to deactivate shared context before sharing: " << getErrorString(GetLastError()).toAnsiString() << std::endl;
|
err() << "Failed to deactivate shared context before sharing: " << getErrorString(GetLastError()).toAnsiString() << std::endl;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
WglContextImpl::currentContext = NULL;
|
WglContextImpl::currentContext = nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -739,13 +739,13 @@ void WglContext::createContext(WglContext* shared)
|
|||||||
|
|
||||||
if (WglContextImpl::currentContext == shared)
|
if (WglContextImpl::currentContext == shared)
|
||||||
{
|
{
|
||||||
if (wglMakeCurrent(shared->m_deviceContext, NULL) == FALSE)
|
if (wglMakeCurrent(shared->m_deviceContext, nullptr) == FALSE)
|
||||||
{
|
{
|
||||||
err() << "Failed to deactivate shared context before sharing: " << getErrorString(GetLastError()).toAnsiString() << std::endl;
|
err() << "Failed to deactivate shared context before sharing: " << getErrorString(GetLastError()).toAnsiString() << std::endl;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
WglContextImpl::currentContext = NULL;
|
WglContextImpl::currentContext = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (wglShareLists(sharedContext, m_context) == FALSE)
|
if (wglShareLists(sharedContext, m_context) == FALSE)
|
||||||
|
@ -47,7 +47,7 @@ public:
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Create a new default context
|
/// \brief Create a new default context
|
||||||
///
|
///
|
||||||
/// \param shared Context to share the new one with (can be NULL)
|
/// \param shared Context to share the new one with (can be a null pointer)
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
WglContext(WglContext* shared);
|
WglContext(WglContext* shared);
|
||||||
@ -151,7 +151,7 @@ private:
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Create the context's drawing surface
|
/// \brief Create the context's drawing surface
|
||||||
///
|
///
|
||||||
/// \param shared Shared context (can be NULL)
|
/// \param shared Shared context (can be a null pointer)
|
||||||
/// \param width Back buffer width, in pixels
|
/// \param width Back buffer width, in pixels
|
||||||
/// \param height Back buffer height, in pixels
|
/// \param height Back buffer height, in pixels
|
||||||
/// \param bitsPerPixel Pixel depth, in bits per pixel
|
/// \param bitsPerPixel Pixel depth, in bits per pixel
|
||||||
@ -171,7 +171,7 @@ private:
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Create the context
|
/// \brief Create the context
|
||||||
///
|
///
|
||||||
/// \param shared Context to share the new one with (can be NULL)
|
/// \param shared Context to share the new one with (can be a null pointer)
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
void createContext(WglContext* shared);
|
void createContext(WglContext* shared);
|
||||||
|
@ -67,7 +67,7 @@ namespace
|
|||||||
unsigned int windowCount = 0; // Windows owned by SFML
|
unsigned int windowCount = 0; // Windows owned by SFML
|
||||||
unsigned int handleCount = 0; // All window handles
|
unsigned int handleCount = 0; // All window handles
|
||||||
const wchar_t* className = L"SFML_Window";
|
const wchar_t* className = L"SFML_Window";
|
||||||
sf::priv::WindowImplWin32* fullscreenWindow = NULL;
|
sf::priv::WindowImplWin32* fullscreenWindow = nullptr;
|
||||||
|
|
||||||
const GUID GUID_DEVINTERFACE_HID = {0x4d1e55b2, 0xf16f, 0x11cf, {0x88, 0xcb, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30}};
|
const GUID GUID_DEVINTERFACE_HID = {0x4d1e55b2, 0xf16f, 0x11cf, {0x88, 0xcb, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30}};
|
||||||
|
|
||||||
@ -136,8 +136,8 @@ WindowImplWin32::WindowImplWin32(WindowHandle handle) :
|
|||||||
m_handle (handle),
|
m_handle (handle),
|
||||||
m_callback (0),
|
m_callback (0),
|
||||||
m_cursorVisible (true), // might need to call GetCursorInfo
|
m_cursorVisible (true), // might need to call GetCursorInfo
|
||||||
m_lastCursor (LoadCursor(NULL, IDC_ARROW)),
|
m_lastCursor (LoadCursor(nullptr, IDC_ARROW)),
|
||||||
m_icon (NULL),
|
m_icon (nullptr),
|
||||||
m_keyRepeatEnabled(true),
|
m_keyRepeatEnabled(true),
|
||||||
m_lastSize (0, 0),
|
m_lastSize (0, 0),
|
||||||
m_resizing (false),
|
m_resizing (false),
|
||||||
@ -166,11 +166,11 @@ m_cursorGrabbed (false)
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
WindowImplWin32::WindowImplWin32(VideoMode mode, const String& title, Uint32 style, const ContextSettings& /*settings*/) :
|
WindowImplWin32::WindowImplWin32(VideoMode mode, const String& title, Uint32 style, const ContextSettings& /*settings*/) :
|
||||||
m_handle (NULL),
|
m_handle (nullptr),
|
||||||
m_callback (0),
|
m_callback (0),
|
||||||
m_cursorVisible (true), // might need to call GetCursorInfo
|
m_cursorVisible (true), // might need to call GetCursorInfo
|
||||||
m_lastCursor (LoadCursor(NULL, IDC_ARROW)),
|
m_lastCursor (LoadCursor(nullptr, IDC_ARROW)),
|
||||||
m_icon (NULL),
|
m_icon (nullptr),
|
||||||
m_keyRepeatEnabled(true),
|
m_keyRepeatEnabled(true),
|
||||||
m_lastSize (mode.width, mode.height),
|
m_lastSize (mode.width, mode.height),
|
||||||
m_resizing (false),
|
m_resizing (false),
|
||||||
@ -187,12 +187,12 @@ m_cursorGrabbed (m_fullscreen)
|
|||||||
registerWindowClass();
|
registerWindowClass();
|
||||||
|
|
||||||
// Compute position and size
|
// Compute position and size
|
||||||
HDC screenDC = GetDC(NULL);
|
HDC screenDC = GetDC(nullptr);
|
||||||
int left = (GetDeviceCaps(screenDC, HORZRES) - static_cast<int>(mode.width)) / 2;
|
int left = (GetDeviceCaps(screenDC, HORZRES) - static_cast<int>(mode.width)) / 2;
|
||||||
int top = (GetDeviceCaps(screenDC, VERTRES) - static_cast<int>(mode.height)) / 2;
|
int top = (GetDeviceCaps(screenDC, VERTRES) - static_cast<int>(mode.height)) / 2;
|
||||||
int width = static_cast<int>(mode.width);
|
int width = static_cast<int>(mode.width);
|
||||||
int height = static_cast<int>(mode.height);
|
int height = static_cast<int>(mode.height);
|
||||||
ReleaseDC(NULL, screenDC);
|
ReleaseDC(nullptr, screenDC);
|
||||||
|
|
||||||
// Choose the window style according to the Style parameter
|
// Choose the window style according to the Style parameter
|
||||||
DWORD win32Style = WS_VISIBLE;
|
DWORD win32Style = WS_VISIBLE;
|
||||||
@ -217,7 +217,7 @@ m_cursorGrabbed (m_fullscreen)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Create the window
|
// Create the window
|
||||||
m_handle = CreateWindowW(className, title.toWideString().c_str(), win32Style, left, top, width, height, NULL, NULL, GetModuleHandle(NULL), this);
|
m_handle = CreateWindowW(className, title.toWideString().c_str(), win32Style, left, top, width, height, nullptr, nullptr, GetModuleHandle(nullptr), this);
|
||||||
|
|
||||||
// Register to receive device interface change notifications (used for joystick connection handling)
|
// Register to receive device interface change notifications (used for joystick connection handling)
|
||||||
DEV_BROADCAST_DEVICEINTERFACE deviceInterface = {sizeof(DEV_BROADCAST_DEVICEINTERFACE), DBT_DEVTYP_DEVICEINTERFACE, 0, GUID_DEVINTERFACE_HID, 0};
|
DEV_BROADCAST_DEVICEINTERFACE deviceInterface = {sizeof(DEV_BROADCAST_DEVICEINTERFACE), DBT_DEVTYP_DEVICEINTERFACE, 0, GUID_DEVINTERFACE_HID, 0};
|
||||||
@ -274,7 +274,7 @@ WindowImplWin32::~WindowImplWin32()
|
|||||||
|
|
||||||
// Unregister window class if we were the last window
|
// Unregister window class if we were the last window
|
||||||
if (windowCount == 0)
|
if (windowCount == 0)
|
||||||
UnregisterClassW(className, GetModuleHandleW(NULL));
|
UnregisterClassW(className, GetModuleHandleW(nullptr));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -298,7 +298,7 @@ void WindowImplWin32::processEvents()
|
|||||||
if (!m_callback)
|
if (!m_callback)
|
||||||
{
|
{
|
||||||
MSG message;
|
MSG message;
|
||||||
while (PeekMessageW(&message, NULL, 0, 0, PM_REMOVE))
|
while (PeekMessageW(&message, nullptr, 0, 0, PM_REMOVE))
|
||||||
{
|
{
|
||||||
TranslateMessage(&message);
|
TranslateMessage(&message);
|
||||||
DispatchMessageW(&message);
|
DispatchMessageW(&message);
|
||||||
@ -320,7 +320,7 @@ Vector2i WindowImplWin32::getPosition() const
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
void WindowImplWin32::setPosition(const Vector2i& position)
|
void WindowImplWin32::setPosition(const Vector2i& position)
|
||||||
{
|
{
|
||||||
SetWindowPos(m_handle, NULL, position.x, position.y, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
|
SetWindowPos(m_handle, nullptr, position.x, position.y, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
|
||||||
|
|
||||||
if(m_cursorGrabbed)
|
if(m_cursorGrabbed)
|
||||||
grabCursor(true);
|
grabCursor(true);
|
||||||
@ -347,7 +347,7 @@ void WindowImplWin32::setSize(const Vector2u& size)
|
|||||||
int width = rectangle.right - rectangle.left;
|
int width = rectangle.right - rectangle.left;
|
||||||
int height = rectangle.bottom - rectangle.top;
|
int height = rectangle.bottom - rectangle.top;
|
||||||
|
|
||||||
SetWindowPos(m_handle, NULL, 0, 0, width, height, SWP_NOMOVE | SWP_NOZORDER);
|
SetWindowPos(m_handle, nullptr, 0, 0, width, height, SWP_NOMOVE | SWP_NOZORDER);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -376,7 +376,7 @@ void WindowImplWin32::setIcon(unsigned int width, unsigned int height, const Uin
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Create the icon from the pixel array
|
// Create the icon from the pixel array
|
||||||
m_icon = CreateIcon(GetModuleHandleW(NULL), static_cast<int>(width), static_cast<int>(height), 1, 32, NULL, &iconPixels[0]);
|
m_icon = CreateIcon(GetModuleHandleW(nullptr), static_cast<int>(width), static_cast<int>(height), 1, 32, nullptr, &iconPixels[0]);
|
||||||
|
|
||||||
// Set it as both big and small icon of the window
|
// Set it as both big and small icon of the window
|
||||||
if (m_icon)
|
if (m_icon)
|
||||||
@ -402,7 +402,7 @@ void WindowImplWin32::setVisible(bool visible)
|
|||||||
void WindowImplWin32::setMouseCursorVisible(bool visible)
|
void WindowImplWin32::setMouseCursorVisible(bool visible)
|
||||||
{
|
{
|
||||||
m_cursorVisible = visible;
|
m_cursorVisible = visible;
|
||||||
SetCursor(m_cursorVisible ? m_lastCursor : NULL);
|
SetCursor(m_cursorVisible ? m_lastCursor : nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -418,7 +418,7 @@ void WindowImplWin32::setMouseCursorGrabbed(bool grabbed)
|
|||||||
void WindowImplWin32::setMouseCursor(const CursorImpl& cursor)
|
void WindowImplWin32::setMouseCursor(const CursorImpl& cursor)
|
||||||
{
|
{
|
||||||
m_lastCursor = cursor.m_cursor;
|
m_lastCursor = cursor.m_cursor;
|
||||||
SetCursor(m_cursorVisible ? m_lastCursor : NULL);
|
SetCursor(m_cursorVisible ? m_lastCursor : nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -472,11 +472,11 @@ void WindowImplWin32::registerWindowClass()
|
|||||||
windowClass.lpfnWndProc = &WindowImplWin32::globalOnEvent;
|
windowClass.lpfnWndProc = &WindowImplWin32::globalOnEvent;
|
||||||
windowClass.cbClsExtra = 0;
|
windowClass.cbClsExtra = 0;
|
||||||
windowClass.cbWndExtra = 0;
|
windowClass.cbWndExtra = 0;
|
||||||
windowClass.hInstance = GetModuleHandleW(NULL);
|
windowClass.hInstance = GetModuleHandleW(nullptr);
|
||||||
windowClass.hIcon = NULL;
|
windowClass.hIcon = nullptr;
|
||||||
windowClass.hCursor = 0;
|
windowClass.hCursor = 0;
|
||||||
windowClass.hbrBackground = 0;
|
windowClass.hbrBackground = 0;
|
||||||
windowClass.lpszMenuName = NULL;
|
windowClass.lpszMenuName = nullptr;
|
||||||
windowClass.lpszClassName = className;
|
windowClass.lpszClassName = className;
|
||||||
RegisterClassW(&windowClass);
|
RegisterClassW(&windowClass);
|
||||||
}
|
}
|
||||||
@ -518,8 +518,8 @@ void WindowImplWin32::cleanup()
|
|||||||
// Restore the previous video mode (in case we were running in fullscreen)
|
// Restore the previous video mode (in case we were running in fullscreen)
|
||||||
if (fullscreenWindow == this)
|
if (fullscreenWindow == this)
|
||||||
{
|
{
|
||||||
ChangeDisplaySettingsW(NULL, 0);
|
ChangeDisplaySettingsW(nullptr, 0);
|
||||||
fullscreenWindow = NULL;
|
fullscreenWindow = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Unhide the mouse cursor (in case it was hidden)
|
// Unhide the mouse cursor (in case it was hidden)
|
||||||
@ -552,12 +552,12 @@ void WindowImplWin32::grabCursor(bool grabbed)
|
|||||||
{
|
{
|
||||||
RECT rect;
|
RECT rect;
|
||||||
GetClientRect(m_handle, &rect);
|
GetClientRect(m_handle, &rect);
|
||||||
MapWindowPoints(m_handle, NULL, reinterpret_cast<LPPOINT>(&rect), 2);
|
MapWindowPoints(m_handle, nullptr, reinterpret_cast<LPPOINT>(&rect), 2);
|
||||||
ClipCursor(&rect);
|
ClipCursor(&rect);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ClipCursor(NULL);
|
ClipCursor(nullptr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -566,7 +566,7 @@ void WindowImplWin32::grabCursor(bool grabbed)
|
|||||||
void WindowImplWin32::processEvent(UINT message, WPARAM wParam, LPARAM lParam)
|
void WindowImplWin32::processEvent(UINT message, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
// Don't process any message until window is created
|
// Don't process any message until window is created
|
||||||
if (m_handle == NULL)
|
if (m_handle == nullptr)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
switch (message)
|
switch (message)
|
||||||
@ -584,7 +584,7 @@ void WindowImplWin32::processEvent(UINT message, WPARAM wParam, LPARAM lParam)
|
|||||||
{
|
{
|
||||||
// The mouse has moved, if the cursor is in our window we must refresh the cursor
|
// The mouse has moved, if the cursor is in our window we must refresh the cursor
|
||||||
if (LOWORD(lParam) == HTCLIENT) {
|
if (LOWORD(lParam) == HTCLIENT) {
|
||||||
SetCursor(m_cursorVisible ? m_lastCursor : NULL);
|
SetCursor(m_cursorVisible ? m_lastCursor : nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@ -1138,7 +1138,7 @@ LRESULT CALLBACK WindowImplWin32::globalOnEvent(HWND handle, UINT message, WPARA
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Get the WindowImpl instance corresponding to the window handle
|
// Get the WindowImpl instance corresponding to the window handle
|
||||||
WindowImplWin32* window = handle ? reinterpret_cast<WindowImplWin32*>(GetWindowLongPtr(handle, GWLP_USERDATA)) : NULL;
|
WindowImplWin32* window = handle ? reinterpret_cast<WindowImplWin32*>(GetWindowLongPtr(handle, GWLP_USERDATA)) : nullptr;
|
||||||
|
|
||||||
// Forward the event to the appropriate function
|
// Forward the event to the appropriate function
|
||||||
if (window)
|
if (window)
|
||||||
|
@ -36,7 +36,7 @@ namespace sf
|
|||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
Window::Window() :
|
Window::Window() :
|
||||||
m_context (NULL),
|
m_context (nullptr),
|
||||||
m_frameTimeLimit(Time::Zero)
|
m_frameTimeLimit(Time::Zero)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ m_frameTimeLimit(Time::Zero)
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
Window::Window(VideoMode mode, const String& title, Uint32 style, const ContextSettings& settings) :
|
Window::Window(VideoMode mode, const String& title, Uint32 style, const ContextSettings& settings) :
|
||||||
m_context (NULL),
|
m_context (nullptr),
|
||||||
m_frameTimeLimit(Time::Zero)
|
m_frameTimeLimit(Time::Zero)
|
||||||
{
|
{
|
||||||
Window::create(mode, title, style, settings);
|
Window::create(mode, title, style, settings);
|
||||||
@ -54,7 +54,7 @@ m_frameTimeLimit(Time::Zero)
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
Window::Window(WindowHandle handle, const ContextSettings& settings) :
|
Window::Window(WindowHandle handle, const ContextSettings& settings) :
|
||||||
m_context (NULL),
|
m_context (nullptr),
|
||||||
m_frameTimeLimit(Time::Zero)
|
m_frameTimeLimit(Time::Zero)
|
||||||
{
|
{
|
||||||
Window::create(handle, settings);
|
Window::create(handle, settings);
|
||||||
@ -155,7 +155,7 @@ void Window::close()
|
|||||||
{
|
{
|
||||||
// Delete the context
|
// Delete the context
|
||||||
delete m_context;
|
delete m_context;
|
||||||
m_context = NULL;
|
m_context = nullptr;
|
||||||
|
|
||||||
// Close the base window
|
// Close the base window
|
||||||
WindowBase::close();
|
WindowBase::close();
|
||||||
|
@ -36,7 +36,7 @@ namespace
|
|||||||
// A nested named namespace is used here to allow unity builds of SFML.
|
// A nested named namespace is used here to allow unity builds of SFML.
|
||||||
namespace WindowsBaseImpl
|
namespace WindowsBaseImpl
|
||||||
{
|
{
|
||||||
const sf::WindowBase* fullscreenWindow = NULL;
|
const sf::WindowBase* fullscreenWindow = nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ namespace sf
|
|||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
WindowBase::WindowBase() :
|
WindowBase::WindowBase() :
|
||||||
m_impl (NULL),
|
m_impl (nullptr),
|
||||||
m_size (0, 0)
|
m_size (0, 0)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -54,7 +54,7 @@ m_size (0, 0)
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
WindowBase::WindowBase(VideoMode mode, const String& title, Uint32 style) :
|
WindowBase::WindowBase(VideoMode mode, const String& title, Uint32 style) :
|
||||||
m_impl (NULL),
|
m_impl (nullptr),
|
||||||
m_size (0, 0)
|
m_size (0, 0)
|
||||||
{
|
{
|
||||||
WindowBase::create(mode, title, style);
|
WindowBase::create(mode, title, style);
|
||||||
@ -63,7 +63,7 @@ m_size (0, 0)
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
WindowBase::WindowBase(WindowHandle handle) :
|
WindowBase::WindowBase(WindowHandle handle) :
|
||||||
m_impl (NULL),
|
m_impl (nullptr),
|
||||||
m_size (0, 0)
|
m_size (0, 0)
|
||||||
{
|
{
|
||||||
WindowBase::create(handle);
|
WindowBase::create(handle);
|
||||||
@ -144,18 +144,18 @@ void WindowBase::close()
|
|||||||
{
|
{
|
||||||
// Delete the window implementation
|
// Delete the window implementation
|
||||||
delete m_impl;
|
delete m_impl;
|
||||||
m_impl = NULL;
|
m_impl = nullptr;
|
||||||
|
|
||||||
// Update the fullscreen window
|
// Update the fullscreen window
|
||||||
if (this == getFullscreenWindow())
|
if (this == getFullscreenWindow())
|
||||||
setFullscreenWindow(NULL);
|
setFullscreenWindow(nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
bool WindowBase::isOpen() const
|
bool WindowBase::isOpen() const
|
||||||
{
|
{
|
||||||
return m_impl != NULL;
|
return m_impl != nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ public:
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Create a new context, not associated to a window
|
/// \brief Create a new context, not associated to a window
|
||||||
///
|
///
|
||||||
/// \param shared Context to share the new one with (can be NULL)
|
/// \param shared Context to share the new one with (can be a null pointer)
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
EaglContext(EaglContext* shared);
|
EaglContext(EaglContext* shared);
|
||||||
@ -148,8 +148,8 @@ private:
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Create the context
|
/// \brief Create the context
|
||||||
///
|
///
|
||||||
/// \param shared Context to share the new one with (can be NULL)
|
/// \param shared Context to share the new one with (can be a null pointer)
|
||||||
/// \param window Window to attach the context to (can be NULL)
|
/// \param window Window to attach the context to (can be a null pointer)
|
||||||
/// \param bitsPerPixel Pixel depth, in bits per pixel
|
/// \param bitsPerPixel Pixel depth, in bits per pixel
|
||||||
/// \param settings Creation parameters
|
/// \param settings Creation parameters
|
||||||
///
|
///
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
// Save the global instance of the delegate
|
// Save the global instance of the delegate
|
||||||
SFAppDelegate* delegateInstance = NULL;
|
SFAppDelegate* delegateInstance = nullptr;
|
||||||
|
|
||||||
// Current touches positions
|
// Current touches positions
|
||||||
std::vector<sf::Vector2i> touchPositions;
|
std::vector<sf::Vector2i> touchPositions;
|
||||||
@ -59,7 +59,7 @@ namespace
|
|||||||
NSAssert(delegateInstance,
|
NSAssert(delegateInstance,
|
||||||
@"SFAppDelegate instance is nil, this means SFML was not properly initialized. "
|
@"SFAppDelegate instance is nil, this means SFML was not properly initialized. "
|
||||||
"Make sure that the file defining your main() function includes <SFML/Main.hpp>");
|
"Make sure that the file defining your main() function includes <SFML/Main.hpp>");
|
||||||
|
|
||||||
return delegateInstance;
|
return delegateInstance;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -68,7 +68,7 @@ namespace
|
|||||||
- (void)runUserMain
|
- (void)runUserMain
|
||||||
{
|
{
|
||||||
// Arguments intentionally dropped, see comments in main in sfml-main
|
// Arguments intentionally dropped, see comments in main in sfml-main
|
||||||
sfmlMain(0, NULL);
|
sfmlMain(0, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -248,7 +248,7 @@ namespace
|
|||||||
{
|
{
|
||||||
position.x *= backingScaleFactor;
|
position.x *= backingScaleFactor;
|
||||||
position.y *= backingScaleFactor;
|
position.y *= backingScaleFactor;
|
||||||
|
|
||||||
// save the touch position
|
// save the touch position
|
||||||
if (index >= touchPositions.size())
|
if (index >= touchPositions.size())
|
||||||
touchPositions.resize(index + 1, sf::Vector2i(-1, -1));
|
touchPositions.resize(index + 1, sf::Vector2i(-1, -1));
|
||||||
@ -272,7 +272,7 @@ namespace
|
|||||||
{
|
{
|
||||||
position.x *= backingScaleFactor;
|
position.x *= backingScaleFactor;
|
||||||
position.y *= backingScaleFactor;
|
position.y *= backingScaleFactor;
|
||||||
|
|
||||||
// save the touch position
|
// save the touch position
|
||||||
if (index >= touchPositions.size())
|
if (index >= touchPositions.size())
|
||||||
touchPositions.resize(index + 1, sf::Vector2i(-1, -1));
|
touchPositions.resize(index + 1, sf::Vector2i(-1, -1));
|
||||||
|
@ -183,7 +183,7 @@
|
|||||||
|
|
||||||
if (self)
|
if (self)
|
||||||
{
|
{
|
||||||
self.context = NULL;
|
self.context = nullptr;
|
||||||
self.touches = [NSMutableArray array];
|
self.touches = [NSMutableArray array];
|
||||||
|
|
||||||
// Configure the EAGL layer
|
// Configure the EAGL layer
|
||||||
|
Loading…
Reference in New Issue
Block a user