Maintenance of Ruby 2.0.0 ended on February 24, 2016. Read more

In Files

  • curses/curses.c

Class/Module Index [+]

Quicksearch
No matching classes.

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 #refresh or #noutrefresh instead.

Public Class Methods

new(height, width) click to toggle source

Contruct a new Curses::Pad with constraints of height lines, width columns

 
 static VALUE
pad_initialize(VALUE obj, VALUE h, VALUE w)
{
 struct windata *padp;
 WINDOW *window;
 rb_secure(4);
 curses_init_screen();
 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;
}
 

Public Instance Methods

noutrefresh(pad_minrow, pad_mincol, screen_minrow, screen_mincol, screen_maxrow, screen_maxcol) click to toggle source

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.

 
 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;
}
 
refresh(pad_minrow, pad_mincol, screen_minrow, screen_mincol, screen_maxrow, screen_maxcol) click to toggle source

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.

 
 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;
}
 
subpad(height, width, begin_x, begin_y) click to toggle source

Contruct a new subpad with constraints of height lines, width columns, begin at begin_x line, and begin_y columns on the pad.

 
 static VALUE
pad_subpad(VALUE obj, VALUE height, VALUE width, VALUE begin_x, VALUE begin_y)
{
 struct windata *padp;
 WINDOW *subpad;
 VALUE pad;
 int h, w, x, y;
 h = NUM2INT(height);
 w = NUM2INT(width);
 x = NUM2INT(begin_x);
 y = NUM2INT(begin_y);
 GetWINDOW(obj, padp);
 subpad = subwin(padp->window, h, w, x, y);
 pad = prep_window(rb_obj_class(obj), subpad);
 return pad;
}
 

AltStyle によって変換されたページ (->オリジナル) /