diff options
| author | realtradam <[email protected]> | 2022-01-14 20:51:09 -0500 |
|---|---|---|
| committer | realtradam <[email protected]> | 2022-01-14 20:51:09 -0500 |
| commit | 24ea9991eee491a217fb47ef20e4c187f732a424 (patch) | |
| tree | 0475daf79bc5fee819acdbb195d30ebb98020d70 | |
| parent | 9bac8a372b0de3900f8767a2c5910956c9728471 (diff) | |
| download | mruby-raylib-24ea9991eee491a217fb47ef20e4c187f732a424.tar.gz mruby-raylib-24ea9991eee491a217fb47ef20e4c187f732a424.zip | |
init window function
| -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 */ +} |
