Class: Curses::Pad
- Defined in:
- ext/curses/curses.c,
ext/curses/curses.c
Overview
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.
Instance Method Summary collapse
-
#initialize(h, w) ⇒ Object
constructor
call-seq: new(height, width).
-
#noutrefresh(pminrow, pmincol, sminrow, smincol, smaxrow, smaxcol) ⇒ Object
call-seq: pad.noutrefresh(pad_minrow, pad_mincol, screen_minrow, screen_mincol, screen_maxrow, screen_maxcol).
-
#refresh(pminrow, pmincol, sminrow, smincol, smaxrow, smaxcol) ⇒ Object
call-seq: pad.refresh(pad_minrow, pad_mincol, screen_minrow, screen_mincol, screen_maxrow, screen_maxcol).
-
#subpad(height, width, begin_x, begin_y) ⇒ Object
Construct a new subpad with constraints of
heightlines,widthcolumns, begin atbegin_xline, andbegin_ycolumns on the pad.
Methods inherited from Window
#<<, #addch, #addstr, #attroff, #attron, #attrset, #begx, #begy, #bkgd, #bkgdset, #box, #clear, #close, #clrtoeol, #color_set, #curx, #cury, #delch, #deleteln, #derwin, #erase, #get_char, #getbkgd, #getch, #getstr, #idlok, #inch, #insch, #insertln, #keypad, #keypad=, #line_touched?, #maxx, #maxy, #move, #move_relative, #nodelay=, #redraw, #resize, #scrl, #scroll, #scrollok, #setpos, #setscrreg, #standend, #standout, #subwin, #timeout=, #touch, #touch_line, #touched?, #untouch
Constructor Details
#initialize(h, w) ⇒ Object
call-seq:
new(height, width)
Construct a new Curses::Pad with constraints of height lines, width columns
2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 |
# File 'ext/curses/curses.c', line 2936
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;
}
|
Instance Method Details
#noutrefresh(pminrow, pmincol, sminrow, smincol, smaxrow, smaxcol) ⇒ Object
call-seq:
pad.noutrefresh(pad_minrow, pad_mincol, screen_minrow, screen_mincol, screen_maxrow, screen_maxcol)
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.
3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 |
# File 'ext/curses/curses.c', line 3024
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(pminrow, pmincol, sminrow, smincol, smaxrow, smaxcol) ⇒ Object
call-seq:
pad.refresh(pad_minrow, pad_mincol, screen_minrow, screen_mincol, screen_maxrow, screen_maxcol)
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.
2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 |
# File 'ext/curses/curses.c', line 2992
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) ⇒ Object
Construct a new subpad with constraints of height lines, width columns, begin at begin_x line, and begin_y columns on the pad.
2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 |
# File 'ext/curses/curses.c', line 2961
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);
return pad;
}
|