summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-24 15:19:17 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-24 15:19:17 +0000
commit02316f11d5cabf4a5cbaaa1f9f48711d5c61b7dd (patch)
tree609aa7d9770166e20bad28f9b8208f766a3e758a /ext
parentca292099a61fd3f0f8da461515c70a17572c0712 (diff)
* 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
Diffstat (limited to 'ext')
-rw-r--r--ext/curses/curses.c23
-rw-r--r--ext/curses/extconf.rb2
2 files changed, 25 insertions, 0 deletions
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
@@ -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 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