static VALUE rb_ext_Grid_new(VALUE self, VALUE cols, VALUE rows) { newtGrid grid; grid = newtCreateGrid(NUM2INT(cols), NUM2INT(rows)); return Data_Wrap_Struct(self, 0, 0, grid); //return Data_Wrap_Struct(self, 0, rb_ext_Grid_Destroy, grid); }
static VALUE rb_ext_Grid_GetSize(VALUE self) { int width, height; newtGrid grid; VALUE ary = rb_ary_new2(2); Data_Get_Struct(self, struct grid_s, grid); newtGridGetSize(grid, &width, &height); rb_ary_push(ary, INT2NUM(width)); rb_ary_push(ary, INT2NUM(height)); return ary; }
static VALUE rb_ext_Grid_SetField(VALUE self, VALUE col, VALUE row, VALUE type, VALUE val, VALUE padLeft, VALUE padTop, VALUE padRight, VALUE padBottom, VALUE anchor, VALUE flags) { newtGrid grid; newtComponent co; Data_Get_Struct(self, struct grid_s, grid); Data_Get_Struct(val, struct newtComponent_struct, co); newtGridSetField(grid, NUM2INT(col), NUM2INT(row), NUM2INT(type), co, NUM2INT(padLeft), NUM2INT(padTop), NUM2INT(padRight), NUM2INT(padBottom), NUM2INT(anchor), NUM2INT(flags)); return Qnil; }
static VALUE rb_ext_Grid_WrappedWindow(VALUE self, VALUE args) { newtGrid grid; long len; len = RARRAY_LEN(args); if (len == 1) { Data_Get_Struct(self, struct grid_s, grid); newtGridWrappedWindow(grid, StringValuePtr(RARRAY_PTR(args)[0])); } else if (len == 3) { Data_Get_Struct(self, struct grid_s, grid); newtGridWrappedWindowAt(grid, StringValuePtr(RARRAY_PTR(args)[0]), NUM2INT(StringValuePtr(RARRAY_PTR(args)[1])), NUM2INT(StringValuePtr(RARRAY_PTR(args)[2]))); } else { rb_raise(rb_eArgError, "1 argument or 3 arguments required"); } return Qnil; }