class Gtk::Image
Public Class Methods
new(options={})
click to toggle source
Creates a Gtk::Image
. The source of the image depends on the options given.
@param Hash{Symbol => Gtk::Stock
, String, Gtk::IconSet
, Gio::Icon,
GdkPixbuf::Pixbuf, GdkPixbuf::PixbufAnimation, Cairo::Surface, Fixnum}
@example Create an empty image.
image = Gtk::Image.new
@example Create an image from a file.
image = Gtk::Image.new :file => 'path/to/the/image.png'
@example Create an image from stock.
image = Gtk::Image.new :stock => Gtk::Stock::OPEN, :size => :dialog
@example Create an image from icon name.
image = Gtk::Image.new :icon_name => 'gtk-open', :size => :dialog
@example Create an image from a Gio::Icon, that itself is loaded from a
file. icon = Gio::Icon.new_for_string 'path/to/the/image.png' image = Gtk::Image.new :icon => icon, :size => :dialog
@example Create an image from from a Gio::Icon that is an Gio::ThemedIcon.
icon = Gio::ThemedIcon.new 'gtk-open' image = Gtk::Image.new :icon => icon, :size => :dialog
@example Create an image from a GdkPixbuf::Pixbuf.
pixbuf = GdkPixbuf::Pixbuf.new(:file => 'path/to/the/image.png') image = Gtk::Image.new :pixbuf => pixbuf
@example Create an image from an Gtk::IconSet
, that itself is created
from a GdkPixbuf::Pixbuf. pixbuf = GdkPixbuf::Pixbuf.new(:file => 'path/to/the/image.png') iconSet = Gtk::IconSet.new pixbuf image = Gtk::Image.new :icon_set => iconSet, :size => :dialog
@example Create an image from a GdkPixbuf::PixbufAnimation
pixAnim = GdkPixbuf::PixbufAnimation.new 'anim.gif' image = Gtk::Image.new :animation => pixAnim
@example Create an image from a file in a resource file
resource = Gio::Resource.load(a_resource_file) Gio::Resources.register(resource) resource_path = "/path/to/image.png" image = Gtk::Image.new :resource => resource_path
@example Create an image from a Cairo::Surface that is a
Cairo::ImageSurface. surface = Cairo::ImageSurface.new :RGB24, 60, 60 context = Cairo::Context.new surface context.set_source_rgb 0, 1, 0 context.rectangle 10, 10, 40, 40 context.fill.stroke image = Gtk::Image.new :surface => surface
# File lib/gtk3/image.rb, line 76 def initialize(options={}) stock = options[:stock] || nil icon_name = options[:icon_name] || nil icon_set = options[:icon_set] || nil icon = options[:icon] || options[:gicon] || nil file = options[:file] || nil pixbuf = options[:pixbuf] || nil animation = options[:animation] || nil resource = options[:resource] ||nil surface = options[:surface] || nil size = options[:size] || nil case size when String, Symbol size = IconSize.new(size) else size ||= IconSize::BUTTON end if stock initialize_new_from_stock(stock, size) elsif icon_name initialize_new_from_icon_name(icon_name, size) elsif icon_set initialize_new_from_icon_set(icon_set, size) elsif icon initialize_new_from_gicon(icon, size) elsif file initialize_new_from_file(file) elsif pixbuf initialize_new_from_pixbuf(pixbuf) elsif animation initialize_new_from_animation(animation) elsif resource initialize_new_from_resource(resource) elsif surface initialize_new_from_surface(surface) else initialize_raw end end
Also aliased as: initialize_raw