class Newt::Screen
Public Class Methods
bell()
click to toggle source
static VALUE rb_ext_Screen_Bell(VALUE self) { INIT_GUARD(); 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) { INIT_GUARD(); return INT2NUM(newtCenteredWindow(NUM2INT(width), NUM2INT(height), StringValuePtr(title))); }
clear_keybuffer()
click to toggle source
static VALUE rb_ext_Screen_ClearKeyBuffer() { INIT_GUARD(); newtClearKeyBuffer(); return Qnil; }
cls()
click to toggle source
static VALUE rb_ext_Screen_Cls() { INIT_GUARD(); newtCls(); return Qnil; }
cursor_off()
click to toggle source
static VALUE rb_ext_Screen_CursorOff(VALUE self) { INIT_GUARD(); newtCursorOff(); return Qnil; }
cursor_on()
click to toggle source
static VALUE rb_ext_Screen_CursorOn(VALUE self) { INIT_GUARD(); newtCursorOn(); 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) { INIT_GUARD(); newtDrawRootText(NUM2INT(col), NUM2INT(row), StringValuePtr(text)); return Qnil; }
finish()
click to toggle source
static VALUE rb_ext_Screen_Finished() { newtFinished(); initialized = Qfalse; return Qnil; }
help_callback(p1)
click to toggle source
static VALUE rb_ext_Screen_HelpCallback(VALUE self, VALUE cb) { INIT_GUARD(); cb = rb_struct_new(rb_ext_sCallback, Qnil, rb_binding_new(), cb, Qnil, NULL); rb_obj_freeze(cb); rb_cvar_set(self, CVAR_HELP_CALLBACK, cb); newtSetHelpCallback(rb_ext_Screen_help_callback_function); return Qnil; }
init()
click to toggle source
static VALUE rb_ext_Screen_Init() { if (initialized == Qtrue) return Qnil; newtInit(); memcpy(&newtColors, &newtDefaultColorPalette, sizeof(struct newtColors)); initialized = Qtrue; return Qnil; }
new()
click to toggle source
static VALUE rb_ext_Screen_new() { rb_ext_Screen_Init(); newtCls(); 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) { INIT_GUARD(); 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) { INIT_GUARD(); newtPopHelpLine(); return Qnil; }
pop_window()
click to toggle source
static VALUE rb_ext_Screen_PopWindow(VALUE self) { INIT_GUARD(); newtPopWindow(); return Qnil; }
push_helpline(p1)
click to toggle source
static VALUE rb_ext_Screen_PushHelpLine(VALUE self, VALUE text) { INIT_GUARD(); newtPushHelpLine(StringValuePtr(text)); return Qnil; }
redraw_helpline()
click to toggle source
static VALUE rb_ext_Screen_RedrawHelpLine(VALUE self) { INIT_GUARD(); newtRedrawHelpLine(); return Qnil; }
refresh()
click to toggle source
static VALUE rb_ext_Screen_Refresh() { INIT_GUARD(); newtRefresh(); return Qnil; }
resume()
click to toggle source
static VALUE rb_ext_Screen_Resume() { INIT_GUARD(); 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) { INIT_GUARD(); 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); INIT_GUARD(); newtSetColors(newtColors); return Qnil; }
size()
click to toggle source
static VALUE rb_ext_Screen_Size(VALUE self) { int cols, rows; INIT_GUARD(); newtGetScreenSize(&cols, &rows); return rb_ary_new_from_args(2, INT2NUM(cols), INT2NUM(rows)); }
suspend()
click to toggle source
static VALUE rb_ext_Screen_Suspend() { INIT_GUARD(); newtSuspend(); return Qnil; }
suspend_callback(*args)
click to toggle source
static VALUE rb_ext_Screen_SuspendCallback(int argc, VALUE *argv, VALUE self) { VALUE cb, data = Qnil; if (argc < 1 || argc > 2) ARG_ERROR(argc, "1 or 2"); INIT_GUARD(); if (argc == 2) data = argv[1]; cb = rb_struct_new(rb_ext_sCallback, self, rb_binding_new(), argv[0], data, NULL); rb_obj_freeze(cb); rb_cvar_set(self, CVAR_SUSPEND_CALLBACK, cb); newtSetSuspendCallback(rb_ext_Screen_suspend_callback_function, (void *) cb); return Qnil; }
wait_for_key()
click to toggle source
static VALUE rb_ext_Screen_WaitForKey() { INIT_GUARD(); newtWaitForKey(); return Qnil; }
win_choice(p1, p2, p3, p4)
click to toggle source
static VALUE rb_ext_Screen_WinChoice(VALUE self, VALUE title, VALUE button1, VALUE button2, VALUE text) { int result; INIT_GUARD(); result = newtWinChoice(StringValuePtr(title), StringValuePtr(button1), StringValuePtr(button2), StringValuePtr(text)); return INT2NUM(result); }
win_entries(*args)
click to toggle source
static VALUE rb_ext_Screen_WinEntries(VALUE self, VALUE args) { VALUE ary; struct newtWinEntry *items; char *title, *text, *button1, *button2; int len, i; int width, flexDown, flexUp, dataWidth; char *entries[10]; len = RARRAY_LENINT(args); if (len < 8 || len > 9) ARG_ERROR(len, "8..9"); INIT_GUARD(); title = StringValuePtr(RARRAY_PTR(args)[0]); text = StringValuePtr(RARRAY_PTR(args)[1]); width = NUM2INT(RARRAY_PTR(args)[2]); flexDown = NUM2INT(RARRAY_PTR(args)[3]); flexUp = NUM2INT(RARRAY_PTR(args)[4]); dataWidth = NUM2INT(RARRAY_PTR(args)[5]); button1 = StringValuePtr(RARRAY_PTR(args)[7]); button2 = (len == 9) ? StringValuePtr(RARRAY_PTR(args)[8]) : NULL; Check_Type(RARRAY_PTR(args)[6], T_ARRAY); len = RARRAY_LENINT(RARRAY_PTR(args)[6]); if (len > 8) ARG_ERROR(len, "8 or less"); memset(entries, 0, sizeof(entries)); 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; ary = rb_ary_new(); newtWinEntries(title, text, width, flexDown, flexUp, dataWidth, items, button1, button2, NULL); for (i = 0; i < len; i++) { rb_ary_push(ary, rb_str_new2(entries[i])); } return ary; }
win_message(p1, p2, p3)
click to toggle source
static VALUE rb_ext_Screen_WinMessage(VALUE self, VALUE title, VALUE button, VALUE text) { INIT_GUARD(); newtWinMessage(StringValuePtr(title), StringValuePtr(button), StringValuePtr(text)); return Qnil; }