nyle 0.6.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -3
  3. data/CHANGELOG.md +21 -0
  4. data/Gemfile.lock +61 -0
  5. data/README.md +2 -2
  6. data/doc/.gitkeep +0 -0
  7. data/lib/nyle.rb +53 -44
  8. data/lib/nyle/frame.rb +18 -3
  9. data/lib/nyle/screen.rb +5 -4
  10. data/lib/nyle/version.rb +1 -1
  11. data/nyle.gemspec +2 -2
  12. data/samples/{nyle_block.rb → application/block.rb} +0 -1
  13. data/samples/{nyle_clock.rb → application/clock.rb} +0 -1
  14. data/samples/{nyle_falling.rb → application/falling.rb} +5 -7
  15. data/samples/{nyle_flight.rb → application/flight.rb} +6 -9
  16. data/samples/{nyle_sketch.rb → application/sketch.rb} +0 -1
  17. data/samples/{nyle_sugar.rb → application/sugar.rb} +1 -1
  18. data/samples/{nyle_tree.rb → application/tree.rb} +2 -3
  19. data/samples/basic/color_chart.rb +316 -0
  20. data/samples/{nyle_pixel.rb → basic/color_pixel.rb} +1 -1
  21. data/samples/basic/draw_circle.rb +52 -0
  22. data/samples/basic/draw_line.rb +82 -0
  23. data/samples/basic/draw_rect.rb +58 -0
  24. data/samples/{nyle_shape.rb → basic/draw_shape.rb} +70 -70
  25. data/samples/basic/draw_text.rb +55 -0
  26. data/samples/basic/image_click.rb +33 -0
  27. data/samples/basic/image_rotate.rb +42 -0
  28. data/samples/{nyle_rpg.rb → basic/image_rpg.rb} +15 -15
  29. data/samples/basic/keyboard.rb +84 -0
  30. data/samples/{nyle_walk_notrace.rb → basic/random_walk.rb} +3 -3
  31. data/samples/{nyle_walk_trace.rb → basic/random_walk_trace.rb} +3 -3
  32. data/samples/image/n_c_mogura.png +0 -0
  33. data/samples/launcher.rb +125 -0
  34. data/samples/tips/.gitkeep +0 -0
  35. data/samples/tutorial/img.jpg +0 -0
  36. data/samples/tutorial/tut_a10.rb +10 -0
  37. data/samples/tutorial/tut_a20.rb +13 -0
  38. data/samples/tutorial/tut_a30.rb +18 -0
  39. data/samples/tutorial/tut_a40.rb +19 -0
  40. data/samples/tutorial/tut_a45.rb +21 -0
  41. data/samples/tutorial/tut_a50.rb +25 -0
  42. data/samples/tutorial/tut_a60.rb +30 -0
  43. data/samples/tutorial/tut_a70.rb +34 -0
  44. data/samples/tutorial/tut_b10.rb +14 -0
  45. data/samples/tutorial/tut_b20.rb +14 -0
  46. data/samples/tutorial/tut_b30.rb +14 -0
  47. data/samples/tutorial/tut_b40.rb +18 -0
  48. metadata +42 -23
  49. data/doc/Nyle_reference.pdf +0 -0
  50. data/samples/image/n_b_river.gif +0 -0
  51. data/samples/nyle_basics.rb +0 -69
  52. data/samples/nyle_basics2.rb +0 -70
  53. data/samples/nyle_click.rb +0 -34
  54. data/samples/nyle_colors.rb +0 -315
  55. data/samples/readme_samples.txt +0 -36
@@ -0,0 +1,14 @@
1
+ require 'nyle'
2
+
3
+ class Screen < Nyle::Screen
4
+ def initialize
5
+ super
6
+ @image = Nyle.load_image("./img.jpg")
7
+ end
8
+ def draw
9
+ Nyle.draw_image(0, 0, @image)
10
+ end
11
+ end
12
+
13
+ Screen.new.show_all
14
+ Gtk.main
@@ -0,0 +1,14 @@
1
+ require 'nyle'
2
+
3
+ class Screen < Nyle::Screen
4
+ def initialize
5
+ super
6
+ @image = Nyle.load_image("./img.jpg", {cx: 200, cy: 100, cw: 320, ch: 240})
7
+ end
8
+ def draw
9
+ Nyle.draw_image(20, 20, @image)
10
+ end
11
+ end
12
+
13
+ Screen.new.show_all
14
+ Gtk.main
@@ -0,0 +1,14 @@
1
+ require 'nyle'
2
+
3
+ class Screen < Nyle::Screen
4
+ def initialize
5
+ super
6
+ @image = Nyle.load_image("./img.jpg", {sx: 0.5, sy: 0.5})
7
+ end
8
+ def draw
9
+ Nyle.draw_image(20, 20, @image)
10
+ end
11
+ end
12
+
13
+ Screen.new.show_all
14
+ Gtk.main
@@ -0,0 +1,18 @@
1
+ require 'nyle'
2
+
3
+ class Screen < Nyle::Screen
4
+ def initialize
5
+ super
6
+ @image = Nyle.load_image_tiles("./img.jpg", 4, 3, {sx: 0.5, sy: 0.5})
7
+ end
8
+ def draw
9
+ 3.times do |y|
10
+ 4.times do |x|
11
+ Nyle.draw_image(20 + x * 100, 20 + y * 100, @image[x][y])
12
+ end
13
+ end
14
+ end
15
+ end
16
+
17
+ Screen.new.show_all
18
+ Gtk.main
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.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Koki Kitamura
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-12-01 00:00:00.000000000 Z
11
+ date: 2019-01-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -78,7 +78,7 @@ dependencies:
78
78
  - - "~>"
79
79
  - !ruby/object:Gem::Version
80
80
  version: 3.3.0
81
- description: "'Nyle' is a minimal graphics framework using Ruby/GTK3 and Cairo"
81
+ description: "'Nyle' is a minimal graphics framework using Ruby/GTK3 and rcairo"
82
82
  email:
83
83
  - spool.kitamura@nifty.ne.jp
84
84
  executables: []
@@ -88,17 +88,38 @@ files:
88
88
  - ".gitignore"
89
89
  - CHANGELOG.md
90
90
  - Gemfile
91
+ - Gemfile.lock
91
92
  - LICENSE.txt
92
93
  - README.md
93
94
  - Rakefile
94
- - doc/Nyle_reference.pdf
95
+ - doc/.gitkeep
95
96
  - lib/nyle.rb
96
97
  - lib/nyle/frame.rb
97
98
  - lib/nyle/screen.rb
98
99
  - lib/nyle/version.rb
99
100
  - nyle.gemspec
101
+ - samples/application/block.rb
102
+ - samples/application/clock.rb
103
+ - samples/application/falling.rb
104
+ - samples/application/flight.rb
105
+ - samples/application/sketch.rb
106
+ - samples/application/sugar.rb
107
+ - samples/application/tree.rb
108
+ - samples/basic/color_chart.rb
109
+ - samples/basic/color_pixel.rb
110
+ - samples/basic/draw_circle.rb
111
+ - samples/basic/draw_line.rb
112
+ - samples/basic/draw_rect.rb
113
+ - samples/basic/draw_shape.rb
114
+ - samples/basic/draw_text.rb
115
+ - samples/basic/image_click.rb
116
+ - samples/basic/image_rotate.rb
117
+ - samples/basic/image_rpg.rb
118
+ - samples/basic/keyboard.rb
119
+ - samples/basic/random_walk.rb
120
+ - samples/basic/random_walk_trace.rb
100
121
  - samples/image/n_b_crocodile.png
101
- - samples/image/n_b_river.gif
122
+ - samples/image/n_c_mogura.png
102
123
  - samples/image/n_f_banana.png
103
124
  - samples/image/n_f_panda.png
104
125
  - samples/image/n_f_strawberry.png
@@ -106,23 +127,21 @@ files:
106
127
  - samples/image/n_fl_tree32.png
107
128
  - samples/image/n_i_bg.jpg
108
129
  - samples/image/n_i_chara.png
109
- - samples/nyle_basics.rb
110
- - samples/nyle_basics2.rb
111
- - samples/nyle_block.rb
112
- - samples/nyle_click.rb
113
- - samples/nyle_clock.rb
114
- - samples/nyle_colors.rb
115
- - samples/nyle_falling.rb
116
- - samples/nyle_flight.rb
117
- - samples/nyle_pixel.rb
118
- - samples/nyle_rpg.rb
119
- - samples/nyle_shape.rb
120
- - samples/nyle_sketch.rb
121
- - samples/nyle_sugar.rb
122
- - samples/nyle_tree.rb
123
- - samples/nyle_walk_notrace.rb
124
- - samples/nyle_walk_trace.rb
125
- - samples/readme_samples.txt
130
+ - samples/launcher.rb
131
+ - samples/tips/.gitkeep
132
+ - samples/tutorial/img.jpg
133
+ - samples/tutorial/tut_a10.rb
134
+ - samples/tutorial/tut_a20.rb
135
+ - samples/tutorial/tut_a30.rb
136
+ - samples/tutorial/tut_a40.rb
137
+ - samples/tutorial/tut_a45.rb
138
+ - samples/tutorial/tut_a50.rb
139
+ - samples/tutorial/tut_a60.rb
140
+ - samples/tutorial/tut_a70.rb
141
+ - samples/tutorial/tut_b10.rb
142
+ - samples/tutorial/tut_b20.rb
143
+ - samples/tutorial/tut_b30.rb
144
+ - samples/tutorial/tut_b40.rb
126
145
  homepage: https://github.com/spoolkitamura/nyle
127
146
  licenses:
128
147
  - MIT
@@ -146,5 +165,5 @@ rubyforge_project:
146
165
  rubygems_version: 2.7.8
147
166
  signing_key:
148
167
  specification_version: 4
149
- summary: minimal graphics framework using Ruby/GTK3 and Cairo
168
+ summary: minimal graphics framework using Ruby/GTK3 and rcairo
150
169
  test_files: []
Binary file
Binary file
@@ -1,69 +0,0 @@
1
-
2
- require 'nyle'
3
-
4
- class Screen < Nyle::Screen
5
- def initialize
6
- super
7
- @image1 = Nyle.load_image("./image/n_b_crocodile.png")
8
- @image2 = Nyle.load_image("./image/n_b_river.gif")
9
- end
10
-
11
- def draw
12
- # line
13
- Nyle.draw_line( 40, 100, 70, 10)
14
- Nyle.draw_line( 80, 100, 110, 10, {weight: 10})
15
- Nyle.draw_line(120, 100, 150, 10, {weight: 10, cap: :ROUND})
16
- for a in (1..10)
17
- Nyle.draw_line(120 + a * 40, 100, 150 + a * 40, 10, {weight: 10, cap: :ROUND, color: :DARK_GREEN, a: a / 10.0})
18
- end
19
-
20
- # circle
21
- Nyle.draw_circle( 70, 150, 30)
22
- Nyle.draw_circle(170, 150, 30, {weight: 5})
23
- Nyle.draw_circle(270, 150, 30, {weight: 5, color: :ORANGE})
24
- Nyle.draw_circle(370, 150, 30, {color: :ORANGE, fill: true, a: 0.6})
25
-
26
- # rectangle
27
- Nyle.draw_rect( 40, 200, 60, 30)
28
- Nyle.draw_rect(140, 200, 60, 30, {weight: 5})
29
- Nyle.draw_rect(240, 200, 60, 30, {weight: 5, color: :ORANGE})
30
- Nyle.draw_rect(340, 200, 60, 30, {color: :ORANGE, fill: true, a: 0.6})
31
- Nyle.draw_rect(440, 200, 60, 30, {weight: 5, color: :ORANGE, round: 5})
32
- Nyle.draw_rect(540, 200, 60, 30, {color: :ORANGE, fill: true, round: 5, a: 0.6})
33
-
34
- Nyle.draw_rect( 45, 250, 50, 30, {weight: 3, color: :GOLD})
35
- Nyle.save do
36
- for i in (1..5) do
37
- # rectangle (coordinate transformation)
38
- Nyle.rotate(Math::PI / 80)
39
- Nyle.translate(80, -10)
40
- Nyle.scale(1.1, 1.1)
41
- Nyle.draw_rect( 45, 250, 50, 30, {weight: 3, color: :GOLD, fill: true, round: 2})
42
- end
43
- end
44
-
45
- # text
46
- Nyle.draw_text(40, 375, "【Nyle】", {color: :DARK_GREEN})
47
- Nyle.draw_text(60, 410, " minimal graphics framework", {color: :DARK_GREEN, size: 24, a: 0.8})
48
- Nyle.draw_text(70, 440, " using Ruby/GTK3 and Cairo", {color: :DARK_GREEN, size: 24, a: 0.8})
49
-
50
- # image
51
- Nyle.draw_image(470, 70, @image1)
52
- Nyle.draw_image(440, 260, @image2)
53
-
54
- # key status
55
- puts "[ctrl] + [shift]" if Nyle.mask_control? and Nyle.mask_shift?
56
-
57
- # mouse status
58
- [MOUSE_L, MOUSE_M, MOUSE_R].each do |k|
59
- puts "Nyle.mouse_press?(#{k})" if Nyle.mouse_press?(k)
60
- end
61
-
62
- Nyle.quit if Nyle.key_press?(KEY_Escape)
63
- end
64
- end
65
-
66
-
67
- Screen.new.show_all
68
- Gtk.main
69
-
@@ -1,70 +0,0 @@
1
-
2
- require 'nyle'
3
-
4
- class Screen < Nyle::Screen
5
- include Nyle
6
- def initialize
7
- super
8
- @image1 = load_image("./image/n_b_crocodile.png")
9
- @image2 = load_image("./image/n_b_river.gif")
10
- end
11
-
12
- def draw
13
- # line
14
- draw_line( 40, 100, 70, 10)
15
- draw_line( 80, 100, 110, 10, {weight: 10})
16
- draw_line(120, 100, 150, 10, {weight: 10, cap: :ROUND})
17
- for a in (1..10)
18
- draw_line(120 + a * 40, 100, 150 + a * 40, 10, {weight: 10, cap: :ROUND, color: :DARK_GREEN, a: a / 10.0})
19
- end
20
-
21
- # circle
22
- draw_circle( 70, 150, 30)
23
- draw_circle(170, 150, 30, {weight: 5})
24
- draw_circle(270, 150, 30, {weight: 5, color: :ORANGE})
25
- draw_circle(370, 150, 30, {color: :ORANGE, fill: true, a: 0.6})
26
-
27
- # rectangle
28
- draw_rect( 40, 200, 60, 30)
29
- draw_rect(140, 200, 60, 30, {weight: 5})
30
- draw_rect(240, 200, 60, 30, {weight: 5, color: :ORANGE})
31
- draw_rect(340, 200, 60, 30, {color: :ORANGE, fill: true, a: 0.6})
32
- draw_rect(440, 200, 60, 30, {weight: 5, color: :ORANGE, round: 5})
33
- draw_rect(540, 200, 60, 30, {color: :ORANGE, fill: true, round: 5, a: 0.6})
34
-
35
- draw_rect( 45, 250, 50, 30, {weight: 3, color: :GOLD})
36
- save do
37
- for i in (1..5) do
38
- # rectangle (coordinate transformation)
39
- rotate(Math::PI / 80)
40
- translate(80, -10)
41
- scale(1.1, 1.1)
42
- draw_rect( 45, 250, 50, 30, {weight: 3, color: :GOLD, fill: true, round: 2})
43
- end
44
- end
45
-
46
- # text
47
- draw_text(40, 375, "【Nyle】", {color: :DARK_GREEN})
48
- draw_text(60, 410, " minimal graphics framework", {color: :DARK_GREEN, size: 24, a: 0.8})
49
- draw_text(70, 440, " using Ruby/GTK3 and Cairo", {color: :DARK_GREEN, size: 24, a: 0.8})
50
-
51
- # image
52
- draw_image(470, 70, @image1)
53
- draw_image(440, 260, @image2)
54
-
55
- # key status
56
- puts "[ctrl] + [shift]" if mask_control? and mask_shift?
57
-
58
- # mouse status
59
- [MOUSE_L, MOUSE_M, MOUSE_R].each do |k|
60
- puts "mouse_press?(#{k})" if mouse_press?(k)
61
- end
62
-
63
- quit if key_press?(KEY_Escape)
64
- end
65
- end
66
-
67
-
68
- Screen.new.show_all
69
- Gtk.main
70
-
@@ -1,34 +0,0 @@
1
-
2
- require 'nyle'
3
-
4
- class Screen < Nyle::Screen
5
- def initialize
6
- super
7
- @image1 = Nyle.load_image("./image/n_f_strawberry.png")
8
- calc_xy
9
- end
10
-
11
- def draw
12
- Nyle.draw_image(@x, @y, @image1)
13
- calc_xy if clicked?
14
- Nyle.quit if Nyle.key_press?(KEY_Escape)
15
- end
16
-
17
- def calc_xy
18
- @x = rand(Nyle.screen_width - @image1.width)
19
- @y = rand(Nyle.screen_height - @image1.height)
20
- end
21
-
22
- def clicked?
23
- Nyle.mouse_press?(MOUSE_L) and
24
- Nyle.mouse_x >= @x and
25
- Nyle.mouse_x <= @x + @image1.width and
26
- Nyle.mouse_y >= @y and
27
- Nyle.mouse_y <= @y + @image1.height
28
- end
29
- end
30
-
31
-
32
- Screen.new.show_all
33
- Gtk.main
34
-
@@ -1,315 +0,0 @@
1
-
2
- require 'nyle'
3
-
4
- class Screen < Nyle::Screen
5
- def initialize
6
- super(480, 600)
7
- setup
8
- end
9
-
10
- def setup
11
- @colors = [
12
- :ALICE_BLUE, # #F0F8FFFF
13
- :ALIZARIN_CRIMSON, # #E32637FF
14
- :AMARANTH, # #E62B50FF
15
- :AMBER, # #FFBF00FF
16
- :AMETHYST, # #9966CCFF
17
- :ANTIQUE_WHITE, # #FAEBD8FF
18
- :APRICOT, # #FBCEB2FF
19
- :AQUA, # #00FFFFFF
20
- :AQUAMARINE, # #80FFD5FF
21
- :ASPARAGUS, # #7CA15BFF
22
- :AZURE, # #0080FFFF
23
- :BEIGE, # #F5F5DDFF
24
- :BISQUE, # #FFE5C4FF
25
- :BISTRE, # #3E2B1FFF
26
- :BLACK, # #000000FF
27
- :BLANCHED_ALMOND, # #FFEBCDFF
28
- :BLAZE_ORANGE, # #FF6600FF
29
- :BLUE, # #0000FFFF
30
- :BLUE_VIOLET, # #8A2BE3FF
31
- :BONDI_BLUE, # #0095B6FF
32
- :BRIGHT_GREEN, # #66FF00FF
33
- :BRIGHT_TURQUOISE, # #08E8DFFF
34
- :BROWN, # #964C00FF
35
- :BUFF, # #F0DD82FF
36
- :BURGUNDY, # #800020FF
37
- :BURLY_WOOD, # #DFB887FF
38
- :BURNT_ORANGE, # #CC5500FF
39
- :BURNT_SIENNA, # #E97551FF
40
- :BURNT_UMBER, # #8A3324FF
41
- :CADET_BLUE, # #5F9FA1FF
42
- :CAMOUFLAGE_GREEN, # #79866CFF
43
- :CARDINAL, # #C41E3BFF
44
- :CARMINE, # #960018FF
45
- :CARNATION, # #F95A61FF
46
- :CARROT_ORANGE, # #ED9121FF
47
- :CELADON, # #ADE2B0FF
48
- :CERISE, # #DF3163FF
49
- :CERULEAN, # #007CA8FF
50
- :CERULEAN_BLUE, # #2A52BEFF
51
- :CHARTREUSE, # #80FF00FF
52
- :CHARTREUSE_YELLOW, # #E0FF00FF
53
- :CHESTNUT, # #CD5C5CFF
54
- :CHOCOLATE, # #D36A1EFF
55
- :CINNAMON, # #7C4000FF
56
- :COBALT, # #0048ACFF
57
- :COPPER, # #B87433FF
58
- :COPPER_ROSE, # #996666FF
59
- :CORAL, # #FF8050FF
60
- :CORAL_RED, # #FF4141FF
61
- :CORN, # #FBEC5DFF
62
- :CORNFLOWER_BLUE, # #6495EDFF
63
- :CORNSILK, # #FFF8DDFF
64
- :CREAM, # #FFFDD1FF
65
- :CRIMSON, # #DD143DFF
66
- :CYAN, # #00FFFFFF
67
- :DARK_BLUE, # #00008BFF
68
- :DARK_CYAN, # #008B8BFF
69
- :DARK_GOLDENROD, # #B8860CFF
70
- :DARK_GRAY, # #AAAAAAFF
71
- :DARK_GREEN, # #006400FF
72
- :DARK_KHAKI, # #BDB76CFF
73
- :DARK_MAGENTA, # #8B008BFF
74
- :DARK_OLIVE_GREEN, # #556C2FFF
75
- :DARK_ORANGE, # #FF8C00FF
76
- :DARK_ORCHID, # #9932CCFF
77
- :DARK_POWDER_BLUE, # #003399FF
78
- :DARK_RED, # #8B0000FF
79
- :DARK_SALMON, # #E9967BFF
80
- :DARK_SEA_GREEN, # #8FBC8FFF
81
- :DARK_SLATE_BLUE, # #493E8BFF
82
- :DARK_SLATE_GRAY, # #2F4F4FFF
83
- :DARK_TURQUOISE, # #00CED2FF
84
- :DARK_VIOLET, # #9400D4FF
85
- :DEEP_PINK, # #FF1493FF
86
- :DEEP_SKY_BLUE, # #00BFFFFF
87
- :DENIM, # #1660BDFF
88
- :DIM_GRAY, # #6A6A6AFF
89
- :DODGER_BLUE, # #1E90FFFF
90
- :EGGPLANT, # #990066FF
91
- :EMERALD, # #50C879FF
92
- :FALU_RED, # #801818FF
93
- :FERN_GREEN, # #4F7A43FF
94
- :FIRE_BRICK, # #B22222FF
95
- :FLAX, # #EEDD82FF
96
- :FLORAL_WHITE, # #FFFAF0FF
97
- :FOREST_GREEN, # #228B22FF
98
- :FRENCH_ROSE, # #F64B8AFF
99
- :FUCHSIA, # #FF00FFFF
100
- :GAINSBORO, # #DDDDDDFF
101
- :GAMBOGE, # #E59C0FFF
102
- :GHOST_WHITE, # #F8F8FFFF
103
- :GOLD, # #FFD800FF
104
- :GOLDENROD, # #DBA620FF
105
- :GRAY, # #808080FF
106
- :GRAY_ASPARAGUS, # #475946FF
107
- :GREEN, # #00FF00FF
108
- :GREEN_YELLOW, # #AEFF2FFF
109
- :HARLEQUIN, # #40FF00FF
110
- :HELIOTROPE, # #E074FFFF
111
- :HOLLYWOOD_CERISE, # #F400A2FF
112
- :HONEYDEW, # #F0FFF0FF
113
- :HOT_MAGENTA, # #FF00CCFF
114
- :HOT_PINK, # #FF6AB5FF
115
- :INDIAN_RED, # #CD5C5CFF
116
- :INDIGO, # #4C0082FF
117
- :INTERNATIONAL_KLEIN_BLUE, # #002FA8FF
118
- :INTERNATIONAL_ORANGE, # #FF4F00FF
119
- :IVORY, # #FFFFF0FF
120
- :JADE, # #00A96CFF
121
- :KHAKI, # #C3B191FF
122
- :KHAKI_X11, # #F0E78CFF
123
- :LAVENDER, # #B57FDDFF
124
- :LAVENDER_BLUE, # #CCCCFFFF
125
- :LAVENDER_BLUSH, # #FFF0F5FF
126
- :LAVENDER_GRAY, # #BDBBD8FF
127
- :LAVENDER_PINK, # #FBAFD3FF
128
- :LAVENDER_ROSE, # #FBA1E3FF
129
- :LAWN_GREEN, # #7DFC00FF
130
- :LEMON, # #FDE911FF
131
- :LEMON_CHIFFON, # #FFFACDFF
132
- :LIGHT_BLUE, # #AED9E7FF
133
- :LIGHT_CORAL, # #F08080FF
134
- :LIGHT_CYAN, # #E1FFFFFF
135
- :LIGHT_GOLDENROD_YELLOW, # #FAFAD3FF
136
- :LIGHT_GREEN, # #90EE90FF
137
- :LIGHT_GREY, # #D4D4D4FF
138
- :LIGHT_PINK, # #FFB6C1FF
139
- :LIGHT_SALMON, # #FFA17BFF
140
- :LIGHT_SEA_GREEN, # #20B2ABFF
141
- :LIGHT_SKY_BLUE, # #87CEFAFF
142
- :LIGHT_SLATE_GRAY, # #788899FF
143
- :LIGHT_STEEL_BLUE, # #B1C4DFFF
144
- :LIGHT_YELLOW, # #FFFFE1FF
145
- :LILAC, # #C8A3C8FF
146
- :LIME, # #BFFF00FF
147
- :LIME_GREEN, # #32CD32FF
148
- :LINEN, # #FAF0E7FF
149
- :MAGENTA, # #FF00FFFF
150
- :MALACHITE, # #0CDB51FF
151
- :MAROON, # #800000FF
152
- :MAUVE, # #E1B1FFFF
153
- :MEDIUM_AQUAMARINE, # #66CDABFF
154
- :MEDIUM_BLUE, # #0000CDFF
155
- :MEDIUM_CARMINE, # #B04136FF
156
- :MEDIUM_LAVENDER, # #EE82EEFF
157
- :MEDIUM_ORCHID, # #BA55D4FF
158
- :MEDIUM_PURPLE, # #9371DCFF
159
- :MEDIUM_SEA_GREEN, # #3DB372FF
160
- :MEDIUM_SLATE_BLUE, # #7C69EEFF
161
- :MEDIUM_SPRING_GREEN, # #00FA9BFF
162
- :MEDIUM_TURQUOISE, # #49D2CCFF
163
- :MEDIUM_VIOLET_RED, # #C71685FF
164
- :MIDNIGHT_BLUE, # #003366FF
165
- :MINT_CREAM, # #F5FFFAFF
166
- :MINT_GREEN, # #98FF98FF
167
- :MISTY_ROSE, # #FFE5E2FF
168
- :MOCCASIN, # #FFE5B5FF
169
- :MOSS_GREEN, # #AEE0AEFF
170
- :MOUNTBATTEN_PINK, # #997B8DFF
171
- :MUSTARD, # #FFDC58FF
172
- :NAVAJO_WHITE, # #FFDFAEFF
173
- :NAVY_BLUE, # #000080FF
174
- :OCHRE, # #CC7822FF
175
- :OLD_GOLD, # #D0B53CFF
176
- :OLD_LACE, # #FDF5E7FF
177
- :OLD_LAVENDER, # #7A6979FF
178
- :OLD_ROSE, # #C08081FF
179
- :OLIVE, # #808000FF
180
- :OLIVE_DRAB, # #6C8E23FF
181
- :ORANGE, # #FF8000FF
182
- :ORANGE_COLOR_WHEEL, # #FF8000FF
183
- :ORANGE_PEEL, # #FFA100FF
184
- :ORANGE_RED, # #FF4600FF
185
- :ORANGE_WEB, # #FFA600FF
186
- :ORCHID, # #DB71D7FF
187
- :PALE_GOLDENROD, # #EEE8ABFF
188
- :PALE_GREEN, # #98FB98FF
189
- :PALE_TURQUOISE, # #B0EEEEFF
190
- :PALE_VIOLET_RED, # #DC7193FF
191
- :PAPAYA_WHIP, # #FFEFD6FF
192
- :PASTEL_GREEN, # #78DE78FF
193
- :PASTEL_PINK, # #FFD2DDFF
194
- :PEACH, # #FFE6B5FF
195
- :PEACH_ORANGE, # #FFCC99FF
196
- :PEACH_PUFF, # #FFDBB9FF
197
- :PEACH_YELLOW, # #FAE0AEFF
198
- :PEAR, # #D2E331FF
199
- :PERIWINKLE, # #CCCCFFFF
200
- :PERSIAN_BLUE, # #1C3ABBFF
201
- :PERSIAN_GREEN, # #00A793FF
202
- :PERSIAN_INDIGO, # #32127BFF
203
- :PERSIAN_PINK, # #F780BEFF
204
- :PERSIAN_RED, # #CC3333FF
205
- :PERSIAN_ROSE, # #FF1CB2FF
206
- :PERU, # #CD8540FF
207
- :PINE_GREEN, # #017A70FF
208
- :PINK, # #FFC0CBFF
209
- :PINK_ORANGE, # #FF9966FF
210
- :PLUM, # #DEA1DEFF
211
- :POMEGRANATE, # #F34823FF
212
- :POWDER_BLUE, # #B1E1E7FF
213
- :POWDER_BLUE_WEB, # #B1E1E7FF
214
- :PRUSSIAN_BLUE, # #003153FF
215
- :PUCE, # #CC8899FF
216
- :PUMPKIN, # #FF7618FF
217
- :PURPLE, # #660099FF
218
- :RAW_UMBER, # #744B12FF
219
- :RED, # #FF0000FF
220
- :RED_VIOLET, # #C71685FF
221
- :ROBIN_EGG_BLUE, # #00CCCCFF
222
- :ROSE, # #FF0080FF
223
- :ROSY_BROWN, # #BC8F8FFF
224
- :ROYAL_BLUE, # #426AE2FF
225
- :RUSSET, # #80471BFF
226
- :RUST, # #B7420EFF
227
- :SADDLE_BROWN, # #8B4613FF
228
- :SAFETY_ORANGE, # #FF6600FF
229
- :SAFFRON, # #F4C430FF
230
- :SALMON, # #FF8C6AFF
231
- :SANDY_BROWN, # #F4A560FF
232
- :SANGRIA, # #92000AFF
233
- :SAPPHIRE, # #082567FF
234
- :SCARLET, # #FF2400FF
235
- :SCHOOL_BUS_YELLOW, # #FFD900FF
236
- :SEA_GREEN, # #2E8B57FF
237
- :SEASHELL, # #FFF5EEFF
238
- :SELECTIVE_YELLOW, # #FFBA00FF
239
- :SEPIA, # #714314FF
240
- :SHOCKING_PINK, # #FC0FC0FF
241
- :SIENNA, # #A1522DFF
242
- :SILVER, # #C0C0C0FF
243
- :SKY_BLUE, # #87CEEBFF
244
- :SLATE_BLUE, # #6B5ACDFF
245
- :SLATE_GRAY, # #718090FF
246
- :SMALT, # #003399FF
247
- :SNOW, # #FFFAFAFF
248
- :SPRING_GREEN, # #00FF80FF
249
- :STEEL_BLUE, # #4782B5FF
250
- :SWAMP_GREEN, # #ADB78EFF
251
- :TAN, # #D3B58CFF
252
- :TANGERINE, # #FFCC00FF
253
- :TAUPE, # #493D32FF
254
- :TAWNY, # #CD5700FF
255
- :TEA_GREEN, # #D1F0C0FF
256
- :TEAL, # #008080FF
257
- :TENNE, # #CD5700FF
258
- :TERRA_COTTA, # #E3735BFF
259
- :THISTLE, # #D9BFD9FF
260
- :TOMATO, # #FF6348FF
261
- :TURQUOISE, # #30D6C8FF
262
- :ULTRAMARINE, # #120A8FFF
263
- :VERMILION, # #FF4D00FF
264
- :VIOLET, # #8B00FFFF
265
- :VIOLET_EGGPLANT, # #991299FF
266
- :VIRIDIAN, # #41826EFF
267
- :WHEAT, # #F5DFB3FF
268
- :WHITE, # #FFFFFFFF
269
- :WHITE_SMOKE, # #F5F5F5FF
270
- :WISTERIA, # #C9A1DDFF
271
- :YELLOW, # #FFFF00FF
272
- :YELLOW_GREEN, # #9BCD32FF
273
- :ZINNWALDITE # #EBC2B0FF
274
- ]
275
- @start_index = 0
276
- @bar_w = 200
277
- @bar_h = 30
278
- end
279
-
280
- def draw
281
- @colors.each_with_index do |c, i|
282
- next if i < @start_index
283
- y = (i - @start_index) * @bar_h
284
- Nyle.draw_rect(0, y, @bar_w, @bar_h, {color: c, fill: true})
285
- Nyle.draw_text(@bar_w + 10, y + @bar_h - 10, "#{c.to_s}", {color: :BLACK, size: 16})
286
- end
287
- end
288
-
289
- def update
290
- if Nyle.key_press?(KEY_Up)
291
- @start_index -= (@height / @bar_h)
292
- @start_index = (@colors.length / (@height / @bar_h)) * (@height / @bar_h) if @start_index < 0
293
- # puts "#{@start_index} #{@colors.length}"
294
- end
295
-
296
- if Nyle.key_press?(KEY_Down)
297
- @start_index += (@height / @bar_h)
298
- @start_index = 0 if @start_index >= @colors.length
299
- # puts "#{@start_index} #{@colors.length}"
300
- end
301
-
302
- if Nyle.key_press?(KEY_space)
303
- @colors.each do |c|
304
- puts "#{Cairo::Color.parse(c).to_s} (#{c.to_s})"
305
- end
306
- end
307
-
308
- Nyle.quit if Nyle.key_press?(KEY_Escape)
309
- end
310
- end
311
-
312
-
313
- Screen.new.show_all
314
- Gtk.main
315
-