nyle 0.6.0 → 0.6.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -3
- data/CHANGELOG.md +21 -0
- data/Gemfile.lock +61 -0
- data/README.md +2 -2
- data/doc/.gitkeep +0 -0
- data/lib/nyle.rb +53 -44
- data/lib/nyle/frame.rb +18 -3
- data/lib/nyle/screen.rb +5 -4
- data/lib/nyle/version.rb +1 -1
- data/nyle.gemspec +2 -2
- data/samples/{nyle_block.rb → application/block.rb} +0 -1
- data/samples/{nyle_clock.rb → application/clock.rb} +0 -1
- data/samples/{nyle_falling.rb → application/falling.rb} +5 -7
- data/samples/{nyle_flight.rb → application/flight.rb} +6 -9
- data/samples/{nyle_sketch.rb → application/sketch.rb} +0 -1
- data/samples/{nyle_sugar.rb → application/sugar.rb} +1 -1
- data/samples/{nyle_tree.rb → application/tree.rb} +2 -3
- data/samples/basic/color_chart.rb +316 -0
- data/samples/{nyle_pixel.rb → basic/color_pixel.rb} +1 -1
- data/samples/basic/draw_circle.rb +52 -0
- data/samples/basic/draw_line.rb +82 -0
- data/samples/basic/draw_rect.rb +58 -0
- data/samples/{nyle_shape.rb → basic/draw_shape.rb} +70 -70
- data/samples/basic/draw_text.rb +55 -0
- data/samples/basic/image_click.rb +33 -0
- data/samples/basic/image_rotate.rb +42 -0
- data/samples/{nyle_rpg.rb → basic/image_rpg.rb} +15 -15
- data/samples/basic/keyboard.rb +84 -0
- data/samples/{nyle_walk_notrace.rb → basic/random_walk.rb} +3 -3
- data/samples/{nyle_walk_trace.rb → basic/random_walk_trace.rb} +3 -3
- data/samples/image/n_c_mogura.png +0 -0
- data/samples/launcher.rb +125 -0
- data/samples/tips/.gitkeep +0 -0
- data/samples/tutorial/img.jpg +0 -0
- data/samples/tutorial/tut_a10.rb +10 -0
- data/samples/tutorial/tut_a20.rb +13 -0
- data/samples/tutorial/tut_a30.rb +18 -0
- data/samples/tutorial/tut_a40.rb +19 -0
- data/samples/tutorial/tut_a45.rb +21 -0
- data/samples/tutorial/tut_a50.rb +25 -0
- data/samples/tutorial/tut_a60.rb +30 -0
- data/samples/tutorial/tut_a70.rb +34 -0
- data/samples/tutorial/tut_b10.rb +14 -0
- data/samples/tutorial/tut_b20.rb +14 -0
- data/samples/tutorial/tut_b30.rb +14 -0
- data/samples/tutorial/tut_b40.rb +18 -0
- metadata +42 -23
- data/doc/Nyle_reference.pdf +0 -0
- data/samples/image/n_b_river.gif +0 -0
- data/samples/nyle_basics.rb +0 -69
- data/samples/nyle_basics2.rb +0 -70
- data/samples/nyle_click.rb +0 -34
- data/samples/nyle_colors.rb +0 -315
- data/samples/readme_samples.txt +0 -36
@@ -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.
|
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:
|
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
|
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
|
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/
|
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/
|
110
|
-
- samples/
|
111
|
-
- samples/
|
112
|
-
- samples/
|
113
|
-
- samples/
|
114
|
-
- samples/
|
115
|
-
- samples/
|
116
|
-
- samples/
|
117
|
-
- samples/
|
118
|
-
- samples/
|
119
|
-
- samples/
|
120
|
-
- samples/
|
121
|
-
- samples/
|
122
|
-
- samples/
|
123
|
-
- samples/
|
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
|
168
|
+
summary: minimal graphics framework using Ruby/GTK3 and rcairo
|
150
169
|
test_files: []
|
data/doc/Nyle_reference.pdf
DELETED
Binary file
|
data/samples/image/n_b_river.gif
DELETED
Binary file
|
data/samples/nyle_basics.rb
DELETED
@@ -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
|
-
|
data/samples/nyle_basics2.rb
DELETED
@@ -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
|
-
|
data/samples/nyle_click.rb
DELETED
@@ -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
|
-
|
data/samples/nyle_colors.rb
DELETED
@@ -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
|
-
|