1999-05-18 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/app_procs.c (and many of the files below): store resolution
values as doubles, not floats.
* app/brush_select.c
* app/pattern_select.c: hide the "refresh" button in client
dialogs. Don't know if this is desired but it fixes a SEGV.
* app/file_new_dialog.c: New ui using code/ideas from Austin,
Marco and Nick. The "size" frame is still a bit bloated but I
didn't want to reduce it's functionality right now. It's closer to
the result of the last discussion but not perfect yet...
Added a dialog to confirm image sizes larger than the new
max_new_image_size value.
The new "reset" button uses the values from gimprc.
Removed some #include's, added the copyright header.
* app/gimprc.[ch]: new rc variable max_new_image_size.
* app/preferences_dialog.c: added the "max image size"
option. Generalized the mem size unit code.
* app/resize.c: an additional box lets the offset widget always
shrink correctly.
* app/text_tool.c: fixed a minor memory leak.
* libgimp/Makefile.am: add all widgets to libgimpui.*
* libgimp/gimpfileselection.c: cosmetic changes.
* libgimp/gimplimits.h: a maximum image size which should satisfy
everybody ;)
* libgimp/gimpsizeentry.c: allow the creation of sizeentries
without fields. This (finally) enables arbitrary layout of the
spinbuttons.
* plug-ins/script-fu/script-fu-scripts.c: use the fileselection
widget for script parameter SF_FILENAME.
1999-05-09 Michael Natterer <mitschel@cs.tu-berlin.de>
* libgimp/Makefile.am
* libgimp/gimplimits.h: new file. Currently contains constants for
image size and resolution.
* app/file_new_dialog.c
* app/resize.c: use the new constants.
* app/layers_dialog.c: use a sizeentry in the "New Layer" query
box. Folded the "Layer Fill Type" callbacks into one function.
* app/text_tool.c
* app/text_tool_cmds.c
* tools/pdbgen/pdb/text_tool.pdb: did the calculations for
resolutions < 1.0 right this time.
* app/gimage_cmds.c
* tool/pdbgen/pdb/gimage.pdb: fixed a typo.
* config.h.win32, README.win32: Small changes.
* tools/pdbgen/pdb/*.pdb: Include <string.h>.
* app/*_cmds.c: Autogenerated files reflect above changes.
* libgimp/makefile.msc app/makefile.msc: Various updates,
including new object files. Gtk+ directory now should be called
gtk+ (not gtk-plus). Use win32-specific gdk subdir. Glib directory
now should be called just glib.
* libgimp/gimp.def: Updates.
* libgimp/gimpfeatures.h.win32: Made current with
gimpfeatures.h.in.
* libgimp/gimpfileselection.c: Define S_ISDIR and S_ISREG if
necessary.
* tools/pdbgen/pdb/fileops.pdb: Must have a
statement (even an empty one) after a label.
* app/fileops_cmds.c: Autogenerated file reflects above changes.
* app/crop.c: Include <string.h>.
* app/{app_procs,batch,fileops,datafiles,errorconsole,general,
plug_in,temp_buf,tile_swap}.c: Test NATIVE_WIN32, not
_MSC_VER. (NATIVE_WIN32 means we are using the Microsoft C
runtime, even if we might be compiling with gcc.)
* app/fileops.c: Don't include <process.h> here.
* app/fileops.h: Do include <process.h> here.
* app/gimpparasite.c: Include config.h, guard inclusion of
<unistd.h>. (Is the inclusion of unistd.h in source files all over
the place really necessary?)
* app/ink.c: MSC doesn't handle conversion from unsigned __int64
to double, so cast to signed.
* app/lut_funcs.c: Include config.h, and define rint() if necessary.
* app/pixel_processor.c: Include config.h without "..", like in
all the other places. Include <string.h>
* app/text_tool.c: Guard the "POINTS" identifier that clashes with
<windows.h>, sigh.
* app/edit_selection.c: removed some nonfunctional code.
* app/paint_core.c: remove the alt toggles perfectmouse behaviour.
* app/paintbrush.c: when ctl (or alt) is held set the fg (or bg) color.
* app/gimpparasite.[ch]: made char *name parameters const.
* app/parasitelist.c: removed unused static variable.
* app/gimpdrawable.c, app/gimpimage.c, app/undo.[ch]: added
support for undoing parasite changes.
* libgimp/gimp.h, libgimp/gimpimage.c: added
gimp_undo_push_group_start and gimp_undo_push_group_end
* libgimp/parasite.[ch]: added undoable flag.
* plug-ins/gdyntext/font_selection.c: fixed c++ style comment.
* plug-ins/gdyntext/gdyntext.c: use the new undoable parasites.
* plug-ins/rcm/rcm_misc.c: arctg can't be inline because it is
used in other .c files
* plug-ins/waterselect/waterselect.c,
* plug-ins/rotators/rotators.c, app/tips_dialog.c, app/plug_in.c:
fixed some warnings
* libgimp/gimpfeatures.h.in: added GIMP_CHECK_VERSION macro and
a features #define for 1.1.5
* app/misc_cmds.c: added a gimp_version PDB function that
returns the current version (new file)
* app/internal_procs.c: register gimp_version PDB function
-Yosh
* app/Makefile.am: build color_cmds, lut_funcs, and pixel_processor
* app/app_procs.c: feedback in the splash screen when loading
parasites.
* app/boundary.c: Optimized find_empty_segs.
* app/brightness_contrast.[ch]
* app/levels.[ch]
* app/posterize.[ch]:
moved pdb and lut calculation code. These files now contain only
GUI functions.
* app/channel.c: Optimized channel_bounds (fewer compares, better
use of registers). Use color_region instead of channel_*_segment
in channel_combine_rect. Optimized channel_combine_ellipse by
skipping pixels inside of the ellipse. Use
pixel_region_process_parallel in channel_combine_mask. Use a
GimpLut in channel_invert, and channel_sharpen.
* app/invert.c
* app/equalize.c: moved the lut functions to lut_funcs.c
* app/gimpdrawable.c, app/gimpdrawableP.h
* app/gimpimage.c, app/gimpimageP.h: removed unused gimpmatrix
variables/includes.
* app/gimplut.[ch]: added new function gimp_lut_process_inline
that operates on a single PixelRegion.
* app/gimpparasite.[ch]: new functions to save/load parasiterc
* app/parasitelist.[ch]: new functions to save/load ParasiteLists
in/from files.
* libgimp/parasite.[ch]: new functions to load/save parasites.
* app/internal_procs.c: get some procs from new location in
color_cmds.h.
* app/pixel_region.[ch]: moved pixel_regions_process_parallel
related functions to a new file.
* app/color_cmds.[ch]: new files for PDB
definitions/implementations of color correction functions.
* app/lut_funcs.[ch]: new files to hold lut creation functions.
* app/pixel_processor.[ch]: new files that contain the
pixel_regions_process_parallel routines. Added some new
capabilities that are currently unused.
1999-04-06 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/gimpunit.c
* libgimp/gimpunit.[ch]
* libgimp/gimpunitmenu.c
* libgimp/gimpsizeentry.[ch]: enabled "percent" pseudo-unit.
New function gimp_size_entry_set_size() to set the values which
will be treated as 0% and 100%.
* app/crop.c
* app/rotate_tool.c
* app/scale_tool.c: enable "percent".
* app/rect_select.c fixed size selections can be made in units and
percent now, table layout, label adjustment.
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
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.
* 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
* libgimp/gserialize.c
* libgimp/gserialize.h: Changed the enum values to allow for
simpler future expansion.
* libgimp/parasite.c
* libgimp/parasite.h: s/persistant/persistent/.
new accessor functions for parasites. #defines for new flags.
* app/paintbrush.c: added timeing code for brush strokes.
It is #ifed out, and is only valid for shift clicks.
* app/parasite_cmds.h: fixed a warning
* app/parasitelist.h
* app/parasitelist.c: added _for_each and _length functions
* app/gimpdrawable.c: set the dirty flag when adding or removing a
persistent parasite
* app/gimpimage.c: set the dirty flag when adding or removing a
persistent parasite. Fixed bug and removed debug statements in
merge_down.
* app/xcf.c: save and load resolution, parasites, and tattoos.
* app/main.c: updated the deserialize test.
* plug-ins/tiff/tiff.c
* plug-ins/gif/gif.c: use PARASITE_PERSISTENT define instead of 1
* plug-ins/bmp/bmp.c
* plug-ins/bmp/bmp.h: declare some struct variable as extern.
* app/paint_funcs.c: Lots of optimizations aimed at speeding up
painting. Should see a 2-4X speed up on most painting
(depending on paint modes, brush size etc.)
* app/drawable.c: check for NULL drawable in drawable_ID.
this stops us from being crashed by ill-behaved plug-ins
* app/drawable_cmds.c, app/gimage_cmds.c
* app/parasite_cmds.c, libgimp/parasite.[ch],
* libgimp/gimp.c, libgimp/gimpprotocol.c
* tiff.c, gif.c, script-fu.c: removed all references to
parasite_error() and parasite_is_error(). Enable the
passing of null parasites in the pdb. Return a copy of the
parasite instead of the orginal in all pdb functions.
* libgimp/gimp.c (gimp_run_procedure2): fixed a memory leak,
(gimp_destroy_paramdefs) new function.
* libgimp/gimp.h (gimp_destroy_paramdefs): added header.
* libgimp/gimpfeatures.h.in (GIMP_HAVE_DESTROY_PARAMDEFS): new macro.
* plug-ins/script-fu/script-fu.c (init_procedures): fixed a
big memory leak (this also applied to perl!)
Sun Nov 1 21:20:04 1998 Austin Donnelly <austin@greenend.org.uk>
* libgimp/gimpfeatures.h.in: new feature: GIMP_HAVE_RESOLUTION_INFO
* plug-ins/newsprint/newsprint.c: updated to version 0.50:
- use resolution info from images to set initial value of "Input
SPI" slider.
- Sliders now locked togther correctly.
- Got rid of timing message.
- Fixed compile warnings on Alphas.
- Option menu to select the channel to edit to save screen real
estate (tickles a cosmetic bug in gtk, get the latest version).
- Moved from <Image>/Filter/Misc to .../Render
* Upgraded to libtool 1.2b
* Reversioned libgimp to use gtk-style without a funky soname
* configure.in: craft GLIB_CFLAGS and GLIB_LIBS
* Makefile.am (pretty much all of em): changed to use new library
naming scheme. Only link libgimpui and libgtk et al to the plugins
that actually need them.
* app/gimage_cmds.c: corrected typo that resulted in corrupt PDB
record
* libgimp/gimp.h
* libgimp/gimpwire.h
* libgimp/gimpmenu.[ch]: clean up the callback code
* Removed unecessary inclusion of gtk headers for plugins that
don't use em
* plug-ins/zealouscrop/zealouscrop.c: use gint8 instead of gboolean,
save some mem
* plugged some warnings in animationplay, flame, fp, gee, gfig
* gimptool.in: changes for library reversioning, added --nogimpui
option for not linking in libgimpui
* configure.in: added finnish translation
-Yosh
* Makefile.am: install gimp.m4 too
* libgimp/gimpprotocol.[ch]
* libgimp/gimp.c
* app/plug_in.[ch]
* app/procedural_db.c: exported the gdisplay ID to the plugins, so they can
be smart about hooking on to status bars in the appropriate display shell
* libgimp/Makefile.am
* libgimp/gimp.c: make the plugins aware of $gimpdir for gtkrc parsing
-Yosh
* redid the error message handling. g_message now calls message_box or prints
to console depending on whether the no_interface is set or not. gimp-message
is also exported to the PDB as a wrapper to g_message, and libgimp has a new
API: gimp_message. libgimp also overrides g_message for all plugins. Converted
lots of messages in app/* to g_message. Made script-fu a little friendlier.
* updated the regex code from grep 2.2
* said goodbye to the old script-fu logo in script-fu.h
-Yosh