my $timer = Glib::Timeout->add (100,\&show_refresh);
# timer will run until callback returns false
####
#!/usr/bin/perl
use strict;
use warnings;
use Gtk2 '-init';
my $mw = Gtk2::Window->new;
my $vp = Gtk2::Viewport->new(undef, undef);
$mw->add($vp);
&load_image;
$mw->signal_connect('destroy', sub { Gtk2->main_quit });
Gtk2->main;
###########################################################
sub load_image {
my $file = shift || 'bridget-1.jpg';
my $image_data;
open (FH,"< $file");
read( FH, $image_data, -s FH );
close FH;
my $loader = Gtk2::Gdk::PixbufLoader->new;
$loader->write ($image_data);
$loader->close;
my $pixbuf = $loader->get_pixbuf;
my $image = Gtk2::Image->new_from_pixbuf ($pixbuf);
my $pb = $image->get_pixbuf;
my ($x, $y) = ($pb->get_width, $pb->get_height);
$vp->add($image);
$mw->set_title("$file ${x}x${y}");
$mw->show_all();
}
####
#!/usr/bin/perl
######################################################################
# Trivial use of Dov Grobgeld's GtkImageViewer.
######################################################################
use Gtk2;
use Gtk2::ImageViewer;
Gtk2->init;
$window = Gtk2::Window->new();
$window->signal_connect('destroy', sub { Gtk2->main_quit });
my $file = shift || 'bridget-1.jpg';
$imgv = new_from_file Gtk2::ImageViewer($file);
$window->add($imgv);
$window->show_all();
main Gtk2;