nyle 0.7.3 → 0.7.4

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
2
  SHA256:
3
- metadata.gz: d1ea6c2dc4893acc0c29c5670805d471eb5376086885b2180b7673745c5b5358
4
- data.tar.gz: 150ed2bd0c2fb320bdcae3b1f158910f0aa92fb6362e7443dabf6d745510bd57
3
+ metadata.gz: bb786b2f95c8b8fedf7763b81cf920338bc4c92de76cee4681b08019cc3bcb23
4
+ data.tar.gz: 32e9a3aff235d0dbc6633e8b8f69ca896873afc15d30112267be730d4c591ce1
5
5
  SHA512:
6
- metadata.gz: b1995964a2ddc2e9bed684cb42e40014d11856fd3e419aeec9a742c3f65fc1ee529f9eae24a9369994c1f49871942fa5cddad18e22ba8b6e0d3b50b623099a61
7
- data.tar.gz: a35c20b4e7caeb0d23778a5f4adaf78e379c85bd75c706cb50a6312c7d26a171fe149dc92dadf8fc7070e4937f796959d1b7a21cb510d4bed250c73e996d2cfb
6
+ metadata.gz: 5ede1311998ff6024ad0400cd5f15e5a3316a32be80e5afa4a864c1a7c3da459e74e52906eac8ebe730c0a44432e068a23499686af282129ef0e3c5b7cc9021f
7
+ data.tar.gz: 87dbec95a944304235d9a3492189651dc69be5cac93d6e3a2af4fe06c134344037cff55ded5b3323a9863524b7c35b080fff28b71563ea725ccb478d10fc085a
@@ -1,3 +1,13 @@
1
+ ### 0.7.4 (2019/06/29)
2
+ #### Bug fixes, etc.
3
+ * enhance definition of `MouseButton` and `Keycodes` to use Symbol
4
+
5
+ #### Samples
6
+ * adjust `keyboard.rb` to use Symbol
7
+ * adjust `pause.rb`
8
+ * adjust `rotation.rb`
9
+
10
+
1
11
  ### 0.7.3 (2019/05/26)
2
12
  #### New features
3
13
  * add `Nyle.layer` method
@@ -14,19 +14,13 @@ require 'rbconfig'
14
14
  require 'nyle/version'
15
15
  require 'nyle/frame'
16
16
  require 'nyle/screen'
17
-
18
- Gdk::Keyval.constants.each do |c|
19
- #puts "#{c} #{Gdk::Keyval.const_get(c)}"
20
- eval("#{c} = #{Gdk::Keyval.const_get(c)}") # key name definication to omit 'Gdk::Keyval::'
21
- end
22
-
23
- MOUSE_L = 1
24
- MOUSE_M = 2
25
- MOUSE_R = 3
17
+ require 'nyle/define_table'
26
18
 
27
19
  module Nyle
28
20
  class Error < StandardError; end
29
21
 
22
+ extend DefineTable
23
+
30
24
  DEFAULT_WIDTH = 640
31
25
  DEFAULT_HEIGHT = 480
32
26
  DEFAULT_TITLE = 'Nyle'
@@ -132,17 +126,17 @@ module Nyle
132
126
  @__mask_shift = false # Set false to mask_shift status
133
127
  end
134
128
 
135
- if @__key_down[Gdk::Keyval::KEY_Right]
129
+ if @__key_down[KEY_Right]
136
130
  @__cursor_x = +1 # Set +1 to cursor_x value
137
- elsif @__key_down[Gdk::Keyval::KEY_Left]
131
+ elsif @__key_down[KEY_Left]
138
132
  @__cursor_x = -1 # Set -1 to cursor_x value
139
133
  else
140
134
  @__cursor_x = 0
141
135
  end
142
136
 
143
- if @__key_down[Gdk::Keyval::KEY_Down]
137
+ if @__key_down[KEY_Down]
144
138
  @__cursor_y = +1 # Set +1 to cursor_y value
145
- elsif @__key_down[Gdk::Keyval::KEY_Up]
139
+ elsif @__key_down[KEY_Up]
146
140
  @__cursor_y = -1 # Set -1 to cursor_y value
147
141
  else
148
142
  @__cursor_y = 0
@@ -185,12 +179,14 @@ module Nyle
185
179
  module_function def screen_height ; Nyle.module_eval{ @__screen_height } ; end
186
180
  module_function def mouse_x ; Nyle.module_eval{ @__mouse_x } ; end
187
181
  module_function def mouse_y ; Nyle.module_eval{ @__mouse_y } ; end
188
- module_function def mouse_down?(button) ; Nyle.module_eval{ @__mouse_down [button] == true } ; end
189
- module_function def mouse_press?(button) ; Nyle.module_eval{ @__mouse_press [button] == true } ; end
190
- module_function def mouse_release?(button) ; Nyle.module_eval{ @__mouse_release[button] == true } ; end
191
- module_function def key_down?(keyval) ; Nyle.module_eval{ @__key_down [keyval] == true } ; end
192
- module_function def key_press?(keyval) ; Nyle.module_eval{ @__key_press [keyval] == true } ; end
193
- module_function def key_release?(keyval) ; Nyle.module_eval{ @__key_release [keyval] == true } ; end
182
+
183
+ module_function def mouse_down?(button) ; _check_button(@__mouse_down, button) ; end
184
+ module_function def mouse_press?(button) ; _check_button(@__mouse_press, button) ; end
185
+ module_function def mouse_release?(button) ; _check_button(@__mouse_release, button) ; end
186
+ module_function def key_down?(key) ; _check_key( @__key_down, key) ; end
187
+ module_function def key_press?(key) ; _check_key( @__key_press, key) ; end
188
+ module_function def key_release?(key) ; _check_key( @__key_release, key) ; end
189
+
194
190
  module_function def mask_control? ; Nyle.module_eval{ @__mask_control } ; end
195
191
  module_function def mask_shift? ; Nyle.module_eval{ @__mask_shift } ; end
196
192
  module_function def cursor_x ; Nyle.module_eval{ @__cursor_x } ; end
@@ -0,0 +1,141 @@
1
+
2
+ =begin
3
+ 'Nyle'
4
+ minimal graphics framework using Ruby/GTK3 and rcairo
5
+
6
+ Copyright (c) 2018 Koki Kitamura
7
+ Released under the MIT license
8
+ https://opensource.org/licenses/mit-license.php
9
+ =end
10
+
11
+ MOUSE_L = 1
12
+ MOUSE_M = 2
13
+ MOUSE_R = 3
14
+
15
+ Gdk::Keyval.constants.each do |c|
16
+ eval("#{c} = Gdk::Keyval::#{c}")
17
+ end
18
+
19
+ module Nyle
20
+ module DefineTable
21
+ def self.extended(obj)
22
+ obj.module_eval{ _table } # run when extened from class/module
23
+ end
24
+
25
+ private def _check_key(*args)
26
+ _check(*args, :KEY)
27
+ end
28
+
29
+ private def _check_button(*args)
30
+ _check(*args, :BUTTON)
31
+ end
32
+
33
+ private def _check(state, value, kind)
34
+ if Integer === value
35
+ return state[value] == true
36
+ elsif Symbol === value
37
+ table = {}
38
+ table = @__table_keys[value] if kind == :KEY
39
+ table = @__table_buttons[value] if kind == :BUTTON
40
+ table.each do |target|
41
+ return state[target] if state[target]
42
+ end
43
+ return false
44
+ else
45
+ return false
46
+ end
47
+ end
48
+
49
+ private def _table
50
+ @__table_buttons = {
51
+ :LEFT => [MOUSE_L],
52
+ :L => [MOUSE_L],
53
+ :MIDDLE => [MOUSE_M],
54
+ :M => [MOUSE_M],
55
+ :RIGHT => [MOUSE_R],
56
+ :R => [MOUSE_R],
57
+ }
58
+ @__table_keys = {
59
+ :SPACE => [KEY_space],
60
+ :BACKSPACE => [KEY_BackSpace],
61
+ :TAB => [KEY_Tab],
62
+ :RETURN => [KEY_Return],
63
+ :ESCAPE => [KEY_Escape],
64
+ :LEFT => [KEY_Left],
65
+ :UP => [KEY_Up],
66
+ :RIGHT => [KEY_Right],
67
+ :DOWN => [KEY_Down],
68
+ :PAGEUP => [KEY_Page_Up],
69
+ :PAGE_UP => [KEY_Page_Up],
70
+ :PAGEDOWN => [KEY_Page_Down],
71
+ :PAGE_DOWN => [KEY_Page_Down],
72
+ :INSERT => [KEY_Insert],
73
+ :DELETE => [KEY_Delete],
74
+ :HOME => [KEY_Home],
75
+ :END => [KEY_End],
76
+ :F1 => [KEY_F1],
77
+ :F2 => [KEY_F2],
78
+ :F3 => [KEY_F3],
79
+ :F4 => [KEY_F4],
80
+ :F5 => [KEY_F5],
81
+ :F6 => [KEY_F6],
82
+ :F7 => [KEY_F7],
83
+ :F8 => [KEY_F8],
84
+ :F9 => [KEY_F9],
85
+ :F10 => [KEY_F10],
86
+ :F11 => [KEY_F11],
87
+ :F12 => [KEY_F12],
88
+ :SHIFT => [KEY_Shift_L, KEY_Shift_R],
89
+ :SHIFT_L => [KEY_Shift_L],
90
+ :SHIFT_R => [KEY_Shift_R],
91
+ :CONTROL => [KEY_Control_L, KEY_Control_R],
92
+ :CONTROL_L => [KEY_Control_L],
93
+ :CONTROL_R => [KEY_Control_R],
94
+ :META => [KEY_Meta_L, KEY_Meta_R],
95
+ :META_L => [KEY_Meta_L],
96
+ :META_R => [KEY_Meta_R],
97
+ :ALT => [KEY_Alt_L, KEY_Alt_R],
98
+ :ALT_L => [KEY_Alt_L],
99
+ :ALT_R => [KEY_Alt_R],
100
+ :_0 => [KEY_0],
101
+ :_1 => [KEY_1],
102
+ :_2 => [KEY_2],
103
+ :_3 => [KEY_3],
104
+ :_4 => [KEY_4],
105
+ :_5 => [KEY_5],
106
+ :_6 => [KEY_6],
107
+ :_7 => [KEY_7],
108
+ :_8 => [KEY_8],
109
+ :_9 => [KEY_9],
110
+ :A => [KEY_a, KEY_A],
111
+ :B => [KEY_b, KEY_B],
112
+ :C => [KEY_c, KEY_C],
113
+ :D => [KEY_d, KEY_D],
114
+ :E => [KEY_e, KEY_E],
115
+ :F => [KEY_f, KEY_F],
116
+ :G => [KEY_g, KEY_G],
117
+ :H => [KEY_h, KEY_H],
118
+ :I => [KEY_i, KEY_I],
119
+ :J => [KEY_j, KEY_J],
120
+ :K => [KEY_k, KEY_K],
121
+ :L => [KEY_l, KEY_L],
122
+ :M => [KEY_m, KEY_M],
123
+ :N => [KEY_n, KEY_N],
124
+ :O => [KEY_o, KEY_O],
125
+ :P => [KEY_p, KEY_P],
126
+ :Q => [KEY_q, KEY_Q],
127
+ :R => [KEY_r, KEY_R],
128
+ :S => [KEY_s, KEY_S],
129
+ :T => [KEY_t, KEY_T],
130
+ :U => [KEY_u, KEY_U],
131
+ :V => [KEY_v, KEY_V],
132
+ :W => [KEY_w, KEY_W],
133
+ :X => [KEY_x, KEY_X],
134
+ :Y => [KEY_y, KEY_Y],
135
+ :Z => [KEY_z, KEY_Z],
136
+ }
137
+ end
138
+ end
139
+
140
+ end
141
+
@@ -1,3 +1,3 @@
1
1
  module Nyle
2
- VERSION = "0.7.3"
2
+ VERSION = "0.7.4"
3
3
  end
@@ -2,79 +2,146 @@ require 'nyle'
2
2
 
3
3
  class Screen < Nyle::Screen
4
4
  def initialize
5
- super(200, 200, {bgcolor: :IVORY})
5
+ super(400, 200, {bgcolor: :IVORY})
6
6
  end
7
7
 
8
8
  def draw
9
- stat = ""
10
- stat = "[ctrl]" if Nyle.mask_control?
11
- stat = "[shift]" if Nyle.mask_shift?
12
- stat = "[space]" if Nyle.key_down?(KEY_space)
13
- stat = "[backspace]" if Nyle.key_down?(KEY_BackSpace)
14
- stat = "[tab]" if Nyle.key_down?(KEY_Tab)
15
- stat = "[enter]" if Nyle.key_down?(KEY_Return)
16
- stat = "[escape]" if Nyle.key_down?(KEY_Escape)
17
- stat = "[left]" if Nyle.key_down?(KEY_Left)
18
- stat = "[up]" if Nyle.key_down?(KEY_Up)
19
- stat = "[down]" if Nyle.key_down?(KEY_Down)
20
- stat = "[right]" if Nyle.key_down?(KEY_Right)
21
- stat = "[insert]" if Nyle.key_down?(KEY_Insert)
22
- stat = "[delete]" if Nyle.key_down?(KEY_Delete)
23
- stat = "[home]" if Nyle.key_down?(KEY_Home)
24
- stat = "[end]" if Nyle.key_down?(KEY_End)
25
- stat = "[f1]" if Nyle.key_down?(KEY_F1)
26
- stat = "[f2]" if Nyle.key_down?(KEY_F2)
27
- stat = "[f3]" if Nyle.key_down?(KEY_F3)
28
- stat = "[f4]" if Nyle.key_down?(KEY_F4)
29
- stat = "[f5]" if Nyle.key_down?(KEY_F5)
30
- stat = "[f6]" if Nyle.key_down?(KEY_F6)
31
- stat = "[f7]" if Nyle.key_down?(KEY_F7)
32
- stat = "[f8]" if Nyle.key_down?(KEY_F8)
33
- stat = "[f9]" if Nyle.key_down?(KEY_F9)
34
- stat = "[f10]" if Nyle.key_down?(KEY_F10)
35
- stat = "[f11]" if Nyle.key_down?(KEY_F11)
36
- stat = "[f12]" if Nyle.key_down?(KEY_F12)
37
- stat = "[0]" if Nyle.key_down?(KEY_0)
38
- stat = "[1]" if Nyle.key_down?(KEY_1)
39
- stat = "[2]" if Nyle.key_down?(KEY_2)
40
- stat = "[3]" if Nyle.key_down?(KEY_3)
41
- stat = "[4]" if Nyle.key_down?(KEY_4)
42
- stat = "[5]" if Nyle.key_down?(KEY_5)
43
- stat = "[6]" if Nyle.key_down?(KEY_6)
44
- stat = "[7]" if Nyle.key_down?(KEY_7)
45
- stat = "[8]" if Nyle.key_down?(KEY_8)
46
- stat = "[9]" if Nyle.key_down?(KEY_9)
47
- stat = "[a/A]" if Nyle.key_down?(KEY_A) or Nyle.key_down?(KEY_a)
48
- stat = "[b/B]" if Nyle.key_down?(KEY_B) or Nyle.key_down?(KEY_b)
49
- stat = "[c/C]" if Nyle.key_down?(KEY_C) or Nyle.key_down?(KEY_c)
50
- stat = "[d/D]" if Nyle.key_down?(KEY_D) or Nyle.key_down?(KEY_d)
51
- stat = "[e/E]" if Nyle.key_down?(KEY_E) or Nyle.key_down?(KEY_e)
52
- stat = "[f/F]" if Nyle.key_down?(KEY_F) or Nyle.key_down?(KEY_f)
53
- stat = "[g/G]" if Nyle.key_down?(KEY_G) or Nyle.key_down?(KEY_g)
54
- stat = "[h/H]" if Nyle.key_down?(KEY_H) or Nyle.key_down?(KEY_h)
55
- stat = "[i/I]" if Nyle.key_down?(KEY_I) or Nyle.key_down?(KEY_i)
56
- stat = "[j/J]" if Nyle.key_down?(KEY_J) or Nyle.key_down?(KEY_j)
57
- stat = "[k/K]" if Nyle.key_down?(KEY_K) or Nyle.key_down?(KEY_k)
58
- stat = "[l/L]" if Nyle.key_down?(KEY_L) or Nyle.key_down?(KEY_l)
59
- stat = "[m/M]" if Nyle.key_down?(KEY_M) or Nyle.key_down?(KEY_m)
60
- stat = "[n/N]" if Nyle.key_down?(KEY_N) or Nyle.key_down?(KEY_n)
61
- stat = "[o/O]" if Nyle.key_down?(KEY_O) or Nyle.key_down?(KEY_o)
62
- stat = "[p/P]" if Nyle.key_down?(KEY_P) or Nyle.key_down?(KEY_p)
63
- stat = "[q/Q]" if Nyle.key_down?(KEY_Q) or Nyle.key_down?(KEY_q)
64
- stat = "[r/R]" if Nyle.key_down?(KEY_R) or Nyle.key_down?(KEY_r)
65
- stat = "[s/S]" if Nyle.key_down?(KEY_S) or Nyle.key_down?(KEY_s)
66
- stat = "[t/T]" if Nyle.key_down?(KEY_T) or Nyle.key_down?(KEY_t)
67
- stat = "[u/U]" if Nyle.key_down?(KEY_U) or Nyle.key_down?(KEY_u)
68
- stat = "[v/V]" if Nyle.key_down?(KEY_V) or Nyle.key_down?(KEY_v)
69
- stat = "[w/W]" if Nyle.key_down?(KEY_W) or Nyle.key_down?(KEY_w)
70
- stat = "[x/X]" if Nyle.key_down?(KEY_X) or Nyle.key_down?(KEY_x)
71
- stat = "[y/Y]" if Nyle.key_down?(KEY_Y) or Nyle.key_down?(KEY_y)
72
- stat = "[z/Z]" if Nyle.key_down?(KEY_Z) or Nyle.key_down?(KEY_z)
9
+ stat = ""
10
+ stat += "[space]" if Nyle.key_down?(:SPACE)
11
+ stat += "[backspace]" if Nyle.key_down?(:BACKSPACE)
12
+ stat += "[tab]" if Nyle.key_down?(:TAB)
13
+ stat += "[enter]" if Nyle.key_down?(:RETURN)
14
+ stat += "[escape]" if Nyle.key_down?(:ESCAPE)
15
+ stat += "[left]" if Nyle.key_down?(:LEFT)
16
+ stat += "[up]" if Nyle.key_down?(:UP)
17
+ stat += "[down]" if Nyle.key_down?(:DOWN)
18
+ stat += "[right]" if Nyle.key_down?(:RIGHT)
19
+ stat += "[pageup]" if Nyle.key_down?(:PAGEUP)
20
+ stat += "[pagedown]" if Nyle.key_down?(:PAGEDOWN)
21
+ stat += "[insert]" if Nyle.key_down?(:INSERT)
22
+ stat += "[delete]" if Nyle.key_down?(:DELETE)
23
+ stat += "[home]" if Nyle.key_down?(:HOME)
24
+ stat += "[end]" if Nyle.key_down?(:END)
25
+ stat += "[f1]" if Nyle.key_down?(:F1)
26
+ stat += "[f2]" if Nyle.key_down?(:F2)
27
+ stat += "[f3]" if Nyle.key_down?(:F3)
28
+ stat += "[f4]" if Nyle.key_down?(:F4)
29
+ stat += "[f5]" if Nyle.key_down?(:F5)
30
+ stat += "[f6]" if Nyle.key_down?(:F6)
31
+ stat += "[f7]" if Nyle.key_down?(:F7)
32
+ stat += "[f8]" if Nyle.key_down?(:F8)
33
+ stat += "[f9]" if Nyle.key_down?(:F9)
34
+ stat += "[f10]" if Nyle.key_down?(:F10)
35
+ stat += "[f11]" if Nyle.key_down?(:F11)
36
+ stat += "[f12]" if Nyle.key_down?(:F12)
37
+ stat += "[shift]" if Nyle.key_down?(:SHIFT)
38
+ stat += "[ctrl]" if Nyle.key_down?(:CONTROL)
39
+ stat += "[meta]" if Nyle.key_down?(:META)
40
+ stat += "[alt]" if Nyle.key_down?(:ALT)
41
+ stat += "[0]" if Nyle.key_down?(:_0)
42
+ stat += "[1]" if Nyle.key_down?(:_1)
43
+ stat += "[2]" if Nyle.key_down?(:_2)
44
+ stat += "[3]" if Nyle.key_down?(:_3)
45
+ stat += "[4]" if Nyle.key_down?(:_4)
46
+ stat += "[5]" if Nyle.key_down?(:_5)
47
+ stat += "[6]" if Nyle.key_down?(:_6)
48
+ stat += "[7]" if Nyle.key_down?(:_7)
49
+ stat += "[8]" if Nyle.key_down?(:_8)
50
+ stat += "[9]" if Nyle.key_down?(:_9)
51
+ stat += "[a/A]" if Nyle.key_down?(:A)
52
+ stat += "[b/B]" if Nyle.key_down?(:B)
53
+ stat += "[c/C]" if Nyle.key_down?(:C)
54
+ stat += "[d/D]" if Nyle.key_down?(:D)
55
+ stat += "[e/E]" if Nyle.key_down?(:E)
56
+ stat += "[f/F]" if Nyle.key_down?(:F)
57
+ stat += "[g/G]" if Nyle.key_down?(:G)
58
+ stat += "[h/H]" if Nyle.key_down?(:H)
59
+ stat += "[i/I]" if Nyle.key_down?(:I)
60
+ stat += "[j/J]" if Nyle.key_down?(:J)
61
+ stat += "[k/K]" if Nyle.key_down?(:K)
62
+ stat += "[l/L]" if Nyle.key_down?(:L)
63
+ stat += "[m/M]" if Nyle.key_down?(:M)
64
+ stat += "[n/N]" if Nyle.key_down?(:N)
65
+ stat += "[o/O]" if Nyle.key_down?(:O)
66
+ stat += "[p/P]" if Nyle.key_down?(:P)
67
+ stat += "[q/Q]" if Nyle.key_down?(:Q)
68
+ stat += "[r/R]" if Nyle.key_down?(:R)
69
+ stat += "[s/S]" if Nyle.key_down?(:S)
70
+ stat += "[t/T]" if Nyle.key_down?(:T)
71
+ stat += "[u/U]" if Nyle.key_down?(:U)
72
+ stat += "[v/V]" if Nyle.key_down?(:V)
73
+ stat += "[w/W]" if Nyle.key_down?(:W)
74
+ stat += "[x/X]" if Nyle.key_down?(:X)
75
+ stat += "[y/Y]" if Nyle.key_down?(:Y)
76
+ stat += "[z/Z]" if Nyle.key_down?(:Z)
77
+
78
+ stat += "(shift_l)" if Nyle.key_down?(KEY_Shift_L)
79
+ stat += "(shift_r)" if Nyle.key_down?(KEY_Shift_R)
80
+ stat += "(ctrl_l)" if Nyle.key_down?(KEY_Control_L)
81
+ stat += "(ctrl_r)" if Nyle.key_down?(KEY_Control_R)
82
+ stat += "(meta_l)" if Nyle.key_down?(KEY_Meta_L)
83
+ stat += "(meta_r)" if Nyle.key_down?(KEY_Meta_R)
84
+ stat += "(alt_l)" if Nyle.key_down?(KEY_Alt_L)
85
+ stat += "(alt_r)" if Nyle.key_down?(KEY_Alt_R)
86
+
87
+ stat += "(A)" if Nyle.key_down?(KEY_A)
88
+ stat += "(B)" if Nyle.key_down?(KEY_B)
89
+ stat += "(C)" if Nyle.key_down?(KEY_C)
90
+ stat += "(D)" if Nyle.key_down?(KEY_D)
91
+ stat += "(E)" if Nyle.key_down?(KEY_E)
92
+ stat += "(F)" if Nyle.key_down?(KEY_F)
93
+ stat += "(G)" if Nyle.key_down?(KEY_G)
94
+ stat += "(H)" if Nyle.key_down?(KEY_H)
95
+ stat += "(I)" if Nyle.key_down?(KEY_I)
96
+ stat += "(J)" if Nyle.key_down?(KEY_J)
97
+ stat += "(K)" if Nyle.key_down?(KEY_K)
98
+ stat += "(L)" if Nyle.key_down?(KEY_L)
99
+ stat += "(M)" if Nyle.key_down?(KEY_M)
100
+ stat += "(N)" if Nyle.key_down?(KEY_N)
101
+ stat += "(O)" if Nyle.key_down?(KEY_O)
102
+ stat += "(P)" if Nyle.key_down?(KEY_P)
103
+ stat += "(Q)" if Nyle.key_down?(KEY_Q)
104
+ stat += "(R)" if Nyle.key_down?(KEY_R)
105
+ stat += "(S)" if Nyle.key_down?(KEY_S)
106
+ stat += "(T)" if Nyle.key_down?(KEY_T)
107
+ stat += "(U)" if Nyle.key_down?(KEY_U)
108
+ stat += "(V)" if Nyle.key_down?(KEY_V)
109
+ stat += "(W)" if Nyle.key_down?(KEY_W)
110
+ stat += "(X)" if Nyle.key_down?(KEY_X)
111
+ stat += "(Y)" if Nyle.key_down?(KEY_Y)
112
+ stat += "(Z)" if Nyle.key_down?(KEY_Z)
113
+
114
+ stat += "(a)" if Nyle.key_down?(KEY_a)
115
+ stat += "(b)" if Nyle.key_down?(KEY_b)
116
+ stat += "(c)" if Nyle.key_down?(KEY_c)
117
+ stat += "(d)" if Nyle.key_down?(KEY_d)
118
+ stat += "(e)" if Nyle.key_down?(KEY_e)
119
+ stat += "(f)" if Nyle.key_down?(KEY_f)
120
+ stat += "(g)" if Nyle.key_down?(KEY_g)
121
+ stat += "(h)" if Nyle.key_down?(KEY_h)
122
+ stat += "(i)" if Nyle.key_down?(KEY_i)
123
+ stat += "(j)" if Nyle.key_down?(KEY_j)
124
+ stat += "(k)" if Nyle.key_down?(KEY_k)
125
+ stat += "(l)" if Nyle.key_down?(KEY_l)
126
+ stat += "(m)" if Nyle.key_down?(KEY_m)
127
+ stat += "(n)" if Nyle.key_down?(KEY_n)
128
+ stat += "(o)" if Nyle.key_down?(KEY_o)
129
+ stat += "(p)" if Nyle.key_down?(KEY_p)
130
+ stat += "(q)" if Nyle.key_down?(KEY_q)
131
+ stat += "(r)" if Nyle.key_down?(KEY_r)
132
+ stat += "(s)" if Nyle.key_down?(KEY_s)
133
+ stat += "(t)" if Nyle.key_down?(KEY_t)
134
+ stat += "(u)" if Nyle.key_down?(KEY_u)
135
+ stat += "(v)" if Nyle.key_down?(KEY_v)
136
+ stat += "(w)" if Nyle.key_down?(KEY_w)
137
+ stat += "(x)" if Nyle.key_down?(KEY_x)
138
+ stat += "(y)" if Nyle.key_down?(KEY_y)
139
+ stat += "(z)" if Nyle.key_down?(KEY_z)
73
140
 
74
141
  Nyle.draw_text(10, 60, "Press any key!" , {size: 24})
75
142
  Nyle.draw_text(30, 100, stat, {size: 24, color: :FOREST_GREEN})
76
143
 
77
- #Nyle.quit if Nyle.key_press?(KEY_Escape)
144
+ Nyle.quit if Nyle.mouse_press?(:R)
78
145
  end
79
146
  end
80
147
 
@@ -25,6 +25,8 @@ class Screen < Nyle::Screen
25
25
  @draw = !@draw
26
26
  Nyle.clear if @draw
27
27
  end
28
+
29
+ Nyle.quit if Nyle.key_press?(KEY_Escape)
28
30
  end
29
31
  end
30
32
 
@@ -26,6 +26,8 @@ class Screen < Nyle::Screen
26
26
  @c1, @c2, @c3 = @c2, @c3, @c1
27
27
  end
28
28
  @th += Math::PI / 128
29
+
30
+ Nyle.quit if Nyle.key_press?(KEY_Escape)
29
31
  end
30
32
  end
31
33
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nyle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.3
4
+ version: 0.7.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Koki Kitamura
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-05-26 00:00:00.000000000 Z
11
+ date: 2019-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gtk3
@@ -44,6 +44,7 @@ files:
44
44
  - Rakefile
45
45
  - doc/.gitkeep
46
46
  - lib/nyle.rb
47
+ - lib/nyle/define_table.rb
47
48
  - lib/nyle/frame.rb
48
49
  - lib/nyle/screen.rb
49
50
  - lib/nyle/version.rb