# # tk/image.rb : treat Tk image objects # require 'tk' class TkImage e if current_configinfo.has_key?(option.to_s) # error on known option fail e else # unknown option nil end end end end def copy(src, *opts) if opts.size == 0 tk_send('copy', src) elsif opts.size == 1 && opts[0].kind_of?(Hash) tk_send('copy', src, *_photo_hash_kv(opts[0])) else # for backward compatibility args = opts.collect{|term| if term.kind_of?(String) && term.include?(?\s) term.split else term end }.flatten tk_send('copy', src, *args) end self end def data(keys={}) #tk_send('data', *_photo_hash_kv(keys)) tk_split_list(tk_send('data', *_photo_hash_kv(keys))) end def get(x, y) tk_send('get', x, y).split.collect{|n| n.to_i} end def put(data, *opts) if opts == [] tk_send('put', data) elsif opts.size == 1 && opts[0].kind_of?(Hash) tk_send('put', data, *_photo_hash_kv(opts[0])) else # for backward compatibility tk_send('put', data, '-to', *opts) end self end def read(file, *opts) if opts.size == 0 tk_send('read', file) elsif opts.size == 1 && opts[0].kind_of?(Hash) tk_send('read', file, *_photo_hash_kv(opts[0])) else # for backward compatibility args = opts.collect{|term| if term.kind_of?(String) && term.include?(?\s) term.split else term end }.flatten tk_send('read', file, *args) end self end def redither tk_send 'redither' self end def get_transparency(x, y) bool(tk_send('transparency', 'get', x, y)) end def set_transparency(x, y, st) tk_send('transparency', 'set', x, y, st) self end def write(file, *opts) if opts.size == 0 tk_send('write', file) elsif opts.size == 1 && opts[0].kind_of?(Hash) tk_send('write', file, *_photo_hash_kv(opts[0])) else # for backward compatibility args = opts.collect{|term| if term.kind_of?(String) && term.include?(?\s) term.split else term end }.flatten tk_send('write', file, *args) end self end end