Commit 235e7293 authored by Seth Burgess's avatar Seth Burgess Committed by Seth Burgess

Changes README README.win32 updated to bring into line with current 2.0

2004-05-15  Seth Burgess <sjburges@gimp.org>
        * Changes
        * README
        * README.win32
        * TODO: updated to bring into line with current 2.0

        * examples/examples.TODO: removed scripts from here

        * MANIFEST: alphabetized scripts for easier maintenance
        * Makefile.PL: upped Gtk requirement to at least rev 1.0, removed
        scm2scm from EXE_FILES, removed REC_DECENT warning.

        * Gimp.pm: reordered docuemntation, so that canonicalize_colour
        doesn't come first on CPAN listing for GIMP.
parent 4888a910
2004-05-15 Seth Burgess <sjburges@gimp.org>
* Changes
* README
* README.win32
* TODO: updated to bring into line with current 2.0
* examples/examples.TODO: removed scripts from here
* MANIFEST: alphabetized scripts for easier maintenance
* Makefile.PL: upped Gtk requirement to at least rev 1.0, removed
scm2scm from EXE_FILES, removed REC_DECENT warning.
* Gimp.pm: reordered docuemntation, so that canonicalize_colour
doesn't come first on CPAN listing for GIMP.
2004-05-07 Seth Burgess <sjburges@gimp.org>
* examples/alpha2color
* examples/avi
......
......@@ -3,6 +3,11 @@ Revision history for Gimp-Perl extension.
Please add detailed ChangeLog entries to the ChangeLog file, keeping this
file to document revision changes (similar to a GNU-style NEWS file).
2.0 Not yet released...
- Removed 'embed' whose purpose was unclear to me and wasn't built anyway
- Removed 'scm2scm'. See http://pages.interlog.com/~kcozens/software/gimp/updates.html for a perl script with no dependencies that does the same thing.Removed Rec::Decent requirement, though scm2perl is still there and has said requirement.
2.0pre3 Sun Apr 25, 2004
- Gimp::Init works
- make test works
......
......@@ -291,32 +291,6 @@ sub set_rgb_db($) {
undef %rgb_db;
}
=head1 NAME
canonicalize_colour - utility function for color conversion
=head1 SYNOPSIS
$color = canonicalize_colour ("#ff00bb");
$color = canonicalize_colour ([255,255,34]);
$color = canonicalize_colour ([255,255,34,255]);
$color = canonicalize_colour ([1.0,1.0,0.32]);
$color = canonicalize_colour ('red');
=head1 DESCRIPTION
Take in a color specifier in a variety of different formats, and return
a valid gimp color specifier, consisting of 3 or 4 numbers in the range
between 0 and 1.0.
=head1 BUGS
* bounds checking is excessively lax; assumes relatively good input
* should emit more warnings
* has an extra 'u' in 'color' :)
=cut
sub canonicalize_colour {
if ((scalar(@_) == 3) or (scalar(@_) == 4)) { # if 3 or 4 entries already
if (($_[0] > 1.0) or ($_[1] > 1.0) or ($_[2] > 1.0)) {
......@@ -1954,4 +1928,30 @@ __DATA__
255 255 0 yellow1
238 238 0 yellow2
205 205 0 yellow3
139 139 0 yellow4
=head1 NAME
canonicalize_colour - utility function for color conversion
=head1 SYNOPSIS
$color = canonicalize_colour ("#ff00bb");
$color = canonicalize_colour ([255,255,34]);
$color = canonicalize_colour ([255,255,34,255]);
$color = canonicalize_colour ([1.0,1.0,0.32]);
$color = canonicalize_colour ('red');
=head1 DESCRIPTION
Take in a color specifier in a variety of different formats, and return
a valid gimp color specifier, consisting of 3 or 4 numbers in the range
between 0 and 1.0.
=head1 BUGS
* bounds checking is excessively lax; assumes relatively good input
* should emit more warnings
* has an extra 'u' in 'color' :)
=cut
s139 139 0 yellow4
......@@ -13,7 +13,6 @@ typemap.pdl
Gimp.pm
Gimp.xs
scm2perl
scm2scm
gimpdoc
xcftopnm
embedxpm
......@@ -48,8 +47,6 @@ Gimp/Pod.pm
Gimp/Module.pm
Gimp/Compat.pm
Gimp/Config.pm.in
embed/Makefile.PL
embed/perlmod.c
Module/Makefile.PL
Module/Module.xs
Net/Makefile.PL
......@@ -60,84 +57,63 @@ UI/typemap
UI/UI.pm
UI/UI.xs
UI/basewidget.pm
examples/PDB
examples/alpha2color
examples/tex-to-float
examples/README
examples/webify
examples/border
examples/Create_Images
examples/animate_cells
examples/burst
examples/billboard
examples/blended2
examples/blowinout
examples/bricks
examples/centerguide
examples/colorhtml
examples/dataurl
examples/ditherize
examples/dots
examples/dust
examples/image_list
examples/example-oo
examples/example-fu
examples/example-net
examples/gimp-make-img-map
examples/homepage-logo
examples/windify
examples/prep4gif
examples/ditherize
examples/view3d
examples/fade-alpha
examples/feedback
examples/xachlego
examples/xachshadow
examples/parasite-editor
examples/scratches
examples/blowinout
examples/terral_text
examples/xachvision
examples/gimpmagick
examples/perlcc
examples/animate_cells
examples/yinyang
examples/image_tile
examples/stamps
examples/font_table
examples/perlotine
examples/randomblends
examples/innerbevel
examples/fit-text
examples/guidegrid
examples/roundrectsel
examples/repdup
examples/centerguide
examples/stampify
examples/goldenmean
examples/triangle
examples/mirrorsplit
examples/randomart1
examples/colourtoalpha
examples/pixelmap
examples/frame_reshuffle
examples/frame_filter
examples/gimp-make-img-map
examples/goldenmean
examples/gouge
examples/logulator
examples/miff
examples/guide_remove
examples/glowing_steel
examples/guides_to_selection
examples/burst
examples/map_to_gradient
examples/fire
examples/povray
examples/avi
examples/guidegrid
examples/image_tile
examples/innerbevel
examples/layerfuncs
examples/bricks
examples/dataurl
examples/colorhtml
examples/gap-vcr
examples/translogo
examples/sethspin
examples/map_to_gradient
examples/mirrorsplit
examples/perlotine
examples/pixelmap
examples/prep4gif
examples/randomart1
examples/randomblends
examples/redeye
examples/repdup
examples/roundsel
examples/visual
examples/billboard
examples/blended2
examples/dust
examples/clear_alpha
examples/scratches
examples/sethspin
examples/stamps
examples/stampify
examples/tex-to-float
examples/triangle
examples/translogo
examples/warp-sharp
examples/fade-alpha
examples/circular_text
examples/redeye
examples/dots
examples/webify
examples/windify
examples/view3d
examples/xachlego
examples/xachshadow
examples/xachvision
examples/yinyang
pxgettext
po/ChangeLog
po/Makefile.PL
......
......@@ -65,8 +65,6 @@ if ($ARGV[0] ne "--writemakefile") {
);
eval "use Gtk2;"; $GTK = $@ eq "";
# eval "use Parse::RecDescent;"; $PRD = $@ eq "";
$GTK or print <<EOF;
NOTICE: unable to use the Perl-Gtk2 interface. Many features (like
......@@ -78,14 +76,6 @@ NOTICE: unable to use the Perl-Gtk2 interface. Many features (like
EOF
# $PRD or print <<EOF;
# NOTICE: Parse::RecDescent not found, scm2perl, the Scheme->Perl
# translator, will not work. This is normally not a problem, since
# it is quite unimportant for most people.
#
#EOF
require ExtUtils::MakeMaker;
import ExtUtils::MakeMaker;
......@@ -258,7 +248,7 @@ print "writing Gimp/Config.pm... ";
print "ok\n";
@EXE_FILES = qw(gimpdoc xcftopnm embedxpm);
push @EXE_FILES, qw(scm2perl scm2scm) if $PRD;
push @EXE_FILES, qw(scm2perl) if $PRD;
WriteMakefile(
'dist' => {
......@@ -267,10 +257,9 @@ WriteMakefile(
SUFFIX => '.gz',
},
'PREREQ_PM' => {
Gtk2 => 0.90,
Gtk2 => 1.0,
PDL => 1.99,
Data::Dumper => 2.0,
# Parse::RecDescent => 1.6,
},
'DIR' => [@DIRS],
'NAME' => 'Gimp',
......
......@@ -5,12 +5,12 @@ NAME
WARNING
This version of the module only works for gimp-1.3 CVS (as of 12/12/03)
or higher (including 2.0).
This version of the module only works for Gimp-2.0 or higher.
Current limitations:
- init callback has been disabled
When calling a plug-in, cannot currently specify RUN_NONINTERACTIVE or
RUN_INTERACTIVE; omit this when calling.
SYNOPSIS
......@@ -25,13 +25,10 @@ SYNOPSIS
DOCUMENTATION
The Manpages in html format, the newest version, links and more
information can be found on the gimp-perl homepage, where you
should get an overview over the gimp-perl extension:
http://gimp.pages.de/
-or-
http://www.goof.com/pcg/marc/gimp.html
Online documentation is largely outdated. Much of the documentation at
http://www.goof.com/pcg/marc/gimp.html still applies. The POD
information embedded in the modules is the latest available, though
it isn't very updated either.
PREREQUISITES
......@@ -41,13 +38,15 @@ PREREQUISITES
Perl5.008 (or higher):
While this extension might run with perl 5.6, I do not support
nor encourage it in any way.
nor encourage it in any way. The configure check will not let
you compile it, so you'll have to change that if you really want
an older perl.
The GNU Image Manipulation Program, i.e. The GIMP:
http://www.gimp.org/
ftp://ftp.gimp.org/pub/gimp/
gimp-1.3 (or newer, e.g. CVS or CVS snapshots) is required. For
gimp-2.0 (or newer, e.g. CVS or CVS snapshots) is required. For
older versions of The Gimp, use version 1.2* of the Gimp-Perl
module.
......@@ -69,20 +68,19 @@ PREREQUISITES
INSTALLATION
On unix, you should be able to run "perl Makefile.PL" make, make
test && make install. To get a listing of configuration options,
enter
On unix/linux, you should be able to run "perl Makefile.PL" make, make
test && make install. To get a listing of configuration options, enter
perl ./Makefile.PL --help
A straight "perl Makefile.PL" should do the job on most systems,
Simply using "perl Makefile.PL" should do the job on most systems,
but watch out for warnings. If everything went fine, enter "make",
"make install". "make test" may be broken at the current time.
"make test, (su to appropriate level if you are installing system-wide),
"make install".
After installation, these perl plug-ins should be visible from
within the Gimp (and many, many more):
<Toolbox>/Xtns/Perl Control Center
<Toolbox>/Xtns/Perl-Server
<Image>/Filters/Artistic/Windify
<Image>/Filters/Misc/Prepare for GIF
......@@ -122,22 +120,19 @@ OVERWRITING INSTALL LOCATIONS (PREFIX)
SUPPORT/MAILING LISTS/MORE INFO
There is a mailinglist for general discussion about Gimp-Perl. To
subscribe, send a mail with the single line
The gimp-user and gimp-developer lists (see
http://www.gimp.org/mail_lists.html) are currently the suggested
mailing lists.
New releases will be announced to gimp-announce.
There is a low-traffic mailinglist for general discussion about
Gimp-Perl. To subscribe, send a mail with the single line
subscribe
to gimp-perl-request@lists.netcentral.net.
(do these still work?)
If you want to get notified of new versions automatically, send a
mail with the single line:
subscribe notify-gimp
to majordomo@gcc.ml.org.
You can also upload your scripts to the gimp registry at
http://registry.gimp.org/.
......@@ -147,102 +142,95 @@ SUPPORT/MAILING LISTS/MORE INFO
BLURB
GIMP's interface to scheme it makes script development an exercise
in pain, having written a few myself. Reasonable error reporting,
ability to glue outside programs in, and an (overly) full featured
set of language operators are all things that make the perl Gimp
module preferable to me.
Gimp-Perl is an effort to make a usable, debuggable, and flexible
interface to The GIMP through use of perl.
LICENSE
The gimp-perl module is currently available under the GNU Public
License (see COPYING.GPL for details) and the Artistic License (see
The gimp-perl module is available under the GNU Public License
(see COPYING.GPL for details) and the Artistic License (see
COPYING.Artistic for details). Many of the scripts in the example
section follow these rules, but some of them have a different
licensing approach, please consult their source for more info.
THREATS
Future versions of this package might be distributed under the
terms of the GPL only, to be consistent with the rest of the
Gimp. Andreas keeps me from doing this, though.
licensing approach. Each should have a licensing statement; please
consult individual plugin sources/POD for more info.
(c)1998,1999 Marc Lehmann <pcg@goof.com>
(c)2003,2004 Seth Burgess <sjburges@gimp.org>
EXAMPLE PERL PLUG-IN
To get even more look & feel, here is a complete plug-in source,
its the examples/example-fu.pl script from the distribution.
its the examples/example-fu script from the distribution.
#!/usr/bin/perl
#!/opt/bin/perl
use Gimp;
use Gimp::Fu;
register "gimp_fu_example_script", # fill in a function name
"A non-working example of Gimp::Fu usage", # and a short description,
# expand your terminal to 121 across to read easily...
register "gimp_fu_example_script", # fill in a function name
"A non-working example of Gimp::Fu usage", # and a short description,
"Just a starting point to derive new ". # a (possibly multiline) help text
"scripts. Always remember to put a long".
"help message here!",
"Marc Lehmann", # don't forget your name (author)
"(c) 1998, 1999 Marc Lehmann", # and your copyright!
"19990316", # the date this script was written
"<Toolbox>/Xtns/Gimp::Fu Example", # the menu path
"RGB*, GRAYA", # image types to accept (RGB, RGAB amnd GRAYA)
[
# argument type, switch name , a short description , default value, extra arguments
[PF_SLIDER , "width" , "The image width" , 360, [300, 500]],
[PF_SPINNER , "height" , "The image height" , 100, [100, 200]],
[PF_STRING , "text" , "The Message" , "example text"],
[PF_INT , "bordersize" , "The bordersize" , 10],
[PF_FLOAT , "borderwidth" , "The borderwidth" , 1/5],
[PF_FONT , "font" , "The Font Family" ],
[PF_COLOUR , "text_colour" , "The (foreground) text colour", [10,10,10]],
[PF_COLOUR , "bg_colour" , "The background colour" , "#ff8000"],
[PF_TOGGLE , "ignore_cols" , "Ignore colours" , 0],
[PF_IMAGE , "extra_image" , "An additonal picture to ignore"],
[PF_DRAWABLE , "extra_draw" , "Somehting to ignroe as well" ],
[PF_RADIO , "type" , "The effect type" , 0, [small => 0, large => 1]],
[PF_BRUSH , "a_brush" , "An unused brush" ],
[PF_PATTERN , "a_pattern" , "An unused pattern" ],
[PF_GRADIENT , "a_gradients" , "An unused gradients" ],
"Marc Lehmann <pcg\@goof.com>", # don't forget your name (author)
"(c)1998,1999,2000 Marc Lehmann", # and your copyright!
"20000321", # the date this script was written (YYYYMMDD)
N_"<Toolbox>/Xtns/Gimp::Fu Example...", # the menu path - the 'N_' is for internationalization
"RGB*, GRAYA", # image types to accept (RGB, RGAB amnd GRAYA)
[ # one of each type of parameter here
# argument type, switch name , a short description , default value, extra arguments
[PF_SLIDER , "width" , "The image width" , 360, [300, 500]],
[PF_SPINNER , "height" , "The image height" , 100, [100, 200]],
[PF_STRING , "text" , "The Message" , "example text"],
[PF_INT , "bordersize" , "The bordersize" , 10],
[PF_FLOAT , "borderwidth" , "The borderwidth" , 1/5],
[PF_FONT , "font" , "The Font Family" ],
[PF_COLOUR , "text_colour" , "The (foreground) text colour", [10,10,10]],
[PF_COLOUR , "bg_colour" , "The background colour" , [0xff,0x80,0]],
[PF_TOGGLE , "ignore_cols" , "Ignore colours" , 0],
[PF_IMAGE , "extra_image" , "An additonal picture to ignore"],
[PF_DRAWABLE , "extra_draw" , "Somehting to ignroe as well" ],
[PF_RADIO , "type" , "The effect type" , 0, [small => 0, large => 1]],
[PF_BRUSH , "a_brush" , "An unused brush" ],
[PF_PATTERN , "a_pattern" , "An unused pattern" ],
[PF_GRADIENT , "a_gradients" , "An unused gradients" ],
],
sub {
# now do sth. useful with the garbage we got ;)
my($width,$height,$text,$font,$fg,$bg,$ignore,$brush,$pattern,$gradient)=@_;
# set tracing
Gimp::set_trace(TRACE_ALL);
my($width,$height,$text,$brd1,$brd2,$font,$fg,$bg,$ignore,$xtraimg,$xtradrw,$effecttype,$brush,$pattern,$gradient)=@_;
# set tracing, disable this to get rid of the debugging output
Gimp::set_trace(TRACE_CALL);
my $img = new Image ($width, $height, RGB);
my $img=new Image($width,$height,RGB);
# put an undo group around any modifications, so that
# they can be undone in one step. The eval shields against
# gimp-1.0, which does not have this function.
eval { $img->undo_push_group_start };
my $l=new Layer($img,$width,$height,RGB,"Background",100,NORMAL_MODE);
# they can be undone in one step.
$img->undo_group_start;
# the __ before the string in the next line indicates text that must be translated
my $l = new Layer ($img, $width, $height, RGB, __"Background", 100, NORMAL_MODE);
$l->add_layer(0);
# now a few syntax examples
Palette->set_foreground($fg) unless $ignore;
Palette->set_background($bg) unless $ignore;
fill $l BG_IMAGE_FILL;
# the next function only works in gimp-1.1
$text_layer=$img->text_fontname(-1,10,10,$text,5,1,xlfd_size($font),$font);
fill $l BACKGROUND_FILL;
$text_layer = $img->text_fontname(-1, 10, 10, $text, 5, 1, 10, PIXELS, $font);
Palette->set_foreground("green");
gimp_palette_set_foreground("green");
# close the undo push group
eval { $img->undo_push_group_end };
$img->undo_group_end;
$img; # return the image, or an empty list, i.e. ()
$img; # return the image, or an empty list, i.e. ()
};
exit main;
very sketchy, how I got it running:
very sketchy, how I (unknown who "I" is in this context; it is NOT sjburges@gimp.org) got it running:
- download tml's win32 builds of everything (gtk+2 etc.)
http://www.gimp.org/win32
......
<Seth's random notes>
Convince someone that knows auto* to redo the compilation/installation. Or move to ExtUtils::PkgConfig for this purpose.
Fix broken behavior when NONINTERACTIVE is used explicitly (I disable the check in the run.t currently so make test can pass).
Make a 'utils' directory for gimpdoc, scm2perl, embedxpm, xcf2pnm and move out of the root directory.
Remove known broken examples from being installed immediately; remove from distribution eventually. Remove unknown status examples from being installed eventually.
Install 1.2 C libs/dev headers, and see if it interferes; it did for one user at least, so is likely a bug in my auto* or MakeMaker stuff.
Generate a new web presence for Gimp-Perl, with a friendlier face to it. Redo my scripts page, possibly expanding to cover all working scripts?
Remove scm2scm and Rec::Decent dependencies.
Generate a new web presence for Gimp-Perl, with a friendlier face to it. Redo my scripts page, possibly expanding to cover all working scripts? Regenerate documentation there.
Add optional podviewer for help. Add POD docs to all example scripts/documentation, to encourage good style.
......@@ -17,9 +15,13 @@ Figure out i18n some day.
Fix the code so I don't get "
Gtk-CRITICAL **: file gtktooltips.c: line 314 (gtk_tooltips_set_tip): assertion `GTK_IS_TOOLTIPS (tooltips)' failed at ..../Gimp/UI.pm line 821.
" repeated whenever I use a color picker.
" repeated sometimes when I use a color picker.
Determine what if anything is needed in the enums* in the root. I expect I can remove all of this.
Remove unused(?) extra.[ch]
Remove 'embed/*' unless I can find some use for it. I don't think we're going to be embedding directly in gimp anytime soon.
Remove ugly logo.xpm
<Marc's previous stuff>
this is mostly my personal worksheet and notepad, which may not be
......
Remove or fix:
alpha2color: oh-my-god ugly. Color specifiers not 1.3 compatibile. In a lousy menu spot. Just remove this one, since its simple to do by hand anyway.
avi: I can't read back one that I've saved in gimp. And the image is shifted ~50 pixels when viewed in xanim. This needs some help.
border: broken; probably color speicifiers, but hard to tell without learning PDL a lot better. May be my color conversion routine in Fu.pm is broken too.
circular_text: polar coordinates does a better job, more flexibly, and with preview.
clear_alpha: I don't understand what this is supposed to do. It crashes on an image with alpha. It doesn't seem to have any effect on an image without.
colourtoalpha: this algorithm isn't right. There's a C plugin that does it right. Get rid of this.
Create_Images (leaning towards removal, along with the file "image_list", since it doesn't do much)
fire: xlfd problems
fit-text: doesn't work due to differences in fonts; xlfd_szie no longer works, because we don't have an xlfd any longer. Can the font widget do better in returning values?
gap-vcr: <sjburges@gimp.org> needs gtk2 update - looks easy on surface, if anyone is intrested.
gimpmagick: <sjburges@gimp.org> gtk2 rework - needs preview->gdk::pixbuf conversion. Crashes in imagemagick now (using version 5.5.7.9) with : Exception 410: No images defined (AddNoise) at /home/seth/.gimp-1.3/plug-ins/gimpmagick line 257. Or unable to open temporary file, if you instead click "apply". Also one of the uglier guis ever to grace gimp.
miff: <sjburges@gimp.org> can't load a convert'ed 24bit image from ImageMagick 5.5.7.
PDB: <sjburges@gimp.org> major gtk2 rework required. May just let this one go.
perlcc: <sjburges@gimp.org> would need some major Gtk2 rework, also not useful to make it an EXTENSION since it spawns no temporary procedures.
logulator: the name is awful, and its not working very well; pdb errors all over. This useful enough to keep?
parasite-editor: ugly dialog. Some Gtk1.2 clist stuff still blocking from working in 2.0. Can probably be brought back with a little work if anyone is intrested enough.
povray: I can't get it to find my .inc files. Perhaps an install issue on my system? I don't use povray, so hard to tell.
roundrectsel: redundant, remove this
terral_text: xlfd problems
triangu: It produces something, but gives some Gimp-Core-CRITICAL's in the process as well as some perl error (prototype mismatch on main::qsort). I can't tell if the result is close to correct or not.
visual: I don't know if this ever worked, but its a nice idea. It has all sorts of Gtk->Gtk2 conversion that would need to take place.
homepage-logo: paths are hard-coded; unless your system looks like Marc's, this isn't gonna work.
=============
<removed all broken scripts>
Untested:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment