Sha256: 8e96c85f31558b81f9800659b745ac6974dae5bad6397bdcf542a8b518b86ff7

Contents?: true

Size: 594 Bytes

Versions: 2

Compression:

Stored size: 594 Bytes

Contents

require_relative '../command_handler'
require_relative 'models/r_color'

class ColorCommandHandler
  include CommandHandler

  include_package 'org.eclipse.swt.widgets'

  def can_handle?(parent, command_symbol, *args, &block)
      ['rgba', 'rgb'].include?(command_symbol.to_s) and
      (3..5).include?(args.count)
  end

  def do_handle(parent, command_symbol, *args, &block)
    if args.first.is_a?(Display)
      display = args.delete_at(0)
    elsif parent.is_a?(RWidget)
      display = parent.widget.display
    else
      display = nil
    end
    RColor.new(display, *args)
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
glimmer-0.3.5 lib/command_handlers/color_command_handler.rb
glimmer-0.3.4 lib/command_handlers/color_command_handler.rb