1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
package Gtk::Icon;
use strict;
use Gtk;
use Gtk::Atoms;
use Gtk::Symbols qw();
#$SIG{__DIE__} = sub { use Carp; Carp::confess(@_) };
use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $VERSION);
@ISA = ();
@EXPORT = ();
@EXPORT_OK = ();
%EXPORT_TAGS = ();
$VERSION = 0.01_02;
sub xpm ($$$)
{
my($xpm,$msk);
my $backgrnd;
my $gdk_wind;
my $gtk_wind = $_[0];
my $xpm_file = $_[1];
my $gtk_stat = $_[2];
$gtk_wind->realized() || $gtk_wind->realize();
$backgrnd = $gtk_wind->style()->bg( $gtk_stat );
$gdk_wind = $gtk_wind->window();
#warn( qq[Gtk::Gdk::Pixmap->create_from_xpm( '$gdk_wind', '$backgrnd', '$xpm_file' )\n] );
($xpm, $msk) =
Gtk::Gdk::Pixmap->create_from_xpm( $gdk_wind, $backgrnd, $xpm_file );
#use Data::Dumper;
#warn( Data::Dumper->Dump( [$xpm, $msk], ["*xpm","*msk"] ) );
return Gtk::Pixmap->new( $xpm, $msk );
}
|