From bdf0e1c6bce78f8a0627692243bdaaf30025ae97 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Thu, 14 Aug 2014 21:11:25 -0400 Subject: [PATCH] add initial Buffer class --- src/Buffer.cc | 17 +++++++++++++++++ src/Buffer.h | 6 ++++++ src/main.cc | 2 ++ 3 files changed, 25 insertions(+) create mode 100644 src/Buffer.cc create mode 100644 src/Buffer.h diff --git a/src/Buffer.cc b/src/Buffer.cc new file mode 100644 index 0000000..4dd84a5 --- /dev/null +++ b/src/Buffer.cc @@ -0,0 +1,17 @@ +#include "Buffer.h" +#include "ruby.h" + +static VALUE ruby_class; + +static VALUE Buffer_brackets(VALUE self, VALUE index) +{ + /* TODO: implement for real */ + VALUE s = rb_funcall(index, rb_intern("to_s"), 0); + return s; +} + +void Buffer_Init() +{ + ruby_class = rb_define_class("Buffer", rb_cObject); + rb_define_method(ruby_class, "[]", (VALUE(*)(...))Buffer_brackets, 1); +} diff --git a/src/Buffer.h b/src/Buffer.h new file mode 100644 index 0000000..932312c --- /dev/null +++ b/src/Buffer.h @@ -0,0 +1,6 @@ +#ifndef BUFFER_H +#define BUFFER_H + +void Buffer_Init(); + +#endif diff --git a/src/main.cc b/src/main.cc index 1a52104..789ccbf 100644 --- a/src/main.cc +++ b/src/main.cc @@ -1,6 +1,7 @@ #include #include "ruby.h" +#include "Buffer.h" #include "Font.h" #include "GL.h" #include "GLProgram.h" @@ -54,6 +55,7 @@ static int bootstrap() int rv = 0; int err_state = 0; + Buffer_Init(); Font_Init(); GL_Init(); GLProgram_Init();