nyle 0.7.3 → 0.7.4

Sign up to get free protection for your applications and to get access to all the features.
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