diff options
| author | realtradam <[email protected]> | 2023-05-26 01:01:44 -0400 |
|---|---|---|
| committer | realtradam <[email protected]> | 2023-05-26 01:01:44 -0400 |
| commit | 85f3e9ed33b3e3cab7e011bae3b1ac99fb4520a7 (patch) | |
| tree | 5f6819bcd93a10c66eb3daf0bd90ec88f194bbb2 /mrb_gems/basic_struct_example/autogen.rb | |
| parent | 0e689b72d7fc7afa64508a99948527009712d189 (diff) | |
| download | mruby-playground-85f3e9ed33b3e3cab7e011bae3b1ac99fb4520a7.tar.gz mruby-playground-85f3e9ed33b3e3cab7e011bae3b1ac99fb4520a7.zip | |
some progress
Diffstat (limited to 'mrb_gems/basic_struct_example/autogen.rb')
| -rw-r--r-- | mrb_gems/basic_struct_example/autogen.rb | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/mrb_gems/basic_struct_example/autogen.rb b/mrb_gems/basic_struct_example/autogen.rb new file mode 100644 index 0000000..5db0cb8 --- /dev/null +++ b/mrb_gems/basic_struct_example/autogen.rb @@ -0,0 +1,39 @@ +require "FelBind" + +mgem = FelBind::BindGem.new(gem_name: "basic_struct_example") + +mgem.add_class("Color") + +mgem.add_struct(class_name: "Color", cstruct_name: "Color") do |struct| + struct.initializer = true + struct.member( + name: "r", + ctype: "char", + rtype: "int", + accessor: true + ) + struct.member( + name: "g", + ctype: "char", + rtype: "int", + accessor: true + ) + struct.member( + name: "b", + ctype: "char", + rtype: "int", + accessor: true + ) +end + +result = "typedef struct Color +{ + char r; + char g; + char b; +} Color;\n" + +result += mgem.build + +File.write("src/basic_struct_example.c", result) + |
