Module: Curses
- Defined in:
- ext/curses/curses.c,
ext/curses/curses.c,
lib/curses.rb
Overview
Description
An implementation of the CRT screen handling and optimization library.
Structures and such
Classes
- Curses::Window - class with the means to draw a window or box
- Curses::MouseEvent - class for collecting mouse events
Modules
- Curses
The curses implementation
Curses::Key:: Collection of constants for keypress events
Examples
-
hello.rb :include: ../../sample/hello.rb
-
rain.rb :include: ../../sample/rain.rb
Defined Under Namespace
Modules: Key Classes: Error, Field, Form, Item, Menu, MouseEvent, Pad, Screen, Window
Constant Summary collapse
- VERSION =
Identifies curses library version.
- "ncurses 5.9.20110404"
- "PDCurses 3.4 - Public Domain 2008"
- "curses (SVR4)" (System V curses)
- "curses (unknown)" (The original BSD curses? NetBSD maybe.)
version- TYPE_ALPHA =
INT2NUM(TYPE_CODE_ALPHA)
- TYPE_ALNUM =
INT2NUM(TYPE_CODE_ALNUM)
- TYPE_ENUM =
INT2NUM(TYPE_CODE_ENUM)
- TYPE_INTEGER =
INT2NUM(TYPE_CODE_INTEGER)
- TYPE_NUMERIC =
INT2NUM(TYPE_CODE_NUMERIC)
- TYPE_REGEXP =
INT2NUM(TYPE_CODE_REGEXP)
Class Method Summary collapse
- .addch(ch) ⇒ Object
- .addstr(str) ⇒ Object
- .assume_default_colors(fg, bg) ⇒ Object
- .attroff(attrs) ⇒ Object
- .attron(attrs) ⇒ Object
- .attrset(attrs) ⇒ Object
- .beep ⇒ Object
- .bkgd(ch) ⇒ Object
- .bkgdset(ch) ⇒ Object
- .can_change_color? ⇒ Object
- .cbreak ⇒ Object
- .chgat ⇒ Object
- .clear ⇒ Object
- .close_screen ⇒ Object
- .closed? ⇒ Object
- .clrtoeol ⇒ Object
- .color_content(color) ⇒ Object
- .color_pair(attrs) ⇒ Object
- .color_pairs ⇒ Object
- .colors ⇒ Object
- .cols ⇒ Object
- .crmode ⇒ Object
- .curs_set(visibility) ⇒ Object
- .def_prog_mode ⇒ Object
- .delch ⇒ Object
- .deleteln ⇒ Object
- .doupdate ⇒ Object
- .echo ⇒ Object
- .erase ⇒ Object
- .ESCDELAY ⇒ Object
- .ESCDELAY=(val) ⇒ Object
- .flash ⇒ Object
- .flushinp ⇒ Object
- .get_char ⇒ Object
- .get_key_modifiers ⇒ Object
- .getch ⇒ Object
- .getmouse ⇒ Object
- .getstr ⇒ Object
- .has_colors? ⇒ Object
- .inch ⇒ Object
- .init_color(color, r, g, b) ⇒ Object
- .init_pair(pair, f, b) ⇒ Object
- .init_screen ⇒ Object
- .insch(ch) ⇒ Object
- .insertln ⇒ Object
- .keyboard_encoding ⇒ Object
- .keyboard_encoding=(enc) ⇒ Object
- .keyname(c) ⇒ Object
- .lines ⇒ Object
- .mouseinterval(interval) ⇒ Object
- .mousemask(mask) ⇒ Object
- .nl ⇒ Object
- .nocbreak ⇒ Object
- .nocrmode ⇒ Object
- .noecho ⇒ Object
- .nonl ⇒ Object
- .noraw ⇒ Object
- .pair_content(pair) ⇒ Object
- .pair_number(attrs) ⇒ Object
- .raw ⇒ Object
- .refresh ⇒ Object
- .reset_color_pairs ⇒ Object
- .reset_prog_mode ⇒ Object
- .resize(lin, col) ⇒ Object
- .resizeterm(lin, col) ⇒ Object
- .return_key_modifiers(flag) ⇒ Object
- .save_key_modifiers(flag) ⇒ Object
- .scrl(n) ⇒ Object
- .setpos(y, x) ⇒ Object
- .setscrreg(top, bottom) ⇒ Object
- .standend ⇒ Object
- .standout ⇒ Object
- .start_color ⇒ Object
- .stdscr ⇒ Object
- .support_extended_colors? ⇒ Object
- .TABSIZE ⇒ Object
- .TABSIZE=(val) ⇒ Object
- .terminal_encoding ⇒ Object
- .terminal_encoding=(enc) ⇒ Object
- .timeout=(delay) ⇒ Object
- .unget_char(ch) ⇒ Object
- .ungetch(ch) ⇒ Object
- .ungetmouse(mevent) ⇒ Object
- .use_default_colors ⇒ Object
Class Method Details
.addch(ch) ⇒ Object
793 794 795 796 797 798 799 |
# File 'ext/curses/curses.c', line 793
static VALUE
curses_addch(VALUE obj, VALUE ch)
{
curses_stdscr();
addch(OBJ2CHTYPE(ch));
return Qnil;
}
|
.addstr(str) ⇒ Object
823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 |
# File 'ext/curses/curses.c', line 823
static VALUE
curses_addstr(VALUE obj, VALUE str)
{
StringValue(str);
#if defined(HAVE_ADDNWSTR) && defined(_WIN32)
str = rb_str_export_to_enc(str, get_wide_encoding());
curses_stdscr();
if (!NIL_P(str)) {
addnwstr((wchar_t *)RSTRING_PTR(str), RSTRING_LEN(str) / sizeof(wchar_t));
}
#else
str = rb_str_export_to_enc(str, terminal_encoding);
curses_stdscr();
if (!NIL_P(str)) {
addstr(StringValueCStr(str));
}
#endif
return Qnil;
}
|
.assume_default_colors(fg, bg) ⇒ Object
1191 1192 1193 1194 1195 1196 1197 |
# File 'ext/curses/curses.c', line 1191
static VALUE
curses_assume_default_colors(VALUE obj, VALUE fg, VALUE bg)
{
curses_stdscr();
assume_default_colors(NUM2INT(fg), NUM2INT(bg));
return Qnil;
}
|
.attroff(attrs) ⇒ Object
1081 1082 1083 1084 1085 1086 1087 |
# File 'ext/curses/curses.c', line 1081
static VALUE
curses_attroff(VALUE obj, VALUE attrs)
{
curses_stdscr();
return window_attroff(rb_stdscr,attrs);
/* return INT2FIX(attroff(NUM2INT(attrs))); */
}
|
.attron(attrs) ⇒ Object
1098 1099 1100 1101 1102 1103 1104 |
# File 'ext/curses/curses.c', line 1098
static VALUE
curses_attron(VALUE obj, VALUE attrs)
{
curses_stdscr();
return window_attron(rb_stdscr,attrs);
/* return INT2FIX(attroff(NUM2INT(attrs))); */
}
|
.attrset(attrs) ⇒ Object
1115 1116 1117 1118 1119 1120 1121 |
# File 'ext/curses/curses.c', line 1115
static VALUE
curses_attrset(VALUE obj, VALUE attrs)
{
curses_stdscr();
return window_attrset(rb_stdscr,attrs);
/* return INT2FIX(attroff(NUM2INT(attrs))); */
}
|
.beep ⇒ Object
652 653 654 655 656 657 658 659 660 |
# File 'ext/curses/curses.c', line 652
static VALUE
curses_beep(VALUE obj)
{
#ifdef HAVE_BEEP
curses_stdscr();
beep();
#endif
return Qnil;
}
|
.bkgd(ch) ⇒ Object
1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 |
# File 'ext/curses/curses.c', line 1157
static VALUE
curses_bkgd(VALUE obj, VALUE ch)
{
#ifdef HAVE_BKGD
curses_stdscr();
return (bkgd(OBJ2CHTYPE(ch)) == OK) ? Qtrue : Qfalse;
#else
return Qfalse;
#endif
}
|
.bkgdset(ch) ⇒ Object
1136 1137 1138 1139 1140 1141 1142 1143 1144 |
# File 'ext/curses/curses.c', line 1136
static VALUE
curses_bkgdset(VALUE obj, VALUE ch)
{
#ifdef HAVE_BKGDSET
curses_stdscr();
bkgdset(OBJ2CHTYPE(ch));
#endif
return Qnil;
}
|
.can_change_color? ⇒ Object
1378 1379 1380 1381 1382 1383 |
# File 'ext/curses/curses.c', line 1378
static VALUE
curses_can_change_color(VALUE obj)
{
curses_stdscr();
return can_change_color() ? Qtrue : Qfalse;
}
|
.cbreak ⇒ Object
569 570 571 572 573 574 575 |
# File 'ext/curses/curses.c', line 569
static VALUE
curses_cbreak(VALUE obj)
{
curses_stdscr();
cbreak();
return Qnil;
}
|
.chgat ⇒ Object
93 94 95 |
# File 'lib/curses.rb', line 93 def chgat(...) Curses.stdscr.chgat(...) end |
.clear ⇒ Object
410 411 412 413 414 415 416 |
# File 'ext/curses/curses.c', line 410
static VALUE
curses_clear(VALUE obj)
{
curses_stdscr();
wclear(stdscr);
return Qnil;
}
|
.close_screen ⇒ Object
350 351 352 353 354 355 356 357 358 359 360 |
# File 'ext/curses/curses.c', line 350
static VALUE
curses_close_screen(VALUE self)
{
curses_stdscr();
#ifdef HAVE_ISENDWIN
if (!isendwin())
#endif
endwin();
rb_stdscr = 0;
return Qnil;
}
|
.closed? ⇒ Object
390 391 392 393 394 395 396 397 398 |
# File 'ext/curses/curses.c', line 390
static VALUE
curses_closed(VALUE self)
{
curses_stdscr();
if (isendwin()) {
return Qtrue;
}
return Qfalse;
}
|
.clrtoeol ⇒ Object
440 441 442 443 444 445 446 |
# File 'ext/curses/curses.c', line 440
static VALUE
curses_clrtoeol(VALUE self)
{
curses_stdscr();
clrtoeol();
return Qnil;
}
|
.color_content(color) ⇒ Object
1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 |
# File 'ext/curses/curses.c', line 1406
static VALUE
curses_color_content(VALUE obj, VALUE color)
{
curses_stdscr();
#ifdef HAVE_EXTENDED_COLOR_CONTENT
{
int r, g, b;
if (extended_color_content(NUM2INT(color), &r, &g, &b) == ERR)
return Qnil;
return rb_ary_new3(3, INT2FIX(r), INT2FIX(g), INT2FIX(b));
}
#else
{
short r, g, b;
if (color_content(NUM2INT(color), &r, &g, &b) == ERR)
return Qnil;
return rb_ary_new3(3, INT2FIX(r), INT2FIX(g), INT2FIX(b));
}
#endif
}
|
.color_pair(attrs) ⇒ Object
1481 1482 1483 1484 1485 |
# File 'ext/curses/curses.c', line 1481
static VALUE
curses_color_pair(VALUE obj, VALUE attrs)
{
return CHTYPE2NUM(COLOR_PAIR(NUM2CHTYPE(attrs)));
}
|
.color_pairs ⇒ Object
1434 1435 1436 1437 1438 |
# File 'ext/curses/curses.c', line 1434
static VALUE
curses_color_pairs(VALUE obj)
{
return INT2FIX(COLOR_PAIRS);
}
|
.colors ⇒ Object
1391 1392 1393 1394 1395 |
# File 'ext/curses/curses.c', line 1391
static VALUE
curses_colors(VALUE obj)
{
return INT2FIX(COLORS);
}
|
.cols ⇒ Object
994 995 996 997 998 |
# File 'ext/curses/curses.c', line 994
static VALUE
curses_cols(VALUE self)
{
return INT2FIX(COLS);
}
|
.crmode ⇒ Object
569 570 571 572 573 574 575 |
# File 'ext/curses/curses.c', line 569
static VALUE
curses_cbreak(VALUE obj)
{
curses_stdscr();
cbreak();
return Qnil;
}
|
.curs_set(visibility) ⇒ Object
1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 |
# File 'ext/curses/curses.c', line 1009
static VALUE
curses_curs_set(VALUE obj, VALUE visibility)
{
#ifdef HAVE_CURS_SET
int n;
curses_stdscr();
return (n = curs_set(NUM2INT(visibility)) != ERR) ? INT2FIX(n) : Qnil;
#else
return Qnil;
#endif
}
|
.def_prog_mode ⇒ Object
1730 1731 1732 1733 1734 1735 |
# File 'ext/curses/curses.c', line 1730
static VALUE
curses_def_prog_mode(VALUE obj)
{
curses_stdscr();
return def_prog_mode() == OK ? Qtrue : Qfalse;
}
|
.delch ⇒ Object
912 913 914 915 916 917 918 |
# File 'ext/curses/curses.c', line 912
static VALUE
curses_delch(VALUE obj)
{
curses_stdscr();
delch();
return Qnil;
}
|
.deleteln ⇒ Object
926 927 928 929 930 931 932 933 934 |
# File 'ext/curses/curses.c', line 926
static VALUE
curses_deleteln(VALUE obj)
{
curses_stdscr();
#if defined(HAVE_DELETELN) || defined(deleteln)
deleteln();
#endif
return Qnil;
}
|
.doupdate ⇒ Object
470 471 472 473 474 475 476 477 478 479 480 |
# File 'ext/curses/curses.c', line 470
static VALUE
curses_doupdate(VALUE obj)
{
curses_stdscr();
#ifdef HAVE_DOUPDATE
doupdate();
#else
refresh();
#endif
return Qnil;
}
|
.echo ⇒ Object
488 489 490 491 492 493 494 |
# File 'ext/curses/curses.c', line 488
static VALUE
curses_echo(VALUE obj)
{
curses_stdscr();
echo();
return Qnil;
}
|
.erase ⇒ Object
424 425 426 427 428 429 430 |
# File 'ext/curses/curses.c', line 424
static VALUE
curses_erase(VALUE obj)
{
curses_stdscr();
werase(stdscr);
return Qnil;
}
|
.ESCDELAY ⇒ Object
1253 1254 1255 1256 1257 |
# File 'ext/curses/curses.c', line 1253
static VALUE
curses_escdelay_get(VALUE obj)
{
return INT2NUM(ESCDELAY);
}
|
.ESCDELAY=(val) ⇒ Object
1238 1239 1240 1241 1242 1243 |
# File 'ext/curses/curses.c', line 1238
static VALUE
curses_escdelay_set(VALUE obj, VALUE val)
{
ESCDELAY = NUM2INT(val);
return INT2NUM(ESCDELAY);
}
|
.flash ⇒ Object
670 671 672 673 674 675 676 677 678 |
# File 'ext/curses/curses.c', line 670
static VALUE
curses_flash(VALUE obj)
{
#ifdef HAVE_FLASH
curses_stdscr();
flash();
#endif
return Qnil;
}
|
.flushinp ⇒ Object
636 637 638 639 640 641 642 |
# File 'ext/curses/curses.c', line 636
static VALUE
curses_flushinp(VALUE obj)
{
curses_stdscr();
flushinp();
return Qnil;
}
|
.get_char ⇒ Object
4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 |
# File 'ext/curses/curses.c', line 4944
static VALUE
curses_get_char(VALUE obj)
{
#ifdef HAVE_GET_WCH
struct get_wch_arg arg;
curses_stdscr();
rb_thread_call_without_gvl(get_wch_func, &arg, RUBY_UBF_IO, 0);
switch (arg.retval) {
case OK:
return keyboard_uint_chr(arg.ch);
case KEY_CODE_YES:
return key_code_value(arg.ch);
}
return Qnil;
#else
int c;
curses_stdscr();
rb_thread_call_without_gvl(getch_func, &c, RUBY_UBF_IO, 0);
if (c > 0xff) {
return INT2NUM(c);
}
else if (c >= 0) {
return keyboard_uint_chr(c);
}
else {
return Qnil;
}
#endif
}
|
.get_key_modifiers ⇒ Object
5041 5042 5043 5044 5045 |
# File 'ext/curses/curses.c', line 5041
static VALUE
curses_get_key_modifiers(VALUE obj)
{
return ULONG2NUM(PDC_get_key_modifiers());
}
|
.getch ⇒ Object
859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 |
# File 'ext/curses/curses.c', line 859
static VALUE
curses_getch(VALUE obj)
{
int c;
curses_stdscr();
rb_thread_call_without_gvl(getch_func, &c, RUBY_UBF_IO, 0);
if (c == EOF) return Qnil;
if (rb_isprint(c)) {
char ch = (char)c;
return rb_external_str_new_with_enc(&ch, 1, keyboard_encoding);
}
return UINT2NUM(c);
}
|
.getmouse ⇒ Object
1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 |
# File 'ext/curses/curses.c', line 1585
static VALUE
curses_getmouse(VALUE obj)
{
struct mousedata *mdata;
VALUE val;
curses_stdscr();
val = TypedData_Make_Struct(cMouseEvent,struct mousedata,
&mousedata_type,mdata);
mdata->mevent = (MEVENT*)xmalloc(sizeof(MEVENT));
return (getmouse(mdata->mevent) == OK) ? val : Qnil;
}
|
.getstr ⇒ Object
896 897 898 899 900 901 902 903 904 |
# File 'ext/curses/curses.c', line 896
static VALUE
curses_getstr(VALUE obj)
{
char rtn[GETSTR_BUF_SIZE];
curses_stdscr();
rb_thread_call_without_gvl(getstr_func, rtn, RUBY_UBF_IO, 0);
return rb_external_str_new_with_enc(rtn, strlen(rtn), keyboard_encoding);
}
|
.has_colors? ⇒ Object
1366 1367 1368 1369 1370 1371 |
# File 'ext/curses/curses.c', line 1366
static VALUE
curses_has_colors(VALUE obj)
{
curses_stdscr();
return has_colors() ? Qtrue : Qfalse;
}
|
.inch ⇒ Object
778 779 780 781 782 783 |
# File 'ext/curses/curses.c', line 778
static VALUE
curses_inch(VALUE obj)
{
curses_stdscr();
return CHTYPE2NUM(inch());
}
|
.init_color(color, r, g, b) ⇒ Object
1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 |
# File 'ext/curses/curses.c', line 1347
static VALUE
curses_init_color(VALUE obj, VALUE color, VALUE r, VALUE g, VALUE b)
{
/* may have to raise exception on ERR */
curses_stdscr();
#ifdef HAVE_INIT_EXTENDED_COLOR
return (init_extended_color(NUM2INT(color), NUM2INT(r),
NUM2INT(g), NUM2INT(b)) == OK) ? Qtrue : Qfalse;
#else
return (init_color(NUM2INT(color),NUM2INT(r),
NUM2INT(g),NUM2INT(b)) == OK) ? Qtrue : Qfalse;
#endif
}
|
.init_pair(pair, f, b) ⇒ Object
1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 |
# File 'ext/curses/curses.c', line 1319
static VALUE
curses_init_pair(VALUE obj, VALUE pair, VALUE f, VALUE b)
{
/* may have to raise exception on ERR */
curses_stdscr();
#ifdef HAVE_INIT_EXTENDED_PAIR
return (init_extended_pair(NUM2INT(pair), NUM2INT(f), NUM2INT(b)) == OK) ? Qtrue : Qfalse;
#else
return (init_pair(NUM2INT(pair),NUM2INT(f),NUM2INT(b)) == OK) ? Qtrue : Qfalse;
#endif
}
|
.init_screen ⇒ Object
311 312 313 314 315 316 317 318 319 320 321 322 323 |
# File 'ext/curses/curses.c', line 311
static VALUE
curses_init_screen(VALUE self)
{
if (rb_stdscr) return rb_stdscr;
initscr();
if (stdscr == 0) {
rb_raise(rb_eRuntimeError, "can't initialize curses");
}
rb_set_end_proc(curses_finalize, 0);
clear();
rb_stdscr = prep_window(cWindow, stdscr, 1);
return rb_stdscr;
}
|
.insch(ch) ⇒ Object
808 809 810 811 812 813 814 |
# File 'ext/curses/curses.c', line 808
static VALUE
curses_insch(VALUE obj, VALUE ch)
{
curses_stdscr();
insch(OBJ2CHTYPE(ch));
return Qnil;
}
|
.insertln ⇒ Object
942 943 944 945 946 947 948 949 950 |
# File 'ext/curses/curses.c', line 942
static VALUE
curses_insertln(VALUE obj)
{
curses_stdscr();
#if defined(HAVE_INSERTLN) || defined(insertln)
insertln();
#endif
return Qnil;
}
|
.keyboard_encoding ⇒ Object
4820 4821 4822 4823 4824 |
# File 'ext/curses/curses.c', line 4820
static VALUE
curses_get_keyboard_encoding(VALUE obj)
{
return rb_enc_from_encoding(keyboard_encoding);
}
|
.keyboard_encoding=(enc) ⇒ Object
4832 4833 4834 4835 4836 4837 |
# File 'ext/curses/curses.c', line 4832
static VALUE
curses_set_keyboard_encoding(VALUE obj, VALUE enc)
{
keyboard_encoding = rb_to_encoding(enc);
return enc;
}
|
.keyname(c) ⇒ Object
958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 |
# File 'ext/curses/curses.c', line 958
static VALUE
curses_keyname(VALUE obj, VALUE c)
{
#ifdef HAVE_KEYNAME
int cc = curses_char(c);
const char *name;
curses_stdscr();
name = keyname(cc);
if (name) {
return rb_str_new_cstr(name);
}
else {
return Qnil;
}
#else
return Qnil;
#endif
}
|
.lines ⇒ Object
983 984 985 986 987 |
# File 'ext/curses/curses.c', line 983
static VALUE
curses_lines(VALUE self)
{
return INT2FIX(LINES);
}
|
.mouseinterval(interval) ⇒ Object
1632 1633 1634 1635 1636 1637 |
# File 'ext/curses/curses.c', line 1632
static VALUE
curses_mouseinterval(VALUE obj, VALUE interval)
{
curses_stdscr();
return mouseinterval(NUM2INT(interval)) ? Qtrue : Qfalse;
}
|
.mousemask(mask) ⇒ Object
1645 1646 1647 1648 1649 1650 |
# File 'ext/curses/curses.c', line 1645
static VALUE
curses_mousemask(VALUE obj, VALUE mask)
{
curses_stdscr();
return ULONG2NUM(mousemask(NUM2UINT(mask),NULL));
}
|
.nl ⇒ Object
606 607 608 609 610 611 612 |
# File 'ext/curses/curses.c', line 606
static VALUE
curses_nl(VALUE obj)
{
curses_stdscr();
nl();
return Qnil;
}
|
.nocbreak ⇒ Object
584 585 586 587 588 589 590 |
# File 'ext/curses/curses.c', line 584
static VALUE
curses_nocbreak(VALUE obj)
{
curses_stdscr();
nocbreak();
return Qnil;
}
|
.nocrmode ⇒ Object
584 585 586 587 588 589 590 |
# File 'ext/curses/curses.c', line 584
static VALUE
curses_nocbreak(VALUE obj)
{
curses_stdscr();
nocbreak();
return Qnil;
}
|
.noecho ⇒ Object
502 503 504 505 506 507 508 |
# File 'ext/curses/curses.c', line 502
static VALUE
curses_noecho(VALUE obj)
{
curses_stdscr();
noecho();
return Qnil;
}
|
.nonl ⇒ Object
622 623 624 625 626 627 628 |
# File 'ext/curses/curses.c', line 622
static VALUE
curses_nonl(VALUE obj)
{
curses_stdscr();
nonl();
return Qnil;
}
|
.noraw ⇒ Object
539 540 541 542 543 544 545 |
# File 'ext/curses/curses.c', line 539
static VALUE
curses_noraw(VALUE obj)
{
curses_stdscr();
noraw();
return Qnil;
}
|
.pair_content(pair) ⇒ Object
1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 |
# File 'ext/curses/curses.c', line 1450
static VALUE
curses_pair_content(VALUE obj, VALUE pair)
{
curses_stdscr();
#ifdef HAVE_EXTENDED_PAIR_CONTENT
{
int f, b;
if (extended_pair_content(NUM2INT(pair), &f, &b) == ERR)
return Qnil;
return rb_ary_new3(2, INT2FIX(f), INT2FIX(b));
}
#else
{
short f, b;
if (pair_content(NUM2INT(pair), &f, &b) == ERR)
return Qnil;
return rb_ary_new3(2, INT2FIX(f), INT2FIX(b));
}
#endif
}
|
.pair_number(attrs) ⇒ Object
1493 1494 1495 1496 1497 1498 |
# File 'ext/curses/curses.c', line 1493
static VALUE
curses_pair_number(VALUE obj, VALUE attrs)
{
curses_stdscr();
return INT2FIX(PAIR_NUMBER(NUM2CHTYPE(attrs)));
}
|
.raw ⇒ Object
524 525 526 527 528 529 530 |
# File 'ext/curses/curses.c', line 524
static VALUE
curses_raw(VALUE obj)
{
curses_stdscr();
raw();
return Qnil;
}
|
.refresh ⇒ Object
454 455 456 457 458 459 460 |
# File 'ext/curses/curses.c', line 454
static VALUE
curses_refresh(VALUE obj)
{
curses_stdscr();
refresh();
return Qnil;
}
|
.reset_color_pairs ⇒ Object
1524 1525 1526 1527 1528 1529 1530 |
# File 'ext/curses/curses.c', line 1524
static VALUE
curses_reset_color_pairs(VALUE obj)
{
curses_stdscr();
reset_color_pairs();
return Qnil;
}
|
.reset_prog_mode ⇒ Object
1749 1750 1751 1752 1753 1754 |
# File 'ext/curses/curses.c', line 1749
static VALUE
curses_reset_prog_mode(VALUE obj)
{
curses_stdscr();
return reset_prog_mode() == OK ? Qtrue : Qfalse;
}
|
.resize(lin, col) ⇒ Object
1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 |
# File 'ext/curses/curses.c', line 1277
static VALUE
curses_resizeterm(VALUE obj, VALUE lin, VALUE col)
{
#if defined(HAVE_RESIZETERM)
curses_stdscr();
return (resizeterm(NUM2INT(lin),NUM2INT(col)) == OK) ? Qtrue : Qfalse;
#else
return Qnil;
#endif
}
|
.resizeterm(lin, col) ⇒ Object
1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 |
# File 'ext/curses/curses.c', line 1277
static VALUE
curses_resizeterm(VALUE obj, VALUE lin, VALUE col)
{
#if defined(HAVE_RESIZETERM)
curses_stdscr();
return (resizeterm(NUM2INT(lin),NUM2INT(col)) == OK) ? Qtrue : Qfalse;
#else
return Qnil;
#endif
}
|
.return_key_modifiers(flag) ⇒ Object
5047 5048 5049 5050 5051 |
# File 'ext/curses/curses.c', line 5047
static VALUE
curses_return_key_modifiers(VALUE obj, VALUE flag)
{
return INT2NUM(PDC_return_key_modifiers(RTEST(flag)));
}
|
.save_key_modifiers(flag) ⇒ Object
5053 5054 5055 5056 5057 |
# File 'ext/curses/curses.c', line 5053
static VALUE
curses_save_key_modifiers(VALUE obj, VALUE flag)
{
return INT2NUM(PDC_save_key_modifiers(RTEST(flag)));
}
|
.scrl(n) ⇒ Object
1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 |
# File 'ext/curses/curses.c', line 1033
static VALUE
curses_scrl(VALUE obj, VALUE n)
{
/* may have to raise exception on ERR */
#ifdef HAVE_SCRL
curses_stdscr();
return (scrl(NUM2INT(n)) == OK) ? Qtrue : Qfalse;
#else
return Qfalse;
#endif
}
|
.setpos(y, x) ⇒ Object
731 732 733 734 735 736 737 |
# File 'ext/curses/curses.c', line 731
static VALUE
curses_setpos(VALUE obj, VALUE y, VALUE x)
{
curses_stdscr();
move(NUM2INT(y), NUM2INT(x));
return Qnil;
}
|
.setscrreg(top, bottom) ⇒ Object
1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 |
# File 'ext/curses/curses.c', line 1060
static VALUE
curses_setscrreg(VALUE obj, VALUE top, VALUE bottom)
{
/* may have to raise exception on ERR */
#ifdef HAVE_SETSCRREG
curses_stdscr();
return (setscrreg(NUM2INT(top), NUM2INT(bottom)) == OK) ? Qtrue : Qfalse;
#else
return Qfalse;
#endif
}
|
.standend ⇒ Object
765 766 767 768 769 770 771 |
# File 'ext/curses/curses.c', line 765
static VALUE
curses_standend(VALUE obj)
{
curses_stdscr();
standend();
return Qnil;
}
|
.standout ⇒ Object
748 749 750 751 752 753 754 |
# File 'ext/curses/curses.c', line 748
static VALUE
curses_standout(VALUE obj)
{
curses_stdscr();
standout();
return Qnil;
}
|
.start_color ⇒ Object
1297 1298 1299 1300 1301 1302 1303 |
# File 'ext/curses/curses.c', line 1297
static VALUE
curses_start_color(VALUE obj)
{
/* may have to raise exception on ERR */
curses_stdscr();
return (start_color() == OK) ? Qtrue : Qfalse;
}
|
.stdscr ⇒ Object
311 312 313 314 315 316 317 318 319 320 321 322 323 |
# File 'ext/curses/curses.c', line 311
static VALUE
curses_init_screen(VALUE self)
{
if (rb_stdscr) return rb_stdscr;
initscr();
if (stdscr == 0) {
rb_raise(rb_eRuntimeError, "can't initialize curses");
}
rb_set_end_proc(curses_finalize, 0);
clear();
rb_stdscr = prep_window(cWindow, stdscr, 1);
return rb_stdscr;
}
|
.support_extended_colors? ⇒ Object
1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 |
# File 'ext/curses/curses.c', line 1507
static VALUE
curses_support_extended_colors(VALUE obj)
{
#if defined(HAVE_INIT_EXTENDED_PAIR) && defined(HAVE_INIT_EXTENDED_COLOR) && \
defined(HAVE_EXTENDED_COLOR_CONTENT) && defined(HAVE_EXTENDED_PAIR_CONTENT)
return Qtrue;
#else
return Qfalse;
#endif
}
|
.TABSIZE ⇒ Object
1223 1224 1225 1226 1227 |
# File 'ext/curses/curses.c', line 1223
static VALUE
curses_tabsize_get(VALUE ojb)
{
return INT2NUM(TABSIZE);
}
|
.TABSIZE=(val) ⇒ Object
1209 1210 1211 1212 1213 1214 |
# File 'ext/curses/curses.c', line 1209
static VALUE
curses_tabsize_set(VALUE obj, VALUE val)
{
TABSIZE = NUM2INT(val);
return INT2NUM(TABSIZE);
}
|
.terminal_encoding ⇒ Object
4845 4846 4847 4848 4849 |
# File 'ext/curses/curses.c', line 4845
static VALUE
curses_get_terminal_encoding(VALUE obj)
{
return rb_enc_from_encoding(terminal_encoding);
}
|
.terminal_encoding=(enc) ⇒ Object
4857 4858 4859 4860 4861 4862 |
# File 'ext/curses/curses.c', line 4857
static VALUE
curses_set_terminal_encoding(VALUE obj, VALUE enc)
{
terminal_encoding = rb_to_encoding(enc);
return enc;
}
|
.timeout=(delay) ⇒ Object
1710 1711 1712 1713 1714 1715 1716 |
# File 'ext/curses/curses.c', line 1710
static VALUE
curses_timeout(VALUE obj, VALUE delay)
{
curses_stdscr();
timeout(NUM2INT(delay));
return Qnil;
}
|
.unget_char(ch) ⇒ Object
4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 |
# File 'ext/curses/curses.c', line 4873
static VALUE
curses_unget_char(VALUE obj, VALUE ch)
{
ID id_ord;
unsigned int c;
curses_stdscr();
if (FIXNUM_P(ch)) {
ungetch(NUM2UINT(ch));
}
else {
StringValue(ch);
CONST_ID(id_ord, "ord");
c = NUM2UINT(rb_funcall(ch, id_ord, 0));
#ifdef HAVE_UNGET_WCH
unget_wch(c);
#else
if (c > 0xff) {
rb_raise(rb_eRangeError, "Out of range: %u", c);
}
ungetch(c);
#endif
}
return Qnil;
}
|
.ungetch(ch) ⇒ Object
711 712 713 714 715 716 717 718 |
# File 'ext/curses/curses.c', line 711
static VALUE
curses_ungetch(VALUE obj, VALUE ch)
{
int c = curses_char(ch);
curses_stdscr();
ungetch(c);
return Qnil;
}
|
.ungetmouse(mevent) ⇒ Object
1606 1607 1608 1609 1610 1611 1612 1613 1614 |
# File 'ext/curses/curses.c', line 1606
static VALUE
curses_ungetmouse(VALUE obj, VALUE mevent)
{
struct mousedata *mdata;
curses_stdscr();
GetMOUSE(mevent,mdata);
return (ungetmouse(mdata->mevent) == OK) ? Qtrue : Qfalse;
}
|
.use_default_colors ⇒ Object
1174 1175 1176 1177 1178 1179 1180 |
# File 'ext/curses/curses.c', line 1174
static VALUE
curses_use_default_colors(VALUE obj)
{
curses_stdscr();
use_default_colors();
return Qnil;
}
|