MRI-Binding: Bind #initialize_copy for clonable classes

This replaces the previously directly bound #clone
methods, which weren't really the "the Ruby way".
Rubys default Object#clone will call into our #init_copy
methods instead.

Partly incorporates pull request #3 by /cremno.
This commit is contained in:
Jonas Kulla 2013-10-31 10:13:24 +01:00
parent 7549778dc6
commit b7a2ba830c
4 changed files with 37 additions and 28 deletions

View file

@ -291,7 +291,7 @@ RB_METHOD(bitmapTextSize)
DEF_PROP_OBJ(Bitmap, Font, Font, "font")
CLONE_FUN(Bitmap)
INITCOPY_FUN(Bitmap)
void
@ -304,7 +304,8 @@ bitmapBindingInit()
disposableBindingInit<Bitmap>(klass);
_rb_define_method(klass, "initialize", bitmapInitialize);
_rb_define_method(klass, "initialize", bitmapInitialize);
_rb_define_method(klass, "initialize_copy", BitmapInitializeCopy);
_rb_define_method(klass, "width", bitmapWidth);
_rb_define_method(klass, "height", bitmapHeight);
@ -320,6 +321,4 @@ bitmapBindingInit()
_rb_define_method(klass, "text_size", bitmapTextSize);
INIT_PROP_BIND(Bitmap, Font, "font");
_rb_define_method(klass, "clone", BitmapClone);
}