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
height
lines,width
columns, begin atbegin_x
line, andbegin_y
columns 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
2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 |
# File 'ext/curses/curses.c', line 2916
static VALUE
pad_initialize(VALUE obj, VALUE h, VALUE w)
{
struct windata *padp;
WINDOW *window;
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;
}
|
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.
3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 |
# File 'ext/curses/curses.c', line 3004
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.
2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 |
# File 'ext/curses/curses.c', line 2972
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.
2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 |
# File 'ext/curses/curses.c', line 2941
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;
}
|