mirror of
https://github.com/SFML/SFML.git
synced 2024-11-29 06:41:05 +08:00
Made the classes that is non-copyable in the C++ library also non-copyable in rbSFML.
git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/branches/sfml2@1738 4e206d99-4929-0410-ac5d-dfc041789085
This commit is contained in:
parent
cd04d29584
commit
30865b6ef9
@ -26,6 +26,9 @@
|
|||||||
|
|
||||||
VALUE globalSoundRecorderClass;
|
VALUE globalSoundRecorderClass;
|
||||||
|
|
||||||
|
/* External classes */
|
||||||
|
extern VALUE globalNonCopyableModule;
|
||||||
|
|
||||||
class rbSoundRecorder : public sf::SoundRecorder
|
class rbSoundRecorder : public sf::SoundRecorder
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -244,6 +247,7 @@ void Init_SoundRecorder( void )
|
|||||||
* end
|
* end
|
||||||
*/
|
*/
|
||||||
globalSoundRecorderClass = rb_define_class_under( sfml, "SoundRecorder", rb_cObject );
|
globalSoundRecorderClass = rb_define_class_under( sfml, "SoundRecorder", rb_cObject );
|
||||||
|
rb_include_module( globalSoundRecorderClass, globalNonCopyableModule );
|
||||||
|
|
||||||
// Class methods
|
// Class methods
|
||||||
rb_define_singleton_method( globalSoundRecorderClass, "new", SoundRecorder_New, -1 );
|
rb_define_singleton_method( globalSoundRecorderClass, "new", SoundRecorder_New, -1 );
|
||||||
|
@ -28,6 +28,7 @@ VALUE globalSoundStreamClass;
|
|||||||
|
|
||||||
/* External classes */
|
/* External classes */
|
||||||
extern VALUE globalSoundSourceClass;
|
extern VALUE globalSoundSourceClass;
|
||||||
|
extern VALUE globalNonCopyableModule;
|
||||||
|
|
||||||
class rbSoundStream : public sf::SoundStream
|
class rbSoundStream : public sf::SoundStream
|
||||||
{
|
{
|
||||||
@ -357,6 +358,7 @@ void Init_SoundStream( void )
|
|||||||
* stream.play
|
* stream.play
|
||||||
*/
|
*/
|
||||||
globalSoundStreamClass = rb_define_class_under( sfml, "SoundStream", globalSoundSourceClass );
|
globalSoundStreamClass = rb_define_class_under( sfml, "SoundStream", globalSoundSourceClass );
|
||||||
|
rb_include_module( globalSoundStreamClass, globalNonCopyableModule );
|
||||||
|
|
||||||
// Class methods
|
// Class methods
|
||||||
rb_define_singleton_method( globalSoundStreamClass, "new", SoundStream_New, -1 );
|
rb_define_singleton_method( globalSoundStreamClass, "new", SoundStream_New, -1 );
|
||||||
|
@ -27,6 +27,7 @@ VALUE globalSFMLNamespace;
|
|||||||
/* External classes */
|
/* External classes */
|
||||||
VALUE globalVector2Class;
|
VALUE globalVector2Class;
|
||||||
VALUE globalVector3Class;
|
VALUE globalVector3Class;
|
||||||
|
VALUE globalNonCopyableModule;
|
||||||
|
|
||||||
static bool CheckDependencies( void )
|
static bool CheckDependencies( void )
|
||||||
{
|
{
|
||||||
@ -48,5 +49,6 @@ void Init_audio( void )
|
|||||||
}
|
}
|
||||||
globalVector2Class = RetrieveSFMLClass( "Vector2" );
|
globalVector2Class = RetrieveSFMLClass( "Vector2" );
|
||||||
globalVector3Class = RetrieveSFMLClass( "Vector3" );
|
globalVector3Class = RetrieveSFMLClass( "Vector3" );
|
||||||
|
globalNonCopyableModule = RetrieveSFMLClass( "NonCopyable" );
|
||||||
rb_define_const(globalSFMLNamespace, "AudioLoaded", Qtrue);
|
rb_define_const(globalSFMLNamespace, "AudioLoaded", Qtrue);
|
||||||
}
|
}
|
||||||
|
@ -37,6 +37,7 @@ extern VALUE globalRectClass;
|
|||||||
extern VALUE globalDrawableModule;
|
extern VALUE globalDrawableModule;
|
||||||
extern VALUE globalShaderClass;
|
extern VALUE globalShaderClass;
|
||||||
extern VALUE globalViewClass;
|
extern VALUE globalViewClass;
|
||||||
|
extern VALUE globalNonCopyableModule;
|
||||||
|
|
||||||
static VALUE View_Free( sf::View *anObject )
|
static VALUE View_Free( sf::View *anObject )
|
||||||
{
|
{
|
||||||
@ -324,6 +325,7 @@ void Init_RenderTarget( void )
|
|||||||
* first argument in the SFML::Drawable#render method.
|
* first argument in the SFML::Drawable#render method.
|
||||||
*/
|
*/
|
||||||
globalRenderTargetModule = rb_define_module_under( sfml, "RenderTarget" );
|
globalRenderTargetModule = rb_define_module_under( sfml, "RenderTarget" );
|
||||||
|
rb_include_module( globalRenderTargetModule, globalNonCopyableModule );
|
||||||
globalRenderTargetInstanceClass = rb_define_class_under( globalRenderTargetModule, "Instance", rb_cObject );
|
globalRenderTargetInstanceClass = rb_define_class_under( globalRenderTargetModule, "Instance", rb_cObject );
|
||||||
rb_include_module( globalRenderTargetInstanceClass, globalRenderTargetModule );
|
rb_include_module( globalRenderTargetInstanceClass, globalRenderTargetModule );
|
||||||
|
|
||||||
|
@ -32,6 +32,7 @@ VALUE globalRendererClass;
|
|||||||
extern VALUE globalColorClass;
|
extern VALUE globalColorClass;
|
||||||
extern VALUE globalImageClass;
|
extern VALUE globalImageClass;
|
||||||
extern VALUE globalShaderClass;
|
extern VALUE globalShaderClass;
|
||||||
|
extern VALUE globalNonCopyableModule;
|
||||||
|
|
||||||
/* call-seq:
|
/* call-seq:
|
||||||
* renderer.saveGLStates()
|
* renderer.saveGLStates()
|
||||||
@ -336,6 +337,7 @@ void Init_Renderer( void )
|
|||||||
* SFML::Drawable class that uses raw geometry in its Render function.
|
* SFML::Drawable class that uses raw geometry in its Render function.
|
||||||
*/
|
*/
|
||||||
globalRendererClass = rb_define_class_under( sfml, "Renderer", rb_cObject );
|
globalRendererClass = rb_define_class_under( sfml, "Renderer", rb_cObject );
|
||||||
|
rb_include_module( globalRendererClass, globalNonCopyableModule );
|
||||||
DefinePrimitiveTypesEnum();
|
DefinePrimitiveTypesEnum();
|
||||||
|
|
||||||
// Instance methods
|
// Instance methods
|
||||||
|
@ -46,6 +46,7 @@ VALUE globalBlendNamespace;
|
|||||||
VALUE globalVector2Class;
|
VALUE globalVector2Class;
|
||||||
VALUE globalVector3Class;
|
VALUE globalVector3Class;
|
||||||
VALUE globalWindowClass;
|
VALUE globalWindowClass;
|
||||||
|
VALUE globalNonCopyableModule;
|
||||||
|
|
||||||
static bool CheckDependencies( void )
|
static bool CheckDependencies( void )
|
||||||
{
|
{
|
||||||
@ -78,6 +79,7 @@ void Init_graphics( void )
|
|||||||
globalVector2Class = RetrieveSFMLClass( "Vector2" );
|
globalVector2Class = RetrieveSFMLClass( "Vector2" );
|
||||||
globalVector3Class = RetrieveSFMLClass( "Vector3" );
|
globalVector3Class = RetrieveSFMLClass( "Vector3" );
|
||||||
globalWindowClass = RetrieveSFMLClass( "Window" );
|
globalWindowClass = RetrieveSFMLClass( "Window" );
|
||||||
|
globalNonCopyableModule = RetrieveSFMLClass( "NonCopyable" );
|
||||||
rb_define_const(globalSFMLNamespace, "GraphicsLoaded", Qtrue);
|
rb_define_const(globalSFMLNamespace, "GraphicsLoaded", Qtrue);
|
||||||
|
|
||||||
CreateBlendEnum();
|
CreateBlendEnum();
|
||||||
|
@ -26,6 +26,9 @@
|
|||||||
|
|
||||||
VALUE globalContextClass;
|
VALUE globalContextClass;
|
||||||
|
|
||||||
|
/* External classes */
|
||||||
|
extern VALUE globalNonCopyableModule;
|
||||||
|
|
||||||
/* Free a heap allocated object
|
/* Free a heap allocated object
|
||||||
* Not accessible trough ruby directly!
|
* Not accessible trough ruby directly!
|
||||||
*/
|
*/
|
||||||
@ -109,6 +112,7 @@ void Init_Context( void )
|
|||||||
* the attached resources.
|
* the attached resources.
|
||||||
*/
|
*/
|
||||||
globalContextClass = rb_define_class_under( sfml, "Context", rb_cObject );
|
globalContextClass = rb_define_class_under( sfml, "Context", rb_cObject );
|
||||||
|
rb_include_module( globalContextClass, globalNonCopyableModule );
|
||||||
|
|
||||||
// Class methods
|
// Class methods
|
||||||
rb_define_singleton_method( globalContextClass, "new", Context_New, 0 );
|
rb_define_singleton_method( globalContextClass, "new", Context_New, 0 );
|
||||||
|
@ -26,6 +26,9 @@
|
|||||||
|
|
||||||
VALUE globalInputClass;
|
VALUE globalInputClass;
|
||||||
|
|
||||||
|
/* External classes */
|
||||||
|
extern VALUE globalNonCopyableModule;
|
||||||
|
|
||||||
/* Free a heap allocated object
|
/* Free a heap allocated object
|
||||||
* Not accessible trough ruby directly!
|
* Not accessible trough ruby directly!
|
||||||
*/
|
*/
|
||||||
@ -178,6 +181,7 @@ void Init_Input( void )
|
|||||||
* entity.move( 0, offset ) if input.keyDown?( SFML::Key::Down )
|
* entity.move( 0, offset ) if input.keyDown?( SFML::Key::Down )
|
||||||
*/
|
*/
|
||||||
globalInputClass = rb_define_class_under( sfml, "Input", rb_cObject );
|
globalInputClass = rb_define_class_under( sfml, "Input", rb_cObject );
|
||||||
|
rb_include_module( globalInputClass, globalNonCopyableModule );
|
||||||
|
|
||||||
// Class methods
|
// Class methods
|
||||||
rb_define_singleton_method( globalInputClass, "new", Input_New, -1 );
|
rb_define_singleton_method( globalInputClass, "new", Input_New, -1 );
|
||||||
|
@ -34,6 +34,7 @@ extern VALUE globalContextSettingsClass;
|
|||||||
extern VALUE globalEventClass;
|
extern VALUE globalEventClass;
|
||||||
extern VALUE globalInputClass;
|
extern VALUE globalInputClass;
|
||||||
extern VALUE globalVector2Class;
|
extern VALUE globalVector2Class;
|
||||||
|
extern VALUE globalNonCopyableModule;
|
||||||
|
|
||||||
/* Free a heap allocated object
|
/* Free a heap allocated object
|
||||||
* Not accessible trough ruby directly!
|
* Not accessible trough ruby directly!
|
||||||
@ -676,6 +677,7 @@ void Init_Window( void )
|
|||||||
* end
|
* end
|
||||||
*/
|
*/
|
||||||
globalWindowClass = rb_define_class_under( sfml, "Window", rb_cObject );
|
globalWindowClass = rb_define_class_under( sfml, "Window", rb_cObject );
|
||||||
|
rb_include_module( globalWindowClass, globalNonCopyableModule );
|
||||||
|
|
||||||
// Class methods
|
// Class methods
|
||||||
rb_define_singleton_method( globalWindowClass, "new", Window_New , -1 );
|
rb_define_singleton_method( globalWindowClass, "new", Window_New , -1 );
|
||||||
|
@ -41,6 +41,7 @@ VALUE globalStyleNamespace;
|
|||||||
|
|
||||||
/* External classes */
|
/* External classes */
|
||||||
VALUE globalVector2Class;
|
VALUE globalVector2Class;
|
||||||
|
VALUE globalNonCopyableModule;
|
||||||
|
|
||||||
static const char * keyNamesMisc[] =
|
static const char * keyNamesMisc[] =
|
||||||
{
|
{
|
||||||
@ -162,6 +163,7 @@ void Init_window( void )
|
|||||||
}
|
}
|
||||||
|
|
||||||
globalVector2Class = RetrieveSFMLClass( "Vector2" );
|
globalVector2Class = RetrieveSFMLClass( "Vector2" );
|
||||||
|
globalNonCopyableModule = RetrieveSFMLClass( "NonCopyable" );
|
||||||
|
|
||||||
rb_define_const( globalSFMLNamespace, "WindowLoaded", Qtrue );
|
rb_define_const( globalSFMLNamespace, "WindowLoaded", Qtrue );
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user