# class Tk::Mac::IconBitmap

### Constants

TkCommandNames

### Public Class Methods

new(width, height, keys) click to toggle source

    # File lib/tk/tk_mac.rb, line 99
    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 lib/tk/tk_mac.rb, line 140
    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