In Files

  • tk/lib/tk/tk_mac.rb

Parent

Methods

Class/Module Index [+]

Quicksearch

Tk::Mac::IconBitmap

Constants

TkCommandNames

Public Class Methods

new(width, height, keys) click to toggle source
 
               # File tk/lib/tk/tk_mac.rb, line 98
def self.new(width, height, keys)
  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('::tk::mac::iconBitmap',
                                @path, width, height, *hash_kv(keys, true))
          }
        end
        return obj
      end
    end
  end
  (obj = self.allocate).instance_eval{
    Tk_IMGTBL.mutex.synchronize{
      initialize(width, height, keys)
      Tk_IMGTBL[@path] = self
    }
  }
  obj
end
            
new(width, height, keys) click to toggle source
 
               # File tk/lib/tk/tk_mac.rb, line 139
def initialize(width, height, keys)
  @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('::tk::mac::iconBitmap',
                        @path, width, height, *hash_kv(keys, true))
  end
end