# File tk/lib/tk/canvastag.rb, line 337
def self.new(parent, name, mode=nil, *args)
obj = nil
CTagID_TBL.mutex.synchronize{
if CTagID_TBL[parent.path] && CTagID_TBL[parent.path][name]
obj = CTagID_TBL[parent.path][name]
else
# super(parent, name, *args)
(obj = self.allocate).instance_eval{
@c = parent
@cpath = parent.path
@path = @id = name
CTagID_TBL[@cpath] = {} unless CTagID_TBL[@cpath]
CTagID_TBL[@cpath][@id] = self
}
end
}
if obj && mode
tk_call_without_enc(@c.path, "addtag", @id, mode, *args)
end
obj
end
# File tk/lib/tk/canvastag.rb, line 359
def initialize(parent, name, mode=nil, *args)
# dummy:: not called by 'new' method
#unless parent.kind_of?(TkCanvas)
# fail ArgumentError, "expect TkCanvas for 1st argument"
#end
@c = parent
@cpath = parent.path
@path = @id = name
if mode
tk_call_without_enc(@c.path, "addtag", @id, mode, *args)
end
end