rubygame 2.3.0-x86-mswin32-60

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. data/CREDITS +60 -0
  2. data/LICENSE +504 -0
  3. data/NEWS +252 -0
  4. data/README +123 -0
  5. data/ROADMAP +109 -0
  6. data/Rakefile +440 -0
  7. data/doc/extended_readme.rdoc +49 -0
  8. data/doc/getting_started.rdoc +47 -0
  9. data/doc/macosx_install.rdoc +70 -0
  10. data/doc/windows_install.rdoc +123 -0
  11. data/ext/rubygame/rubygame_core.so +0 -0
  12. data/ext/rubygame/rubygame_event.c +644 -0
  13. data/ext/rubygame/rubygame_event.h +48 -0
  14. data/ext/rubygame/rubygame_event.obj +0 -0
  15. data/ext/rubygame/rubygame_gfx.c +942 -0
  16. data/ext/rubygame/rubygame_gfx.h +101 -0
  17. data/ext/rubygame/rubygame_gfx.obj +0 -0
  18. data/ext/rubygame/rubygame_gfx.so +0 -0
  19. data/ext/rubygame/rubygame_gl.c +154 -0
  20. data/ext/rubygame/rubygame_gl.h +32 -0
  21. data/ext/rubygame/rubygame_gl.obj +0 -0
  22. data/ext/rubygame/rubygame_image.c +252 -0
  23. data/ext/rubygame/rubygame_image.h +41 -0
  24. data/ext/rubygame/rubygame_image.obj +0 -0
  25. data/ext/rubygame/rubygame_image.so +0 -0
  26. data/ext/rubygame/rubygame_joystick.c +247 -0
  27. data/ext/rubygame/rubygame_joystick.h +41 -0
  28. data/ext/rubygame/rubygame_joystick.obj +0 -0
  29. data/ext/rubygame/rubygame_main.c +155 -0
  30. data/ext/rubygame/rubygame_main.h +36 -0
  31. data/ext/rubygame/rubygame_main.obj +0 -0
  32. data/ext/rubygame/rubygame_mixer.c +1024 -0
  33. data/ext/rubygame/rubygame_mixer.h +36 -0
  34. data/ext/rubygame/rubygame_mixer.obj +0 -0
  35. data/ext/rubygame/rubygame_mixer.so +0 -0
  36. data/ext/rubygame/rubygame_music.c +1017 -0
  37. data/ext/rubygame/rubygame_music.h +29 -0
  38. data/ext/rubygame/rubygame_music.obj +0 -0
  39. data/ext/rubygame/rubygame_screen.c +448 -0
  40. data/ext/rubygame/rubygame_screen.h +43 -0
  41. data/ext/rubygame/rubygame_screen.obj +0 -0
  42. data/ext/rubygame/rubygame_shared.c +272 -0
  43. data/ext/rubygame/rubygame_shared.h +68 -0
  44. data/ext/rubygame/rubygame_shared.obj +0 -0
  45. data/ext/rubygame/rubygame_sound.c +863 -0
  46. data/ext/rubygame/rubygame_sound.h +29 -0
  47. data/ext/rubygame/rubygame_sound.obj +0 -0
  48. data/ext/rubygame/rubygame_surface.c +1151 -0
  49. data/ext/rubygame/rubygame_surface.h +62 -0
  50. data/ext/rubygame/rubygame_surface.obj +0 -0
  51. data/ext/rubygame/rubygame_time.c +183 -0
  52. data/ext/rubygame/rubygame_time.h +32 -0
  53. data/ext/rubygame/rubygame_time.obj +0 -0
  54. data/ext/rubygame/rubygame_ttf.c +599 -0
  55. data/ext/rubygame/rubygame_ttf.h +69 -0
  56. data/ext/rubygame/rubygame_ttf.obj +0 -0
  57. data/ext/rubygame/rubygame_ttf.so +0 -0
  58. data/lib/rubygame.rb +41 -0
  59. data/lib/rubygame/clock.rb +128 -0
  60. data/lib/rubygame/color.rb +79 -0
  61. data/lib/rubygame/color/models/base.rb +111 -0
  62. data/lib/rubygame/color/models/hsl.rb +153 -0
  63. data/lib/rubygame/color/models/hsv.rb +149 -0
  64. data/lib/rubygame/color/models/rgb.rb +78 -0
  65. data/lib/rubygame/color/palettes/css.rb +49 -0
  66. data/lib/rubygame/color/palettes/palette.rb +100 -0
  67. data/lib/rubygame/color/palettes/x11.rb +177 -0
  68. data/lib/rubygame/constants.rb +238 -0
  69. data/lib/rubygame/event.rb +313 -0
  70. data/lib/rubygame/ftor.rb +370 -0
  71. data/lib/rubygame/hotspot.rb +265 -0
  72. data/lib/rubygame/keyconstants.rb +237 -0
  73. data/lib/rubygame/mediabag.rb +94 -0
  74. data/lib/rubygame/named_resource.rb +254 -0
  75. data/lib/rubygame/queue.rb +288 -0
  76. data/lib/rubygame/rect.rb +612 -0
  77. data/lib/rubygame/sfont.rb +223 -0
  78. data/lib/rubygame/sprite.rb +511 -0
  79. data/samples/FreeSans.ttf +0 -0
  80. data/samples/GPL.txt +340 -0
  81. data/samples/README +40 -0
  82. data/samples/chimp.bmp +0 -0
  83. data/samples/chimp.rb +302 -0
  84. data/samples/demo_gl.rb +151 -0
  85. data/samples/demo_gl_tex.rb +197 -0
  86. data/samples/demo_music.rb +77 -0
  87. data/samples/demo_rubygame.rb +296 -0
  88. data/samples/demo_sfont.rb +52 -0
  89. data/samples/demo_ttf.rb +193 -0
  90. data/samples/demo_utf8.rb +53 -0
  91. data/samples/fist.bmp +0 -0
  92. data/samples/load_and_blit.rb +22 -0
  93. data/samples/panda.png +0 -0
  94. data/samples/punch.wav +0 -0
  95. data/samples/ruby.png +0 -0
  96. data/samples/song.ogg +0 -0
  97. data/samples/term16.png +0 -0
  98. data/samples/whiff.wav +0 -0
  99. metadata +164 -0
@@ -0,0 +1,149 @@
1
+ #--
2
+ # Rubygame -- Ruby code and bindings to SDL to facilitate game creation
3
+ # Copyright (C) 2007 John Croisant
4
+ #
5
+ # This library is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU Lesser General Public
7
+ # License as published by the Free Software Foundation; either
8
+ # version 2.1 of the License, or (at your option) any later version.
9
+ #
10
+ # This library is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # Lesser General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU Lesser General Public
16
+ # License along with this library; if not, write to the Free Software
17
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
+ #++
19
+
20
+ require 'rubygame/color/models/base'
21
+
22
+ module Rubygame
23
+ module Color
24
+
25
+ # Represents color in the HSV (Hue, Saturation, Value) color space.
26
+ class ColorHSV
27
+ include ColorBase
28
+
29
+ attr_reader :h, :s, :v, :a
30
+
31
+ # call-seq:
32
+ # new( [h,s,v,a] ) -> ColorHSV
33
+ # new( [h,s,v] ) -> ColorHSV
34
+ # new( color ) -> ColorHSV
35
+ #
36
+ # Create a new instance from an Array or an existing color
37
+ # (of any type). If the alpha (opacity) component is omitted
38
+ # from the array, full opacity will be used.
39
+ #
40
+ # All color components range from 0.0 to 1.0.
41
+ #
42
+ def initialize( color )
43
+ if color.kind_of?(Array)
44
+ @h, @s, @v, @a = color.collect { |i| i.to_f }
45
+ @a = 1.0 unless @a
46
+ elsif color.respond_to?(:to_rgba_ary)
47
+ @h, @s, @v, @a = self.class.rgba_to_hsva( *color.to_rgba_ary )
48
+ end
49
+ end
50
+
51
+ # Return an Array with the red, green, blue, and alpha components
52
+ # of the color (converting the color to the RGBA model first).
53
+ def to_rgba_ary
54
+ return self.class.hsva_to_rgba( @h, @s, @v, @a )
55
+ end
56
+
57
+ def to_s
58
+ "#<#{self.class} [#{@h}, #{@s}, #{@v}, #{@a}]>"
59
+ end
60
+ alias :inspect :to_s
61
+
62
+ class << self
63
+
64
+ def new_from_rgba( rgba )
65
+ new( rgba_to_hsva(*rgba) )
66
+ end
67
+
68
+ def new_from_sdl_rgba( rgba )
69
+ new_from_rgba( rgba.collect { |i| i / 255.0 } )
70
+ end
71
+
72
+ # Convert the red, green, blue, and alpha to the
73
+ # equivalent hue, saturation, value, and alpha.
74
+ def rgba_to_hsva( r, g, b, a ) # :nodoc:
75
+ rgb_arr = [r, g, b]
76
+ max = rgb_arr.max
77
+ min = rgb_arr.min
78
+
79
+ # Calculate hue.
80
+ if min == max
81
+ h = 0
82
+ # Undefined in this case, but set it to zero
83
+ elsif max == r and g >= b
84
+ h = (1.quo(6) * (g - b) / (max - min)) + 0
85
+ elsif max == r and g < b
86
+ h = (1.quo(6) * (g - b) / (max - min)) + 1.0
87
+ elsif max == g
88
+ h = (1.quo(6) * (b - r) / (max - min)) + 1.quo(3)
89
+ elsif max == b
90
+ h = (1.quo(6) * (r - g) / (max - min)) + 2.quo(3)
91
+ else
92
+ raise "Should never happen"
93
+ end
94
+
95
+ # Calulate value.
96
+ v = max
97
+
98
+ # Calculate saturation.
99
+ if max == 0.0
100
+ s = 0.0
101
+ else
102
+ s = 1.0 - (min / max)
103
+ end
104
+
105
+ return [h,s,v,a]
106
+ end
107
+
108
+ # Convert the hue, saturation, value, and alpha
109
+ # to the equivalent red, green, blue, and alpha.
110
+ def hsva_to_rgba( h, s, v, a ) # :nodoc:
111
+ # Determine what part of the "color hexagon" the hue is in.
112
+ hi = (h * 6).floor % 6
113
+
114
+ # Fractional part
115
+ f = (h * 6) - hi
116
+
117
+ # Helper values
118
+ p = v * (1.0 - s)
119
+ q = v * (1.0 - (f * s))
120
+ t = v * (1.0 - ((1.0 - f) * s))
121
+
122
+ # Finally calculate the rgb values
123
+ r, g, b = calculate_rgb(hi, v, p, t, q)
124
+
125
+ return [r, g, b, a]
126
+ end
127
+
128
+ private
129
+
130
+ def calculate_rgb(hi, v, p, t, q) # :nodoc:
131
+ case hi
132
+ when 0
133
+ return v, t, p
134
+ when 1
135
+ return q, v, p
136
+ when 2
137
+ return p, v, t
138
+ when 3
139
+ return p, q, v
140
+ when 4
141
+ return t, p, v
142
+ when 5
143
+ return v, p, q
144
+ end
145
+ end
146
+ end
147
+ end
148
+ end
149
+ end
@@ -0,0 +1,78 @@
1
+ #--
2
+ # Rubygame -- Ruby code and bindings to SDL to facilitate game creation
3
+ # Copyright (C) 2007 John Croisant
4
+ #
5
+ # This library is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU Lesser General Public
7
+ # License as published by the Free Software Foundation; either
8
+ # version 2.1 of the License, or (at your option) any later version.
9
+ #
10
+ # This library is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # Lesser General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU Lesser General Public
16
+ # License along with this library; if not, write to the Free Software
17
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
+ #++
19
+
20
+ require 'rubygame/color/models/base'
21
+
22
+ module Rubygame
23
+ module Color
24
+
25
+ # Represents color in the RGB (Red, Green, Blue) color space.
26
+ class ColorRGB
27
+ include ColorBase
28
+
29
+ attr_reader :r, :g, :b, :a
30
+
31
+ # call-seq:
32
+ # new( [r,g,b,a] ) -> ColorRGB
33
+ # new( [r,g,b] ) -> ColorRGB
34
+ # new( color ) -> ColorRGB
35
+ #
36
+ # Create a new instance from an Array or an existing color
37
+ # (of any type). If the alpha (opacity) component is omitted
38
+ # from the array, full opacity will be used.
39
+ #
40
+ # All color components range from 0.0 to 1.0.
41
+ #
42
+ def initialize( color )
43
+ if color.kind_of?(Array)
44
+ @r, @g, @b, @a = color.collect { |i| i.to_f }
45
+ @a = 1.0 unless @a
46
+ elsif color.respond_to?(:to_rgba_ary)
47
+ @r, @g, @b, @a = color.to_rgba_ary
48
+ end
49
+ end
50
+
51
+ # Converts the color to an RGBA array of integers
52
+ # ranging from 0 to 255, as SDL wants.
53
+ def to_sdl_rgba_ary
54
+ self.to_rgba_ary.collect { |i| (i * 255).to_i }
55
+ end
56
+
57
+ def to_rgba_ary
58
+ return [@r, @g, @b, @a]
59
+ end
60
+
61
+ def to_s
62
+ "#<#{self.class} [#{@r}, #{@g}, #{@b}, #{@a}]>"
63
+ end
64
+ alias :inspect :to_s
65
+
66
+ class << self
67
+ def new_from_rgba( rgba )
68
+ new( rgba )
69
+ end
70
+
71
+ def new_from_sdl_rgba( rgba )
72
+ new_from_rgba( rgba.collect { |i| i / 255.0 } )
73
+ end
74
+ end
75
+
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,49 @@
1
+ #--
2
+ # Rubygame -- Ruby code and bindings to SDL to facilitate game creation
3
+ # Copyright (C) 2007 John Croisant
4
+ #
5
+ # This library is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU Lesser General Public
7
+ # License as published by the Free Software Foundation; either
8
+ # version 2.1 of the License, or (at your option) any later version.
9
+ #
10
+ # This library is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # Lesser General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU Lesser General Public
16
+ # License along with this library; if not, write to the Free Software
17
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
+ #++
19
+
20
+ require 'rubygame/color'
21
+ require 'rubygame/color/palettes/palette'
22
+ require 'rubygame/color/palettes/x11'
23
+
24
+ module Rubygame
25
+ module Color
26
+
27
+ # :enddoc:
28
+
29
+ # The CSS module contains all the colors in the CSS/HTML palette
30
+ # by symbol name, e.g. :alice_blue, :dark_olive_green, etc.
31
+ #
32
+ # NOTE: The CSS palette is identical to the X11 palette except for
33
+ # four colors: gray, green, maroon, and purple.
34
+ #
35
+ # Differences between CSS and X11 derived from
36
+ # http://en.wikipedia.org/wiki/X11_color_names
37
+ # as accessed on 2007-12-17
38
+ #
39
+ CSS = Palette.new({
40
+ :gray => ColorRGB.new( [0.50196, 0.50196, 0.50196] ),
41
+ :green => ColorRGB.new( [0.00000, 0.50196, 0.00000] ),
42
+ :maroon => ColorRGB.new( [0.50196, 0.00000, 0.00000] ),
43
+ :purple => ColorRGB.new( [0.50196, 0.00000, 0.50196] )
44
+ })
45
+
46
+ CSS.include X11
47
+
48
+ end
49
+ end
@@ -0,0 +1,100 @@
1
+ #--
2
+ # Rubygame -- Ruby code and bindings to SDL to facilitate game creation
3
+ # Copyright (C) 2007 John Croisant
4
+ #
5
+ # This library is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU Lesser General Public
7
+ # License as published by the Free Software Foundation; either
8
+ # version 2.1 of the License, or (at your option) any later version.
9
+ #
10
+ # This library is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # Lesser General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU Lesser General Public
16
+ # License along with this library; if not, write to the Free Software
17
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
+ #++
19
+
20
+ class Rubygame::Color::Palette
21
+
22
+ # Create a new Palette with the given name => color pairs.
23
+ def initialize( colors = {} )
24
+ @includes = []
25
+
26
+ @colors = {}
27
+ colors.each_pair do |name, color|
28
+ @colors[sanitize_name(name)] = color
29
+ end
30
+ end
31
+
32
+ # Retrieve a color by name from this palette.
33
+ #
34
+ # The name can be a Symbol or String. See #sanitize_name.
35
+ #
36
+ # If the color cannot be found in this palette, search
37
+ # each of the #included palettes (recursively, depth-first,
38
+ # to a maximum depth of 5 levels).
39
+ #
40
+ # If the color is not found in this palette or any included
41
+ # palettes, raise IndexError.
42
+ #
43
+ def []( name )
44
+ c = lookup( sanitize_name( name ) )
45
+ raise IndexError, "unknown color #{name}" unless c
46
+ return c
47
+ end
48
+
49
+ # Store a color by name in this palette. See #sanitize_name
50
+ def []=( name, color )
51
+ name = sanitize_name( name )
52
+ @colors[name] = color
53
+ end
54
+
55
+ # Include another palette in this one. If a color cannot be
56
+ # found in this palette, the included palette(s) will be searched.
57
+ # See also #uninclude.
58
+ #
59
+ # Has no effect if the palette is already included.
60
+ def include( palette )
61
+ @includes += [palette] unless @includes.include? palette
62
+ end
63
+
64
+ # Remove the other palette from this one, so that it won't be
65
+ # searched for missing colors anymore. Has no effect if the
66
+ # other palette hasn't been #included.
67
+ def uninclude( palette )
68
+ @includes -= [palette]
69
+ end
70
+
71
+ protected
72
+
73
+ # Recursive color lookup
74
+ def lookup( name, max_depth=5 ) # :nodoc:
75
+ return nil if max_depth < 0
76
+
77
+ color = @colors[name]
78
+
79
+ unless color
80
+ @includes.each { |palette|
81
+ c = palette.lookup(name, max_depth-1)
82
+ color = c if c
83
+ }
84
+ end
85
+
86
+ return color
87
+ end
88
+
89
+ private
90
+
91
+ # Takes either a Symbol or a String, and converts it to a
92
+ # lowercase Symbol with spaces converted to underscores.
93
+ #
94
+ # E.g. "Alice Blue" and :ALICE_BLUE both become :alice_blue.
95
+ #
96
+ def sanitize_name( name )
97
+ name.to_s.gsub(' ','_').downcase.intern
98
+ end
99
+
100
+ end
@@ -0,0 +1,177 @@
1
+ #--
2
+ # Rubygame -- Ruby code and bindings to SDL to facilitate game creation
3
+ # Copyright (C) 2007 John Croisant
4
+ #
5
+ # This library is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU Lesser General Public
7
+ # License as published by the Free Software Foundation; either
8
+ # version 2.1 of the License, or (at your option) any later version.
9
+ #
10
+ # This library is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # Lesser General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU Lesser General Public
16
+ # License along with this library; if not, write to the Free Software
17
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
+ #++
19
+
20
+ require 'rubygame/color'
21
+ require 'rubygame/color/palettes/palette'
22
+
23
+ module Rubygame
24
+ module Color
25
+
26
+ # :enddoc:
27
+
28
+ # The X11 module contains all the colors in the X11 palette
29
+ # by symbol name, e.g. :alice_blue, :dark_olive_green, etc.
30
+ #
31
+ # The list of colors is derived from
32
+ # http://en.wikipedia.org/wiki/X11_color_names
33
+ # as accessed on 2007-12-17.
34
+ X11 = Palette.new({
35
+ :alice_blue => ColorRGB.new( [0.94117, 0.97254, 1.00000] ),
36
+ :antique_white => ColorRGB.new( [0.98039, 0.92156, 0.84313] ),
37
+ :aqua => ColorRGB.new( [0.00000, 1.00000, 1.00000] ),
38
+ :aquamarine => ColorRGB.new( [0.49803, 1.00000, 0.83137] ),
39
+ :azure => ColorRGB.new( [0.94117, 1.00000, 1.00000] ),
40
+ :beige => ColorRGB.new( [0.96078, 0.96078, 0.86274] ),
41
+ :bisque => ColorRGB.new( [1.00000, 0.89411, 0.76862] ),
42
+ :black => ColorRGB.new( [0.00000, 0.00000, 0.00000] ),
43
+ :blanched_almond => ColorRGB.new( [1.00000, 0.92156, 0.80392] ),
44
+ :blue => ColorRGB.new( [0.00000, 0.00000, 1.00000] ),
45
+ :blue_violet => ColorRGB.new( [0.54117, 0.16862, 0.88627] ),
46
+ :brown => ColorRGB.new( [0.64705, 0.16470, 0.16470] ),
47
+ :burly_wood => ColorRGB.new( [0.87058, 0.72156, 0.52941] ),
48
+ :cadet_blue => ColorRGB.new( [0.37254, 0.61960, 0.62745] ),
49
+ :chartreuse => ColorRGB.new( [0.49803, 1.00000, 0.00000] ),
50
+ :chocolate => ColorRGB.new( [0.82352, 0.41176, 0.11764] ),
51
+ :coral => ColorRGB.new( [1.00000, 0.49803, 0.31372] ),
52
+ :cornflower_blue => ColorRGB.new( [0.39215, 0.58431, 0.92941] ),
53
+ :cornsilk => ColorRGB.new( [1.00000, 0.97254, 0.86274] ),
54
+ :crimson => ColorRGB.new( [0.86274, 0.07843, 0.23529] ),
55
+ :cyan => ColorRGB.new( [0.00000, 1.00000, 1.00000] ),
56
+ :dark_blue => ColorRGB.new( [0.00000, 0.00000, 0.54509] ),
57
+ :dark_cyan => ColorRGB.new( [0.00000, 0.54509, 0.54509] ),
58
+ :dark_goldenrod => ColorRGB.new( [0.72156, 0.52549, 0.04313] ),
59
+ :dark_gray => ColorRGB.new( [0.66274, 0.66274, 0.66274] ),
60
+ :dark_green => ColorRGB.new( [0.00000, 0.39215, 0.00000] ),
61
+ :dark_khaki => ColorRGB.new( [0.74117, 0.71764, 0.41960] ),
62
+ :dark_magenta => ColorRGB.new( [0.54509, 0.00000, 0.54509] ),
63
+ :dark_olive_green => ColorRGB.new( [0.33333, 0.41960, 0.18431] ),
64
+ :dark_orange => ColorRGB.new( [1.00000, 0.54901, 0.00000] ),
65
+ :dark_orchid => ColorRGB.new( [0.60000, 0.19607, 0.80000] ),
66
+ :dark_red => ColorRGB.new( [0.54509, 0.00000, 0.00000] ),
67
+ :dark_salmon => ColorRGB.new( [0.91372, 0.58823, 0.47843] ),
68
+ :dark_sea_green => ColorRGB.new( [0.56078, 0.73725, 0.56078] ),
69
+ :dark_slate_blue => ColorRGB.new( [0.28235, 0.23921, 0.54509] ),
70
+ :dark_slate_gray => ColorRGB.new( [0.18431, 0.30980, 0.30980] ),
71
+ :dark_turquoise => ColorRGB.new( [0.00000, 0.80784, 0.81960] ),
72
+ :dark_violet => ColorRGB.new( [0.58039, 0.00000, 0.82745] ),
73
+ :deep_pink => ColorRGB.new( [1.00000, 0.07843, 0.57647] ),
74
+ :deep_sky_blue => ColorRGB.new( [0.00000, 0.74901, 1.00000] ),
75
+ :dim_gray => ColorRGB.new( [0.41176, 0.41176, 0.41176] ),
76
+ :dodger_blue => ColorRGB.new( [0.11764, 0.56470, 1.00000] ),
77
+ :fire_brick => ColorRGB.new( [0.69803, 0.13333, 0.13333] ),
78
+ :floral_white => ColorRGB.new( [1.00000, 0.98039, 0.94117] ),
79
+ :forest_green => ColorRGB.new( [0.13333, 0.54509, 0.13333] ),
80
+ :fuchsia => ColorRGB.new( [1.00000, 0.00000, 1.00000] ),
81
+ :gainsboro => ColorRGB.new( [0.86274, 0.86274, 0.86274] ),
82
+ :ghost_white => ColorRGB.new( [0.97254, 0.97254, 1.00000] ),
83
+ :gold => ColorRGB.new( [1.00000, 0.84313, 0.00000] ),
84
+ :goldenrod => ColorRGB.new( [0.85490, 0.64705, 0.12549] ),
85
+ :gray => ColorRGB.new( [0.50196, 0.50196, 0.50196] ),
86
+ :green => ColorRGB.new( [0.00000, 0.50196, 0.00000] ),
87
+ :green_yellow => ColorRGB.new( [0.67843, 1.00000, 0.18431] ),
88
+ :honeydew => ColorRGB.new( [0.94117, 1.00000, 0.94117] ),
89
+ :hot_pink => ColorRGB.new( [1.00000, 0.41176, 0.70588] ),
90
+ :indian_red => ColorRGB.new( [0.80392, 0.36078, 0.36078] ),
91
+ :indigo => ColorRGB.new( [0.29411, 0.00000, 0.50980] ),
92
+ :ivory => ColorRGB.new( [1.00000, 1.00000, 0.94117] ),
93
+ :khaki => ColorRGB.new( [0.94117, 0.90196, 0.54901] ),
94
+ :lavender => ColorRGB.new( [0.90196, 0.90196, 0.98039] ),
95
+ :lavender_blush => ColorRGB.new( [1.00000, 0.94117, 0.96078] ),
96
+ :lawn_green => ColorRGB.new( [0.48627, 0.98823, 0.00000] ),
97
+ :lemon_chiffon => ColorRGB.new( [1.00000, 0.98039, 0.80392] ),
98
+ :light_blue => ColorRGB.new( [0.67843, 0.84705, 0.90196] ),
99
+ :light_coral => ColorRGB.new( [0.94117, 0.50196, 0.50196] ),
100
+ :light_cyan => ColorRGB.new( [0.87843, 1.00000, 1.00000] ),
101
+ :light_goldenrod_yellow => ColorRGB.new( [0.98039, 0.98039, 0.82352] ),
102
+ :light_green => ColorRGB.new( [0.56470, 0.93333, 0.56470] ),
103
+ :light_grey => ColorRGB.new( [0.82745, 0.82745, 0.82745] ),
104
+ :light_pink => ColorRGB.new( [1.00000, 0.71372, 0.75686] ),
105
+ :light_salmon => ColorRGB.new( [1.00000, 0.62745, 0.47843] ),
106
+ :light_sea_green => ColorRGB.new( [0.12549, 0.69803, 0.66666] ),
107
+ :light_sky_blue => ColorRGB.new( [0.52941, 0.80784, 0.98039] ),
108
+ :light_slate_gray => ColorRGB.new( [0.46666, 0.53333, 0.60000] ),
109
+ :light_steel_blue => ColorRGB.new( [0.69019, 0.76862, 0.87058] ),
110
+ :light_yellow => ColorRGB.new( [1.00000, 1.00000, 0.87843] ),
111
+ :lime => ColorRGB.new( [0.00000, 1.00000, 0.00000] ),
112
+ :lime_green => ColorRGB.new( [0.19607, 0.80392, 0.19607] ),
113
+ :linen => ColorRGB.new( [0.98039, 0.94117, 0.90196] ),
114
+ :magenta => ColorRGB.new( [1.00000, 0.00000, 1.00000] ),
115
+ :maroon => ColorRGB.new( [0.50196, 0.00000, 0.00000] ),
116
+ :medium_aquamarine => ColorRGB.new( [0.40000, 0.80392, 0.66666] ),
117
+ :medium_blue => ColorRGB.new( [0.00000, 0.00000, 0.80392] ),
118
+ :medium_orchid => ColorRGB.new( [0.72941, 0.33333, 0.82745] ),
119
+ :medium_purple => ColorRGB.new( [0.57647, 0.43921, 0.85882] ),
120
+ :medium_sea_green => ColorRGB.new( [0.23529, 0.70196, 0.44313] ),
121
+ :medium_slate_blue => ColorRGB.new( [0.48235, 0.40784, 0.93333] ),
122
+ :medium_spring_green => ColorRGB.new( [0.00000, 0.98039, 0.60392] ),
123
+ :medium_turquoise => ColorRGB.new( [0.28235, 0.81960, 0.80000] ),
124
+ :medium_violet_red => ColorRGB.new( [0.78039, 0.08235, 0.52156] ),
125
+ :midnight_blue => ColorRGB.new( [0.09803, 0.09803, 0.43921] ),
126
+ :mint_cream => ColorRGB.new( [0.96078, 1.00000, 0.98039] ),
127
+ :misty_rose => ColorRGB.new( [1.00000, 0.89411, 0.88235] ),
128
+ :moccasin => ColorRGB.new( [1.00000, 0.89411, 0.70980] ),
129
+ :navajo_white => ColorRGB.new( [1.00000, 0.87058, 0.67843] ),
130
+ :navy => ColorRGB.new( [0.00000, 0.00000, 0.50196] ),
131
+ :old_lace => ColorRGB.new( [0.99215, 0.96078, 0.90196] ),
132
+ :olive => ColorRGB.new( [0.50196, 0.50196, 0.00000] ),
133
+ :olive_drab => ColorRGB.new( [0.41960, 0.55686, 0.13725] ),
134
+ :orange => ColorRGB.new( [1.00000, 0.64705, 0.00000] ),
135
+ :orange_red => ColorRGB.new( [1.00000, 0.27058, 0.00000] ),
136
+ :orchid => ColorRGB.new( [0.85490, 0.43921, 0.83921] ),
137
+ :pale_goldenrod => ColorRGB.new( [0.93333, 0.90980, 0.66666] ),
138
+ :pale_green => ColorRGB.new( [0.59607, 0.98431, 0.59607] ),
139
+ :pale_turquoise => ColorRGB.new( [0.68627, 0.93333, 0.93333] ),
140
+ :pale_violet_red => ColorRGB.new( [0.85882, 0.43921, 0.57647] ),
141
+ :papaya_whip => ColorRGB.new( [1.00000, 0.93725, 0.83529] ),
142
+ :peach_puff => ColorRGB.new( [1.00000, 0.85490, 0.72549] ),
143
+ :peru => ColorRGB.new( [0.80392, 0.52156, 0.24705] ),
144
+ :pink => ColorRGB.new( [1.00000, 0.75294, 0.79607] ),
145
+ :plum => ColorRGB.new( [0.86666, 0.62745, 0.86666] ),
146
+ :powder_blue => ColorRGB.new( [0.69019, 0.87843, 0.90196] ),
147
+ :purple => ColorRGB.new( [0.50196, 0.00000, 0.50196] ),
148
+ :red => ColorRGB.new( [1.00000, 0.00000, 0.00000] ),
149
+ :rosy_brown => ColorRGB.new( [0.73725, 0.56078, 0.56078] ),
150
+ :royal_blue => ColorRGB.new( [0.25490, 0.41176, 0.88235] ),
151
+ :saddle_brown => ColorRGB.new( [0.54509, 0.27058, 0.07450] ),
152
+ :salmon => ColorRGB.new( [0.98039, 0.50196, 0.44705] ),
153
+ :sandy_brown => ColorRGB.new( [0.95686, 0.64313, 0.37647] ),
154
+ :sea_green => ColorRGB.new( [0.18039, 0.54509, 0.34117] ),
155
+ :seashell => ColorRGB.new( [1.00000, 0.96078, 0.93333] ),
156
+ :sienna => ColorRGB.new( [0.62745, 0.32156, 0.17647] ),
157
+ :silver => ColorRGB.new( [0.75294, 0.75294, 0.75294] ),
158
+ :sky_blue => ColorRGB.new( [0.52941, 0.80784, 0.92156] ),
159
+ :slate_blue => ColorRGB.new( [0.41568, 0.35294, 0.80392] ),
160
+ :slate_gray => ColorRGB.new( [0.43921, 0.50196, 0.56470] ),
161
+ :snow => ColorRGB.new( [1.00000, 0.98039, 0.98039] ),
162
+ :spring_green => ColorRGB.new( [0.00000, 1.00000, 0.49803] ),
163
+ :steel_blue => ColorRGB.new( [0.27450, 0.50980, 0.70588] ),
164
+ :tan => ColorRGB.new( [0.82352, 0.70588, 0.54901] ),
165
+ :teal => ColorRGB.new( [0.00000, 0.50196, 0.50196] ),
166
+ :thistle => ColorRGB.new( [0.84705, 0.74901, 0.84705] ),
167
+ :tomato => ColorRGB.new( [1.00000, 0.38823, 0.27843] ),
168
+ :turquoise => ColorRGB.new( [0.25098, 0.87843, 0.81568] ),
169
+ :violet => ColorRGB.new( [0.93333, 0.50980, 0.93333] ),
170
+ :wheat => ColorRGB.new( [0.96078, 0.87058, 0.70196] ),
171
+ :white => ColorRGB.new( [1.00000, 1.00000, 1.00000] ),
172
+ :white_smoke => ColorRGB.new( [0.96078, 0.96078, 0.96078] ),
173
+ :yellow => ColorRGB.new( [1.00000, 1.00000, 0.00000] ),
174
+ :yellow_green => ColorRGB.new( [0.60392, 0.80392, 0.19607] )
175
+ })
176
+ end
177
+ end