summaryrefslogtreecommitdiff
path: root/ext/io/console
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2019-09-24 15:48:58 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2019-09-24 16:20:30 +0900
commit244f7ec204e2b3fd54ca68740587b5be6d9defc4 (patch)
tree2917aa17f32e1466c954e3622d4382c6589c6db2 /ext/io/console
parent2366c681166a1dab95de6b9ca8ffcaae18aadd39 (diff)
[ruby/io-console] Made cursor position consistent with `winsize`
To be consistent with `winsize`, changed the cursor position format from `[x, y]` to `[row, column]`. https://github.com/ruby/io-console/commit/d1f5ae9286
Diffstat (limited to 'ext/io/console')
-rw-r--r--ext/io/console/console.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/ext/io/console/console.c b/ext/io/console/console.c
index cd47f1e3d08..1d6ebc874d5 100644
--- a/ext/io/console/console.c
+++ b/ext/io/console/console.c
@@ -831,7 +831,7 @@ mode_in_range(VALUE val, int high, const char *modename)
#if defined _WIN32
static VALUE
-console_goto(VALUE io, VALUE x, VALUE y)
+console_goto(VALUE io, VALUE y, VALUE x)
{
rb_io_t *fptr;
int fd;
@@ -859,11 +859,11 @@ console_cursor_pos(VALUE io)
if (!GetConsoleScreenBufferInfo((HANDLE)rb_w32_get_osfhandle(fd), &ws)) {
rb_syserr_fail(LAST_ERROR, 0);
}
- return rb_assoc_new(UINT2NUM(ws.dwCursorPosition.X), UINT2NUM(ws.dwCursorPosition.Y));
+ return rb_assoc_new(UINT2NUM(ws.dwCursorPosition.Y), UINT2NUM(ws.dwCursorPosition.X));
}
static VALUE
-console_move(VALUE io, int x, int y)
+console_move(VALUE io, int y, int x)
{
rb_io_t *fptr;
HANDLE h;
@@ -1116,20 +1116,18 @@ console_cursor_pos(VALUE io)
row = RARRAY_AREF(resp, 0);
column = RARRAY_AREF(resp, 1);
rb_ary_resize(resp, 2);
- RARRAY_ASET(resp, 0, column);
- RARRAY_ASET(resp, 1, row);
return resp;
}
static VALUE
-console_goto(VALUE io, VALUE x, VALUE y)
+console_goto(VALUE io, VALUE y, VALUE x)
{
rb_io_write(io, rb_sprintf("\x1b[%d;%dH", NUM2UINT(y), NUM2UINT(x)));
return io;
}
static VALUE
-console_move(VALUE io, int x, int y)
+console_move(VALUE io, int y, int x)
{
if (x || y) {
VALUE s = rb_str_new_cstr("");
@@ -1188,25 +1186,25 @@ console_cursor_set(VALUE io, VALUE cpos)
static VALUE
console_cursor_up(VALUE io, VALUE val)
{
- return console_move(io, 0, -NUM2INT(val));
+ return console_move(io, -NUM2INT(val), 0);
}
static VALUE
console_cursor_down(VALUE io, VALUE val)
{
- return console_move(io, 0, +NUM2INT(val));
+ return console_move(io, +NUM2INT(val), 0);
}
static VALUE
console_cursor_left(VALUE io, VALUE val)
{
- return console_move(io, -NUM2INT(val), 0);
+ return console_move(io, 0, -NUM2INT(val));
}
static VALUE
console_cursor_right(VALUE io, VALUE val)
{
- return console_move(io, +NUM2INT(val), 0);
+ return console_move(io, 0, +NUM2INT(val));
}
static VALUE