class Newt::Screen
Public Class Methods
bell()
click to toggle source
static VALUE rb_ext_Screen_Bell(VALUE self) { newtBell(); return Qnil; }
centered_window(p1, p2, p3)
click to toggle source
static VALUE rb_ext_Screen_CenteredWindow(VALUE self, VALUE width, VALUE height, VALUE title) { return INT2NUM(newtCenteredWindow(NUM2INT(width), NUM2INT(height), StringValuePtr(title))); }
clear_keybuffer()
click to toggle source
static VALUE rb_ext_Screen_ClearKeyBuffer() { newtClearKeyBuffer(); return Qnil; }
cls()
click to toggle source
static VALUE rb_ext_Screen_Cls() { newtCls(); return Qnil; }
draw_roottext(p1, p2, p3)
click to toggle source
static VALUE rb_ext_Screen_DrawRootText(VALUE self, VALUE col, VALUE row, VALUE text) { newtDrawRootText(NUM2INT(col), NUM2INT(row), StringValuePtr(text)); return Qnil; }
finish()
click to toggle source
static VALUE rb_ext_Screen_Finished() { newtFinished(); return Qnil; }
init()
click to toggle source
static VALUE rb_ext_Screen_Init() { newtInit(); memcpy(&newtColors, &newtDefaultColorPalette, sizeof(struct newtColors)); return Qnil; }
new()
click to toggle source
static VALUE rb_ext_Screen_new() { newtInit(); newtCls(); memcpy(&newtColors, &newtDefaultColorPalette, sizeof(struct newtColors)); return Qnil; }
open_window(p1, p2, p3, p4, p5)
click to toggle source
static VALUE rb_ext_Screen_OpenWindow(VALUE self, VALUE left, VALUE top, VALUE width, VALUE height, VALUE title) { return INT2NUM(newtOpenWindow(NUM2INT(left), NUM2INT(top), NUM2INT(width), NUM2INT(height), StringValuePtr(title))); }
pop_helpline()
click to toggle source
static VALUE rb_ext_Screen_PopHelpLine(VALUE self) { newtPopHelpLine(); return Qnil; }
pop_window()
click to toggle source
static VALUE rb_ext_Screen_PopWindow(VALUE self) { newtPopWindow(); return Qnil; }
push_helpline(p1)
click to toggle source
static VALUE rb_ext_Screen_PushHelpLine(VALUE self, VALUE text) { newtPushHelpLine(StringValuePtr(text)); return Qnil; }
redraw_helpline()
click to toggle source
static VALUE rb_ext_Screen_RedrawHelpLine(VALUE self) { newtRedrawHelpLine(); return Qnil; }
refresh()
click to toggle source
static VALUE rb_ext_Screen_Refresh() { newtRefresh(); return Qnil; }
resume()
click to toggle source
static VALUE rb_ext_Screen_Resume() { newtResume(); return Qnil; }
set_color(p1, p2, p3)
click to toggle source
static VALUE rb_ext_Screen_SetColor(VALUE self, VALUE colorset, VALUE fg, VALUE bg) { newtSetColor(NUM2INT(colorset), StringValuePtr(fg), StringValuePtr(bg)); return Qnil; }
set_colors(p1)
click to toggle source
static VALUE rb_ext_Screen_SetColors(VALUE self, VALUE colors) { Check_Type(colors, T_HASH); rb_hash_foreach(colors, rb_ext_Colors_callback_function, (VALUE) &newtColors); newtSetColors(newtColors); return Qnil; }
size()
click to toggle source
static VALUE rb_ext_Screen_Size(VALUE self) { int cols, rows; VALUE ary = rb_ary_new2(2); newtGetScreenSize(&cols, &rows); rb_ary_push(ary, INT2NUM(cols)); rb_ary_push(ary, INT2NUM(rows)); return ary; }
suspend()
click to toggle source
static VALUE rb_ext_Screen_Suspend() { newtSuspend(); return Qnil; }
wait_for_key()
click to toggle source
static VALUE rb_ext_Screen_WaitForKey() { newtWaitForKey(); return Qnil; }
win_choice(*args)
click to toggle source
static VALUE rb_ext_Screen_WinChoice(VALUE self, VALUE args) { int result = 0; if (RARRAY_LEN(args) < 4) { rb_raise(rb_eArgError, "4 arguments required"); } else { result = newtWinChoice(StringValuePtr(RARRAY_PTR(args)[0]), StringValuePtr(RARRAY_PTR(args)[1]), StringValuePtr(RARRAY_PTR(args)[2]), StringValuePtr(RARRAY_PTR(args)[3])); } return INT2NUM(result); }
win_entries(*args)
click to toggle source
static VALUE rb_ext_Screen_WinEntries(VALUE self, VALUE args) { long len; int i; struct newtWinEntry *items; char * entries[10]; VALUE ary; memset(entries, 0, sizeof(entries)); ary = rb_ary_new(); len = RARRAY_LEN(args); if (len == 8) { Check_Type(RARRAY_PTR(args)[6], T_ARRAY); len = RARRAY_LEN(RARRAY_PTR(args)[6]); if (len > 8) rb_raise(rb_eArgError, "8 or less arguments required"); items = ALLOCA_N(struct newtWinEntry, len + 1); for (i = 0; i < len; i++) { Check_Type(RARRAY_PTR(RARRAY_PTR(args)[6])[i], T_STRING); items[i].text = StringValuePtr(RARRAY_PTR(RARRAY_PTR(args)[6])[i]); items[i].value = entries + i; items[i].flags = 0; } items[len].text = NULL; items[len].value = NULL; items[len].flags = 0; newtWinEntries(StringValuePtr(RARRAY_PTR(args)[0]), StringValuePtr(RARRAY_PTR(args)[1]), NUM2INT(RARRAY_PTR(args)[2]), NUM2INT(RARRAY_PTR(args)[3]), NUM2INT(RARRAY_PTR(args)[4]), NUM2INT(RARRAY_PTR(args)[5]), items, StringValuePtr(RARRAY_PTR(args)[7]), NULL); for (i = 0; i < len; i++) { rb_ary_push(ary, rb_str_new2(entries[i])); } return ary; } else if (len == 9) { Check_Type(RARRAY_PTR(args)[6], T_ARRAY); len = RARRAY_LEN(RARRAY_PTR(args)[6]); if (len > 8) rb_raise(rb_eArgError, "8 or less arguments required"); items = ALLOCA_N(struct newtWinEntry, len + 1); for (i = 0; i < len; i++) { Check_Type(RARRAY_PTR(RARRAY_PTR(args)[6])[i], T_STRING); items[i].text = StringValuePtr(RARRAY_PTR(RARRAY_PTR(args)[6])[i]); items[i].value = entries + i; items[i].flags = 0; } items[len].text = NULL; items[len].value = NULL; items[len].flags = 0; newtWinEntries(StringValuePtr(RARRAY_PTR(args)[0]), StringValuePtr(RARRAY_PTR(args)[1]), NUM2INT(RARRAY_PTR(args)[2]), NUM2INT(RARRAY_PTR(args)[3]), NUM2INT(RARRAY_PTR(args)[4]), NUM2INT(RARRAY_PTR(args)[5]), items, StringValuePtr(RARRAY_PTR(args)[7]), StringValuePtr(RARRAY_PTR(args)[8]), NULL); for (i = 0; i < len; i++) { rb_ary_push(ary, rb_str_new2(entries[i])); } return ary; } else { rb_raise(rb_eArgError, "8 or 9 arguments required"); } return Qnil; }
win_message(*args)
click to toggle source
static VALUE rb_ext_Screen_WinMessage(VALUE self, VALUE args) { if (RARRAY_LEN(args) < 3) { rb_raise(rb_eArgError, "3 arguments required"); } else { newtWinMessage(StringValuePtr(RARRAY_PTR(args)[0]), StringValuePtr(RARRAY_PTR(args)[1]), StringValuePtr(RARRAY_PTR(args)[2])); } return Qnil; }