summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mrbgem.rake2
-rw-r--r--mrblib/raylib.c29
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 */
+}