curses 1.2.4 → 1.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 752aede822d94ce057584a85299d487d950d6879
4
- data.tar.gz: bd0a91aafa38b4b9c84bcc0e2d39973d46f4d7b2
2
+ SHA256:
3
+ metadata.gz: 7cde762b5d566d153efcb872a949cdd742ee678351642f99ff4142a302792f54
4
+ data.tar.gz: 3cacf0b68211f369d99b23592bb3e1035ab8d56f31c64ffb713ae573b30068c9
5
5
  SHA512:
6
- metadata.gz: ba77b3fb94a501d9eeb8d10ddc83310aa1105aec4265686c4a515b5f7564507b8372c81bab68a8596472b0aba2ca6dcde01a8be278a839febe5f15ad4162fc25
7
- data.tar.gz: 771c80d69e9c10b2e3505cd9cec68daee19a46581254062dc739e4a61ba7b05b97a38f276682b284a79a279383fa2104410efbf0ac719e2d4b274a9be515986b
6
+ metadata.gz: c113a50e510eb659797ce295982c44e8c8d5355eb7ef9506b9d20b7a98ca92053960da5edc333d7b9fb0e9cfa659b4339abb25859d2bda4126227dce8e2ad17b
7
+ data.tar.gz: 8fde98598b7c32632bfdab0c0f92564d32088e311754c0c39ec905012ad874718e4a8b69f0953c9ff280de4ef399cb7c874908396a307a77118a72efdea5cb4d
data/History.md CHANGED
@@ -1,3 +1,14 @@
1
+ ### 1.2.5 / 2018-10-16
2
+
3
+ New features:
4
+
5
+ * Add mvderwin and derwin methods to Window. Pull request #37 by meschbach.
6
+ * Add documentation link. Pull request #39 by atshakil.
7
+
8
+ Bug fixes:
9
+
10
+ * Favor ncursesw over curses. Pull request #40 by DivineDominion.
11
+
1
12
  ### 1.2.4 / 2017-09-13
2
13
 
3
14
  New features:
data/README.md CHANGED
@@ -28,6 +28,10 @@ Or
28
28
 
29
29
  $ apt install libncursesw5-dev
30
30
 
31
+ ## Documentation
32
+
33
+ See [http://www.rubydoc.info/gems/curses](http://www.rubydoc.info/gems/curses).
34
+
31
35
  ## Developers
32
36
 
33
37
  After checking out the repo, run `bundle install` to install dependencies.
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new { |s|
2
2
  s.name = "curses"
3
- s.version = "1.2.4"
3
+ s.version = "1.2.5"
4
4
  s.author = ["Shugo Maeda", 'Eric Hodel']
5
5
  s.email = ["shugo@ruby-lang.org", 'drbrain@segment7.net']
6
6
  s.homepage = "https://github.com/ruby/curses"
@@ -20,12 +20,12 @@
20
20
  #include "ruby/io.h"
21
21
  #include "ruby/thread.h"
22
22
 
23
- #if defined(HAVE_NCURSES_H)
24
- # include <ncurses.h>
25
- #elif defined(HAVE_NCURSESW_CURSES_H)
23
+ #if defined(HAVE_NCURSESW_CURSES_H)
26
24
  # include <ncursesw/curses.h>
27
25
  #elif defined(HAVE_NCURSES_CURSES_H)
28
26
  # include <ncurses/curses.h>
27
+ #elif defined(HAVE_NCURSES_H)
28
+ # include <ncurses.h>
29
29
  #elif defined(HAVE_CURSES_COLR_CURSES_H)
30
30
  # ifdef HAVE_STDARG_PROTOTYPES
31
31
  # include <stdarg.h>
@@ -1589,6 +1589,38 @@ window_subwin(VALUE obj, VALUE height, VALUE width, VALUE top, VALUE left)
1589
1589
  return win;
1590
1590
  }
1591
1591
 
1592
+ #ifdef HAVE_DERWIN
1593
+ /*
1594
+ * Document-method: Curses::Window.derwin
1595
+ * call-seq: derwin(height, width, relative_top, relative_left)
1596
+ *
1597
+ * Construct a new subwindow with constraints of
1598
+ * +height+ lines, +width+ columns, begin at +top+ line, and begin +left+ most column
1599
+ * relative to the parent window.
1600
+ *
1601
+ */
1602
+ static VALUE
1603
+ window_derwin(VALUE obj, VALUE height, VALUE width, VALUE top, VALUE left)
1604
+ {
1605
+ struct windata *winp;
1606
+ WINDOW *window;
1607
+ VALUE win;
1608
+ int h, w, t, l;
1609
+
1610
+ h = NUM2INT(height);
1611
+ w = NUM2INT(width);
1612
+ t = NUM2INT(top);
1613
+ l = NUM2INT(left);
1614
+ GetWINDOW(obj, winp);
1615
+ window = derwin(winp->window, h, w, t, l);
1616
+ win = prep_window(rb_obj_class(obj), window);
1617
+
1618
+ return win;
1619
+ }
1620
+ #else
1621
+ #define window_derwin rb_f_notimplement
1622
+ #endif
1623
+
1592
1624
  /*
1593
1625
  * Document-method: Curses::Window.close
1594
1626
  *
@@ -1854,6 +1886,28 @@ window_move(VALUE obj, VALUE y, VALUE x)
1854
1886
  return Qnil;
1855
1887
  }
1856
1888
 
1889
+ #ifdef HAVE_MVDERWIN
1890
+ /*
1891
+ * Document-method: Curses::Window.move_relative
1892
+ * call-seq: move_relative(x,y)
1893
+ *
1894
+ * Moves the derived or subwindow inside its parent window. The screen-relative
1895
+ * parameters of the window are not changed.
1896
+ */
1897
+ static VALUE
1898
+ window_move_relative(VALUE obj, VALUE y, VALUE x)
1899
+ {
1900
+ struct windata *winp;
1901
+
1902
+ GetWINDOW(obj, winp);
1903
+ mvderwin(winp->window, NUM2INT(y), NUM2INT(x));
1904
+
1905
+ return Qnil;
1906
+ }
1907
+ #else
1908
+ #define window_move_relative rb_f_notimplement
1909
+ #endif
1910
+
1857
1911
  /*
1858
1912
  * Document-method: Curses::Window.setpos
1859
1913
  * call-seq: setpos(y, x)
@@ -3311,6 +3365,7 @@ Init_curses(void)
3311
3365
  rb_define_alloc_func(cWindow, window_s_allocate);
3312
3366
  rb_define_method(cWindow, "initialize", window_initialize, 4);
3313
3367
  rb_define_method(cWindow, "subwin", window_subwin, 4);
3368
+ rb_define_method(cWindow, "derwin", window_derwin, 4);
3314
3369
  rb_define_method(cWindow, "close", window_close, 0);
3315
3370
  rb_define_method(cWindow, "clear", window_clear, 0);
3316
3371
  rb_define_method(cWindow, "erase", window_erase, 0);
@@ -3325,6 +3380,7 @@ Init_curses(void)
3325
3380
  rb_define_method(cWindow, "line_touched?", window_line_touched, 1);
3326
3381
  rb_define_method(cWindow, "box", window_box, -1);
3327
3382
  rb_define_method(cWindow, "move", window_move, 2);
3383
+ rb_define_method(cWindow, "move_relative", window_move_relative, 2);
3328
3384
  rb_define_method(cWindow, "setpos", window_setpos, 2);
3329
3385
  #if defined(USE_COLOR) && defined(HAVE_WCOLOR_SET)
3330
3386
  rb_define_method(cWindow, "color_set", window_color_set, 1);
@@ -59,7 +59,7 @@ if header_library
59
59
  getbkgd getnstr init isendwin keyname keypad resizeterm
60
60
  scrl set setscrreg ungetch addnwstr
61
61
  wattroff wattron wattrset wbkgd wbkgdset wdeleteln wgetnstr
62
- wresize wscrl wsetscrreg werase redrawwin waddnwstr
62
+ wresize wscrl wsetscrreg werase redrawwin waddnwstr mvderwin derwin
63
63
  touchwin untouchwin wtouchln is_linetouched is_wintouched
64
64
  def_prog_mode reset_prog_mode timeout wtimeout nodelay
65
65
  init_color wcolor_set use_default_colors assume_default_colors
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: curses
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.4
4
+ version: 1.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shugo Maeda
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-09-13 00:00:00.000000000 Z
12
+ date: 2018-10-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -103,11 +103,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
103
  version: '0'
104
104
  requirements: []
105
105
  rubyforge_project:
106
- rubygems_version: 2.6.12
106
+ rubygems_version: 2.7.6
107
107
  signing_key:
108
108
  specification_version: 4
109
109
  summary: A Ruby binding for curses, ncurses, and PDCurses. curses is an extension
110
110
  library for text UI applications. Formerly part of the Ruby standard library, [curses
111
111
  was removed and placed in this gem][1] with the release of Ruby 2.1.0. (see [ruby/ruby@9c5b2fd][2])
112
112
  test_files: []
113
- has_rdoc: