see plug-ins/perl/Changes
This commit is contained in:
@ -1,5 +1,14 @@
|
||||
Revision history for Gimp-Perl extension.
|
||||
|
||||
- new enums.pl, some changes: SELECTION_* becomes * again.
|
||||
- compatibility fix for 5.005_58, also fixed a bug in Gimp::Pod.
|
||||
- removed register_magic_load_handler from Lib.xs (is in PDB).
|
||||
- preliminary <Load> and <Save> support (arguments are automatically
|
||||
supplied).
|
||||
- enabled limited pixel access functions even when PDL was not found.
|
||||
- added examples/miff (a save filter for miff images).
|
||||
|
||||
1.0981 Wed Jul 28 00:09:50 CEST 1999
|
||||
- improved gouge ;) In a sense, it's actually pretty code now!
|
||||
- region functions (except data) wrongly returned transposed matrices.
|
||||
Now the order of dimensions is bpp <- width <- height.
|
||||
|
||||
@ -6,13 +6,13 @@ use vars qw($VERSION @ISA @EXPORT @EXPORT_OK $AUTOLOAD %EXPORT_TAGS @EXPORT_FAIL
|
||||
@PREFIXES $_PROT_VERSION
|
||||
@gimp_gui_functions $function $basename $spawn_opts
|
||||
$in_quit $in_run $in_net $in_init $in_query $no_SIG
|
||||
$help $verbose $host);
|
||||
$help $verbose $host $in_top);
|
||||
use subs qw(init end lock unlock canonicalize_color);
|
||||
|
||||
require DynaLoader;
|
||||
|
||||
@ISA=qw(DynaLoader);
|
||||
$VERSION = 1.098;
|
||||
$VERSION = 1.099;
|
||||
|
||||
@_param = qw(
|
||||
PARAM_BOUNDARY PARAM_CHANNEL PARAM_COLOR PARAM_DISPLAY PARAM_DRAWABLE
|
||||
@ -25,24 +25,26 @@ $VERSION = 1.098;
|
||||
# constants that, in some earlier version, were autoloaded
|
||||
@_consts = (@_param,
|
||||
#ENUM_NAME#
|
||||
'PRESSURE', 'SOFT', 'HARD', 'INDEXEDA_IMAGE', 'RGBA_IMAGE', 'GRAYA_IMAGE', 'RGB_IMAGE',
|
||||
'INDEXED_IMAGE', 'GRAY_IMAGE', 'TRANS_IMAGE_FILL', 'WHITE_IMAGE_FILL', 'BG_IMAGE_FILL', 'FG_IMAGE_FILL', 'NO_IMAGE_FILL',
|
||||
'VERTICAL_FLIP', 'HORIZONTAL_FLIP', 'LOOP_SAWTOOTH', 'ONCE_BACKWARDS', 'ONCE_FORWARD', 'ONCE_END_COLOR', 'LOOP_TRIANGLE',
|
||||
'CYAN_HUES', 'RED_HUES', 'GREEN_HUES', 'YELLOW_HUES', 'ALL_HUES', 'MAGENTA_HUES', 'BLUE_HUES',
|
||||
'MONO_PALETTE', 'WEB_PALETTE', 'MAKE_PALETTE', 'REUSE_PALETTE', 'CUSTOM_PALETTE', 'POINTS', 'PIXELS',
|
||||
'SATURATION_MODE', 'ADDITION_MODE', 'NORMAL_MODE', 'HUE_MODE', 'SUBTRACT_MODE', 'DIVIDE_MODE', 'SCREEN_MODE',
|
||||
'BEHIND_MODE', 'MULTIPLY_MODE', 'DISSOLVE_MODE', 'DIFFERENCE_MODE', 'DARKEN_ONLY_MODE', 'VALUE_MODE', 'LIGHTEN_ONLY_MODE',
|
||||
'REPLACE_MODE', 'COLOR_MODE', 'OVERLAY_MODE', 'ERASE_MODE', 'CUSTOM', 'FG_TRANS', 'FG_BG_HSV',
|
||||
'FG_BG_RGB', 'CONTINUOUS', 'INCREMENTAL', 'APPLY', 'DISCARD', 'BLUE_CHANNEL', 'GREEN_CHANNEL',
|
||||
'GRAY_CHANNEL', 'AUXILLARY_CHANNEL', 'INDEXED_CHANNEL', 'RED_CHANNEL', 'HORIZONTAL_SHEAR', 'VERTICAL_SHEAR', 'BLUR_CONVOLVE',
|
||||
'CUSTOM_CONVOLVE', 'SHARPEN_CONVOLVE', 'SELECTION_SUB', 'SELECTION_INTERSECT', 'SELECTION_ADD', 'SELECTION_REPLACE', 'SHADOWS',
|
||||
'MIDTONES', 'HIGHLIGHTS', 'IMAGE_CLONE', 'PATTERN_CLONE', 'INDEXED', 'RGB', 'GRAY',
|
||||
'ADD_BLACK_MASK', 'ADD_WHITE_MASK', 'ADD_ALPHA_MASK', 'BILINEAR', 'SPIRAL_CLOCKWISE', 'SQUARE', 'RADIAL',
|
||||
'CONICAL_SYMMETRIC', 'SHAPEBURST_DIMPLED', 'CONICAL_ASYMMETRIC', 'LINEAR', 'SPIRAL_ANTICLOCKWISE','SHAPEBURST_ANGULAR', 'SHAPEBURST_SPHERICAL',
|
||||
'ALPHA_LUT', 'GREEN_LUT', 'BLUE_LUT', 'VALUE_LUT', 'RED_LUT', 'HORIZONTAL_GUIDE', 'VERTICAL_GUIDE',
|
||||
'OFFSET_BACKGROUND', 'OFFSET_TRANSPARENT', 'MESSAGE_BOX', 'ERROR_CONSOLE', 'CONSOLE', 'RUN_INTERACTIVE', 'RUN_WITH_LAST_VALS',
|
||||
'RUN_NONINTERACTIVE', 'EXPAND_AS_NECESSARY', 'CLIP_TO_BOTTOM_LAYER','CLIP_TO_IMAGE', 'FLATTEN_IMAGE', 'REPEAT_NONE', 'REPEAT_SAWTOOTH',
|
||||
'REPEAT_TRIANGULAR', 'BG_BUCKET_FILL', 'FG_BUCKET_FILL', 'PATTERN_BUCKET_FILL',
|
||||
'SOFT', 'PRESSURE', 'HARD', 'RGBA_IMAGE', 'INDEXED_IMAGE', 'GRAYA_IMAGE', 'RGB_IMAGE',
|
||||
'INDEXEDA_IMAGE', 'GRAY_IMAGE', 'CUSTOM', 'FG_BG_HSV', 'FG_TRANS', 'FG_BG_RGB', 'CONTINUOUS',
|
||||
'INCREMENTAL', 'APPLY', 'DISCARD', 'BLUE_CHANNEL', 'GREEN_CHANNEL', 'GRAY_CHANNEL', 'INDEXED_CHANNEL',
|
||||
'AUXILLARY_CHANNEL', 'RED_CHANNEL', 'DODGEBURN_HIGHLIGHTS','DODGEBURN_SHADOWS', 'DODGEBURN_MIDTONES', 'ALPHA_LUT', 'GREEN_LUT',
|
||||
'BLUE_LUT', 'VALUE_LUT', 'RED_LUT', 'HORIZONTAL_GUIDE', 'VERTICAL_GUIDE', 'OFFSET_BACKGROUND', 'OFFSET_TRANSPARENT',
|
||||
'FG_BUCKET_FILL', 'BG_BUCKET_FILL', 'PATTERN_BUCKET_FILL', 'PDB_CALLING_ERROR', 'PDB_SUCCESS', 'PDB_EXECUTION_ERROR', 'PDB_PASS_THROUGH',
|
||||
'WHITE_IMAGE_FILL', 'FG_IMAGE_FILL', 'TRANS_IMAGE_FILL', 'BG_IMAGE_FILL', 'NO_IMAGE_FILL', 'ONCE_FORWARD', 'ONCE_BACKWARDS',
|
||||
'LOOP_SAWTOOTH', 'ONCE_END_COLOR', 'LOOP_TRIANGLE', 'MONO_PALETTE', 'WEB_PALETTE', 'MAKE_PALETTE', 'REUSE_PALETTE',
|
||||
'CUSTOM_PALETTE', 'DODGE', 'BURN', 'CYAN_HUES', 'RED_HUES', 'ALL_HUES', 'YELLOW_HUES',
|
||||
'GREEN_HUES', 'BLUE_HUES', 'MAGENTA_HUES', 'POINTS', 'PIXELS', 'SATURATION_MODE', 'ADDITION_MODE',
|
||||
'NORMAL_MODE', 'HUE_MODE', 'SUBTRACT_MODE', 'DIVIDE_MODE', 'SCREEN_MODE', 'BEHIND_MODE', 'MULTIPLY_MODE',
|
||||
'DISSOLVE_MODE', 'DIFFERENCE_MODE', 'DARKEN_ONLY_MODE', 'VALUE_MODE', 'LIGHTEN_ONLY_MODE', 'REPLACE_MODE', 'COLOR_MODE',
|
||||
'OVERLAY_MODE', 'ERASE_MODE', 'VERTICAL', 'HORIZONTAL', 'BLUR_CONVOLVE', 'CUSTOM_CONVOLVE', 'SHARPEN_CONVOLVE',
|
||||
'SHADOWS', 'MIDTONES', 'HIGHLIGHTS', 'REPLACE', 'SUB', 'ADD', 'INTERSECT',
|
||||
'IMAGE_CLONE', 'PATTERN_CLONE', 'INDEXED', 'RGB', 'GRAY', 'BLACK_MASK', 'WHITE_MASK',
|
||||
'ALPHA_MASK', 'BILINEAR', 'SPIRAL_CLOCKWISE', 'SQUARE', 'RADIAL', 'CONICAL_SYMMETRIC', 'SHAPEBURST_DIMPLED',
|
||||
'CONICAL_ASYMMETRIC', 'LINEAR', 'SHAPEBURST_ANGULAR', 'SPIRAL_ANTICLOCKWISE','SHAPEBURST_SPHERICAL','PDB_PLUGIN', 'PDB_EXTENSION',
|
||||
'PDB_TEMPORARY', 'PDB_INTERNAL', 'MESSAGE_BOX', 'ERROR_CONSOLE', 'CONSOLE', 'EXPAND_AS_NECESSARY', 'CLIP_TO_BOTTOM_LAYER',
|
||||
'CLIP_TO_IMAGE', 'FLATTEN_IMAGE', 'RUN_INTERACTIVE', 'RUN_NONINTERACTIVE', 'RUN_WITH_LAST_VALS', 'REPEAT_NONE', 'REPEAT_SAWTOOTH',
|
||||
'REPEAT_TRIANGULAR',
|
||||
#ENUM_NAME#
|
||||
'STATUS_CALLING_ERROR', 'STATUS_EXECUTION_ERROR', 'STATUS_PASS_THROUGH',
|
||||
'STATUS_SUCCESS', 'PARASITE_PERSISTENT', 'PARASITE_ATTACH_PARENT',
|
||||
@ -51,38 +53,46 @@ $VERSION = 1.098;
|
||||
'TRACE_NONE', 'TRACE_CALL', 'TRACE_TYPE', 'TRACE_NAME', 'TRACE_DESC', 'TRACE_ALL',
|
||||
'COMPRESSION_NONE', 'COMPRESSION_LZW', 'COMPRESSION_PACKBITS',
|
||||
'WRAP', 'SMEAR', 'BLACK',
|
||||
|
||||
'ADD_BLACK_MASK', 'ADD_WHITE_MASK', 'ADD_ALPHA_MASK',
|
||||
);
|
||||
|
||||
sub ADD_WHITE_MASK () { &WHITE_MASK }
|
||||
sub ADD_BLACK_MASK () { &BLACK_MASK }
|
||||
sub ADD_ALPHA_MASK () { &ALPHA_MASK }
|
||||
|
||||
@_procs = ('main','xlfd_size');
|
||||
|
||||
bootstrap Gimp $VERSION;
|
||||
|
||||
#ENUM_DEFS#
|
||||
sub PRESSURE (){ 2} sub SOFT (){ 1} sub HARD (){ 0} sub INDEXEDA_IMAGE (){ 5} sub RGBA_IMAGE (){ 1}
|
||||
sub GRAYA_IMAGE (){ 3} sub RGB_IMAGE (){ 0} sub INDEXED_IMAGE (){ 4} sub GRAY_IMAGE (){ 2} sub TRANS_IMAGE_FILL (){ 3}
|
||||
sub WHITE_IMAGE_FILL (){ 2} sub BG_IMAGE_FILL (){ 1} sub FG_IMAGE_FILL (){ 0} sub NO_IMAGE_FILL (){ 4} sub VERTICAL_FLIP (){ 1}
|
||||
sub HORIZONTAL_FLIP (){ 0} sub LOOP_SAWTOOTH (){ 2} sub ONCE_BACKWARDS (){ 1} sub ONCE_FORWARD (){ 0} sub ONCE_END_COLOR (){ 4}
|
||||
sub LOOP_TRIANGLE (){ 3} sub CYAN_HUES (){ 4} sub RED_HUES (){ 1} sub GREEN_HUES (){ 3} sub YELLOW_HUES (){ 2}
|
||||
sub ALL_HUES (){ 0} sub MAGENTA_HUES (){ 6} sub BLUE_HUES (){ 5} sub MONO_PALETTE (){ 3} sub WEB_PALETTE (){ 2}
|
||||
sub MAKE_PALETTE (){ 0} sub REUSE_PALETTE (){ 1} sub CUSTOM_PALETTE (){ 4} sub POINTS (){ 1} sub PIXELS (){ 0}
|
||||
sub SATURATION_MODE (){12} sub ADDITION_MODE (){ 7} sub NORMAL_MODE (){ 0} sub HUE_MODE (){11} sub SUBTRACT_MODE (){ 8}
|
||||
sub DIVIDE_MODE (){15} sub SCREEN_MODE (){ 4} sub BEHIND_MODE (){ 2} sub MULTIPLY_MODE (){ 3} sub DISSOLVE_MODE (){ 1}
|
||||
sub DIFFERENCE_MODE (){ 6} sub DARKEN_ONLY_MODE (){ 9} sub VALUE_MODE (){14} sub LIGHTEN_ONLY_MODE (){10} sub REPLACE_MODE (){17}
|
||||
sub COLOR_MODE (){13} sub OVERLAY_MODE (){ 5} sub ERASE_MODE (){16} sub CUSTOM (){ 3} sub FG_TRANS (){ 2}
|
||||
sub FG_BG_HSV (){ 1} sub FG_BG_RGB (){ 0} sub CONTINUOUS (){ 0} sub INCREMENTAL (){ 1} sub APPLY (){ 0}
|
||||
sub DISCARD (){ 1} sub BLUE_CHANNEL (){ 2} sub GREEN_CHANNEL (){ 1} sub GRAY_CHANNEL (){ 3} sub AUXILLARY_CHANNEL (){ 5}
|
||||
sub INDEXED_CHANNEL (){ 4} sub RED_CHANNEL (){ 0} sub HORIZONTAL_SHEAR (){ 0} sub VERTICAL_SHEAR (){ 1} sub BLUR_CONVOLVE (){ 0}
|
||||
sub CUSTOM_CONVOLVE (){ 2} sub SHARPEN_CONVOLVE (){ 1} sub SELECTION_SUB (){ 1} sub SELECTION_INTERSECT (){ 3} sub SELECTION_ADD (){ 0}
|
||||
sub SELECTION_REPLACE (){ 2} sub SHADOWS (){ 0} sub MIDTONES (){ 1} sub HIGHLIGHTS (){ 2} sub IMAGE_CLONE (){ 0}
|
||||
sub PATTERN_CLONE (){ 1} sub INDEXED (){ 2} sub RGB (){ 0} sub GRAY (){ 1} sub ADD_BLACK_MASK (){ 1}
|
||||
sub ADD_WHITE_MASK (){ 0} sub ADD_ALPHA_MASK (){ 2} sub BILINEAR (){ 1} sub SPIRAL_CLOCKWISE (){ 9} sub SQUARE (){ 3}
|
||||
sub RADIAL (){ 2} sub CONICAL_SYMMETRIC (){ 4} sub SHAPEBURST_DIMPLED (){ 8} sub CONICAL_ASYMMETRIC (){ 5} sub LINEAR (){ 0}
|
||||
sub SPIRAL_ANTICLOCKWISE(){10} sub SHAPEBURST_ANGULAR (){ 6} sub SHAPEBURST_SPHERICAL(){ 7} sub ALPHA_LUT (){ 4} sub GREEN_LUT (){ 2}
|
||||
sub BLUE_LUT (){ 3} sub VALUE_LUT (){ 0} sub RED_LUT (){ 1} sub HORIZONTAL_GUIDE (){ 1} sub VERTICAL_GUIDE (){ 2}
|
||||
sub OFFSET_BACKGROUND (){ 0} sub OFFSET_TRANSPARENT (){ 1} sub MESSAGE_BOX (){ 0} sub ERROR_CONSOLE (){ 2} sub CONSOLE (){ 1}
|
||||
sub RUN_INTERACTIVE (){bless \(my $x=0),'Gimp::run_mode'} sub RUN_WITH_LAST_VALS (){bless \(my $x=2),'Gimp::run_mode'} sub RUN_NONINTERACTIVE (){bless \(my $x=1),'Gimp::run_mode'} sub EXPAND_AS_NECESSARY (){ 0} sub CLIP_TO_BOTTOM_LAYER(){ 2}
|
||||
sub CLIP_TO_IMAGE (){ 1} sub FLATTEN_IMAGE (){ 3} sub REPEAT_NONE (){ 0} sub REPEAT_SAWTOOTH (){ 1} sub REPEAT_TRIANGULAR (){ 2}
|
||||
sub BG_BUCKET_FILL (){ 1} sub FG_BUCKET_FILL (){ 0} sub PATTERN_BUCKET_FILL (){ 2}
|
||||
sub SOFT (){ 1} sub PRESSURE (){ 2} sub HARD (){ 0} sub RGBA_IMAGE (){ 1} sub INDEXED_IMAGE (){ 4}
|
||||
sub GRAYA_IMAGE (){ 3} sub RGB_IMAGE (){ 0} sub INDEXEDA_IMAGE (){ 5} sub GRAY_IMAGE (){ 2} sub CUSTOM (){ 3}
|
||||
sub FG_BG_HSV (){ 1} sub FG_TRANS (){ 2} sub FG_BG_RGB (){ 0} sub CONTINUOUS (){ 0} sub INCREMENTAL (){ 1}
|
||||
sub APPLY (){ 0} sub DISCARD (){ 1} sub BLUE_CHANNEL (){ 2} sub GREEN_CHANNEL (){ 1} sub GRAY_CHANNEL (){ 3}
|
||||
sub INDEXED_CHANNEL (){ 4} sub AUXILLARY_CHANNEL (){ 5} sub RED_CHANNEL (){ 0} sub DODGEBURN_HIGHLIGHTS(){ 0} sub DODGEBURN_SHADOWS (){ 2}
|
||||
sub DODGEBURN_MIDTONES (){ 1} sub ALPHA_LUT (){ 4} sub GREEN_LUT (){ 2} sub BLUE_LUT (){ 3} sub VALUE_LUT (){ 0}
|
||||
sub RED_LUT (){ 1} sub HORIZONTAL_GUIDE (){ 1} sub VERTICAL_GUIDE (){ 2} sub OFFSET_BACKGROUND (){ 0} sub OFFSET_TRANSPARENT (){ 1}
|
||||
sub FG_BUCKET_FILL (){ 0} sub BG_BUCKET_FILL (){ 1} sub PATTERN_BUCKET_FILL (){ 2} sub PDB_CALLING_ERROR (){ 1} sub PDB_SUCCESS (){ 3}
|
||||
sub PDB_EXECUTION_ERROR (){ 0} sub PDB_PASS_THROUGH (){ 2} sub WHITE_IMAGE_FILL (){ 2} sub FG_IMAGE_FILL (){ 0} sub TRANS_IMAGE_FILL (){ 3}
|
||||
sub BG_IMAGE_FILL (){ 1} sub NO_IMAGE_FILL (){ 4} sub ONCE_FORWARD (){ 0} sub ONCE_BACKWARDS (){ 1} sub LOOP_SAWTOOTH (){ 2}
|
||||
sub ONCE_END_COLOR (){ 4} sub LOOP_TRIANGLE (){ 3} sub MONO_PALETTE (){ 3} sub WEB_PALETTE (){ 2} sub MAKE_PALETTE (){ 0}
|
||||
sub REUSE_PALETTE (){ 1} sub CUSTOM_PALETTE (){ 4} sub DODGE (){ 0} sub BURN (){ 1} sub CYAN_HUES (){ 4}
|
||||
sub RED_HUES (){ 1} sub ALL_HUES (){ 0} sub YELLOW_HUES (){ 2} sub GREEN_HUES (){ 3} sub BLUE_HUES (){ 5}
|
||||
sub MAGENTA_HUES (){ 6} sub POINTS (){ 1} sub PIXELS (){ 0} sub SATURATION_MODE (){12} sub ADDITION_MODE (){ 7}
|
||||
sub NORMAL_MODE (){ 0} sub HUE_MODE (){11} sub SUBTRACT_MODE (){ 8} sub DIVIDE_MODE (){15} sub SCREEN_MODE (){ 4}
|
||||
sub BEHIND_MODE (){ 2} sub MULTIPLY_MODE (){ 3} sub DISSOLVE_MODE (){ 1} sub DIFFERENCE_MODE (){ 6} sub DARKEN_ONLY_MODE (){ 9}
|
||||
sub VALUE_MODE (){14} sub LIGHTEN_ONLY_MODE (){10} sub REPLACE_MODE (){17} sub COLOR_MODE (){13} sub OVERLAY_MODE (){ 5}
|
||||
sub ERASE_MODE (){16} sub VERTICAL (){ 1} sub HORIZONTAL (){ 0} sub BLUR_CONVOLVE (){ 0} sub CUSTOM_CONVOLVE (){ 2}
|
||||
sub SHARPEN_CONVOLVE (){ 1} sub SHADOWS (){ 0} sub MIDTONES (){ 1} sub HIGHLIGHTS (){ 2} sub REPLACE (){ 2}
|
||||
sub SUB (){ 1} sub ADD (){ 0} sub INTERSECT (){ 3} sub IMAGE_CLONE (){ 0} sub PATTERN_CLONE (){ 1}
|
||||
sub INDEXED (){ 2} sub RGB (){ 0} sub GRAY (){ 1} sub BLACK_MASK (){ 1} sub WHITE_MASK (){ 0}
|
||||
sub ALPHA_MASK (){ 2} sub BILINEAR (){ 1} sub SPIRAL_CLOCKWISE (){ 9} sub SQUARE (){ 3} sub RADIAL (){ 2}
|
||||
sub CONICAL_SYMMETRIC (){ 4} sub SHAPEBURST_DIMPLED (){ 8} sub CONICAL_ASYMMETRIC (){ 5} sub LINEAR (){ 0} sub SHAPEBURST_ANGULAR (){ 6}
|
||||
sub SPIRAL_ANTICLOCKWISE(){10} sub SHAPEBURST_SPHERICAL(){ 7} sub PDB_PLUGIN (){ 1} sub PDB_EXTENSION (){ 2} sub PDB_TEMPORARY (){ 3}
|
||||
sub PDB_INTERNAL (){ 0} sub MESSAGE_BOX (){ 0} sub ERROR_CONSOLE (){ 2} sub CONSOLE (){ 1} sub EXPAND_AS_NECESSARY (){ 0}
|
||||
sub CLIP_TO_BOTTOM_LAYER(){ 2} sub CLIP_TO_IMAGE (){ 1} sub FLATTEN_IMAGE (){ 3} sub RUN_INTERACTIVE (){bless \(my $x=0),'Gimp::run_mode'} sub RUN_NONINTERACTIVE (){bless \(my $x=1),'Gimp::run_mode'}
|
||||
sub RUN_WITH_LAST_VALS (){bless \(my $x=2),'Gimp::run_mode'} sub REPEAT_NONE (){ 0} sub REPEAT_SAWTOOTH (){ 1} sub REPEAT_TRIANGULAR (){ 2}
|
||||
#ENUM_DEFS#
|
||||
|
||||
sub WRAP (){ 0 }
|
||||
@ -191,7 +201,7 @@ sub canonicalize_colour {
|
||||
} elsif ($_[0] =~ /^#([0-9a-fA-F]{2,2})([0-9a-fA-F]{2,2})([0-9a-fA-F]{2,2})$/) {
|
||||
[map {eval "0x$_"} ($1,$2,$3)];
|
||||
} else {
|
||||
unless (defined %rgb_db) {
|
||||
unless (%rgb_db) {
|
||||
if ($rgb_db_path) {
|
||||
open RGB_TEXT,"<$rgb_db_path" or croak "unable to open $rgb_db_path";
|
||||
} else {
|
||||
@ -218,8 +228,8 @@ sub canonicalize_colour {
|
||||
$spawn_opts = "";
|
||||
|
||||
# extra check for Gimp::Feature::import
|
||||
$in_query=0 unless defined $in_query; # perl -w is SOOO braindamaged
|
||||
$in_quit=$in_run=$in_net=$in_init=0; # perl -w is braindamaged
|
||||
$in_query=0 unless defined $in_query; # perl -w is SOOO braindamaged
|
||||
$in_top=$in_quit=$in_run=$in_net=$in_init=0; # perl -w is braindamaged
|
||||
|
||||
$verbose=0;
|
||||
|
||||
@ -277,6 +287,7 @@ sub _initialized_callback {
|
||||
}
|
||||
}
|
||||
if (@log) {
|
||||
my $oldtrace = set_trace(0);
|
||||
unless ($in_net || $in_query || $in_quit || $in_init) {
|
||||
for(@log) {
|
||||
Gimp->message(format_msg($_)) if $_->[3];
|
||||
@ -284,6 +295,7 @@ sub _initialized_callback {
|
||||
}
|
||||
Gimp->_gimp_append_data ('gimp-perl-log', map join("\1",@$_)."\0",@log);
|
||||
@log=();
|
||||
set_trace($oldtrace);
|
||||
}
|
||||
}
|
||||
|
||||
@ -307,7 +319,7 @@ sub die_msg {
|
||||
|
||||
# this needs to be improved
|
||||
sub quiet_die {
|
||||
die "IGNORE THIS MESSAGE\n";
|
||||
$in_top ? exit(1) : die "IGNORE THIS MESSAGE\n";
|
||||
}
|
||||
|
||||
unless ($no_SIG) {
|
||||
@ -336,7 +348,9 @@ sub call_callback {
|
||||
my $cb = shift;
|
||||
return () if $caller eq "Gimp";
|
||||
if ($callback{$cb}) {
|
||||
&{$callback{$cb}};
|
||||
for(@{$callback{$cb}}) {
|
||||
&$_;
|
||||
}
|
||||
} elsif (UNIVERSAL::can($caller,$cb)) {
|
||||
&{"$caller\::$cb"};
|
||||
} else {
|
||||
@ -366,9 +380,12 @@ sub callback {
|
||||
}
|
||||
|
||||
sub register_callback($$) {
|
||||
$callback{$_[0]}=$_[1];
|
||||
push(@{$callback{$_[0]}},$_[1]);
|
||||
}
|
||||
|
||||
sub on_query(&) { register_callback "query", $_[0] }
|
||||
sub on_net (&) { register_callback "net" , $_[0] }
|
||||
|
||||
sub main {
|
||||
$caller=caller;
|
||||
#d# #D# # BIG BUG LURKING SOMEWHERE
|
||||
@ -448,7 +465,7 @@ sub AUTOLOAD {
|
||||
my $ref = \&{"Gimp::Util::$sub"};
|
||||
*{$AUTOLOAD} = sub {
|
||||
shift unless ref $_[0];
|
||||
#goto &$ref; # does not always work, PERLBUG! #FIXME
|
||||
goto &$ref; # does not always work, PERLBUG! #FIXME
|
||||
my @r = eval { &$ref };
|
||||
_croak $@ if $@;
|
||||
wantarray ? @r : $r[0];
|
||||
@ -458,7 +475,7 @@ sub AUTOLOAD {
|
||||
my $ref = \&{"$interface_pkg\::$sub"};
|
||||
*{$AUTOLOAD} = sub {
|
||||
shift unless ref $_[0];
|
||||
#goto &$ref; # does not always work, PERLBUG! #FIXME
|
||||
goto &$ref; # does not always work, PERLBUG! #FIXME
|
||||
my @r = eval { &$ref };
|
||||
_croak $@ if $@;
|
||||
wantarray ? @r : $r[0];
|
||||
|
||||
Reference in New Issue
Block a user