From 02316f11d5cabf4a5cbaaa1f9f48711d5c61b7dd Mon Sep 17 00:00:00 2001 From: matz Date: Tue, 24 Feb 2009 15:19:17 +0000 Subject: * ext/curses/curses.c (curses_colors): new method added. a patch from Alexander Beisig in [ruby-core:22331]. * ext/curses/curses.c (curses_color_pairs): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22602 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/curses/curses.c | 23 +++++++++++++++++++++++ ext/curses/extconf.rb | 2 ++ 2 files changed, 25 insertions(+) (limited to 'ext/curses') diff --git a/ext/curses/curses.c b/ext/curses/curses.c index d76a941433..2b15c028d0 100644 --- a/ext/curses/curses.c +++ b/ext/curses/curses.c @@ -676,6 +676,16 @@ curses_can_change_color(VALUE obj) return can_change_color() ? Qtrue : Qfalse; } +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) { @@ -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 e3bcb1f651..4172c8a6b6 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 -- cgit v1.2.3