Slide 44
Slide 44 text
class Color <
Struct.new(:r,:g,:b)
!
RED = Color.new(
0xFF, 0x00, 0x00
)
GREEN = Color.new(
0x00, 0xFF, 0x00
)
BLUE = Color.new(
0x00, 0x00, 0xFF
)
CYAN = Color.new(
0x00, 0xFF, 0xFF
)
MAGENTA = Color.new(
0xFF, 0x00, 0xFF
)
YELLOW = Color.new(
0xFF, 0xFF, 0x00
)
!
end
def primary?(color, mode)
case color
when Color::RED,
Color::GREEN,
Color::BLUE
mode == :additive
when Color::CYAN,
Color::MAGENTA,
Color::YELLOW
mode == :subtractive
else
false
end
end
irb> primary? Color::RED, :additive
=> true
irb> primary? Color::RED, :subtractive
=> false
irb> primary? Color::CYAN, :subtractive
=> true
irb> primary? Color.new(0,0,255), :additive
=> true
irb> primary? Color.new(0,127,255), :additive
=> false