class Color

Attributes

gosu_color[RW]

Public Class Methods

_load(s) click to toggle source
# File lib/rgss3/color.rb, line 118
def self._load(s)
  new(*s.unpack('d4'))
end
from_gosu(gosu_color) click to toggle source
# File lib/rgss3/color.rb, line 159
def self.from_gosu(gosu_color)
  color = allocate
  color.gosu_color = gosu_color
  color
end
from_pixel(pixel) click to toggle source
# File lib/rgss3/color.rb, line 137
def self.from_pixel(pixel)
  new(*rgba_from_pixel(pixel))
end
new(*args) click to toggle source
# File lib/rgss3/color.rb, line 6
def initialize(*args)
  case args.size
  when 0
    empty
  when 3, 4
    set(*args)
  else
    raise ArgumentError
  end
end
rgba_from_int(rgba) click to toggle source
# File lib/rgss3/color.rb, line 152
def self.rgba_from_int(rgba)
  (0...4).each_with_object(Array.new(4)) do |i, result|
    result[3 - i] = rgba & 0xff
    rgba >>= 8
  end
end
rgba_from_pixel(pixel) click to toggle source
# File lib/rgss3/color.rb, line 141
def self.rgba_from_pixel(pixel)
  # "#RRGGBBAA"
  rgba_hex = pixel.to_color(Magick::AllCompliance, true, 8, true)
  rgba = rgba_hex[1, 8].to_i(16)
  rgba_from_int(rgba)
end
try_convert(color) click to toggle source
# File lib/rgss3/color.rb, line 122
def self.try_convert(color)
  case color
  when Color
    color
  when String
    from_pixel Magick::Pixel.from_color(color)
  when Integer
    from_int(color)
  when Magick::Pixel
    from_pixel(color)
  when Gosu::Color
    from_gosu(color)
  end
end

Public Instance Methods

_dump(d = 0) click to toggle source
# File lib/rgss3/color.rb, line 114
def _dump(d = 0)
  [red, green, blue, alpha].pack('d4')
end
alpha() click to toggle source
# File lib/rgss3/color.rb, line 46
def alpha
  @gosu_color.alpha.to_f
end
alpha=(value) click to toggle source
# File lib/rgss3/color.rb, line 82
def alpha=(value)
  @gosu_color.alpha = value
end
alpha_i() click to toggle source
# File lib/rgss3/color.rb, line 62
def alpha_i
  @gosu_color.alpha
end
blue() click to toggle source
# File lib/rgss3/color.rb, line 38
def blue
  @gosu_color.blue.to_f
end
blue=(value) click to toggle source
# File lib/rgss3/color.rb, line 74
def blue=(value)
  @gosu_color.blue = value
end
blue_i() click to toggle source
# File lib/rgss3/color.rb, line 54
def blue_i
  @gosu_color.blue
end
empty() click to toggle source
# File lib/rgss3/color.rb, line 66
def empty
  @gosu_color = Gosu::Color::NONE
end
from_int(rgba) click to toggle source
# File lib/rgss3/color.rb, line 148
def from_int(rgba)
  new(*rgba_from_int(rgba))
end
green() click to toggle source
# File lib/rgss3/color.rb, line 42
def green
  @gosu_color.green.to_f
end
green=(value) click to toggle source
# File lib/rgss3/color.rb, line 78
def green=(value)
  @gosu_color.green = value
end
green_i() click to toggle source
# File lib/rgss3/color.rb, line 58
def green_i
  @gosu_color.green
end
inspect()
Alias for: to_s
red() click to toggle source
# File lib/rgss3/color.rb, line 34
def red
  @gosu_color.red.to_f
end
red=(value) click to toggle source
# File lib/rgss3/color.rb, line 70
def red=(value)
  @gosu_color.red = value
end
red_i() click to toggle source
# File lib/rgss3/color.rb, line 50
def red_i
  @gosu_color.red
end
rgba()
Alias for: to_a
set(*args) click to toggle source
# File lib/rgss3/color.rb, line 17
def set(*args)
  case args.size
  when 1
    if args[0].is_a?(Color)
      @gosu_color = args[0].to_gosu
    else
      raise ArgumentError
    end
  when 3
    @gosu_color = Gosu::Color.rgba(*args.map(&:round), 255)
  when 4
    @gosu_color = Gosu::Color.rgba(*args.map(&:round))
  else
    raise ArgumentError
  end
end
to_a() click to toggle source
# File lib/rgss3/color.rb, line 86
def to_a
  [red_i, green_i, blue_i, alpha_i]
end
Also aliased as: rgba
to_fa() click to toggle source
# File lib/rgss3/color.rb, line 98
def to_fa
  [red, green, blue, alpha]
end
to_gosu() click to toggle source
# File lib/rgss3/color.rb, line 102
def to_gosu
  @gosu_color.dup
end
to_pixel() click to toggle source
# File lib/rgss3/color.rb, line 106
def to_pixel
  Magick::Pixel.from_color(to_rmagick_color)
end
to_rmagick_color() click to toggle source
# File lib/rgss3/color.rb, line 110
def to_rmagick_color
  "rgba(#{red_i},#{green_i},#{blue_i},#{alpha_i})"
end
to_s() click to toggle source
# File lib/rgss3/color.rb, line 92
def to_s
  format '(%.6f, %.6f, %.6f, %.6f)', red, green, blue, alpha
end
Also aliased as: inspect