class Curses::Pad
Description¶ ↑
A Pad
is like a Window
but allows for scrolling of contents that cannot fit on the screen. Pads do not refresh automatically, use Pad#refresh
or Pad#noutrefresh
instead.
Public Class Methods
Source
static VALUE pad_initialize(VALUE obj, VALUE h, VALUE w) { struct windata *padp; WINDOW *window; curses_init_screen(Qnil); TypedData_Get_Struct(obj, struct windata, &windata_type, padp); if (padp->window) delwin(padp->window); window = newpad(NUM2INT(h), NUM2INT(w)); wclear(window); padp->window = window; return obj; }
Construct a new Curses::Pad
with constraints of height
lines, width
columns
Public Instance Methods
Source
static VALUE pad_noutrefresh(VALUE obj, VALUE pminrow, VALUE pmincol, VALUE sminrow, VALUE smincol, VALUE smaxrow, VALUE smaxcol) { struct windata *padp; int pmr, pmc, smr, smc, sxr, sxc; pmr = NUM2INT(pminrow); pmc = NUM2INT(pmincol); smr = NUM2INT(sminrow); smc = NUM2INT(smincol); sxr = NUM2INT(smaxrow); sxc = NUM2INT(smaxcol); GetWINDOW(obj, padp); #ifdef HAVE_DOUPDATE pnoutrefresh(padp->window, pmr, pmc, smr, smc, sxr, sxc); #else prefresh(padp->window, pmr, pmc, smr, smc, sxr, sxc); #endif return Qnil; }
Refreshes the pad. pad_minrow
and pad_mincol+ define the upper-left corner of the rectangle to be displayed. screen_minrow
, screen_mincol
, screen_maxrow
, screen_maxcol
define the edges of the rectangle to be displayed on the screen.
Source
static VALUE pad_refresh(VALUE obj, VALUE pminrow, VALUE pmincol, VALUE sminrow, VALUE smincol, VALUE smaxrow, VALUE smaxcol) { struct windata *padp; int pmr, pmc, smr, smc, sxr, sxc; pmr = NUM2INT(pminrow); pmc = NUM2INT(pmincol); smr = NUM2INT(sminrow); smc = NUM2INT(smincol); sxr = NUM2INT(smaxrow); sxc = NUM2INT(smaxcol); GetWINDOW(obj, padp); prefresh(padp->window, pmr, pmc, smr, smc, sxr, sxc); return Qnil; }
Refreshes the pad. pad_minrow
and pad_mincol+ define the upper-left corner of the rectangle to be displayed. screen_minrow
, screen_mincol
, screen_maxrow
, screen_maxcol
define the edges of the rectangle to be displayed on the screen.
Source
static VALUE pad_subpad(VALUE obj, VALUE height, VALUE width, VALUE begin_x, VALUE begin_y) { struct windata *padp; WINDOW *sub_pad; VALUE pad; int h, w, x, y; h = NUM2INT(height); w = NUM2INT(width); x = NUM2INT(begin_x); y = NUM2INT(begin_y); GetWINDOW(obj, padp); sub_pad = subpad(padp->window, h, w, x, y); pad = prep_window(rb_obj_class(obj), sub_pad, 0); return pad; }
Construct a new subpad with constraints of height
lines, width
columns, begin at begin_x
line, and begin_y
columns on the pad.