Methods
Included Modules
Constants
TkCommandNames | = | ['image'.freeze].freeze |
Tk_IMGTBL | = | TkCore::INTERP.create_table |
Tk_Image_ID | = | ['i'.freeze, TkUtil.untrust('00000')]).instance_eval{ @mutex = Mutex.new |
Class Public methods
names()
Link
new(keys=nil)
Link
# File ext/tk/lib/tk/image.rb, line 24 def self.new(keys=nil) if keys.kind_of?(Hash) name = nil if keys.key?(:imagename) name = keys[:imagename] elsif keys.key?('imagename') name = keys['imagename'] end if name if name.kind_of?(TkImage) obj = name else name = _get_eval_string(name) obj = nil Tk_IMGTBL.mutex.synchronize{ obj = Tk_IMGTBL[name] } end if obj if !(keys[:without_creating] || keys['without_creating']) keys = _symbolkey2str(keys) keys.delete('imagename') keys.delete('without_creating') obj.instance_eval{ tk_call_without_enc('image', 'create', @type, @path, *hash_kv(keys, true)) } end return obj end end end (obj = self.allocate).instance_eval{ Tk_IMGTBL.mutex.synchronize{ initialize(keys) Tk_IMGTBL[@path] = self } } obj end
new(keys=nil)
Link
# File ext/tk/lib/tk/image.rb, line 65 def initialize(keys=nil) @path = nil without_creating = false if keys.kind_of?(Hash) keys = _symbolkey2str(keys) @path = keys.delete('imagename') without_creating = keys.delete('without_creating') end unless @path Tk_Image_ID.mutex.synchronize{ @path = Tk_Image_ID.join(TkCore::INTERP._ip_id_) Tk_Image_ID[1].succ! } end unless without_creating tk_call_without_enc('image', 'create', @type, @path, *hash_kv(keys, true)) end end
types()
Link
Instance Public methods
delete()
Link
height()
Link
inuse()
Link
itemtype()
Link