1999-04-02 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/gimage_mask.[ch]: made function headers ansi compliant.
* app/file_new_dialog.c
* app/preferences_dialog.c: minor GUI and signal handling
changes. Added a WM hint pixmap to the prefs dialog but commented
it out because it looked ugly. If someone has a nice pixmap,
please try it and tell me ;)
* app/color_picker.c
* app/crop.c
* app/info_window.c
* app/perspective_tool.c
* app/rotate_tool.c
* app/scale_tool.c
* app/info_dialog.[ch]: the info_dialog allows scales, spinbuttons
and sizeentries now. Made some dialogs use these widgets and
added unit support. Sprinkled some g_snprintf's, removed
#include's, ansi issues, ...
* app/session.c: don't call a NULL callback.
* libgimp/gimpsizeentry.[ch]: new function
gimp_size_entry_add_field() which allows a more flexible GUI
layout. More intelligent signal handling.
Tue Mar 30 22:17:43 BST 1999 Adam D. Moss <adam@gimp.org>
* app/fileops.c: Thumbnails save with checkerboard-alpha.
Saved thumbnail comments include the file size.
Sun Mar 28 00:28:57 EST 1999 Adrian Likins <adrian@gimp.org>
* app/paintbrush.c: added the ability to select the
gradient repeat mode from the gui. Made the gradient
length slider hopefully a bit more useful (ie, a
more useful range)
-adrian
1999-03-27 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/brush_select.c
* app/channels_dialog.c
* app/color_select.c
* app/devices.c
* app/file_new_dialog.c
* app/gradient_select.c
* app/palette_select.c
* app/pattern_select.c: applied a patch from Marco Lamberto
<lm@geocities.com> which unifies actionareas ("Cancel" rightmost
and default). Did the same in some more dialogs.
* libgimp/gimpfileselection.c
* libgimp/gimppatheditor.c
* app/preferences_dialog.[ch]: completely reworked the preferences
dialog:
- select the notebook's pages with a tree.
- reordered the categories. Please give me feedback, this really
needs to be intuitive.
- removed lots of unused #include's.
- turned the prefs. dialog into a test site for new convenience
constructors. These changes are however not visible. Flame me
until they're perfect ;) When finished, this stuff can save
*many* lines of gtk+ code.
* modules/colorsel_gtk.c: made it circular.
1999-03-25 Michael Natterer <mitschel@cs.tu-berlin.de>
* unitrc: corrected a typo
* app/commands.c
* app/global_edit.c
* app/gradient.c
* app/interface.[ch]
* app/palette.c
* app/paths_dialog.c: the query_[string|..]_boxes connect their
close callback to a user provided signal now.
* libgimp/gimpimage.c: gimp_image_get_unit() doesn't need a
g_return_if_fail()
* libgimp/gimpunitmenu.c: memory leak & compiler warning
* configure.in
* gimprc.in
* user_install
* user_install.bat
* plug-ins/Makefile.am
* plug-ins/FractalExplorer/*: added the FractalExplorer plugin.
* app/install.c: ditto and made the install help text more
editable by moving it to an array.
* app/paint_funcs.[ch]: Added an edge_lock parameter to
thin_region. Split the radius parameter into xradius and yradius
in thin_region and fatten_region.
* app/channel.c: fixed a bug in channel_bounds that I introduced
last time I tried to fix a bug in channel_bounds. Minor
modifications to work with the improved thin/fatten region
functions.
Sun Mar 21 23:11:31 EST 1999 Adrian Likins <adrian@gimp.org>
* app/paintbrush.c: oops, forgot to make fade work
again after the gradient stuff. Fixed.
-adrian
Sun Mar 21 15:29:38 GMT 1999 Adam D. Moss <adam@gimp.org>
* app/disp_callbacks.c app/edit_selection.c app/move.c:
Happy-fun opaque layer moves.
* app/edit_selection.c: I doubt that using button3 to abort
a layer move has worked for a long time. I rewrote some
stuff and moved the 'abort' button to button2. Hold it down
when you release button1, to abort the current move. It
doesn't actually abort, it just automatically does an undo.
Sat Mar 20 22:51:51 GMT 1999 Adam D. Moss <adam@gimp.org>
* fileops.c: The file revert operation clears the undo stack
upon a revert to get rid of the actions causedby the open
operation.
Sat Mar 20 21:55:53 GMT 1999 Adam D. Moss <adam@gimp.org>
* disp_callbacks.c: Reduce some possibly-redundant re-renders
on expose.
* gdisplay.c gdisplay.h: Export a function to idly refresh from
the composite buffer without doing a re-render.
* app/ops_buttons.h: removed a c++ style comment
* app/paint_funcs.c: applied Craig Wiegert's patch to fix
the rounding errors in the scaling code.
* app/paint_funcs.c: Use a mutex lock in disolve pixels instead of
rand_r on linux systems since linux's rand_r appears to be broken.
* app/bezier_select.c: applied Shuji Narazaki's patch that corrects
for layer offsets in bezier_stroke.
Thu Mar 18 19:35:48 EST 1999 Adrian Likins <adrian@gimp.org>
* app/paintbrush.c
* app/paint_core.c
* app/paint_core.h: moved all the code for figuring out the
paint_core->distance to color stuff to paint_core.[ch]. Updated
paintbrush.c to use the new function. Also now can either loop
thorugh the gradient (sawtooth, start->end, start->end or
triangle start->end,end->start). Also mode for going
thought the gradient once, forwards or backwards. None of these
options are available from the gui or the PDB yet though.
-adrian
Tue Mar 16 23:39:26 EST 1999 Adrian Likins <adrian@gimp.org>
* app/paintbrush.c: paintbrush_motion, added the ability
to paint with the colors from a gradient. In
create_paint_options, added a scale for the length
of the gradient to paint. Also added a PDB call.
* app/paintbrush.h, internal_procs.c: exported
gimp_paintbrush_extended_gradient to the PDB
-adrian
1999-03-16 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/gdisplay.h: double the length of the cursor_format_str as
users may define strange units now
* app/xcf.c: forgot a sanity check when loading/saving the user
unit property
1999-03-16 Michael Natterer <mitschel@cs.tu-berlin.de>
This implements the rest of the unit system (unitrc loading and
saving and full PDB interface)
* Makefile.am
* gimp.1
* user_install
* user_install.bat
* unitrc: new file (default unit database) and some documentation
* app/Makefile.am
* app/gimpunit.c
* app/gimpunit_cmds.h
* app/unitrc.h: new files enabling the unit database and PDB
access to the unit system
* app/app_procs.c: parse and save unitrc
* app/gimprc.[ch]: enable unit parsing. New function
init_parse_buffers() to enable unitrc to be loaded before gimprc
* app/gimage_cmds.[ch]: new PDB procedures which set/return an
image's unit
* app/install.c: mention unitrc installation
* app/xcf.c: new xcf property for user defined units. An image's
unit is saved as either an integer ID (built in units) or as
a full unit definition without any ID
* libgimp/Makefile.am: moved gimpunit.o from libgimpi.a to
libgimp.a
* libgimp/gimp.h
* libgimp/gimpimage.c: get/set an image's unit with PDB calls
* libgimp/gimpunit.h: this file is now the header for both
app/gimpunit.c and libgimp/gimpunit.c
* libgimp/gimpunit.c: does the unit calls as PDB calls now
* libgimp/gimpunitmenu.[ch]: enable user unit functionality and a
unit selection dialog
* libgimp/gimpsizeentry.c: disble hilighting on focus_in_event and
minor bugfixes
* plug-ins/tiff/tiff.c: set image unit to "mm" if tiff unit is
"cm", save "cm" if image unit is metric
1999-03-14 Michael Natterer <mitschel@cs.tu-berlin.de>
* gimprc.in: removed two unused directories from plug-in-path.
* app/file_new_dialog.c: make the first spinbutton grab the focus
and one more unit initialisation bugfix
* app/interface.c: grab focus in query_[string|int|..]_box()
This still needs to be done in many dialogs to be consistent.
* app/preferences_dialog.c: made the module-path configurable
* libgimp/gimppatheditor.[ch]: change the order of the buttons to
match the order in the L&C dialog
* libgimp/gimpsizeentry.[ch]: enabled highlighting of the
spinbuttons' contents on focus_in_event.
Ugly new function gimp_size_entry_grab_focus() because it seems
impossible to implement gtk_widget_grab_focus(sizeentry).
* app/xcf.c:
Improved the rle compression routine. It compresses
photographic images ~8% better and is fully backwards compatible.
Modified the tile load/save routines to buffer their data and
only make one read/write call per tile. This results in a 3-4X
improvement in load and save times.
Modified the path load/save routines to work properly when gint is
not a 32 bit type.
* app/pathsP.h: Changed the types of some struct data members
to be consistant with what is saved in the xcf files.
1999-03-14 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/app_procs.c: only save sessionrc if the corresponding
preferences option is enabled
* app/preferences_dialog.c: preferences renovation part I: the
directories page uses the new widgets from libgimp
* libgimp/Makefile.am
* ligbimp/gimpi.def
* libgimp/gimpfileselection.[ch]
* libgimp/gimppatheditor.[ch]: new widgets which enable a more
comfortable file and searchpath selection
* Makefile.am
* pixmaps/no.xpm
* pixmaps/yes.xpm: pixmaps used by the new widgets
1999-03-12 Michael Natterer <mitschel@cs.tu-berlin.de>
Moved all pixmaps and bitmaps from app/ and libgimp/ to pixmaps/
* app/tools/*
* libgimp/chain.xpm: removed these files
* pixmaps/*.[xpm|xbm]: new directory containing all pixmaps
* app/Makefile.am
* libgimp/Makefile.am
* Makefile.am: changed list of EXTRA_DIST files accordingly
* app/channels_dialog.c
* app/layers_dialog.c
* app/paths_dialog.c
* app/palette.c
* libgimp/gimpchainbutton.c: adjusted some #include's
Fri Mar 12 21:30:57 GMT 1999 Andy Thomas <alt@gimp.org>
Changed:-
* app/bezier_select.c
* app/paths_dialog.c
Some code cleanups and bug fixes. Fixed problem with "copy" path
producing very long names.
Added functionality to import/export paths to files. (It was
there before!)
Also added some new bezier_stroke code that Shuji Narazaki posted
to the gimp-devel list.
* plug-ins/plugindetails/plugindetails.c
Removed unwanted <regex.h>.
Thanks to Tan Koan-Sin <freedom@csie.nctu.edu.tw> for pointing
this out.
1999-03-12 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/preferences_dialog.c: correct resolution size_entry
initialisation.
* libgimp/gimpsizeentry.c: fixed the update bug reported by Marc.
Works now but still needs discussion...
1999-03-12 Michael Natterer <mitschel@cs.tu-berlin.de>
This is mostly unit stuff and code cleanup
* libgimp/gimpi.def: add some functions
* libgimp/gimpsizeentry.[ch]: new function
gimp_size_entry_set_refval_digits() which allows for float pixel
input. SIGFPE bugfix from Yasuhiro Shirasaki
<yasuhiro@awa.tohoku.ac.jp>, minor bugfixes.
* libgimp/gimpunitmenu.[ch]: add a separator after "pixels",
bugfixes.
* app/interface.[ch]: split up the old query_string_box() into
query_[string|int|float|size]_box(). All functions take an
optional GtkObject* parameter and connect to that object's
"destroy" signal, this fixes some segfaults. And a global
s/container_border_width/container_set_border_width/
* app/commands.s: grow, shrink, border, feather now use the
query_size_box. Used MIN(xres,yres) for now for the pixel<->unit
calculations. Fixed some memory leaks.
* app/global_edit.c
* app/gradient.c
* app/palette.c
* app/paths_dialog.c: changed the query_string_box() calls
1999-03-10 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/devices.c: don't let session management set the size of the
"Device Status" dialog, as the number of devices may change
between sessions
* app/devices.c (devices_write_rc): A line had been deleted by
mistake.
* app/frac.c: Removed some CRs.
* app/install.c (install_run): Typo.
* modules/module.def: New file.
* Makefile.am app/Makefile.am libgimp/Makefile.am
modules/Makefile.am: Added Win32 implementation files to
distributed file set.
Fri Mar 5 21:45:39 GMT 1999 Andy Thomas <alt@picnic.demon.co.uk>
This is a bit of a biggy. Added paths to layers & channels
dialog. This is not complete yet (it still has some rough edges ;-)
New:-
* paths_dialog.c
* paths_dialog.h
* pathsP.h
These are the core parts of the paths dialog & interaction.
* tools/penadd.xpm
* tools/pendel.xpm
* tools/pennorm.xpm
* tools/penedit.xpm
* tools/penstroke.xpm
New images found in the dialog. Maybe someone with a better
artistic flair could replace these?
Changed:-
* Makefile.am
Added new files for build
* layers_dialog.c
Added new tab for paths.
* bezier_select.h
* bezier_selectP.h
* bezier_select.c
Rearrangement & fixes. Not finished yet.
* iscissors.c
Header file changes. (Need to include more headers).
* gdisplay.c
* gdisplay.h
Hmmm... Added a function that did a mapping from gimage to gdisp.
This is a little bit of a "hack", but it was needed.. really.
* ops_buttons.h
* ops_buttons.c
Enhanced to create more types of button ops. Used in the paths dialog.
* channels_dialog.c
Header file changes?
* xcf.c
Paths stored in new PROP. Yosh.. I did as you and Adam suggested.
* gimpimage.c
* gimpimage.h
* gimpimageP.h
Added paths items to the image structures.
1999-03-04 Tomas Ogren <stric@ing.umu.se>
* app/gimprc.c: Added a g_strdup() on DEFAULT_IMAGE_TITLE_FORMAT,
otherwise it would try to free a constant string when cancling out of
prefs or changing the title-style.
* app/Makefile.am: added gimphistogram*, histogramwidget*,
removed histogram.[ch]
* app/histogram.[ch]: removed. replaced with histogramwidget.[ch].
* app/{gimphistogramP.h, gimphistogram.h, gimphistogram.c}: new
functions that calculate histograms in parallel and perform
calculations on them.
* app/histogramwidget.[ch]: Same as old histogram.[ch], only it is
now a real widget, and it uses GimpHistograms instead of arrays of
values.
* app/curves.c: #include gimphistogram.h instead of histogram.h.
* app/equalize.c: use GimpHistogram and GimpLut.
* app/gimpbrush.c, app/gimpimage.c, app/gimpset.c: use
GTK_RUN_FIRST in calls to gimp_signal_new.
* app/histogram_tool.c, app/levels.c, app/threshold.c: modified to
use the new HistogramWidget.
* app/paint_funcs.c: removed some unused variables.
* app/preferences_dialog.c: only display the num-processor field
if we are configured --with-mp
* plug-ins/gee/gee.c: removed a couple of c++ style comments.
Sat Feb 27 18:07:53 GMT 1999 Austin Donnelly <austin@gimp.org>
* app/scale.c: use image's units, not the ruler units, when
dimentioning the rulers. Gimprc ruler-units syntax has no
use anymore.
* app/gdisplay.[ch]: applied statusbar unit display patch from
Michael Natterer.
Sat Feb 27 16:54:51 GMT 1999 Adam D. Moss <adam@gimp.org>
* app/gimage_cmds.c: When a gimage's colourmap is changed,
implicitly queue an update of the whole gimage.
* plug-ins/vinvert/vinvert.c: Speed up - iterate over
regions, not rows.
* plug-ins/autostretch_hsv/autostretch_hsv.
* plug-ins/c_astretch/c_astretch.c
* plug-ins/normalize/normalize.c
* plug-ins/vinvert/vinvert.c:
Remove the explicit (and actually incorrect) update when
changing a gimage's colourmap.
Fri Feb 26 21:19:10 GMT 1999 Adam D. Moss <adam@gimp.org>
* app/convert.c:
Many revisions to the box-cut quantizer used in RGB->INDEXED
conversion. Box to be cut is chosen on the basis of posessing an
axis with the largest sum of weighted perceptible error, rather
than based on volume or population. The box is split along this
axis rather than its longest axis, at the point of error mean
rather than simply at its centre. Error-limiting in the F-S
dither has been disabled - it may become optional again later. If
you're convinced that you have an image where the old dither looks
better, let me know.
Thu Feb 25 02:21:52 CST 1999 Shawn T. Amundson <amundson@gimp.org>
* app/menus.c: special case Close/Quit in <Image>/File
to always be at the bottom of the menu.
Tue Feb 23 00:05:39 GMT 1999 Adam D. Moss <adam@gimp.org>
* app/plug_in.c
app/plug_in.h: Moved the RunModeType enum
into the header so we can use it elsewhere (e.g. fileops)
* plug-ins/gif/gif.c
plug-ins/jpeg/jpeg.c: Don't show progress-bars if we're
running noninteractively. This makes thumbnail updating
look more pleasant. Try to do the same for all file plugins
(and others)!
* app/fileops.c: Reworked the thumbnail display again, fixed
some buglets, file_open_image() is RunMode aware, added some
tweaks, rhubarb rhubarb, merged in some 'cosmetic' tweaks
from Marco.
Sat Feb 20 16:12:33 CST 1999 Shawn T. Amundson <amundson@gimp.org>
* app/tips_dialog.c: Add default to Cancel button, remove
unset GTK_RECEIVES_DEFAULT from prev/next buttons (they
are like toolbar buttons), changed abreviated prev to
previous, prev/next button are now same size, cancel button
is in a button box. Added vboxes where necessary to prevent
prev/next and check button from filling vertically.
* app/app_procs.c: when splashscreen dialog is larger than the
logo, (due to huge font), center logo.
* app/file_new_dialog.c: patch from Marco Lamb <lm@geocities.com>
disallows resizing, changes vertical expanding of widgets to
not occur
* app/palette.c: patch from Marco Lamb <lm@geocities.com>. Makes
+/- buttons for zoom pixmaps (eventually, these can be replaced
with a magnifying glass with a little +/- I think), so that they
no longer expand as they did before. I modified his patch so it
did not create a misused toolbar. I did some other stuff here too,
moved Close button to the left, made it the window's default,
and unset GTK_RECEIVES_DEFAULT off of the non-bottom buttons.
* app/actionarea.c: another patch from Marco Lamb <lm@geocities.com>.
This one changes buttons to be put in a button box which is right
justified. If we decide later that spread is better, we can
change this easy enough.
* app/tools/zoom_in.xpm, app/tools/zoom_out.xpm: + and - graphics.
* libgimp/gimpunit.h
libgimp/gimpunit.c: New files from Michael Natterer
<mitschel@cs.tu-berlin.de>, gimp_unit_* routines.
* app/gimage.h
app/gimpimage.h
app/gimpimage.c
app/gimpimageP.h
app/xcf.c: Patches from Michael Natterer <mitschel@cs.tu-berlin.de>,
which keep a unit assocated with an image.
done in pieces, don't expect to be able to compile on Win32 from
these sources yet. Ans of course, the official version of GTk+
doesn't include the Win32 stuff yet.
* app/gimplut.[ch]: new source files that implement pixel Look Up
Table functions.
* app/Makefile.am: build gimplut.[ch]
* app/brightness_contrast.c
* app/curves.c
* app/invert.c
* app/levels.c
* app/posterize.c: Use the new lut functions. Use
pixel_region_process_parallel in the PDB versions of these routines.
* libgimp/parasite.h
* libgimp/parasite.c: new functions parasite_name and
parasite_compare.
* app/gimpdrawable.c:
* app/gimpdrawable.h: new function
gimp_drawable_get_color_at(...) returns the RGBA[color index]
value at a specified position in the drawable. Don't set the dirty
bit on the image if a new parasite is the same as the old.
* app/gimpimage.c
* app/gimpimage.h new function
gimp_image_get_color_at(...) returns the RGBA[color index]
value at a specified position in the drawable. Don't set the dirty
bit on the image if a new parasite is the same as the old.
* app/by_color_select.c
* app/color_picker.c: use the new gimp_*_get_color_at
functions instead of messing with the tiles.
* app/layer.c: fixed a minor warning.
* app/commands.c:
don't scale the image if the new size == the old size
* app/channel.c: optimized channel_bounds by only checking the
pixels in a tile if it is not already entirely within the
currently computed bounds.
Sun Feb 14 20:43:55 GMT 1999 Austin Donnelly <austin@gimp.org>
* app/channels_dialog.c: don't #include resize.h - it's not needed
* app/preferences_dialog.c: ditto.
* app/resize.c: do all dialog creation here to factor out lots of
common code in commands.c and layers_dialog.c. Also cancel
resize/scale dialog on destruction/removal of images/layers -
proper fix for Peter Teichman's bug.
* app/resize.h: new prototype for resize_widget_new() - beginnings
of resolution-aware scaling.
* app/commands.c: pull all the resize/scale dialog creation stuff
out to resize.c
* app/layers_dialog.c: same again.
* app/layer.c: add REMOVED signal, sent when a layer is removed
from an image. Layers typically aren't destroyed until their
undo info expires.
* app/layer.h: prototype for layer_removed() call.
* app/gimpimage.c: send out removed signal.
Sun Feb 14 01:27:29 GMT 1999 Austin Donnelly <austin@gimp.org>
New manpage plus bumper fun pack of bugfixes.
* gimprc.5.in: NEW FILE: beginnings of some docs on gimprc file
format.
* configure.in: generate gimprc.5 from gimprc.5.in
* Makefile.am: install gimprc.5
* .cvsignore: ignore gimprc.5, it's auto generated.
* gimp.1: fix a few paths and URLs. Mention the modules/
directory in user's gimpdir.
* app/commands.c: cancel resize or scale dialogs when image
they're for is destroyed, rather than segfaulting when Ok is
clicked. Thanks to Peter Teichman <peter@zeno.dorm.duke.edu>
for pointing this one out. Layer resize/scale still suffers
from same problem, but Adam's working on L&C at the moment.
* app/gdisplay.c: off-by one error on bounds check in making image
title.
* app/module_db.c: some would consider it foolish returning to
code you've just unloaded. So don't do that.
* app/plug_in.c: when superceeding a PDB function with a newer one
of the same name, remove pointers to the old one from the
plugins that originally registered them. Fixes Nick Lamb's
pluginrc file corruption thing, and catches the (common?)
error of copying a plugin to a different name but failing to
change what it registers. Also, if registering a file
loader/saver, make sure it has set an extension, prefix, or
magic number it's interested in - that way code that relies
on checking this doesn't get confused.
Sun Feb 7 22:06:04 GMT 1999 Adam D. Moss <adam@gimp.org>
* app/dialog_handler.c
* app/fileops.c: Various bugfixes and speedups w.r.t.
thumbnail loading. Now has a 'generate thumbnail' button.
* app/brightness_contrast.c
* app/color_balance.c
* app/curves.c
* app/hue_saturation.c: Changed some gint to gint32. It
doesn't matter right now, but it might if the optimized
CLAMP0255 gets fixed.
Sun Feb 7 18:29:26 GMT 1999 Adam D. Moss <adam@gimp.org>
* app/fileops.c: A unidirectional error-spread makes
the saddest little thumbnails taste full of country
goodness.
* app/appenv.c: Wow, CLAMP0255() has a bug that I can't
quite see, or my compiler does. Worked around it.
Sun Feb 7 15:04:23 GMT 1999 Adam D. Moss <adam@gimp.org>
* app/fileops.c: More robust and kickin' thumbnail support.
* app/edit_selection.c app/layer.c app/layer.h: Working
on lazy opaque layer moves. Disabled for now.
* app/gdisplay.c
* app/gimage.h
* app/gimpimage.c
* app/gimpimage.h
* app/image_render.c
* app/tile_manager.c: Errr, I don't remember. No, seriously.
Nothing of consequence.
Sat Feb 6 18:16:57 GMT 1999 Austin Donnelly <austin@gimp.org>
* app/gdisplay.c: gdisplay_format_title now parses a format string
set by the user to control what goes in the image window
titles.
* app/gdisplay.h: gdisplay_update_title() prototype.
* app/gimprc.c
* app/gimprc.h: image-title-format added.
* app/scale.c: update a display's title when zooming in/out
* gimprc.in: sample image-title-format setting
Sat Feb 6 16:22:36 GMT 1999 Andy Thomas <alt@picnic.demon.co.uk>
Changed:-
plug-ins/plugindetails/plugindetails.c
app/devices.c
Tidy up of plugindesc UI. Can now resize correctly.
Fixed problem with session saving. If the active dialog
was not one on the toolbox (eg Histogram) then an error would
be produced the next time gimp is run up.
Sat Feb 6 15:11:26 GMT 1999 Austin Donnelly <austin@gimp.org>
* app/gimpset.c
* app/gimpset.h: remove the member_modified hacks
* app/module_db.c: make module_info a proper object emitting a
modified signal.
* app/clone.c: merged the registered clone option from the
hollywood branch. Made the source for unaligned clones reset
after each stroke. Make sure we don't crash if the source
drawable gets destroyed.
Wed Feb 3 23:46:12 GMT 1999 Adam D. Moss <adam@gimp.org>
* app/fileops.c: More work on thumbnailing - the
Load Dialog now knows about thumbnails and shows them.
Still some UI and code tidy-up remaining.
1999-02-02 Owen Taylor <otaylor@gtk.org>
* app/blob.[ch] app/ink.c: Let the user choose between
elliptical, square, and diamond shaped brushes for
the ink tool.
Tue Feb 2 22:25:57 GMT 1999 Adam D. Moss <adam@gimp.org>
* app/fileops.c: GIMP now automagically saves
xv-compatible thumbnails upon image save. More
work soon.
* app/fileops.c: Disabled gimage_set_save_proc()
call which was causing files to continue saving
in the same format regardless of the user's selected
format. Needs attention.
* app/gimpdrawable.c (gimp_drawable_set_name): Fix adding of
numbers after drawable copies. We used to get pairs of duplicates
after adding the same name several times.
(Try by adding a new layer several times in the layers dialog. You will
get New Layer, New Layer#2, New Layer#3, New Layer#3 (again!), New Layer#4,
New Layer#4 (again!), etc.)
* app/color_balance.c: optimized by using a lookup table
* app/paint_funcs.c: parallelized apply_mask_to_region,
combine_mask_and_region, and initial_region. Use rand_r
if we are multithreaded.
Sun Jan 31 18:02:46 1999 Owen Taylor <otaylor@gtk.org>
* app/blob.c: Merged in changes from gsumi. This
revision replaces the unstable conic-tracing code
with old-fashioned floating point trig calls to
compute the ellipses.
Sun Jan 31 19:42:26 GMT 1999 Adam D. Moss <adam@gimp.org>
* app/tile.c app/tile_manager.c:
Fixed the tile-corruption bug which has been around
since early GIMP-1.1. When dirtying a copy-on-write
tile, a pointer to nonsense data was being returned
when the c-o-w'd tile source was swapped out to disk.
Now the c-o-w'ing routine ensures that the tile data
is correctly locked into memory before duplicating it
for dirtying.
Sun Jan 31 16:51:18 GMT 1999 Adam D. Moss <adam@gimp.org>
* app/paint_funcs.c: Fix segfault when combining very
tiny inten_a_inten_a regions (ie. when painting).
Sat Jan 30 23:51:04 GMT 1999 Andy Thomas <alt@picnic.demon.co.uk>
Changed:-
* app/dialog_handler.c
* app/dialog_handler.h
* app/gimage.c
* app/gimprc.c
* app/plug_in.c
* app/plug_in.h
Fixed problem with TAB key hiding all dialogs. With some WM
you could hide all the windows with TAB then close the last image
down... opps how do you get back to the main dialog. Main
dialog is now poped up when last image is closed and we had
used TAB key to hide it.
New PDB functions to query plugin info. Plugin to follow...
Wed Jan 27 21:52:43 GMT 1999 Austin Donnelly <austin@gimp.org>
* app/scale.c: oops - should use the image resolution, not the
screen resolution. D'oh!
* app/gimpdrawable.c: only merge shadow image if there actually is
one.
* plug-ins/emboss/emboss.c: small optimisation: use
gimp_drawable_mask_bounds() to calculate only the pixels that
are actually in the selection.
Mon Jan 25 20:40:26 GMT 1999 Austin Donnelly <austin@gimp.org>
* user_install: create modules/ directory in user's ~/.gimp-1.1 dir
* app/install.c: include description of ~/.gimp-1.1/modules, plus
scroll info back to top when done inserting text since it
looks nicer. Also make window that holds result of running
user_install a little larger so we see all messages at once.
* app/gdisplay.h: FUNSCALE_{X,Y} macros for floating point
unscales.
* app/scale.c: show rulers in real-world units (inches/cm/pixels)
if dot-for-dot is turned off, plus smoother ruler updates by
using FUNSCALE so we don't jump in pixel steps at high
magnification factors.
* app/interface.c: don't set the ruler metrics for now - it's
easier to do the calculations in pixels. Need to rethink this
a little anyway.
* docs/parasites.txt: added jpeg parasite info.
Sat Jan 23 20:36:06 GMT 1999 Austin Donnelly <austin@gimp.org>
* app/color_select.c: don't try and gdk_window_get_size() when we
haven't been realised yet.
* app/gimpset.[ch]: allow the use of GTK_TYPE_NONE for storing
sets of things that aren't GTK_OBJECTs. Set can also emit new
signal "member_modified" when gimp_set_member_modified (set,
ob) is called.
* app/layers_dialog.c: show main dialog shell last, to avoid ugly
window manager interaction.
* app/module_db.c: can now handle not having any modules at all
without segfaulting, plus proper updates on changes. Also now
has refresh button to re-scan the filesystem for modules.
* modules/colorsel_triangle.c: added module_unload() function.
Still needs someone to spruce up the UI. Volunteers?
* plug-ins/script-fu/scripts/select_to_image.scm: create display
for newly duplicated image, otherwise you don't see anything.
Sat Jan 23 18:43:23 GMT 1999 Adam D. Moss <adam@gimp.org>
* plug-ins/gif/gif.c: Multi-line comments, a little more
sanity-checking.
* app/convert.c: Cosmetic changes to the warning about having
too many colours for saving transparent/animated GIFs.
* app/gdisplay.c: Titlebar is correctly updated upon revert.
* app/paint_funcs.c: Minor improvement.
* docs/parasites.txt: Minor amendments.
* plug-ins/jpeg/jpeg.c: Minor code comment amendments.
Wed Jan 20 19:57:34 EST 1999 Mandrake <mandrake@mandrake.net>
* app/gradients.c
app/menus.c:
s/gtk_check_menu_item_set_state/gtk_check_menu_item_set_active/
configure.in: upped gtk+ requirement to 1.1.13, since that's
where it first occurs.
Thu Jan 21 00:10:33 GMT 1999 Adam D. Moss <adam@gimp.org>
* app/gimpimage.c: Backed out last change for now, since I'm a
coward and yosh was threatening to make a release...!
Wed Jan 20 22:37:13 GMT 1999 Adam D. Moss <adam@gimp.org>
* app/gimpimage.c: Enabled the gimage->projection copy-on-write
hack for RGBA/GRAYA single-layer images. Masks/channels
probably don't show yet when this is active. Report strangeness.
Thanks.
* app/brush_select.c: make the edit button active if the default
brush is a generated brush. Make sure brush spacing >= 1.0
* app/gimpbrushlist.c: do not add a brush to the brush list if it
failed to load
* app/gradient.c: Fix typo that caused a crash with --no-data
* app/main.c: be more forgiving of fp rounding in gserialize tests
* app/menus.c: include module browser, plus re-instate the 'swap
colors' and other options that got killed by mistake. Clean
up the odd extra separator too.
* app/color_notebook.c: hide newly created colour selectors so we
know the GIMP one will be the default page.
* app/module_db.[ch]: NEW FILEs: module database / browser.
* app/Makefile.am: add module_db.[ch] stuff
* app/app_procs.c: initialise the module_db
* app/commands.[ch]: callback to create a module browser.
* app/plug_in.c: move module loading out to module_db.c
* libgimp/gimpmodule.h: API change: module_init() should return
additonal info (author, purpose, date, etc.) Also optional
module_unload() function.
* modules/colorsel_gtk.c: add module info, plus an unload function
* modules/Makefile.am: build triangle colour selector module
* modules/colorsel_triangle.c: NEW FILE: colour selector from
Simon Budig <Simon.Budig@unix-ag.org>.
* MAINTAINERS: changed my email address
Mon Jan 18 22:55:19 GMT 1999 Adam D. Moss <adam@gimp.org>
* app/gimpimage.c app/gimpimage.h:
Part one of an effort to allow a one-layer gimage
to share tiles with its own projection courtesy of
copy-on-write, where sane. This can save megabytes
when working with such images.
The code is 'mostly working' rather than 'perfect',
so it's disabled until I have time to finish it.
Sun Jan 17 22:42:26 GMT 1999 Adam D. Moss <adam@gimp.org>
* app/gdisplay.c app/gdisplay.h app/gimage_cmds.c:
An image's projection is now copy-on-write duplicated
upon duplication of the image. This should save some
time and memory for 'duplicate'.
This needed a new function which is prototyped in gdisplay.h:
gdisplays_finish_draw() which completes all outstanding
idlerendered-projections (we don't want to c-o-w an
incomplete projection).
* app/interface.c: #include "dialog_handler.h"
Sun Jan 17 20:36:45 GMT 1999 Adam D. Moss <adam@gimp.org>
* app/gimage_cmds.c app/gimpimage.c app/layers_dialog.c
Guides are now duplicated upon image duplication.
Guides are now scaled upon image scaling.
Lowering, raising, and renaming a layer now correctly
mark the image as dirty.
Sun Jan 17 16:56:25 GMT 1999 Adam D. Moss <adam@gimp.org>
* app/blend.c app/bucket_fill.c app/convert.c app/crop.c
app/cursorutil.c app/cursorutil.h app/dialog_handler.c
app/dialog_handler.h app/fuzzy_select.c app/gdisplay.c
app/gimage_cmds.c app/gimpimage.c app/scroll.c
app/transform_core.c app/xcf.c
Hourglasses also apply to all registered dialogs. Hourglasses
added in a couple more important places. New hack lets
hourglasses be added and automagically removed again when
gimp/gtk re-enters the idle loop.
1999-01-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
* Updated gtk_toggle_button_set_state() to
gtk_toggle_button_set_active() in all the files.
* app/colormaps.c
* app/devices.h
* app/tips_dialog.h: minor cleanups
* app/gimpimage.c: the dirty/clean handling seemed weird, and wasn't
correct in all cases. Just do a straight increment/decrement to
try to fix it.
-Yosh
* app/menus.c: doh, we build tool menus on the fly
* configure.in: add nl.po to ALL_LINGUAS
* acinclude.m4
* ltconfig
* ltmain.sh: upgrade to libtool 1.2d (with fixes for irix6 and osf)
-Yosh
Mon Jan 11 22:02:10 GMT 1999 Adam D. Moss <adam@gimp.org>
* app/paint_funcs.c:
The bottleneck combine_inten_a_and_inten_a_pixels()
function is a couple of times faster when there is a
layer mask, for the common case, due to working with whole
word-aligned ints where feasible instead of a char at a time.
The same optimization could be implemented in lots of other
places, but I'm going to bed. Good night!
* app/gimage_cmds.c: #include <cursorutil.h>
Sun Jan 11 00:24:21 GMT 1999 Austin Donnelly <austin@greenend.org.uk>
Bit of a large checkin this - it's basically three things:
1 - GimpModules using gmodules to dynamically load and
initialise modules at gimp start of day.
2 - Color selectors now register themselves with a color
notebook.
3 - progress bars have been cleaned up a bit, so now have
progress indictations on all transform tool and gradient
fill operations. Not done bucket fill, but that seems to
be the next candidate.
New directories:
* modules/: new directory for dynamically loadable modules.
New files:
* modules/.cvsignore
* modules/Makefile.am
* modules/colorsel_gtk.c: GTK color selector wrapped up as a
color selector the gimp can use.
* app/gimpprogress.[ch]: progress bars within gimp core, either as
popups, or in the status bar. This is mainly code moved out
of plug-in.c
* app/color_notebook.[ch]: color selector notebook, implementing
very similar interface to color_select.h so it can be used as
a drop-in replacement for it.
* libgimp/color_selector.h: API color selectors need to implement
to become a page in the color_notebook.
* libgimp/gimpmodule.h: API gimp modules need to implement to be
initialised by gimp at start of day.
Modified files:
* Makefile.am: add modules/ to SUBDIRS
* libgimp/Makefile.am: install gimpmodule.h and color_selector.h
* app/gimprc.[ch]: recognise module-path variable.
* gimprc.in: set module-path variable to something sensible
(currently "${gimp_dir}/modules:${gimp_plugin_dir}/modules").
* app/Makefile.am: build color notebook and gimpprogress
* app/app_procs.c: register internal GIMP color selector with
color notebook.
* app/asupsample.c: call progress function less frequently for
better performance.
* app/asupsample.h: progress_func_t typedef moved to gimpprogress.h
* app/blend.c: make callbacks to a progress function
* app/color_area.c: use a color notebook rather than a color selector
* app/color_panel.c: ditto
* app/color_select.c: export color selector interface for notebook
* app/color_select.h: color_select_init() prototype
* app/flip_tool.c: flip the image every time, rather than every
second click.
* app/interface.c: move progress bar stuff out to
gimpprogress.c. Make the code actually work while we're at it.
* app/interface.h: move prototypes for progress functions out to
gimpprogress.h
* app/plug_in.c: load and initialise modules (if possible). Move
progress bar handling code out to gimpprogress.c
* app/plug_in.h: keep only a gimp_progress * for each plugin, not
a whole bunch of GtkWidgets.
* app/scale_tool.c
* app/rotate_tool.c
* app/shear_tool.c
* app/perspective_tool.c: progress bar during operation.
De-sensitise the dialog to discourage the user from running
two transforms in parallel.
* app/transform_core.c: recalculate grid coords when bounding box
changes. Only initialise the action area of the dialog once,
to avoid multiple "ok" / "reset" buttons appearing. Undraw
transform tool with correct matrix to get rid of handle
remains on screen. Call a progress function as we apply the
transform matrix. A few new i18n markups. Invalidate
floating selection marching ants after applying matrix.
* app/transform_core.h: transform_core_do() takes an optional
progress callback argument (and data).
* plug-ins/oilify/oilify.c: send progress bar updates after every
pixel region, not only if they processed a multiple of 5
pixels (which was quite unlikely, and therefore gave a jerky
progress indication).
Sun Jan 10 23:31:45 GMT 1999 Adam D. Moss <adam@gimp.org>
* app/blend.c app/bucket_fill.c app/convert.c app/crop.c
app/cursorutil.c app/cursorutil.h app/fuzzy_select.c
app/gdisplay.c app/gdisplay.h app/gimage_cmds.c
app/gimpimage.c app/transform_core.c app/xcf.c:
Most lengthy UI-blocking operations now put up an
hourglass so the user can see that GIMP is working.
Let me know if there are other vital cases.
Sun Jan 10 22:41:51 GMT 1999 Andy Thomas <alt@picnic.demon.co.uk>
New
* app/dialog_handler.c
* app/dialog_handler.h
Changed
* app/disp_callbacks.c
* app/gradient_select.c
* app/tools.c
* app/interface.c
* app/patterns.c
* app/gimpbrushlist.c
* app/palette.c
* app/layers_dialog.c
* app/devices.c
* app/errorconsole.c
Can now hide/show all main dialogs using the TAB key in any window.
However....
there is a bug in gtk that causes the Gimp the crash if you show
and then hide a lot of dialogs (eg if you have all dialogs visible
and press the TAB key repeatedly). I have email-ed an example to
the gtk bug list.
Also I can't seem to be able to catch the SHIFT-TAB combination
(suggestions welcome ;-) so the first press of the tab hide all
dialogs the second press reshows only the toolbox and the third
press reshows all. Comments please if you find this behaviour
non-intuitive.
Redid the indexed palette dialog to not crash, to be a bit more
usable, and to be a cleaner module. A first shot at using gcg in
actual practice.. If something is screwed, let me know!
Wed Jan 6 23:30:03 GMT 1999 Andy Thomas <alt@picnic.demon.co.uk>
* app/indexed_palette.c
Fixed crash when image->dialog->indexed palette invoked on
an RGB image.
Mon Jan 4 23:21:56 GMT 1999 Andy Thomas <alt@picnic.demon.co.uk>
* app/blend.c
* plug-ins/script-fu/script-fu.c
A patch from Federico to add a spiral gradient type. The patch
has been slightly modified to allow both clockwise and anticlockwise
spirals and the numbers used to represent these types of gradients
have been made to follow on from currently allocated numbers (I hope
this will not break any scripts).
Sat Jan 2 23:22:29 GMT 1999 Andy Thomas <alt@picnic.demon.co.uk>
* app/palette.c
* app/palette_select.h
* app/palette_select.c
An attempt at a better/improved palette dialog using a notebook
style for selection.
* app/Makefile.am
* plug-ins/script-fu/scripts/Makefile.am: use -DREGEX_MALLOC,
seems to be more portable
* plug-ins/png/png.c: use a default gamma of 2.2 when gamma
correction isn't enabled
-Yosh
* i18n markings from Daniel Egger (mostly removal of tags around
PDB stuff), some constification
* I went on a sprintf pogrom. Use g_snprintf or g_strdup_printf
where applicable, to prevent overflows, especially with filenames
and translated strings. suid gimp is now more secure. ;)
-Yosh
Wed Dec 23 23:59:52 GMT 1998 Andy Thomas <alt@picnic.demon.co.uk>
* app/palette.c
* app/Makefile.am
New:-
* app/palette_select.h
* app/palette_select.c
New smaller palette select dialog. This has an edit button
which invokes the palette editor.