Class: TkImage (Ruby 2.3.4)

In Files

  • tk/lib/tk/image.rb
  • tk/lib/tk/textimage.rb
  • tk/lib/tkextlib/treectrl/tktreectrl.rb

Class/Module Index [+]

Quicksearch

TkImage

Public Class Methods

names()
 
               # File tk/lib/tk/image.rb, line 106
def TkImage.names
  Tk_IMGTBL.mutex.synchronize{
    Tk.tk_call_without_enc('image', 'names').split.collect!{|id|
      (Tk_IMGTBL[id])? Tk_IMGTBL[id] : id
    }
  }
end
            
new(keys=nil)
 
               # File tk/lib/tk/image.rb, line 25
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)
 
               # File tk/lib/tk/image.rb, line 66
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()
 
               # File tk/lib/tk/image.rb, line 114
def TkImage.types
  Tk.tk_call_without_enc('image', 'types').split
end
            

Public Instance Methods

delete()
 
               # File tk/lib/tk/image.rb, line 86
def delete
  Tk_IMGTBL.mutex.synchronize{
    Tk_IMGTBL.delete(@id) if @id
  }
  tk_call_without_enc('image', 'delete', @path)
  self
end
            
height()
 
               # File tk/lib/tk/image.rb, line 93
def height
  number(tk_call_without_enc('image', 'height', @path))
end
            
inuse()
 
               # File tk/lib/tk/image.rb, line 96
def inuse
  bool(tk_call_without_enc('image', 'inuse', @path))
end
            
itemtype()
 
               # File tk/lib/tk/image.rb, line 99
def itemtype
  tk_call_without_enc('image', 'type', @path)
end
            
mutex()
 
               # File tk/lib/tk/image.rb, line 17
def mutex; @mutex; end
            
width()
 
               # File tk/lib/tk/image.rb, line 102
def width
  number(tk_call_without_enc('image', 'width', @path))
end