nyle 0.6.0 → 0.6.1

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.
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
-