From 920ff4d07245e64e0b2da580ad9d7f70ba2a8fa9 Mon Sep 17 00:00:00 2001 From: Chris Thrasher Date: Tue, 4 Jul 2023 17:19:53 -0600 Subject: [PATCH] Implement `isSrgb()` https://github.com/SFML/SFML/pull/1757 --- include/SFML/Graphics/RenderTexture.h | 10 ++++++++++ include/SFML/Graphics/RenderWindow.h | 10 ++++++++++ src/SFML/Graphics/RenderTexture.cpp | 8 ++++++++ src/SFML/Graphics/RenderWindow.cpp | 8 ++++++++ 4 files changed, 36 insertions(+) diff --git a/include/SFML/Graphics/RenderTexture.h b/include/SFML/Graphics/RenderTexture.h index f7f7662..fc7f5f1 100644 --- a/include/SFML/Graphics/RenderTexture.h +++ b/include/SFML/Graphics/RenderTexture.h @@ -85,6 +85,16 @@ CSFML_GRAPHICS_API void sfRenderTexture_destroy(sfRenderTexture* renderTexture); //////////////////////////////////////////////////////////// CSFML_GRAPHICS_API sfVector2u sfRenderTexture_getSize(const sfRenderTexture* renderTexture); +//////////////////////////////////////////////////////////// +/// \brief Tell if the render texture will use sRGB encoding when drawing on it +/// +/// \param renderTexture Render texture object +/// +/// \return sfTrue if the render texture use sRGB encoding, sfFalse otherwise +/// +//////////////////////////////////////////////////////////// +CSFML_GRAPHICS_API sfBool sfRenderTexture_isSrgb(const sfRenderTexture* renderTexture); + //////////////////////////////////////////////////////////// /// \brief Activate or deactivate a render texture as the current target for rendering /// diff --git a/include/SFML/Graphics/RenderWindow.h b/include/SFML/Graphics/RenderWindow.h index 1c34475..65fd8be 100644 --- a/include/SFML/Graphics/RenderWindow.h +++ b/include/SFML/Graphics/RenderWindow.h @@ -161,6 +161,16 @@ CSFML_GRAPHICS_API void sfRenderWindow_setPosition(sfRenderWindow* renderWindow, //////////////////////////////////////////////////////////// CSFML_GRAPHICS_API sfVector2u sfRenderWindow_getSize(const sfRenderWindow* renderWindow); +//////////////////////////////////////////////////////////// +/// \brief Tell if the render window will use sRGB encoding when drawing on it +/// +/// \param renderWindow Render window object +/// +/// \return sfTrue if the render window use sRGB encoding, sfFalse otherwise +/// +//////////////////////////////////////////////////////////// +CSFML_GRAPHICS_API sfBool sfRenderWindow_isSrgb(const sfRenderWindow* renderWindow); + //////////////////////////////////////////////////////////// /// \brief Change the size of the rendering region of a render window /// diff --git a/src/SFML/Graphics/RenderTexture.cpp b/src/SFML/Graphics/RenderTexture.cpp index 0a1cf0e..bdd8ae9 100644 --- a/src/SFML/Graphics/RenderTexture.cpp +++ b/src/SFML/Graphics/RenderTexture.cpp @@ -96,6 +96,14 @@ sfVector2u sfRenderTexture_getSize(const sfRenderTexture* renderTexture) } +//////////////////////////////////////////////////////////// +sfBool sfRenderTexture_isSrgb(const sfRenderTexture* renderTexture) +{ + CSFML_CHECK_RETURN(renderTexture, sfFalse); + return renderTexture->This.isSrgb(); +} + + //////////////////////////////////////////////////////////// sfBool sfRenderTexture_setActive(sfRenderTexture* renderTexture, sfBool active) { diff --git a/src/SFML/Graphics/RenderWindow.cpp b/src/SFML/Graphics/RenderWindow.cpp index 43e4f20..0b2d361 100644 --- a/src/SFML/Graphics/RenderWindow.cpp +++ b/src/SFML/Graphics/RenderWindow.cpp @@ -220,6 +220,14 @@ sfVector2u sfRenderWindow_getSize(const sfRenderWindow* renderWindow) } +//////////////////////////////////////////////////////////// +sfBool sfRenderWindow_isSrgb(const sfRenderWindow* renderWindow) +{ + CSFML_CHECK_RETURN(renderWindow, sfFalse); + return renderWindow->This.isSrgb(); +} + + //////////////////////////////////////////////////////////// void sfRenderWindow_setSize(sfRenderWindow* renderWindow, sfVector2u size) {