diff options
| -rw-r--r-- | mrbgem.rake | 2 | ||||
| -rw-r--r-- | mrblib/raylib.c | 29 |
2 files changed, 30 insertions, 1 deletions
diff --git a/mrbgem.rake b/mrbgem.rake index c67a9a4..e77cc5d 100644 --- a/mrbgem.rake +++ b/mrbgem.rake @@ -1,4 +1,4 @@ -MRuby::Gem::Specification.new('c_and_ruby_extension_example') do |spec| +MRuby::Gem::Specification.new('mruby_raylib') do |spec| spec.license = 'MIT' spec.author = 'Tradam and Arnold' diff --git a/mrblib/raylib.c b/mrblib/raylib.c new file mode 100644 index 0000000..8acc89e --- /dev/null +++ b/mrblib/raylib.c @@ -0,0 +1,29 @@ +#include <raylib.h> +#include <mruby.h> +#if defined(PLATFORM_WEB) +#include <emscripten/emscripten.h> +#endif + + static mrb_value +mrb_init_window(mrb_state, *mrb, mrb_value self) +{ + mrb_int screenWidth = 800; + mrb_int screenHeight = 600; + char* title = "Hello World from FelFlame!"; + mrb_get_args(mrb, "|iiz", &screenWidth, &screenHeight, &title); + + InitWindow(screenWidth, screenHeight, title); + + return mrb_nil_value(); +} + +void +mrb_mruby_raylib_gem_init(mrb_state* mrb) { + struct RClass *class_cextension = mrb_define_module(mrb, "Raylib"); + mrb_define_class_method(mrb, class_cextension, "init_window", mrb_init_window, MRB_ARGS_REQ(2)); +} + +void +mrb_mruby_raylib_gem_final(mrb_state* mrb) { + /* finalizer */ +} |
