|
1 | 1 | #ifndef MOON_MRB_HELPERS |
2 | 2 | #define MOON_MRB_HELPERS |
3 | 3 |
|
4 | | -#include <mruby.h> |
5 | | -#include <mruby/data.h> |
6 | | -#include <mruby/string.h> |
7 | | -#include <mruby/variable.h> |
| 4 | +#include "moon/mrb/helpers/class.hxx" |
| 5 | +#include "moon/mrb/helpers/variable.hxx" |
| 6 | +#include "moon/mrb/helpers/error.hxx" |
| 7 | +#include "moon/mrb/helpers/data.hxx" |
8 | 8 |
|
9 | | -#define IVget(_name_) mrb_iv_get(mrb, self, mrb_intern_lit(mrb, _name_)) |
10 | | -#define IVset(_name_, _value_) mrb_iv_set(mrb, self, mrb_intern_lit(mrb, _name_), _value_) |
11 | | - |
12 | | -#define KEY_SHADER "@shader" |
13 | | -#define KEY_VBO "@vbo" |
14 | | -#define KEY_ORIGIN "@origin" |
15 | | - |
16 | | -#define MOON_GET_CLASS(__name__) mrb_class_get_under(mrb, mrb_module_get(mrb, "Moon"), __name__) |
17 | | -#define MOON_GET_MODULE(__name__) mrb_module_get_under(mrb, mrb_module_get(mrb, "Moon"), __name__) |
18 | | -; |
19 | | - |
20 | | -static inline mrb_value |
21 | | -moon_iv_get(mrb_state *mrb, mrb_value self, const char *name) |
22 | | -{ |
23 | | - mrb_value iv_value = mrb_iv_get(mrb, self, mrb_intern_cstr(mrb, name)); |
24 | | - if (mrb_nil_p(iv_value)) { |
25 | | - mrb_raisef(mrb, E_ARGUMENT_ERROR, "Cannot use a nil %S", mrb_str_new_cstr(mrb, name)); |
26 | | - } |
27 | | - return iv_value; |
28 | | -} |
29 | | - |
30 | | -static inline void |
31 | | -moon_data_cleanup(mrb_state *mrb, mrb_value self) |
32 | | -{ |
33 | | - void *ptr = DATA_PTR(self); |
34 | | - const struct mrb_data_type* type = DATA_TYPE(self); |
35 | | - if (ptr && type) { |
36 | | - type->dfree(mrb, ptr); |
37 | | - } |
38 | | - DATA_PTR(self) = NULL; |
39 | | -} |
40 | 9 | #endif |
0 commit comments