2000-04-10 Tor Lillqvist <tml@iki.fi>
* README: Correct the info about Win32 mailing lists.
* gimprc.win32: Add perfect-mouse setting.
* libgimp/gimp.h
* app/main.c: Guard against redefinition of _stdcall.
* libgimp/gimpmath.h: Define macros ISNAN and ISINF. On Win32 use
_isnan() and _fpclass() from <float.h>, on other platforms use
isnan() and isinf(). We really should test for isnan and isinf in the
configure script.
* tools/pdbgen/pdb/gimage.pdb
* app/gimage_cmds.c: Include gimpmath.h, use above macros instead
of using the nonportable isnan and isinf.
* app/gdisplay_ops.c: Do use the old gtk_widget_hide/show hack on
Win32.
* libgimp/makefile.cygwin
* libgimp/makefile.msc
* app/makefile.cygwin
* app/makefile.msc
* plug-ins/makefile.cygwin
* plug-ins/makefile.msc: Updates.
* plug-ins/gfig/gfig.c (plug_in_parse_gfig_path): Simplify warning
message on Win32. We could use G_DIR_SEPARATOR in the sample
gimprc line, but then we would have to call g_strescape to quote
it, argh. Win32 users use prebuilt versions with a correct gimprc
file anyway.
(create_file_selection): Use g_get_tmp_dir().
(gfig_update_stat_labels): Guard against possibly NULL value from
g_get_home_dir().
* app/gimage_cmds.c
* tools/pdbgen/pdb/gimage.pdb: (gimp_image_set_resolution) guard
against NaN and infinity. There are pics out there using these
values and it seems that NaN > GIMP_MIN_RESOLUTION. Fixes#8476.
--Sven
2000-03-26 Michael Natterer <mitch@gimp.org>
* app/gimage_mask.[ch] (gimage_mask_extract): add an "add_alpha"
parameter to allow selected regions to be extracted without having
an alpha channel added.
* app/global_edit.c: pass add_alpha = TRUE.
* app/transform_core.[ch]: made the transform core work on
non-layer drawables even if no selection is present. Fixes#7485
and #7555.
- transform_core_cut(): extract the mask without alpha if
operating on a non-layer without having a selection.
- transform_core_paste(): return a boolean indicating success
instead of a layer and handle channels correctly.
- transform_core_do(): if the "floating_tiles" passed to the
function are from an un-floated non-layer, treat the whole
non-layer as alpha channel and never enter the loop which
transforms the (not present) color channels.
Also clip the result to ensure that the channel never grows
larger then the image.
* app/tools_cmds.c
* tools/pdbgen/pdb/tools.pdb: transform_core_paste() returns a
gboolean now.
* app/fileops_cmds.c
* tools/pdbgen/pdb/fileops.pdb: don't add an already registered
load|save handler twice to the list. This fixes the problem
that extension were listed twice if a load|save plugin changed.
* app/plug_in.[ch]: code cleanup, indentation
* app/xcf.[ch]: same here, include copyright headers
* plug-ins/common/wmf.c: properly cancel the load if the user
pressed Cancel in the dialog (fixes bug #6500)
--Sven
* tools/pdbgen/*.pl: added 2000 to the copyrights
* tools/pdbgen/lib.pl: it's foo_pdb.[ch] now
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/parasite.pdb: reenabled sanity checks for the
drawable IDs and the parasite names
* app/drawable.c
* app/gimpdrawable.c: added a bunch of g_return_if_fail's, instead
of the silent check and return in many functions. This should also
be done in gimpimage.c and the like too.
* app/gimpdrawable.h
* app/layer.c: cosmetic code fix
-Yosh
paths.c and did a general namespace cleanup:
s/PATHP/Path*/ s/PATHIMAGELISTP/PathList/ and friends.
Paths are now copied on image duplicate (fixes bug #5726).
Removed Path Tool and XInput Airbrush from the build and
renamed "Layers & Channels" to "Layers, Channels & Paths".
Applied patch from Wolfgang Hofer to xjt.c that enables loading
and saving of paths based on Andy's change explained below.
--Sven
Tue Feb 15 23:27:42 GMT 2000 Andy Thomas <alt@gimp.org>
* gimp/app/gimpdrawable.c
* gimp/app/channel.c
* gimp/app/layer.c
* gimp/app/channel.h
* gimp/app/layer.h
* gimp/app/gimpimage.c
* gimp/app/gimpimage.h
* gimp/app/gimpdrawable.h
* gimp/tools/pdbgen/pdb/paths.pdb
* gimp/tools/pdbgen/pdb/layer.pdb
* gimp/tools/pdbgen/pdb/channel.pdb
* gimp/tools/pdbgen/pdb/gimage.pdb
* gimp/app/channel_cmds.c
* gimp/app/gimage_cmds.c
* gimp/app/internal_procs.c
* gimp/app/layer_cmds.c
* gimp/app/paths_cmds.c
New gimp_*_set_tattoo procedures. This allows save/load plugins
to save/restore tattoo states of layers, channels and paths. Note the
internal tattoo state can also be set, however rigorous checks are
performed to make sure that the internal tattoo states of layer,
channels and paths are consistent and that the new state value is
newval > MAX(MAX(layertattoo),MAX(channeltattoo),MAX(pathtattoo)).
2000-02-07 Michael Natterer <mitch@gimp.org>
* app/*
* libgimp/*
* plug-ins/*
* tools/pdbgen/*: did a global s/GUnit/GimpUnit/ and
s/GimpSizeEntryUP/GimpSizeEntryUpdatePolicy/
* libgimp/gimpcolorspace.c: renamed the parameter names to match
the names in the header.
* libgimp/gimphelpui.h
* libgimp/gimpimage.c
* libgimp/gimpmatrix.h
* libgimp/gimpsizeentry.[ch]
* libgimp/gimpsizeentry.[ch]
* libgimp/gimpunit.[ch]
* libgimp/gimpunitmenu.[ch]
* libgimp/gimpwidgets.[ch]: added documentation and use g* types
all over the place (enables cross-referencing with the glib and
gtk+ html documentation).
* plug-ins/common/exchange.c
* plug-ins/common/max_rgb.c: small cleanups.
* plug-ins/common/mapcolor.c: the color buttons were attached in
the wrong order.
2000-01-25 Michael Natterer <mitch@gimp.org>
* app/appenv.h: removed BOUNDS, MINIMUM and MAXIMUM. No need to
include both <glib.h> and <gtk/gtk.h>.
* app/*
* tools/pdbgen/pdb/text_tool.pdb: s/BOUNDS/CLAMP/,
same for MIN and MAX.
* app/preferences_dialog.c: the "Check Size" widget was connected
to the transparency_type variable.
* plug-ins/common/sobel.c: removed definitions of MIN and ROUND.
* libgimp/gimp.h: #include "gimplimits.h" and "gimpcolorspace.h".
* plug-ins/*: don't include the two files.
2000-01-25 Michael Natterer <mitch@gimp.org>
* configure.in
* po-plug-ins/POTFILES.in
* plug-ins/common/Makefile.am
* plug-ins/common/plugin-defs.pl
* plug-ins/megawidget/*: removed. (There were only 3 functions
left which were used by ~5 plugins, so I moved the resp. functions
to the plugins). More preview stuff to come...
* app/airbrush_blob.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: use G_PI instead of M_PI.
* app/procedural_db.h
* libgimp/gimpenums.h
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: new PDB return value STATUS_CANCEL which
indicates that "Cancel" was pressed in a plugin dialog. (Useful
only for file load/save plugins).
* app/fileops.[ch]
* app/menus.c: changes to handle STATUS_CANCEL correctly. Did some
code cleanup in fileops.[ch]. Pop up a warning if File->Save
failed.
* app/plug_in.c: return_val[0] is of type PDB_STATUS, not
PDB_INT32.
* libgimp/gimpmath.h: new constant G_MAXRAND which equals to
RAND_MAX if it exists or to G_MAXINT otherwise.
* libgimp/gimpwidgets.[ch]: new function gimp_random_seed_new()
which creates a spinbutton and a "Time" toggle.
Call the function which does the "set_sensitive" magic from the
radio button callback.
* plug-ins/[75 plugins]:
- Return STATUS_CANCEL in all file load/save dialogs if "Cancel"
was pressed.
- Standardized the file plugins' "run" functions.
- Use G_PI and G_MAXRAND everywhere.
- Added tons of scales and spinbuttons instead of text entries.
- Applied uniform packing/spacings all over the place.
- Reorganized some UIs (stuff like moving the preview to the top
left corner of the dialog).
- Removed many ui helper functions and callbacks and use the stuff
from libgimp instead.
- I tried not to restrict the range of possible values when I
replaced entries with spinbuttons/scales but may have failed,
though in some cases. Please test ;-)
- #include <libgimp/gimpmath.h> where appropriate and use it's
constants.
- Indentation, s/int/gint/ et.al., code cleanup.
RFC: The plugins are definitely not useable with GIMP 1.0 any
more, so shouldn't we remove all the remaining compatibility
stuff ??? (like "#ifdef GIMP_HAVE_PARASITES")
* acconfig.h
* configure.in
* libgimp/Makefile.am
* libgimp/gimpregex.h
* libgimp/regex.c
* app/Makefile.am
* app/regex.[ch]
* plug-ins/script-fu/Makefile.am
* plug-ins/script-fu/regex.[ch]
* plug-ins/script-fu/interp_regex.c
* tools/pdbgen/pdb/plug_in.pdb
* tools/pdbgen/pdb/procedural_db.pdb: reverted previous regex move
patch. This does *not* belong in libgimp and is just bloat. We'll
use the regex functionality in glib once it has it.
* acinclude.m4
* config.guess
* config.sub
* ltconfig
* ltmain.sh: upgrade to libtool 1.3.4
* app/convert.c
* app/gimpbrushpipe.c: minor cleanups
-Yosh
the way it is used. As the new name suggests it is only used
to count the number of displays associated with an image. It
is now impossible to delete an image that has an associated
display. You have to delete the display instead. Before this
change it was possible to delete an image through the PDB that
was created through the UI and bad things happened soon...
--Sven
* app/layer.c: in layer_new_from_tiles check if image_type has alpha
to avoid obscure bugs if the function is not called correctly
* app/text_tool_cmds.c
* tools/pdbgen/pdb/text_tool.pdb: added a hint about using border = -1
to suppress cropping of empty spaces around the text
--Sven
* app/gdisplay.c
* app/gimage_cmds.c
* tools/pdbgen/pdb/gimage.pdb: fixed typos
* app/gimphistogram.c: indentation
* app/histogramwidget.c: grab the pointer in the histogramwidget,
so a button_release outside the widget is noticed correctly
* app/levels.c: instead of undoing the user action, simply don't
allow the user to set the range in the histogram_widget
--Sven
2000-01-05 Michael Natterer <mitch@gimp.org>
* PLUGIN_MAINTAINERS: I'm maintaining the helpbrowser (Sven, I
dared to add your name, too :-)
* app/context_manager.c
* app/flip_tool.[ch]
* app/perspective_tool.[ch]
* app/rotate_tool.[ch]
* app/scale_tool.[ch]
* app/shear_tool.[ch]
* app/transform_core.[ch]
* app/transform_tool.[ch]
* app/tools_cmds.c
* tools/pdbgen/pdb/tools.pdb
- Show the correct help pages in the transform tools' dialogs.
- The transform tool button of the toolbox is now always pressed
if a transform tool is active (not only for "rotate").
- Replaced the transform action (CREATING, HANDLE_1, ...) and the
transform state (INIT, MOTION, ...) #define's with typed enums.
- Changed the return type of the *_recalc functions to "void"
instead of "void *" and the return type of the *_transform
functions to "TileManager *" instead of "void *".
(I probably removed an artefact here because all *_recalc
functions returned "(void *) 1").
- Use gboolean instead of int where appropriate.
- Code cleanup, indentation.
* Makefile.am: cosmetic fix
* libgimp/color_display.h
* modules/cdisplay_gamma.c: add clone method
* app/color_area.[ch]
* app/gdisplay.[ch]
* app/gdisplay_color.c
* app/gdisplay_color_ui.c: preliminary support for color_area filter
(really just a sync to home machine)
* app/nav_window.c: minor cleanup
* tools/pdbgen/app.pl: initialize gbooleans to FALSE, not 0
* tools/pdbgen/lib.pl: some more arg work
-Yosh
* Makefile.am: added spec file to EXTRA_DIST
* docs/Makefile.am: added undo.txt to EXTRA_DIST
* app/interface.c: removed the DODGY warning, doesn't look dodgy to me
* libgimp/*.h: missed an s/Library/Lesser/
* tools/pdbgen/*: lots of work on the libgimp portion
-Yosh
* app/gimpdrawable.c: added an assert for name != NULL
* tools/pdbgen/pdb/channel.pdb
* tools/pdbgen/pdb/layer.pdb: sanity check the name parameters
-Yosh
* tools/pdbgen/pdbgen.pl
* tools/pdbgen/pdb/fileops.pdb: allow for array size params to
be optional
* app/nav_window.c
* app/tools.c: a bit of cleanup
-Yosh
1999-11-14 Michael Natterer <mitch@gimp.org>
* app/airbrush.c
* app/apptypes.h
* app/brushes_cmds.c
* tools/pdbgen/pdb/brushes.pdb
* app/bucket_fill.c
* app/clone.c
* app/gimpbrushpipe.c
* app/paint_core.c
* app/patterns.h
* app/patterns_cmds.c
* tools/pdbgen/pdb/patterns.pdb: removed the GimpBrushP and
GPatternP types and use ordinary pointers instead.
The following stuff makes the "no_data" behaviour consistent. As a
side-effect it should make the gimp work when there are _really_ no
brushes/patterns/gradients.
* app/brush_select.c
* app/pattern_select.c: set the initial brush/pattern name to "No
Brushes/Patterns available" instead of "Active".
* app/devices.c: set the device contexts' brush/pattern/gradient
names if we started with no_data, so we find them on refresh.
* app/gimpbrushlist.c: set the name of the standard_brush to
"Standard".
* app/gimpcontext.c: don't replace the current
brush/pattern/gradient's name if the new one to be set is the
standard one. Together with the change in devices.c, this ensures
that we get what is set in devicerc. Minor fixes.
* app/gradient.c: changed gradients_init() to work like the other
data init functions. Only insert a default gradient in the
gradients list when the editor is opened (this means that the
gradients now behave like brushes/patterns when we start with
"no_data").
New function gradient_update() avoids tons of useless redraws of
all clist gradient previews whenever the gradient editor wants to
update it's large preview.
* app/gradient_select.c: don't segfault when the user tries to
drag from an empty gradient list.
* app/patterns.c: set the index of the standard_pattern to -1 to
indicate that it's not part of the pattern list.
* plug-ins/script-fu/scripts/fade-outline.scm: updated version
from Wolfgag Hofer
* tools/pdbgen/pdb/drawable.pdb
* app/drawable_cmds.c: use TILE_HEIGHT for y coordinate
--Sven
* app/fileops.c:
applied a (modified) patch from Rene Rebe <rene.rebe@okay.net>
that allows to generate previews for multiple files. Plugged
some small memleaks while I was on it.
* tools/pdbgen/pdb/gimage.pdb
* app/gimage_cmds.c
* app/xcf.c: plugged memleaks that occured on xcf and indexed load
* po/fr.po: applied a patch from Daniel Eggert that fixes a merging
problem in the french translation
--Sven
Thu Nov 4 22:06:24 GMT 1999 Andy Thomas <alt@gimp.org>
* app/gradient_select_cmds.c
* tools/pdbgen/pdb/gradient_select.pdb
Fixed crash when main gradient dialog is opened and
one lauched via the PDB interface (ie scriptfu) is also open.
* app/drawable_cmds.c
* tools/pdbgen/pdb/drawable.pdb: applied (a modified version of) a
patch from Garry R. Osgood <gosgood@idt.net> that should fix bug #2202
and problems with the Warp plug-in.
* app/main.c
* po-plug-ins/POTFILES.in
* plug-ins/common/mail.c: applied a patch from
SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> that handles i18n issues and fixes a problem in the mail plug-in.
( Could someone please check if the change to app/main.c is the right
thing to do ?! )
* po-plug-ins/POTFILES.in
* plug-ins/common/grid.c
* plug-ins/gap/iter_ALT/gen/plug_in_grid_iter_ALT.inc:
checked in a new version of the Grid plug_in developed by
Tom Rathborne <tomr@aceldama.com> and me.
--Sven