Server : Apache/2.4.43 (Win64) OpenSSL/1.1.1g PHP/7.4.6
System : Windows NT USER-PC 6.1 build 7601 (Windows 7 Professional Edition Service Pack 1) AMD64
User : User ( 0)
PHP Version : 7.4.6
Disable Function : NONE
Directory :  C:/xampp/perl/vendor/lib/Win32/Exe/ResourceEntry/
Upload File :
Current Directory [ Writeable ] Root Directory [ Writeable ]


Current File : C:/xampp/perl/vendor/lib/Win32/Exe/ResourceEntry/Id.pm
# Copyright 2004 by Audrey Tang <cpan@audreyt.org>

package Win32::Exe::ResourceEntry::Id;

use strict;
use base 'Win32::Exe::ResourceEntry';
use constant SUBFORMAT => (
    Id          => 'V',
);
use constant RESOURCE_TYPES => [qw(
    _       CURSOR          BITMAP          ICON        MENU
    DIALOG  STRING          FONTDIR         FONT        ACCELERATOR
    RCDATA  MESSAGETABLE    GROUP_CURSOR    _           GROUP_ICON
    _       VERSION         DLGINCLUDE      _           PLUGPLAY
    VXD     ANICURSOR       ANIICON         HTML        MANIFEST
)];
use constant RT_TO_ID => {
    map { ('RT_'.RESOURCE_TYPES->[$_] => $_) }
    (0 .. $#{+RESOURCE_TYPES})
};
use constant ID_TO_RT => { reverse %{+RT_TO_ID} };

sub Name {
    my ($self) = @_;
    my $id = $_[0]->Id;
    $id = $self->id_to_rt($id) if $self->parent->depth < 1;
    return "#$id";
}

sub SetName {
    my ($self, $name) = @_;
    $name =~ s/^#//;
    $self->SetId( $self->rt_to_id($name) );
}

sub id_to_rt {
    my ($self, $id) = @_;
    return(+ID_TO_RT->{$id} || $id);
}

sub rt_to_id {
    my ($self, $rt) = @_;
    return(+RT_TO_ID->{$rt} || $rt);
}

1;