diff --git a/bindings/ruby/sfml-system/doc/classes/SFML.html b/bindings/ruby/sfml-system/doc/classes/SFML.html new file mode 100644 index 00000000..82e09f17 --- /dev/null +++ b/bindings/ruby/sfml-system/doc/classes/SFML.html @@ -0,0 +1,145 @@ + + + + +
+Module | +SFML | +
In: | +
+
+ system/Vector3.cpp
+
+ + + system/main.cpp + + + + system/Clock.cpp + + + + system/Vector2.cpp + + + |
+
+SFML namespace which contains the classes of this +module. +
+ +SystemLoaded | += | +Qtrue | +
Class | +SFML::Clock | +
In: | +
+
+ system/Vector3.cpp
+
+ + |
+
Parent: | ++ Object + | +
+Utility class for manipulating time. +
++sf::Clock is a lightweight class for measuring +time. +
++Its resolution depends on the underlying OS, but you can generally expect a +1 ms resolution. +
+ +/* call-seq: + * Clock.new() -> clock + * + * The clock starts automatically after being constructed. + */ +static VALUE Clock_New( VALUE aKlass ) +{ + sf::Clock *object = new sf::Clock(); + VALUE rbData = Data_Wrap_Struct( aKlass, 0, Clock_Free, object ); + rb_obj_call_init( rbData, 0, 0 ); + return rbData; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-system/doc/classes/SFML/Clock.src/M000002.html b/bindings/ruby/sfml-system/doc/classes/SFML/Clock.src/M000002.html new file mode 100644 index 00000000..61c86119 --- /dev/null +++ b/bindings/ruby/sfml-system/doc/classes/SFML/Clock.src/M000002.html @@ -0,0 +1,26 @@ + + + + + +
/* call-seq: + * clock.getElapsedTime() -> Float + * + * This function returns the time elapsed since the last call to Reset() + * (or the construction of the instance if Reset() has not been called) in seconds. + */ +static VALUE Clock_GetElapsedTime( VALUE self ) +{ + sf::Clock *object = NULL; + Data_Get_Struct( self, sf::Clock, object ); + return rb_float_new( object->GetElapsedTime() ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-system/doc/classes/SFML/Clock.src/M000003.html b/bindings/ruby/sfml-system/doc/classes/SFML/Clock.src/M000003.html new file mode 100644 index 00000000..30e77124 --- /dev/null +++ b/bindings/ruby/sfml-system/doc/classes/SFML/Clock.src/M000003.html @@ -0,0 +1,26 @@ + + + + + +
/* call-seq: + * clock.reset() -> nil + * + * This function puts the time counter back to zero. + */ +static VALUE Clock_Reset( VALUE self ) +{ + sf::Clock *object = NULL; + Data_Get_Struct( self, sf::Clock, object ); + object->Reset(); + return Qnil; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-system/doc/classes/SFML/Vector2.html b/bindings/ruby/sfml-system/doc/classes/SFML/Vector2.html new file mode 100644 index 00000000..0636fbfd --- /dev/null +++ b/bindings/ruby/sfml-system/doc/classes/SFML/Vector2.html @@ -0,0 +1,295 @@ + + + + + +
Class | +SFML::Vector2 | +
In: | +
+
+ system/Vector3.cpp
+
+ + |
+
Parent: | ++ Object + | +
+SFML::Vector2 is a simple class that defines a +mathematical vector with two coordinates (x and y). +
++It can be used to represent anything that has two dimensions: a size, a +point, a velocity, etc. +
++This class differs from the C++ version. It will accept any value that is +Numeric and both x and y must be of the same class. +
++ v1 = SFML::Vector2.new(16.5, 24.0) + v1.x = 18.2 + y = v1.y + + v2 = v1 * v1; + v3 = SFML::Vector2.new + v3 = v1 + v2 + + different = (v2 != v3); ++ +
x | +[RW] | ++ |
y | +[RW] | ++ |
+Create a new vector instance. +
+/* call-seq: + * Vector2.new() -> vector + * Vector2.new([x,y]) -> vector + * Vector2.new(vector) -> vector + * Vector2.new(x,y) -> vector + * + * Create a new vector instance. + */ +static VALUE Vector2_Initialize( VALUE self, VALUE someArgs ) +{ + long arrayLength = RARRAY_LEN( someArgs ); + rb_iv_set( self, "@x", INT2NUM( 0 ) ); + rb_iv_set( self, "@y", INT2NUM( 0 ) ); + + if( arrayLength == 0 ) + { + // Nothing needs to be done + } + else if( arrayLength == 1 ) + { + Vector2_internal_CopyFrom( self, rb_ary_entry( someArgs, 0 ) ); + } + else if( arrayLength == 2 ) + { + VALUE arg1 = rb_ary_entry( someArgs, 0 ); + VALUE arg2 = rb_ary_entry( someArgs, 1 ); + Vector2_internal_ValidateTypes( arg1, arg2 ); + + rb_iv_set( self, "@x", arg1 ); + rb_iv_set( self, "@y", arg2 ); + } + + rb_iv_set( self, "@dataType", CLASS_OF( rb_iv_get( self, "@x" ) ) ); + return self; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-system/doc/classes/SFML/Vector2.src/M000007.html b/bindings/ruby/sfml-system/doc/classes/SFML/Vector2.src/M000007.html new file mode 100644 index 00000000..36e91e69 --- /dev/null +++ b/bindings/ruby/sfml-system/doc/classes/SFML/Vector2.src/M000007.html @@ -0,0 +1,33 @@ + + + + + +
/* */ +static VALUE Vector2_StrictEqual( VALUE self, VALUE anArgument ) +{ + VALUE aVector = Vector2_ForceType( anArgument ); + VALUE leftX = rb_funcall( self, rb_intern( "x" ), 0 ); + VALUE leftY = rb_funcall( self, rb_intern( "y" ), 0 ); + VALUE rightX = rb_funcall( aVector, rb_intern( "x" ), 0 ); + VALUE rightY = rb_funcall( aVector, rb_intern( "y" ), 0 ); + + if( rb_funcall( leftX, rb_intern( "eql?" ), 1, rightX ) == Qtrue && + rb_funcall( leftY, rb_intern( "eql?" ), 1, rightY ) == Qtrue ) + { + return Qtrue; + } + else + { + return Qfalse; + } +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-system/doc/classes/SFML/Vector2.src/M000008.html b/bindings/ruby/sfml-system/doc/classes/SFML/Vector2.src/M000008.html new file mode 100644 index 00000000..fbae0ebf --- /dev/null +++ b/bindings/ruby/sfml-system/doc/classes/SFML/Vector2.src/M000008.html @@ -0,0 +1,23 @@ + + + + + +
/* */ +static VALUE Vector2_Negate( VALUE self ) +{ + VALUE x = rb_funcall( self, rb_intern( "x" ), 0 ); + VALUE y = rb_funcall( self, rb_intern( "y" ), 0 ); + VALUE negatedX = rb_funcall( x, rb_intern( "-@" ), 0 ); + VALUE negatedY = rb_funcall( y, rb_intern( "-@" ), 0 ); + return rb_funcall( globalVector2Class, rb_intern( "new" ), 2, negatedX, negatedY ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-system/doc/classes/SFML/Vector2.src/M000009.html b/bindings/ruby/sfml-system/doc/classes/SFML/Vector2.src/M000009.html new file mode 100644 index 00000000..0a36faa9 --- /dev/null +++ b/bindings/ruby/sfml-system/doc/classes/SFML/Vector2.src/M000009.html @@ -0,0 +1,30 @@ + + + + + +
/* */ +static VALUE Vector2_Add( VALUE self, VALUE aRightOperand ) +{ + VALUE rightVector = Vector2_ForceType( aRightOperand ); + // Get values + VALUE leftX = rb_funcall( self, rb_intern( "x" ), 0 ); + VALUE leftY = rb_funcall( self, rb_intern( "y" ), 0 ); + VALUE rightX = rb_funcall( rightVector, rb_intern( "x" ), 0 ); + VALUE rightY = rb_funcall( rightVector, rb_intern( "y" ), 0 ); + + // Do calculation + VALUE newX = rb_funcall( leftX, rb_intern( "+" ), 1, rightX ); + VALUE newY = rb_funcall( leftY, rb_intern( "+" ), 1, rightY ); + + return rb_funcall( globalVector2Class, rb_intern( "new" ), 2, newX, newY ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-system/doc/classes/SFML/Vector2.src/M000010.html b/bindings/ruby/sfml-system/doc/classes/SFML/Vector2.src/M000010.html new file mode 100644 index 00000000..ef23af0a --- /dev/null +++ b/bindings/ruby/sfml-system/doc/classes/SFML/Vector2.src/M000010.html @@ -0,0 +1,30 @@ + + + + + +
/* */ +static VALUE Vector2_Subtract( VALUE self, VALUE aRightOperand ) +{ + VALUE rightVector = Vector2_ForceType( aRightOperand ); + // Get values + VALUE leftX = rb_funcall( self, rb_intern( "x" ), 0 ); + VALUE leftY = rb_funcall( self, rb_intern( "y" ), 0 ); + VALUE rightX = rb_funcall( rightVector, rb_intern( "x" ), 0 ); + VALUE rightY = rb_funcall( rightVector, rb_intern( "y" ), 0 ); + + // Do calculation + VALUE newX = rb_funcall( leftX, rb_intern( "-" ), 1, rightX ); + VALUE newY = rb_funcall( leftY, rb_intern( "-" ), 1, rightY ); + + return rb_funcall( globalVector2Class, rb_intern( "new" ), 2, newX, newY ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-system/doc/classes/SFML/Vector2.src/M000011.html b/bindings/ruby/sfml-system/doc/classes/SFML/Vector2.src/M000011.html new file mode 100644 index 00000000..af440437 --- /dev/null +++ b/bindings/ruby/sfml-system/doc/classes/SFML/Vector2.src/M000011.html @@ -0,0 +1,30 @@ + + + + + +
/* */ +static VALUE Vector2_Multiply( VALUE self, VALUE aRightOperand ) +{ + VALUE rightVector = Vector2_ForceType( aRightOperand ); + // Get values + VALUE leftX = rb_funcall( self, rb_intern( "x" ), 0 ); + VALUE leftY = rb_funcall( self, rb_intern( "y" ), 0 ); + VALUE rightX = rb_funcall( rightVector, rb_intern( "x" ), 0 ); + VALUE rightY = rb_funcall( rightVector, rb_intern( "y" ), 0 ); + + // Do calculation + VALUE newX = rb_funcall( leftX, rb_intern( "*" ), 1, rightX ); + VALUE newY = rb_funcall( leftY, rb_intern( "*" ), 1, rightY ); + + return rb_funcall( globalVector2Class, rb_intern( "new" ), 2, newX, newY ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-system/doc/classes/SFML/Vector2.src/M000012.html b/bindings/ruby/sfml-system/doc/classes/SFML/Vector2.src/M000012.html new file mode 100644 index 00000000..6189e002 --- /dev/null +++ b/bindings/ruby/sfml-system/doc/classes/SFML/Vector2.src/M000012.html @@ -0,0 +1,30 @@ + + + + + +
/* */ +static VALUE Vector2_Divide( VALUE self, VALUE aRightOperand ) +{ + VALUE rightVector = Vector2_ForceType( aRightOperand ); + // Get values + VALUE leftX = rb_funcall( self, rb_intern( "x" ), 0 ); + VALUE leftY = rb_funcall( self, rb_intern( "y" ), 0 ); + VALUE rightX = rb_funcall( rightVector, rb_intern( "x" ), 0 ); + VALUE rightY = rb_funcall( rightVector, rb_intern( "y" ), 0 ); + + // Do calculation + VALUE newX = rb_funcall( leftX, rb_intern( "/" ), 1, rightX ); + VALUE newY = rb_funcall( leftY, rb_intern( "/" ), 1, rightY ); + + return rb_funcall( globalVector2Class, rb_intern( "new" ), 2, newX, newY ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-system/doc/classes/SFML/Vector2.src/M000013.html b/bindings/ruby/sfml-system/doc/classes/SFML/Vector2.src/M000013.html new file mode 100644 index 00000000..225b6f42 --- /dev/null +++ b/bindings/ruby/sfml-system/doc/classes/SFML/Vector2.src/M000013.html @@ -0,0 +1,33 @@ + + + + + +
/* */ +static VALUE Vector2_Equal( VALUE self, VALUE anArgument ) +{ + VALUE aVector = Vector2_ForceType( anArgument ); + VALUE leftX = rb_funcall( self, rb_intern( "x" ), 0 ); + VALUE leftY = rb_funcall( self, rb_intern( "y" ), 0 ); + VALUE rightX = rb_funcall( aVector, rb_intern( "x" ), 0 ); + VALUE rightY = rb_funcall( aVector, rb_intern( "y" ), 0 ); + + if( rb_funcall( leftX, rb_intern( "==" ), 1, rightX ) == Qtrue && + rb_funcall( leftY, rb_intern( "==" ), 1, rightY ) == Qtrue ) + { + return Qtrue; + } + else + { + return Qfalse; + } +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-system/doc/classes/SFML/Vector3.html b/bindings/ruby/sfml-system/doc/classes/SFML/Vector3.html new file mode 100644 index 00000000..12c95d9a --- /dev/null +++ b/bindings/ruby/sfml-system/doc/classes/SFML/Vector3.html @@ -0,0 +1,300 @@ + + + + + +
Class | +SFML::Vector3 | +
In: | +
+
+ system/Vector3.cpp
+
+ + |
+
Parent: | ++ Object + | +
+SFML::Vector3 is a simple class that defines a +mathematical vector with three coordinates (x, y and z). +
++It can be used to represent anything that has three dimensions: a size, a +point, a velocity, etc. +
++This class differs from the C++ version. It will accept any value that is +Numeric and both x, y an z must be of the same class. +
++ v1 = SFML::Vector3.new(16.5, 24.0, -8.2) + v1.z = 18.2 + y = v1.y + + v2 = v1 * v1; + v3 = SFML::Vector3.new + v3 = v1 + v2 + + different = (v2 != v3); ++ +
x | +[RW] | ++ |
y | +[RW] | ++ |
z | +[RW] | ++ |
+Create a new vector instance. +
+/* call-seq: + * Vector3.new() -> vector + * Vector3.new([x,y,z]) -> vector + * Vector3.new(vector) -> vector + * Vector3.new(x,y,z) -> vector + * + * Create a new vector instance. + */ +static VALUE Vector3_Initialize( VALUE self, VALUE someArgs ) +{ + long arrayLength = RARRAY_LEN( someArgs ); + rb_iv_set( self, "@x", INT2NUM( 0 ) ); + rb_iv_set( self, "@y", INT2NUM( 0 ) ); + rb_iv_set( self, "@z", INT2NUM( 0 ) ); + + if( arrayLength == 0 ) + { + // Nothing needs to be done + } + else if( arrayLength == 1 ) + { + Vector3_internal_CopyFrom( self, rb_ary_entry( someArgs, 0 ) ); + } + else if( arrayLength == 3 ) + { + VALUE arg1 = rb_ary_entry( someArgs, 0 ); + VALUE arg2 = rb_ary_entry( someArgs, 1 ); + VALUE arg3 = rb_ary_entry( someArgs, 1 ); + Vector3_internal_ValidateTypes( arg1, arg2, arg3 ); + + rb_iv_set( self, "@x", arg1 ); + rb_iv_set( self, "@y", arg2 ); + rb_iv_set( self, "@z", arg3 ); + } + + rb_iv_set( self, "@dataType", CLASS_OF( rb_iv_get( self, "@x" ) ) ); + return self; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-system/doc/classes/SFML/Vector3.src/M000015.html b/bindings/ruby/sfml-system/doc/classes/SFML/Vector3.src/M000015.html new file mode 100644 index 00000000..16d26607 --- /dev/null +++ b/bindings/ruby/sfml-system/doc/classes/SFML/Vector3.src/M000015.html @@ -0,0 +1,36 @@ + + + + + +
/* */ +static VALUE Vector3_StrictEqual( VALUE self, VALUE anArgument ) +{ + VALUE aVector = Vector3_ForceType( anArgument ); + VALUE leftX = rb_funcall( self, rb_intern( "x" ), 0 ); + VALUE leftY = rb_funcall( self, rb_intern( "y" ), 0 ); + VALUE leftZ = rb_funcall( self, rb_intern( "z" ), 0 ); + VALUE rightX = rb_funcall( aVector, rb_intern( "x" ), 0 ); + VALUE rightY = rb_funcall( aVector, rb_intern( "y" ), 0 ); + VALUE rightZ = rb_funcall( aVector, rb_intern( "z" ), 0 ); + + if( rb_funcall( leftX, rb_intern( "eql?" ), 1, rightX ) == Qtrue && + rb_funcall( leftY, rb_intern( "eql?" ), 1, rightY ) == Qtrue && + rb_funcall( leftZ, rb_intern( "eql?" ), 1, rightZ ) == Qtrue ) + { + return Qtrue; + } + else + { + return Qfalse; + } +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-system/doc/classes/SFML/Vector3.src/M000016.html b/bindings/ruby/sfml-system/doc/classes/SFML/Vector3.src/M000016.html new file mode 100644 index 00000000..802f50eb --- /dev/null +++ b/bindings/ruby/sfml-system/doc/classes/SFML/Vector3.src/M000016.html @@ -0,0 +1,25 @@ + + + + + +
/* */ +static VALUE Vector3_Negate( VALUE self ) +{ + VALUE x = rb_funcall( self, rb_intern( "x" ), 0 ); + VALUE y = rb_funcall( self, rb_intern( "y" ), 0 ); + VALUE z = rb_funcall( self, rb_intern( "y" ), 0 ); + VALUE negatedX = rb_funcall( x, rb_intern( "-@" ), 0 ); + VALUE negatedY = rb_funcall( y, rb_intern( "-@" ), 0 ); + VALUE negatedZ = rb_funcall( z, rb_intern( "-@" ), 0 ); + return rb_funcall( globalVector3Class, rb_intern( "new" ), 2, negatedX, negatedY, negatedZ ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-system/doc/classes/SFML/Vector3.src/M000017.html b/bindings/ruby/sfml-system/doc/classes/SFML/Vector3.src/M000017.html new file mode 100644 index 00000000..2495bd12 --- /dev/null +++ b/bindings/ruby/sfml-system/doc/classes/SFML/Vector3.src/M000017.html @@ -0,0 +1,33 @@ + + + + + +
/* */ +static VALUE Vector3_Add( VALUE self, VALUE aRightOperand ) +{ + VALUE rightVector = Vector3_ForceType( aRightOperand ); + // Get values + VALUE leftX = rb_funcall( self, rb_intern( "x" ), 0 ); + VALUE leftY = rb_funcall( self, rb_intern( "y" ), 0 ); + VALUE leftZ = rb_funcall( self, rb_intern( "z" ), 0 ); + VALUE rightX = rb_funcall( rightVector, rb_intern( "x" ), 0 ); + VALUE rightY = rb_funcall( rightVector, rb_intern( "y" ), 0 ); + VALUE rightZ = rb_funcall( rightVector, rb_intern( "z" ), 0 ); + + // Do calculation + VALUE newX = rb_funcall( leftX, rb_intern( "+" ), 1, rightX ); + VALUE newY = rb_funcall( leftY, rb_intern( "+" ), 1, rightY ); + VALUE newZ = rb_funcall( leftZ, rb_intern( "+" ), 1, rightZ ); + + return rb_funcall( globalVector3Class, rb_intern( "new" ), 2, newX, newY, newZ ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-system/doc/classes/SFML/Vector3.src/M000018.html b/bindings/ruby/sfml-system/doc/classes/SFML/Vector3.src/M000018.html new file mode 100644 index 00000000..6820db78 --- /dev/null +++ b/bindings/ruby/sfml-system/doc/classes/SFML/Vector3.src/M000018.html @@ -0,0 +1,33 @@ + + + + + +
/* */ +static VALUE Vector3_Subtract( VALUE self, VALUE aRightOperand ) +{ + VALUE rightVector = Vector3_ForceType( aRightOperand ); + // Get values + VALUE leftX = rb_funcall( self, rb_intern( "x" ), 0 ); + VALUE leftY = rb_funcall( self, rb_intern( "y" ), 0 ); + VALUE leftZ = rb_funcall( self, rb_intern( "z" ), 0 ); + VALUE rightX = rb_funcall( rightVector, rb_intern( "x" ), 0 ); + VALUE rightY = rb_funcall( rightVector, rb_intern( "y" ), 0 ); + VALUE rightZ = rb_funcall( rightVector, rb_intern( "z" ), 0 ); + + // Do calculation + VALUE newX = rb_funcall( leftX, rb_intern( "-" ), 1, rightX ); + VALUE newY = rb_funcall( leftY, rb_intern( "-" ), 1, rightY ); + VALUE newZ = rb_funcall( leftZ, rb_intern( "-" ), 1, rightZ ); + + return rb_funcall( globalVector3Class, rb_intern( "new" ), 2, newX, newY, newZ ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-system/doc/classes/SFML/Vector3.src/M000019.html b/bindings/ruby/sfml-system/doc/classes/SFML/Vector3.src/M000019.html new file mode 100644 index 00000000..9fd2a41a --- /dev/null +++ b/bindings/ruby/sfml-system/doc/classes/SFML/Vector3.src/M000019.html @@ -0,0 +1,33 @@ + + + + + +
/* */ +static VALUE Vector3_Multiply( VALUE self, VALUE aRightOperand ) +{ + VALUE rightVector = Vector3_ForceType( aRightOperand ); + // Get values + VALUE leftX = rb_funcall( self, rb_intern( "x" ), 0 ); + VALUE leftY = rb_funcall( self, rb_intern( "y" ), 0 ); + VALUE leftZ = rb_funcall( self, rb_intern( "z" ), 0 ); + VALUE rightX = rb_funcall( rightVector, rb_intern( "x" ), 0 ); + VALUE rightY = rb_funcall( rightVector, rb_intern( "y" ), 0 ); + VALUE rightZ = rb_funcall( rightVector, rb_intern( "z" ), 0 ); + + // Do calculation + VALUE newX = rb_funcall( leftX, rb_intern( "*" ), 1, rightX ); + VALUE newY = rb_funcall( leftY, rb_intern( "*" ), 1, rightY ); + VALUE newZ = rb_funcall( leftZ, rb_intern( "*" ), 1, rightZ ); + + return rb_funcall( globalVector3Class, rb_intern( "new" ), 2, newX, newY, newZ ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-system/doc/classes/SFML/Vector3.src/M000020.html b/bindings/ruby/sfml-system/doc/classes/SFML/Vector3.src/M000020.html new file mode 100644 index 00000000..8a556863 --- /dev/null +++ b/bindings/ruby/sfml-system/doc/classes/SFML/Vector3.src/M000020.html @@ -0,0 +1,33 @@ + + + + + +
/* */ +static VALUE Vector3_Divide( VALUE self, VALUE aRightOperand ) +{ + VALUE rightVector = Vector3_ForceType( aRightOperand ); + // Get values + VALUE leftX = rb_funcall( self, rb_intern( "x" ), 0 ); + VALUE leftY = rb_funcall( self, rb_intern( "y" ), 0 ); + VALUE leftZ = rb_funcall( self, rb_intern( "z" ), 0 ); + VALUE rightX = rb_funcall( rightVector, rb_intern( "x" ), 0 ); + VALUE rightY = rb_funcall( rightVector, rb_intern( "y" ), 0 ); + VALUE rightZ = rb_funcall( rightVector, rb_intern( "z" ), 0 ); + + // Do calculation + VALUE newX = rb_funcall( leftX, rb_intern( "/" ), 1, rightX ); + VALUE newY = rb_funcall( leftY, rb_intern( "/" ), 1, rightY ); + VALUE newZ = rb_funcall( leftZ, rb_intern( "/" ), 1, rightZ ); + + return rb_funcall( globalVector3Class, rb_intern( "new" ), 2, newX, newY, newZ ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-system/doc/classes/SFML/Vector3.src/M000021.html b/bindings/ruby/sfml-system/doc/classes/SFML/Vector3.src/M000021.html new file mode 100644 index 00000000..41820143 --- /dev/null +++ b/bindings/ruby/sfml-system/doc/classes/SFML/Vector3.src/M000021.html @@ -0,0 +1,36 @@ + + + + + +
/* */ +static VALUE Vector3_Equal( VALUE self, VALUE anArgument ) +{ + VALUE aVector = Vector3_ForceType( anArgument ); + VALUE leftX = rb_funcall( self, rb_intern( "x" ), 0 ); + VALUE leftY = rb_funcall( self, rb_intern( "y" ), 0 ); + VALUE leftZ = rb_funcall( self, rb_intern( "z" ), 0 ); + VALUE rightX = rb_funcall( aVector, rb_intern( "x" ), 0 ); + VALUE rightY = rb_funcall( aVector, rb_intern( "y" ), 0 ); + VALUE rightZ = rb_funcall( aVector, rb_intern( "z" ), 0 ); + + if( rb_funcall( leftX, rb_intern( "==" ), 1, rightX ) == Qtrue && + rb_funcall( leftY, rb_intern( "==" ), 1, rightY ) == Qtrue && + rb_funcall( leftZ, rb_intern( "==" ), 1, rightZ ) == Qtrue ) + { + return Qtrue; + } + else + { + return Qfalse; + } +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-system/doc/created.rid b/bindings/ruby/sfml-system/doc/created.rid new file mode 100644 index 00000000..d749879d --- /dev/null +++ b/bindings/ruby/sfml-system/doc/created.rid @@ -0,0 +1 @@ +Tue, 16 Nov 2010 17:24:00 +0100 diff --git a/bindings/ruby/sfml-system/doc/files/extconf_rb.html b/bindings/ruby/sfml-system/doc/files/extconf_rb.html new file mode 100644 index 00000000..3bbbe6bd --- /dev/null +++ b/bindings/ruby/sfml-system/doc/files/extconf_rb.html @@ -0,0 +1,137 @@ + + + + + +
Path: | +extconf.rb + | +
Last Update: | +Wed Nov 03 08:57:19 +0100 2010 | +
+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: +
+Path: | +system/Clock.cpp + | +
Last Update: | +Tue Nov 16 17:17:03 +0100 2010 | +
Path: | +system/Vector2.cpp + | +
Last Update: | +Tue Nov 16 17:21:27 +0100 2010 | +
Path: | +system/Vector3.cpp + | +
Last Update: | +Tue Nov 16 17:20:51 +0100 2010 | +
Path: | +system/main.cpp + | +
Last Update: | +Tue Nov 16 17:08:37 +0100 2010 | +
Module | +SFML | +
In: | +
+
+ window/main.cpp
+
+ + + window/ContextSettings.cpp + + + + window/Event.cpp + + + + window/VideoMode.cpp + + + + window/Context.cpp + + + + window/Window.cpp + + + + window/Input.cpp + + + |
+
+SFML namespace which contains the classes of this +module. +
+ +WindowLoaded | += | +Qtrue | +
Class | +SFML::Context | +
In: | +
+
+ window/main.cpp
+
+ + |
+
Parent: | ++ Object + | +
+If you need to make OpenGL / graphics calls without having an active window +(like in a thread), you can use an instance of this class to get a valid +context. +
++Having a valid context is necessary for every OpenGL call, and for +most of the classes from the Graphics package. +
++Note that a context is only active in its current thread, if you create a +new thread it will have no valid context +by default. +
++To use a sf::Context instance, just construct it +and let it live as long as you need a valid context. No explicit activation +is needed, all it has to do is to exist. Its destructor will take care of +deactivating and freeing all the attached resources. +
+ ++This function is meant to be called internally; it is used to deactivate +the current context by activating another one (so that we still have an +active context on the current thread). +
+/* call-seq: + * Context.new() -> context + * + * The constructor creates and activates the context + */ +static VALUE Context_New( VALUE aKlass ) +{ + sf::Context *object = new sf::Context(); + VALUE rbData = Data_Wrap_Struct( aKlass, 0, Context_Free, object ); + rb_obj_call_init( rbData, 0, 0 ); + return rbData; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Context.src/M000034.html b/bindings/ruby/sfml-window/doc/classes/SFML/Context.src/M000034.html new file mode 100644 index 00000000..727822cd --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Context.src/M000034.html @@ -0,0 +1,32 @@ + + + + + +
/* call-seq: + * Context.SetReferenceActive() -> true or false + * + * This function is meant to be called internally; it is used to deactivate the + * current context by activating another one (so that we still have an active + * context on the current thread). + */ +static VALUE Context_SetReferenceActive( VALUE aKlass ) +{ + if( sf::Context::SetReferenceActive() == true ) + { + return Qtrue; + } + else + { + return Qfalse; + } +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Context.src/M000035.html b/bindings/ruby/sfml-window/doc/classes/SFML/Context.src/M000035.html new file mode 100644 index 00000000..95d8e31d --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Context.src/M000035.html @@ -0,0 +1,36 @@ + + + + + +
/* call-seq: + * context.SetActive(bool) -> nil + * + * Activate or deactivate explicitely the context. + */ +static VALUE Context_SetActive( VALUE self, VALUE anArgument ) +{ + sf::Context *object = NULL; + Data_Get_Struct( self, sf::Context, object ); + switch( anArgument ) + { + case Qtrue: + object->SetActive( true ); + break; + case Qfalse: + object->SetActive( false ); + break; + default: + rb_raise( rb_eTypeError, "expected true or false" ); + } + return Qnil; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.html b/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.html new file mode 100644 index 00000000..a121188b --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.html @@ -0,0 +1,670 @@ + + + + + +
Class | +SFML::ContextSettings | +
In: | +
+
+ window/main.cpp
+
+ + |
+
Parent: | ++ Object + | +
+ContextSettings allows to define several +advanced settings of the OpenGL context attached to a window. +
++All these settings have no impact on the regular SFML rendering (graphics module) — except the +anti-aliasing level, so you may need to use this structure only if +you‘re using SFML as a windowing system +for custom OpenGL rendering. +
++The DepthBits and StencilBits members define the number of bits per pixel +requested for the (respectively) depth and stencil buffers. +
++AntialiasingLevel represents the requested number of multisampling levels +for anti-aliasing. +
++MajorVersion and MinorVersion define the version of the OpenGL context that +you want. Only versions greater or equal to 3.0 are relevant; versions +lesser than 3.0 are all handled the same way (i.e. you can use any version +< 3.0 if you don‘t want an OpenGL 3 context). +
++Please note that these values are only a hint. No failure will be reported +if one or more of these values are not supported by the system; instead, SFML will try to find the closest valid match. You +can then retrieve the settings that the window actually used to create its +context, with Window::GetSettings(). +
+ ++Level of antialiasing +
++Bits of the stencil buffer +
+/* call-seq: + * ContextSettings.new( depth = 24, stencil = 8, antialiasing = 0, major = 2, minor = 0) -> settings + * + * The constructor creates the settings + */ +static VALUE ContextSettings_New( VALUE aKlass, VALUE someArgs ) +{ + long arrayLength = RARRAY_LEN( someArgs ); + sf::ContextSettings *object = NULL; + if( arrayLength == 0 ) + { + object = new sf::ContextSettings(); + } + else if( arrayLength == 1 ) + { + VALUE arg1 = rb_ary_entry( someArgs, 0 ); + object = new sf::ContextSettings( NUM2UINT( arg1 ) ); + } + else if( arrayLength == 2 ) + { + VALUE arg1 = rb_ary_entry( someArgs, 0 ); + VALUE arg2 = rb_ary_entry( someArgs, 1 ); + object = new sf::ContextSettings( NUM2UINT( arg1 ), NUM2UINT( arg2 ) ); + } + + else if( arrayLength == 3 ) + { + VALUE arg1 = rb_ary_entry( someArgs, 0 ); + VALUE arg2 = rb_ary_entry( someArgs, 1 ); + VALUE arg3 = rb_ary_entry( someArgs, 2 ); + object = new sf::ContextSettings( NUM2UINT( arg1 ), NUM2UINT( arg2 ), NUM2UINT( arg3 ) ); + } + else if( arrayLength == 4 ) + { + VALUE arg1 = rb_ary_entry( someArgs, 0 ); + VALUE arg2 = rb_ary_entry( someArgs, 1 ); + VALUE arg3 = rb_ary_entry( someArgs, 2 ); + VALUE arg4 = rb_ary_entry( someArgs, 3 ); + object = new sf::ContextSettings( NUM2UINT( arg1 ), NUM2UINT( arg2 ), NUM2UINT( arg3 ), NUM2UINT( arg4 ) ); + } + else if( arrayLength == 5 ) + { + VALUE arg1 = rb_ary_entry( someArgs, 0 ); + VALUE arg2 = rb_ary_entry( someArgs, 1 ); + VALUE arg3 = rb_ary_entry( someArgs, 2 ); + VALUE arg4 = rb_ary_entry( someArgs, 3 ); + VALUE arg5 = rb_ary_entry( someArgs, 4 ); + object = new sf::ContextSettings( NUM2UINT( arg1 ), NUM2UINT( arg2 ), NUM2UINT( arg3 ), NUM2UINT( arg4 ), NUM2UINT( arg5 ) ); + } + else + { + rb_raise( rb_eArgError, "Expected 0..5 arguments but was given %ld", arrayLength ); + return Qnil; + } + + VALUE rbData = Data_Wrap_Struct( aKlass, 0, ContextSettings_Free, object ); + rb_obj_call_init( rbData, 0, 0 ); + return rbData; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000114.html b/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000114.html new file mode 100644 index 00000000..76e81ddf --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000114.html @@ -0,0 +1,25 @@ + + + + + +
/* call-seq: + * settings.depthBits -> depth + * + * Bits of the depth buffer + */ +static VALUE ContextSettings_GetDepth( VALUE self ) +{ + sf::ContextSettings *object = NULL; + Data_Get_Struct( self, sf::ContextSettings, object ); + return INT2FIX( object->DepthBits ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000115.html b/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000115.html new file mode 100644 index 00000000..019d06fe --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000115.html @@ -0,0 +1,25 @@ + + + + + +
/* call-seq: + * settings.depthBits=(new_depth) -> new_depth + * + * Bits of the depth buffer + */ +static VALUE ContextSettings_SetDepth( VALUE self, VALUE aValue ) +{ + sf::ContextSettings *object = NULL; + Data_Get_Struct( self, sf::ContextSettings, object ); + return INT2FIX( object->DepthBits = NUM2UINT( aValue ) ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000116.html b/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000116.html new file mode 100644 index 00000000..e0ba4e50 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000116.html @@ -0,0 +1,25 @@ + + + + + +
/* call-seq: + * settings.stencilBits -> stencil + * + * Bits of the stencil buffer + */ +static VALUE ContextSettings_GetStencil( VALUE self ) +{ + sf::ContextSettings *object = NULL; + Data_Get_Struct( self, sf::ContextSettings, object ); + return INT2FIX( object->StencilBits ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000117.html b/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000117.html new file mode 100644 index 00000000..c23a479d --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000117.html @@ -0,0 +1,25 @@ + + + + + +
/* call-seq: + * settings.stencilBits=(new_stencil) -> new_stencil + * + * Bits of the stencil buffer + */ +static VALUE ContextSettings_SetStencil( VALUE self, VALUE aValue ) +{ + sf::ContextSettings *object = NULL; + Data_Get_Struct( self, sf::ContextSettings, object ); + return INT2FIX( object->StencilBits = NUM2UINT( aValue ) ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000118.html b/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000118.html new file mode 100644 index 00000000..2adf7a1c --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000118.html @@ -0,0 +1,25 @@ + + + + + +
/* call-seq: + * settings.antialiasingLevel -> antialiasing + * + * Level of antialiasing + */ +static VALUE ContextSettings_GetAntialiasing( VALUE self ) +{ + sf::ContextSettings *object = NULL; + Data_Get_Struct( self, sf::ContextSettings, object ); + return INT2FIX( object->AntialiasingLevel ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000119.html b/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000119.html new file mode 100644 index 00000000..0fcc5e8a --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000119.html @@ -0,0 +1,25 @@ + + + + + +
/* call-seq: + * settings.antialiasingLevel=(new_antialiasing) -> new_antialiasing + * + * Level of antialiasing + */ +static VALUE ContextSettings_SetAntialiasing( VALUE self, VALUE aValue ) +{ + sf::ContextSettings *object = NULL; + Data_Get_Struct( self, sf::ContextSettings, object ); + return INT2FIX( object->AntialiasingLevel = NUM2UINT( aValue ) ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000120.html b/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000120.html new file mode 100644 index 00000000..5587949a --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000120.html @@ -0,0 +1,25 @@ + + + + + +
/* call-seq: + * settings.majorVersion -> major + * + * Major number of the context version to create + */ +static VALUE ContextSettings_GetMajorVersion( VALUE self ) +{ + sf::ContextSettings *object = NULL; + Data_Get_Struct( self, sf::ContextSettings, object ); + return INT2FIX( object->MajorVersion ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000121.html b/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000121.html new file mode 100644 index 00000000..4eba16e2 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000121.html @@ -0,0 +1,25 @@ + + + + + +
/* call-seq: + * settings.majorVersion=(new_major) -> new_major + * + * Major number of the context version to create + */ +static VALUE ContextSettings_SetMajorVersion( VALUE self, VALUE aValue ) +{ + sf::ContextSettings *object = NULL; + Data_Get_Struct( self, sf::ContextSettings, object ); + return INT2FIX( object->MajorVersion = NUM2UINT( aValue ) ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000122.html b/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000122.html new file mode 100644 index 00000000..762342ac --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000122.html @@ -0,0 +1,25 @@ + + + + + +
/* call-seq: + * settings.minorVersion -> minor + * + * Minor number of the context version to create + */ +static VALUE ContextSettings_GetMinorVersion( VALUE self ) +{ + sf::ContextSettings *object = NULL; + Data_Get_Struct( self, sf::ContextSettings, object ); + return INT2FIX( object->MinorVersion ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000123.html b/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000123.html new file mode 100644 index 00000000..ef9e2625 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/ContextSettings.src/M000123.html @@ -0,0 +1,25 @@ + + + + + +
/* call-seq: + * settings.minorVersion=(new_minor) -> new_minor + * + * Minor number of the context version to create + */ +static VALUE ContextSettings_SetMinorVersion( VALUE self, VALUE aValue ) +{ + sf::ContextSettings *object = NULL; + Data_Get_Struct( self, sf::ContextSettings, object ); + return INT2FIX( object->MinorVersion = NUM2UINT( aValue ) ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Event.html b/bindings/ruby/sfml-window/doc/classes/SFML/Event.html new file mode 100644 index 00000000..3f536f96 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Event.html @@ -0,0 +1,371 @@ + + + + + +
Class | +SFML::Event | +
In: | +
+
+ window/main.cpp
+
+ + |
+
Parent: | ++ Object + | +
+SFML::Event holds all the informations about a +system event that just happened. +
++Events are retrieved using the SFML::Window#GetEvent function. +
++A SFML::Event instance contains the type of the +event (mouse moved, key pressed, window closed, …) as well as the +details about this particular event. Please note that the event parameters +are defined in a union, which means that only the member matching the type +of the event will be properly filled; all other members will have undefined +values and must not be read if the type of the event doesn‘t match. +For example, if you received a KeyPressed event, then you must read the +event.Key +
++ member, all other members such as event.MouseMove or event.Text will have undefined values. ++
+The ruby version differs from C++ in that the parameters are still stored +in a union but that the values can be directly accessed from the event +object. If you try to access any data which would be considered undefined +then SFML::SomeKindOfException will be thrown. +
++Usage example: +
++ while event = window.getEvent() + + # Request for closing the window + if event.type == SFML::Event::Closed + window.close + + # The escape key was pressed + if ( event.type == sf::Event::KeyPressed ) && ( event.code == SFML::Key::Escape ) + window.close + + # The window was resized + if event.type == SFML::Event::Resized + DoSomethingWithTheNewSize(event.size); + + # etc ... + end ++ +
Closed | += | +INT2NUM( sf::Event::Closed ) | +
Resized | += | +INT2NUM( sf::Event::Resized ) | +
LostFocus | += | +INT2NUM( sf::Event::LostFocus ) | +
GainedFocus | += | +INT2NUM( sf::Event::GainedFocus ) | +
TextEntered | += | +INT2NUM( sf::Event::TextEntered ) | +
KeyPressed | += | +INT2NUM( sf::Event::KeyPressed ) | +
KeyReleased | += | +INT2NUM( sf::Event::KeyReleased ) | +
MouseWheelMoved | += | +INT2NUM( sf::Event::MouseWheelMoved ) | +
MouseButtonPressed | += | +INT2NUM( sf::Event::MouseButtonPressed ) | +
MouseButtonReleased | += | +INT2NUM( sf::Event::MouseButtonReleased ) | +
MouseMoved | += | +INT2NUM( sf::Event::MouseMoved ) | +
MouseEntered | += | +INT2NUM( sf::Event::MouseEntered ) | +
MouseLeft | += | +INT2NUM( sf::Event::MouseLeft ) | +
JoyButtonPressed | += | +INT2NUM( sf::Event::JoyButtonPressed ) | +
JoyButtonReleased | += | +INT2NUM( sf::Event::JoyButtonReleased ) | +
JoyMoved | += | +INT2NUM( sf::Event::JoyMoved ) | +
Count | += | +INT2NUM( sf::Event::Count ) | +
joyButton | +[R] | ++ |
joyMove | +[R] | ++ |
key | +[R] | ++ |
mouseButton | +[R] | ++ |
mouseMove | +[R] | ++ |
mouseWheel | +[R] | ++ |
size | +[R] | ++ |
text | +[R] | ++ |
type | +[R] | ++ |
+You should never call this function directly. You should only aquire +event‘s trough SFML::Window#getEvent or SFML::Window#waitEvent, if you need to pass +data to a method that takes an event instance then make a proxy instance to +simulate an event. NOTE: Using this method works but it will act constant +as you can‘t access any values. +
+/* call-seq: + * Event.new(type) -> event + * + * You should never call this function directly. You should only aquire event's trough + * SFML::Window#getEvent or SFML::Window#waitEvent, if you need to pass data to a method + * that takes an event instance then make a proxy instance to simulate an event. + * NOTE: Using this method works but it will act constant as you can't access any values. + */ +static VALUE Event_New( int argc, VALUE * args, VALUE aKlass ) +{ + sf::Event *object = new sf::Event(); + VALUE rbData = Data_Wrap_Struct( aKlass, 0, Event_Free, object ); + rb_obj_call_init( rbData, argc, args ); + return rbData; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Event.src/M000092.html b/bindings/ruby/sfml-window/doc/classes/SFML/Event.src/M000092.html new file mode 100644 index 00000000..8f1f9847 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Event.src/M000092.html @@ -0,0 +1,82 @@ + + + + + +
/* */ +static VALUE Event_Initialize( VALUE self, VALUE aType ) +{ + sf::Event * object = NULL; + Data_Get_Struct( self, sf::Event, object ); + + int typeNum = FIX2INT( aType ); + if(typeNum >= 0 && typeNum < sf::Event::Count) + { + rb_iv_set( self, "@type", aType ); + object->Type = static_cast< sf::Event::EventType >( typeNum ); + } + else + { + rb_raise( rb_eTypeError, "expected Fixnum in range of 0...SFML::Event::Count" ); + } + + bool noSpecialType = false; + VALUE eventType; + const char * name = NULL; + switch( object->Type ) + { + case sf::Event::JoyButtonPressed: + case sf::Event::JoyButtonReleased: + eventType = Data_Wrap_Struct( globalJoyButtonEventClass, 0, 0, &object->JoyButton ); + name = "@joyButton"; + break; + case sf::Event::JoyMoved: + eventType = Data_Wrap_Struct( globalJoyMoveEventClass, 0, 0, &object->JoyMove ); + name = "@joyMove"; + break; + case sf::Event::KeyPressed: + case sf::Event::KeyReleased: + eventType = Data_Wrap_Struct( globalKeyEventClass, 0, 0, &object->Key ); + name = "@key"; + break; + case sf::Event::MouseButtonPressed: + case sf::Event::MouseButtonReleased: + eventType = Data_Wrap_Struct( globalMouseButtonEventClass, 0, 0, &object->MouseButton ); + name = "@mouseButton"; + break; + case sf::Event::MouseMoved: + eventType = Data_Wrap_Struct( globalMouseMoveEventClass, 0, 0, &object->MouseMove ); + name = "@mouseMove"; + break; + case sf::Event::MouseWheelMoved: + eventType = Data_Wrap_Struct( globalMouseWheelEventClass, 0, 0, &object->MouseWheel ); + name = "@mouseWheel"; + break; + case sf::Event::Resized: + eventType = Data_Wrap_Struct( globalSizeEventClass, 0, 0, &object->Size ); + name = "@resized"; + break; + case sf::Event::TextEntered: + eventType = Data_Wrap_Struct( globalTextEventClass, 0, 0, &object->Text ); + name = "@text"; + break; + default: + noSpecialType = true; + }; + + if( noSpecialType == false ) + { + rb_obj_call_init( eventType, 0, 0 ); + rb_iv_set( eventType, "@internal__parent_ref", self ); + rb_iv_set( self, name, eventType ); + } +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Event/JoyButton.html b/bindings/ruby/sfml-window/doc/classes/SFML/Event/JoyButton.html new file mode 100644 index 00000000..9db89cc0 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Event/JoyButton.html @@ -0,0 +1,209 @@ + + + + + +
Class | +SFML::Event::JoyButton | +
In: | +
+
+ window/Event.cpp
+
+ + |
+
Parent: | ++ Object + | +
+SFML::Event holds all the informations about a +system event that just happened. +
++Events are retrieved using the SFML::Window#GetEvent function. +
++A SFML::Event instance contains the type of the +event (mouse moved, key pressed, window closed, …) as well as the +details about this particular event. Please note that the event parameters +are defined in a union, which means that only the member matching the type +of the event will be properly filled; all other members will have undefined +values and must not be read if the type of the event doesn‘t match. +For example, if you received a KeyPressed event, then you must read the +event.Key +
++ member, all other members such as event.MouseMove or event.Text will have undefined values. ++
+The ruby version differs from C++ in that the parameters are still stored +in a union but that the values can be directly accessed from the event +object. If you try to access any data which would be considered undefined +then SFML::SomeKindOfException will be thrown. +
++Usage example: +
++ while event = window.getEvent() + + # Request for closing the window + if event.type == SFML::Event::Closed + window.close + + # The escape key was pressed + if ( event.type == sf::Event::KeyPressed ) && ( event.code == SFML::Key::Escape ) + window.close + + # The window was resized + if event.type == SFML::Event::Resized + DoSomethingWithTheNewSize(event.size); + + # etc ... + end ++ +
/* Index of the joystick (0 or 1). */ +static VALUE JoyButtonEvent_GetJoystickId( VALUE self ) ++ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Event/JoyButton.src/M000105.html b/bindings/ruby/sfml-window/doc/classes/SFML/Event/JoyButton.src/M000105.html new file mode 100644 index 00000000..42b26522 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Event/JoyButton.src/M000105.html @@ -0,0 +1,17 @@ + + + + + +
/* Index of the button that has been pressed. */ +static VALUE JoyButtonEvent_GetButton( VALUE self ) ++ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Event/JoyMove.html b/bindings/ruby/sfml-window/doc/classes/SFML/Event/JoyMove.html new file mode 100644 index 00000000..739b40f1 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Event/JoyMove.html @@ -0,0 +1,227 @@ + + + + + +
Class | +SFML::Event::JoyMove | +
In: | +
+
+ window/Event.cpp
+
+ + |
+
Parent: | ++ Object + | +
+SFML::Event holds all the informations about a +system event that just happened. +
++Events are retrieved using the SFML::Window#GetEvent function. +
++A SFML::Event instance contains the type of the +event (mouse moved, key pressed, window closed, …) as well as the +details about this particular event. Please note that the event parameters +are defined in a union, which means that only the member matching the type +of the event will be properly filled; all other members will have undefined +values and must not be read if the type of the event doesn‘t match. +For example, if you received a KeyPressed event, then you must read the +event.Key +
++ member, all other members such as event.MouseMove or event.Text will have undefined values. ++
+The ruby version differs from C++ in that the parameters are still stored +in a union but that the values can be directly accessed from the event +object. If you try to access any data which would be considered undefined +then SFML::SomeKindOfException will be thrown. +
++Usage example: +
++ while event = window.getEvent() + + # Request for closing the window + if event.type == SFML::Event::Closed + window.close + + # The escape key was pressed + if ( event.type == sf::Event::KeyPressed ) && ( event.code == SFML::Key::Escape ) + window.close + + # The window was resized + if event.type == SFML::Event::Resized + DoSomethingWithTheNewSize(event.size); + + # etc ... + end ++ +
/* Index of the joystick (0 or 1). */ +static VALUE JoyMoveEvent_GetJoystickId( VALUE self ) ++ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Event/JoyMove.src/M000111.html b/bindings/ruby/sfml-window/doc/classes/SFML/Event/JoyMove.src/M000111.html new file mode 100644 index 00000000..274a088c --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Event/JoyMove.src/M000111.html @@ -0,0 +1,17 @@ + + + + + +
/* Axis on which the joystick moved. */ +static VALUE JoyMoveEvent_GetAxis( VALUE self ) ++ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Event/JoyMove.src/M000112.html b/bindings/ruby/sfml-window/doc/classes/SFML/Event/JoyMove.src/M000112.html new file mode 100644 index 00000000..7b7fd2ae --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Event/JoyMove.src/M000112.html @@ -0,0 +1,17 @@ + + + + + +
/* New position on the axis (in range [-100, 100]). */ +static VALUE JoyMoveEvent_GetPosition( VALUE self ) ++ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Event/Key.html b/bindings/ruby/sfml-window/doc/classes/SFML/Event/Key.html new file mode 100644 index 00000000..449e9fae --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Event/Key.html @@ -0,0 +1,244 @@ + + + + + +
Class | +SFML::Event::Key | +
In: | +
+
+ window/Event.cpp
+
+ + |
+
Parent: | ++ Object + | +
+SFML::Event holds all the informations about a +system event that just happened. +
++Events are retrieved using the SFML::Window#GetEvent function. +
++A SFML::Event instance contains the type of the +event (mouse moved, key pressed, window closed, …) as well as the +details about this particular event. Please note that the event parameters +are defined in a union, which means that only the member matching the type +of the event will be properly filled; all other members will have undefined +values and must not be read if the type of the event doesn‘t match. +For example, if you received a KeyPressed event, then you must read the +event.Key +
++ member, all other members such as event.MouseMove or event.Text will have undefined values. ++
+The ruby version differs from C++ in that the parameters are still stored +in a union but that the values can be directly accessed from the event +object. If you try to access any data which would be considered undefined +then SFML::SomeKindOfException will be thrown. +
++Usage example: +
++ while event = window.getEvent() + + # Request for closing the window + if event.type == SFML::Event::Closed + window.close + + # The escape key was pressed + if ( event.type == sf::Event::KeyPressed ) && ( event.code == SFML::Key::Escape ) + window.close + + # The window was resized + if event.type == SFML::Event::Resized + DoSomethingWithTheNewSize(event.size); + + # etc ... + end ++ +
/* Code of the key that has been pressed. */ +static VALUE KeyEvent_GetCode( VALUE self ) ++ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Event/Key.src/M000107.html b/bindings/ruby/sfml-window/doc/classes/SFML/Event/Key.src/M000107.html new file mode 100644 index 00000000..7210f1d3 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Event/Key.src/M000107.html @@ -0,0 +1,17 @@ + + + + + +
/* Is the Alt key pressed? */ +static VALUE KeyEvent_GetAlt( VALUE self ) ++ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Event/Key.src/M000108.html b/bindings/ruby/sfml-window/doc/classes/SFML/Event/Key.src/M000108.html new file mode 100644 index 00000000..5ecee0a0 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Event/Key.src/M000108.html @@ -0,0 +1,17 @@ + + + + + +
/* Is the Control key pressed? */ +static VALUE KeyEvent_GetControl( VALUE self ) ++ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Event/Key.src/M000109.html b/bindings/ruby/sfml-window/doc/classes/SFML/Event/Key.src/M000109.html new file mode 100644 index 00000000..540f1c33 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Event/Key.src/M000109.html @@ -0,0 +1,17 @@ + + + + + +
/* Is the Shift key pressed? */ +static VALUE KeyEvent_GetShift( VALUE self ) ++ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Event/MouseButton.html b/bindings/ruby/sfml-window/doc/classes/SFML/Event/MouseButton.html new file mode 100644 index 00000000..ed1c1032 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Event/MouseButton.html @@ -0,0 +1,227 @@ + + + + + +
Class | +SFML::Event::MouseButton | +
In: | +
+
+ window/Event.cpp
+
+ + |
+
Parent: | ++ Object + | +
+SFML::Event holds all the informations about a +system event that just happened. +
++Events are retrieved using the SFML::Window#GetEvent function. +
++A SFML::Event instance contains the type of the +event (mouse moved, key pressed, window closed, …) as well as the +details about this particular event. Please note that the event parameters +are defined in a union, which means that only the member matching the type +of the event will be properly filled; all other members will have undefined +values and must not be read if the type of the event doesn‘t match. +For example, if you received a KeyPressed event, then you must read the +event.Key +
++ member, all other members such as event.MouseMove or event.Text will have undefined values. ++
+The ruby version differs from C++ in that the parameters are still stored +in a union but that the values can be directly accessed from the event +object. If you try to access any data which would be considered undefined +then SFML::SomeKindOfException will be thrown. +
++Usage example: +
++ while event = window.getEvent() + + # Request for closing the window + if event.type == SFML::Event::Closed + window.close + + # The escape key was pressed + if ( event.type == sf::Event::KeyPressed ) && ( event.code == SFML::Key::Escape ) + window.close + + # The window was resized + if event.type == SFML::Event::Resized + DoSomethingWithTheNewSize(event.size); + + # etc ... + end ++ +
/* Code of the button that has been pressed. */ +static VALUE MouseButtonEvent_GetButton( VALUE self ) ++ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Event/MouseButton.src/M000096.html b/bindings/ruby/sfml-window/doc/classes/SFML/Event/MouseButton.src/M000096.html new file mode 100644 index 00000000..d53fe893 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Event/MouseButton.src/M000096.html @@ -0,0 +1,17 @@ + + + + + +
/* X position of the mouse pointer, relative to the left of the owner window */ +static VALUE MouseButtonEvent_GetX( VALUE self ) ++ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Event/MouseButton.src/M000097.html b/bindings/ruby/sfml-window/doc/classes/SFML/Event/MouseButton.src/M000097.html new file mode 100644 index 00000000..6748f47d --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Event/MouseButton.src/M000097.html @@ -0,0 +1,17 @@ + + + + + +
/* Y position of the mouse pointer, relative to the top of the owner window */ +static VALUE MouseButtonEvent_GetY( VALUE self ) ++ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Event/MouseMove.html b/bindings/ruby/sfml-window/doc/classes/SFML/Event/MouseMove.html new file mode 100644 index 00000000..48b0f109 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Event/MouseMove.html @@ -0,0 +1,208 @@ + + + + + +
Class | +SFML::Event::MouseMove | +
In: | +
+
+ window/Event.cpp
+
+ + |
+
Parent: | ++ Object + | +
+SFML::Event holds all the informations about a +system event that just happened. +
++Events are retrieved using the SFML::Window#GetEvent function. +
++A SFML::Event instance contains the type of the +event (mouse moved, key pressed, window closed, …) as well as the +details about this particular event. Please note that the event parameters +are defined in a union, which means that only the member matching the type +of the event will be properly filled; all other members will have undefined +values and must not be read if the type of the event doesn‘t match. +For example, if you received a KeyPressed event, then you must read the +event.Key +
++ member, all other members such as event.MouseMove or event.Text will have undefined values. ++
+The ruby version differs from C++ in that the parameters are still stored +in a union but that the values can be directly accessed from the event +object. If you try to access any data which would be considered undefined +then SFML::SomeKindOfException will be thrown. +
++Usage example: +
++ while event = window.getEvent() + + # Request for closing the window + if event.type == SFML::Event::Closed + window.close + + # The escape key was pressed + if ( event.type == sf::Event::KeyPressed ) && ( event.code == SFML::Key::Escape ) + window.close + + # The window was resized + if event.type == SFML::Event::Resized + DoSomethingWithTheNewSize(event.size); + + # etc ... + end ++ +
/* X position of the mouse pointer, relative to the left of the owner window */ +static VALUE MouseMoveEvent_GetX( VALUE self ) ++ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Event/MouseMove.src/M000094.html b/bindings/ruby/sfml-window/doc/classes/SFML/Event/MouseMove.src/M000094.html new file mode 100644 index 00000000..a0421e4e --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Event/MouseMove.src/M000094.html @@ -0,0 +1,17 @@ + + + + + +
/* Y position of the mouse pointer, relative to the top of the owner window */ +static VALUE MouseMoveEvent_GetY( VALUE self ) ++ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Event/MouseWheel.html b/bindings/ruby/sfml-window/doc/classes/SFML/Event/MouseWheel.html new file mode 100644 index 00000000..baa644be --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Event/MouseWheel.html @@ -0,0 +1,226 @@ + + + + + +
Class | +SFML::Event::MouseWheel | +
In: | +
+
+ window/Event.cpp
+
+ + |
+
Parent: | ++ Object + | +
+SFML::Event holds all the informations about a +system event that just happened. +
++Events are retrieved using the SFML::Window#GetEvent function. +
++A SFML::Event instance contains the type of the +event (mouse moved, key pressed, window closed, …) as well as the +details about this particular event. Please note that the event parameters +are defined in a union, which means that only the member matching the type +of the event will be properly filled; all other members will have undefined +values and must not be read if the type of the event doesn‘t match. +For example, if you received a KeyPressed event, then you must read the +event.Key +
++ member, all other members such as event.MouseMove or event.Text will have undefined values. ++
+The ruby version differs from C++ in that the parameters are still stored +in a union but that the values can be directly accessed from the event +object. If you try to access any data which would be considered undefined +then SFML::SomeKindOfException will be thrown. +
++Usage example: +
++ while event = window.getEvent() + + # Request for closing the window + if event.type == SFML::Event::Closed + window.close + + # The escape key was pressed + if ( event.type == sf::Event::KeyPressed ) && ( event.code == SFML::Key::Escape ) + window.close + + # The window was resized + if event.type == SFML::Event::Resized + DoSomethingWithTheNewSize(event.size); + + # etc ... + end ++ +
+Number of ticks the wheel has moved (positive is up, negative is down). +
++X position of the mouse pointer, relative to the left of the owner window +
++Y position of the mouse pointer, relative to the top of the owner window +
+/* Number of ticks the wheel has moved (positive is up, negative is down). */ +static VALUE MouseWheelEvent_GetDelta( VALUE self ) ++ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Event/MouseWheel.src/M000099.html b/bindings/ruby/sfml-window/doc/classes/SFML/Event/MouseWheel.src/M000099.html new file mode 100644 index 00000000..eac147af --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Event/MouseWheel.src/M000099.html @@ -0,0 +1,17 @@ + + + + + +
/* X position of the mouse pointer, relative to the left of the owner window */ +static VALUE MouseWheelEvent_GetX( VALUE self ) ++ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Event/MouseWheel.src/M000100.html b/bindings/ruby/sfml-window/doc/classes/SFML/Event/MouseWheel.src/M000100.html new file mode 100644 index 00000000..266eaed4 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Event/MouseWheel.src/M000100.html @@ -0,0 +1,17 @@ + + + + + +
/* Y position of the mouse pointer, relative to the top of the owner window */ +static VALUE MouseWheelEvent_GetY( VALUE self ) ++ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Event/Size.html b/bindings/ruby/sfml-window/doc/classes/SFML/Event/Size.html new file mode 100644 index 00000000..f9a6a189 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Event/Size.html @@ -0,0 +1,208 @@ + + + + + +
Class | +SFML::Event::Size | +
In: | +
+
+ window/Event.cpp
+
+ + |
+
Parent: | ++ Object + | +
+SFML::Event holds all the informations about a +system event that just happened. +
++Events are retrieved using the SFML::Window#GetEvent function. +
++A SFML::Event instance contains the type of the +event (mouse moved, key pressed, window closed, …) as well as the +details about this particular event. Please note that the event parameters +are defined in a union, which means that only the member matching the type +of the event will be properly filled; all other members will have undefined +values and must not be read if the type of the event doesn‘t match. +For example, if you received a KeyPressed event, then you must read the +event.Key +
++ member, all other members such as event.MouseMove or event.Text will have undefined values. ++
+The ruby version differs from C++ in that the parameters are still stored +in a union but that the values can be directly accessed from the event +object. If you try to access any data which would be considered undefined +then SFML::SomeKindOfException will be thrown. +
++Usage example: +
++ while event = window.getEvent() + + # Request for closing the window + if event.type == SFML::Event::Closed + window.close + + # The escape key was pressed + if ( event.type == sf::Event::KeyPressed ) && ( event.code == SFML::Key::Escape ) + window.close + + # The window was resized + if event.type == SFML::Event::Resized + DoSomethingWithTheNewSize(event.size); + + # etc ... + end ++ +
/* New width, in pixels. */ +static VALUE SizeEvent_GetWidth( VALUE self ) ++ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Event/Size.src/M000102.html b/bindings/ruby/sfml-window/doc/classes/SFML/Event/Size.src/M000102.html new file mode 100644 index 00000000..f26a7fc8 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Event/Size.src/M000102.html @@ -0,0 +1,17 @@ + + + + + +
/* New width, in pixels. */ +static VALUE SizeEvent_GetWidth( VALUE self ) ++ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Event/Text.html b/bindings/ruby/sfml-window/doc/classes/SFML/Event/Text.html new file mode 100644 index 00000000..a52063ae --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Event/Text.html @@ -0,0 +1,190 @@ + + + + + +
Class | +SFML::Event::Text | +
In: | +
+
+ window/Event.cpp
+
+ + |
+
Parent: | ++ Object + | +
+SFML::Event holds all the informations about a +system event that just happened. +
++Events are retrieved using the SFML::Window#GetEvent function. +
++A SFML::Event instance contains the type of the +event (mouse moved, key pressed, window closed, …) as well as the +details about this particular event. Please note that the event parameters +are defined in a union, which means that only the member matching the type +of the event will be properly filled; all other members will have undefined +values and must not be read if the type of the event doesn‘t match. +For example, if you received a KeyPressed event, then you must read the +event.Key +
++ member, all other members such as event.MouseMove or event.Text will have undefined values. ++
+The ruby version differs from C++ in that the parameters are still stored +in a union but that the values can be directly accessed from the event +object. If you try to access any data which would be considered undefined +then SFML::SomeKindOfException will be thrown. +
++Usage example: +
++ while event = window.getEvent() + + # Request for closing the window + if event.type == SFML::Event::Closed + window.close + + # The escape key was pressed + if ( event.type == sf::Event::KeyPressed ) && ( event.code == SFML::Key::Escape ) + window.close + + # The window was resized + if event.type == SFML::Event::Resized + DoSomethingWithTheNewSize(event.size); + + # etc ... + end ++ +
/* UTF-32 unicode value of the character. */ +static VALUE TextEvent_GetUnicode( VALUE self ) ++ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Input.html b/bindings/ruby/sfml-window/doc/classes/SFML/Input.html new file mode 100644 index 00000000..ef497ae9 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Input.html @@ -0,0 +1,484 @@ + + + + + +
Class | +SFML::Input | +
In: | +
+
+ window/main.cpp
+
+ + |
+
Parent: | ++ Object + | +
+The SFML::Input class provides a way to access the +state of keys, mouse buttons, mouse position, joystick buttons and jostick +axis. +
++SFML::Input provides the same informations as the +event system, but these informations can be accessed at any time, which is +more convenient in many situations. +
++For example, to move an entity you can decide to catch the +SFML::Event::KeyPressed event on arrow keys. But if you do so, you will +only receive one event when the key gets pressed (or repeated events if you +activated this feature), thus the entity will not move smoothly. The best +solution here is to use SFML::Input#isKeyDown so that you can update +your entity‘s position at every iteration of your game loop, not only +when you catch a KeyPressed event. +
++Note that instances of SFML::Input cannot be +created directly, they must be retrieved from a window (SFML::Window) with the SFML::Window#input method. +
++Usage example: +
++ # Retrieve the input object attached to our window + input = window.input + + # Move an entity according to the current keys state + offset = 5.0 * window.frameTime # 5 pixels/sec + entity.move( -offset, 0 ) if input.keyDown?( SFML::Key::Left ) + entity.move( offset, 0 ) if input.keyDown?( SFML::Key::Right ) + entity.move( 0, -offset ) if input.keyDown?( SFML::Key::Up ) + entity.move( 0, offset ) if input.keyDown?( SFML::Key::Down ) ++ +
+This will create a new input object. +though it will not receive any updates of events. You should aquire an +input object from the SFML::Window#input +method. +
++The returned position is in the range [-100, 100], except the POV which is +an angle and is thus defined in [0, 360]. +
+/* call-seq: + * Input.new() -> input + * + * This will create a new input object. though it will not receive any updates of events. + * You should aquire an input object from the SFML::Window#input method. + */ +static VALUE Input_New( int argc, VALUE * args, VALUE aKlass ) +{ + sf::Input *object = new sf::Input(); + VALUE rbData = Data_Wrap_Struct( aKlass, 0, Input_Free, object ); + rb_obj_call_init( rbData, argc, args ); + return rbData; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Input.src/M000002.html b/bindings/ruby/sfml-window/doc/classes/SFML/Input.src/M000002.html new file mode 100644 index 00000000..df89b801 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Input.src/M000002.html @@ -0,0 +1,33 @@ + + + + + +
/* call-seq: + * input.isKeyDown( keycode ) -> true or false + * + * Get the current state of a key (pressed or released). + */ +static VALUE Input_IsKeyDown( VALUE self, VALUE aKeyCode ) +{ + sf::Input *object = NULL; + Data_Get_Struct( self, sf::Input, object ); + sf::Key::Code rawCode = static_cast< sf::Key::Code > ( NUM2INT( aKeyCode ) ); + if( object->IsKeyDown( rawCode ) == true ) + { + return Qtrue; + } + else + { + return Qfalse; + } +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Input.src/M000003.html b/bindings/ruby/sfml-window/doc/classes/SFML/Input.src/M000003.html new file mode 100644 index 00000000..81989155 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Input.src/M000003.html @@ -0,0 +1,33 @@ + + + + + +
/* call-seq: + * input.isMouseButtonDown( keycode ) -> true or false + * + * Get the current state of a mouse button (pressed or released). + */ +static VALUE Input_IsMouseButtonDown( VALUE self, VALUE aMouseButton ) +{ + sf::Input *object = NULL; + Data_Get_Struct( self, sf::Input, object ); + sf::Mouse::Button rawButton = static_cast< sf::Mouse::Button > ( NUM2INT( aMouseButton ) ); + if( object->IsMouseButtonDown( rawButton ) == true ) + { + return Qtrue; + } + else + { + return Qfalse; + } +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Input.src/M000004.html b/bindings/ruby/sfml-window/doc/classes/SFML/Input.src/M000004.html new file mode 100644 index 00000000..9616de3e --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Input.src/M000004.html @@ -0,0 +1,34 @@ + + + + + +
/* call-seq: + * input.isJoystickButtonDown( joystick, button ) -> true or false + * + * Get the current state of a joystick button (pressed or released). + */ +static VALUE Input_IsJoystickButtonDown( VALUE self, VALUE aJoystick, VALUE aButton ) +{ + sf::Input *object = NULL; + Data_Get_Struct( self, sf::Input, object ); + unsigned int rawJoystick = NUM2UINT( aJoystick ); + unsigned int rawButton = NUM2UINT( aButton ); + if( object->IsJoystickButtonDown( aJoystick, rawButton ) == true ) + { + return Qtrue; + } + else + { + return Qfalse; + } +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Input.src/M000005.html b/bindings/ruby/sfml-window/doc/classes/SFML/Input.src/M000005.html new file mode 100644 index 00000000..ffa161dd --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Input.src/M000005.html @@ -0,0 +1,25 @@ + + + + + +
/* call-seq: + * input.getMouseX() -> fixnum + * + * The returned position is relative to the left border of the owner window. + */ +static VALUE Input_GetMouseX( VALUE self, VALUE aMouseButton ) +{ + sf::Input *object = NULL; + Data_Get_Struct( self, sf::Input, object ); + return INT2FIX( object->GetMouseX() ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Input.src/M000006.html b/bindings/ruby/sfml-window/doc/classes/SFML/Input.src/M000006.html new file mode 100644 index 00000000..7833c82a --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Input.src/M000006.html @@ -0,0 +1,25 @@ + + + + + +
/* call-seq: + * input.getMouseY() -> fixnum + * + * The returned position is relative to the top border of the owner window. + */ +static VALUE Input_GetMouseY( VALUE self, VALUE aMouseButton ) +{ + sf::Input *object = NULL; + Data_Get_Struct( self, sf::Input, object ); + return INT2FIX( object->GetMouseY() ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Input.src/M000007.html b/bindings/ruby/sfml-window/doc/classes/SFML/Input.src/M000007.html new file mode 100644 index 00000000..ef622fdf --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Input.src/M000007.html @@ -0,0 +1,27 @@ + + + + + +
/* call-seq: + * input.getJoystickAxis( joystick, axis ) -> true or false + * + * The returned position is in the range [-100, 100], except the POV which is an angle and is thus defined in [0, 360]. + */ +static VALUE Input_GetJoystickAxis( VALUE self, VALUE aJoystick, VALUE anAxis ) +{ + sf::Input *object = NULL; + Data_Get_Struct( self, sf::Input, object ); + unsigned int rawJoystick = NUM2UINT( aJoystick ); + sf::Joy::Axis rawAxis = static_cast< sf::Joy::Axis >( NUM2INT( anAxis ) ); + return rb_float_new( object->GetJoystickAxis( rawJoystick, rawAxis ) ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Joy.html b/bindings/ruby/sfml-window/doc/classes/SFML/Joy.html new file mode 100644 index 00000000..c7793683 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Joy.html @@ -0,0 +1,159 @@ + + + + + +
Module | +SFML::Joy | +
In: | +
+
+ window/main.cpp
+
+ + |
+
+Definition of joystick axis for joystick events. +
+ +AxisX | += | +INT2FIX( sf::Joy::AxisX ) | +
AxisY | += | +INT2FIX( sf::Joy::AxisY ) | +
AxisZ | += | +INT2FIX( sf::Joy::AxisZ ) | +
AxisR | += | +INT2FIX( sf::Joy::AxisR ) | +
AxisU | += | +INT2FIX( sf::Joy::AxisU ) | +
AxisV | += | +INT2FIX( sf::Joy::AxisV ) | +
AxisPOV | += | +INT2FIX( sf::Joy::AxisPOV ) | +
AxisCount | += | +INT2FIX( sf::Joy::AxisCount ) | +
Module | +SFML::Key | +
In: | +
+
+ window/main.cpp
+
+ + |
+
+Definition of key codes for keyboard events. +
++All SFML::Key constants exists, I just haven‘t +written them all so Rdoc can interpret them yet. +
+ +A | += | +INT2FIX( sf::Key::A ) | +
B | += | +INT2FIX( sf::Key::B ) | +
C | += | +INT2FIX( sf::Key::C ) | +
D | += | +INT2FIX( sf::Key::D ) | +
E | += | +INT2FIX( sf::Key::E ) | +
F | += | +INT2FIX( sf::Key::F ) | +
G | += | +INT2FIX( sf::Key::G ) | +
H | += | +INT2FIX( sf::Key::H ) | +
I | += | +INT2FIX( sf::Key::I ) | +
J | += | +INT2FIX( sf::Key::J ) | +
K | += | +INT2FIX( sf::Key::K ) | +
L | += | +INT2FIX( sf::Key::L ) | +
M | += | +INT2FIX( sf::Key::M ) | +
N | += | +INT2FIX( sf::Key::N ) | +
O | += | +INT2FIX( sf::Key::O ) | +
P | += | +INT2FIX( sf::Key::P ) | +
Q | += | +INT2FIX( sf::Key::Q ) | +
R | += | +INT2FIX( sf::Key::R ) | +
S | += | +INT2FIX( sf::Key::S ) | +
T | += | +INT2FIX( sf::Key::T ) | +
U | += | +INT2FIX( sf::Key::U ) | +
V | += | +INT2FIX( sf::Key::V ) | +
X | += | +INT2FIX( sf::Key::X ) | +
Y | += | +INT2FIX( sf::Key::Y ) | +
Z | += | +INT2FIX( sf::Key::Z ) | +
Num0 | += | +INT2FIX( sf::Key::Num0 ) | +
Num1 | += | +INT2FIX( sf::Key::Num1 ) | +
Num2 | += | +INT2FIX( sf::Key::Num2 ) | +
Num3 | += | +INT2FIX( sf::Key::Num3 ) | +
Num4 | += | +INT2FIX( sf::Key::Num4 ) | +
Num5 | += | +INT2FIX( sf::Key::Num5 ) | +
Num6 | += | +INT2FIX( sf::Key::Num6 ) | +
Num7 | += | +INT2FIX( sf::Key::Num7 ) | +
Num8 | += | +INT2FIX( sf::Key::Num8 ) | +
Num9 | += | +INT2FIX( sf::Key::Num9 ) | +
Module | +SFML::Mouse | +
In: | +
+
+ window/main.cpp
+
+ + |
+
+Definition of button codes for mouse events. +
+ +Left | += | +INT2FIX( sf::Mouse::Left ) | +
Right | += | +INT2FIX( sf::Mouse::Right ) | +
Middle | += | +INT2FIX( sf::Mouse::Middle ) | +
XButton1 | += | +INT2FIX( sf::Mouse::XButton1 ) | +
XButton2 | += | +INT2FIX( sf::Mouse::XButton2 ) | +
ButtonCount | += | +INT2FIX( sf::Mouse::ButtonCount ) | +
Module | +SFML::Style | +
In: | +
+
+ window/main.cpp
+
+ + |
+
+Enumeration of the window styles. +
+ +None | += | +INT2FIX( sf::Style::None ) | +
Titlebar | += | +INT2FIX( sf::Style::Titlebar ) | +
Resize | += | +INT2FIX( sf::Style::Resize ) | +
Close | += | +INT2FIX( sf::Style::Close ) | +
Fullscreen | += | +INT2FIX( sf::Style::Fullscreen ) | +
Default | += | +INT2FIX( sf::Style::Default ) | +
Class | +SFML::VideoMode | +
In: | +
+
+ window/main.cpp
+
+ + |
+
Parent: | ++ Object + | +
+A video mode is defined by a width and +a height (in pixels) and a depth (in +bits per pixel). +
++Video modes are used to setup windows (SFML::Window) at creation time. +
++The main usage of video modes is for fullscreen mode: indeed you must use +one of the valid video modes allowed by the OS (which are defined by what +the monitor and the graphics card support), otherwise your window creation +will just fail. +
++SFML::VideoMode provides a static function for +retrieving the list of all the video modes supported by the system: getFullscreenModes(). +
++A custom video mode can also be checked directly for fullscreen +compatibility with its isValid() function. +
++Additionnally, SFML::VideoMode provides a +static function to get the mode currently used by the desktop: getDesktopMode(). This allows to build +windows with the same size or pixel depth as the current resolution. +
++Usage example: +
++ # Display the list of all the video modes available for fullscreen + modes = SFML::VideoMode.getFullscreenModes() + i = 0 + modes.each do | mode | + puts "Mode #" + i + ": " + mode.width + "x" + mode.height + " - " + mode.bitsPerPixel + " bpp" + + end + + # Create a window with the same pixel depth as the desktop + desktop = SFML::VideoMode.getDesktopMode() + window.create( SFML::VideoMode.new( 1024, 768, desktop.BitsPerPixel ), "SFML window" ) ++ +
+Retrieve all the video modes supported in fullscreen mode. +
++When creating a fullscreen window, the video mode is restricted to be +compatible with what the graphics driver and monitor support. This function +returns the complete list of all video modes that can be used in fullscreen +mode. The returned array is sorted from best to worst, so that the first +element will always give the best mode (higher width, height and bits-per-pixel). +
++Create a new mode. +
+/* call-seq: + * VideoMode.new() -> mode + * VideoMode.new( width, height, bpp = 32 ) -> mode + * + * Create a new mode. + */ +static VALUE VideoMode_New( int argc, VALUE *args, VALUE aKlass ) +{ + sf::VideoMode *object = NULL; + switch( argc ) + { + case 0: + object = new sf::VideoMode(); + break; + case 2: + object = new sf::VideoMode( FIX2UINT( args[0] ), FIX2UINT( args[1] ) ); + break; + case 3: + object = new sf::VideoMode( FIX2UINT( args[0] ), FIX2UINT( args[1] ),FIX2UINT( args[2] ) ); + break; + default: + rb_raise( rb_eArgError, "Expected 0, 2 or 3 arguments but was given %d", argc ); + break; + } + VALUE rbData = Data_Wrap_Struct( aKlass, 0, VideoMode_Free, object ); + rb_obj_call_init( rbData, 0, 0 ); + return rbData; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/VideoMode.src/M000021.html b/bindings/ruby/sfml-window/doc/classes/SFML/VideoMode.src/M000021.html new file mode 100644 index 00000000..fdcb5b73 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/VideoMode.src/M000021.html @@ -0,0 +1,26 @@ + + + + + +
/* call-seq: + * VideoMode.getDesktopMode -> desktop_mode + * + * Get the current desktop video mode. + */ +static VALUE VideoMode_GetDesktopMode( VALUE aKlass ) +{ + sf::VideoMode *object = new sf::VideoMode( sf::VideoMode::GetDesktopMode() ); + VALUE rbData = Data_Wrap_Struct( aKlass, 0, VideoMode_Free, object ); + rb_obj_call_init( rbData, 0, 0 ); + return rbData; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/VideoMode.src/M000022.html b/bindings/ruby/sfml-window/doc/classes/SFML/VideoMode.src/M000022.html new file mode 100644 index 00000000..1880e413 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/VideoMode.src/M000022.html @@ -0,0 +1,37 @@ + + + + + +
/* call-seq: + * VideoMode.getFullscreenModes -> [supported_modes] + * + * Retrieve all the video modes supported in fullscreen mode. + * + * When creating a fullscreen window, the video mode is restricted to be compatible with what the graphics driver and + * monitor support. This function returns the complete list of all video modes that can be used in fullscreen mode. + * The returned array is sorted from best to worst, so that the first element will always give the best mode + * (higher width, height and bits-per-pixel). + */ +static VALUE VideoMode_GetFullscreenModes( VALUE aKlass ) +{ + const std::vector< sf::VideoMode >& modes = sf::VideoMode::GetFullscreenModes(); + VALUE array = rb_ary_new(); + for( std::vector< sf::VideoMode >::const_iterator it = modes.begin(), end = modes.end(); it != end; it++ ) + { + sf::VideoMode *object = new sf::VideoMode( *it ); + VALUE rbData = Data_Wrap_Struct( aKlass, 0, VideoMode_Free, object ); + rb_obj_call_init( rbData, 0, 0 ); + rb_ary_push( array, rbData ); + } + return array; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/VideoMode.src/M000023.html b/bindings/ruby/sfml-window/doc/classes/SFML/VideoMode.src/M000023.html new file mode 100644 index 00000000..9d8ca92d --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/VideoMode.src/M000023.html @@ -0,0 +1,25 @@ + + + + + +
/* call-seq: + * mode.width -> width + * + * Video mode width, in pixels. + */ +static VALUE VideoMode_GetWidth( VALUE self ) +{ + sf::VideoMode *object = NULL; + Data_Get_Struct( self, sf::VideoMode, object ); + return INT2FIX( object->Width ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/VideoMode.src/M000024.html b/bindings/ruby/sfml-window/doc/classes/SFML/VideoMode.src/M000024.html new file mode 100644 index 00000000..31cfd8fa --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/VideoMode.src/M000024.html @@ -0,0 +1,25 @@ + + + + + +
/* call-seq: + * mode.width=(new_width) -> new_width + * + * Video mode width, in pixels. + */ +static VALUE VideoMode_SetWidth( VALUE self, VALUE aValue ) +{ + sf::VideoMode *object = NULL; + Data_Get_Struct( self, sf::VideoMode, object ); + return INT2FIX( object->Width = NUM2UINT( aValue ) ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/VideoMode.src/M000025.html b/bindings/ruby/sfml-window/doc/classes/SFML/VideoMode.src/M000025.html new file mode 100644 index 00000000..40e1c751 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/VideoMode.src/M000025.html @@ -0,0 +1,25 @@ + + + + + +
/* call-seq: + * mode.width -> width + * + * Video mode width, in pixels. + */ +static VALUE VideoMode_GetWidth( VALUE self ) +{ + sf::VideoMode *object = NULL; + Data_Get_Struct( self, sf::VideoMode, object ); + return INT2FIX( object->Width ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/VideoMode.src/M000026.html b/bindings/ruby/sfml-window/doc/classes/SFML/VideoMode.src/M000026.html new file mode 100644 index 00000000..0fcec977 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/VideoMode.src/M000026.html @@ -0,0 +1,25 @@ + + + + + +
/* call-seq: + * mode.width=(new_width) -> new_width + * + * Video mode width, in pixels. + */ +static VALUE VideoMode_SetWidth( VALUE self, VALUE aValue ) +{ + sf::VideoMode *object = NULL; + Data_Get_Struct( self, sf::VideoMode, object ); + return INT2FIX( object->Width = NUM2UINT( aValue ) ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/VideoMode.src/M000027.html b/bindings/ruby/sfml-window/doc/classes/SFML/VideoMode.src/M000027.html new file mode 100644 index 00000000..9de5371b --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/VideoMode.src/M000027.html @@ -0,0 +1,25 @@ + + + + + +
/* call-seq: + * mode.bitsPerPixel -> bpp + * + * Video mode pixel depth, in bits per pixels. + */ +static VALUE VideoMode_GetBitsPerPixel( VALUE self ) +{ + sf::VideoMode *object = NULL; + Data_Get_Struct( self, sf::VideoMode, object ); + return INT2FIX( object->BitsPerPixel ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/VideoMode.src/M000028.html b/bindings/ruby/sfml-window/doc/classes/SFML/VideoMode.src/M000028.html new file mode 100644 index 00000000..adf93de7 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/VideoMode.src/M000028.html @@ -0,0 +1,25 @@ + + + + + +
/* call-seq: + * mode.bitsPerPixel=(new_bpp) -> new_bpp + * + * Video mode pixel depth, in bits per pixels. + */ +static VALUE VideoMode_SetBitsPerPixel( VALUE self, VALUE aValue ) +{ + sf::VideoMode *object = NULL; + Data_Get_Struct( self, sf::VideoMode, object ); + return INT2FIX( object->BitsPerPixel = NUM2UINT( aValue ) ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Window.html b/bindings/ruby/sfml-window/doc/classes/SFML/Window.html new file mode 100644 index 00000000..c53deac9 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Window.html @@ -0,0 +1,1222 @@ + + + + + +
Class | +SFML::Window | +
In: | +
+
+ window/main.cpp
+
+ + |
+
Parent: | ++ Object + | +
+SFML::Window is the main class of the Window module. +
++It defines an OS window that is able to receive an OpenGL rendering. +
++A SFML::Window can create its own new window, but using an +already created window trough a handle is not supported in the ruby +bindings yet. +
++The SFML::Window class provides a simple +interface for manipulating the window: move, resize, show/hide, control +mouse cursor, etc. It also provides event handling through its getEvent() function, and real-time state +handling with its attached SFML::Input object (see +getInput()). +
++Note that OpenGL experts can pass their own parameters (antialiasing level, +bits for the depth and stencil buffers, etc.) to the OpenGL context +attached to the window, with the SFML::ContextSettings structure which is +passed as an optional argument when creating the window. +
++Usage example: +
++ # Declare and create a new window + window = SFML::Window.new( SFML::VideoMode.new( 800, 600 ), "SFML window" ) + + # Limit the framerate to 60 frames per second (this step is optional) + window.setFramerateLimit( 60 ); + + # The main loop - ends as soon as the window is closed + while window.open? + + # Event processing + while event = window.getEvent + + # Request for closing the window + if event.type == SFML::Event::Closed + window.close() + end + end + + # Activate the window for OpenGL rendering + window.setActive() + + # OpenGL drawing commands go here... + + # End the current frame and display its contents on screen + window.display() + end ++ +
getFrameTime | +-> | +frameTime | +
getFrameTime | +-> | +frame_time | +
+Close the window and destroy all the attached resources. +
++After calling this function, the SFML::Window +instance remains valid and you can call SFML::Window#create to recreate the window. +All other functions such as getEvent or +display will still work (i.e. you +don‘t have to test isOpened every +time), and will have no effect on closed windows. +
++Create (or recreate) the window. +
++If the window was already created, it closes it first. If style contains +Style::Fullscreen, then mode must be a valid video mode. +
++Display on screen what has been rendered to the window so far. +
++This function is typically called after all OpenGL rendering has been done +for the current frame, in order to show +it on screen. +
++Enable or disable automatic key-repeat. +
++If key repeat is enabled, you will receive repeated KeyPress events while +keeping a key pressed. If it is disabled, you will only get a single event +when the key is pressed. +
++Key repeat is enabled by default. +
++Pop the event on top of events stack, if any, and return it. +
++This function is not blocking: if there‘s no pending event then it +will return nil. Note that more than the returned event may be present in +the events stack, thus you should always call this function in a loop to +make sure that you process every pending event. +
++This input gives access to the real-time +state of keyboard, mouse and joysticks for this window +
++This function returns whether or not the window exists. Note that a hidden +window (Show(false)) will return true. +
++Change the position of the window on screen. +
++This function only works for top-level windows (i.e. it will be ignored for +windows created from the handle of a child window/control). +
++Activate or deactivate the window as the current target for OpenGL +rendering. +
++A window is active only on the current thread, if you want to make it +active on another thread you have to deactivate it on the previous thread +first if it was active. Only one window can be active on a thread at a +time, thus the window previously active (if any) automatically gets +deactivated. +
++Limit the framerate to a maximum fixed frequency. +
++If a limit is set, the window will use a small delay after each call to +Display() to ensure that the current frame lasted long enough to match the +framerate limit. +
++Change the window‘s icon. +
++pixels must be an array of width x height pixels in 32-bits RGBA format. In the +ruby binding the array will be flattened so you can have array‘s up +to 3 dimensions(or more) to represent each pixel component. The size of the +array will be assumed to be width * height * 4. +
++The OS default icon is used by default. +
++Usage example: +
++ pixels = [ + [[255, 0, 0, 255], [0, 0, 255, 255]], + [[0, 255, 0, 255], [0, 0, 0, 255]] + ] + + window.setIcon( 2, 2, pixels ) ++
+Change the joystick threshold. +
++The joystick threshold is the value below which no JoyMoved event will be +generated. +
++The threshold value is 0.1 by default. The threshold has to be in the range +0..100 +
++Change the position of the window on screen. +
++This function only works for top-level windows (i.e. it will be ignored for +windows created from the handle of a child window/control). +
++Enable or disable vertical synchronization. +
++Activating vertical synchronization will limit the number of frames +displayed to the refresh rate of the monitor. This can avoid some visual +artifacts, and limit the framerate to a good value (but not constant across +different computers). +
++Vertical synchronization is disabled by default. +
++Wait for an event and return it. +
++This function is blocking: if there‘s no pending event then it will +wait until an event is received. After this function returns (and no error +occured), the event object is always valid and filled properly. This +function is typically used when you have a thread that is dedicated to +events handling: you want to make this thread sleep as long as no new event +is received. +
+/* call-seq: + * window.close() + * + * Close the window and destroy all the attached resources. + * + * After calling this function, the SFML::Window instance remains valid and you can call SFML::Window#create to recreate + * the window. All other functions such as getEvent or display will still work (i.e. you don't have to test + * isOpened every time), and will have no effect on closed windows. + */ +static VALUE Window_Close( VALUE self ) +{ + sf::Window *object = NULL; + Data_Get_Struct( self, sf::Window, object ); + object->Close(); + return Qnil; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000039.html b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000039.html new file mode 100644 index 00000000..a60acbe8 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000039.html @@ -0,0 +1,63 @@ + + + + + +
/* call-seq: + * window.create( mode, title, style = SFML::Style::Default, settings = SFML::ContextSettings.new ) + * + * Create (or recreate) the window. + * + * If the window was already created, it closes it first. If style contains Style::Fullscreen, + * then mode must be a valid video mode. + */ +static VALUE Window_Create( int argc, VALUE *args, VALUE self ) +{ + sf::Window *object = NULL; + sf::VideoMode *mode = NULL; + sf::ContextSettings *settings = NULL; + VALUE arg0 = Qnil; + + Data_Get_Struct( self, sf::Window, object ); + switch( argc ) + { + case 2: + arg0 = VideoMode_ForceType( args[0] ); + VALIDATE_CLASS( arg0, globalVideoModeClass, "first" ); + VALIDATE_CLASS( args[1], rb_cString, "second" ); + Data_Get_Struct( arg0, sf::VideoMode, mode ); + object->Create( *mode ,rb_string_value_cstr( &args[1] ) ); + break; + case 3: + arg0 = VideoMode_ForceType( args[0] ); + VALIDATE_CLASS( arg0, globalVideoModeClass, "first" ); + VALIDATE_CLASS( args[1], rb_cString, "second" ); + VALIDATE_CLASS( args[2], rb_cFixnum, "third" ); + Data_Get_Struct( arg0, sf::VideoMode, mode ); + object->Create( *mode, rb_string_value_cstr( &args[1] ), FIX2UINT( args[2] ) ); + break; + case 4: + arg0 = VideoMode_ForceType( args[0] ); + VALIDATE_CLASS( arg0, globalVideoModeClass, "first" ); + VALIDATE_CLASS( args[1], rb_cString, "second" ); + VALIDATE_CLASS( args[2], rb_cFixnum, "third" ); + VALIDATE_CLASS( args[3], globalContextSettingsClass, "fourth" ); + Data_Get_Struct( arg0, sf::VideoMode, mode ); + Data_Get_Struct( args[3], sf::ContextSettings, settings ); + object->Create( *mode, rb_string_value_cstr( &args[1] ), FIX2UINT( args[2] ), *settings ); + break; + default: + rb_raise( rb_eArgError, "Expected 2..4 arguments but was given %d", argc ); + break; + } + return Qnil; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000040.html b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000040.html new file mode 100644 index 00000000..46676bb7 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000040.html @@ -0,0 +1,29 @@ + + + + + +
/* call-seq: + * window.display() + * + * Display on screen what has been rendered to the window so far. + * + * This function is typically called after all OpenGL rendering has been done for the current frame, in order to show + * it on screen. + */ +static VALUE Window_Display( VALUE self ) +{ + sf::Window *object = NULL; + Data_Get_Struct( self, sf::Window, object ); + object->Display(); + return Qnil; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000041.html b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000041.html new file mode 100644 index 00000000..e46d7def --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000041.html @@ -0,0 +1,42 @@ + + + + + +
/* call-seq: + * window.enableKeyRepeat( enable ) + * + * Enable or disable automatic key-repeat. + * + * If key repeat is enabled, you will receive repeated KeyPress events while keeping a key pressed. If it is disabled, + * you will only get a single event when the key is pressed. + * + * Key repeat is enabled by default. + */ +static VALUE Window_EnableKeyRepeat( VALUE self, VALUE anEnableFlag ) +{ + sf::Window *object = NULL; + Data_Get_Struct( self, sf::Window, object ); + if( anEnableFlag == Qfalse ) + { + object->EnableKeyRepeat( false ); + } + else if( anEnableFlag == Qtrue ) + { + object->EnableKeyRepeat( true ); + } + else + { + rb_raise( rb_eTypeError, "Expected true or false" ); + } + return Qnil; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000042.html b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000042.html new file mode 100644 index 00000000..bea5a31b --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000042.html @@ -0,0 +1,41 @@ + + + + + +
/* call-seq: + * window.getEvent() -> event or nil + * + * Pop the event on top of events stack, if any, and return it. + * + * This function is not blocking: if there's no pending event then it will return nil. Note that more than the returned + * event may be present in the events stack, thus you should always call this function in a loop to make sure that you + * process every pending event. + */ +static VALUE Window_GetEvent( VALUE self ) +{ + sf::Event event; + sf::Window *window = NULL; + Data_Get_Struct( self, sf::Window, window ); + if( window->GetEvent( event ) == true ) + { + VALUE rbObject = rb_funcall( globalEventClass, rb_intern( "new" ), 1, INT2FIX( event.Type ) ); + sf::Event *rubyRawEvent = NULL; + Data_Get_Struct( rbObject, sf::Event, rubyRawEvent ); + *rubyRawEvent = event; + return rbObject; + } + else + { + return Qnil; + } +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000043.html b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000043.html new file mode 100644 index 00000000..fe05b0d4 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000043.html @@ -0,0 +1,27 @@ + + + + + +
/* call-seq: + * window.getHeight() -> fixnum + * + * Get the height of the rendering region of the window. + * + * The height doesn't include the titlebar and borders of the window. + */ +static VALUE Window_GetHeight( VALUE self ) +{ + sf::Window *object = NULL; + Data_Get_Struct( self, sf::Window, object ); + return INT2FIX( object->GetHeight() ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000044.html b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000044.html new file mode 100644 index 00000000..e49f4000 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000044.html @@ -0,0 +1,27 @@ + + + + + +
/* call-seq: + * window.getInput() -> input + * + * This input gives access to the real-time state of keyboard, mouse and joysticks for this window + */ +static VALUE Window_GetInput( VALUE self ) +{ + sf::Window *object = NULL; + Data_Get_Struct( self, sf::Window, object ); + VALUE rbData = Data_Wrap_Struct( globalInputClass, 0, 0, const_cast< sf::Input * >( &object->GetInput() ) ); + rb_obj_call_init( rbData, 0, 0 ); + return rbData; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000045.html b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000045.html new file mode 100644 index 00000000..8aeb506e --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000045.html @@ -0,0 +1,30 @@ + + + + + +
/* call-seq: + * window.getSettings() -> settings + * + * Get the settings of the OpenGL context of the window. + * + * Note that these settings may be different from what was passed to the constructor or the Create() function, if one + * or more settings were not supported. In this case, SFML chose the closest match. + */ +static VALUE Window_GetSettings( VALUE self ) +{ + sf::Window *object = NULL; + Data_Get_Struct( self, sf::Window, object ); + VALUE rbData = Data_Wrap_Struct( globalContextSettingsClass, 0, 0, const_cast<sf::ContextSettings *>( &object->GetSettings() ) ); + rb_obj_call_init( rbData, 0, 0 ); + return rbData; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000046.html b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000046.html new file mode 100644 index 00000000..5fc53324 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000046.html @@ -0,0 +1,27 @@ + + + + + +
/* call-seq: + * window.getWidth() -> fixnum + * + * Get the width of the rendering region of the window. + * + * The width doesn't include the titlebar and borders of the window. + */ +static VALUE Window_GetWidth( VALUE self ) +{ + sf::Window *object = NULL; + Data_Get_Struct( self, sf::Window, object ); + return INT2FIX( object->GetWidth() ); +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000047.html b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000047.html new file mode 100644 index 00000000..6b58cd55 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000047.html @@ -0,0 +1,32 @@ + + + + + +
/* call-seq: + * window.isOpened() -> true or false + * + * This function returns whether or not the window exists. Note that a hidden window (Show(false)) will return true. + */ +static VALUE Window_IsOpened( VALUE self ) +{ + sf::Window *object = NULL; + Data_Get_Struct( self, sf::Window, object ); + if( object->IsOpened() == true ) + { + return Qtrue; + } + else + { + return Qfalse; + } +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000048.html b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000048.html new file mode 100644 index 00000000..9d5817d7 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000048.html @@ -0,0 +1,41 @@ + + + + + +
/* call-seq: + * window.setActive( activate ) -> true or false + * + * Activate or deactivate the window as the current target for OpenGL rendering. + * + * A window is active only on the current thread, if you want to make it active on another thread you have to + * deactivate it on the previous thread first if it was active. Only one window can be active on a thread at a time, + * thus the window previously active (if any) automatically gets deactivated. + */ +static VALUE Window_SetActive( VALUE self, VALUE anActiveFlag ) +{ + sf::Window *object = NULL; + Data_Get_Struct( self, sf::Window, object ); + if( anActiveFlag == Qfalse ) + { + object->SetActive( false ); + } + else if( anActiveFlag == Qtrue ) + { + object->SetActive( true ); + } + else + { + rb_raise( rb_eTypeError, "Expected true or false" ); + } + return Qnil; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000049.html b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000049.html new file mode 100644 index 00000000..72caefe3 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000049.html @@ -0,0 +1,26 @@ + + + + + +
/* call-seq: + * window.setCursorPosition( new_x, new_y ) + * + * Change the position of the mouse cursor. + */ +static VALUE Window_SetCursorPosition( VALUE self, VALUE aX, VALUE aY ) +{ + sf::Window *object = NULL; + Data_Get_Struct( self, sf::Window, object ); + object->SetCursorPosition( FIX2UINT( aX ), FIX2UINT( aY ) ); + return Qnil; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000050.html b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000050.html new file mode 100644 index 00000000..c3a00b1b --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000050.html @@ -0,0 +1,29 @@ + + + + + +
/* call-seq: + * window.cursorPosition=( vector2 ) + * + * Change the position of the mouse cursor. + */ +static VALUE Window_SetCursorPosition2( VALUE self, VALUE anArgument ) +{ + VALUE argument = Vector2_ForceType( anArgument ); + sf::Window *object = NULL; + Data_Get_Struct( self, sf::Window, object ); + VALUE argumentX = rb_funcall( argument, rb_intern( "x" ), 0 ); + VALUE argumentY = rb_funcall( argument, rb_intern( "y" ), 0 ); + object->SetCursorPosition( FIX2UINT( argumentX ), FIX2UINT( argumentY ) ); + return Qnil; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000051.html b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000051.html new file mode 100644 index 00000000..4638da82 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000051.html @@ -0,0 +1,29 @@ + + + + + +
/* call-seq: + * window.setFramerateLimit( new_limit ) + * + * Limit the framerate to a maximum fixed frequency. + * + * If a limit is set, the window will use a small delay after each call to Display() to ensure that the current frame + * lasted long enough to match the framerate limit. + */ +static VALUE Window_SetFramerateLimit( VALUE self, VALUE aLimit ) +{ + sf::Window *object = NULL; + Data_Get_Struct( self, sf::Window, object ); + object->SetFramerateLimit( FIX2UINT( aLimit ) ); + return Qnil; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000052.html b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000052.html new file mode 100644 index 00000000..7eab1b2b --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000052.html @@ -0,0 +1,53 @@ + + + + + +
/* call-seq: + * window.setIcon( width, height, pixels ) + * + * Change the window's icon. + * + * pixels must be an array of width x height pixels in 32-bits RGBA format. In the ruby binding the array will be + * flattened so you can have array's up to 3 dimensions(or more) to represent each pixel component. The size of the + * array will be assumed to be width * height * 4. + * + * The OS default icon is used by default. + * + * Usage example: + * pixels = [ + * [[255, 0, 0, 255], [0, 0, 255, 255]], + * [[0, 255, 0, 255], [0, 0, 0, 255]] + * ] + * + * window.setIcon( 2, 2, pixels ) + */ +static VALUE Window_SetIcon( VALUE self, VALUE aWidth, VALUE aHeight, VALUE somePixels ) +{ + const unsigned int rawWidth = FIX2UINT( aWidth ); + const unsigned int rawHeight = FIX2UINT( aHeight ); + VALIDATE_CLASS( somePixels, rb_cArray, "third" ); + const unsigned long dataSize = rawWidth * rawHeight * 4; + sf::Uint8 * const tempData = new sf::Uint8[dataSize]; + VALUE pixels = rb_funcall( somePixels, rb_intern("flatten"), 0 ); + for(unsigned long index = 0; index < dataSize; index++) + { + sf::Uint8 val = NUM2CHR( rb_ary_entry( pixels, index ) ); + tempData[index] = val; + } + + sf::Window *object = NULL; + Data_Get_Struct( self, sf::Window, object ); + object->SetIcon( rawWidth, rawHeight, tempData ); + delete[] tempData; + return Qnil; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000053.html b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000053.html new file mode 100644 index 00000000..9e769d08 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000053.html @@ -0,0 +1,30 @@ + + + + + +
/* call-seq: + * window.setJoystickThreshold( new_threshold ) + * + * Change the joystick threshold. + * + * The joystick threshold is the value below which no JoyMoved event will be generated. + * + * The threshold value is 0.1 by default. The threshold has to be in the range 0..100 + */ +static VALUE Window_SetJoystickThreshold( VALUE self, VALUE aThreshold ) +{ + sf::Window *object = NULL; + Data_Get_Struct( self, sf::Window, object ); + object->SetJoystickThreshold( rb_float_new( aThreshold ) ); + return Qnil; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000054.html b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000054.html new file mode 100644 index 00000000..135f54e9 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000054.html @@ -0,0 +1,29 @@ + + + + + +
/* call-seq: + * window.setPosition( new_x, new_y ) + * + * Change the position of the window on screen. + * + * This function only works for top-level windows (i.e. it will be ignored for windows created from the handle of a + * child window/control). + */ +static VALUE Window_SetPosition( VALUE self, VALUE aX, VALUE aY ) +{ + sf::Window *object = NULL; + Data_Get_Struct( self, sf::Window, object ); + object->SetPosition( FIX2INT( aX ), FIX2INT( aY ) ); + return Qnil; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000055.html b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000055.html new file mode 100644 index 00000000..cd4aec1c --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000055.html @@ -0,0 +1,32 @@ + + + + + +
/* call-seq: + * window.position=( vector2 ) + * + * Change the position of the window on screen. + * + * This function only works for top-level windows (i.e. it will be ignored for windows created from the handle of a + * child window/control). + */ +static VALUE Window_SetPosition2( VALUE self, VALUE anArgument ) +{ + VALUE argument = Vector2_ForceType( anArgument ); + sf::Window *object = NULL; + Data_Get_Struct( self, sf::Window, object ); + VALUE argumentX = rb_funcall( argument, rb_intern( "x" ), 0 ); + VALUE argumentY = rb_funcall( argument, rb_intern( "y" ), 0 ); + object->SetPosition( FIX2UINT( argumentX ), FIX2INT( argumentY ) ); + return Qnil; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000056.html b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000056.html new file mode 100644 index 00000000..6d8817c3 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000056.html @@ -0,0 +1,26 @@ + + + + + +
/* call-seq: + * window.setSize( new_width, new_height ) + * + * Change the size of the rendering region of the window. + */ +static VALUE Window_SetSize( VALUE self, VALUE aWidth, VALUE aHeight ) +{ + sf::Window *object = NULL; + Data_Get_Struct( self, sf::Window, object ); + object->SetSize( FIX2UINT( aWidth ), FIX2UINT( aHeight ) ); + return Qnil; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000057.html b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000057.html new file mode 100644 index 00000000..43d63186 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000057.html @@ -0,0 +1,29 @@ + + + + + +
/* call-seq: + * window.size=( vector2 ) + * + * Change the size of the rendering region of the window. + */ +static VALUE Window_SetSize2( VALUE self, VALUE anArgument ) +{ + VALUE argument = Vector2_ForceType( anArgument ); + sf::Window *object = NULL; + Data_Get_Struct( self, sf::Window, object ); + VALUE argumentX = rb_funcall( argument, rb_intern( "x" ), 0 ); + VALUE argumentY = rb_funcall( argument, rb_intern( "y" ), 0 ); + object->SetSize( FIX2UINT( argumentX ), FIX2UINT( argumentY ) ); + return Qnil; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000058.html b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000058.html new file mode 100644 index 00000000..2e899675 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000058.html @@ -0,0 +1,26 @@ + + + + + +
/* call-seq: + * window.setTitle( new_title ) + * + * Change the title of the window. + */ +static VALUE Window_SetTitle( VALUE self, VALUE aTitle ) +{ + sf::Window *object = NULL; + Data_Get_Struct( self, sf::Window, object ); + object->SetTitle( rb_string_value_cstr( &aTitle ) ); + return Qnil; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000059.html b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000059.html new file mode 100644 index 00000000..72c4d73f --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000059.html @@ -0,0 +1,39 @@ + + + + + +
/* call-seq: + * window.show( show ) + * + * Show or hide the window. + * + * The window is shown by default. + */ +static VALUE Window_Show( VALUE self, VALUE aShowFlag ) +{ + sf::Window *object = NULL; + Data_Get_Struct( self, sf::Window, object ); + if( aShowFlag == Qfalse ) + { + object->Show( false ); + } + else if( aShowFlag == Qtrue ) + { + object->Show( true ); + } + else + { + rb_raise( rb_eTypeError, "Expected true or false" ); + } + return Qnil; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000060.html b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000060.html new file mode 100644 index 00000000..eac4e341 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000060.html @@ -0,0 +1,39 @@ + + + + + +
/* call-seq: + * window.showMouseCursor( show ) + * + * Show or hide the mouse cursor. + * + * The mouse cursor is shown by default. + */ +static VALUE Window_ShowMouseCursor( VALUE self, VALUE aShowFlag ) +{ + sf::Window *object = NULL; + Data_Get_Struct( self, sf::Window, object ); + if( aShowFlag == Qfalse ) + { + object->ShowMouseCursor( false ); + } + else if( aShowFlag == Qtrue ) + { + object->ShowMouseCursor( true ); + } + else + { + rb_raise( rb_eTypeError, "Expected true or false" ); + } + return Qnil; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000061.html b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000061.html new file mode 100644 index 00000000..73474cc0 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000061.html @@ -0,0 +1,43 @@ + + + + + +
/* call-seq: + * window.useVerticalSync( enabled ) + * + * Enable or disable vertical synchronization. + * + * Activating vertical synchronization will limit the number of frames displayed to the refresh rate of the monitor. + * This can avoid some visual artifacts, and limit the framerate to a good value (but not constant across different + * computers). + * + * Vertical synchronization is disabled by default. + */ +static VALUE Window_UseVerticalSync( VALUE self, VALUE aEnableFlag ) +{ + sf::Window *object = NULL; + Data_Get_Struct( self, sf::Window, object ); + if( aEnableFlag == Qfalse ) + { + object->UseVerticalSync( false ); + } + else if( aEnableFlag == Qtrue ) + { + object->UseVerticalSync( true ); + } + else + { + rb_raise( rb_eTypeError, "Expected true or false" ); + } + return Qnil; +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000062.html b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000062.html new file mode 100644 index 00000000..e4f0ce67 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/classes/SFML/Window.src/M000062.html @@ -0,0 +1,42 @@ + + + + + +
/* call-seq: + * window.waitEvent() -> event or nil + * + * Wait for an event and return it. + * + * This function is blocking: if there's no pending event then it will wait until an event is received. After this + * function returns (and no error occured), the event object is always valid and filled properly. This function is + * typically used when you have a thread that is dedicated to events handling: you want to make this thread sleep as + * long as no new event is received. + */ +static VALUE Window_WaitEvent( VALUE self ) +{ + sf::Event event; + sf::Window *window = NULL; + Data_Get_Struct( self, sf::Window, window ); + if( window->WaitEvent( event ) == true ) + { + VALUE rbObject = rb_funcall( globalEventClass, rb_intern( "new" ), 1, INT2FIX( event.Type ) ); + sf::Event *rubyRawEvent = NULL; + Data_Get_Struct( rbObject, sf::Event, rubyRawEvent ); + *rubyRawEvent = event; + return rbObject; + } + else + { + return Qnil; + } +}+ + \ No newline at end of file diff --git a/bindings/ruby/sfml-window/doc/created.rid b/bindings/ruby/sfml-window/doc/created.rid new file mode 100644 index 00000000..1afe1811 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/created.rid @@ -0,0 +1 @@ +Tue, 16 Nov 2010 17:23:56 +0100 diff --git a/bindings/ruby/sfml-window/doc/files/extconf_rb.html b/bindings/ruby/sfml-window/doc/files/extconf_rb.html new file mode 100644 index 00000000..92590830 --- /dev/null +++ b/bindings/ruby/sfml-window/doc/files/extconf_rb.html @@ -0,0 +1,137 @@ + + + + + +
Path: | +extconf.rb + | +
Last Update: | +Tue Nov 16 09:57:47 +0100 2010 | +
+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: +
+Path: | +window/ContextSettings.cpp + | +
Last Update: | +Tue Nov 16 15:51:52 +0100 2010 | +
Path: | +window/Context.cpp + | +
Last Update: | +Tue Nov 16 15:52:05 +0100 2010 | +
Path: | +window/Event.cpp + | +
Last Update: | +Tue Nov 16 16:59:49 +0100 2010 | +
Path: | +window/Input.cpp + | +
Last Update: | +Tue Nov 16 15:49:22 +0100 2010 | +
Path: | +window/VideoMode.cpp + | +
Last Update: | +Tue Nov 16 15:49:43 +0100 2010 | +
Path: | +window/Window.cpp + | +
Last Update: | +Tue Nov 16 15:52:14 +0100 2010 | +
Path: | +window/main.cpp + | +
Last Update: | +Tue Nov 16 17:09:07 +0100 2010 | +