From a1ba993c66841a16edfc3f7c3fc3ba345763a793 Mon Sep 17 00:00:00 2001 From: groogy Date: Wed, 3 Nov 2010 10:24:14 +0000 Subject: [PATCH] Added the main file for the sfml-window library and also so that you can check if it has been loaded by checking SFML::WindowLoaded git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/branches/sfml2@1598 4e206d99-4929-0410-ac5d-dfc041789085 --- ruby/sfml-window/window/main.cpp | 36 +++++++++++++++++++++++++++++++ ruby/sfml-window/window/main.hpp | 37 ++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 ruby/sfml-window/window/main.cpp create mode 100644 ruby/sfml-window/window/main.hpp diff --git a/ruby/sfml-window/window/main.cpp b/ruby/sfml-window/window/main.cpp new file mode 100644 index 000000000..56a278a22 --- /dev/null +++ b/ruby/sfml-window/window/main.cpp @@ -0,0 +1,36 @@ +/* rbSFML - Copyright (c) 2010 Henrik Valter Vogelius Hansson - groogy@groogy.se + * 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. + */ + +#include "main.hpp" + +VALUE globalSFMLNamespace; + +VALUE GetNamespace( void ) +{ + return globalSFMLNamespace; +} + +void Init_window( void ) +{ + globalSFMLNamespace = rb_define_module( "SFML" ); + rb_define_const(globalSFMLNamespace, "WindowLoaded", Qtrue); +} diff --git a/ruby/sfml-window/window/main.hpp b/ruby/sfml-window/window/main.hpp new file mode 100644 index 000000000..246590acf --- /dev/null +++ b/ruby/sfml-window/window/main.hpp @@ -0,0 +1,37 @@ +/* rbSFML - Copyright (c) 2010 Henrik Valter Vogelius Hansson - groogy@groogy.se + * 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. + */ + +#ifndef SFML_RUBYEXT_MAIN_HEADER_ +#define SFML_RUBYEXT_MAIN_HEADER_ + +#include "ruby.h" + +VALUE GetNamespace( void ); + +// Ruby initiation function +extern "C" void Init_window( void ); + +typedef VALUE ( *RubyFunctionPtr )( ... ); + +#define FUNCPTR( x ) ( reinterpret_cast< RubyFunctionPtr >( x ) ) + +#endif // SFML_RUBYEXT_MAIN_HEADER_