File: Icon.pm

package info (click to toggle)
dbishell 0.8.9-7
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 828 kB
  • ctags: 1,423
  • sloc: perl: 13,353; makefile: 138; sh: 15
file content (41 lines) | stat: -rw-r--r-- 922 bytes parent folder | download | duplicates (3)
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 );
}