class WSLight::Set::GradientSet

Creates a gradient from one color to another

Attributes

color_from[RW]
color_to[RW]

Public Instance Methods

create_frame() click to toggle source
# File lib/ws_light/set/gradient_set.rb, line 18
def create_frame
  set = []
  @length.times do |i|
    set << pixel(i)
  end

  set += set.reverse if type == :double # this should be faster than generating the pixel one after another

  set
end
frame() click to toggle source
# File lib/ws_light/set/gradient_set.rb, line 14
def frame
  @set ||= create_frame
end
init() click to toggle source
# File lib/ws_light/set/gradient_set.rb, line 9
def init
  @color_from = Color.new(0, 0, 0)
  @color_to = Color.new(255, 255, 255)
end
pixel(number) click to toggle source
# File lib/ws_light/set/gradient_set.rb, line 29
def pixel(number)
  number = @full_length - 1 - number if number >= @length
  @color_from.mix(@color_to, number.to_f / (@length - 1))
end