diff options
Diffstat (limited to 'ext')
-rw-r--r-- | ext/curses/curses.c | 23 | ||||
-rw-r--r-- | ext/curses/extconf.rb | 2 |
2 files changed, 25 insertions, 0 deletions
diff --git a/ext/curses/curses.c b/ext/curses/curses.c index d76a94143..2b15c028d 100644 --- a/ext/curses/curses.c +++ b/ext/curses/curses.c @@ -677,6 +677,16 @@ curses_can_change_color(VALUE obj) } static VALUE +curses_colors(VALUE obj) +{ +#if defined(HAVE_COLORS) + return INT2FIX(COLORS); +#else + rb_notimplement(); +#endif +} + +static VALUE curses_color_content(VALUE obj, VALUE color) { short r,g,b; @@ -685,6 +695,17 @@ curses_color_content(VALUE obj, VALUE color) return rb_ary_new3(3,INT2FIX(r),INT2FIX(g),INT2FIX(b)); } + +static VALUE +curses_color_pairs(VALUE obj) +{ +#if defined(HAVE_COLOR_PAIRS) + return INT2FIX(COLOR_PAIRS); +#else + rb_notimplement(); +#endif +} + static VALUE curses_pair_content(VALUE obj, VALUE pair) { @@ -1537,7 +1558,9 @@ Init_curses(void) rb_define_module_function(mCurses, "has_colors?", curses_has_colors, 0); rb_define_module_function(mCurses, "can_change_color?", curses_can_change_color, 0); + rb_define_module_function(mCurses, "colors", curses_colors, 0); rb_define_module_function(mCurses, "color_content", curses_color_content, 1); + rb_define_module_function(mCurses, "color_pairs", curses_color_pairs, 0); rb_define_module_function(mCurses, "pair_content", curses_pair_content, 1); rb_define_module_function(mCurses, "color_pair", curses_color_pair, 1); rb_define_module_function(mCurses, "pair_number", curses_pair_number, 1); diff --git a/ext/curses/extconf.rb b/ext/curses/extconf.rb index e3bcb1f65..4172c8a6b 100644 --- a/ext/curses/extconf.rb +++ b/ext/curses/extconf.rb @@ -30,5 +30,7 @@ if make end have_var("ESCDELAY", curses) have_var("TABSIZE", curses) + have_var("COLORS", curses) + have_var("COLOR_PAIRS", curses) create_makefile("curses") end |