From ac4f02c4ac5cb8d50719ab4c5f5e2634fcf659bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?No=C3=A9=20Lopez?= <51089082+Bqleine@users.noreply.github.com> Date: Sat, 18 Feb 2023 09:56:48 +0000 Subject: [PATCH] Add function for default RenderState (#178) --- include/SFML/Graphics/RenderStates.h | 5 ++++ src/SFML/Graphics/CMakeLists.txt | 1 + src/SFML/Graphics/RenderStates.cpp | 41 ++++++++++++++++++++++++++++ src/SFML/Graphics/Transform.cpp | 1 - 4 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 src/SFML/Graphics/RenderStates.cpp diff --git a/include/SFML/Graphics/RenderStates.h b/include/SFML/Graphics/RenderStates.h index ce19c8c..38e6c5f 100644 --- a/include/SFML/Graphics/RenderStates.h +++ b/include/SFML/Graphics/RenderStates.h @@ -46,5 +46,10 @@ typedef struct const sfShader* shader; ///< Shader } sfRenderStates; +//////////////////////////////////////////////////////////// +/// \brief Define the default values for a RenderState +/// +//////////////////////////////////////////////////////////// +CSFML_GRAPHICS_API sfRenderStates sfRenderStates_default(); #endif // SFML_RENDERSTATES_H diff --git a/src/SFML/Graphics/CMakeLists.txt b/src/SFML/Graphics/CMakeLists.txt index 39e8daa..c358fd8 100644 --- a/src/SFML/Graphics/CMakeLists.txt +++ b/src/SFML/Graphics/CMakeLists.txt @@ -30,6 +30,7 @@ set(SRC ${SRCROOT}/RectangleShape.cpp ${SRCROOT}/RectangleShapeStruct.h ${INCROOT}/RectangleShape.h + ${SRCROOT}/RenderStates.cpp ${SRCROOT}/RenderTexture.cpp ${SRCROOT}/RenderTextureStruct.h ${INCROOT}/RenderTexture.h diff --git a/src/SFML/Graphics/RenderStates.cpp b/src/SFML/Graphics/RenderStates.cpp new file mode 100644 index 0000000..c8cccd6 --- /dev/null +++ b/src/SFML/Graphics/RenderStates.cpp @@ -0,0 +1,41 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org) +// +// This software is provided 'as-is', without any express or implied warranty. +// In no event will the authors be held liable for any damages arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it freely, +// subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; +// you must not claim that you wrote the original software. +// If you use this software in a product, an acknowledgment +// in the product documentation would be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, +// and must not be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source distribution. +// +//////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include "SFML/Graphics/RenderStates.h" + + +//////////////////////////////////////////////////////////// +sfRenderStates sfRenderStates_default() { + sfRenderStates states = { + sfBlendAlpha, + sfTransform_Identity, + 0, + 0, + }; + return states; +} + diff --git a/src/SFML/Graphics/Transform.cpp b/src/SFML/Graphics/Transform.cpp index 69c6fbe..df35121 100644 --- a/src/SFML/Graphics/Transform.cpp +++ b/src/SFML/Graphics/Transform.cpp @@ -169,4 +169,3 @@ sfBool sfTransform_equal(sfTransform* left, sfTransform* right) } return sfTrue; } -